
/* Scroll progress bar */
.sm-progress{position:fixed;top:0;left:0;height:2px;width:0;background:var(--sm-color-accent,#1a1f2e);z-index:99999;transition:width .12s linear;will-change:width}

/* Open-now pill (top of page) */
.sm-status{position:fixed;top:18px;left:50%;transform:translateX(-50%);z-index:9999;display:inline-flex;align-items:center;gap:8px;padding:8px 16px;background:rgba(15,15,15,.92);backdrop-filter:saturate(180%) blur(10px);color:#fafafa;font:500 12px/1 -apple-system,Inter,sans-serif;border-radius:999px;border:1px solid rgba(255,255,255,.1);letter-spacing:.01em;animation:sm-fade-down .6s cubic-bezier(.22,.61,.36,1) .4s both}
.sm-status .sm-dot{width:7px;height:7px;border-radius:50%;background:#4ade80;animation:sm-pulse 2.4s ease-in-out infinite}
.sm-status.is-closed .sm-dot{background:#ef4444;animation:none}
.sm-status.is-soon .sm-dot{background:#facc15;animation:sm-pulse 1.5s ease-in-out infinite}
.sm-status .sm-sub{opacity:.7;font-weight:400}
@keyframes sm-pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.85)}}
@keyframes sm-fade-down{from{opacity:0;transform:translate(-50%,-12px)}to{opacity:1;transform:translate(-50%,0)}}

/* Sticky CTA bar mobile only */
.sm-sticky-bar{display:none;position:fixed;bottom:0;left:0;right:0;z-index:9998;background:rgba(255,255,255,.96);backdrop-filter:saturate(180%) blur(14px);border-top:1px solid rgba(0,0,0,.08);padding:10px 12px env(safe-area-inset-bottom,10px);box-shadow:0 -8px 24px -12px rgba(0,0,0,.12)}
.sm-sticky-bar .sm-sticky-inner{display:grid;grid-template-columns:2fr 1fr 1fr;gap:8px;max-width:540px;margin:0 auto}
.sm-sticky-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:12px 14px;font:500 13px/1 -apple-system,Inter,sans-serif;text-decoration:none;border-radius:10px;letter-spacing:-.005em;min-height:44px;transition:transform .2s}
.sm-sticky-btn:active{transform:scale(.97)}
.sm-sticky-btn.is-wa{background:#25d366;color:#fff}
.sm-sticky-btn.is-map,.sm-sticky-btn.is-tel{background:rgba(0,0,0,.05);color:#0a0a0a}
.sm-sticky-btn svg{flex-shrink:0}
@media (max-width:768px){
  .sm-sticky-bar{display:block}
  main, body{padding-bottom:72px}
}

/* Micro-animations scroll — opt-in via [data-sm-anim] */
[data-sm-anim]{opacity:0;transform:translateY(20px);transition:opacity .8s cubic-bezier(.16,1,.3,1),transform .8s cubic-bezier(.16,1,.3,1)}
[data-sm-anim].is-visible{opacity:1;transform:none}
[data-sm-anim="fade"]{transform:none}
[data-sm-anim="up"]{transform:translateY(20px)}
[data-sm-anim="left"]{transform:translateX(-20px)}
[data-sm-anim="right"]{transform:translateX(20px)}
[data-sm-anim].is-visible{transform:translateX(0) translateY(0)}

/* Ken-burns subtle on hero figures */
.ed-hero-figure img, .bo-hero-figure img, .sk-hero-figure img{animation:sm-ken 24s cubic-bezier(.4,0,.6,1) infinite alternate}
@keyframes sm-ken{0%{transform:scale(1) translate(0,0)}100%{transform:scale(1.06) translate(-1%,-1%)}}

@media (prefers-reduced-motion:reduce){
  .sm-status,[data-sm-anim],.ed-hero-figure img,.bo-hero-figure img,.sk-hero-figure img{animation:none;transition:none}
  [data-sm-anim]{opacity:1;transform:none}
  .sm-progress{transition:none}
}
