@font-face{font-family:Oswald;src:url('assets/fonts/oswald-variable.woff2') format('woff2');font-weight:200 700;font-style:normal;font-display:swap}
@font-face{font-family:Outfit;src:url('assets/fonts/outfit-variable.woff2') format('woff2');font-weight:100 900;font-style:normal;font-display:swap}
:root{--red:#c81932;--deep-red:#aa142a;--navy:#15293b;--white:#fffdf9;--muted:#53606b;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--ball-size:clamp(84px,24vw,112px);color-scheme:dark}
*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:#102333;color:var(--white)}body{font-family:Outfit,system-ui,sans-serif;font-size:18px;-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button,a{touch-action:manipulation;-webkit-tap-highlight-color:transparent}p,h1,h2{margin:0}a{color:inherit}img{display:block;max-width:100%;-webkit-user-drag:none}button:focus-visible,a:focus-visible{outline:3px solid #e34c5d;outline-offset:4px}h1:focus,h2:focus{outline:none}[hidden]{display:none!important}.svg-defs{position:absolute;width:0;height:0;overflow:hidden}.icon{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
/* One image fills the viewport and remains in place across every page. */
.stadium-world{position:fixed;inset:0;z-index:0;pointer-events:none;background:#102333}.stadium-art{position:absolute;inset:0}.stadium-art>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}.world-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,15,29,.32),rgba(5,15,29,.06) 55%,rgba(5,15,20,.19));transition:background-color .5s}.stadium-world.invitation-mode .world-shade{background-color:rgba(5,14,26,.3)}
.pages{position:relative;z-index:1;height:100vh;height:100dvh;overflow-y:auto;overflow-x:hidden;scroll-snap-type:y proximity;scroll-behavior:smooth;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;background:transparent}.scene{position:relative;isolation:isolate;min-height:100vh;min-height:100dvh;scroll-snap-align:start;padding:calc(76px + var(--safe-top)) max(22px,env(safe-area-inset-right,0px)) calc(12px + var(--safe-bottom)) max(22px,env(safe-area-inset-left,0px));display:flex;flex-direction:column;align-items:center;gap:18px}.scene-content{position:relative;z-index:2;width:min(100%,460px);flex-shrink:0;margin:auto 0;text-align:center}.next-arrow{display:grid;place-items:center;width:48px;min-height:48px;flex-shrink:0;border-radius:50%;border:1px solid rgba(255,255,255,.42);background:rgba(10,23,35,.35);color:white;text-decoration:none;position:relative;z-index:3;transition:transform .18s,background-color .18s}.next-arrow:active{transform:translateY(3px);background:rgba(200,25,50,.6)}.back-arrow .icon{transform:rotate(180deg)}.glass-panel{color:var(--white);background:rgba(9,25,43,.84);border:1px solid rgba(255,255,255,.28);border-radius:18px;padding:clamp(25px,7vw,40px) clamp(20px,6vw,32px)}.glass-panel::before{content:'';position:absolute;top:0;left:28%;right:28%;height:3px;background:var(--red);border-radius:0 0 3px 3px}.display{font-family:Oswald,Impact,sans-serif;font-style:normal;font-weight:600;font-size:clamp(32px,8.5vw,40px);line-height:1.15;letter-spacing:-.015em;color:var(--red);text-wrap:balance}.display span{display:block}.body-copy{font-size:clamp(18px,5vw,21px);line-height:1.55;font-weight:400;white-space:pre-line;text-wrap:pretty}.eyebrow{font-size:14px;line-height:1.5;letter-spacing:.04em;font-weight:400;color:var(--muted)}
.hud{position:fixed;top:calc(14px + var(--safe-top));left:max(22px,env(safe-area-inset-left,0px));right:max(22px,env(safe-area-inset-right,0px));z-index:20;height:44px;display:flex;align-items:center;pointer-events:none}.page-count{display:flex;gap:8px;align-items:center;font-size:11px;letter-spacing:.06em;color:#fff}.page-count b{font-weight:600}.page-count span{opacity:.7}.page-dots{position:absolute;left:50%;transform:translateX(-50%);display:flex;pointer-events:auto}.page-dots a{width:32px;height:44px;display:grid;place-items:center;border-radius:12px}.page-dots a span{width:4px;height:4px;background:rgba(255,255,255,.45);border-radius:50%;transition:transform .2s}.page-dots a[aria-current=page] span{background:white;transform:scale(1.6)}.sound-button{position:fixed;z-index:40;top:calc(14px + var(--safe-top));right:max(18px,env(safe-area-inset-right,0px));width:44px;height:44px;border:1px solid rgba(255,255,255,.35);background:rgba(8,22,34,.55);border-radius:50%;display:grid;place-items:center;color:#fff}.sound-button .icon{width:19px;height:19px}.sound-cross{display:none}.sound-button[aria-pressed=true] .sound-cross{display:block}.sound-button[aria-pressed=true] .sound-waves{display:none}.sound-button:active{transform:scale(.94)}
/* Photo goal and penalty spot share one perspective. JS maps the crop to ball coordinates. */
.opening{position:fixed;inset:0;z-index:30;height:100vh;height:100dvh;overflow:hidden;background:transparent}.opening-stage{position:absolute;inset:0}.kick-heading{position:absolute;top:calc(13% + var(--safe-top));left:24px;right:24px;text-align:center;color:#fff}.kick-heading>span{font-size:14px;letter-spacing:.17em;text-transform:uppercase}.kick-heading p{font-family:Oswald,sans-serif;font-size:clamp(32px,9vw,48px);font-weight:500;line-height:1.15;letter-spacing:.005em;margin-top:15px}.goal{position:absolute;left:15%;top:43.5%;width:70%;height:13.3%;pointer-events:none}.net-reaction{width:100%;height:100%;overflow:visible;stroke:#fff;stroke-width:.7;fill:none;opacity:0}.goal-scored .net-reaction{animation:netFlash .62s ease both}.net-reaction #net{transform-origin:90% 10%}@keyframes netFlash{0%,100%{opacity:0}35%{opacity:.55}}.kick-target{position:absolute;inset:0;width:100%;height:100%;padding:0;border:0;background:none;color:#fff;outline-offset:-8px}.shot-ball{position:absolute;width:var(--ball-size);height:var(--ball-size);left:calc(50% - var(--ball-size)/2);top:calc(78% - var(--ball-size)*.92);z-index:3;transform-origin:center}.shot-ball img{width:100%;height:100%}.ball-shadow{position:absolute;left:calc(50% - var(--ball-size)*.45);top:calc(78% - 7px);width:calc(var(--ball-size)*.9);height:14px;background:rgba(0,0,0,.45);border-radius:50%}.kick-prompt{position:absolute;bottom:calc(7% + var(--safe-bottom));left:20px;right:20px;display:flex;align-items:center;justify-content:center;gap:14px;font-size:20px;font-weight:400;letter-spacing:.025em}.kick-target:disabled{cursor:default}.is-kicking .kick-prompt{opacity:0;transition:opacity .18s}.goal-word{position:absolute;left:0;right:0;top:32%;text-align:center;font-family:Oswald,sans-serif;font-size:38px;font-weight:600;color:white;letter-spacing:.12em;opacity:0}.goal-scored .goal-word{opacity:1;transition:opacity .22s}.goal-scored .kick-heading{opacity:0;transition:opacity .2s}.opening.leaving{pointer-events:none;animation:openingExit .75s cubic-bezier(.22,.61,.36,1) both}@keyframes openingExit{to{opacity:0}}
/* A red-and-white football scarf above the same illustrated boy. */
.hero{--hero-top:76px;--hero-gap:18px;--hero-bottom:12px}.hero-content{display:flex;flex-direction:column;align-items:center;gap:13px;max-width:440px;height:calc(100vh - var(--hero-top) - var(--hero-bottom) - var(--safe-top) - var(--safe-bottom) - 48px - var(--hero-gap));height:calc(100dvh - var(--hero-top) - var(--hero-bottom) - var(--safe-top) - var(--safe-bottom) - 48px - var(--hero-gap));min-height:min-content}.hero-content>*{flex-shrink:0}.hero-scarf{position:relative;background:var(--red);width:calc(100% - 20px);padding:13px 14px 17px;border-top:3px solid rgba(255,255,255,.9);border-bottom:3px solid rgba(255,255,255,.9);color:#fff;isolation:isolate}.hero-scarf::before,.hero-scarf::after{content:'';position:absolute;z-index:-1;top:13px;bottom:-9px;width:22px;background:var(--deep-red)}.hero-scarf::before{left:-16px;clip-path:polygon(0 0,100% 0,100% 100%,0 100%,25% 50%)}.hero-scarf::after{right:-16px;clip-path:polygon(0 0,100% 0,75% 50%,100% 100%,0 100%)}.banner-club{font-size:12px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;line-height:1.5;margin-bottom:3px}h1{font-family:Oswald,Impact,sans-serif;font-size:clamp(40px,11.8vw,52px);font-weight:600;line-height:1.15;letter-spacing:.015em;white-space:nowrap}.birthday-line{font-size:clamp(21px,5.7vw,26px);font-weight:450;line-height:1.3;max-width:24ch;text-wrap:balance;color:#fff}.boy-stage{position:relative;display:flex;justify-content:center;align-items:center;isolation:isolate;width:100%;flex:1 1 0;min-height:150px;max-height:46vh;max-height:46dvh}.boy{position:absolute;inset:0;margin:auto;height:100%;width:95%;object-fit:contain;object-position:center bottom;z-index:1;transform-origin:50% 95%}.hero-date{font-size:clamp(17px,4.55vw,21px);font-weight:500;line-height:1.4;color:white}.hero-date .city{font-size:16px;font-weight:350;letter-spacing:.06em;margin-top:4px}.hero .next-arrow{margin-top:0}
/* Short headings and equally important body text, all centred. */
.small-football{display:flex;align-items:center;justify-content:center;margin-bottom:19px}.small-football img{width:39px;height:39px}.small-football span{display:none}.invitation .eyebrow{display:block;color:#dbe2eb;font-size:clamp(14px,3.8vw,16px);margin:0 auto 16px;max-width:28ch;line-height:1.5}.invitation .display,.finish .display{color:#fffdf9}.invitation-title{margin-bottom:23px}.host-line{font-size:clamp(19px,5vw,22px);font-weight:450;line-height:1.45;margin:24px 0 0;padding-top:19px;border-top:1px solid rgba(255,255,255,.2);color:#fffdf9}.invitation .body-copy{max-width:28ch;margin:auto;color:#f1f0ec}.signature-rule{display:none}
.ticket-panel{background:rgba(255,253,249,.94);color:var(--navy);border-color:rgba(255,255,255,.7);-webkit-mask:radial-gradient(circle 11px at left 57%,transparent 98%,#000) left / 51% 100% no-repeat,radial-gradient(circle 11px at right 57%,transparent 98%,#000) right / 51% 100% no-repeat;mask:radial-gradient(circle 11px at left 57%,transparent 98%,#000) left / 51% 100% no-repeat,radial-gradient(circle 11px at right 57%,transparent 98%,#000) right / 51% 100% no-repeat}.details-top{display:flex;justify-content:center;margin-bottom:13px}.details-top .eyebrow{display:none}.pitch-icon{width:49px;height:32px;stroke:var(--red);fill:none;stroke-width:1.1;opacity:.75}.details h2{margin-bottom:9px;font-family:Outfit,sans-serif;font-weight:550;font-size:16px;letter-spacing:.2em;text-transform:uppercase}.event-subtitle{font-size:23px;font-weight:400;line-height:1.4;margin-bottom:22px}.match-ticket{padding:19px 0 18px;border-top:1px solid rgba(200,25,50,.25);border-bottom:1px solid rgba(21,41,59,.15)}.ticket-date>p:first-child{font-family:Oswald,sans-serif;font-size:clamp(30px,8.2vw,39px);font-weight:600;line-height:1.25;letter-spacing:-.015em;color:var(--red)}.ticket-date>p+p{font-size:17px;line-height:1.5;margin-top:6px;color:#43515f}.ticket-divider{display:flex;justify-content:center;align-items:center;gap:12px;margin:18px 0;opacity:.55}.ticket-divider span{height:0;flex:1;border-top:1px dashed rgba(21,41,59,.5)}.ticket-divider img{width:18px;height:18px}address{font-style:normal}address .venue{font-size:20px;font-weight:550;line-height:1.35;margin-bottom:9px}#event-address{font-size:17px;line-height:1.55;color:#43515f}.country{font-size:15px;margin-top:2px}.actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:21px}.action{min-height:50px;padding:11px 9px;display:flex;align-items:center;justify-content:center;gap:7px;text-decoration:none;border:1px solid var(--red);border-radius:5px;font-size:14px;font-weight:500;line-height:1.2;transition:transform .15s,background-color .15s}.action .icon{width:18px;height:18px}.action.primary{background:var(--red);color:white}.action.secondary{color:#a41429}.action:active{transform:scale(.97)}.action.primary:hover{background:var(--deep-red)}.action.secondary:hover{background:rgba(200,25,50,.06)}.action[aria-disabled=true]{opacity:.45;cursor:not-allowed}.configuration-note{font-size:14px;line-height:1.5;margin-top:14px}
.finish-spark{display:block;color:var(--red);font-size:28px;line-height:1;margin-bottom:20px}.finish h2{margin-bottom:23px}.finish .body-copy{max-width:26ch;margin:auto}.countdown-wrap{margin:27px auto 0;max-width:340px;background:#06111e;border:1px solid #334258;border-radius:10px;padding:15px 12px 14px;position:relative}.countdown-caption{font-size:12px;font-weight:500;line-height:1.5;letter-spacing:.18em;color:#dce4ee;margin-bottom:13px}.countdown{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;font-variant-numeric:tabular-nums}.countdown>div{min-width:0;position:relative}.countdown b{position:relative;display:grid;place-items:center;min-height:64px;border:1px solid #354255;border-radius:5px;background:linear-gradient(180deg,#182b3c 49%,#0e1d2d 50%);font-family:Oswald,sans-serif;font-size:clamp(29px,8vw,39px);font-weight:500;line-height:1.1;color:#ff6476;text-shadow:0 0 12px rgba(255,61,87,.24);transform-origin:center}.countdown b::after{content:'';position:absolute;left:0;right:0;top:50%;height:1px;background:rgba(0,0,0,.28)}.countdown span{display:block;font-size:11px;line-height:1.4;margin-top:7px;color:#bdcbd9;letter-spacing:.06em;text-transform:uppercase}.celebrate-message{font-size:21px;font-weight:500;line-height:1.45;color:#fffdf9}.brand{display:inline-block;padding:15px 2px;margin-top:16px;min-height:44px;font-size:12px;line-height:1.4;letter-spacing:.01em;color:#d0d9e2;text-underline-offset:3px;text-decoration-color:#7c8a99}
/* CSS-only life begins after the shot. No animated blur, filters or shadows. */
.motion-ready .stadium-world.invitation-mode>.stadium-art{animation:stadiumDrift 24s ease-in-out infinite alternate;animation-play-state:paused;transform-origin:50% 45%}.motion-ready .stadium-world.hero-alive>.stadium-art{animation-play-state:running}@keyframes stadiumDrift{from{transform:scale(1)}to{transform:scale(1.035)}}
.hero-lights{position:absolute;inset:0;z-index:0;pointer-events:none;background:radial-gradient(ellipse 70px 18px at 8% 29%,rgba(255,246,223,.45),transparent 80%),radial-gradient(ellipse 60px 16px at 93% 27%,rgba(255,246,223,.4),transparent 80%);opacity:.2}
.hero-specks{position:absolute;inset:0;pointer-events:none;z-index:1;overflow:hidden}.hero-specks i{position:absolute;left:8%;top:33%;width:4px;height:9px;border-radius:1px;background:#f6f1e9;opacity:.25}.hero-specks i:nth-child(2){left:91%;top:39%;background:#d52d45;animation-delay:-2s}.hero-specks i:nth-child(3){left:12%;top:65%;background:#d52d45;animation-delay:-4s}.hero-specks i:nth-child(4){left:87%;top:72%;animation-delay:-1s}.hero-specks i:nth-child(5){left:18%;top:49%;width:5px;height:3px;animation-delay:-3s}.hero-specks i:nth-child(6){left:83%;top:55%;width:5px;height:3px;background:#d52d45;animation-delay:-5s}
.motion-ready .hero .boy{animation:boyBreathe 6s ease-in-out 1.2s infinite;animation-play-state:paused}.motion-ready .hero .hero-lights{animation:lightGlint 7s ease-in-out infinite;animation-play-state:paused}.motion-ready .hero .hero-specks i{animation:speckDrift 6s ease-in-out infinite alternate;animation-play-state:paused}.motion-ready .hero.active .boy,.motion-ready .hero.active .hero-lights,.motion-ready .hero.active .hero-specks i{animation-play-state:running}
@keyframes boyBreathe{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(-1px) scale(1.007)}}@keyframes lightGlint{0%,75%,100%{opacity:.14}35%{opacity:.55}}@keyframes speckDrift{from{transform:translate3d(0,-5px,0) rotate(-12deg);opacity:.16}to{transform:translate3d(4px,9px,0) rotate(22deg);opacity:.42}}
.low-motion .boy,.low-motion .stadium-world>.stadium-art{animation:none!important;transform:none!important}.low-motion .hero-lights,.low-motion .hero-specks{display:none}

.music-credit{display:block;width:max-content;margin:0 auto;min-height:44px;padding:12px 8px;font-size:11px;line-height:20px;color:#b5c2d0;text-underline-offset:3px}.confetti{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:1}.confetti i{position:absolute;left:0;top:0;width:5px;height:11px;background:#e03247;border-radius:1px;will-change:transform}.confetti i:nth-child(even){background:#fff}.confetti i:nth-child(3n){width:7px;height:5px}
/* Text slides into place on entry. No looping bounce, blur or shadow animation. */
.motion-ready .scene:not(.active) .reveal-item{opacity:0;transform:translateY(14px)}.motion-ready .scene.active .reveal-item{animation:textEntrance .85s cubic-bezier(.16,.75,.2,1) both;animation-delay:calc(var(--order,0)*.12s)}@keyframes textEntrance{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.motion-ready .scene.active .hero-scarf{animation-name:bannerEntrance}@keyframes bannerEntrance{from{opacity:0;transform:translateY(-16px) rotate(-2deg)}to{opacity:1;transform:translateY(0) rotate(0)}}.page-hidden *,.page-hidden *::before,.page-hidden *::after{animation-play-state:paused!important}.low-motion .reveal-item{opacity:1!important;transform:none!important;animation:none!important}.low-motion .pages{scroll-behavior:auto}.low-motion .opening.leaving{animation-duration:.16s}.noscript-note{position:fixed;z-index:50;top:0;left:0;right:0;padding:8px 16px;text-align:center;font-size:12px;background:#102333}
@media(max-height:760px){.scene{padding-top:calc(67px + var(--safe-top));gap:12px}.glass-panel{padding:26px 22px}.hero-content{gap:10px}.hero-scarf{padding-top:10px;padding-bottom:13px}.hero{--hero-top:67px;--hero-gap:12px}.small-football{margin-bottom:15px}.invitation-title{margin-bottom:18px}.event-subtitle{margin-bottom:15px}.match-ticket{padding:16px 0}.ticket-divider{margin:14px 0}.actions{margin-top:17px}.finish h2{margin-bottom:19px}.countdown-wrap{margin-top:22px}.brand{margin-top:12px}.finish-spark{margin-bottom:15px}.body-copy{font-size:19px}}
@media(max-height:660px){.scene{padding-top:calc(61px + var(--safe-top));gap:10px}.hero-content{gap:8px}.hero-scarf{padding:8px 10px 11px}h1{font-size:40px}.banner-club{font-size:11px}.birthday-line{font-size:21px}.hero{--hero-top:61px;--hero-gap:10px}.boy-stage{min-height:150px}.hero-date{font-size:17px}.hero-date .city{font-size:15px}.glass-panel{padding:20px 20px}.finish-content{padding:18px 18px}.invitation .small-football{margin-bottom:10px}.invitation .small-football img{width:28px;height:28px}.finish .finish-spark{display:none}.finish h2{margin-bottom:14px}.finish .brand{margin-top:3px;padding:12px 2px}.finish .countdown-wrap{margin-top:16px;padding:12px 10px}.finish .countdown-caption{font-size:11px;margin-bottom:10px}.display{font-size:31px}.body-copy{font-size:18px;line-height:1.5}.host-line{font-size:19px;margin-top:18px;padding-top:15px}.small-football img{width:32px;height:32px}.invitation-title{margin-bottom:17px}.details-top{display:none}.event-subtitle{font-size:18px;margin-bottom:14px}.ticket-date>p:first-child{font-size:30px}.ticket-date>p+p{font-size:16px}.match-ticket{padding:14px 0}.ticket-divider{margin:12px 0}address .venue{font-size:19px}#event-address{font-size:16px}.country{font-size:14px}.actions{margin-top:17px}.action{font-size:13px;min-height:48px;padding:10px 7px;gap:5px}.finish-spark{font-size:23px;margin-bottom:14px}.countdown-wrap{margin-top:19px}.countdown-caption{font-size:13px}.countdown b{font-size:29px;min-height:54px}.brand{margin-top:9px}.kick-heading{top:13%}.kick-heading p{font-size:32px}.kick-prompt{font-size:19px;bottom:6%}}
@media(min-width:768px){.scene{padding-left:42px;padding-right:42px}.hero-content{max-width:430px}.hero-scarf{width:370px}h1{font-size:46px}.birthday-line{font-size:25px}.hud{left:32px;right:32px}.sound-button{right:28px}.glass-panel{max-width:450px}.kick-heading{top:10%}.kick-heading p{font-size:42px}}
@media(max-width:359px){.scene{padding-left:16px;padding-right:16px}.glass-panel{padding-left:17px;padding-right:17px}h1{font-size:33px}.actions{grid-template-columns:1fr}.boy-stage{min-height:150px}.page-dots a{width:27px}}
@media(orientation:landscape) and (max-height:550px){.scene{padding-top:70px}.scene-content{margin:20px 0}.hero-content{height:auto;min-height:0}.boy-stage{flex:none;height:250px;min-height:250px;max-height:none}.kick-heading{top:8%;left:5%;right:auto;text-align:left}.kick-heading p{font-size:24px}.kick-heading>span{font-size:11px}.kick-prompt{bottom:7%;left:auto;right:7%}.goal-word{left:5%;right:auto;top:28%;font-size:26px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}.reveal-item{opacity:1!important;transform:none!important}.confetti{display:none}}

.opening-active .pages{visibility:hidden}

/* Tifo and lighting share the photographed stadium's cover projection. */
.stadium-art{overflow:hidden}.stand-tifo{position:absolute;left:23%;top:36.6%;width:54%;height:3.6%;display:grid;place-items:center;border-top:2px solid #f7e9e7;border-bottom:2px solid #f7e9e7;background:linear-gradient(90deg,rgba(70,0,14,.25),transparent 14%,rgba(255,255,255,.14) 30%,transparent 45%,rgba(69,0,14,.19) 70%,transparent),#bd132e;clip-path:polygon(0 4%,22% 0,50% 5%,78% 0,100% 4%,100% 94%,73% 100%,50% 95%,25% 100%,0 94%);transform-origin:center top;color:#fff;font:600 clamp(13px,4.6vw,24px)/1 Oswald,sans-serif;letter-spacing:.12em;text-align:center;white-space:nowrap}.stand-tifo span{transform:scaleY(.96)}.stadium-lights{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.lamp-left{opacity:.6;transform-origin:40px 420px}.lamp-right{opacity:.5;transform-origin:908px 406px}
.motion-ready .lamp-left{animation:stadiumLampLeft 9s ease-in-out infinite}.motion-ready .lamp-right{animation:stadiumLampRight 11s ease-in-out -4s infinite}.motion-ready .stand-tifo{animation:tifoBreathe 7s ease-in-out infinite alternate}
@keyframes stadiumLampLeft{0%,100%{opacity:.34;transform:rotate(-1deg)}50%{opacity:.9;transform:rotate(1deg)}}@keyframes stadiumLampRight{0%,100%{opacity:.75;transform:rotate(1deg)}50%{opacity:.3;transform:rotate(-1deg)}}@keyframes tifoBreathe{from{transform:skewY(-.25deg) scaleY(.985)}to{transform:skewY(.25deg) scaleY(1)}}
.pitch-pass{position:absolute;left:15%;top:72%;width:70%;height:40px;opacity:0;--pass-distance:230px;--pass-size:27px;transition:opacity .8s}.invitation-mode .pitch-pass{opacity:.7}.pass-carrier{position:absolute;left:0;bottom:4px;width:var(--pass-size);height:var(--pass-size)}.pass-ball{width:100%;height:100%}.pass-shadow{position:absolute;left:0;bottom:0;width:var(--pass-size);height:6px;border-radius:50%;background:rgba(0,0,0,.4)}
.motion-ready .invitation-mode .pass-carrier{animation:pitchToss 14s ease-in-out infinite alternate}.motion-ready .invitation-mode .pass-shadow{animation:pitchShadow 14s ease-in-out infinite alternate}.motion-ready .invitation-mode .pass-ball{animation:ballRoll 14s ease-in-out infinite alternate}
@keyframes pitchToss{0%{transform:translate3d(0,0,0)}25%{transform:translate3d(calc(var(--pass-distance)*.25),-27px,0)}50%{transform:translate3d(calc(var(--pass-distance)*.5),0,0)}75%{transform:translate3d(calc(var(--pass-distance)*.75),-15px,0)}100%{transform:translate3d(var(--pass-distance),0,0)}}@keyframes pitchShadow{0%{transform:translateX(0) scale(1);opacity:.8}25%{transform:translateX(calc(var(--pass-distance)*.25)) scale(.65);opacity:.3}50%{transform:translateX(calc(var(--pass-distance)*.5)) scale(1);opacity:.8}75%{transform:translateX(calc(var(--pass-distance)*.75)) scale(.8);opacity:.4}100%{transform:translateX(var(--pass-distance)) scale(1);opacity:.8}}@keyframes ballRoll{from{transform:rotate(0)}to{transform:rotate(1080deg)}}
.low-motion .stadium-lights *,.low-motion .stand-tifo{animation:none!important;transform:none!important}.low-motion .pitch-pass{display:none}
.audio-footer{display:flex;align-items:center;justify-content:center;gap:10px}.music-toggle,.audio-footer .music-credit{display:inline-flex;align-items:center;justify-content:center;min-height:44px;margin:0;padding:10px 4px;color:#c7d1dc;font:400 11px/1.5 Outfit,sans-serif;background:none;border:0;text-underline-offset:3px}.music-toggle{text-decoration:underline;text-decoration-color:#7c8a99}.audio-footer .music-credit{width:auto}.audio-recovery{position:fixed;left:50%;bottom:calc(16px + var(--safe-bottom));transform:translateX(-50%);z-index:45;border:1px solid rgba(255,255,255,.45);border-radius:30px;padding:13px 21px;min-height:46px;background:#142b40;color:#fff;font:500 14px/1.3 Outfit,sans-serif;white-space:nowrap}
