/* Swipeable tap-to-play video reels (your-experience.html, facility-dreams-hospital.html).
   --reel-gutter must match the horizontal padding of the surrounding container so the
   rail can bleed to the screen edge on phones. */
.xp-reels{--reel-gutter:22px;--reel-ink:#0E1B26;--reel-gold:#B89968;--reel-line:rgba(14,27,38,.12);--reel-muted:#5c6b77}
.xp-reels-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:16px}
.xp-reels-head h3{margin:0;font-size:1.05rem;font-weight:600;letter-spacing:.01em;color:var(--reel-ink)}
.xp-reels-count{font-size:.78rem;font-weight:600;letter-spacing:.08em;color:var(--reel-muted);font-variant-numeric:tabular-nums;white-space:nowrap}
.xp-reels-count b{color:var(--reel-ink)}
.xp-reels-rail{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding:0 var(--reel-gutter);padding:2px var(--reel-gutter) 8px;margin:0 calc(var(--reel-gutter) * -1);scrollbar-width:none;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;touch-action:pan-x pan-y;list-style:none}
.xp-reels-rail::-webkit-scrollbar{display:none}
.xp-reel{flex:0 0 62vw;max-width:280px;margin:0;scroll-snap-align:start;position:relative;aspect-ratio:9/16;border-radius:20px;overflow:hidden;background:var(--reel-ink);box-shadow:0 24px 50px -30px rgba(14,27,38,.55)}
.xp-reel-btn{position:absolute;inset:0;width:100%;height:100%;border:0;padding:0;margin:0;background:none;cursor:pointer;font:inherit;color:#fff;text-align:left;-webkit-appearance:none;appearance:none}
.xp-reel-btn:focus-visible{outline:3px solid var(--reel-gold);outline-offset:-3px}
.xp-reel img,.xp-reel video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.xp-reel video{background:var(--reel-ink)}
.xp-reel video:fullscreen{object-fit:contain;background:#000}
.xp-reel video:-webkit-full-screen{object-fit:contain;background:#000}
.xp-reel-btn::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,17,30,0) 50%,rgba(0,17,30,.82) 100%);pointer-events:none}
.xp-reel-play{position:absolute;z-index:2;left:50%;top:50%;width:60px;height:60px;margin:-30px 0 0 -30px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.2);border:1px solid rgba(255,255,255,.45);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);transition:transform .25s ease,background .25s ease}
.xp-reel-play svg{width:22px;height:22px;margin-left:3px}
.xp-reel-btn:hover .xp-reel-play{transform:scale(1.08);background:rgba(255,255,255,.3)}
.xp-reel-label{position:absolute;z-index:2;left:16px;right:16px;bottom:16px;font-size:.98rem;font-weight:600;line-height:1.25}
.xp-reel-label small{display:block;margin-bottom:4px;font-size:.62rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:#E0C088}
.xp-reel-time{position:absolute;z-index:2;top:12px;right:12px;padding:4px 9px;border-radius:999px;background:rgba(0,17,30,.55);font-size:.7rem;font-weight:600;letter-spacing:.04em;font-variant-numeric:tabular-nums}
.xp-reel.is-playing .xp-reel-btn{display:none}
.xp-reels-progress{height:2px;margin-top:14px;background:var(--reel-line);border-radius:2px;overflow:hidden}
.xp-reels-progress i{display:block;height:100%;width:100%;background:var(--reel-gold);transform-origin:left;transform:scaleX(var(--p,.2));transition:transform .15s linear}
.xp-reels-hint{margin:12px 0 0;font-size:.66rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--reel-muted)}
@media (min-width:768px){
  .xp-reel{flex-basis:240px}
}
@media (min-width:1024px){
  .xp-reels-rail{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px;overflow:visible;margin:0;padding:0}
  .xp-reel{max-width:none}
  .xp-reels-count,.xp-reels-progress{display:none}
  .xp-reels-hint{display:none}
}
