:root{--rainbow-satin-sheen:linear-gradient(112deg,transparent 18%,#ed6b8000 26%,#ed6b8073 33%,#f2aa5873 39%,#e3d27373 45%,#52bba573 51%,#5d9bdf73 57%,#9a77d273 63%,#9a77d200 71%,transparent 79%)}
/* Colour and fine edges provide feedback without moving the page. */
:is(.contact-top,.button,.price-contact-button,.contact-action,.gift-option,.price-tab,.balloon-tab,.faq-tab,.nav a,a.usage-step,.footer-business-trigger){position:relative}
.finish-ripple{position:absolute;inset:0;z-index:4;display:block;overflow:hidden;border-radius:inherit;pointer-events:none;contain:strict}
.finish-ripple-wave{position:absolute;display:block;border-radius:50%;pointer-events:none;background:radial-gradient(circle,#b4a8ed52 0%,#7bc5d642 34%,#ae91d947 55%,transparent 70%);box-shadow:inset 0 0 0 1px #a9a3df4d;opacity:0}
html:not(.site-motion-enabled) .finish-ripple{display:none}

/* A translucent six-colour rainbow sweeps once on hover or keyboard focus. */
.world-card:not(.disabled)::after{content:'';position:absolute;inset:0;z-index:3;padding:1px;border-radius:inherit;pointer-events:none;background:linear-gradient(125deg,#b49ae3,#7fc5cf 42%,#8a9de6 68%,#d5a2cf);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:0;transition:opacity .3s ease}
.world-card:not(.disabled):focus-within::after{opacity:1}
.world-card:not(.disabled) .world-card-media::before{content:'';position:absolute;inset:0;z-index:1;pointer-events:none;background:var(--rainbow-satin-sheen);transform:translateX(-115%);opacity:0}
html.site-motion-enabled .world-card:not(.disabled):has(.card-button:focus-visible) .world-card-media::before{animation:world-satin-pass 1.05s cubic-bezier(.2,.65,.3,1) both}
@media(hover:hover) and (pointer:fine){
 .world-card:not(.disabled):hover::after{opacity:1}
 html.site-motion-enabled .world-card:not(.disabled):hover .world-card-media::before{animation:world-satin-pass 1.05s cubic-bezier(.2,.65,.3,1) both}
}
@keyframes world-satin-pass{0%{transform:translateX(-115%);opacity:0}18%{opacity:1}80%{opacity:1}100%{transform:translateX(115%);opacity:0}}

/* Selected controls stay recognisable after the short click light has faded. */
.price-tab[aria-selected='true']{background:#f0effb;color:#4b52a6;border-bottom-color:#5360d8}
.faq-tab[aria-selected='true']{background:#5360d8;border-color:#5360d8;box-shadow:0 3px 10px #5360d81f}
.faq-tab[aria-selected='true'] span{color:#e4e7ff}
.gift-option[aria-pressed='true']{background:#f6f4fe;border-color:#9893d8;box-shadow:inset 0 0 0 1px #9893d8,0 3px 12px #6654a80e}
.gift-option[aria-pressed='true'] .gift-rate{background:#5360d8;box-shadow:0 2px 5px #5360d81a}
.gift-option::after{content:'';position:absolute;inset:0;pointer-events:none;border-radius:inherit;border:1px solid transparent;transition:border-color .2s ease}
.gift-option[aria-pressed='true']::after{border-color:#a8a2e2}
:is(.price-server,.balloon-panel,.gift-panel,.contact-card){box-shadow:0 5px 20px #6554a809,inset 0 1px 0 #ffffffb3}
.site-footer{position:relative}
.site-footer::before{content:'';position:absolute;inset:0 0 auto;height:1px;background:var(--rainbow);opacity:.3;pointer-events:none}
html:not(.site-motion-enabled) :is(.world-card,.gift-option,.price-tab,.balloon-tab)::after{transition:none}
@media(forced-colors:active){.finish-ripple,.world-card::after,.world-card .world-card-media::before{display:none}.gift-option[aria-pressed='true']{border-color:Highlight}.faq-tab[aria-selected='true']{background:Highlight;color:HighlightText}.faq-tab[aria-selected='true'] span{color:HighlightText}}

/* The same one-pixel rainbow outline on all four usage steps. */
.usage-steps>li>.usage-step--complete{--usage-step-hover-bg:var(--brand-navy)}
.usage-steps>li>.usage-step:is(:hover,:focus-visible){border-color:transparent;background:linear-gradient(var(--usage-step-hover-bg,#fff),var(--usage-step-hover-bg,#fff)) padding-box,var(--rainbow) border-box}
@media(forced-colors:active){.usage-steps>li>.usage-step:is(:hover,:focus-visible){border-color:Highlight;background:Canvas}}
/* Lavender notice bar and a fuller, readable transaction panel. */
.notice{background:#e2daf5;color:var(--brand-navy);border-top-color:#d5caec}
.notice::after{height:1px;background:#d5caec;opacity:1}
.notice-label{background:#fff;color:#655c99;box-shadow:0 1px 3px #6554a80c}
.notice-arrow{color:#7665b8}
.worlds-band .trade-demo{grid-template-columns:230px minmax(0,1fr);gap:24px;padding:24px 26px;background:linear-gradient(110deg,#edf3ff 0%,#f9fbff 48%,#f0edfc 100%);border-color:#dce2f0;box-shadow:inset 0 1px 0 #ffffffb3,0 5px 18px #46568a09}
.trade-demo-heading::after{background:linear-gradient(transparent,#d7dff0 20%,#d7dff0 80%,transparent)}
.worlds-band .trade-brand{font-size:22px;margin-top:12px;letter-spacing:-.065em}
.trade-demo-window,.trade-demo-item{min-height:96px}
.trade-demo-item{justify-content:center;gap:18px}
.trade-demo-logo{flex-basis:80px;width:80px;height:80px;padding:8px;background:#ffffffc9;border-color:#dde4f1;border-radius:18px}
.trade-demo-copy{flex-direction:column;align-items:flex-start;gap:5px}
.trade-demo-product b{font-size:calc(var(--trade-textSize,16px) + 8px);font-weight:800;letter-spacing:-.035em;color:#4d5cba}
@media(max-width:760px){
 .worlds-band .trade-demo{grid-template-columns:minmax(0,1fr);gap:14px;padding:20px}
 .trade-demo-heading{flex-wrap:nowrap;gap:12px}
 .worlds-band .trade-brand{font-size:19px;margin-top:0}
 .trade-demo-window{grid-column:1;grid-row:2;min-height:90px;padding-top:10px}
 .trade-demo-item{justify-content:flex-start;min-height:90px;gap:16px}
 .trade-demo-logo{flex-basis:64px;width:64px;height:64px;padding:6px;border-radius:15px}
 .trade-demo-product b{font-size:calc(var(--trade-textMobileSize,14px) + 7px)}
}
@media(max-width:360px){.worlds-band .trade-demo{padding:18px}.worlds-band .trade-brand{font-size:18px}}
@media(forced-colors:active){.notice,.notice-label,.worlds-band .trade-demo{background:Canvas;color:CanvasText}.trade-demo-product b{color:CanvasText}}

/* Touch card bodies reuse the desktop sheen without sticky hover duplication. */
.world-card:not(.disabled).is-world-touch-lit::after{opacity:1}
.world-card[data-world-shine-input='touch'] .world-card-media::before{animation:none!important;opacity:0}
