/* ---------- headings rise word by word ---------- */
.split .w{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.08em;margin-bottom:-.08em}
.split .w>span{display:inline-block;transform:translateY(105%);transition:transform .5s cubic-bezier(.2,.75,.2,1)}
.split.in .w>span{transform:none}

/* ---------- softer, smoother reveals ---------- */
.reveal{transition:opacity .5s cubic-bezier(.2,.75,.2,1),transform .5s cubic-bezier(.2,.75,.2,1),filter .4s ease!important;filter:blur(2px);transform:translateY(12px)}
.reveal.in{filter:none}

/* ---------- gentle parallax ---------- */
[data-parallax]{will-change:transform}

/* ---------- sticky "Book" bar on phones ---------- */
.mbar{display:none}
@media(max-width:760px){
  .mbar{display:flex;position:fixed;left:12px;right:12px;bottom:12px;z-index:90;gap:8px;padding:8px;background:rgba(42,26,18,.94);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-radius:999px;box-shadow:0 18px 40px -12px rgba(42,26,18,.55);transform:translateY(140%);transition:transform .45s cubic-bezier(.2,.75,.2,1)}
  .mbar.show{transform:none}
  .mbar a{display:flex;align-items:center;justify-content:center;border-radius:999px;font-weight:600;font-size:.95rem}
  .mbar .mb-book{flex:1;background:var(--gold);color:var(--espresso);padding:14px 18px;gap:8px}
  .mbar .mb-book small{font-weight:500;opacity:.75;font-size:.8rem}
  .mbar .mb-call{width:50px;color:#f3e6d6;border:1px solid rgba(255,255,255,.18)}
  body.has-mbar footer{padding-bottom:110px}
}

@media(prefers-reduced-motion:reduce){
  .split .w>span{transform:none;transition:none}
  .reveal{filter:none!important}
}
