/* Gold Goblin: enhanced presentation only. The existing visibility controller
   owns all running/paused/static states. No additional assets or JavaScript. */
:is(.gp-event-dialog,.gp-campaign){--gp-cinema-gold:#ffd985;--gp-cinema-ivory:#fff7df;--gp-cinema-line:#f2cc8066}
:is(.gp-event-dialog,.gp-campaign) .gp-event-body{background:#0c1627}
:is(.gp-event-dialog,.gp-campaign) .gp-event-copy>.gp-eyebrow{color:#ffdb8c;letter-spacing:.18em;text-shadow:0 0 18px #f9b83839}
:is(.gp-event-dialog,.gp-campaign) .gp-event-copy :is(h1,h2){text-shadow:0 3px 22px #07101bcc}
:is(.gp-event-dialog,.gp-campaign) .gp-title-line{color:#fff7df;text-shadow:0 2px 22px #f8c66817}
:is(.gp-event-dialog,.gp-campaign) .gp-title-line:last-child{color:#ffd985;text-shadow:0 3px 24px #fac34d38}
:is(.gp-event-dialog,.gp-campaign) .gp-intro{color:#d2d8e2}
:is(.gp-event-dialog,.gp-campaign) .gp-event-copy .gp-fineprint{color:#c4ccd8}
:is(.gp-event-dialog,.gp-campaign) .gp-event-facts{gap:10px 20px}
:is(.gp-event-dialog,.gp-campaign) .gp-event-facts i{color:#ffda86;text-shadow:0 0 12px #f6bb4659}

/* A restrained number of larger, brighter decorative layers creates depth.
   They never cover hit targets; headline and supporting copy sit above them. */
:is(.gp-event-dialog,.gp-campaign) .gp-event-body::before{content:"";position:absolute;inset:4% -4% 0 40%;z-index:1;pointer-events:none;opacity:.35;background:conic-gradient(from -12deg at 49% 49%,#f8b53f00 0deg,#ffe2a12b 18deg,#f8b53f00 34deg,#f8b53f00 52deg,#ffdf9227 68deg,#f8b53f00 82deg,#f8b53f00 114deg,#ffdc941f 133deg,#f8b53f00 152deg,#f8b53f00 179deg,#ffd7822b 195deg,#f8b53f00 214deg,#f8b53f00 243deg,#ffe4aa30 258deg,#f8b53f00 280deg,#f8b53f00 313deg,#ffdc881d 332deg,#f8b53f00 350deg);mask-image:radial-gradient(ellipse at 49% 49%,#000 8%,#0008 42%,transparent 75%);transform-origin:49% 49%;contain:paint}
:is(.gp-event-dialog,.gp-campaign) .gp-motion-scene{z-index:1}
:is(.gp-event-dialog,.gp-campaign) .gp-motion-scene::before{content:"";position:absolute;left:64%;top:39%;width:4px;height:4px;border-radius:50%;background:#fff5c7;opacity:0;box-shadow:52px -58px 2px #ffdc8b,118px 26px 1px #ffe9ac,27px 118px 2px #ffd273,-103px 37px 1px #ffe7a7,173px -114px 2px #ffeeb5,-41px -96px 1px #ffcd71,218px 93px 2px #ffdf93,-135px 145px 2px #ffdf91;pointer-events:none}
:is(.gp-event-dialog,.gp-campaign) .gp-motion-scene::after{content:"";position:absolute;left:54%;top:44%;width:30px;height:30px;opacity:0;background:linear-gradient(90deg,transparent 47%,#fff6d4cc 49%,#fff6d4cc 51%,transparent 53%),linear-gradient(0deg,transparent 47%,#fff6d4cc 49%,#fff6d4cc 51%,transparent 53%);mask-image:radial-gradient(circle,#000 0,transparent 68%);pointer-events:none}
:is(.gp-event-dialog,.gp-campaign) .gp-aura--left{background:radial-gradient(ellipse,#efb84b38 0,#df9b2518 34%,transparent 70%)}
:is(.gp-event-dialog,.gp-campaign) .gp-aura--right{background:radial-gradient(ellipse,#ffdb8b35 0,#eaa63117 40%,transparent 73%)}
:is(.gp-event-dialog,.gp-campaign) .gp-light-beam{width:72px;background:linear-gradient(90deg,transparent,#fff0b928,transparent)}
:is(.gp-event-dialog,.gp-campaign) .gp-orbit{border-color:#efcd8a33}
:is(.gp-event-dialog,.gp-campaign) .gp-orbit::before{border-color:#efcd8a20}
:is(.gp-event-dialog,.gp-campaign) .gp-orbit::after{border-color:#efcd8a27}
:is(.gp-event-dialog,.gp-campaign) .gp-spark{width:4px;height:4px;background:#ffe9a9;box-shadow:0 0 8px #ffc353aa;--gp-spark-rise:-110px}
:is(.gp-event-dialog,.gp-campaign) .gp-spark:is(.gp-spark--2,.gp-spark--5,.gp-spark--8,.gp-spark--11){width:3px;height:3px}
:is(.gp-event-dialog,.gp-campaign) .gp-corner{border-color:#edce8673;opacity:.64}
:is(.gp-event-dialog,.gp-campaign) .gp-corner::before{width:30px;height:2px;background:linear-gradient(90deg,transparent,#fff3c0,transparent);box-shadow:0 0 10px #f6c5635c}
:is(.gp-event-dialog,.gp-campaign) .gp-art-caption{color:#fff0cf;border-color:#f2cc8066;background:#0a1427dc;box-shadow:0 5px 19px #030a1259}

/* Warm glass, sharply readable prices and a gold illuminated primary action. */
:is(.gp-event-dialog,.gp-campaign) .gp-event-copy>.gp-pricing{border-color:#edc77969;border-left-color:#ffde91;background:linear-gradient(115deg,#ba8b2f32,#a2742314 65%,#14213418);box-shadow:inset 0 1px #fff0c71a,0 12px 36px #03091740;overflow:hidden}
:is(.gp-event-dialog,.gp-campaign) .gp-event-copy>.gp-pricing::before{content:"";position:absolute;inset:0 auto 0 -55%;width:50%;z-index:-1;pointer-events:none;background:linear-gradient(110deg,transparent,#ffdb8830,transparent);transform:translate3d(-50%,0,0)}
:is(.gp-event-dialog,.gp-campaign) .gp-price-caption{color:#f1ddba}
:is(.gp-event-dialog,.gp-campaign) .gp-price-line strong{color:#fff4cd;text-shadow:0 0 20px #ffcf6e30,0 2px 2px #07101b80}
:is(.gp-event-dialog,.gp-campaign) .gp-saving{color:#ffe2a3}
:is(.gp-event-dialog,.gp-campaign) .gp-saving b{position:relative;border-color:#f7d28a91;background:#bd812730;color:#fff0bd;box-shadow:inset 0 1px #ffeec125}
:is(.gp-event-dialog,.gp-campaign) .gp-saving b::after{content:"";position:absolute;inset:-1px;border:1px solid #ffe8a9;border-radius:inherit;opacity:.45;pointer-events:none}
:is(.gp-event-dialog,.gp-campaign) .gp-cta--hero{background:linear-gradient(105deg,#ffedb8,#f4ca75 48%,#eeb755);border-color:#ffdf9b;color:#2b1d0c!important;box-shadow:0 10px 30px #e6ad422b,inset 0 1px #fff8dc99}
:is(.gp-event-dialog,.gp-campaign) .gp-cta--hero::before{width:38%;background:linear-gradient(105deg,transparent,#fff9e5b8,transparent)}
:is(.gp-event-dialog,.gp-campaign) .gp-cta--hero::after{border-color:#fff5cf90;box-shadow:inset 0 0 16px #fff7d223;opacity:.6}
:is(.gp-event-dialog,.gp-campaign) .gp-cta--hero:hover{box-shadow:0 12px 38px #efbf5855,inset 0 1px #fff6dcbf;border-color:#fff1c3}
:is(.gp-event-dialog,.gp-campaign) .gp-continue{color:#f5e4c4}
:is(.gp-event-dialog,.gp-campaign) .gp-continue:hover{background:#f0c97612;color:#fff4d7}
:is(.gp-event-dialog,.gp-campaign) .gp-motion-toggle:hover,:is(.gp-event-dialog,.gp-campaign) .gp-close:hover{box-shadow:0 0 18px #f0c97619}
.gp-event-dialog .gp-modal-header b{color:#ffe4a1;text-shadow:0 0 14px #f1bc4240}
.gp-campaign .gp-campaign-toolbar{border-bottom:1px solid #d9ae5733;background:linear-gradient(90deg,#aa7a2014,transparent 60%)}

@supports ((-webkit-background-clip:text) or (background-clip:text)){
 :is(.gp-event-dialog,.gp-campaign) .gp-title-line{background-image:linear-gradient(110deg,#fff4df 10%,#fff4df 28%,#fff 39%,#ffeec3 44%,#fff4df 52%,#fff4df 85%);background-size:250% 100%;background-position:100% 50%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
 :is(.gp-event-dialog,.gp-campaign) .gp-title-line:last-child{background-image:linear-gradient(110deg,#eeb94f 6%,#f2c86b 24%,#fff0b3 37%,#fffbe5 42%,#ffdd87 48%,#edb64b 57%,#f7d582 86%)}
}

/* The entry transforms stay in the original stylesheet. Continuous text
   reflections begin only after that phase, without moving the text baseline. */
:is(.gp-event-dialog,.gp-campaign).gp-motion-ready:not(.gp-motion-entering) .gp-title-line{animation:gp-cinema-title 7.8s ease-in-out infinite both}
:is(.gp-event-dialog,.gp-campaign).gp-motion-ready:not(.gp-motion-entering) .gp-title-line:last-child{animation-delay:-2.2s;animation-duration:6.8s}
:is(.gp-event-dialog,.gp-campaign).gp-motion-ready .gp-event-body::before{animation:gp-cinema-rays 13s ease-in-out infinite both}
:is(.gp-event-dialog,.gp-campaign).gp-motion-ready .gp-motion-scene::before{animation:gp-cinema-stardust 8.5s ease-in-out -2s infinite both}
:is(.gp-event-dialog,.gp-campaign).gp-motion-ready .gp-motion-scene::after{animation:gp-cinema-treasure-glint 8s ease-in-out -3.4s infinite both}
:is(.gp-event-dialog,.gp-campaign).gp-motion-ready .gp-spark{animation-name:gp-cinema-ember;animation-duration:var(--gp-spark-duration)}
:is(.gp-event-dialog,.gp-campaign).gp-motion-ready .gp-corner::before{animation-duration:6s}
:is(.gp-event-dialog,.gp-campaign).gp-motion-ready .gp-event-copy>.gp-pricing::before{animation:gp-cinema-price-sheen 8s ease-in-out 1.5s infinite both}
:is(.gp-event-dialog,.gp-campaign).gp-motion-ready .gp-saving b::after{animation:gp-cinema-badge 5s ease-in-out 2s infinite both}
:is(.gp-event-dialog,.gp-campaign).gp-motion-ready .gp-cta--hero::before{animation-duration:5.4s}
:is(.gp-event-dialog,.gp-campaign).gp-motion-ready .gp-cta--hero::after{animation:gp-cinema-button-light 4.8s ease-in-out 2.5s infinite both}
:is(.gp-event-dialog,.gp-campaign).gp-motion-ready .gp-event-facts i{animation-duration:4.6s}

@keyframes gp-cinema-title{0%,12%{background-position:100% 50%}54%,72%{background-position:0 50%}100%{background-position:100% 50%}}
@keyframes gp-cinema-rays{0%,100%{opacity:.2;transform:rotate(-5deg) scale(.98)}50%{opacity:.64;transform:rotate(5deg) scale(1.04)}}
@keyframes gp-cinema-stardust{0%,100%{opacity:.18;transform:translate3d(0,7px,0)}50%{opacity:.78;transform:translate3d(-10px,-17px,0)}}
@keyframes gp-cinema-treasure-glint{0%,30%,100%{opacity:0;transform:rotate(0) scale(.8)}43%,59%{opacity:.74;transform:rotate(12deg) scale(1.3)}75%{opacity:.1;transform:rotate(18deg) scale(.9)}}
@keyframes gp-cinema-ember{0%{opacity:0;transform:translate3d(0,28px,0) scale(.65)}18%{opacity:.61}62%{opacity:.82}100%{opacity:0;transform:translate3d(var(--gp-spark-drift),var(--gp-spark-rise),0) scale(1.08)}}
@keyframes gp-cinema-price-sheen{0%,34%{opacity:0;transform:translate3d(0,0,0)}45%{opacity:.6}64%{opacity:.6;transform:translate3d(340%,0,0)}76%,100%{opacity:0;transform:translate3d(340%,0,0)}}
@keyframes gp-cinema-badge{0%,100%{opacity:.24}50%{opacity:.83}}
@keyframes gp-cinema-button-light{0%,100%{opacity:.28}50%{opacity:.92}}

/* Mobile keeps the essential reflections and six existing particles. No
   expensive image zoom, orbital field or desktop ray surface on touch devices. */
@media(max-width:900px){
 :is(.gp-event-dialog,.gp-campaign) .gp-event-body::before{inset:0 -12% auto 15%;height:48%;opacity:.32}
 :is(.gp-event-dialog,.gp-campaign) .gp-event-copy>.gp-pricing{background:linear-gradient(115deg,#b8882c24,#a5762210 70%,#14213414)}
 :is(.gp-event-dialog,.gp-campaign) .gp-motion-scene::before,:is(.gp-event-dialog,.gp-campaign) .gp-motion-scene::after{display:none}
 :is(.gp-event-dialog,.gp-campaign) .gp-title-line{text-shadow:0 2px 14px #f8c66812}
 :is(.gp-event-dialog,.gp-campaign) .gp-title-line:last-child{text-shadow:0 2px 18px #f8c66826}
 :is(.gp-event-dialog,.gp-campaign) .gp-event-copy>.gp-eyebrow{letter-spacing:.14em}
}
@media(max-width:600px),(hover:none),(pointer:coarse){
 :is(.gp-event-dialog,.gp-campaign) .gp-event-body::before{display:none}
 :is(.gp-event-dialog,.gp-campaign).gp-motion-ready .gp-event-art img{animation:none!important;transform:none}
 :is(.gp-event-dialog,.gp-campaign) .gp-corner{opacity:.45}
 :is(.gp-event-dialog,.gp-campaign) .gp-spark{width:3px;height:3px;box-shadow:0 0 5px #ffc35377;--gp-spark-rise:-65px}
 :is(.gp-event-dialog,.gp-campaign).gp-motion-ready:not(.gp-motion-entering) .gp-title-line:first-child{animation:none}
 :is(.gp-event-dialog,.gp-campaign).gp-motion-ready .gp-event-copy>.gp-pricing::before{animation-duration:10s}
}

/* Last in the enhancement layer: animation shorthands above must never undo
   the visibility controller, the Pause button, or accessibility preferences. */
:is(.gp-event-dialog,.gp-campaign).gp-motion-ready,:is(.gp-event-dialog,.gp-campaign).gp-motion-ready *,:is(.gp-event-dialog,.gp-campaign).gp-motion-ready *::before,:is(.gp-event-dialog,.gp-campaign).gp-motion-ready *::after{animation-play-state:paused!important}
:is(.gp-event-dialog,.gp-campaign).gp-motion-ready.gp-motion-running,:is(.gp-event-dialog,.gp-campaign).gp-motion-ready.gp-motion-running *,:is(.gp-event-dialog,.gp-campaign).gp-motion-ready.gp-motion-running *::before,:is(.gp-event-dialog,.gp-campaign).gp-motion-ready.gp-motion-running *::after{animation-play-state:running!important}
:is(.gp-event-dialog,.gp-campaign):is(.gp-motion-paused,.gp-motion-ready.gp-motion-paused),:is(.gp-event-dialog,.gp-campaign):is(.gp-motion-paused,.gp-motion-ready.gp-motion-paused) *,:is(.gp-event-dialog,.gp-campaign):is(.gp-motion-paused,.gp-motion-ready.gp-motion-paused) *::before,:is(.gp-event-dialog,.gp-campaign):is(.gp-motion-paused,.gp-motion-ready.gp-motion-paused) *::after{animation-play-state:paused!important}
:is(.gp-event-dialog,.gp-campaign).gp-motion-static,:is(.gp-event-dialog,.gp-campaign).gp-motion-static *,:is(.gp-event-dialog,.gp-campaign).gp-motion-static *::before,:is(.gp-event-dialog,.gp-campaign).gp-motion-static *::after{animation:none!important;transition:none!important}
:is(.gp-event-dialog,.gp-campaign).gp-motion-static .gp-event-body::before{display:none}
:is(.gp-event-dialog,.gp-campaign).gp-motion-static .gp-event-copy>.gp-pricing::before{opacity:0}
@media(prefers-reduced-motion:reduce){
 :is(.gp-event-dialog,.gp-campaign),:is(.gp-event-dialog,.gp-campaign) *,:is(.gp-event-dialog,.gp-campaign) *::before,:is(.gp-event-dialog,.gp-campaign) *::after{animation:none!important;transition:none!important}
 :is(.gp-event-dialog,.gp-campaign) .gp-event-body::before,:is(.gp-event-dialog,.gp-campaign) .gp-motion-scene{display:none!important}
 :is(.gp-event-dialog,.gp-campaign) .gp-event-copy>.gp-pricing::before{opacity:0}
 :is(.gp-event-dialog,.gp-campaign) .gp-title-line{transform:none!important;background-position:50% 50%}
}
