/*! REME Builder 7.3 — Motion Pro. Only opacity + individual transform properties are animated. */
html.mp-on{--mp-ease:cubic-bezier(.2,.7,.2,1);--mp-out:cubic-bezier(.16,1,.3,1);--mp-acc:var(--t-accent,var(--rm-accent,#111827));--mp-t:1}
html.mp-on body.mp-slow{--mp-t:1.45}

/* ---------- 1. staggered card reveal ---------- */
html.mp-on:not(.mp-reduce) .mp-i{opacity:0;translate:0 34px;transition:opacity calc(.8s*var(--mp-t)) var(--mp-ease) var(--mp-d,0ms),translate calc(1s*var(--mp-t)) var(--mp-out) var(--mp-d,0ms),scale calc(1s*var(--mp-t)) var(--mp-out) var(--mp-d,0ms),rotate calc(1s*var(--mp-t)) var(--mp-out) var(--mp-d,0ms),filter .6s var(--mp-ease) var(--mp-d,0ms)}
html.mp-on:not(.mp-reduce) body.mp-rev-zoom .mp-i{translate:0 0;scale:.88}
html.mp-on:not(.mp-reduce) body.mp-rev-slide .mp-i{translate:-46px 0}
html.mp-on:not(.mp-reduce) [dir=rtl] body.mp-rev-slide .mp-i,html.mp-on:not(.mp-reduce)[dir=rtl] body.mp-rev-slide .mp-i{translate:46px 0}
html.mp-on:not(.mp-reduce) body.mp-rev-flip .mp-i{translate:0 30px;rotate:x -22deg;transform-origin:50% 0}
html.mp-on:not(.mp-reduce) body.mp-rev-blur .mp-i{translate:0 16px;filter:blur(7px)}
html.mp-on:not(.mp-reduce) body.mp-rev-clip .mp-i{translate:0 46px;scale:.97}
html.mp-on:not(.mp-reduce) .mp-i.mp-in{opacity:1;translate:0 0;scale:1;rotate:0deg;filter:none}

/* ---------- 2. headline reveal ---------- */
html.mp-on:not(.mp-reduce) .mp-h .mp-w{display:inline-block;overflow:hidden;vertical-align:top;padding-block:.08em .14em;margin-block:-.08em -.14em}
html.mp-on:not(.mp-reduce) .mp-h .mp-w>span{display:inline-block;translate:0 112%;transition:translate calc(.95s*var(--mp-t)) var(--mp-out);transition-delay:calc(var(--mp-wi,0)*55ms)}
html.mp-on:not(.mp-reduce) .mp-h.mp-in .mp-w>span{translate:0 0}
html.mp-on:not(.mp-reduce) body.mp-head-fade .mp-h{opacity:0;translate:0 22px;transition:opacity .9s var(--mp-ease),translate 1s var(--mp-out)}
html.mp-on:not(.mp-reduce) body.mp-head-fade .mp-h.mp-in{opacity:1;translate:0 0}
html.mp-on:not(.mp-reduce) body.mp-head-line .mp-h{background:linear-gradient(var(--mp-acc),var(--mp-acc)) no-repeat 0 100%/0 2px;padding-bottom:.18em;opacity:0;transition:opacity 1s var(--mp-ease),background-size 1.3s var(--mp-out) .25s}
html.mp-on:not(.mp-reduce) body.mp-head-line .mp-h.mp-in{opacity:1;background-size:72px 2px}
html.mp-on:not(.mp-reduce) [dir=rtl] body.mp-head-line .mp-h{background-position:100% 100%}
html.mp-on:not(.mp-reduce) body.mp-head-line .mp-h.mp-h-c{background-position:50% 100%}

/* ---------- 3. picture scale-in ---------- */
html.mp-on:not(.mp-reduce) .mp-m{overflow:hidden}
html.mp-on:not(.mp-reduce) .mp-m>img,html.mp-on:not(.mp-reduce) .mp-m>a>img,html.mp-on:not(.mp-reduce) .mp-m>picture>img{scale:1.18;transition:scale calc(1.5s*var(--mp-t)) var(--mp-out)}
html.mp-on:not(.mp-reduce) .mp-m.mp-in>img,html.mp-on:not(.mp-reduce) .mp-m.mp-in>a>img,html.mp-on:not(.mp-reduce) .mp-m.mp-in>picture>img{scale:1}
html.mp-on.mp-fine:not(.mp-reduce) body.mp-hover-zoom .mp-m.mp-in:hover>img,html.mp-on.mp-fine:not(.mp-reduce) body.mp-hover-zoom .mp-m.mp-in:hover>a>img{scale:1.08}
html.mp-on.mp-fine:not(.mp-reduce) body.mp-hover-lift .mp-i.mp-in:hover{translate:0 -6px;transition-delay:0ms;transition-duration:.35s}

/* ---------- 4. parallax + Ken Burns ---------- */
html.mp-on:not(.mp-reduce) .mp-par{scale:1.14;will-change:translate}
html.mp-on:not(.mp-reduce) body.mp-kenburns .rmt-hero img,html.mp-on:not(.mp-reduce) body.mp-kenburns .rm-hero-slide .rm-hero-bg{animation:mpKen 18s ease-in-out infinite alternate}
@keyframes mpKen{from{scale:1.02}to{scale:1.12}}
html.mp-on:not(.mp-reduce) .mp-skew{transform:skewX(calc(var(--mp-skew,0)*-1deg));transition:transform .25s linear}
html.mp-on:not(.mp-reduce) body.mp-pulse :is(.rwc-badge-sale,.rmt-badge,.rm-badge){animation:mpPulse 2.6s ease-in-out infinite}
@keyframes mpPulse{0%,100%{scale:1}50%{scale:1.07}}

/* ---------- 5. back-to-top progress ring ---------- */
.mp-ring{position:fixed;left:18px;bottom:18px;z-index:9990;width:48px;height:48px;padding:0;border:0;border-radius:50%;background:#fff;color:#111827;box-shadow:0 10px 30px -10px rgba(0,0,0,.35);cursor:pointer;opacity:0;visibility:hidden;translate:0 14px;transition:opacity .35s,translate .45s var(--mp-out),visibility .35s}
.mp-ring.is-on{opacity:1;visibility:visible;translate:0 0}
.mp-ring svg{display:block;width:48px;height:48px;fill:none}
.mp-ring circle{stroke-width:2.5}
.mp-ring .mp-ring-bg{stroke:rgba(17,24,39,.12)}
.mp-ring .mp-ring-fg{stroke:var(--mp-acc);stroke-linecap:round;transform:rotate(-90deg);transform-origin:24px 24px;transition:stroke-dashoffset .15s linear}
.mp-ring path{stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;transition:translate .3s var(--mp-out)}
.mp-ring:hover path{translate:0 -2px}
.mp-ring~* .rm-totop,html.mp-on .rm-float .rm-totop{display:none!important}
.mp-ring:focus-visible{outline:2px solid var(--mp-acc);outline-offset:3px}

/* ---------- 6. mouse: magnetic, tilt, glare, cursor, trail, spotlight, sparkle ---------- */
html.mp-on .mp-mag{transition:translate .35s var(--mp-out)}
html.mp-on .mp-tilt{position:relative;transition:rotate .5s var(--mp-out);transform-style:preserve-3d}
html.mp-on :has(>.mp-tilt){perspective:1000px}
.mp-glare{position:absolute;inset:0;z-index:4;pointer-events:none;border-radius:inherit;opacity:0;background:radial-gradient(420px circle at var(--mx,50%) var(--my,50%),rgba(255,255,255,.34),transparent 55%);mix-blend-mode:soft-light;transition:opacity .4s}
.mp-tilt:hover>.mp-glare{opacity:1}
body.mp-slow .mp-glare{background:radial-gradient(360px circle at var(--mx,50%) var(--my,50%),rgba(255,244,214,.55),transparent 60%);mix-blend-mode:overlay}
.mp-cur{position:fixed;left:0;top:0;z-index:99999;pointer-events:none;opacity:0;transition:opacity .3s}
.mp-cur.is-on{opacity:1}
.mp-cur{mix-blend-mode:difference}
.mp-cur.is-label{mix-blend-mode:normal}
.mp-cur i{position:absolute;left:-18px;top:-18px;width:36px;height:36px;border-radius:50%;border:1.5px solid #fff;opacity:.85;transition:scale .35s var(--mp-out),background-color .3s,opacity .3s,border-color .3s}
.mp-cur-dot i{left:-5px;top:-5px;width:10px;height:10px;border:0;background:#fff;opacity:.95}
.mp-cur.is-link i{scale:1.55;background:rgba(255,255,255,.16)}
.mp-cur-dot.is-link i{scale:3.4;opacity:.3}
.mp-cur.is-down i{scale:.8}
.mp-cur b{position:absolute;left:0;top:0;translate:-50% -50%;scale:0;display:grid;place-items:center;width:76px;height:76px;border-radius:50%;background:var(--mp-acc);color:#fff;font:700 11px/1 system-ui,sans-serif;letter-spacing:.14em;text-transform:uppercase;transition:scale .4s var(--mp-out)}
.mp-cur.is-label b{scale:1}
.mp-cur.is-label i{opacity:0}
.mp-trail{position:fixed;z-index:9980;width:170px;height:210px;margin:-105px 0 0 -85px;object-fit:cover;border-radius:10px;pointer-events:none;box-shadow:0 20px 50px -20px rgba(0,0,0,.6);rotate:var(--mp-r,0deg);animation:mpTrailIn .5s var(--mp-out) both;transition:opacity .7s,scale .7s var(--mp-ease)}
.mp-trail.is-out{opacity:0;scale:.82}
@keyframes mpTrailIn{from{opacity:0;scale:.6}to{opacity:1;scale:1}}
.mp-spot{position:absolute;inset:0;z-index:1;pointer-events:none;opacity:0;background:radial-gradient(520px circle at var(--mx,50%) var(--my,50%),rgba(255,255,255,.13),transparent 60%);transition:opacity .5s}
.mp-spot.is-on{opacity:1}
.mp-spark{position:absolute;z-index:5;width:14px;height:14px;margin:-7px 0 0 -7px;pointer-events:none;background:#fff;clip-path:polygon(50% 0,60% 40%,100% 50%,60% 60%,50% 100%,40% 60%,0 50%,40% 40%);filter:drop-shadow(0 0 6px rgba(255,236,170,.95));animation:mpSpark .8s var(--mp-out) both}
@keyframes mpSpark{0%{opacity:0;scale:0;rotate:0deg}35%{opacity:1;scale:var(--mp-s,1)}100%{opacity:0;scale:.2;rotate:90deg;translate:0 -14px}}
html.mp-on .mp-drag{cursor:grab;user-select:none}
html.mp-on .mp-drag:active{cursor:grabbing}

/* ---------- 7. touch: press, ripple, action bar ---------- */
html.mp-on .mp-press{scale:.972;transition:scale .18s var(--mp-ease)}
.mp-rip{position:absolute;z-index:3;border-radius:50%;pointer-events:none;background:currentColor;opacity:.2;scale:0;animation:mpRip .65s var(--mp-out) forwards}
@keyframes mpRip{to{scale:1;opacity:0}}
.mp-bar{display:none}
@media (max-width:782px){
  .mp-bar{position:fixed;left:10px;right:10px;bottom:calc(10px + env(safe-area-inset-bottom,0px));z-index:9985;display:flex;gap:6px;padding:6px;border-radius:18px;background:rgba(255,255,255,.94);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 18px 44px -14px rgba(0,0,0,.4),0 0 0 1px rgba(17,24,39,.06);transition:translate .45s var(--mp-out),opacity .3s}
  .mp-bar.is-off{translate:0 140%;opacity:0}
  .mp-bar a{flex:1 1 0;min-width:0;display:flex;align-items:center;justify-content:center;gap:5px;min-height:46px;padding:0 3px;border-radius:13px;color:#111827;font:700 12px/1 system-ui,sans-serif;text-decoration:none;white-space:nowrap}
  .mp-bar a span{overflow:hidden;text-overflow:ellipsis}
  .mp-bar a.is-main{flex:1.15 1 0;background:var(--t-btn-bg,var(--mp-acc));color:var(--t-btn-fg,#fff)}
  .mp-bar svg{flex:0 0 auto;width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
  .mp-bar a:active{scale:.96}
  body.mp-has-bar{padding-bottom:calc(74px + env(safe-area-inset-bottom,0px))}
  body.mp-has-bar .mp-ring{bottom:calc(84px + env(safe-area-inset-bottom,0px));left:12px;width:42px;height:42px}
  body.mp-has-bar .mp-ring svg{width:42px;height:42px}
  body.mp-has-bar .rm-float,body.mp-has-bar .rmw-floating-contact{display:none!important}
}

/* ---------- 8. cart + page transitions ---------- */
.mp-fly{position:fixed;z-index:99990;object-fit:cover;border-radius:12px;pointer-events:none;box-shadow:0 20px 40px -18px rgba(0,0,0,.5);transition:left .75s var(--mp-out),top .75s cubic-bezier(.5,-.3,.7,.6),width .75s var(--mp-out),height .75s var(--mp-out),opacity .75s,border-radius .75s}
.mp-bump{animation:mpBump .5s var(--mp-out)}
@keyframes mpBump{30%{scale:1.3}60%{scale:.92}100%{scale:1}}
.mp-pop{animation:mpPop .45s var(--mp-out)}
@keyframes mpPop{35%{scale:1.4}70%{scale:.9}100%{scale:1}}
.mp-curtain{position:fixed;inset:0;z-index:99995;pointer-events:none;background:var(--t-deep,var(--rm-dark,#0f172a));transform:scaleY(0);transform-origin:50% 100%;transition:transform .34s cubic-bezier(.7,0,.3,1)}
.mp-curtain.is-on{transform:scaleY(1);pointer-events:auto}
body.rme-mp-enter .rmb-canvas-main{animation:mpEnter .8s cubic-bezier(.16,1,.3,1) both}
@keyframes mpEnter{from{opacity:0;translate:0 18px}to{opacity:1;translate:0 0}}

@media (prefers-reduced-motion:reduce){
  body.rme-mp-enter .rmb-canvas-main{animation:none}
  .mp-ring,.mp-bar,.mp-rip,.mp-fly,.mp-curtain{transition:none;animation:none}
}

/* ==================================================================== PACK 2 (7.3) */
/* 3. curtain wipe */
.mp-wipe{position:absolute;inset:0;z-index:3;pointer-events:none;background:var(--t-paper,var(--rm-bg,#f4f1ea));transform-origin:50% 0;transition:scale calc(1.1s*var(--mp-t)) cubic-bezier(.7,0,.2,1) var(--mp-d,0ms)}
html.mp-on:not(.mp-reduce) .mp-m.mp-in>.mp-wipe{scale:1 0}
html.mp-reduce .mp-wipe{display:none}
/* 6. sticky chapters */
@media (min-width:1025px){html.mp-on:not(.mp-reduce) .mp-stick{position:sticky!important;top:112px;align-self:start}}
/* 7. horizontal scroll */
.mp-hs{position:relative}
.mp-hs-pin{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;justify-content:center;overflow:hidden}
html.mp-on .mp-hs-track{display:flex!important;flex-wrap:nowrap!important;gap:24px!important;width:max-content!important;max-width:none!important;grid-template-columns:none!important;will-change:translate;padding-inline:max(24px,calc((100vw - var(--t-max,1240px))/2))}
html.mp-on .mp-hs-track>*{flex:0 0 clamp(280px,27vw,380px)!important;width:clamp(280px,27vw,380px)!important;max-width:none!important;margin:0!important}
.mp-hs-bar{display:block;width:min(240px,40vw);height:3px;margin:28px auto 0;border-radius:3px;background:color-mix(in srgb,currentColor 14%,transparent);overflow:hidden}
.mp-hs-bar i{display:block;height:100%;background:var(--mp-acc);transform-origin:0 50%;scale:0 1}
[dir=rtl] .mp-hs-bar i{transform-origin:100% 50%}
/* 8 + 4. hero scales into a frame, copy leaves faster */
html.mp-on:not(.mp-reduce) .mp-hero-out{scale:calc(1 - var(--mp-out,0)*.06);border-radius:calc(var(--mp-out,0)*28px);overflow:hidden;transform-origin:50% 100%}
html.mp-on:not(.mp-reduce) .mp-hero-out :is(.rm-hero-content,.rm-hero-box,.rmt-copyblock,.rmt-immersive-copy){opacity:calc(1 - var(--mp-out,0)*.8)}
/* 11. header reacts to scrolling */
html.mp-on .rmt-header .rf-logo-a{transition:scale .45s var(--mp-out);transform-origin:0 50%}
html.mp-on[dir=rtl] .rmt-header .rf-logo-a,[dir=rtl] html.mp-on .rmt-header .rf-logo-a{transform-origin:100% 50%}
html.mp-on body.mp-scrolled .rmt-header .rf-logo-a{scale:.9}
/* 12. line drawing */
.mp-line{position:absolute;left:0;top:0;bottom:0;width:2px;border-radius:2px;background:var(--mp-acc);transform-origin:50% 0;scale:1 0;pointer-events:none;z-index:1}
[dir=rtl] .mp-line{left:auto;right:0}
.mp-route{position:absolute;left:0;right:0;bottom:-34px;width:100%;height:70px;z-index:0;pointer-events:none;overflow:visible;fill:none}
.mp-route path{stroke:var(--mp-acc);stroke-width:1.5;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1;opacity:.45;vector-effect:non-scaling-stroke}
html.mp-reduce .mp-route,html.mp-reduce .mp-line{display:none}
/* 13. section colour shift (only shows through sections without their own background) */
html.mp-on:not(.mp-reduce) body.mp-shift .rmb-canvas-main{transition:background-color 1.2s ease}
html.mp-on:not(.mp-reduce) body.mp-shift[data-mp-ch="1"] .rmb-canvas-main{background-color:color-mix(in srgb,var(--mp-acc) 5%,var(--t-paper,var(--rm-bg,#fff)))}
html.mp-on:not(.mp-reduce) body.mp-shift[data-mp-ch="2"] .rmb-canvas-main{background-color:color-mix(in srgb,var(--t-deep,var(--rm-dark,#111)) 5%,var(--t-paper,var(--rm-bg,#fff)))}
html.mp-on:not(.mp-reduce) body.mp-shift[data-mp-ch="3"] .rmb-canvas-main{background-color:color-mix(in srgb,var(--t-gold,var(--mp-acc)) 7%,var(--t-paper,var(--rm-bg,#fff)))}
/* 21. hover reveal */
.mp-peek{position:fixed;left:0;top:0;z-index:9979;width:220px;height:160px;border-radius:12px;overflow:hidden;pointer-events:none;opacity:0;scale:.8;rotate:-3deg;box-shadow:0 24px 60px -22px rgba(0,0,0,.6);transition:opacity .3s,scale .45s var(--mp-out),rotate .45s var(--mp-out)}
.mp-peek.is-on{opacity:1;scale:1;rotate:0deg}
.mp-peek img{display:block;width:100%;height:100%;object-fit:cover}
/* 22. underline sweep */
html.mp-on :is(.rmt-footer .rmb-col a:not(.rm-btn):not(.rf-logo-a):not(.rf-ci-a),.rm-prose a,.rm-more,.rwc-card-title a){background:linear-gradient(currentColor,currentColor) no-repeat 0 100%/0 1px;transition:background-size .45s var(--mp-out);text-decoration:none}
html.mp-on :is(.rmt-footer .rmb-col a:not(.rm-btn):not(.rf-logo-a):not(.rf-ci-a),.rm-prose a,.rm-more,.rwc-card-title a):hover{background-size:100% 1px}
html.mp-on [dir=rtl] :is(.rmt-footer .rmb-col a,.rm-prose a,.rm-more,.rwc-card-title a){background-position:100% 100%}
.mp-defs{position:absolute;width:0;height:0;overflow:hidden}
/* 24. swipe rows snap */
@media (hover:none){html.mp-on :is(.is-swipe,.rmt-dest-chips,.mp-drag){scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch}html.mp-on :is(.is-swipe,.rmt-dest-chips)>*{scroll-snap-align:start}}
/* 26 + 27 + 30. quick view sheet */
.mp-qv{position:absolute;left:12px;bottom:12px;z-index:6;display:inline-flex;align-items:center;gap:7px;min-height:38px;padding:0 13px;border:0;border-radius:999px;background:rgba(255,255,255,.94);color:#111827;font:700 12px/1 system-ui,sans-serif;cursor:pointer;box-shadow:0 10px 26px -12px rgba(0,0,0,.5);opacity:0;translate:0 10px;transition:opacity .3s,translate .4s var(--mp-out)}
[dir=rtl] .mp-qv{left:auto;right:12px}
.mp-qv svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
:is(.rwc-card,.rmt-tour-card,.rm-qcard):hover .mp-qv,.mp-qv:focus-visible{opacity:1;translate:0 0}
@media (hover:none){.mp-qv{opacity:1;translate:0 0;width:38px;padding:0;justify-content:center}.mp-qv span{display:none}}
.mp-sheet{position:fixed;inset:0;z-index:99980;visibility:hidden;pointer-events:none}
.mp-sheet.is-on{visibility:visible;pointer-events:auto}
.mp-sheet-bd{position:absolute;inset:0;background:rgba(10,14,20,.55);opacity:0;transition:opacity .35s}
.mp-sheet.is-on .mp-sheet-bd{opacity:1}
.mp-sheet-box{box-sizing:border-box;position:absolute;left:50%;bottom:0;width:min(920px,100%);max-height:88vh;overflow:auto;display:grid;grid-template-columns:1fr 1fr;gap:28px;padding:34px 28px 28px;border-radius:24px 24px 0 0;background:#fff;color:#111827;translate:-50% 105%;transition:translate .55s cubic-bezier(.16,1,.3,1);box-shadow:0 -30px 80px -30px rgba(0,0,0,.5)}
.mp-sheet.is-on .mp-sheet-box{translate:-50% 0}
.mp-sheet-grab{position:absolute;left:50%;top:10px;width:44px;height:5px;margin-left:-22px;border-radius:5px;background:#d6d9de}
.mp-sheet-x{position:absolute;right:14px;top:12px;width:40px;height:40px;border:0;border-radius:50%;background:#f1f2f4;color:#111827;font:400 24px/1 system-ui,sans-serif;cursor:pointer}
[dir=rtl] .mp-sheet-x{right:auto;left:14px}
.mp-sheet-pic{position:relative;aspect-ratio:4/5;border-radius:16px;overflow:hidden;background:#f1f2f4;touch-action:pan-y}
.mp-sheet-pic.is-zoom{touch-action:none;cursor:zoom-out}
.mp-sheet-pic img{display:block;width:100%;height:100%;object-fit:cover;transition:scale .25s ease;cursor:zoom-in}
.mp-sheet-pic small{position:absolute;left:10px;bottom:10px;padding:6px 10px;border-radius:999px;background:rgba(17,24,39,.72);color:#fff;font:600 11px/1 system-ui,sans-serif}
.mp-sheet-pic.is-zoom small{display:none}
@media (hover:hover) and (pointer:fine){.mp-sheet-pic small{display:none}}
.mp-sheet-info{align-self:center;min-width:0}
.mp-sheet-cat{display:block;margin-bottom:10px;font:700 11px/1.3 system-ui,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--mp-acc)}
.mp-sheet-t{margin:0 0 10px;font:700 clamp(22px,2.6vw,30px)/1.15 var(--t-display,var(--rm-font-head,system-ui)),sans-serif;color:#111827}
.mp-sheet-price{margin-bottom:12px;font:700 18px/1.2 system-ui,sans-serif;color:#111827}
.mp-sheet-price del{opacity:.5;font-weight:500;margin-inline-end:6px}
.mp-sheet-d{margin:0 0 20px;font:400 15px/1.6 system-ui,sans-serif;color:#4b5563}
.mp-sheet-acts{display:flex;flex-wrap:wrap;gap:10px}
.mp-sheet-acts>*{flex:1 1 150px;display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 20px;border-radius:999px;border:1.5px solid #111827;background:#fff;color:#111827;font:700 14px/1 system-ui,sans-serif;text-decoration:none;cursor:pointer}
.mp-sheet-acts .mp-sheet-add,.mp-sheet-acts>:only-child{background:var(--t-btn-bg,var(--mp-acc));border-color:var(--t-btn-bg,var(--mp-acc));color:var(--t-btn-fg,#fff)}
body.mp-sheet-open{overflow:hidden}
@media (max-width:700px){.mp-sheet-box{grid-template-columns:1fr;gap:18px;padding:30px 16px calc(18px + env(safe-area-inset-bottom,0px))}.mp-sheet-pic{aspect-ratio:4/3}}
/* 31. intro curtain on the home page of the chosen demos (pure CSS, removes itself) */
body.rme-mp-intro::before{content:"";position:fixed;inset:0;z-index:99996;background:var(--t-deep,var(--rm-dark,#0f172a));pointer-events:none;animation:mpIntro 1.25s cubic-bezier(.7,0,.2,1) .15s both}
body.rme-mp-intro::after{content:"";position:fixed;left:50%;top:50%;z-index:99997;width:120px;height:2px;margin-left:-60px;background:#fff;pointer-events:none;transform-origin:0 50%;animation:mpIntroLine 1.1s cubic-bezier(.7,0,.2,1) both}
@keyframes mpIntro{0%,35%{transform:scaleY(1)}100%{transform:scaleY(0);visibility:hidden}}
@keyframes mpIntroLine{0%{transform:scaleX(0);opacity:1}55%{transform:scaleX(1);opacity:1}100%{transform:scaleX(1);opacity:0;visibility:hidden}}
body.rme-mp-intro::before{transform-origin:50% 0}
/* 33. drawer links arrive one after another */
.rf-drawer.is-open :is(.rf-mm-li,.rf-nav-li,.rf-drawer-foot>*){animation:mpDrawer .55s var(--mp-out,cubic-bezier(.16,1,.3,1)) both}
.rf-drawer.is-open :is(.rf-mm-li,.rf-nav-li):nth-child(2){animation-delay:.05s}.rf-drawer.is-open :is(.rf-mm-li,.rf-nav-li):nth-child(3){animation-delay:.1s}.rf-drawer.is-open :is(.rf-mm-li,.rf-nav-li):nth-child(4){animation-delay:.15s}.rf-drawer.is-open :is(.rf-mm-li,.rf-nav-li):nth-child(5){animation-delay:.2s}.rf-drawer.is-open :is(.rf-mm-li,.rf-nav-li):nth-child(6){animation-delay:.25s}.rf-drawer.is-open :is(.rf-mm-li,.rf-nav-li):nth-child(n+7){animation-delay:.3s}.rf-drawer.is-open .rf-drawer-foot>*{animation-delay:.34s}
@keyframes mpDrawer{from{opacity:0;translate:26px 0}to{opacity:1;translate:0 0}}
/* 34. shimmer + focus-in */
html.mp-on .mp-loading{background:linear-gradient(100deg,rgba(128,128,128,.10) 30%,rgba(128,128,128,.22) 50%,rgba(128,128,128,.10) 70%) 0 0/220% 100%;animation:mpShimmer 1.3s linear infinite}
html.mp-on .mp-loading img{opacity:0}
html.mp-on .mp-focus img{animation:mpFocus .7s ease both}
@keyframes mpShimmer{to{background-position:-220% 0}}
@keyframes mpFocus{from{opacity:0;filter:blur(14px)}to{opacity:1;filter:none}}
@media (prefers-reduced-motion:reduce){
  body.rme-mp-intro::before,body.rme-mp-intro::after{display:none}
  .rf-drawer.is-open :is(.rf-mm-li,.rf-nav-li,.rf-drawer-foot>*){animation:none}
  .mp-sheet-box,.mp-sheet-bd{transition:none}
}

/* ==================================================================== PACK 3 (7.3) */
/* reveals: drop + fan */
html.mp-on:not(.mp-reduce) body.mp-rev-drop .mp-i{translate:0 -60px;rotate:-3deg}
html.mp-on:not(.mp-reduce) body.mp-rev-fan .mp-i{translate:-30px 40px;rotate:-9deg;transform-origin:0 100%}
html.mp-on:not(.mp-reduce) body.mp-rev-drop .mp-i.mp-in,html.mp-on:not(.mp-reduce) body.mp-rev-fan .mp-i.mp-in{transition-timing-function:cubic-bezier(.34,1.4,.5,1)}
/* headline styles */
html.mp-on:not(.mp-reduce) .mp-h-chars .mp-w>span{translate:0 0!important;transition:none!important}
html.mp-on:not(.mp-reduce) .mp-h-chars .mp-c{display:inline-block;opacity:0;translate:0 70%;rotate:8deg;transition:opacity .5s var(--mp-ease),translate .7s var(--mp-out),rotate .7s var(--mp-out),scale .3s cubic-bezier(.34,1.6,.5,1);transition-delay:calc(var(--mp-ci,0)*22ms),calc(var(--mp-ci,0)*22ms),calc(var(--mp-ci,0)*22ms),0ms}
html.mp-on:not(.mp-reduce) .mp-h-chars.mp-in .mp-c{opacity:1;translate:0 0;rotate:0deg}
html.mp-on.mp-fine:not(.mp-reduce) .mp-h-chars.mp-in .mp-c:hover{scale:1.22 .86}
html.mp-on:not(.mp-reduce) body.mp-head-blur .mp-h,html.mp-on:not(.mp-reduce) .mp-h-scr{opacity:0;filter:blur(12px);transition:opacity .8s var(--mp-ease),filter .9s var(--mp-ease)}
html.mp-on:not(.mp-reduce) body.mp-head-blur .mp-h.mp-in,html.mp-on:not(.mp-reduce) .mp-h-scr.mp-in{opacity:1;filter:none}
html.mp-on:not(.mp-reduce) body.mp-head-persp .mp-h{perspective:700px}
html.mp-on:not(.mp-reduce) body.mp-head-persp .mp-h .mp-w{overflow:visible}
html.mp-on:not(.mp-reduce) body.mp-head-persp .mp-h .mp-w>span{translate:0 40%;rotate:x -82deg;opacity:0;transform-origin:50% 100%;transition:translate .9s var(--mp-out),rotate .9s var(--mp-out),opacity .6s;transition-delay:calc(var(--mp-wi,0)*60ms)}
html.mp-on:not(.mp-reduce) body.mp-head-persp .mp-h.mp-in .mp-w>span{translate:0 0;rotate:x 0deg;opacity:1}
html.mp-on .mp-mk{background:linear-gradient(color-mix(in srgb,var(--mp-acc) 17%,transparent),color-mix(in srgb,var(--mp-acc) 17%,transparent)) no-repeat 0 90%/0 30%;-webkit-box-decoration-break:clone;box-decoration-break:clone;transition:background-size 1.1s var(--mp-out) .2s}
html.mp-on .mp-h.mp-in .mp-mk,html.mp-reduce .mp-mk{background-size:100% 30%}
html.mp-on [dir=rtl] .mp-mk{background-position:100% 90%}
html.mp-on:not(.mp-reduce) body.mp-head-marker .mp-h,html.mp-on:not(.mp-reduce) body.mp-head-scribble .mp-h,html.mp-on:not(.mp-reduce) body.mp-head-chars .mp-h:not(.mp-h-chars):not(.mp-h-as-mask),html.mp-on:not(.mp-reduce) body.mp-head-scramble .mp-h:not(.mp-h-scr){opacity:0;translate:0 18px;transition:opacity .8s var(--mp-ease),translate .9s var(--mp-out)}
html.mp-on:not(.mp-reduce) body:is(.mp-head-marker,.mp-head-scribble,.mp-head-chars,.mp-head-scramble) .mp-h.mp-in{opacity:1;translate:0 0}
.mp-scr{position:absolute;left:0;bottom:-.34em;width:min(100%,300px);height:.5em;overflow:visible;fill:none;pointer-events:none}
.mp-h-c>.mp-scr{left:50%;margin-left:calc(min(100%,300px)/-2)}
[dir=rtl] .mp-h:not(.mp-h-c)>.mp-scr{left:auto;right:0}
.mp-scr path{stroke:var(--mp-acc);stroke-width:3;stroke-linecap:round;vector-effect:non-scaling-stroke;stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 1.2s var(--mp-out,ease) .35s}
.mp-h.mp-in>.mp-scr path,html.mp-reduce .mp-scr path{stroke-dashoffset:0}
/* picture reveal variants */
.mp-wipe:is(.mp-wipe-doors,.mp-wipe-slices,.mp-wipe-strips,.mp-wipe-pixels){background:none;display:grid;scale:1!important}
.mp-wipe span{display:block;background:var(--t-paper,var(--rm-bg,#f4f1ea));transition:scale calc(.9s*var(--mp-t,1)) cubic-bezier(.7,0,.2,1),opacity .5s;transition-delay:calc(var(--k,0)*70ms)}
.mp-wipe-doors{grid-template-columns:1fr 1fr}
.mp-wipe-doors span:first-child{transform-origin:0 50%}.mp-wipe-doors span:last-child{transform-origin:100% 50%}
.mp-wipe-doors span{transition-delay:0ms}
.mp-wipe-slices{grid-template-columns:repeat(6,1fr)}.mp-wipe-slices span{transform-origin:50% 0}.mp-wipe-slices span:nth-child(even){transform-origin:50% 100%}
.mp-wipe-strips{grid-template-rows:repeat(5,1fr)}.mp-wipe-strips span{transform-origin:0 50%}.mp-wipe-strips span:nth-child(even){transform-origin:100% 50%}
.mp-wipe-pixels{grid-template-columns:repeat(6,1fr);grid-template-rows:repeat(5,1fr)}.mp-wipe-pixels span{transition:opacity .45s;transition-delay:calc(var(--k,0)*55ms)}
html.mp-on:not(.mp-reduce) .mp-m.mp-in>.mp-wipe-doors span{scale:0 1}
html.mp-on:not(.mp-reduce) .mp-m.mp-in>.mp-wipe-slices span{scale:1 0}
html.mp-on:not(.mp-reduce) .mp-m.mp-in>.mp-wipe-strips span{scale:0 1}
html.mp-on:not(.mp-reduce) .mp-m.mp-in>.mp-wipe-pixels span{opacity:0}
.mp-wipe-diag{inset:-2% -40%;transform:skewX(-20deg);transition:translate calc(1.1s*var(--mp-t,1)) cubic-bezier(.7,0,.2,1)}
html.mp-on:not(.mp-reduce) .mp-m.mp-in>.mp-wipe-diag{scale:1;translate:120% 0}
html.mp-on:not(.mp-reduce) .mp-m-aperture :is(img){clip-path:circle(0% at 50% 50%);transition:clip-path calc(1.3s*var(--mp-t,1)) cubic-bezier(.7,0,.2,1),scale 1.5s var(--mp-out)}
html.mp-on:not(.mp-reduce) .mp-m-aperture.mp-in :is(img){clip-path:circle(75% at 50% 50%)}
html.mp-on:not(.mp-reduce) .mp-m-gray img{filter:grayscale(1) contrast(1.05);transition:filter 1.4s ease .2s,scale 1.5s var(--mp-out)}
html.mp-on:not(.mp-reduce) .mp-m-gray.mp-in img{filter:none}
/* hover variants */
.mp-holo{background:conic-gradient(from 0deg at var(--mx,50%) var(--my,50%),#ff5fa2,#ffd75f,#5fffb0,#5fc8ff,#b05fff,#ff5fa2)!important;mix-blend-mode:color-dodge!important;filter:blur(18px)}
.mp-tilt:hover>.mp-holo{opacity:.32}
.mp-edge{position:absolute;inset:0;z-index:4;pointer-events:none;border-radius:inherit;background:linear-gradient(var(--mp-acc),var(--mp-acc)) 0 0/0 2px no-repeat,linear-gradient(var(--mp-acc),var(--mp-acc)) 100% 0/2px 0 no-repeat,linear-gradient(var(--mp-acc),var(--mp-acc)) 100% 100%/0 2px no-repeat,linear-gradient(var(--mp-acc),var(--mp-acc)) 0 100%/2px 0 no-repeat;transition:background-size .22s linear .66s,background-size .22s linear .44s,background-size .22s linear .22s,background-size .22s linear 0s}
:hover>.mp-edge{background-size:100% 2px,2px 100%,100% 2px,2px 100%;transition:background-size .2s linear}
.mp-liq{position:absolute;z-index:4;width:20px;height:20px;margin:-10px 0 0 -10px;border-radius:50%;pointer-events:none;background:var(--mp-acc);mix-blend-mode:multiply;opacity:0;scale:0;transition:scale .7s var(--mp-out,ease),opacity .5s}
:hover>.mp-liq{scale:60;opacity:.2}
html.mp-on .mp-pan{overflow:hidden}html.mp-on .mp-pan img{scale:1.12;transition:translate .5s var(--mp-out),scale 1.5s var(--mp-out)}
/* buttons */
.mp-shine{position:absolute;top:0;bottom:0;left:-60%;width:40%;z-index:2;pointer-events:none;background:linear-gradient(105deg,transparent,rgba(255,255,255,.5),transparent);transform:skewX(-18deg)}
.mp-b-shine:hover>.mp-shine,.rf-logo-a:hover>.mp-shine-logo{animation:mpShine .8s ease}
.mp-b-shine.mp-cta-pulse>.mp-shine{animation:mpShine 1s ease .3s}
@keyframes mpShine{to{left:130%}}
.mp-fillc{position:absolute;z-index:0;width:12px;height:12px;margin:-6px 0 0 -6px;border-radius:50%;pointer-events:none;background:rgba(255,255,255,.2);scale:0;transition:scale .55s var(--mp-out,ease)}
.mp-b-fill:hover>.mp-fillc{scale:60}
html.mp-on.mp-fine .mp-b-elastic:hover{animation:mpElastic .55s cubic-bezier(.3,1.6,.5,1)}
@keyframes mpElastic{0%{scale:1}30%{scale:1.08 .92}55%{scale:.96 1.05}100%{scale:1}}
html.mp-on .mp-b svg{transition:translate .35s var(--mp-out)}
html.mp-on .mp-b-arrow:hover svg:last-child,html.mp-on .mp-b:hover .rm-ico:last-child{translate:5px 0}
html.mp-on [dir=rtl] .mp-b:hover .rm-ico:last-child{translate:-5px 0}
html.mp-on:not(.mp-reduce) .mp-cta-pulse{animation:mpCta 1.2s ease .2s 1}
@keyframes mpCta{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--mp-acc) 55%,transparent)}100%{box-shadow:0 0 0 18px transparent}}
/* nav pill */
.mp-nav{isolation:isolate}
.mp-pill{position:absolute;left:0;top:0;z-index:-1;border-radius:999px;background:color-mix(in srgb,currentColor 9%,transparent);opacity:0;pointer-events:none;transition:translate .4s cubic-bezier(.16,1,.3,1),width .4s cubic-bezier(.16,1,.3,1),opacity .25s}
.mp-pill.is-on{opacity:1}
/* cursor extras */
.mp-cur-blob i{left:-23px;top:-23px;width:46px;height:46px;border:0;background:#fff;opacity:.9;transition:background-color .3s,opacity .3s}
.mp-cur-spark i,.mp-cur-trail i{left:-4px;top:-4px;width:8px;height:8px;border:0;background:#fff}
.mp-cs{position:fixed!important;z-index:99998}
.mp-td{position:fixed;left:-4px;top:-4px;z-index:99998;width:8px;height:8px;border-radius:50%;background:var(--mp-acc);pointer-events:none;opacity:0;scale:calc(1 - var(--k,0)*.13);transition:opacity .3s}
body.mp-td-on .mp-td{opacity:calc(.7 - var(--k,0)*.1)}
/* hero atmosphere */
.mp-pts{position:absolute;inset:0;z-index:1;pointer-events:none;overflow:hidden}
.mp-pts i{position:absolute;width:var(--s,5px);height:var(--s,5px);border-radius:50%;background:#fff;opacity:.5;translate:calc(var(--px,0)*var(--k,10)*-3px) calc(var(--py,0)*var(--k,10)*-3px);transition:translate .7s cubic-bezier(.16,1,.3,1);animation:mpPt var(--t,8s) linear var(--dl,0s) infinite}
.mp-pts-dust i{background:#f1d9a0;opacity:.45;filter:blur(.5px)}
.mp-pts-sparks i{background:#ffb347;box-shadow:0 0 8px #ff8a00}
.mp-pts-stars i{clip-path:polygon(50% 0,60% 40%,100% 50%,60% 60%,50% 100%,40% 60%,0 50%,40% 40%);width:calc(var(--s,5px)*2);height:calc(var(--s,5px)*2);animation-name:mpTw}
.mp-pts-bubbles i{background:none;border:1.5px solid rgba(255,255,255,.7);width:calc(var(--s,5px)*2.4);height:calc(var(--s,5px)*2.4)}
@keyframes mpPt{0%{transform:translateY(30px);opacity:0}15%{opacity:.6}85%{opacity:.5}100%{transform:translateY(-110px);opacity:0}}
@keyframes mpTw{0%,100%{transform:scale(.4);opacity:.15}50%{transform:scale(1);opacity:.85}}
.mp-rings{position:absolute;right:14px;bottom:14px;z-index:1;width:190px;height:190px;fill:none;stroke:currentColor;stroke-width:.8;opacity:.28;pointer-events:none;animation:mpSpin 60s linear infinite}
.mp-rings circle:nth-child(2){stroke-dasharray:3 7}.mp-rings circle:nth-child(3){stroke-dasharray:1 5}
[dir=rtl] .mp-rings{right:auto;left:14px}
@keyframes mpSpin{to{transform:rotate(360deg)}}
.mp-rings,.mp-badge{transform-origin:50% 50%;transform-box:fill-box}
.mp-badge{position:absolute;right:26px;top:26px;z-index:2;width:112px;height:112px;pointer-events:none;animation:mpSpin 22s linear infinite}
[dir=rtl] .mp-badge{right:auto;left:26px}
.mp-badge text{font:700 10.5px/1 system-ui,sans-serif;letter-spacing:.14em;fill:currentColor}
.mp-badge circle{fill:var(--mp-acc)}
.mp-lb{position:absolute;left:0;right:0;z-index:6;height:17%;background:#000;pointer-events:none;animation:mpLb 1.5s cubic-bezier(.7,0,.2,1) .5s both}
.mp-lb-a{top:0;transform-origin:50% 0}.mp-lb-b{bottom:0;transform-origin:50% 100%}
@keyframes mpLb{from{transform:scaleY(1)}to{transform:scaleY(0)}}
@media (max-width:782px){.mp-badge{width:78px;height:78px;right:12px;top:12px}.mp-rings{width:120px;height:120px}.mp-pts i:nth-child(n+10){display:none}}
/* ambient */
.mp-grain{position:fixed;inset:-50%;z-index:9970;pointer-events:none;opacity:.055;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");animation:mpGrain 1.1s steps(6) infinite}
@keyframes mpGrain{0%{transform:translate(0,0)}20%{transform:translate(-3%,2%)}40%{transform:translate(2%,-3%)}60%{transform:translate(-2%,-2%)}80%{transform:translate(3%,3%)}100%{transform:translate(0,0)}}
.mp-au-host>:not(.mp-aurora):not(.mp-net):not(.mp-spot){position:relative;z-index:1}
.mp-aurora,.mp-net{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden}
.mp-net{width:100%;height:100%}
.mp-aurora b{position:absolute;width:46%;aspect-ratio:1;border-radius:50%;filter:blur(70px);opacity:.34;background:var(--mp-acc);animation:mpAur 16s ease-in-out infinite alternate}
.mp-aurora b:nth-child(1){left:-8%;top:-30%}
.mp-aurora b:nth-child(2){right:-6%;top:10%;background:var(--t-gold,#4f8cff);animation-duration:21s;animation-delay:-6s}
.mp-aurora b:nth-child(3){left:34%;bottom:-60%;background:#fff;opacity:.1;animation-duration:26s;animation-delay:-11s}
@keyframes mpAur{from{transform:translate(-6%,-4%) scale(.9)}to{transform:translate(10%,8%) scale(1.15)}}
/* scroll velocity */
html.mp-on:not(.mp-reduce) body.mp-velskew .mp-h{transform:skewY(calc(var(--mp-v,0)*.035deg));transition:transform .2s linear}
html.mp-on:not(.mp-reduce) body.mp-stretch .mp-m.mp-in>:is(img,a,picture){transform:scaleY(calc(1 + var(--mp-va,0)*.0022));transition:transform .2s linear}
html.mp-on:not(.mp-reduce) body.mp-down:not(.mp-has-bar) .rm-float{translate:0 140%;transition:translate .45s var(--mp-out)}
html.mp-on body.mp-up .rm-float,html.mp-on .rm-float{transition:translate .45s var(--mp-out)}
/* timeline steps */
html.mp-on:not(.mp-reduce) .mp-step-on :is(.rm-ico-wrap,.rmt-step-n,b:first-child,span:first-child):first-child{animation:mpPopIn .5s cubic-bezier(.34,1.6,.5,1) both}
@keyframes mpPopIn{from{scale:.6}to{scale:1}}
.mp-plane{fill:var(--mp-acc);opacity:0;transition:opacity .3s}
/* travel: passport stamp badges, polaroid galleries */
html.mp-on:not(.mp-reduce) body.mp-stamp :is(.rmt-badge,.rm-badge){opacity:0}
html.mp-on:not(.mp-reduce) body.mp-stamp .mp-seen :is(.rmt-badge,.rm-badge),html.mp-on:not(.mp-reduce) body.mp-stamp .mp-in :is(.rmt-badge,.rm-badge){animation:mpStamp .55s cubic-bezier(.3,1.5,.5,1) .35s both}
@keyframes mpStamp{0%{opacity:0;scale:2.4;rotate:-18deg}60%{opacity:1;scale:.92;rotate:-4deg}100%{opacity:1;scale:1;rotate:0deg}}
html.mp-on:not(.mp-reduce) body.mp-polaroid .mp-pol{opacity:0;rotate:var(--mp-pr,0deg);translate:var(--mp-px,0) var(--mp-py,40px);transition:opacity .7s,rotate 1.1s cubic-bezier(.34,1.3,.5,1),translate 1.1s cubic-bezier(.34,1.3,.5,1)}
html.mp-on:not(.mp-reduce) body.mp-polaroid .mp-pol.mp-in{opacity:1;rotate:0deg;translate:0 0}
html.mp-on.mp-fine .mp-seen :is(.rwc-price,.rm-price){transition:rotate .4s var(--mp-out);transform-origin:0 0}
html.mp-on.mp-fine :is(.rwc-card,.rmt-tour-card,.rm-qcard):hover :is(.rwc-price,.rm-price){rotate:-2deg}
/* shop feedback */
.mp-toasts{position:fixed;left:18px;bottom:78px;z-index:99985;display:flex;flex-direction:column;gap:8px;pointer-events:none}
.mp-toast{padding:12px 16px;border-radius:12px;background:#111827;color:#fff;font:600 13px/1.35 system-ui,sans-serif;box-shadow:0 16px 40px -16px rgba(0,0,0,.6);animation:mpToast .45s cubic-bezier(.16,1,.3,1) both;max-width:min(320px,80vw)}
.mp-toast.is-out{opacity:0;translate:0 10px;transition:opacity .35s,translate .35s}
@keyframes mpToast{from{opacity:0;translate:0 16px;scale:.94}to{opacity:1;translate:0 0;scale:1}}
.mp-shake{animation:mpShake .5s ease}
@keyframes mpShake{20%{translate:-5px 0}40%{translate:5px 0}60%{translate:-3px 0}80%{translate:3px 0}}
.mp-added{animation:mpBump .5s cubic-bezier(.16,1,.3,1)}
.mp-burst{position:fixed;z-index:99990;width:7px;height:7px;margin:-3px 0 0 -3px;border-radius:50%;background:#e11d48;pointer-events:none;animation:mpBurst .6s ease-out both}
@keyframes mpBurst{from{transform:rotate(var(--a)) translateY(0) scale(1);opacity:1}to{transform:rotate(var(--a)) translateY(-34px) scale(.3);opacity:0}}
.mp-sheet-pic.is-lens{cursor:crosshair}
/* small things */
html.mp-on :is(.rrx-marquee,.rmd-ss,.rm-marquee):hover *{animation-play-state:paused}
html.mp-on.mp-fine :is(.rm-logos,.rm-brands,.rm-logo-row) img{filter:grayscale(1);opacity:.7;transition:filter .4s,opacity .4s,scale .4s var(--mp-out)}
html.mp-on.mp-fine :is(.rm-logos,.rm-brands,.rm-logo-row) img:hover{filter:none;opacity:1;scale:1.06}
html.mp-on.mp-fine :is(.rm-ico-wrap,.rmd-tb-ico,.rmd-ss-ico){transition:rotate .5s cubic-bezier(.34,1.5,.5,1),scale .5s cubic-bezier(.34,1.5,.5,1)}
html.mp-on.mp-fine :is(.rm-card,.rm-fc,.rmd-tb-i,.rmd-ss-i):hover :is(.rm-ico-wrap,.rmd-tb-ico,.rmd-ss-ico){rotate:-8deg;scale:1.1}
html.mp-on:not(.mp-reduce) .rm-fbtn-wa{animation:mpWa 2.8s ease-out infinite}
@keyframes mpWa{0%{box-shadow:0 0 0 0 rgba(37,211,102,.5)}70%,100%{box-shadow:0 0 0 16px rgba(37,211,102,0)}}
html.mp-on:not(.mp-reduce) .rm-fbtn-phone{animation:mpWa 2.8s ease-out 1.2s infinite}
/* page-leave variants */
.mp-curtain-circle{transform:none;clip-path:circle(0 at var(--cx,50%) var(--cy,50%));transition:clip-path .36s cubic-bezier(.7,0,.3,1)}
.mp-curtain-circle.is-on{clip-path:circle(150% at var(--cx,50%) var(--cy,50%))}
.mp-curtain-slide{transform:translateX(-101%);transition:transform .34s cubic-bezier(.7,0,.3,1)}
.mp-curtain-slide.is-on{transform:none}
.mp-curtain-fade{transform:none;opacity:0;transition:opacity .3s}
.mp-curtain-fade.is-on{opacity:1}
@media (prefers-reduced-motion:reduce){.mp-grain,.mp-pts,.mp-rings,.mp-badge,.mp-lb,.mp-aurora,.mp-net,.mp-td,.mp-burst{display:none!important}.mp-toast{animation:none}}

/* the velocity effects may never widen the page */
html.mp-on body.rme-mp{overflow-x:clip}

/* REME 7.3.1 — the reveal variants (zoom, slide, flip, blur, clip, drop, fan) outranked the "arrived" state,
   so cards faded in but stayed shifted, shrunk, tilted or blurred. The arrived state now always wins. */
html.mp-on:not(.mp-reduce) body[class*="mp-rev-"] .mp-i.mp-i.mp-in{opacity:1;translate:0 0;scale:1;rotate:0deg;filter:none}
