/* v0.2.1: connected desktop mega menu and accessible mobile off-canvas navigation. */
.v2-site-header{isolation:isolate;overflow:visible;z-index:1300}
.v2-site-header .header-inner{display:grid;grid-template-columns:minmax(196px,1fr) minmax(0,1.75fr) auto;gap:18px;align-items:center}
.v2-site-header .v3-primary-nav{justify-self:center;align-self:stretch;display:flex;align-items:center;position:static;overflow:visible;transform:none;background:none;box-shadow:none;padding:0}
.v3-primary-nav .v3-menu{list-style:none;display:flex;align-items:center;justify-content:center;gap:clamp(6px,1.1vw,19px);padding:0;margin:0;height:100%}
.v3-primary-nav .v3-nav-item{position:static;display:flex;align-items:center;height:100%;margin:0;padding:0}
.v3-nav-item-head{display:flex;align-items:center;height:100%;gap:0}
.v3-primary-nav .v3-nav-item-head>a,.v3-primary-nav .v3-nav-simple>a{display:inline-flex;align-items:center;height:100%;padding:0 4px;font-size:13px;font-weight:650;white-space:nowrap;color:#34483b;text-decoration:none;transition:color .15s ease}
.v3-primary-nav .v3-nav-item-head>a:hover,.v3-primary-nav .v3-nav-simple>a:hover,.v3-primary-nav .v3-nav-item.is-active .v3-nav-item-head>a{color:#a56a4e}
.v3-primary-nav [data-mega-toggle]{border:0;background:none;cursor:pointer;display:flex;align-items:center;justify-content:center;width:20px;height:38px;padding:0;color:#70826e}
.v3-primary-nav [data-mega-toggle] svg{width:12px;height:12px;transform:rotate(90deg);transition:transform .2s}
.v3-primary-nav .v3-nav-item.is-active [data-mega-toggle] svg{transform:rotate(-90deg)}
/* Panel begins exactly at header's bottom: no cursor dead-zone. */
.v3-primary-nav .v3-mega-panel{display:block;position:absolute;top:calc(100% - 1px);left:50%;width:min(1110px,calc(100vw - 36px));margin:0;transform:translate(-50%,-8px);opacity:0;visibility:hidden;pointer-events:none;z-index:1405;border:1px solid rgba(90,111,91,.17);border-top:2px solid #a1b19d;border-radius:0 0 22px 22px;background:rgba(255,253,248,.995);box-shadow:0 28px 62px rgba(38,61,44,.17);transition:opacity .16s ease,transform .16s ease,visibility .16s}
.v3-primary-nav .v3-nav-item.is-active > .v3-mega-panel,.v3-primary-nav .v3-nav-item:hover > .v3-mega-panel,.v3-primary-nav .v3-nav-item:focus-within > .v3-mega-panel{opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%,0)}
.v3-mega-inner{padding:30px 36px 34px}
.v3-mega-grid{display:grid;grid-template-columns:minmax(250px,1.25fr) 1fr 1fr;gap:35px}
.v3-mega-intro{border-right:1px solid #e5e8df;padding-right:33px}
.v3-mega-intro .v2-kicker{font-size:10px;letter-spacing:.18em;margin:0 0 7px}
.v3-mega-intro h2{font:normal 32px/1.1 Georgia,'Times New Roman',serif;letter-spacing:-.03em;color:#334b39;margin:0 0 12px}
.v3-mega-intro p:not(.v2-kicker){font-size:13px;line-height:1.58;color:#667367;margin:0 0 19px;max-width:300px}
.v3-mega-cta{display:inline-flex;align-items:center;gap:8px;color:#506f55;font-weight:750;font-size:13px;text-decoration:none}
.v3-mega-cta svg{width:16px;height:16px}
.v3-mega-intro small{display:block;margin-top:10px;color:#7e897b;font-size:11px}
.v3-mega-column{display:flex;flex-direction:column;align-items:start;gap:13px}
.v3-mega-column h3{font:700 11px/1.5 Arial,sans-serif;text-transform:uppercase;letter-spacing:.14em;color:#a3775e;margin:2px 0 3px}
.v3-mega-column a{font-size:13px;font-weight:500;color:#4d6254;line-height:1.4;text-decoration:none;padding:4px 2px;border-radius:5px}
.v3-mega-column a:hover,.v3-mega-column a:focus-visible{color:#9a6248;text-decoration:underline;text-underline-offset:4px}
.v3-mobile-menu-head,.v3-mobile-menu-foot,.v3-nav-backdrop{display:none}
.v2-site-header .v3-nav-toggle{display:none}
@media(max-width:1130px){
 .v2-site-header .header-inner{grid-template-columns:minmax(185px,1fr) minmax(0,1.7fr) auto;gap:9px}
 .v3-primary-nav .v3-menu{gap:4px}
 .v3-primary-nav .v3-nav-item-head>a,.v3-primary-nav .v3-nav-simple>a{font-size:12px;padding:0 3px}
 .v2-site-header .header-consult{padding:0 14px;font-size:11px}
}
/* Mobile/tablet: a real slide-out, scrollable drawer, not a dropdown under the header. */
@media(max-width:1030px){
 .v2-site-header .header-inner{grid-template-columns:minmax(0,1fr) auto auto;gap:10px;min-height:70px}
 .v2-site-header .v3-nav-toggle{display:flex;align-items:center;justify-content:center;order:3;width:44px;height:44px;border:1px solid #e0e7da;background:#f9fbf6;border-radius:11px;cursor:pointer;z-index:3}
 .v2-site-header .header-actions{order:2;display:flex;align-items:center;gap:7px}
 .v2-site-header .header-consult{display:none}
 .v2-site-header .v3-primary-nav{display:flex;position:fixed;z-index:1602;inset:0 0 0 auto;left:auto;right:0;top:0;bottom:0;width:min(430px,92vw);max-width:100%;height:100vh;height:100dvh;transform:translateX(105%);overflow-y:auto;overflow-x:hidden;flex-direction:column;align-items:stretch;justify-content:flex-start;padding:0 0 34px;background:#fffcf7;box-shadow:-20px 0 55px rgba(35,53,37,.23);transition:transform .28s ease;visibility:hidden;overscroll-behavior:contain}
 body.nav-open .v2-site-header .v3-primary-nav{transform:translateX(0);visibility:visible}
 .v3-mobile-menu-head{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:24px 25px 19px;background:#f1f4ec;border-bottom:1px solid #dfe8dc}
 .v3-mobile-menu-head strong{display:block;font:normal 26px/1.1 Georgia,serif;color:#34543d}
 .v3-mobile-eyebrow{font-size:10px;letter-spacing:.2em;color:#8d9d8c;font-weight:700}
 .v3-nav-close{width:43px;height:43px;display:flex;align-items:center;justify-content:center;border:1px solid #cedbd0;border-radius:12px;background:#fff;color:#47614a;font-size:29px;line-height:1;cursor:pointer}
 .v3-primary-nav .v3-menu{width:100%;height:auto;flex-direction:column;align-items:stretch;gap:0;padding:12px 23px 18px}
 .v3-primary-nav .v3-nav-item{display:block;height:auto;position:relative;border-bottom:1px solid #e5e8df}
 .v3-primary-nav .v3-nav-item-head{min-height:60px;display:flex;justify-content:space-between}
 .v3-primary-nav .v3-nav-item-head>a,.v3-primary-nav .v3-nav-simple>a{font:normal 22px/1.3 Georgia,serif;color:#2e4737;padding:16px 0;display:flex;width:100%;height:auto}
 .v3-primary-nav .v3-nav-simple>a{min-height:60px;align-items:center}
 .v3-primary-nav [data-mega-toggle]{height:38px;width:39px;border:1px solid #dfe8dd;border-radius:10px;background:#f5f8f1;color:#4d7354;flex-shrink:0}
 .v3-primary-nav [data-mega-toggle] svg{width:17px;height:17px}
 .v3-primary-nav .v3-mega-panel{position:static;display:none;opacity:1;visibility:visible;pointer-events:auto;transform:none!important;width:auto;height:auto;max-height:none;border:0;box-shadow:none;border-radius:0;background:#f6f7f1;margin:0 0 13px;padding:0;transition:none}
 .v3-primary-nav .v3-nav-item.is-active > .v3-mega-panel{display:block}
 .v3-mega-inner{padding:20px 18px 22px}
 .v3-mega-grid{display:flex;flex-direction:column;gap:20px}
 .v3-mega-intro{border-right:0;border-bottom:1px solid #e1e7df;padding:0 0 18px}
 .v3-mega-intro h2{font-size:25px}.v3-mega-intro p:not(.v2-kicker){font-size:13px;margin-bottom:12px}
 .v3-mega-column{gap:8px}.v3-mega-column a{padding:5px 0;font-size:14px}
 .v3-mobile-menu-foot{display:flex;flex-direction:column;align-items:stretch;gap:12px;padding:10px 23px}
 .v3-mobile-menu-foot .v2-pill{width:100%}.v3-mobile-menu-foot p{margin:0;font-size:12px;text-align:center;color:#758778}
 .v3-nav-backdrop{display:block;position:fixed;inset:0;z-index:1601;background:rgba(24,38,26,.45);opacity:0;visibility:hidden;pointer-events:none;border:0;transition:opacity .25s,visibility .25s;cursor:pointer}
 body.nav-open .v3-nav-backdrop{opacity:1;visibility:visible;pointer-events:auto}
 .v3-primary-nav .v3-nav-item:hover > .v3-mega-panel,.v3-primary-nav .v3-nav-item:focus-within > .v3-mega-panel{display:none}
 .v3-primary-nav .v3-nav-item.is-active > .v3-mega-panel,.v3-primary-nav .v3-nav-item.is-active:hover > .v3-mega-panel,.v3-primary-nav .v3-nav-item.is-active:focus-within > .v3-mega-panel{display:block}
 body.nav-open{overflow:hidden}
}
@media(max-width:680px){
 .v2-site-header .header-inner{grid-template-columns:minmax(0,1fr) auto auto;padding-block:4px;gap:5px}
 .v2-site-header .header-cart,.v2-site-header .header-account{height:35px;width:30px}
 .v2-site-header .v3-nav-toggle{height:40px;width:40px}
 .v2-site-header .site-branding{min-width:0}
 .v2-brand-word strong{font-size:27px}
 .v2-brand-fallback img{width:40px;height:48px}
}
@media(prefers-reduced-motion:reduce){.v3-primary-nav .v3-mega-panel,.v3-primary-nav,.v3-nav-backdrop{transition:none!important}}
