/* Wapishi site navigation: grouped desktop menus, a menu sheet for tablet and phone, a bottom bar for content pages.
   Self-contained: works on the homepage stylesheet and on pages.css. */
.header{position:relative;z-index:60}
.sn{--sn-ink:var(--ink,#173e32);--sn-muted:var(--muted,#526458);--sn-orange:var(--orange,#c53c22);--sn-line:var(--line,#ccd0be);--sn-ease:var(--ease,cubic-bezier(.22,1,.36,1));align-self:stretch;display:flex}
.sn-bar{display:flex;align-items:stretch;gap:clamp(18px,2.1vw,32px);list-style:none;margin:0;padding:0}
.sn-item{display:flex;align-items:center}
.sn-top{position:relative;display:inline-flex;align-items:center;gap:7px;padding:12px 0;margin:0;background:none;border:0;cursor:pointer;color:var(--sn-ink);font:600 16px/1 var(--body,'Source Sans 3',sans-serif);white-space:nowrap;text-decoration:none}
.sn-top svg{width:11px;height:11px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;opacity:.65;transition:transform .35s var(--sn-ease)}
.sn-top::after{content:'';position:absolute;left:0;right:0;bottom:5px;height:2px;border-radius:2px;background:var(--sn-orange);transform:scaleX(0);transform-origin:left;transition:transform .4s var(--sn-ease)}
.sn-top:hover,.sn-top[aria-expanded=true],.sn-top.is-current{color:var(--sn-orange)}
.sn-top[aria-expanded=true]::after,.sn-top.is-current::after{transform:scaleX(1)}
.sn-top[aria-expanded=true] svg{transform:rotate(180deg);opacity:1}
.sn-top:focus-visible,.sn a:focus-visible,.sn-burger:focus-visible,.sn-sheet a:focus-visible,.sn-sheet button:focus-visible{outline:2px solid var(--sn-orange);outline-offset:4px;border-radius:4px}

/* dropdown panel */
.sn-panel{position:absolute;top:calc(100% - 12px);left:clamp(22px,5vw,80px);right:clamp(22px,5vw,80px);padding:28px;background:#fffdf8;border:1px solid var(--sn-line);border-radius:18px;box-shadow:0 40px 70px -40px #173e3266,0 2px 8px #173e320f;
  opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity .2s ease,transform .35s var(--sn-ease),visibility 0s .35s}
.sn-panel::before{content:'';position:absolute;left:0;right:0;top:-26px;height:26px}
.sn-item.is-open .sn-panel{opacity:1;visibility:visible;transform:none;transition:opacity .2s ease,transform .35s var(--sn-ease)}
.sn-inner{display:grid;grid-template-columns:minmax(190px,.78fr) minmax(0,2fr) minmax(230px,.9fr);gap:32px;align-items:stretch}
.sn-intro{display:flex;flex-direction:column;padding:6px 0 4px}
.sn-eyebrow{margin:0 0 14px;font:600 12px/1 var(--body,sans-serif);letter-spacing:.14em;text-transform:uppercase;color:var(--sn-muted)}
.sn-lede{margin:0;font:600 25px/1.12 var(--display,sans-serif);letter-spacing:-.035em;color:var(--sn-ink);max-width:14ch}
.sn-all{margin-top:auto;padding-top:22px;display:inline-flex;align-items:center;gap:8px;font:600 15px/1 var(--body,sans-serif);color:var(--sn-ink);text-decoration:none}
.sn-all svg,.sn-card-go svg,.sn-direct svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;transition:transform .3s var(--sn-ease)}
.sn-all:hover{color:var(--sn-orange)}.sn-all:hover svg{transform:translateX(3px)}
.sn-links{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px 12px;align-content:start}
.sn-links a{display:block;padding:13px 16px 14px;border-radius:12px;text-decoration:none;transition:background .2s}
.sn-links a:hover{background:#f3eee2}
.sn-t{display:block;font:600 17px/1.2 var(--display,sans-serif);letter-spacing:-.025em;color:var(--sn-ink)}
.sn-d{display:block;margin-top:4px;font:400 14px/1.35 var(--body,sans-serif);color:var(--sn-muted)}
.sn-links a:hover .sn-t,.sn-links a[aria-current] .sn-t{color:var(--sn-orange)}
.sn-links a[aria-current] .sn-t::after{content:'';display:inline-block;width:6px;height:6px;margin-left:8px;border-radius:50%;background:var(--sn-orange);vertical-align:middle}

/* feature card */
.sn-card{position:relative;isolation:isolate;overflow:hidden;display:flex;flex-direction:column;justify-content:flex-end;min-height:200px;padding:22px;border-radius:14px;background:var(--sn-ink);color:#f5f0e6;text-decoration:none;transition:transform .45s var(--sn-ease),box-shadow .45s var(--sn-ease)}
.sn-card:hover{transform:translateY(-3px);box-shadow:0 24px 36px -24px #173e32a6}
.sn-card-t{position:relative;font:600 23px/1.08 var(--display,sans-serif);letter-spacing:-.04em;color:var(--lime,#cfdb83);max-width:9.5ch}
.sn-card-d{position:relative;margin-top:8px;font:400 14px/1.4 var(--body,sans-serif);color:#f5f0e6cc;max-width:24ch}
.sn-card-go{position:absolute;top:18px;right:18px;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:#ffffff1a;color:#fff}
.sn-card:hover .sn-card-go svg{transform:translateX(2px)}
.sn-art{position:absolute;z-index:-1;top:6px;right:-26px;width:142px;height:auto;transform:rotate(-8deg);filter:drop-shadow(0 18px 14px #0000004d);transition:transform .6s var(--sn-ease)}
.sn-card:hover .sn-art{transform:rotate(-2deg) scale(1.05)}
.sn-card--photo{background:#173e32}
.sn-photo{position:absolute;z-index:-1;inset:0;width:100%;height:100%;object-fit:cover;opacity:.55;transition:transform .8s var(--sn-ease),opacity .4s}
.sn-card--photo::after{content:'';position:absolute;z-index:-1;inset:0;background:linear-gradient(180deg,#173e3200 20%,#173e32e6 92%)}
.sn-card--photo:hover .sn-photo{transform:scale(1.04);opacity:.7}


.sn img:not([src]){visibility:hidden}
/* shared scrim: below the header for panels, over everything for the sheet */
.sn-scrim{position:fixed;left:0;right:0;bottom:0;top:var(--sn-top,0px);z-index:55;background:#173e322e;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);opacity:0;pointer-events:none;transition:opacity .28s ease}
.sn-scrim.is-on{opacity:1;pointer-events:auto}
.sn-scrim.is-sheet{top:0;z-index:95;background:#173e3247}

/* hamburger */
.sn-burger{display:none;flex:none;position:relative;width:46px;height:46px;padding:0;border:1px solid var(--line,#ccd0be);border-radius:14px;background:#fffdf8;cursor:pointer;transition:border-color .2s,background .2s}
.sn-burger span{position:absolute;left:13px;height:2px;border-radius:2px;background:var(--ink,#173e32);transition:transform .35s var(--ease,ease),width .35s var(--ease,ease),opacity .2s}
.sn-burger span:nth-child(1){top:15px;width:19px}.sn-burger span:nth-child(2){top:21px;width:13px}.sn-burger span:nth-child(3){top:27px;width:19px}
.sn-burger:hover{border-color:var(--ink,#173e32)}.sn-burger:hover span:nth-child(2){width:19px}
.sn-burger[aria-expanded=true] span:nth-child(1){transform:translateY(6px) rotate(45deg)}
.sn-burger[aria-expanded=true] span:nth-child(2){opacity:0}
.sn-burger[aria-expanded=true] span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}

/* menu sheet */
.sn-sheet{--sn-ink:var(--ink,#173e32);--sn-muted:var(--muted,#526458);--sn-orange:var(--orange,#c53c22);--sn-line:var(--line,#ccd0be);--sn-ease:var(--ease,cubic-bezier(.22,1,.36,1));
  position:fixed;top:0;right:0;bottom:0;z-index:100;width:min(440px,100%);display:flex;flex-direction:column;background:var(--paper,#f5f0e6);color:var(--sn-ink);box-shadow:-40px 0 80px -40px #173e3280;
  visibility:hidden;transform:translateX(102%);transition:transform .45s var(--sn-ease),visibility 0s .45s}
.sn-sheet.is-open{visibility:visible;transform:none;transition:transform .45s var(--sn-ease)}
.sn-sheet-head{flex:none;display:flex;align-items:center;justify-content:space-between;height:82px;padding:0 22px;border-bottom:1px solid var(--sn-line)}
.sn-sheet-brand img{display:block;width:110px;height:auto}
.sn-close{width:46px;height:46px;display:grid;place-items:center;padding:0;border:1px solid var(--sn-line);border-radius:14px;background:#fffdf8;color:var(--sn-ink);cursor:pointer}
.sn-close svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}
.sn-sheet-body{flex:1;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:6px 22px 22px}
.sn-acc{border-bottom:1px solid var(--sn-line)}
.sn-acc>button{width:100%;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:21px 0;margin:0;background:none;border:0;cursor:pointer;color:var(--sn-ink);font:600 25px/1.1 var(--display,sans-serif);letter-spacing:-.04em;text-align:left}
.sn-acc>button i{flex:none;width:34px;height:34px;display:grid;place-items:center;border-radius:50%;border:1px solid var(--sn-line);transition:transform .4s var(--sn-ease),background .25s,border-color .25s}
.sn-acc>button svg{width:12px;height:12px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.sn-acc.is-open>button{color:var(--sn-orange)}
.sn-acc.is-open>button i{transform:rotate(180deg);background:var(--sn-orange);border-color:var(--sn-orange);color:#fff}
.sn-acc-p{display:grid;grid-template-rows:0fr;transition:grid-template-rows .4s var(--sn-ease)}
.sn-acc-p>div{overflow:hidden;visibility:hidden;transition:visibility 0s .4s}
.sn-acc.is-open .sn-acc-p{grid-template-rows:1fr}
.sn-acc.is-open .sn-acc-p>div{visibility:visible;transition:none}
.sn-acc ul{list-style:none;margin:0;padding:0 0 6px}
.sn-acc li a{display:block;padding:11px 0 11px 14px;border-left:2px solid var(--sn-line);text-decoration:none}
.sn-acc li a[aria-current]{border-left-color:var(--sn-orange)}
.sn-acc li a[aria-current] .sn-t,.sn-acc li a:hover .sn-t{color:var(--sn-orange)}
.sn-acc .sn-t{font:600 17px/1.2 var(--body,sans-serif);letter-spacing:0}
.sn-acc .sn-d{font-size:14px;margin-top:2px}
.sn-acc-card{display:block;margin:8px 0 20px;padding:15px 16px;border-radius:12px;background:var(--sn-ink);text-decoration:none}
.sn-acc-card .sn-t{color:var(--lime,#cfdb83);font:600 18px/1.15 var(--display,sans-serif);letter-spacing:-.03em}
.sn-acc-card .sn-d{color:#f5f0e6cc}
.sn-direct{display:flex;align-items:center;justify-content:space-between;padding:21px 0;border-bottom:1px solid var(--sn-line);color:var(--sn-ink);text-decoration:none;font:600 25px/1.1 var(--display,sans-serif);letter-spacing:-.04em}
.sn-direct[aria-current]{color:var(--sn-orange)}
.sn-direct svg{width:18px;height:18px;margin-right:8px}
.sn-hours{margin:18px 0 0;font-size:14px;line-height:1.45;color:var(--sn-muted)}
.sn-sheet-foot{flex:none;display:grid;gap:10px;padding:14px 22px calc(14px + env(safe-area-inset-bottom));border-top:1px solid var(--sn-line);background:#fbf8f1}
.sn-shop{display:flex;align-items:center;justify-content:center;gap:12px;min-height:52px;border-radius:10px;background:var(--sn-orange);color:#fff;text-decoration:none;font:600 17px/1 var(--body,sans-serif)}
.sn-quick{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.sn-quick a{display:flex;align-items:center;justify-content:center;gap:8px;min-height:46px;border:1px solid var(--sn-line);border-radius:10px;background:#fffdf8;color:var(--sn-ink);text-decoration:none;font:600 15px/1 var(--body,sans-serif)}
.sn-quick svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
html.sn-lock,html.sn-lock body{overflow:hidden}

/* bottom bar on content pages (the homepage keeps its own) */
.sn-bottom{display:none}

@media(max-width:1280px){.sn-bar{gap:20px}.sn-top{font-size:15px}.sn-inner{grid-template-columns:minmax(170px,.7fr) minmax(0,2fr) minmax(210px,.85fr);gap:24px}.sn-panel{padding:24px}}
@media(max-width:1100px){
  .sn{display:none}
  .sn-burger{display:block}
  .header>.button,.header>a.button{margin-left:auto}
  .header{gap:10px}
}
@media(min-width:1101px){.sn-sheet,.sn-scrim.is-sheet{display:none}}
@media(max-width:760px){
  .sn-bottom{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:50;justify-content:space-around;padding:9px 8px calc(9px + env(safe-area-inset-bottom));background:#faf8f0;border-top:1px solid #d3d8c7;box-shadow:0 -4px 20px #173e3208}
  .sn-bottom a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-width:53px;min-height:49px;border-radius:7px;font-size:10px;color:#506353;text-decoration:none}
  .sn-bottom a[aria-current]{color:var(--orange,#c53c22);background:#f7e6da}
  .sn-bottom a:last-child{color:var(--orange,#c53c22);font-weight:600}
  .sn-bottom svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linejoin:round;stroke-linecap:round}
  body.has-sn-bottom{padding-bottom:calc(76px + env(safe-area-inset-bottom))}
  .sn-burger{width:44px;height:44px;border-radius:13px}
  .sn-burger span{left:12px}
  .sn-burger span:nth-child(1){top:14px}.sn-burger span:nth-child(2){top:20px}.sn-burger span:nth-child(3){top:26px}
  .sn-sheet{width:100%}
  .sn-sheet-head{height:72px}
}
@media(prefers-reduced-motion:reduce){
  .sn-panel,.sn-sheet,.sn-acc-p,.sn-scrim,.sn-burger span,.sn-card,.sn-art,.sn-photo,.sn-top::after{transition:none!important}
}
