.site-nav{background:#fff;border-bottom:1px solid #eee;font:15px/1.4 system-ui,Arial,sans-serif;position:relative;z-index:50}
.site-nav a{color:#333;text-decoration:none}.site-nav a:hover{color:#f1641e}
.sn-tg{appearance:none;-webkit-appearance:none;opacity:0;width:0;height:0;margin:0;border:0;float:left}
.sn-notice{background:#f1641e;color:#fff;font-size:13.5px;line-height:1.7;text-align:center;padding:6px 16px}
.sn-notice a{color:#fff!important;text-decoration:underline;text-underline-offset:2px;margin:0 2px;white-space:nowrap}
@media(max-width:980px){.sn-notice{font-size:13px;padding:6px 12px}}
.sn-fa{width:.95em;height:.95em;vertical-align:-.1em;color:#f00}
footer .sf{max-width:1180px;margin:0 auto;padding:18px 16px;text-align:center;font-size:14px;line-height:1.75}
footer .sf a{text-decoration:underline;text-underline-offset:2px}
.sn-strip{max-width:1200px;margin:0 auto;padding:6px 16px;font-size:13px;color:#c00}.sn-strip a{color:#c00}
.sn-burger{display:none}
.sn-menu,.sn-menu ul{list-style:none;margin:0;padding:0}.sn-menu li{list-style:none}
.sn-menu label{cursor:pointer;font-weight:600}.sn-menu>li.has-sub>label::after{content:" \25BE";font-size:11px}
.sn-h,.sn-group>a{font-weight:700;color:#c1430d!important}
@media(min-width:981px){
 .sn-menu{max-width:1200px;margin:0 auto;padding:0 16px;display:flex;flex-wrap:wrap;gap:0 22px}
 .sn-menu>li{position:relative}.sn-menu>li>a,.sn-menu>li>label{display:block;padding:12px 0;font-weight:600}
 .sn-menu>li.has-sub>ul{display:none;position:absolute;top:100%;left:0;background:#fff;box-shadow:0 8px 24px rgba(0,0,0,.14);border-radius:8px;padding:12px 16px;min-width:240px;max-height:75vh;overflow-y:auto;overflow-x:hidden;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:4px 22px;align-items:start;width:min(920px,92vw)}
 .sn-menu>li.has-sub:hover>ul,.sn-menu>li.has-sub:focus-within>ul,.sn-menu>li.has-sub>.sn-tg:checked~ul{display:grid}
 .sn-menu>li.has-sub>ul:not(:has(.sn-group)){width:max-content;min-width:220px;grid-template-columns:1fr}
 .sn-menu>li:nth-last-child(-n+3).has-sub>ul{left:auto;right:0}
 .sn-menu ul li{break-inside:avoid;padding:3px 0}.sn-group>ul{display:block;padding:2px 0 8px 10px}
 .sn-group>label{cursor:default;display:block}
}
@media(max-width:980px){
 /* menu button lives in the sticky header bar, left of the logo */
 header .sn-burger{display:block;order:-1;font-size:24px;line-height:1;padding:2px 4px;margin-right:-4px;cursor:pointer;color:#fff}
 header .bar .logo{margin-right:auto}
 /* the open menu drops down under the sticky header as a scrollable panel, wherever the page is scrolled to */
 .sn-menu{display:none}
 .site-nav{z-index:auto}   /* no stacking context, so the open panel can sit above the chat widget */
 #sn-open:checked~.sn-menu{display:block;position:fixed;left:0;right:0;top:var(--sn-top,61px);bottom:0;overflow-y:auto;background:#fff;padding:4px 16px 24px;box-shadow:0 10px 24px rgba(0,0,0,.18);z-index:2147483000;overscroll-behavior:contain}
 .sn-menu>li{border-bottom:1px solid #f0f0f0}.sn-menu>li>a,.sn-menu>li>label{display:block;padding:13px 0;font-size:16px}
 .sn-menu>li.has-sub>ul{display:none;padding:0 0 10px 8px}.sn-menu>li.has-sub>.sn-tg:checked~ul{display:block}
 .sn-menu>li.has-sub>.sn-tg:checked~label::after{content:" \25B4"}
 /* 2nd-level groups (Wedding, By Culture, …): tap to open; their items in 2 columns */
 .sn-group>label{display:block;padding:10px 0;font-size:15px}.sn-group>label::after{content:" \25BE";font-size:11px}
 .sn-group>.sn-tg:checked~label::after{content:" \25B4"}
 .sn-group>ul{display:none;grid-template-columns:1fr 1fr;gap:2px 14px;padding:0 0 8px 10px}.sn-group>.sn-tg:checked~ul{display:grid}
 .sn-menu ul li{padding:7px 0;border:0;font-size:15px}
 .sn-group .sn-group{grid-column:1/-1}
}
