/* GALAXION 2027 – new event homepage and shared navigation. */
:root { --gx-bg:#080b15; --gx-ink:#f4f4fa; --gx-muted:#aab0c0; --gx-accent:#ffba18; --gx-line:rgba(255,255,255,.13); }
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body.gx-home, body.gx-gallery-page { margin:0; color:var(--gx-ink); background:var(--gx-bg); font-family: 'Arial Narrow', 'Roboto Condensed', Impact, 'Arial', sans-serif; }
.gx-shell { width:min(1120px, calc(100% - 48px)); margin:0 auto; }
.gx-topbar { position:relative; z-index:20; border-bottom:1px solid var(--gx-line); background:rgba(7,10,20,.93); }
.gx-topbar-inner { display:flex; align-items:center; justify-content:space-between; gap:20px; min-height:80px; }
.gx-brand { color:var(--gx-accent)!important; text-decoration:none!important; font-size:25px; font-family:Impact,'Arial Black',sans-serif; letter-spacing:1.6px; line-height:1.1; white-space:nowrap; }
.gx-brand span { display:block; color:#a8acb9; font-family:Arial,sans-serif; font-size:9px; font-weight:700; letter-spacing:2px; margin-top:5px; }
.gx-nav { display:flex; flex-wrap:wrap; align-items:center; gap:8px; }
.gx-nav a { display:inline-block; text-decoration:none!important; border:1px solid var(--gx-line); padding:12px 17px; border-radius:5px; color:#f0f0f5!important; font:700 13px/1.3 Arial,sans-serif; letter-spacing:.25px; transition:background .2s,border-color .2s; }
.gx-nav a:hover,.gx-nav a:focus-visible { background:rgba(255,186,24,.12); border-color:var(--gx-accent); color:var(--gx-accent)!important; }
.gx-nav a.active { color:var(--gx-bg)!important; border-color:var(--gx-accent); background:var(--gx-accent); }
.gx-home { min-height:100vh; background:radial-gradient(ellipse 72% 44% at 50% 15%,rgba(81,85,139,.24),transparent 72%),radial-gradient(ellipse 60% 30% at 10% 61%,rgba(164,56,31,.13),transparent 75%),#080b15!important; }
.gx-hero { text-align:center; padding:84px 0 65px; }
.gx-eyebrow { margin:0 0 23px; color:#c5c6d3!important; font:700 clamp(12px,2vw,16px)/1.5 Arial,sans-serif!important; letter-spacing:5px; }
.gx-eyebrow span { color:var(--gx-accent); padding:0 5px; }
.gx-hero h1 { margin:0; color:var(--gx-accent); font:900 clamp(66px,14vw,167px)/.95 Impact,'Arial Black',sans-serif; letter-spacing:3px; text-shadow:0 8px 45px rgba(255,145,13,.15); }
.gx-save { display:inline-block; margin:28px 0 3px; padding:9px 26px; border-top:1px solid var(--gx-line); border-bottom:1px solid var(--gx-line); color:#fff!important; font:800 clamp(19px,3.7vw,32px)/1.3 Arial,sans-serif!important; letter-spacing:5px; }
.gx-date { margin:15px 0 4px; color:var(--gx-accent)!important; font:900 clamp(42px,9vw,100px)/1 Impact,'Arial Black',sans-serif!important; letter-spacing:1px; }
.gx-venue { margin:15px 0 33px; color:#f6f5fb!important; font:800 clamp(17px,3vw,29px)/1.3 Arial,sans-serif!important; letter-spacing:2.5px; }
.gx-venue span { color:var(--gx-accent); }
.gx-hero-actions { display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:12px; }
.gx-button { display:inline-flex; align-items:center; justify-content:center; gap:13px; min-height:50px; padding:14px 22px; border-radius:5px; border:1px solid var(--gx-accent); font:700 14px/1.35 Arial,sans-serif; text-decoration:none!important; transition:transform .2s, background .2s; }
.gx-button:hover,.gx-button:focus-visible { transform:translateY(-2px); }
.gx-button-primary,.gx-button-primary:hover { background:var(--gx-accent); color:#171716!important; }
.gx-button-outline { color:var(--gx-ink)!important; background:rgba(255,255,255,.03); border-color:#565666; }
.gx-button-outline:hover { color:var(--gx-accent)!important; border-color:var(--gx-accent); }
.gx-poster-section { padding-bottom:100px; scroll-margin-top:20px; }
.gx-poster { overflow:hidden; padding:0; margin:0; border:1px solid rgba(255,186,24,.22); border-radius:9px; box-shadow:0 26px 90px rgba(0,0,0,.55); background:#06080e; }
.gx-poster img { width:100%; height:auto; display:block; }
.gx-poster figcaption { padding:16px 22px; color:#aeb1bd; font:700 12px/1.5 Arial,sans-serif; letter-spacing:2px; text-align:center; }
.gx-history { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); align-items:center; gap:55px; padding:0 0 95px; }
.gx-section-kicker { margin:0 0 17px; font:800 12px/1.3 Arial,sans-serif!important; letter-spacing:3px; color:var(--gx-accent)!important; }
.gx-history h2 { color:var(--gx-ink); font:900 clamp(29px,4vw,49px)/1.13 Impact,'Arial Black',sans-serif; letter-spacing:.5px; margin:0 0 20px; }
.gx-history-text > p:not(.gx-section-kicker) { color:#c4c8d5!important; font:400 16px/1.8 Arial,sans-serif!important; margin:0 0 29px; }
.gx-history-photos { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; text-decoration:none; }
.gx-history-photos img { width:100%; aspect-ratio:3/2; object-fit:cover; border-radius:5px; display:block; }
.gx-history-photos img:first-child { grid-column:1 / -1; max-height:220px; }
.gx-footer { border-top:1px solid var(--gx-line); padding:25px 0; background:rgba(0,0,0,.2); }
.gx-footer-inner { display:flex; align-items:center; justify-content:space-between; gap:15px; }
.gx-footer p { color:#8d94a9!important; padding:0; margin:0; font:700 11px/1.5 Arial,sans-serif!important; letter-spacing:1.6px; }
.gx-footer span { color:var(--gx-accent); }
/* Preserve the original gallery and lightbox while giving it a consistent header. */
body.gx-gallery-page { background:#080b15!important; }
.gx-gallery-page .page { min-height:500px; padding-top:60px; padding-bottom:55px; }
.gx-gallery-page .promo-parallax { padding-top:0; }
.gx-gallery-page .full-bg { background:rgba(8,11,21,.88)!important; }
.gx-gallery-page #promo4 { background:transparent!important; }
.gx-gallery-page .gx-gallery-heading { margin:0 0 15px; color:var(--gx-accent); font:900 clamp(46px,7vw,82px)/1.05 Impact,'Arial Black',sans-serif; letter-spacing:1px; }
.gx-gallery-page .gx-gallery-intro { max-width:800px; margin:0 0 30px; color:#d4d5dd!important; font:400 16px/1.7 Arial,sans-serif!important; }
.gx-gallery-page .element { background-color:#281b15; }
.gx-gallery-page .element img { display:block; width:300px; height:200px; object-fit:cover; }
.gx-gallery-page .portfolio { min-height:250px; }
@media(max-width:760px) {
  .gx-topbar-inner { min-height:0; padding:18px 0; flex-direction:column; gap:15px; }
  .gx-nav { justify-content:center; }
  .gx-nav a { padding:10px 13px; font-size:12px; }
  .gx-shell { width:calc(100% - 28px); }
  .gx-hero { padding:59px 0 43px; }
  .gx-eyebrow { letter-spacing:2px; }
  .gx-hero h1 { letter-spacing:0; }
  .gx-save { letter-spacing:2px; }
  .gx-venue { letter-spacing:1px; }
  .gx-poster-section { padding-bottom:65px; }
  .gx-poster figcaption { font-size:10px; letter-spacing:.8px; }
  .gx-history { grid-template-columns:1fr; gap:32px; padding-bottom:65px; }
  .gx-footer-inner { flex-direction:column; align-items:flex-start; }
  .gx-gallery-page .page { padding-top:35px!important; }
}
@media(max-width:400px) {
  .gx-hero h1 { font-size:60px; }
  .gx-hero-actions .gx-button { width:100%; }
  .gx-nav a { font-size:11px; }
}


.gx-lineup-head { display:inline-block; margin:26px 0 6px; padding:9px 20px; border-top:1px solid var(--gx-line); border-bottom:1px solid var(--gx-line); color:#fff!important; font:800 clamp(17px,3.1vw,26px)/1.25 Arial,sans-serif!important; letter-spacing:4px; }
.gx-artists { margin:15px 0 8px; color:var(--gx-ink)!important; font:900 clamp(28px,5vw,56px)/1.05 Impact,'Arial Black',sans-serif!important; letter-spacing:1px; }
.gx-artists span { color:var(--gx-accent); display:inline-block; padding:0 10px; }
.gx-support { margin:0 0 20px; color:#dfe3ee!important; font:800 clamp(17px,2.6vw,28px)/1.25 Arial,sans-serif!important; letter-spacing:2px; }
.gx-support span { color:var(--gx-accent); }
.gx-button-ticket { box-shadow:0 12px 28px rgba(255,186,24,.24); }
.gx-poster-actions { display:flex; justify-content:center; padding-top:22px; }
.gx-footer a.gx-footer-link { color:var(--gx-accent)!important; text-decoration:none!important; }
.gx-footer a.gx-footer-link:hover, .gx-footer a.gx-footer-link:focus-visible { text-decoration:underline!important; }
@media(max-width:760px) { .gx-lineup-head { letter-spacing:2px; } .gx-artists span { padding:0 6px; } }
