.geps {
  --geps-navy:#102e65; --geps-ivory:#f5f0df; --geps-brown:#321c1c; --geps-gold:#bea477;
  --geps-border:14px; --geps-space:20px; --geps-target:10%; --geps-headline:clamp(2rem,8cqw,5rem);
  max-width:940px; margin-inline:auto; color:var(--geps-ivory); background:#171c29;
  border:1px solid var(--geps-gold); border-radius:var(--geps-border); overflow:hidden; overflow:clip;
  box-shadow:0 20px 48px #16131736; font:400 16px/1.48 system-ui,sans-serif; container-type:inline-size;
  text-align:left; isolation:isolate;
}
.geps *, .geps-dialog *, .geps *::before, .geps *::after {box-sizing:border-box}
.geps[hidden], .geps [hidden], .geps-dialog [hidden] {display:none!important}
.geps-close-slot {position:sticky; top:0; z-index:10; height:0}
.geps .geps-close {position:absolute; top:6px; left:6px; display:grid; place-items:center; width:44px; height:44px; padding:0; border-radius:50%; border:1px solid #bea477; background:#f5f0df; color:#102e65; font:650 26px/1 system-ui,sans-serif; box-shadow:0 2px 8px #16131760; cursor:pointer}
.geps .geps-close:focus-visible {outline:2px solid #102e65; outline-offset:-5px}
.geps-header {background:radial-gradient(ellipse at 48% 95%,var(--geps-navy),#171c29 75%); padding:13px var(--geps-space) 12px; text-align:center}
.geps .geps-kicker {display:grid; place-items:center; min-height:37px; border-bottom:1px solid #bea47767; padding:0 42px 8px; margin-bottom:12px; color:var(--geps-ivory); font-size:clamp(8px,2.1cqw,11px); font-weight:750; letter-spacing:.14em; text-transform:uppercase}
.geps-kicker i {display:inline-block; width:.34em; height:.34em; margin:0 .18em .16em; background:var(--geps-gold); border-radius:50%}
.geps .geps-header h2 {font:1000 var(--geps-headline)/.98 Impact,'Arial Black',system-ui,sans-serif; letter-spacing:-.028em; color:var(--geps-ivory); text-shadow:2px 3px 0 var(--geps-navy),4px 5px 0 #4b1e23; margin:0}
.geps h2.geps-illustrated img {display:block; width:min(72%,680px); height:auto; aspect-ratio:1280/221; object-fit:contain; margin:0 auto}
.geps .geps-promo {color:var(--geps-ivory); font-size:clamp(.7rem,3cqw,1.05rem); font-weight:900; letter-spacing:.19em; margin:8px 0 0; line-height:1.18; text-transform:uppercase}
.geps-stage {position:relative; aspect-ratio:var(--geps-aspect,1.78); overflow:hidden; background:#45553c; isolation:isolate; border-block:1px solid #bea47788}
.geps .geps-stage img {position:absolute; display:block; max-width:none; padding:0; border:0; margin:0; pointer-events:none; user-select:none}
.geps-stadium,.geps-net {inset:0; width:100%; height:100%; object-fit:fill}
.geps-keeper {z-index:2; object-fit:fill}
.geps-ball {z-index:4; transform:translate(-50%,-50%); height:auto; aspect-ratio:1; object-fit:contain; filter:drop-shadow(0 4px 3px #14180f55)}
.geps .geps-target {position:absolute; z-index:1; display:grid; place-items:center; border-radius:50%; width:max(44px,var(--geps-target)); aspect-ratio:1; padding:0; border:0; background:transparent; color:var(--geps-navy); cursor:pointer; transform:translate(-50%,-50%); touch-action:manipulation}
.geps .geps-target span {display:grid; place-items:center; width:91%; aspect-ratio:1; border-radius:50%; font:900 clamp(15px,5cqw,39px)/1 Georgia,serif; background:radial-gradient(circle at 41% 37%,#fff9e8,var(--geps-ivory) 73%); border:clamp(2px,.55cqw,6px) solid var(--geps-navy); box-shadow:0 0 0 clamp(1px,.32cqw,3px) var(--geps-gold),0 2px 6px #080e18b0; transition:transform .18s,filter .18s}
.geps .geps-target:hover:not(:disabled) span,.geps .geps-target:focus-visible span {transform:scale(1.08); filter:brightness(1.08)}
.geps .geps-target:focus-visible {z-index:3; outline:3px solid white; outline-offset:4px}
.geps .geps-target.is-chosen span {background:var(--geps-gold)}
.geps .geps-target:disabled {cursor:default}
.geps-ripple {position:absolute; z-index:3; width:12%; aspect-ratio:1; border-radius:50%; opacity:0; border:2px solid var(--geps-ivory); box-shadow:0 0 8px var(--geps-ivory),inset 0 0 12px #fff7; pointer-events:none}
.geps-ripple.geps-calibration {opacity:1; width:3%; transform:translate(-50%,-50%); background:#d43137; border:2px solid white}
.geps-result {display:none; position:absolute; z-index:5; left:50%; top:47%; transform:translate(-50%,-50%) rotate(-5deg); pointer-events:none; font:1000 clamp(26px,10cqw,96px)/1 Impact,'Arial Black',system-ui,sans-serif; letter-spacing:.015em; color:var(--geps-ivory); text-shadow:2px 4px #4a2024; background:var(--geps-navy); border:2px solid var(--geps-gold); box-shadow:4px 5px 0 #22141c; padding:.12em .29em .19em; text-align:center; white-space:nowrap}
.geps-result.is-shown {display:block}
.geps-award {display:block; margin-top:.28em; padding-top:.42em; border-top:1px solid var(--geps-gold); font:850 clamp(.8rem,2.8cqw,1.4rem)/1.2 system-ui,sans-serif; letter-spacing:normal; text-shadow:none}
.geps[data-outcome=goal] .geps-result {background:#24472f}
.geps-panel {background:var(--geps-ivory); color:var(--geps-brown); padding:var(--geps-space); min-height:89px; text-align:center}
.geps-cue {display:flex; gap:.65rem; align-items:center; justify-content:center; text-align:center; text-transform:uppercase; font-size:.69rem; font-weight:850; letter-spacing:.15em; color:var(--geps-navy)}
.geps-step {border:1px solid #9b845b; border-radius:3px; padding:2px 6px; font-variant-numeric:tabular-nums}
.geps .geps-instruction {margin:.45rem 0 0; font-size:clamp(.83rem,3cqw,1rem); font-weight:700; line-height:1.35; text-align:center}
.geps .geps-form {max-width:30rem; margin:13px auto 0; display:grid; justify-items:center; gap:9px}
.geps .geps-email-label {width:100%; min-width:0; font-size:.83rem; font-weight:750; display:block}
.geps .geps-email-label input {display:block; margin-top:3px; width:100%; min-height:44px; padding:8px 10px; background:white; color:#222; font:inherit; font-size:16px; text-align:center; border:1px solid #8a7e67; border-radius:4px}
.geps .geps-action,.geps .geps-copy {display:inline-flex; align-items:center; justify-content:center; border-radius:4px; border:1px solid transparent; background:var(--geps-navy); color:white; font:800 .83rem/1.2 system-ui,sans-serif; min-height:44px; padding:9px 14px; cursor:pointer; text-decoration:none; text-transform:none}
.geps .geps-action:hover,.geps .geps-copy:hover {filter:brightness(1.2)}
.geps .geps-action:focus-visible,.geps .geps-copy:focus-visible,.geps input:focus-visible,.geps a:focus-visible,.geps summary:focus-visible {outline:2px solid var(--geps-navy); outline-offset:3px}
.geps .geps-action:disabled {opacity:.66; cursor:wait}
.geps .geps-small,.geps .geps-preview {margin:0; font-size:.76rem; color:#4e4137}
.geps .geps-preview {margin-top:12px; letter-spacing:.11em; font-size:.63rem; font-weight:850}
.geps .geps-privacy {color:var(--geps-navy); text-decoration:underline}
.geps .geps-error {color:#841f25; margin:9px 0 0; font-size:.89rem; font-weight:700}
.geps-retry {margin-top:10px}
.geps .geps-receipt {margin-top:11px}
.geps-ticket {display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:10px; max-width:30rem; margin-inline:auto; padding:9px; border:1px dashed #997a49; color:var(--geps-navy); background:#fffaf0}
.geps-ticket strong {font-size:1.25rem; white-space:nowrap}
.geps-ticket code {font-size:.83rem; overflow-wrap:anywhere; color:var(--geps-brown)}
.geps .geps-delivery {margin-top:7px}
.geps .geps-shop {margin-top:9px}
.geps a.geps-shop,.geps a.geps-shop:is(:hover,:focus,:active,:visited) {color:var(--geps-ivory)!important; background-color:var(--geps-navy); filter:none; text-decoration:none}
.geps .geps-early-access {margin-top:14px}
.geps .geps-early-button {border:0; padding:6px 10px; min-height:44px; background:none; color:var(--geps-navy); font:750 .8rem/1.2 system-ui,sans-serif; text-decoration:underline; cursor:pointer}
.geps .geps-early-button:disabled {opacity:.66; cursor:wait}
.geps .geps-early-button:focus-visible {outline:2px solid var(--geps-navy); outline-offset:2px}
.geps-qa {margin-top:12px; font-size:.8rem}
.geps-qa summary {cursor:pointer; font-weight:700}
.geps-dialog {width:min(calc(100% - 22px),var(--geps-popup-width,690px)); max-height:calc(100% - 24px); padding:0; border:0; border-radius:15px; background:transparent; color:#171c29; overflow:auto; overscroll-behavior:contain}
.geps-dialog:not([open]) {display:none!important}
.geps-dialog[open]::backdrop {background:#0e1422c9}
.elementor-popup-modal.geps-dismissing {opacity:0!important; pointer-events:none!important}
.elementor-popup-modal.geps-dismissing * {pointer-events:none!important}
.geps-unavailable {padding:1rem; border:1px solid #bea477}
@container (max-width:480px) {
  .geps .geps-header,.geps .geps-panel {padding:var(--geps-mobile-space,12px)}
}
@media (prefers-reduced-motion:reduce) {.geps .geps-target span {transition:none}}
@media (prefers-reduced-motion:no-preference) {
  .geps-dialog[open] {animation:geps-popup-in .32s cubic-bezier(.22,1,.36,1) both}
  .geps-dialog[open]::backdrop {animation:geps-backdrop-in .24s ease-out both}
}
@keyframes geps-popup-in {
  from {opacity:0; transform:translateY(12px) scale(.98)}
  to {opacity:1; transform:none}
}
@keyframes geps-backdrop-in {
  from {opacity:0}
  to {opacity:1}
}
