
/* gi-orbit 2026-10-13: interactive hero (fallback = video/poster) */
.gi-hero.gi-live video{display:none}
.gi-orbit{position:absolute;inset:0;width:100%;height:100%;display:block;touch-action:pan-y;cursor:grab;user-select:none}
.gi-orbit:active{cursor:grabbing}
.gi-hero.gi-live{background:radial-gradient(90% 120% at 50% 50%,#1b4d32 0%,#08160f 70%)}
.gi-node{outline:none}
.gi-node>g>*:not(.gi-lbl){transition:transform .35s cubic-bezier(.2,.7,.2,1)}
.gi-node>g{transition:filter .3s}
.gi-node:hover>g>*:not(.gi-lbl),.gi-node:focus-visible>g>*:not(.gi-lbl),.gi-node.gi-act>g>*:not(.gi-lbl){transform:scale(1.45)}
.gi-node:hover>g,.gi-node.gi-act>g,.gi-node:focus-visible>g{filter:drop-shadow(0 0 14px rgb(255 255 255/.45))}
.gi-lbl{opacity:0;transition:opacity .25s;pointer-events:none}
.gi-lbl text{font:800 30px ui-sans-serif,system-ui,sans-serif;fill:#fff;paint-order:stroke;stroke:#06111c;stroke-width:6px}
.gi-node:hover .gi-lbl,.gi-node:focus-visible .gi-lbl,.gi-node.gi-act .gi-lbl{opacity:1}
.gi-node:hover,.gi-node.gi-act,.gi-node:focus-visible{position:relative}
.gi-ball{filter:drop-shadow(0 0 10px #c9a227)}
@media (max-width:719px){.gi-hero.gi-live{aspect-ratio:4/3}}
@media (prefers-reduced-motion:reduce){.gi-orbit{display:none}.gi-hero.gi-live video{display:block}}
.gi-hero.gi-live{aspect-ratio:1/1!important;width:min(640px,90vw);margin-inline:auto;border-radius:28px}
@media (max-width:719px){.gi-hero.gi-live{width:100%;aspect-ratio:1/1!important}}
.gi-hero.gi-live{background-image:radial-gradient(70% 70% at 50% 50%,#1b4d32 0%,#08160f 75%)!important}
.gi-hero.gi-live::before{content:"";position:absolute;inset:-25%;z-index:0;pointer-events:none;background:radial-gradient(35% 35% at 30% 30%,rgb(122 74 34/.40),transparent 70%),radial-gradient(40% 40% at 72% 35%,rgb(31 92 56/.45),transparent 70%),radial-gradient(40% 40% at 50% 75%,rgb(20 64 40/.45),transparent 70%),radial-gradient(30% 30% at 25% 72%,rgb(92 52 24/.38),transparent 70%);will-change:transform,opacity;animation:gi-aurora 40s linear infinite,gi-breathe 12s ease-in-out infinite alternate;animation-play-state:paused}
.gi-hero.gi-live.gi-vis::before{animation-play-state:running}
.gi-orbit{z-index:1}
@keyframes gi-aurora{to{transform:rotate(360deg)}}
@keyframes gi-breathe{from{opacity:.65}to{opacity:1}}
@media (prefers-reduced-motion:reduce){.gi-hero.gi-live::before{animation:none}}
/* sports page backdrop (only on pages that load this file) */
body::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:url(/img/hero/sports-lines.svg) center top/560px 560px repeat;opacity:.06}
@media (max-width:719px){body::before{background-size:380px 380px;opacity:.05}}
@media print{body::before{display:none}}
.gi-lbl{display:none}
.gi-tip{opacity:0;transition:opacity .2s}
.gi-tip text{font:800 34px ui-sans-serif,system-ui,sans-serif;fill:#fff;paint-order:stroke;stroke:#06111c;stroke-width:8px}

/* fieldcol 2026-10-13: dark sport-themed pitch tones (football green / parquet brown), no pink */
.gi-ball{filter:drop-shadow(0 0 10px #c98a4b)}
