/* Shared by every page: full-screen menu, age gate (for sub-pages), reveal-on-scroll, placeholder markers. */

/* ---------- menu overlay ---------- */
.menu-overlay{position:fixed;inset:0;z-index:150;background:#FBF6EF;display:grid;grid-template-rows:auto 1fr auto;padding:clamp(18px,3vw,40px);
  clip-path:circle(0 at calc(100% - 64px) 40px);visibility:hidden;transition:clip-path .8s cubic-bezier(.22,.8,.2,1),visibility 0s .8s}
.menu-overlay.open{clip-path:circle(150% at calc(100% - 64px) 40px);visibility:visible;transition:clip-path .8s cubic-bezier(.22,.8,.2,1)}
.menu-overlay .m-top{display:flex;justify-content:space-between;align-items:flex-start}
.menu-overlay .m-logo{font-size:28px;color:#1B1815}
.menu-overlay .m-close{display:flex;align-items:center;gap:10px;font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:#1B1815;padding:10px 0}
.menu-overlay .m-close i{position:relative;width:18px;height:18px}
.menu-overlay .m-close i::before,.menu-overlay .m-close i::after{content:"";position:absolute;left:0;right:0;top:50%;height:1.5px;background:currentColor;transform:rotate(45deg)}
.menu-overlay .m-close i::after{transform:rotate(-45deg)}
.menu-overlay nav{align-self:center;display:grid;gap:clamp(4px,1.6vh,14px);max-width:1100px;width:100%;margin:0 auto}
.menu-overlay nav a{display:flex;align-items:flex-start;gap:18px;font-family:"Anton","Impact",sans-serif;font-size:clamp(34px,7vw,96px);line-height:1.02;text-transform:uppercase;color:#1B1815;
  opacity:0;transform:translateY(24px);transition:opacity .6s ease,transform .7s cubic-bezier(.22,.8,.2,1),color .3s}
.menu-overlay nav a small{font-family:"Inter",system-ui,sans-serif;font-size:12px;letter-spacing:.2em;opacity:.45;min-width:2em;align-self:flex-start;padding-top:.9em}
.menu-overlay.open nav a{opacity:1;transform:none}
.menu-overlay.open nav a:nth-child(1){transition-delay:.18s,.18s,0s}.menu-overlay.open nav a:nth-child(2){transition-delay:.25s,.25s,0s}
.menu-overlay.open nav a:nth-child(3){transition-delay:.32s,.32s,0s}.menu-overlay.open nav a:nth-child(4){transition-delay:.39s,.39s,0s}.menu-overlay.open nav a:nth-child(5){transition-delay:.46s,.46s,0s}
.menu-overlay nav a:hover,.menu-overlay nav a[aria-current]{color:#8a7a5c}
.menu-overlay .m-foot{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:12px;letter-spacing:.06em;color:#1B1815;opacity:.7}
body.menu-open{overflow:hidden}

/* ---------- reveal on scroll ---------- */
.rv{opacity:0;transform:translateY(26px);transition:opacity .9s cubic-bezier(.22,.8,.2,1),transform .9s cubic-bezier(.22,.8,.2,1)}
.rv.in{opacity:1;transform:none}
.rv.d1{transition-delay:.08s}.rv.d2{transition-delay:.16s}.rv.d3{transition-delay:.24s}

/* ---------- placeholder markers: anything to be replaced later is highlighted ---------- */
.tbd{background:rgba(255,214,102,.55);border-radius:4px;padding:0 .35em;font-style:normal;white-space:nowrap}
.ph-note{display:inline-flex;align-items:center;gap:8px;font-size:11px;letter-spacing:.12em;text-transform:uppercase;padding:6px 12px;border-radius:99px;background:rgba(255,214,102,.5);color:#5b4600}

@media (prefers-reduced-motion:reduce){*{transition-duration:.01ms!important;animation:none!important}.rv{opacity:1;transform:none}}
