/* Boarding for Dinner Motion Studio. All selectors are scoped to this plugin. */
body.bfdms{--bfdms-wine:var(--wp--preset--color--wine,#633c3e);--bfdms-cream:#f2eee7;--bfdms-navy:#172330;--bfdms-ink:#24211e;--bfdms-gold:#c6ab7b;--bfdms-ease:cubic-bezier(.2,.75,.25,1)}
.bfdms .bfdms-progress{position:fixed;inset:0 0 auto;height:3px;z-index:9998;pointer-events:none;background:linear-gradient(90deg,var(--bfdms-wine),var(--bfdms-gold));transform:scaleX(0);transform-origin:left}
.bfdms.admin-bar .bfdms-progress{top:32px}
.bfdms .bfdms-toggle{position:fixed;left:14px;bottom:14px;z-index:990;padding:9px 12px;border:1px solid #d6cdc1;border-radius:30px;background:#f2eee7;color:#332b27;font:10px/1.4 Arial,sans-serif;letter-spacing:.06em;cursor:pointer;box-shadow:0 3px 15px #0000000a;min-height:38px}
.bfdms .bfdms-toggle:focus-visible,.bfdms .bfdms-nav a:focus-visible,.bfdms .bfdms-gallery-controls button:focus-visible{outline:3px solid var(--bfdms-wine);outline-offset:4px}
.bfdms .bfdms-reveal{opacity:1}
.bfdms.bfdms-running .bfdms-enter{animation:bfdms-enter .9s var(--bfdms-ease) both;animation-delay:var(--bfdms-delay,0ms)}
@keyframes bfdms-enter{from{opacity:.18;translate:0 26px}to{opacity:1;translate:0 0}}
.bfdms.bfdms-running .bfdms-heading-enter{animation:bfdms-heading 1.05s var(--bfdms-ease) both}
@keyframes bfdms-heading{from{opacity:.25;clip-path:inset(0 0 90% 0);translate:0 16px}to{opacity:1;clip-path:inset(-10% -4% -15% -4%);translate:0 0}}
.bfdms .bfdms-photo{overflow:hidden;isolation:isolate}
.bfdms .bfdms-photo img{transition:scale 1.1s var(--bfdms-ease),filter 1.1s ease}
.bfdms .bfdms-photo figcaption{position:relative}
.bfdms .bfdms-card{transition:box-shadow .5s var(--bfdms-ease)}
.bfdms .bfdms-cta{transition:translate .35s var(--bfdms-ease),box-shadow .35s ease}
.bfdms .bfdms-cta:focus-visible{outline:3px solid var(--bfdms-gold);outline-offset:4px}
.bfdms .bfd-site-header .wp-block-navigation-item__content{text-decoration:none;background-image:linear-gradient(currentColor,currentColor);background-position:0 100%;background-repeat:no-repeat;background-size:0 1px;transition:background-size .35s ease}
.bfdms .bfd-site-header .wp-block-navigation-item__content:hover,.bfdms .bfd-site-header .wp-block-navigation-item__content:focus-visible{background-size:100% 1px}
@media(hover:hover) and (pointer:fine){
.bfdms.bfdms-running .bfdms-photo:hover img{scale:1.045}
.bfdms.bfdms-running .bfdms-cta:hover{translate:0 -3px;box-shadow:0 8px 24px #21171320}
.bfdms.bfdms-running .bfdms-card:hover{box-shadow:0 18px 36px #261d1715}
.bfdms.bfdms-running .bfdms-tilt{transform:perspective(1100px) rotateX(var(--bfdms-rx,0deg)) rotateY(var(--bfdms-ry,0deg));transition:transform .3s ease-out}
}
.bfdms .bfdms-ticket{box-sizing:border-box;position:relative;display:grid;grid-template-columns:1fr auto;align-items:center;gap:24px;padding:23px 28px;margin:28px auto;width:min(100% - 48px,1280px);max-width:1280px;background:var(--bfdms-cream);color:var(--bfdms-ink);border:1px solid #d4c8b7;border-radius:3px;overflow:hidden;text-align:left;font-family:Arial,sans-serif}
.bfdms .bfdms-ticket::before,.bfdms .bfdms-ticket::after{content:"";position:absolute;right:128px;width:20px;height:20px;border:1px solid #d4c8b7;border-radius:50%;background:var(--bfdms-cream)}
.bfdms .bfdms-ticket::before{top:-12px}.bfdms .bfdms-ticket::after{bottom:-12px}
.bfdms .bfdms-kicker{display:block;font:10px/1.5 Arial,sans-serif;letter-spacing:.19em;text-transform:uppercase;color:inherit;opacity:.8;margin:0 0 8px}
.bfdms .bfdms-ticket-title{display:block;font:clamp(25px,3.5vw,43px)/1.08 Georgia,serif;letter-spacing:-.025em}
.bfdms .bfdms-ticket-sub{display:block;font:11px/1.6 Arial,sans-serif;letter-spacing:.04em;margin-top:10px}
.bfdms .bfdms-ticket-stub{padding:8px 0 8px 24px;border-left:1px dashed #bbae9b;width:88px;text-align:center;box-sizing:content-box}
.bfdms .bfdms-ticket-code{font:38px/1 Georgia,serif;display:block;letter-spacing:.02em}
.bfdms .bfdms-barcode{display:block;height:24px;margin-top:12px;background:repeating-linear-gradient(90deg,currentColor 0 1px,transparent 1px 3px,currentColor 3px 5px,transparent 5px 8px,currentColor 8px 9px,transparent 9px 13px);opacity:.6}
.bfdms .bfdms-route{height:32px;width:220px;max-width:100%;margin-top:10px;overflow:visible;display:block;color:var(--bfdms-wine)}
.bfdms .bfdms-route-line{fill:none;stroke:currentColor;stroke-width:1;stroke-dasharray:3 5}
.bfdms .bfdms-route-dot{fill:currentColor}
.bfdms.bfdms-running .bfdms-inview .bfdms-route-line{animation:bfdms-dash 18s linear infinite}
@keyframes bfdms-dash{to{stroke-dashoffset:-160}}
.bfdms .bfdms-hero-mark{position:absolute;left:clamp(20px,4vw,58px);bottom:42px;z-index:5;color:#f9f5ed;width:152px;pointer-events:none;filter:drop-shadow(0 2px 8px #0008)}
.bfdms .bfdms-orbit{width:140px;height:140px;display:block;overflow:visible}
.bfdms .bfdms-orbit text{font:10px Arial,sans-serif;letter-spacing:2px;fill:currentColor}
.bfdms .bfdms-orbit circle,.bfdms .bfdms-orbit path{stroke:currentColor;fill:none;stroke-width:.7}
.bfdms .bfdms-orbit .bfdms-plane{fill:currentColor;stroke:none}
.bfdms.bfdms-running .bfdms-orbit-ring{transform-origin:80px 80px;animation:bfdms-spin 40s linear infinite}
@keyframes bfdms-spin{to{transform:rotate(360deg)}}
.bfdms.bfdms-running .bfd-hero-banner > .wp-block-image.is-active img{animation:bfdms-kenburns 8s ease-out both}
@keyframes bfdms-kenburns{from{scale:1.02}to{scale:1.075}}
.bfdms .bfdms-ticker{overflow:hidden!important;white-space:nowrap;max-width:100%;position:relative}
.bfdms .bfdms-sr{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important}
.bfdms .bfdms-ticker-track{display:flex;width:max-content;text-align:left;align-items:center}
.bfdms .bfdms-ticker-copy{display:block;flex-shrink:0;padding:0 40px;font:inherit;letter-spacing:inherit}
.bfdms.bfdms-running .bfdms-inview .bfdms-ticker-track{animation:bfdms-marquee var(--bfdms-duration,36s) linear infinite}
.bfdms .bfdms-ticker:hover .bfdms-ticker-track{animation-play-state:paused}
@keyframes bfdms-marquee{to{transform:translateX(-50%)}}
.bfdms .bfdms-departures{box-sizing:border-box;position:relative;max-width:1280px;margin:72px auto;padding:44px clamp(22px,4vw,58px);width:calc(100% - 48px);background:var(--bfdms-navy);color:#f2eee7;overflow:hidden;border-radius:3px}
.bfdms .bfdms-departures::after{content:"";position:absolute;width:460px;height:460px;right:-170px;top:-230px;border:1px solid #ffffff15;border-radius:50%;box-shadow:0 0 0 40px #ffffff07,0 0 0 80px #ffffff05;pointer-events:none}
.bfdms .bfdms-departures h2{color:inherit!important;font:clamp(32px,4vw,54px)/1.1 Georgia,serif!important;margin:0 0 24px!important;letter-spacing:-.025em}
.bfdms .bfdms-nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0 24px;position:relative;z-index:1}
.bfdms .bfdms-nav a{display:flex;align-items:center;gap:12px;padding:17px 0;color:#f2eee7!important;text-decoration:none!important;border-top:1px solid #ffffff38;min-width:0;transition:padding .35s ease}
.bfdms .bfdms-nav a:hover{padding-left:6px}
.bfdms .bfdms-nav-code{font:10px/1.4 Arial,sans-serif;letter-spacing:.1em;color:#d0b98e;min-width:30px}
.bfdms .bfdms-nav-name{font:19px/1.25 Georgia,serif}
.bfdms .bfdms-nav-arrow{margin-left:auto;font:18px Arial,sans-serif}
.bfdms .bfdms-nav [aria-current=page]{border-top-color:#c6ab7b}
.bfdms .bfdms-gallery-controls{display:none;align-items:center;justify-content:flex-end;gap:9px;font:11px Arial,sans-serif;margin:12px 0 22px}
.bfdms .bfdms-gallery-controls button{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border:1px solid #b6aa99;border-radius:50%;background:transparent;color:inherit;cursor:pointer;font:20px/1 Arial,sans-serif}
.bfdms .bfdms-gallery-controls button:disabled{opacity:.35;cursor:default}
.bfdms .bfdms-gallery-controls span{margin-right:auto}
.bfdms .bfdms-reading{font:10px Arial,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:var(--bfdms-wine);margin:15px 0 24px;display:block}
.bfdms .bfdms-rule{width:100%;height:34px;color:var(--bfdms-wine);margin:24px 0;overflow:visible;display:block;pointer-events:none}
.bfdms .bfdms-rule path{stroke:currentColor;stroke-width:1;fill:none;stroke-dasharray:5 6}
.bfdms.bfdms-running .bfdms-rule.bfdms-inview path{animation:bfdms-dash 25s linear infinite}
.bfdms.bfdms-subtle .bfdms-orbit-ring,.bfdms.bfdms-subtle .bfdms-ticker-track,.bfdms.bfdms-subtle .bfdms-route-line,.bfdms.bfdms-subtle .bfdms-rule path{animation:none!important}
.bfdms.bfdms-subtle .bfdms-ticker-track,.bfdms.bfdms-paused .bfdms-ticker-track{width:auto;display:block;white-space:normal}
.bfdms.bfdms-subtle .bfdms-ticker-copy,.bfdms.bfdms-paused .bfdms-ticker-copy{display:none}
.bfdms.bfdms-subtle .bfdms-ticker-copy:first-child,.bfdms.bfdms-paused .bfdms-ticker-copy:first-child{display:block;text-align:center;padding:0}
.bfdms.bfdms-paused :is(.bfdms-enter,.bfdms-heading-enter,.bfdms-orbit-ring,.bfdms-ticker-track,.bfdms-route-line,.bfdms-rule path),.bfdms.bfdms-paused .bfd-hero-banner > .wp-block-image.is-active img{animation:none!important;translate:none!important}
.bfdms.bfdms-paused .bfdms-tilt{transform:none!important;rotate:none!important}
.bfdms.bfdms-paused :is(.bfdms-photo img,.bfdms-cta,.bfdms-card,.bfdms-nav a){transition:none!important;scale:1;translate:none}
.bfdms .bfdms-quiet-ticket{display:none}
@media(max-width:782px){
.bfdms.admin-bar .bfdms-progress{top:46px}
.bfdms .bfdms-ticket{width:calc(100% - 32px);padding:20px;gap:18px;margin:20px auto}
.bfdms .bfdms-ticket-stub{width:57px;padding-left:18px}.bfdms .bfdms-ticket-code{font-size:29px}
.bfdms .bfdms-ticket::before,.bfdms .bfdms-ticket::after{right:86px}
.bfdms .bfdms-ticket-sub{font-size:10px}.bfdms .bfdms-kicker{font-size:9px;letter-spacing:.12em}
.bfdms .bfdms-hero-mark{width:85px;bottom:27px;left:20px}.bfdms .bfdms-orbit{width:85px;height:85px}
.bfdms .bfdms-departures{width:calc(100% - 32px);margin:40px auto;padding:30px 22px}.bfdms .bfdms-nav{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:20px}.bfdms .bfdms-nav-name{font-size:17px}
.bfdms .bfdms-mobile-gallery.wp-block-gallery{display:flex!important;flex-wrap:nowrap!important;gap:14px!important;overflow-x:auto!important;scroll-snap-type:x mandatory;scroll-padding:0 16px;padding:12px 0!important;scrollbar-width:thin;overscroll-behavior-x:contain}
.bfdms .bfdms-mobile-gallery.wp-block-gallery > figure.wp-block-image{flex:0 0 82%!important;width:82%!important;min-width:0!important;margin:0!important;scroll-snap-align:center}
.bfdms .bfdms-mobile-gallery + .bfdms-gallery-controls{display:flex}
.bfdms .bfdms-toggle{font-size:9px;bottom:max(10px,env(safe-area-inset-bottom));left:10px;min-height:36px}
}
@media(max-width:420px){.bfdms .bfdms-hero-mark{bottom:140px}.bfdms .bfdms-ticket-title{font-size:25px}.bfdms .bfdms-nav{column-gap:16px}.bfdms .bfdms-nav-code{display:none}}
@media(prefers-reduced-motion:reduce){
.bfdms :is(.bfdms-enter,.bfdms-heading-enter,.bfdms-orbit-ring,.bfdms-ticker-track,.bfdms-route-line,.bfdms-rule path),.bfdms .bfd-hero-banner > .wp-block-image.is-active img{animation:none!important;translate:none!important}
.bfdms .bfdms-tilt{transform:none!important}
.bfdms :is(.bfdms-photo img,.bfdms-cta,.bfdms-card,.bfdms-nav a){transition:none!important;scale:1!important;translate:none!important}
}
@media print{.bfdms :is(.bfdms-ticket,.bfdms-departures,.bfdms-hero-mark,.bfdms-progress,.bfdms-toggle,.bfdms-gallery-controls,.bfdms-rule){display:none!important}.bfdms .bfdms-mobile-gallery.wp-block-gallery{display:flex!important;flex-wrap:wrap!important;overflow:visible!important}.bfdms :is(.bfdms-enter,.bfdms-heading-enter){animation:none!important;opacity:1!important;translate:none!important}.bfdms .bfdms-ticker-track{display:none!important}.bfdms .bfdms-ticker .bfdms-sr{position:static!important;width:auto!important;height:auto!important;clip-path:none!important;white-space:normal!important}}

/* Paused tickers display the original announcement once, without clipping. */
.bfdms.bfdms-paused .bfdms-ticker,.bfdms.bfdms-subtle .bfdms-ticker{white-space:normal}
.bfdms.bfdms-paused .bfdms-ticker-track,.bfdms.bfdms-subtle .bfdms-ticker-track{display:none}
.bfdms.bfdms-paused .bfdms-ticker .bfdms-sr,.bfdms.bfdms-subtle .bfdms-ticker .bfdms-sr{position:static!important;width:auto!important;height:auto!important;margin:0!important;clip-path:none!important;white-space:normal!important;display:block}
.bfdms .bfdms-photo:focus-within{overflow:visible}

/* v1.0.1: an actual plane follows each dotted flight path. */
.bfdms .bfdms-rule .bfdms-flight-plane path,.bfdms .bfdms-route .bfdms-flight-plane path{fill:currentColor;stroke:none;stroke-dasharray:none;animation:none!important}
.bfdms .bfdms-flight-plane{pointer-events:none}
