.site-menu-toggle {
  display:grid;place-items:center;min-width:44px;min-height:44px;padding:5px 0;
  border:0;background:none;pointer-events:auto;cursor:pointer !important;
}
.site-menu-toggle img { cursor:pointer !important; }
.site-menu-toggle:focus-visible { outline:2px solid #EFD8B8;outline-offset:5px; }
.temple-menu {
  position:fixed;inset:0;width:100%;max-width:none;height:100%;max-height:none;
  margin:0;padding:0;border:0;overflow:auto;background:#E41D43;color:#EFD8B8;
  clip-path:polygon(4% 0,100% 1.5%,100% 97%,0 100%);
  transform:translateX(105%);
  transition:transform .85s cubic-bezier(.16,1,.3,1),clip-path .85s cubic-bezier(.16,1,.3,1);
  will-change:transform;
}
.temple-menu.is-open { transform:translateX(0);clip-path:polygon(0 0,100% 0,100% 100%,0 100%); }
.temple-menu::backdrop { background:rgba(25,32,48,0);transition:background .85s ease; }
.temple-menu.is-open::backdrop { background:rgba(25,32,48,.2); }
.temple-menu::after {
  content:'';position:fixed;inset:0;pointer-events:none;z-index:2;
  background:url('uploads/site-grain.svg') repeat;background-size:160px 160px;
  opacity:.3;mix-blend-mode:overlay;animation:grain-flicker .65s steps(1,end) infinite;
}
.temple-menu-close {
  position:absolute;right:clamp(18px,2.5vw,38px);top:clamp(10px,1.7vw,26px);
  width:44px;height:44px;border:0;background:none;cursor:pointer !important;z-index:3;
}
.temple-menu-close::before,.temple-menu-close::after {
  content:'';position:absolute;left:5px;top:18px;width:34px;height:7px;background:#EFD8B8;
  clip-path:polygon(7% 0,100% 25%,97% 90%,0 100%);transform:rotate(45deg);
}
.temple-menu-close::after { transform:rotate(-45deg); }
.temple-menu-inner {
  min-height:100%;width:min(960px,100%);margin:auto;padding:70px 24px 36px;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  opacity:0;transform:translateX(24px);
  transition:opacity .3s ease,transform .5s cubic-bezier(.16,1,.3,1);
}
.temple-menu.is-open .temple-menu-inner { opacity:1;transform:translateX(0);transition-delay:.12s; }
.temple-menu-fire { width:46px;height:auto;margin-bottom:24px;filter:brightness(0) saturate(100%) invert(90%) sepia(20%) saturate(410%); }
.temple-menu-nav { display:flex;flex-direction:column;align-items:center;gap:14px;width:100%; }
.temple-menu a {
  display:block;color:#EFD8B8;text-decoration:none;font-family:Sharpie,sans-serif;
  font-weight:700;font-size:clamp(28px,5vw,66px);line-height:1.12;text-align:center;
  cursor:pointer !important;transition:color .2s ease,transform .2s ease;
}
.temple-menu a:hover { color:#fff;transform:translateX(6px); }
.temple-menu a:focus-visible,.temple-menu-close:focus-visible { outline:2px solid #EFD8B8;outline-offset:7px; }
.temple-menu-rule { width:clamp(80px,12vw,150px);height:7px;background:#EFD8B8;margin:22px 0;clip-path:polygon(3% 0,100% 30%,98% 100%,0 80%); }
.temple-menu-caption { margin:26px 0 0;font:14px/1.5 'Alegreya Sans',sans-serif;color:#EFD8B8; }
@media (max-height:600px) { .temple-menu-inner { padding-top:60px; } .temple-menu a { font-size:clamp(26px,5vh,42px); } .temple-menu-fire { margin-bottom:12px; } .temple-menu-nav { gap:8px; } }
@media (prefers-reduced-motion:reduce) { .temple-menu,.temple-menu::backdrop,.temple-menu a,.temple-menu .temple-menu-inner { transition:none; } .temple-menu::after { animation:none; } }
