/* One mobile navigation surface shared by the WordPress theme and service templates. */
html.oc-navigation-open,body.oc-navigation-open{overflow:hidden}
.oc-menu,.oc-menu *{box-sizing:border-box;font-family:inherit}
.oc-menu span{font-size:inherit;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit}
.oc-menu{--oc-green:#087e51;--oc-ink:#124b36;position:fixed;inset:0;width:100%;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;border-radius:0;background:var(--oc-green);color:var(--oc-ink);font-family:Inter,Arial,sans-serif;line-height:1.4;box-shadow:none;overflow:hidden;overscroll-behavior:contain}
.oc-menu[open]{display:flex;flex-direction:column;animation:oc-menu-enter .22s ease-out both}
.oc-menu::backdrop{background:#00583dbd}
.oc-menu a{color:inherit;text-decoration:none;-webkit-tap-highlight-color:transparent}
.oc-menu svg{display:block;flex:none;width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}
.oc-menu-top{flex:none;padding:calc(16px + env(safe-area-inset-top)) 22px 16px}
.oc-menu-top-inner{max-width:560px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:20px}
.oc-menu-brand{display:flex;align-items:center;min-height:44px}
.oc-menu-brand img{display:block;width:160px;height:auto;filter:brightness(0) invert(1)}
.oc-menu-close{display:grid;place-items:center;flex:none;width:44px;height:44px;margin:0;padding:0;border:1px solid #ffffff66;border-radius:50%;background:#ffffff12;color:#fff;cursor:pointer}
.oc-menu-scroll{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:0 16px max(18px,env(safe-area-inset-bottom))}
.oc-menu-content{display:flex;flex-direction:column;gap:28px;min-height:100%;max-width:572px;margin:auto}
.oc-menu-panel{display:block;padding:8px 24px;background:#f0f8f4;border:1px solid #d7e7df;border-radius:28px}
.oc-menu-link,.oc-menu-services>summary{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:72px;margin:0;padding:16px 0;font-size:clamp(25px,6.4vw,30px);font-weight:500;letter-spacing:-.035em;line-height:1.2;text-align:left;cursor:pointer;border:0;border-bottom:1px solid #d5e6dd;background:none;border-radius:0}
.oc-menu-panel>.oc-menu-link:last-child{border-bottom:0}
.oc-menu-link>svg{width:22px;height:22px;color:#38846a;transition:transform .18s ease}
.oc-menu-link:hover>svg{transform:translateX(3px)}
.oc-menu-link[aria-current],.oc-menu-submenu a[aria-current]{color:#007441}
.oc-menu-link[aria-current]>span:after{content:'';display:inline-block;vertical-align:middle;width:7px;height:7px;margin-left:12px;background:#00894b;border-radius:50%}
.oc-menu-services{margin:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}
.oc-menu-services>summary{list-style:none;color:var(--oc-ink)}
.oc-menu-services>summary::-webkit-details-marker{display:none}
.oc-menu-services>summary:after{content:none}
.oc-menu-services>summary svg{transition:transform .18s ease;color:#38846a}
.oc-menu-services[open]>summary{border-bottom-color:transparent}
.oc-menu-services[open]>summary svg{transform:rotate(180deg)}
.oc-menu-submenu{display:grid;gap:4px;padding:0 0 14px;border-bottom:1px solid #d5e6dd}
.oc-menu-submenu>a{display:flex;align-items:center;gap:12px;min-height:52px;padding:12px;border-radius:16px;background:#e1f0e7;font-size:16px;font-weight:500;line-height:1.35;letter-spacing:-.015em}
.oc-menu-service-icon{display:grid;place-items:center;flex:none;width:44px;height:48px;border-radius:12px;background:#fff;color:#087e51}
.oc-menu-sub-arrow{margin-left:auto;width:18px!important;height:18px!important}
.oc-menu-submenu>.oc-menu-all-services{justify-content:space-between;background:transparent;font-size:14px;min-height:44px;padding:10px 12px}
.oc-menu-all-services svg{width:18px;height:18px}
.oc-menu-bottom{margin-top:auto;padding:0 8px}
.oc-menu .oc-menu-cta{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:58px;padding:16px 20px;border:1px solid #eafff2;border-radius:18px;background:#eafff2;color:#075c3f;font-size:17px;line-height:1.4;font-weight:600;letter-spacing:-.025em}
.oc-menu-contact{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:10px;color:#e7f7eb;font-size:14px;line-height:1.4}
.oc-menu-contact>a{display:flex;align-items:center;min-height:44px}
.oc-menu-contact>a:last-child{justify-content:center;width:44px;border:1px solid #ffffff44;border-radius:50%}
.oc-menu :is(a,button,summary):focus-visible{outline:3px solid #7adea1;outline-offset:4px}
.oc-menu-panel :is(a,summary):focus-visible{outline-color:#00894b;outline-offset:2px}
.oc-global-trigger{display:none;place-items:center;width:44px;height:44px;flex:none;padding:8px;border:0;border-radius:50%;background:#087e51;color:#fff;cursor:pointer}
.oc-global-trigger svg{display:block;width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}
.oc-global-trigger:focus-visible{outline:3px solid #00894b;outline-offset:3px}
@media(max-width:1128px){#header .oc-global-trigger{display:grid}}
@media(max-height:700px){.oc-menu-top{padding-top:calc(10px + env(safe-area-inset-top));padding-bottom:10px}.oc-menu-content{gap:18px}.oc-menu-link,.oc-menu-services>summary{min-height:60px;padding:13px 0}.oc-menu-panel{border-radius:24px}.oc-menu-bottom{padding:0 4px}}
@media(max-width:359px){.oc-menu-top{padding-inline:20px}.oc-menu-panel{padding-inline:20px}.oc-menu-scroll{padding-inline:12px}.oc-menu-brand img{width:148px}.oc-menu-submenu>a{font-size:14px}}
@keyframes oc-menu-enter{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){.oc-menu[open]{animation:none}.oc-menu svg{transition:none}}
