.sn-navigation { --sn-green:#337553; --sn-dark:#183229; --sn-soft:#f3f8f3; --sn-line:#dfe8e1; position:relative; width:100%; font-family:"DM Sans",sans-serif; color:var(--sn-dark); }
.sn-navigation ul { margin:0; padding:0; list-style:none; }
.sn-navigation__menu { display:flex; align-items:center; gap:1.6rem; }
.sn-navigation__menu > li { position:relative; }
.sn-navigation__menu > li > a { display:flex; align-items:center; min-height:64px; color:inherit; font-size:.94rem; font-weight:600; text-decoration:none; }
.sn-navigation__menu > li > a:hover,.sn-navigation__menu > li.current-menu-item > a { color:var(--sn-green); }
.sn-navigation__menu .sub-menu { position:absolute; z-index:30; top:100%; left:0; min-width:220px; padding:.6rem; border:1px solid var(--sn-line); border-radius:12px; background:#fff; box-shadow:0 16px 36px rgba(21,60,45,.13); visibility:hidden; opacity:0; }
.sn-navigation__menu li:hover > .sub-menu,.sn-navigation__menu li:focus-within > .sub-menu { visibility:visible; opacity:1; }
.sn-navigation__menu .sub-menu a { display:block; padding:.65rem .75rem; border-radius:8px; color:inherit; text-decoration:none; }
.sn-navigation__menu .sub-menu a:hover { background:var(--sn-soft); }
.sn-has-mega-menu { position:static!important; }
.sn-mega-menu { position:fixed; z-index:1000; top:var(--sn-mega-top,80px); left:50%; width:min(calc(100% - 2rem),1180px); padding:1.25rem; border-top:1px solid var(--sn-line); border-radius:0 0 28px 28px; background:#fff; box-shadow:0 18px 40px rgba(21,60,45,.15); visibility:hidden; opacity:0; transform:translateX(-50%); transition:opacity 180ms ease,visibility 180ms ease; }
.sn-has-mega-menu:hover > .sn-mega-menu,.sn-has-mega-menu:focus-within > .sn-mega-menu,.sn-has-mega-menu.is-open > .sn-mega-menu { visibility:visible; opacity:1; }
.sn-mega-menu__head { display:flex; align-items:center; justify-content:space-between; padding:.2rem .45rem 1rem; border-bottom:1px solid var(--sn-line); }
.sn-mega-menu__head strong { font-family:"Playfair Display",serif; font-size:1.25rem; }
.sn-mega-menu__head a { color:inherit; text-decoration:none; }
.sn-mega-menu__grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:.5rem; padding-top:1rem; }
.sn-mega-link { display:flex; align-items:center; gap:.8rem; min-width:0; padding:.8rem; border-radius:12px; color:inherit; font-weight:600; text-decoration:none; }
.sn-mega-link:hover { background:var(--sn-soft); }
.sn-mega-link__icon { display:grid; place-items:center; flex:0 0 40px; width:40px; height:40px; min-width:40px; min-height:40px; aspect-ratio:1; border-radius:50%; background:#e7f1e9; color:var(--sn-green); }
.sn-mega-link__icon svg { width:23px; height:23px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.sn-mega-link strong,.sn-mega-link small { display:block; }
.sn-mega-link small { margin-top:.1rem; color:#66776f; font-size:.72rem; font-weight:400; }
.sn-mega-menu--wellbeing { padding:1rem 1.25rem; }
.sn-mega-menu--wellbeing .sn-mega-menu__grid { grid-template-columns:repeat(6,1fr); padding-top:0; }
.sn-mega-menu--wellbeing .sn-mega-link { flex-direction:column; gap:.55rem; padding:.65rem .4rem; color:#566078; text-align:center; font-weight:500; line-height:1.35; }
.sn-mega-menu--wellbeing .sn-mega-link__icon { flex:0 0 54px; width:54px; height:54px; min-width:54px; min-height:54px; aspect-ratio:1; background:#d9f8ce; color:#36a91e; transition:transform 180ms ease; }
.sn-mega-menu--wellbeing .sn-mega-link:hover .sn-mega-link__icon { transform:translateY(-3px) scale(1.05); }
.sn-navigation__toggle { display:none; }
@media(max-width:960px) {
	.sn-navigation__toggle { display:flex; align-items:center; justify-content:space-between; width:100%; min-height:48px; padding:.65rem 1rem; border:1px solid var(--sn-line); border-radius:12px; background:#fff; color:inherit; font:inherit; font-weight:700; }
	.sn-navigation__toggle i,.sn-navigation__toggle i::before,.sn-navigation__toggle i::after { display:block; width:22px; height:2px; background:currentColor; content:""; }
	.sn-navigation__toggle i { position:relative; }.sn-navigation__toggle i::before { position:absolute; top:-7px; }.sn-navigation__toggle i::after { position:absolute; top:7px; }
	.sn-navigation__menu { display:none; align-items:stretch; flex-direction:column; gap:0; margin-top:.5rem; padding:.5rem; border:1px solid var(--sn-line); border-radius:14px; background:#fff; }
	.sn-navigation.is-open .sn-navigation__menu { display:flex; }
	.sn-navigation__menu > li > a { min-height:46px; padding:0 .6rem; }
	.sn-navigation__menu .sub-menu { position:static; display:none; box-shadow:none; visibility:visible; opacity:1; }.sn-navigation__menu li.is-open > .sub-menu { display:block; }
	.sn-mega-menu { position:static; display:none; width:auto; max-height:none; padding:.5rem; border:0; border-radius:12px; box-shadow:none; visibility:visible; opacity:1; transform:none; }
	.sn-has-mega-menu.is-open > .sn-mega-menu { display:block; }
	.sn-mega-menu__head { align-items:flex-start; flex-direction:column; gap:.3rem; }
	.sn-mega-menu__grid,.sn-mega-menu--wellbeing .sn-mega-menu__grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
