#masthead { display: none !important; }
:root { --mn-green: #72bf44; --mn-ink: #15251c; --mn-muted: #617067; --mn-border: #e3eae4; --mn-soft: #f4f8f1; }
html { scroll-padding-top: 100px; }
.mn-header, .mn-mobile-menu { color: var(--mn-ink); font-family: Inter, Arial, sans-serif; font-size: 15px; line-height: 1.45; }
.mn-header *, .mn-mobile-menu * { box-sizing: border-box; }
.mn-header svg, .mn-mobile-menu svg { display: block; width: 22px; height: 22px; flex: 0 0 auto; }
.mn-header a, .mn-mobile-menu a { color: inherit; text-decoration: none; }
.mn-header button, .mn-mobile-menu button { color: inherit; font: inherit; letter-spacing: normal; text-transform: none; cursor: pointer; }
.mn-header a:focus-visible, .mn-header button:focus-visible, .mn-mobile-menu a:focus-visible, .mn-mobile-menu button:focus-visible { outline: 3px solid #397a29; outline-offset: 4px; }
.mn-header { position: sticky; top: 0; z-index: 999; width: 100%; border-bottom: 1px solid var(--mn-border); background: rgba(255,255,255,.97); box-shadow: 0 3px 22px rgba(22,40,28,.035); }
body.admin-bar .mn-header { top: 32px; }
.mn-bar { display: flex; align-items: center; gap: 22px; width: min(1120px,calc(100% - 48px)); min-height: 88px; margin-inline: auto; }
.mn-logo { display: inline-flex; align-items: center; flex: 0 0 auto; width: 165px; }
.mn-logo img { display: block; width: 100%; height: auto; max-width: 100%; }
.mn-desktop { display: flex; align-items: center; justify-content: center; gap: 2px; margin-left: auto; }
.mn-nav-link, .mn-services-toggle { display: flex; align-items: center; justify-content: center; gap: 6px; min-height: 44px; padding: 10px 11px; border: 0; border-radius: 10px; background: transparent; font-size: 14px !important; font-weight: 700 !important; white-space: nowrap; }
.mn-services-toggle svg { width: 16px; height: 16px; transition: transform .18s ease; }
.mn-services-toggle[aria-expanded="true"] svg { transform: rotate(180deg); }
.mn-nav-link:hover, .mn-nav-link.mn-current, .mn-services-toggle:hover, .mn-services-toggle[aria-expanded="true"] { background: var(--mn-soft); color: #2b6422; }
.mn-header-actions { display: flex; align-items: center; gap: 10px; flex: 0 0 auto; }
.mn-call { display: flex; align-items: center; gap: 8px; min-width: 44px; min-height: 44px; font-weight: 750; font-size: 13px; white-space: nowrap; }
.mn-call:hover { color: #397a29; }
.mn-estimate { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 48px; padding: 12px 17px; border: 1px solid var(--mn-green); border-radius: 12px; background: var(--mn-green); color: #102012 !important; font-size: 14px; font-weight: 850; line-height: 1.3; white-space: nowrap; }
.mn-estimate:hover { border-color: #8acc5e; background: #8acc5e; color: #102012 !important; }
.mn-estimate svg { width: 19px; height: 19px; }
.mn-services-parent { position: relative; }
.mn-mega[hidden] { display: none !important; }
.mn-mega { position: absolute; top: calc(100% + 16px); left: -155px; width: 680px; padding: 24px; border: 1px solid var(--mn-border); border-radius: 22px; background: #fff; box-shadow: 0 24px 70px rgba(19,41,27,.14); animation: mn-reveal .16s ease both; }
.mn-section-label { margin: 0 0 12px !important; color: var(--mn-muted); font-size: 11px; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
.mn-services-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; }
.mn-service { display: flex; align-items: center; gap: 12px; min-height: 76px; padding: 13px; border: 1px solid var(--mn-border); border-radius: 14px; background: #fff; transition: border-color .16s ease, background .16s ease; }
.mn-service:hover, .mn-service.mn-current { border-color: #b6d89e; background: var(--mn-soft); }
.mn-service-icon { display: grid; flex: 0 0 40px; width: 40px; height: 40px; place-items: center; border-radius: 11px; background: var(--mn-soft); color: #407b2e; }
.mn-service-copy { flex: 1 1 auto; min-width: 0; }
.mn-service-title { display: block; font-size: 14px; font-weight: 850; line-height: 1.35; }
.mn-service-description { display: block; margin-top: 3px; color: var(--mn-muted); font-size: 11.5px; font-weight: 500; line-height: 1.35; }
.mn-service-arrow { color: #78877c; }
.mn-service-arrow svg { width: 17px; height: 17px; }
.mn-mega-footer { display: flex; justify-content: space-between; align-items: center; gap: 14px; margin-top: 18px; padding-top: 18px; border-top: 1px solid var(--mn-border); color: var(--mn-muted); font-size: 13px; }
.mn-mega-footer a { display: inline-flex; align-items: center; gap: 10px; min-height: 32px; color: var(--mn-ink); font-weight: 800; }
.mn-mobile-toggle { display: none; }
.mn-mobile-menu { display: none; width: min(460px,100%); max-width: 100%; height: 100dvh; max-height: 100dvh; margin: 0 0 0 auto; padding: 0; border: 0; border-radius: 0; background: #fff; overflow: hidden; }
.mn-mobile-menu::backdrop { background: rgba(11,25,17,.48); backdrop-filter: blur(3px); }
.mn-mobile-menu[open] { display: grid; grid-template-rows: auto minmax(0,1fr) auto; animation: mn-reveal .2s ease both; }
.mn-dialog-head { display: flex; justify-content: space-between; align-items: center; min-height: 80px; padding: 16px 22px; border-bottom: 1px solid var(--mn-border); }
.mn-dialog-head .mn-logo { width: 154px; }
.mn-close { display: grid; width: 44px; height: 44px; padding: 0; place-items: center; border: 1px solid var(--mn-border); border-radius: 12px; background: var(--mn-soft); }
.mn-close:hover { background: #e9f1e3; }
.mn-dialog-scroll { overflow-y: auto; overscroll-behavior: contain; padding: 22px; -webkit-overflow-scrolling: touch; }
.mn-mobile-services { display: grid; gap: 8px; }
.mn-mobile-menu .mn-service { min-height: 70px; padding: 11px 12px; }
.mn-mobile-menu .mn-service-description { font-size: 12px; }
.mn-mobile-menu .mn-service-title { font-size: 14.5px; }
.mn-explore-label { margin-top: 24px !important; }
.mn-mobile-secondary { display: grid; grid-template-columns: 1fr 1fr; gap: 5px 12px; }
.mn-mobile-secondary a { display: flex; align-items: center; justify-content: space-between; gap: 8px; min-height: 44px; padding: 9px 3px; border-bottom: 1px solid var(--mn-border); font-size: 13px; font-weight: 750; }
.mn-mobile-secondary svg { width: 16px; height: 16px; color: #7c8d7c; }
.mn-mobile-secondary a:hover, .mn-mobile-secondary a.mn-current { color: #397a29; }
.mn-dialog-footer { padding: 18px 22px max(16px,env(safe-area-inset-bottom)); border-top: 1px solid var(--mn-border); background: #fbfcf9; }
.mn-dialog-footer .mn-estimate { display: flex; width: 100%; min-height: 52px; justify-content: space-between; padding-inline: 18px; font-size: 15px; }
.mn-footer-call { display: flex; align-items: center; justify-content: center; gap: 9px; min-height: 44px; margin-top: 5px; font-size: 14px; font-weight: 750; }
.mn-footer-call svg { width: 17px; height: 17px; }
.mn-sr { position: absolute !important; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0,0,0,0); border: 0; white-space: nowrap; }
@keyframes mn-reveal { from { opacity: 0; transform: translateY(-5px); } to { opacity: 1; transform: translateY(0); } }
@media (max-width:1250px) { .mn-header .mn-call span { display: none; } }
@media (max-width:1050px) { .mn-bar { gap: 12px; } .mn-logo { width: 142px; } .mn-nav-link, .mn-services-toggle { padding-inline: 8px; } .mn-estimate { padding-inline: 13px; } }
@media (max-width:1024px) {
    html { scroll-padding-top: 88px; }
    .mn-bar { width: calc(100% - 32px); min-height: 74px; justify-content: space-between; gap: 12px; }
    .mn-logo { width: 144px; }
    .mn-desktop, .mn-header .mn-estimate { display: none; }
    .mn-call { display: grid; width: 44px; height: 44px; padding: 0; place-items: center; border: 1px solid var(--mn-border); border-radius: 12px; background: var(--mn-soft); }
    .mn-call svg { width: 19px; height: 19px; }
    .mn-mobile-toggle { display: flex; align-items: center; gap: 7px; min-height: 44px; padding: 10px 12px; border: 1px solid var(--mn-border); border-radius: 12px; background: #fff; font-size: 12px !important; font-weight: 850 !important; }
    .mn-mobile-toggle svg { width: 20px; height: 20px; }
}
@media (max-width:782px) { body.admin-bar .mn-header { top: 46px; } }
@media (max-width:360px) { .mn-logo { width: 125px; } .mn-header-actions { gap: 7px; } .mn-mobile-toggle { padding-inline: 9px; } .mn-dialog-scroll,.mn-dialog-head,.mn-dialog-footer { padding-left: 16px; padding-right: 16px; } .mn-service { gap: 9px; } .mn-mobile-menu .mn-service-title { font-size: 13px; } .mn-mobile-menu .mn-service-description { font-size: 11px; } }
@media (prefers-reduced-motion: reduce) { .mn-header *, .mn-mobile-menu[open], .mn-mobile-menu * { animation: none !important; transition: none !important; } }
