/* ==========================================================================
   /industries/web-design-for-hospitality: this page's illustration kit
   (resources/views/industries/wd/hospitality). S3 challenge scenes, the S4
   venue site mock and the S5 approach visuals. Loaded on this page only and
   scoped to it; the shared styles are in ind-wdp.css. Scene motion runs once
   a tile is revealed (.is-in) and every scene rests complete without it.
   ========================================================================== */

/* ==========================================================================
   S3 shared: the scene box, its bar, footer and tags
   ========================================================================== */
.wdp[data-wd-page="hospitality"] .wdv-sc{position:relative;padding-top:0;border-radius:16px;border:1px solid var(--edge);background:#0A0B0E;overflow:hidden}
.wdp[data-wd-page="hospitality"] .wdv-bar{display:flex;align-items:center;gap:12px;min-width:0;padding:10px 14px;border-bottom:1px solid var(--edge);color:var(--text-dim)}
.wdp[data-wd-page="hospitality"] .wdv-bar .wdp-dots i,.wdp[data-wd-page="hospitality"] .wdv-list__bar .wdp-dots i{width:7px;height:7px}
.wdp[data-wd-page="hospitality"] .wdv-bar__t{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.wdp[data-wd-page="hospitality"] .wdv-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 14px;border-top:1px solid var(--edge);color:var(--text-dim)}
.wdp[data-wd-page="hospitality"] .wdv-foot span{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.wdp[data-wd-page="hospitality"] .wdv-tag{flex:0 0 auto;justify-self:start;padding:4px 10px;border-radius:100px;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}
.wdp[data-wd-page="hospitality"] .wdv-tag--coral{color:var(--coral);background:var(--coral-soft)}
.wdp[data-wd-page="hospitality"] .wdv-tag--teal{color:var(--teal);background:var(--teal-soft)}

/* ---- 01: the PDF menu, pinched, zoomed and dragged sideways on a phone ---- */
.wdp[data-wd-page="hospitality"] .wdv-pdf__load{flex:0 0 72px;height:4px;margin-left:auto;border-radius:4px;background:rgba(255,255,255,.08);overflow:hidden}
.wdp[data-wd-page="hospitality"] .wdv-pdf__load i{display:block;width:58%;height:100%;border-radius:inherit;background:linear-gradient(90deg,rgba(255,122,107,.45),var(--coral))}
.wdp[data-wd-page="hospitality"] .wdv-pdf__body{display:grid;grid-template-columns:auto auto 124px auto;justify-content:center;column-gap:24px;align-items:center;height:156px;padding:0 24px}
.wdp[data-wd-page="hospitality"] .wdv-pdf__print{position:relative;width:92px;height:130px;border-radius:2px;overflow:hidden;box-shadow:0 14px 30px -12px rgba(0,0,0,.9),0 0 0 1px rgba(255,255,255,.06)}
.wdp[data-wd-page="hospitality"] .wdv-pdf__print .wdv-pdf__page{transform:scale(.418)}
.wdp[data-wd-page="hospitality"] .wdv-pdf__print::after{content:"\2713";position:absolute;right:5px;bottom:5px;display:grid;place-items:center;width:16px;height:16px;border-radius:50%;background:var(--teal);color:#0A1512;font-size:10px;font-weight:800}
.wdp[data-wd-page="hospitality"] .wdv-pdf__to{color:var(--text-dim)}
.wdp[data-wd-page="hospitality"] .wdv-pdf__phone{align-self:end;height:134px;padding:8px 7px 0;border:1.5px solid var(--edge-2);border-bottom:0;border-radius:22px 22px 0 0;
  background:#16181D;box-shadow:0 -12px 34px -18px rgba(244,160,0,.18)}
.wdp[data-wd-page="hospitality"] .wdv-pdf__view{position:relative;height:100%;border-radius:15px 15px 0 0;overflow:hidden;background:#24262B}
.wdp[data-wd-page="hospitality"] .wdv-pdf__view::before{content:"";position:absolute;z-index:4;left:50%;top:5px;width:32px;height:8px;margin-left:-16px;border-radius:8px;background:#0A0B0E}
/* the printed page: wider than the phone. At rest it sits zoomed in, cut off on both sides */
.wdp[data-wd-page="hospitality"] .wdv-pdf__page{position:absolute;left:0;top:0;width:220px;min-height:310px;padding:24px 16px 20px;border-radius:2px;background:#E6E0D2;transform-origin:0 0}
.wdp[data-wd-page="hospitality"] .wdv-pdf__view .wdv-pdf__page{transform:translate(-70px,-44px) scale(1.25)}
.wdp[data-wd-page="hospitality"] .wdv-pdf__title{display:block;width:54%;height:11px;margin:0 auto 9px;border-radius:2px;background:#3A332D}
.wdp[data-wd-page="hospitality"] .wdv-pdf__rule{display:block;height:1px;margin:0 0 12px;background:rgba(58,51,45,.35)}
.wdp[data-wd-page="hospitality"] .wdv-pdf__cols{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.wdp[data-wd-page="hospitality"] .wdv-pdf__cols > span{display:grid;gap:8px}
.wdp[data-wd-page="hospitality"] .wdv-pdf__cols i{display:block;height:5px;border-radius:2px;background:linear-gradient(90deg,#71685E 0 60%,transparent 60% 82%,#A1978A 82%)}
.wdp[data-wd-page="hospitality"] .wdv-pdf__cols i:nth-child(4n+1){height:6px;background:linear-gradient(90deg,#3A332D 0 42%,transparent 42%)}
.wdp[data-wd-page="hospitality"] .wdv-pdf__cols i:nth-child(4n+1):not(:first-child){margin-top:5px}
/* fingertips and the sideways scrollbar */
.wdp[data-wd-page="hospitality"] .wdv-pdf__touch{position:absolute;z-index:3;left:50%;top:58%;width:18px;height:18px;margin:-9px 0 0 -9px;border-radius:50%;
  background:rgba(255,255,255,.3);border:1.5px solid rgba(255,255,255,.75);box-shadow:0 0 0 6px rgba(255,255,255,.1),0 4px 12px rgba(0,0,0,.35);opacity:0}
.wdp[data-wd-page="hospitality"] .wdv-pdf__scroll{position:absolute;z-index:3;left:8px;right:8px;bottom:6px;height:3px;border-radius:3px;background:rgba(0,0,0,.18)}
.wdp[data-wd-page="hospitality"] .wdv-pdf__scroll b{position:absolute;top:0;bottom:0;left:25%;width:40%;border-radius:inherit;background:rgba(40,35,30,.62)}
/* the gestures, lit one at a time in step with the phone */
.wdp[data-wd-page="hospitality"] .wdv-pdf__steps{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.wdp[data-wd-page="hospitality"] .wdv-pdf__steps li{display:flex;align-items:center;gap:12px;font-family:var(--font-head);font-size:20px;font-weight:800;line-height:1.1;
  letter-spacing:-.02em;color:var(--text-soft)}
.wdp[data-wd-page="hospitality"] .wdv-pdf__steps li::before{content:"";flex:0 0 auto;width:8px;height:8px;border-radius:50%;background:var(--coral);box-shadow:0 0 0 4px var(--coral-soft)}

.wdp[data-wd-page="hospitality"] .wdp-tile.is-in .wdv-pdf__view .wdv-pdf__page{animation:wdvPdfPage 9s cubic-bezier(.45,0,.25,1) infinite}
.wdp[data-wd-page="hospitality"] .wdp-tile.is-in .wdv-pdf__touch{animation:wdvPdfTouchA 9s cubic-bezier(.45,0,.25,1) infinite}
.wdp[data-wd-page="hospitality"] .wdp-tile.is-in .wdv-pdf__touch--b{animation-name:wdvPdfTouchB}
.wdp[data-wd-page="hospitality"] .wdp-tile.is-in .wdv-pdf__scroll{animation:wdvPdfBar 9s cubic-bezier(.45,0,.25,1) infinite}
.wdp[data-wd-page="hospitality"] .wdp-tile.is-in .wdv-pdf__scroll b{animation:wdvPdfThumb 9s cubic-bezier(.45,0,.25,1) infinite}
.wdp[data-wd-page="hospitality"] .wdp-tile.is-in .wdv-pdf__load i{animation:wdvPdfLoad 9s cubic-bezier(.2,.7,.3,1) infinite}
.wdp[data-wd-page="hospitality"] .wdp-tile.is-in .wdv-pdf__steps li{animation:wdvPdfStep1 9s ease infinite}
.wdp[data-wd-page="hospitality"] .wdp-tile.is-in .wdv-pdf__steps li:nth-child(2){animation-name:wdvPdfStep2}
.wdp[data-wd-page="hospitality"] .wdp-tile.is-in .wdv-pdf__steps li:nth-child(3){animation-name:wdvPdfStep3}
/* 0–6 fit to width · 6–30 pinch · 30–54 zoom · 54–86 drag sideways and back · 86–100 give up, zoom out */
@keyframes wdvPdfPage{
  0%,6%{transform:translate(0,0) scale(.5)}
  30%{transform:translate(-44px,-30px) scale(1)}
  54%{transform:translate(-98px,-64px) scale(1.5)}
  70%{transform:translate(-206px,-64px) scale(1.5)}
  86%{transform:translate(-8px,-64px) scale(1.5)}
  100%{transform:translate(0,0) scale(.5)}}
@keyframes wdvPdfTouchA{
  0%,5%{opacity:0;transform:translate(-5px,2px)}8%{opacity:1;transform:translate(-5px,2px)}28%{opacity:1;transform:translate(-26px,12px)}
  31%{opacity:0;transform:translate(-26px,12px)}32%{opacity:0;transform:translate(-6px,2px)}35%{opacity:1;transform:translate(-6px,2px)}52%{opacity:1;transform:translate(-32px,16px)}
  55%{opacity:0;transform:translate(-32px,16px)}56%{opacity:0;transform:translate(24px,0)}58%{opacity:1;transform:translate(24px,0)}
  70%{opacity:1;transform:translate(-24px,0)}86%{opacity:1;transform:translate(24px,0)}89%,100%{opacity:0;transform:translate(24px,0)}}
@keyframes wdvPdfTouchB{
  0%,5%{opacity:0;transform:translate(5px,-2px)}8%{opacity:1;transform:translate(5px,-2px)}28%{opacity:1;transform:translate(26px,-12px)}
  31%{opacity:0;transform:translate(26px,-12px)}32%{opacity:0;transform:translate(6px,-2px)}35%{opacity:1;transform:translate(6px,-2px)}52%{opacity:1;transform:translate(32px,-16px)}
  55%,100%{opacity:0;transform:translate(32px,-16px)}}
@keyframes wdvPdfBar{0%,24%{opacity:0}30%,86%{opacity:1}94%,100%{opacity:0}}
@keyframes wdvPdfThumb{0%,30%{left:20%;width:50%}54%{left:30%;width:33%}70%{left:62%;width:33%}86%,100%{left:3%;width:33%}}
@keyframes wdvPdfLoad{0%{width:4%}90%{width:58%}100%{width:58%}}
@keyframes wdvPdfStep1{0%,4%,32%,100%{color:var(--text-dim);transform:none}8%,28%{color:var(--coral);transform:translateX(4px)}}
@keyframes wdvPdfStep2{0%,28%,56%,100%{color:var(--text-dim);transform:none}32%,52%{color:var(--coral);transform:translateX(4px)}}
@keyframes wdvPdfStep3{0%,52%,88%,100%{color:var(--text-dim);transform:none}56%,84%{color:var(--coral);transform:translateX(4px)}}

/* ---- 02: "book" on your site cuts to someone else's page, then they leave ---- */
.wdp[data-wd-page="hospitality"] .wdv-jump{transition:border-color .3s}
.wdp[data-wd-page="hospitality"] .wdv-jump__url{flex:0 1 150px;height:14px;border-radius:7px;background:rgba(255,255,255,.06)}
.wdp[data-wd-page="hospitality"] .wdv-jump__view{position:relative;height:112px;overflow:hidden;background:#0D0F13}
.wdp[data-wd-page="hospitality"] .wdv-jump__ours{position:absolute;inset:0;display:grid;grid-template-columns:minmax(0,1fr) 36%;grid-template-rows:auto auto auto 1fr;
  column-gap:14px;row-gap:7px;padding:12px 14px;background:radial-gradient(90% 90% at 0% 0%,rgba(244,160,0,.08),transparent 70%),#0E1014}
.wdp[data-wd-page="hospitality"] .wdv-jump__nav{grid-column:1 / -1;display:flex;align-items:center;gap:7px;margin-bottom:4px}
.wdp[data-wd-page="hospitality"] .wdv-jump__nav i{width:38px;height:6px;margin-right:auto;border-radius:2px;background:var(--gold)}
.wdp[data-wd-page="hospitality"] .wdv-jump__nav b{width:18px;height:4px;border-radius:2px;background:rgba(255,255,255,.18)}
.wdp[data-wd-page="hospitality"] .wdv-jump__h{height:8px;width:94%;border-radius:3px;background:rgba(255,255,255,.62)}
.wdp[data-wd-page="hospitality"] .wdv-jump__h--s{width:64%;background:var(--gold)}
.wdp[data-wd-page="hospitality"] .wdv-jump__cta{position:relative;align-self:start;width:64px;height:17px;margin-top:5px;border-radius:9px;background:var(--gold);
  box-shadow:0 6px 16px -6px rgba(244,160,0,.7)}
.wdp[data-wd-page="hospitality"] .wdv-jump__tap{position:absolute;left:50%;top:50%;width:26px;height:26px;margin:-13px 0 0 -13px;border-radius:50%;
  border:2px solid rgba(255,255,255,.85);opacity:0}
.wdp[data-wd-page="hospitality"] .wdv-jump__img{grid-column:2;grid-row:2 / 5;border-radius:9px;
  background:radial-gradient(circle at 55% 55%,#D65F2E 0 16%,#E4A443 17% 23%,#EFE9DF 24% 38%,#CFC6B8 39% 41%,transparent 42%),linear-gradient(135deg,#3A2416,#1C120B)}
.wdp[data-wd-page="hospitality"] .wdv-jump__theirs{position:absolute;inset:0;display:grid;align-content:start;gap:7px;padding:0 0 12px;background:#E3E6EB;
  transform:translateX(54%);border-left:2px solid var(--coral);box-shadow:-16px 0 30px -12px rgba(0,0,0,.9)}
.wdp[data-wd-page="hospitality"] .wdv-jump__tnav{display:flex;align-items:center;gap:8px;height:22px;margin-bottom:3px;padding:0 12px;background:#C7CDD6}
.wdp[data-wd-page="hospitality"] .wdv-jump__tnav i{width:46px;height:6px;border-radius:2px;background:#7B8595}
.wdp[data-wd-page="hospitality"] .wdv-jump__tnav b{width:14px;height:14px;margin-left:auto;border-radius:50%;background:#A9B1BE}
.wdp[data-wd-page="hospitality"] .wdv-jump__field{height:13px;margin:0 12px;border-radius:3px;border:1px solid #B7BEC9;background:#F3F4F7}
.wdp[data-wd-page="hospitality"] .wdv-jump__field--s{width:48%}
.wdp[data-wd-page="hospitality"] .wdv-jump__tbtn{width:74px;height:16px;margin:2px 12px 0;border-radius:3px;background:#6D7A90}
.wdp[data-wd-page="hospitality"] .wdv-jump__gone{position:absolute;z-index:2;left:50%;top:50%;display:grid;place-items:center;width:44px;height:44px;margin:-22px 0 0 -22px;
  border-radius:50%;background:#1A1112;border:1px solid var(--coral-line);color:var(--coral);opacity:0;box-shadow:0 10px 26px -8px rgba(0,0,0,.9)}
.wdp[data-wd-page="hospitality"] .wdv-jump__steps{list-style:none;margin:0;padding:12px 8px 13px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--edge)}
.wdp[data-wd-page="hospitality"] .wdv-jump__steps li{position:relative;display:grid;justify-items:center;gap:7px;padding:0 4px;text-align:center;font-weight:600;line-height:1.2;color:var(--text-soft)}
.wdp[data-wd-page="hospitality"] .wdv-jump__steps i{position:relative;z-index:1;width:11px;height:11px;border-radius:50%;border:2px solid var(--gold);background:#0A0B0E}
.wdp[data-wd-page="hospitality"] .wdv-jump__steps li:nth-child(n+2) i{border-color:var(--coral)}
.wdp[data-wd-page="hospitality"] .wdv-jump__steps li:nth-child(3){color:var(--coral)}
.wdp[data-wd-page="hospitality"] .wdv-jump__steps li + li::before{content:"";position:absolute;top:4.5px;left:calc(-50% + 12px);right:calc(50% + 12px);height:2px;border-radius:2px}
/* the link between your site and theirs is broken */
.wdp[data-wd-page="hospitality"] .wdv-jump__steps li:nth-child(2)::before{background:linear-gradient(90deg,var(--gold-line) 0 38%,transparent 38% 62%,var(--coral-line) 62%)}
.wdp[data-wd-page="hospitality"] .wdv-jump__steps li:nth-child(2)::after{content:"";position:absolute;top:0;left:-7px;width:11px;height:11px;
  background:linear-gradient(45deg,transparent 45%,var(--coral) 45% 58%,transparent 58%),linear-gradient(-45deg,transparent 45%,var(--coral) 45% 58%,transparent 58%)}
.wdp[data-wd-page="hospitality"] .wdv-jump__steps li:nth-child(3)::before{background:var(--coral-line)}

.wdp[data-wd-page="hospitality"] .wdp-tile.is-in .wdv-jump{animation:wdvJumpEdge 8s linear infinite}
.wdp[data-wd-page="hospitality"] .wdp-tile.is-in .wdv-jump__view{animation:wdvJumpShake 8s linear infinite}
.wdp[data-wd-page="hospitality"] .wdp-tile.is-in .wdv-jump__ours{animation:wdvJumpOurs 8s ease infinite}
.wdp[data-wd-page="hospitality"] .wdp-tile.is-in .wdv-jump__theirs{animation:wdvJumpTheirs 8s linear infinite}
.wdp[data-wd-page="hospitality"] .wdp-tile.is-in .wdv-jump__tap{animation:wdvJumpTap 8s ease-out infinite}
.wdp[data-wd-page="hospitality"] .wdp-tile.is-in .wdv-jump__cta{animation:wdvJumpPress 8s ease infinite}
.wdp[data-wd-page="hospitality"] .wdp-tile.is-in .wdv-jump__gone{animation:wdvJumpGone 8s var(--ease) infinite}
.wdp[data-wd-page="hospitality"] .wdp-tile.is-in .wdv-jump__steps li{animation:wdvJumpS1 8s ease infinite}
.wdp[data-wd-page="hospitality"] .wdp-tile.is-in .wdv-jump__steps li:nth-child(2){animation-name:wdvJumpS2}
.wdp[data-wd-page="hospitality"] .wdp-tile.is-in .wdv-jump__steps li:nth-child(3){animation-name:wdvJumpS3}
/* 0–33 your site, a tap on book · 33–38 the cut · 38–64 their page · 64–92 they leave · 92–100 back */
@keyframes wdvJumpTheirs{
  0%,33%{transform:translateX(104%);opacity:1;filter:none}
  35%{transform:translateX(-5%)}36.5%{transform:translateX(2.5%)}38%,64%{transform:none;opacity:1;filter:none}
  72%,88%{transform:translateY(6px) scale(.94);opacity:.3;filter:grayscale(1)}
  93%,100%{transform:translateY(6px) scale(.94);opacity:0;filter:grayscale(1)}}
@keyframes wdvJumpOurs{0%,33%{opacity:1;transform:none}35%,91%{opacity:0;transform:translateX(-14%)}98%,100%{opacity:1;transform:none}}
@keyframes wdvJumpShake{0%,33.5%,39%,100%{transform:none}35%{transform:translateX(-4px)}36.5%{transform:translateX(3px)}37.8%{transform:translateX(-1.5px)}}
@keyframes wdvJumpEdge{0%,33%,95%,100%{border-color:var(--edge)}35%,90%{border-color:var(--coral-line)}}
@keyframes wdvJumpTap{0%,19%{opacity:0;transform:scale(.3)}22%{opacity:.9;transform:scale(.6)}31%,100%{opacity:0;transform:scale(2.4)}}
@keyframes wdvJumpPress{0%,20%,27%,100%{transform:none}23%{transform:scale(.92)}}
@keyframes wdvJumpGone{0%,66%{opacity:0;transform:scale(.7)}71%,88%{opacity:1;transform:none}93%,100%{opacity:0;transform:scale(.9)}}
@keyframes wdvJumpS1{0%,32%,97%,100%{opacity:1}36%,93%{opacity:.35}}
@keyframes wdvJumpS2{0%,33%,66%,100%{opacity:.35}36%,62%{opacity:1}}
@keyframes wdvJumpS3{0%,63%,94%,100%{opacity:.35}67%,90%{opacity:1}}

/* ---- 03: the calendar keeps turning; the site stays as it was ---- */
.wdp[data-wd-page="hospitality"] .wdv-stale__body{display:grid;grid-template-columns:88px minmax(0,1fr);gap:22px;align-items:center;padding:16px 18px 16px 16px}
.wdp[data-wd-page="hospitality"] .wdv-stale__cal{position:relative;height:98px}
.wdp[data-wd-page="hospitality"] .wdv-stale__leaf{position:absolute;left:0;right:0;top:6px;bottom:0;display:grid;grid-template-columns:repeat(7,1fr);align-content:start;
  justify-items:center;row-gap:7px;padding:0 8px 8px;border-radius:10px;border:1px solid var(--edge-2);background:#15171C;overflow:hidden;
  transform-origin:92% 4%}
.wdp[data-wd-page="hospitality"] .wdv-stale__leaf b{grid-column:1 / -1;justify-self:stretch;height:24px;margin:0 -8px 3px;background:linear-gradient(180deg,rgba(255,122,107,.22),rgba(255,122,107,.1));
  border-bottom:1px solid var(--coral-line)}
.wdp[data-wd-page="hospitality"] .wdv-stale__leaf i{width:4px;height:4px;border-radius:50%;background:rgba(255,255,255,.2)}
.wdp[data-wd-page="hospitality"] .wdv-stale__leaf--turn{box-shadow:0 8px 18px -8px rgba(0,0,0,.9)}
.wdp[data-wd-page="hospitality"] .wdv-stale__rings{position:absolute;z-index:3;top:0;left:22px;right:22px;height:13px}
.wdp[data-wd-page="hospitality"] .wdv-stale__rings::before,.wdp[data-wd-page="hospitality"] .wdv-stale__rings::after{content:"";position:absolute;top:0;width:6px;height:13px;
  border-radius:3px;background:#2A2D34;border:1px solid rgba(255,255,255,.2)}
.wdp[data-wd-page="hospitality"] .wdv-stale__rings::before{left:0}
.wdp[data-wd-page="hospitality"] .wdv-stale__rings::after{right:0}
.wdp[data-wd-page="hospitality"] .wdv-stale__rows{display:grid;min-width:0}
.wdp[data-wd-page="hospitality"] .wdv-stale__row{display:grid;gap:3px;padding:9px 0}
.wdp[data-wd-page="hospitality"] .wdv-stale__row:first-child{padding-top:0}
.wdp[data-wd-page="hospitality"] .wdv-stale__row:last-child{padding-bottom:0}
.wdp[data-wd-page="hospitality"] .wdv-stale__row + .wdv-stale__row{border-top:1px solid var(--edge)}
.wdp[data-wd-page="hospitality"] .wdv-stale__row em{font-style:normal;color:var(--text-dim)}
.wdp[data-wd-page="hospitality"] .wdv-stale__row b{display:flex;align-items:center;gap:6px;font-family:var(--font-head);font-size:16px;font-weight:700;letter-spacing:-.01em;
  line-height:1.2;color:var(--text-soft)}
.wdp[data-wd-page="hospitality"] .wdv-stale__row b.is-coral{color:var(--coral)}
.wdp[data-wd-page="hospitality"] .wdv-stale__row svg{flex:0 0 auto;color:var(--text-dim)}
.wdp[data-wd-page="hospitality"] .wdp-tile.is-in .wdv-stale__leaf--turn{animation:wdvLeaf 3s cubic-bezier(.5,0,.5,1) infinite}
.wdp[data-wd-page="hospitality"] .wdp-tile.is-in .wdv-stale__row svg{animation:wdvOut 3s ease-in-out infinite}
/* a month goes by: the top leaf tears off its rings and drops away; the one below is the same */
@keyframes wdvLeaf{0%,46%{transform:none;opacity:1}56%{transform:rotate(-7deg);opacity:1}62%{transform:translateY(3px) rotate(-11deg);opacity:1}
  84%{transform:translate(-18px,64px) rotate(-30deg);opacity:0}100%{transform:translate(-18px,64px) rotate(-30deg);opacity:0}}
@keyframes wdvOut{0%,55%,100%{transform:none}70%{transform:translate(2px,-2px)}}

/* ---- 04: the listing carries every visitor until the site takes its share ---- */
.wdp[data-wd-page="hospitality"] .wdv-list{display:grid;grid-template-columns:minmax(0,1fr) 84px minmax(0,1fr);align-items:stretch;padding:14px}
.wdp[data-wd-page="hospitality"] .wdv-list__card{position:relative;display:grid;grid-template-columns:minmax(0,1fr);align-content:start;gap:9px;min-width:0;padding:12px 12px 16px;
  border-radius:12px;border:1px solid var(--edge);background:rgba(255,255,255,.025);overflow:hidden}
.wdp[data-wd-page="hospitality"] .wdv-list__card--gbp{border-color:var(--coral-line);background:linear-gradient(180deg,rgba(255,122,107,.08),rgba(255,122,107,.02))}
.wdp[data-wd-page="hospitality"] .wdv-list__card--site{padding-top:0;border-color:var(--teal-line);background:linear-gradient(180deg,rgba(79,191,160,.07),rgba(79,191,160,.015))}
.wdp[data-wd-page="hospitality"] .wdv-list__id{display:flex;align-items:center;gap:8px;height:22px;color:var(--coral)}
.wdp[data-wd-page="hospitality"] .wdv-list__stars{display:inline-flex;gap:2px;color:var(--gold)}
.wdp[data-wd-page="hospitality"] .wdv-list__pics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}
.wdp[data-wd-page="hospitality"] .wdv-list__pics i{height:30px;border-radius:6px}
.wdp[data-wd-page="hospitality"] .wdv-list__pics i:nth-child(1){background:radial-gradient(circle at 50% 55%,#D65F2E 0 20%,#EDE6DA 21% 44%,transparent 45%),linear-gradient(135deg,#3A2416,#1C120B)}
.wdp[data-wd-page="hospitality"] .wdv-list__pics i:nth-child(2){background:radial-gradient(circle at 40% 70%,rgba(244,160,0,.55),transparent 45%),linear-gradient(160deg,#2A1D14,#120D0A)}
.wdp[data-wd-page="hospitality"] .wdv-list__pics i:nth-child(3){background:radial-gradient(circle at 50% 50%,#E7B45A 0 26%,#B8542A 27% 34%,transparent 35%),linear-gradient(135deg,#2E2118,#15100C)}
.wdp[data-wd-page="hospitality"] .wdv-list__pics i:nth-child(4){background:radial-gradient(circle at 60% 40%,rgba(79,191,160,.35),transparent 50%),linear-gradient(135deg,#1C2420,#0E1311)}
.wdp[data-wd-page="hospitality"] .wdv-list__bar{display:flex;align-items:center;gap:10px;min-width:0;height:34px;margin:0 -12px;padding:0 12px;border-bottom:1px solid var(--edge);color:var(--text-dim)}
.wdp[data-wd-page="hospitality"] .wdv-list__lines{display:grid;gap:6px;padding:4px 0 2px}
.wdp[data-wd-page="hospitality"] .wdv-list__lines i{height:6px;border-radius:3px;background:rgba(255,255,255,.14)}
.wdp[data-wd-page="hospitality"] .wdv-list__lines i:first-child{width:72%;background:rgba(255,255,255,.4)}
.wdp[data-wd-page="hospitality"] .wdv-list__lines i:last-child{width:46%;height:12px;border-radius:6px;background:var(--gold)}
.wdp[data-wd-page="hospitality"] .wdv-list__t{font-weight:600;line-height:1.35;color:var(--text-soft)}
.wdp[data-wd-page="hospitality"] .wdv-list__load{position:absolute;left:0;right:0;bottom:0;height:3px;background:rgba(255,255,255,.05)}
.wdp[data-wd-page="hospitality"] .wdv-list__load i{position:absolute;left:0;top:0;bottom:0;width:62%;background:var(--coral)}
.wdp[data-wd-page="hospitality"] .wdv-list__card--site .wdv-list__load i{width:48%;background:var(--teal)}
/* the visitors: dots on a dashed path from the listing to the site */
.wdp[data-wd-page="hospitality"] .wdv-list__flow{position:relative;align-self:center;height:14px;margin:0 8px}
.wdp[data-wd-page="hospitality"] .wdv-list__flow::before{content:"";position:absolute;left:0;right:0;top:50%;height:0;border-top:1.5px dashed rgba(255,255,255,.16)}
.wdp[data-wd-page="hospitality"] .wdv-list__flow i{position:absolute;top:50%;left:50%;width:9px;height:9px;margin:-4.5px 0 0 -4.5px;border-radius:50%;background:var(--gold);
  box-shadow:0 0 10px rgba(244,160,0,.7)}
.wdp[data-wd-page="hospitality"] .wdv-list__flow i:nth-child(2){left:20%}
.wdp[data-wd-page="hospitality"] .wdv-list__flow i:nth-child(3){left:80%}

.wdp[data-wd-page="hospitality"] .wdp-tile.is-in .wdv-list__flow i{animation:wdvFlow 8s linear infinite}
.wdp[data-wd-page="hospitality"] .wdp-tile.is-in .wdv-list__flow i:nth-child(2){animation-delay:.45s}
.wdp[data-wd-page="hospitality"] .wdp-tile.is-in .wdv-list__flow i:nth-child(3){animation-delay:.9s}
.wdp[data-wd-page="hospitality"] .wdp-tile.is-in .wdv-list__card--site{animation:wdvSite 8s ease infinite}
.wdp[data-wd-page="hospitality"] .wdp-tile.is-in .wdv-list__card--site .wdv-tag{animation:wdvSiteTag 8s ease infinite}
.wdp[data-wd-page="hospitality"] .wdp-tile.is-in .wdv-list__card--gbp .wdv-list__load i{animation:wdvLoadGbp 8s var(--ease) infinite}
.wdp[data-wd-page="hospitality"] .wdp-tile.is-in .wdv-list__card--site .wdv-list__load i{animation:wdvLoadSite 8s var(--ease) infinite}
/* 0–46: they stop at the listing, the site sits idle · 50–94: they reach the site, which takes its share */
@keyframes wdvFlow{
  0%{left:0;opacity:0}3%{opacity:1}14%{left:26%;opacity:1}20%,23%{left:30%;opacity:0}
  24%{left:0;opacity:0}27%{opacity:1}38%{left:26%;opacity:1}44%,50%{left:30%;opacity:0}
  51%{left:0;opacity:0}54%{opacity:1}68%{left:100%;opacity:1}70%,72%{left:100%;opacity:0}
  73%{left:0;opacity:0}76%{opacity:1}90%{left:100%;opacity:1}92%,100%{left:100%;opacity:0}}
@keyframes wdvSite{0%,46%{opacity:.5;border-color:var(--edge);background:rgba(255,255,255,.02);box-shadow:none}
  58%,92%{opacity:1;border-color:var(--teal-line);background:rgba(79,191,160,.06);box-shadow:0 0 26px -10px rgba(79,191,160,.7)}
  100%{opacity:.5;border-color:var(--edge);background:rgba(255,255,255,.02);box-shadow:none}}
@keyframes wdvSiteTag{0%,50%,100%{opacity:.3}60%,92%{opacity:1}}
@keyframes wdvLoadGbp{0%,48%{width:100%}62%,92%{width:62%}100%{width:100%}}
@keyframes wdvLoadSite{0%,48%{width:0}62%,92%{width:48%}100%{width:0}}

/* ==========================================================================
   S4: the venue site mock
   ========================================================================== */
.wdp[data-wd-page="hospitality"] .wdv-site .wdp-site__nav{gap:14px}
.wdp[data-wd-page="hospitality"] .wdv-site .wdp-site__logo em{margin-left:0}
.wdp[data-wd-page="hospitality"] .wdv-site__links{display:flex;gap:12px;margin-left:auto;color:var(--text-dim);font-size:11px;white-space:nowrap}
.wdp[data-wd-page="hospitality"] .wdv-site .wdp-site__cta{margin-left:0}
.wdp[data-wd-page="hospitality"] .wdv-site__dish{position:relative;overflow:hidden;align-content:end;justify-items:start;padding:8px;
  background:radial-gradient(70% 90% at 30% 20%,rgba(244,160,0,.16),transparent 70%),linear-gradient(135deg,#3A2416,#1A110B)}
.wdp[data-wd-page="hospitality"] .wdv-site__plate{position:absolute;left:50%;top:44%;width:66px;height:66px;margin:-33px 0 0 -33px;border-radius:50%;
  background:radial-gradient(circle at 40% 42%,#5E8B3A 0 4%,transparent 5%),radial-gradient(circle at 58% 60%,#5E8B3A 0 3.5%,transparent 4.5%),
    radial-gradient(circle,#D65F2E 0 22%,#E6A845 23% 32%,#F1ECE3 33% 62%,#D2C9BB 63% 66%,transparent 67%);
  box-shadow:0 10px 18px -6px rgba(0,0,0,.6);transition:transform 1.2s var(--ease)}
.wdp[data-wd-page="hospitality"] .wdv-site__dish span{position:relative;padding:2px 7px;border-radius:100px;background:rgba(0,0,0,.55);color:var(--text-soft);font-size:10px}
.wdp[data-wd-page="hospitality"] .wdv-site__trust .is-gold{background:var(--gold-soft);color:#FFD27A}
.wdp[data-wd-page="hospitality"] .wdv-site__menu span{align-content:start;color:var(--text-soft)}
.wdp[data-wd-page="hospitality"] .wdv-site__ic{color:var(--gold)}
.wdp[data-wd-page="hospitality"] .wdv-site__diet{display:flex;align-items:center;gap:4px;margin-top:1px;text-decoration:none}
.wdp[data-wd-page="hospitality"] .wdv-site__diet b{width:6px;height:6px;border-radius:50%;background:var(--teal)}
.wdp[data-wd-page="hospitality"] .wdv-site__diet b + b{background:var(--gold)}
.wdp[data-wd-page="hospitality"] .wdv-site__diet i{width:auto;height:4px;flex:1;margin-left:4px;border-radius:2px;border:0;background:rgba(255,255,255,.1)}
.wdp[data-wd-page="hospitality"] .wdv-site__visit{display:grid;grid-template-columns:92px minmax(0,1fr);gap:12px;align-items:center;padding:10px 16px;border-top:1px solid var(--edge)}
.wdp[data-wd-page="hospitality"] .wdv-site__map{display:block;height:62px;border-radius:9px;border:1px solid var(--edge);overflow:hidden;background:#12151A}
.wdp[data-wd-page="hospitality"] .wdv-site__map svg{display:block;width:100%;height:100%}
.wdp[data-wd-page="hospitality"] .wdv-site__road{fill:none;stroke:rgba(255,255,255,.12);stroke-width:5}
.wdp[data-wd-page="hospitality"] .wdv-site__tram{fill:none;stroke:rgba(79,191,160,.55);stroke-width:1.4;stroke-dasharray:3 3}
.wdp[data-wd-page="hospitality"] .wdv-site__pin{fill:var(--gold);transform-origin:52px 30px;transform-box:view-box}
.wdp[data-wd-page="hospitality"] .wdv-site__pinc{fill:#1A1206}
.wdp[data-wd-page="hospitality"] .wdv-site__hours{display:flex;flex-wrap:wrap;gap:6px}
.wdp[data-wd-page="hospitality"] .wdv-site__hours span,.wdp[data-wd-page="hospitality"] .wdv-site__events span{padding:4px 9px;border-radius:100px;border:1px solid var(--edge);
  color:var(--text-soft);font-size:10.5px;white-space:nowrap}
.wdp[data-wd-page="hospitality"] .wdv-site__hours .is-vary{border-color:var(--gold-line);color:#FFD27A}
.wdp[data-wd-page="hospitality"] .wdv-site__events{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:10px 16px;border-top:1px solid var(--edge)}
.wdp[data-wd-page="hospitality"] .wdv-site__events .is-cap{display:inline-flex;align-items:center;gap:6px;border-color:var(--gold-line);color:var(--text)}
.wdp[data-wd-page="hospitality"] .wdv-site__events .is-cap svg{color:var(--gold)}
.wdp[data-wd-page="hospitality"] .wdv-site__events b{margin-left:auto;padding:6px 14px;border-radius:7px;background:var(--gold);color:#111;font-size:11px;font-weight:700}
.wdp[data-wd-page="hospitality"] .wdv-site__order{display:flex;align-items:center;gap:8px}
.wdp[data-wd-page="hospitality"] .wdv-site__order svg{flex:0 0 auto;color:var(--teal)}
/* the part in focus shows what it does */
.wdp[data-wd-page="hospitality"] .wdv-site [data-part-el="1"].is-on .wdp-site__cta{animation:wdvCta 1.8s ease-in-out infinite}
.wdp[data-wd-page="hospitality"] .wdv-site [data-part-el="2"].is-on .wdv-site__plate{transform:scale(1.12) rotate(-8deg)}
.wdp[data-wd-page="hospitality"] .wdv-site [data-part-el="5"].is-on .wdv-site__pin{animation:wdvPin 1.4s var(--ease) infinite}
.wdp[data-wd-page="hospitality"] .wdv-site [data-part-el="8"].is-on .wdp-site__speed{animation:wdvCta 1.8s ease-in-out infinite;--glow:rgba(79,191,160,.22)}
@keyframes wdvCta{50%{box-shadow:0 0 0 5px var(--glow,rgba(244,160,0,.22))}}
@keyframes wdvPin{0%,60%,100%{transform:none}25%{transform:translateY(-4px)}}

/* ==========================================================================
   S5: the approach visuals
   ========================================================================== */
/* tablets show each visual inline under its chapter: keep it panel sized */
.wdp[data-wd-page="hospitality"] .wdp-chap__vis .wdv-panel{max-width:620px}
.wdp[data-wd-page="hospitality"] .wdv-note{justify-content:flex-start;gap:9px;font-size:13px;color:var(--text-mid)}
.wdp[data-wd-page="hospitality"] .wdv-note svg{flex:0 0 auto;color:var(--teal)}

/* ---- photography led: the photos woven through the page ---- */
.wdp[data-wd-page="hospitality"] .wdv-weave{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr) minmax(0,1fr);grid-template-rows:74px 60px;gap:8px;padding:16px 18px 10px}
.wdp[data-wd-page="hospitality"] .wdv-ph{position:relative;display:block;border-radius:12px;overflow:hidden;border:1px solid rgba(255,255,255,.06)}
.wdp[data-wd-page="hospitality"] .wdv-ph__plate{position:absolute;left:50%;top:50%;border-radius:50%;box-shadow:0 12px 22px -8px rgba(0,0,0,.7)}
.wdp[data-wd-page="hospitality"] .wdv-ph--hero{grid-row:1 / 3;background:radial-gradient(80% 90% at 80% 10%,rgba(244,160,0,.25),transparent 60%),linear-gradient(135deg,#3C2517,#170F0A)}
.wdp[data-wd-page="hospitality"] .wdv-ph--hero .wdv-ph__plate{left:74%;top:56%;width:104px;height:104px;margin:-52px 0 0 -52px;
  background:radial-gradient(circle at 40% 42%,#5E8B3A 0 3.5%,transparent 4.5%),radial-gradient(circle at 60% 62%,#5E8B3A 0 3%,transparent 4%),
    radial-gradient(circle at 46% 64%,#5E8B3A 0 2.5%,transparent 3.5%),
    radial-gradient(circle,#D65F2E 0 21%,#E6A845 22% 31%,#F1ECE3 32% 62%,#D2C9BB 63% 66%,transparent 67%)}
.wdp[data-wd-page="hospitality"] .wdv-weave__copy{position:absolute;left:14px;top:14px;display:grid;gap:7px;width:44%}
.wdp[data-wd-page="hospitality"] .wdv-weave__copy i{height:9px;border-radius:3px;background:rgba(255,255,255,.8)}
.wdp[data-wd-page="hospitality"] .wdv-weave__copy i.is-gold{width:70%;background:var(--gold)}
.wdp[data-wd-page="hospitality"] .wdv-weave__copy b{width:62%;height:16px;margin-top:5px;border-radius:8px;background:var(--gold)}
.wdp[data-wd-page="hospitality"] .wdv-ph--b{background:radial-gradient(70% 80% at 20% 90%,rgba(244,160,0,.3),transparent 60%),linear-gradient(160deg,#2B1D13,#120D0A)}
.wdp[data-wd-page="hospitality"] .wdv-ph--b .wdv-ph__plate{width:58px;height:58px;margin:-29px 0 0 -29px;
  background:radial-gradient(circle at 36% 40%,#2E1A10 0 5%,transparent 6%),radial-gradient(circle at 62% 58%,#2E1A10 0 4%,transparent 5%),
    radial-gradient(circle,#E9B865 0 34%,#C0592A 35% 44%,#8A3A1C 45% 48%,transparent 49%)}
.wdp[data-wd-page="hospitality"] .wdv-ph--c{background:radial-gradient(70% 80% at 80% 10%,rgba(79,191,160,.2),transparent 60%),linear-gradient(135deg,#1F2622,#0F1311)}
.wdp[data-wd-page="hospitality"] .wdv-ph--c .wdv-ph__plate{width:46px;height:46px;margin:-23px 0 0 -23px;
  background:radial-gradient(circle,#6B3B24 0 24%,#F2EADB 25% 30%,#EFE8DD 31% 58%,#D2C9BB 59% 62%,transparent 63%)}
.wdp[data-wd-page="hospitality"] .wdv-weave__txt{display:grid;align-content:center;gap:6px;padding:0 4px}
.wdp[data-wd-page="hospitality"] .wdv-weave__txt i{height:6px;border-radius:3px;background:rgba(255,255,255,.16)}
.wdp[data-wd-page="hospitality"] .wdv-weave__txt i:first-child{width:80%;height:8px;background:rgba(255,255,255,.45)}
.wdp[data-wd-page="hospitality"] .wdv-weave__txt i:last-child{width:58%}
/* the photos take their places in the layout, rising from where a gallery would sit */
.wdp[data-wd-page="hospitality"] .wdp-vis .wdv-ph{transition:opacity .7s var(--ease),transform .9s var(--ease)}
.wdp[data-wd-page="hospitality"] .wdp-vis:not(.is-on) .wdv-ph{opacity:0;transform:translateY(34px) scale(.9)}
.wdp[data-wd-page="hospitality"] .wdp-vis.is-on .wdv-ph--b{transition-delay:.12s}
.wdp[data-wd-page="hospitality"] .wdp-vis.is-on .wdv-ph--c{transition-delay:.24s}
.wdp[data-wd-page="hospitality"] .wdp-vis.is-on .wdv-ph__plate{animation:wdvPlate 14s ease-in-out infinite alternate}
@keyframes wdvPlate{to{transform:scale(1.1) rotate(-10deg)}}

/* ---- the web native menu ---- */
.wdp[data-wd-page="hospitality"] .wdv-menu__head{display:grid;gap:12px;padding:16px 18px 2px}
.wdp[data-wd-page="hospitality"] .wdv-menu__tabs{display:flex;gap:6px}
.wdp[data-wd-page="hospitality"] .wdv-menu__tabs i{width:46px;height:18px;border-radius:9px;border:1px solid var(--edge-2)}
.wdp[data-wd-page="hospitality"] .wdv-menu__tabs i.is-on{border-color:var(--gold-line);background:var(--gold-soft)}
.wdp[data-wd-page="hospitality"] .wdv-menu__h{font-family:var(--font-head);font-weight:800;font-size:20px;letter-spacing:-.02em}
.wdp[data-wd-page="hospitality"] .wdv-dish{position:relative;display:grid;grid-template-columns:auto minmax(12px,1fr) auto auto;gap:10px;overflow:hidden}
.wdp[data-wd-page="hospitality"] .wdv-dish__n{min-width:0;color:var(--text)}
.wdp[data-wd-page="hospitality"] .wdv-dish__lead{align-self:end;margin-bottom:5px;border-bottom:1.5px dotted rgba(255,255,255,.2)}
.wdp[data-wd-page="hospitality"] .wdv-dish__p{font-family:var(--font-head);font-weight:700;color:var(--gold)}
.wdp[data-wd-page="hospitality"] .wdv-live span{display:inline-flex;align-items:center;gap:10px}
.wdp[data-wd-page="hospitality"] .wdv-live__dot{position:relative;flex:0 0 auto;width:8px;height:8px;border-radius:50%;background:var(--teal);box-shadow:0 0 8px rgba(79,191,160,.8)}
.wdp[data-wd-page="hospitality"] .wdv-live__dot::after{content:"";position:absolute;inset:-5px;border-radius:50%;border:1.5px solid var(--teal);opacity:0}
.wdp[data-wd-page="hospitality"] .wdp-vis.is-on .wdv-live__dot::after{animation:wdvPing 2.4s ease-out infinite}
@keyframes wdvPing{0%{opacity:.8;transform:scale(.4)}70%,100%{opacity:0;transform:scale(1.5)}}
/* fresh ink: a sheen passes over the dishes as the menu goes live */
.wdp[data-wd-page="hospitality"] .wdv-dish::after{content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(100deg,transparent 30%,rgba(244,160,0,.14) 50%,transparent 70%);transform:translateX(-110%)}
.wdp[data-wd-page="hospitality"] .wdp-vis.is-on .wdv-dish::after{animation:wdvInk 6s ease-in-out 1s infinite}
.wdp[data-wd-page="hospitality"] .wdp-vis.is-on .wdv-dish + .wdv-dish::after{animation-delay:1.25s}
@keyframes wdvInk{0%{transform:translateX(-110%)}28%,100%{transform:translateX(110%)}}

/* ---- booking and ordering, on the venue's own site ---- */
.wdp[data-wd-page="hospitality"] .wdv-book{display:grid;gap:12px;padding:18px 18px 8px}
.wdp[data-wd-page="hospitality"] .wdv-book__btn{position:relative;display:flex;align-items:center;justify-content:center;height:44px;border-radius:12px;background:var(--gold);color:#111;
  font-family:var(--font-head);font-weight:800;font-size:15px;letter-spacing:.06em;overflow:hidden;box-shadow:0 14px 30px -14px rgba(244,160,0,.8)}
.wdp[data-wd-page="hospitality"] .wdv-book__tap{position:absolute;left:72%;top:50%;width:30px;height:30px;margin:-15px 0 0 -15px;border-radius:50%;background:rgba(255,255,255,.5);opacity:0}
.wdp[data-wd-page="hospitality"] .wdv-book__widget{display:grid;gap:8px;padding:10px;border-radius:12px;border:1px dashed var(--gold-line);background:rgba(244,160,0,.04)}
.wdp[data-wd-page="hospitality"] .wdv-book__slots{position:relative;display:grid;grid-template-columns:repeat(5,minmax(0,1fr))}
.wdp[data-wd-page="hospitality"] .wdv-book__slots--4{grid-template-columns:repeat(4,minmax(0,1fr));width:80%}
.wdp[data-wd-page="hospitality"] .wdv-book__slots i{height:22px;margin:0 3px;border-radius:7px;border:1px solid var(--edge-2);background:rgba(255,255,255,.03)}
.wdp[data-wd-page="hospitality"] .wdv-book__sel{position:absolute;top:0;left:40%;width:20%;height:22px;padding:0 3px;background-clip:content-box;border-radius:7px}
.wdp[data-wd-page="hospitality"] .wdv-book__sel::before{content:"";position:absolute;inset:0 3px;border-radius:7px;background:var(--gold);box-shadow:0 0 14px -2px rgba(244,160,0,.7)}
.wdp[data-wd-page="hospitality"] .wdv-book__slots--4 .wdv-book__sel{left:25%;width:25%}
.wdp[data-wd-page="hospitality"] .wdp-vis.is-on .wdv-book__tap{animation:wdvBookTap 6s ease-out infinite}
.wdp[data-wd-page="hospitality"] .wdp-vis.is-on .wdv-book__slots .wdv-book__sel{animation:wdvSel5 6s var(--ease) infinite}
.wdp[data-wd-page="hospitality"] .wdp-vis.is-on .wdv-book__slots--4 .wdv-book__sel{animation:wdvSel4 6s var(--ease) infinite}
@keyframes wdvBookTap{0%,6%{opacity:0;transform:scale(.3)}9%{opacity:.9;transform:scale(.6)}20%,100%{opacity:0;transform:scale(3)}}
@keyframes wdvSel5{0%,20%{left:0}32%,52%{left:60%}64%,84%{left:40%}96%,100%{left:0}}
@keyframes wdvSel4{0%,26%{left:0}38%,58%{left:50%}70%,90%{left:25%}100%{left:0}}

/* ==========================================================================
   Phones
   ========================================================================== */
@media (max-width:700px){
  /* S3 01: a narrower phone and gestures, the whole scene under 200px */
  .wdp[data-wd-page="hospitality"] .wdv-pdf__body{grid-template-columns:108px minmax(0,1fr);justify-content:stretch;column-gap:16px;height:118px;padding:0 14px}
  .wdp[data-wd-page="hospitality"] .wdv-pdf__print,.wdp[data-wd-page="hospitality"] .wdv-pdf__to{display:none}
  .wdp[data-wd-page="hospitality"] .wdv-pdf__phone{height:106px;padding:7px 6px 0;border-radius:18px 18px 0 0}
  .wdp[data-wd-page="hospitality"] .wdv-pdf__view{border-radius:12px 12px 0 0}
  .wdp[data-wd-page="hospitality"] .wdv-pdf__steps{gap:8px}
  .wdp[data-wd-page="hospitality"] .wdv-pdf__steps li{gap:9px;font-size:15px}
  .wdp[data-wd-page="hospitality"] .wdv-pdf__steps li::before{width:7px;height:7px;box-shadow:0 0 0 3px var(--coral-soft)}
  .wdp[data-wd-page="hospitality"] .wdv-pdf__load{flex-basis:48px}
  /* 02 */
  .wdp[data-wd-page="hospitality"] .wdv-jump__view{height:100px}
  .wdp[data-wd-page="hospitality"] .wdv-jump__ours{padding:10px 12px}
  .wdp[data-wd-page="hospitality"] .wdv-jump__steps{padding:11px 4px 12px}
  .wdp[data-wd-page="hospitality"] .wdv-jump__steps li{font-size:12px}
  /* 03 */
  .wdp[data-wd-page="hospitality"] .wdv-stale__body{grid-template-columns:74px minmax(0,1fr);gap:16px;padding:14px}
  .wdp[data-wd-page="hospitality"] .wdv-stale__cal{height:86px}
  .wdp[data-wd-page="hospitality"] .wdv-stale__leaf{padding:0 6px 6px;row-gap:6px}
  .wdp[data-wd-page="hospitality"] .wdv-stale__leaf b{margin:0 -6px 3px;height:20px}
  .wdp[data-wd-page="hospitality"] .wdv-stale__rings{left:18px;right:18px}
  .wdp[data-wd-page="hospitality"] .wdv-stale__row b{font-size:15px}
  /* 04: the listing above, the site below, the visitors flowing down between them */
  .wdp[data-wd-page="hospitality"] .wdv-list{grid-template-columns:minmax(0,1fr);grid-template-rows:auto 30px auto;padding:10px}
  .wdp[data-wd-page="hospitality"] .wdv-list__card,.wdp[data-wd-page="hospitality"] .wdv-list__card--site{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px 8px;padding:9px 10px 11px}
  .wdp[data-wd-page="hospitality"] .wdv-list__id,.wdp[data-wd-page="hospitality"] .wdv-list__bar{grid-column:1;grid-row:1;height:20px}
  .wdp[data-wd-page="hospitality"] .wdv-list__card .wdv-tag{grid-column:2;grid-row:1;padding:3px 7px;font-size:10px;letter-spacing:.03em}
  .wdp[data-wd-page="hospitality"] .wdv-list__t{grid-column:1 / -1;grid-row:2;font-size:12.5px;line-height:1.3}
  .wdp[data-wd-page="hospitality"] .wdv-list__bar{margin:0;padding:0;border:0;gap:8px;font-size:11.5px}
  .wdp[data-wd-page="hospitality"] .wdv-list__bar .wdp-dots{display:none}
  .wdp[data-wd-page="hospitality"] .wdv-list__pics,.wdp[data-wd-page="hospitality"] .wdv-list__lines{display:none}
  .wdp[data-wd-page="hospitality"] .wdv-list__flow{justify-self:center;align-self:stretch;width:14px;height:auto;margin:0}
  .wdp[data-wd-page="hospitality"] .wdv-list__flow::before{left:50%;right:auto;top:0;bottom:0;height:auto;border-top:0;border-left:1.5px dashed rgba(255,255,255,.16)}
  .wdp[data-wd-page="hospitality"] .wdv-list__flow i{left:50%!important;top:50%}
  .wdp[data-wd-page="hospitality"] .wdv-list__flow i:nth-child(2){top:15%}
  .wdp[data-wd-page="hospitality"] .wdv-list__flow i:nth-child(3){top:85%}
  .wdp[data-wd-page="hospitality"] .wdp-tile.is-in .wdv-list__flow i{animation-name:wdvFlowDown}
  @keyframes wdvFlowDown{
    0%{top:0;opacity:0}3%{opacity:1}14%{top:26%;opacity:1}20%,23%{top:30%;opacity:0}
    24%{top:0;opacity:0}27%{opacity:1}38%{top:26%;opacity:1}44%,50%{top:30%;opacity:0}
    51%{top:0;opacity:0}54%{opacity:1}68%{top:100%;opacity:1}70%,72%{top:100%;opacity:0}
    73%{top:0;opacity:0}76%{opacity:1}90%{top:100%;opacity:1}92%,100%{top:100%;opacity:0}}

  /* S4: the nav keeps its three links; the lower rows tighten */
  .wdp[data-wd-page="hospitality"] .wdv-site .wdp-site__nav{gap:9px}
  .wdp[data-wd-page="hospitality"] .wdv-site .wdp-site__logo{font-size:11.5px;letter-spacing:.08em}
  .wdp[data-wd-page="hospitality"] .wdv-site__links{gap:8px;font-size:10px}
  .wdp[data-wd-page="hospitality"] .wdv-site .wdp-site__cta{padding:5px 9px;font-size:10px}
  .wdp[data-wd-page="hospitality"] .wdv-site .wdp-site__trust span{font-size:10px;padding:3px 8px}
  .wdp[data-wd-page="hospitality"] .wdv-site__dish{padding:6px}
  .wdp[data-wd-page="hospitality"] .wdv-site__plate{top:38%;width:44px;height:44px;margin:-22px 0 0 -22px}
  .wdp[data-wd-page="hospitality"] .wdv-site__dish span{padding:2px 6px;font-size:9px;white-space:nowrap}
  .wdp[data-wd-page="hospitality"] .wdv-site__diet{display:none}
  .wdp[data-wd-page="hospitality"] .wdv-site__ic{flex:0 0 auto;width:13px;height:13px}
  .wdp[data-wd-page="hospitality"] .wdv-site__visit{grid-template-columns:64px minmax(0,1fr);gap:10px;padding:8px 12px}
  .wdp[data-wd-page="hospitality"] .wdv-site__map{height:58px}
  .wdp[data-wd-page="hospitality"] .wdv-site__hours{gap:4px}
  .wdp[data-wd-page="hospitality"] .wdv-site__hours span,.wdp[data-wd-page="hospitality"] .wdv-site__events span{padding:3px 7px;font-size:10px}
  .wdp[data-wd-page="hospitality"] .wdv-site__events{gap:5px;padding:8px 12px}
  .wdp[data-wd-page="hospitality"] .wdv-site__events b{padding:5px 11px;font-size:10.5px}

  /* S5: the panels fit a short stage */
  .wdp[data-wd-page="hospitality"] .wdp-story__stage .wdv-weave{grid-template-rows:60px 50px;padding:12px 14px 6px}
  .wdp[data-wd-page="hospitality"] .wdp-story__stage .wdv-ph--hero .wdv-ph__plate{width:86px;height:86px;margin:-43px 0 0 -43px}
  .wdp[data-wd-page="hospitality"] .wdp-story__stage .wdv-menu__tabs{display:none}
  .wdp[data-wd-page="hospitality"] .wdp-story__stage .wdv-book{padding:14px 14px 4px;gap:10px}
  .wdp[data-wd-page="hospitality"] .wdp-story__stage .wdv-book__widget{padding:8px}
  .wdp[data-wd-page="hospitality"] .wdp-story__stage .wdv-book__slots--4{display:none}
}

/* the smallest phones: the file's progress bar goes, the tags and URL tighten */
@media (max-width:380px){
  .wdp[data-wd-page="hospitality"] .wdv-pdf__load{display:none}
  .wdp[data-wd-page="hospitality"] .wdv-list__card .wdv-tag{padding:2px 6px;font-size:9px;letter-spacing:0}
  .wdp[data-wd-page="hospitality"] .wdv-list__bar{font-size:10.5px}
  .wdp[data-wd-page="hospitality"] .wdv-list__t{font-size:12px}
}

/* ==========================================================================
   Reduced motion: every scene rests complete (the shared rule in ind-wdp.css
   also stops all animation on the page)
   ========================================================================== */
@media (prefers-reduced-motion:reduce){
  .wdp[data-wd-page="hospitality"] .wdv-sc,.wdp[data-wd-page="hospitality"] .wdv-sc *,.wdp[data-wd-page="hospitality"] .wdv-sc *::before,.wdp[data-wd-page="hospitality"] .wdv-sc *::after,
  .wdp[data-wd-page="hospitality"] .wdv-site *,.wdp[data-wd-page="hospitality"] .wdv-panel *,.wdp[data-wd-page="hospitality"] .wdv-panel *::before,
  .wdp[data-wd-page="hospitality"] .wdv-panel *::after{animation:none!important;transition:none!important}
  .wdp[data-wd-page="hospitality"] .wdp-vis:not(.is-on) .wdv-ph{opacity:1;transform:none}
}
