/* fiespor.com — homepage and venue pages. A night-arena look: near-black
   ground, neon cyan→violet glow, a moving grid floor, cards that light up
   in their venue's colour (--c). Motion stops for prefers-reduced-motion. */
body.public:has(.fx) {background:#05060d;margin:0}
.fx {
  --bg:#05060d; --bg2:#0a0c18; --panel:#0e1122; --panel2:#141831; --line:#ffffff14; --line2:#ffffff24;
  --text:#eef1ff; --muted:#a3abd0; --faint:#6f78a3;
  --cyan:#22d3ee; --violet:#8b5cf6; --pink:#ec4899; --wa:#25d366;
  --grad:linear-gradient(92deg,var(--cyan),var(--violet) 55%,var(--pink));
  --radius:20px; --ease:cubic-bezier(.2,.75,.2,1);
  --c:var(--cyan);
  position:relative;min-height:100vh;min-height:100dvh;overflow-x:clip;
  background:radial-gradient(1200px 600px at 80% -10%,#8b5cf61f,transparent 60%),radial-gradient(900px 500px at -10% 10%,#22d3ee14,transparent 60%),var(--bg);
  color:var(--text);font-family:Inter,"Segoe UI",system-ui,-apple-system,Roboto,sans-serif;font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased;
}
.fx *,.fx *::before,.fx *::after {box-sizing:border-box}
.fx a {color:inherit;text-decoration:none}
.fx img {max-width:100%;display:block}
.fx h1,.fx h2,.fx h3 {margin:0;color:var(--text);font-weight:850;letter-spacing:-.02em;line-height:1.05}
body.public .fx h1,body.public .fx h2,body.public .fx h3 {font-family:inherit;font-weight:850}
.fx button,.fx input {font-family:inherit}
.fx p {margin:0}
.fx-ico {width:20px;height:20px;flex:none}
.fx :focus-visible {outline:2px solid var(--cyan);outline-offset:3px;border-radius:10px}

/* Top bar */
.fx-nav {position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:20px;padding:14px clamp(16px,4vw,48px);background:linear-gradient(to bottom,#05060de6,#05060db3);border-bottom:1px solid transparent;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);transition:border-color .3s}
.fx-nav.is-scrolled {border-bottom-color:var(--line)}
.fx-brand img {height:34px;width:auto}
.fx-nav-links {display:flex;gap:6px;margin-left:auto}
.fx-nav-links a {padding:8px 14px;border-radius:999px;color:var(--muted);font-weight:650;font-size:14.5px;transition:color .2s,background-color .2s}
.fx-nav-links a:hover {color:var(--text);background:#ffffff0d}

/* Buttons */
.fx-btn {position:relative;display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:50px;padding:0 22px;border-radius:14px;font-weight:800;font-size:15.5px;letter-spacing:.01em;white-space:nowrap;cursor:pointer;transition:transform .2s var(--ease),box-shadow .25s,background-color .2s,border-color .2s}
.fx-btn:active {transform:scale(.97)}
.fx-btn-primary {color:#05060d;background:var(--grad);background-size:160% 100%;box-shadow:0 10px 30px -8px #22d3ee88,0 0 0 1px #ffffff22 inset;animation:fx-sheen 6s linear infinite}
.fx-btn-primary:hover {box-shadow:0 14px 40px -6px #8b5cf6aa,0 0 0 1px #ffffff33 inset;transform:translateY(-2px)}
.fx-btn-ghost {color:var(--text);background:#ffffff08;border:1px solid var(--line2)}
.fx-btn-ghost:hover {border-color:var(--c);background:color-mix(in srgb,var(--c) 12%,transparent)}
.fx-btn-wa {color:#03140a;background:var(--wa);box-shadow:0 10px 30px -10px #25d366aa}
.fx-btn-wa:hover {transform:translateY(-2px)}
.fx-btn-sm {min-height:44px;padding:0 16px;font-size:14.5px;border-radius:12px}
.fx-btn-block {width:100%}
.fx-nav-ig {min-height:42px;padding:0 14px;font-size:14px}
.fx-ibtn {display:grid;place-items:center;width:44px;height:44px;border-radius:12px;border:1px solid var(--line2);background:#ffffff08;color:var(--muted);transition:color .2s,border-color .2s,background-color .2s,transform .2s}
.fx-ibtn:hover {color:var(--text);border-color:var(--c);transform:translateY(-2px)}
.fx-ibtn.is-wa:hover {color:var(--wa);border-color:var(--wa)}
.fx-ibtn.is-ig:hover {color:var(--pink);border-color:var(--pink)}
@keyframes fx-sheen {to {background-position:160% 0}}

/* Shared type */
.fx-kicker {display:inline-flex;align-items:center;gap:8px;color:var(--c);font-size:12.5px;font-weight:800;letter-spacing:.2em;text-transform:uppercase}
.fx-kicker .fx-ico {width:16px;height:16px}
.fx-grad {background:var(--grad);background-size:200% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:fx-sheen 8s linear infinite}
.fx-lead {max-width:56ch;color:var(--muted);font-size:clamp(16px,1.6vw,19px)}
.fx-sub {max-width:60ch;color:var(--muted)}
.fx-live {width:8px;height:8px;border-radius:50%;background:#4ade80;box-shadow:0 0 0 0 #4ade8099;animation:fx-pulse 2s ease-out infinite}
@keyframes fx-pulse {to {box-shadow:0 0 0 10px #4ade8000}}
.fx-cta {display:flex;flex-wrap:wrap;gap:12px}

/* Hero */
.fx-hero {position:relative;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);align-items:center;gap:40px;min-height:min(86vh,820px);padding:48px clamp(16px,4vw,48px) 80px;isolation:isolate}
.fx-hero-bg,.fx-lhero-bg {position:absolute;inset:0;z-index:-1;overflow:hidden;pointer-events:none}
.fx-grid {position:absolute;left:-50%;right:-50%;bottom:-10%;height:62%;background-image:linear-gradient(#22d3ee33 1px,transparent 1px),linear-gradient(90deg,#8b5cf633 1px,transparent 1px);background-size:56px 56px;transform:perspective(520px) rotateX(62deg);transform-origin:center top;-webkit-mask-image:linear-gradient(to top,#000 10%,transparent 85%);mask-image:linear-gradient(to top,#000 10%,transparent 85%);animation:fx-floor 4s linear infinite}
@keyframes fx-floor {to {background-position:0 56px,0 0}}
.fx-orb {position:absolute;width:520px;height:520px;border-radius:50%;filter:blur(90px);opacity:.45}
.fx-orb-a {top:-160px;right:-120px;background:#8b5cf6;animation:fx-drift 14s ease-in-out infinite alternate}
.fx-orb-b {bottom:-200px;left:-160px;background:#22d3ee;opacity:.28;animation:fx-drift 18s ease-in-out infinite alternate-reverse}
@keyframes fx-drift {to {transform:translate(-60px,50px) scale(1.12)}}
.fx-scan {position:absolute;inset:0;background:repeating-linear-gradient(to bottom,#ffffff05 0 1px,transparent 1px 4px);mix-blend-mode:overlay}
.fx-hero-copy {display:grid;gap:22px;max-width:680px}
.fx-hero h1 {font-size:clamp(52px,9vw,124px);letter-spacing:-.045em;line-height:.92}
.fx-glitch {position:relative;display:inline-block}
.fx-glitch::before,.fx-glitch::after {content:attr(data-text);position:absolute;inset:0;opacity:0;pointer-events:none}
.fx-glitch::before {color:var(--cyan);transform:translate(-3px,0);clip-path:inset(0 0 55% 0);animation:fx-glitch 5s steps(1) infinite}
.fx-glitch::after {color:var(--pink);transform:translate(3px,0);clip-path:inset(55% 0 0 0);animation:fx-glitch 5s steps(1) infinite reverse}
@keyframes fx-glitch {0%,91%,99%,100% {opacity:0;transform:translate(0)} 92% {opacity:.85;transform:translate(-5px,1px)} 94% {opacity:.85;transform:translate(5px,-1px)} 96% {opacity:.7;transform:translate(-2px,0)} 98% {opacity:0}}
.fx-stats {display:flex;flex-wrap:wrap;gap:10px;margin:6px 0 0;padding:0;list-style:none}
.fx-stats li {display:flex;align-items:baseline;gap:8px;padding:10px 16px;border:1px solid var(--line2);border-radius:14px;background:#ffffff06}
.fx-stats b {font-size:26px;font-weight:900;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.fx-stats span {color:var(--muted);font-weight:650;font-size:14px}
/* 3D stage (replaces the emblem): a turning cube of experiences, lights
   on tilted orbits, floating tags, a glowing floor. --tx/--ty lean it
   toward the pointer (fiespor.js). */
.fx-stage {--s:200px;position:relative;display:grid;place-items:center;width:100%;max-width:520px;aspect-ratio:1;justify-self:center;perspective:1100px;pointer-events:none;-webkit-user-select:none;user-select:none;contain:layout}
.fx-scene {position:relative;width:var(--s);height:var(--s);transform-style:preserve-3d;transform:rotateX(calc(-14deg + var(--tx,0deg))) rotateY(var(--ty,0deg));transition:transform .5s var(--ease)}
.fx-cube {position:absolute;inset:0;transform-style:preserve-3d;animation:fx-cube 20s cubic-bezier(.7,0,.25,1) infinite}
/* Shows each side face in turn: a turn, then a short hold. */
@keyframes fx-cube {
  0%,16% {transform:rotateX(-6deg) rotateY(-28deg)}
  25%,41% {transform:rotateX(-6deg) rotateY(-118deg)}
  50%,66% {transform:rotateX(-6deg) rotateY(-208deg)}
  75%,91% {transform:rotateX(-6deg) rotateY(-298deg)}
  100% {transform:rotateX(-6deg) rotateY(-388deg)}
}
.fx-face {position:absolute;inset:0;display:grid;place-content:center;justify-items:center;gap:12px;border:2px solid color-mix(in srgb,var(--c) 85%,#fff);border-radius:4px;background:radial-gradient(circle at 50% 38%,color-mix(in srgb,var(--c) 30%,transparent),transparent 68%),linear-gradient(150deg,#1b2042,#0a0d1c 60%,#05060d);box-shadow:inset 0 0 0 1px #ffffff14,inset 0 0 34px color-mix(in srgb,var(--c) 34%,transparent),0 0 24px color-mix(in srgb,var(--c) 40%,transparent);color:var(--c);-webkit-backface-visibility:hidden;backface-visibility:hidden}
/* A faint grid and a light sweep across the face. */
.fx-face::before {content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(115deg,transparent 35%,#ffffff1f 48%,transparent 60%) 0 0/300% 100% no-repeat,linear-gradient(color-mix(in srgb,var(--c) 14%,transparent) 1px,transparent 1px) 0 0/20px 20px,linear-gradient(90deg,color-mix(in srgb,var(--c) 14%,transparent) 1px,transparent 1px) 0 0/20px 20px;animation:fx-sweep 5s ease-in-out infinite}
@keyframes fx-sweep {0%,40% {background-position:150% 0,0 0,0 0} 70%,100% {background-position:-60% 0,0 0,0 0}}
/* HUD corner brackets. */
.fx-face::after {--k:calc(var(--s) * .12);content:"";position:absolute;inset:9px;background:
  linear-gradient(var(--c),var(--c)) top left/var(--k) 2px no-repeat,linear-gradient(var(--c),var(--c)) top left/2px var(--k) no-repeat,
  linear-gradient(var(--c),var(--c)) top right/var(--k) 2px no-repeat,linear-gradient(var(--c),var(--c)) top right/2px var(--k) no-repeat,
  linear-gradient(var(--c),var(--c)) bottom left/var(--k) 2px no-repeat,linear-gradient(var(--c),var(--c)) bottom left/2px var(--k) no-repeat,
  linear-gradient(var(--c),var(--c)) bottom right/var(--k) 2px no-repeat,linear-gradient(var(--c),var(--c)) bottom right/2px var(--k) no-repeat;
  filter:drop-shadow(0 0 4px var(--c));opacity:.9}
.fx-face .fx-ico {position:relative;width:calc(var(--s) * .34);height:calc(var(--s) * .34);stroke-width:1.4;filter:drop-shadow(0 0 10px var(--c))}
.fx-face b {position:relative;color:#fff;font-size:calc(var(--s) * .085);font-weight:900;letter-spacing:.18em;text-shadow:0 0 14px var(--c)}
/* Light from above: the top brightest, the sides a touch darker. */
.fx-face.is-top {filter:brightness(1.18)}
.fx-face.is-bottom {filter:brightness(.62)}
.fx-face.is-left,.fx-face.is-right {filter:brightness(.92)}
.fx-face.is-front {transform:translateZ(calc(var(--s) / 2))}
.fx-face.is-back {transform:rotateY(180deg) translateZ(calc(var(--s) / 2))}
.fx-face.is-right {transform:rotateY(90deg) translateZ(calc(var(--s) / 2))}
.fx-face.is-left {transform:rotateY(-90deg) translateZ(calc(var(--s) / 2))}
.fx-face.is-top {transform:rotateX(90deg) translateZ(calc(var(--s) / 2))}
.fx-face.is-bottom {transform:rotateX(-90deg) translateZ(calc(var(--s) / 2))}
.fx-floor {position:absolute;left:50%;top:50%;width:calc(var(--s) * 2.3);height:calc(var(--s) * 2.3);margin:calc(var(--s) * -1.15) 0 0 calc(var(--s) * -1.15);border-radius:50%;transform:rotateX(90deg) translateZ(calc(var(--s) * -.95));background:radial-gradient(circle,#22d3ee40,#8b5cf622 35%,transparent 65%),repeating-radial-gradient(circle,#22d3ee30 0 1px,transparent 1px 22px);animation:fx-floorpulse 3.2s ease-in-out infinite}
@keyframes fx-floorpulse {50% {opacity:.55;filter:blur(1px)}}
.fx-orbit {position:absolute;left:50%;top:50%;width:calc(var(--s) * 1.95);height:calc(var(--s) * 1.95);margin:calc(var(--s) * -.975) 0 0 calc(var(--s) * -.975);border:1px solid #22d3ee44;border-radius:50%;transform-style:preserve-3d;transform:rotateX(74deg);animation:fx-orbit 9s linear infinite}
.fx-orbit-2 {width:calc(var(--s) * 1.6);height:calc(var(--s) * 1.6);margin:calc(var(--s) * -.8) 0 0 calc(var(--s) * -.8);border-color:#ec489944;transform:rotateX(62deg) rotateY(28deg);animation:fx-orbit-2 13s linear infinite}
@keyframes fx-orbit {from {transform:rotateX(74deg) rotateZ(0)} to {transform:rotateX(74deg) rotateZ(360deg)}}
@keyframes fx-orbit-2 {from {transform:rotateX(62deg) rotateY(28deg) rotateZ(360deg)} to {transform:rotateX(62deg) rotateY(28deg) rotateZ(0)}}
.fx-orbit i {position:absolute;width:12px;height:12px;margin:-6px;border-radius:50%;background:#fff;box-shadow:0 0 12px 4px #22d3ee,0 0 30px 8px #22d3ee66}
.fx-orbit i:nth-child(1) {left:50%;top:0}
.fx-orbit i:nth-child(2) {left:100%;top:50%;background:#e9d5ff;box-shadow:0 0 12px 4px #8b5cf6,0 0 30px 8px #8b5cf666}
.fx-orbit i:nth-child(3) {left:14.6%;top:85.4%;width:8px;height:8px;margin:-4px}
.fx-orbit-2 i {background:#fbcfe8;box-shadow:0 0 12px 4px #ec4899,0 0 30px 8px #ec489966}
.fx-orbit-2 i:nth-child(1) {left:0;top:50%}
.fx-orbit-2 i:nth-child(2) {left:85.4%;top:14.6%;width:8px;height:8px;margin:-4px}
.fx-tag {position:absolute;display:inline-flex;align-items:center;gap:7px;padding:8px 14px;border:1px solid var(--line2);border-radius:999px;background:#0a0c18cc;color:var(--text);font-size:calc(var(--s) * .065);font-weight:900;letter-spacing:.14em;white-space:nowrap;box-shadow:0 10px 30px #0008;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:fx-tagfloat 5s ease-in-out infinite}
.fx-tag .fx-ico {width:16px;height:16px;color:var(--cyan)}
.fx-tag.is-a {left:-62%;top:6%;transform:translateZ(130px)}
.fx-tag.is-b {right:-58%;top:30%;transform:translateZ(90px);animation-delay:-1.6s}
.fx-tag.is-b .fx-ico {color:#fbbf24}
.fx-tag.is-c {left:-34%;bottom:-30%;transform:translateZ(160px);animation-delay:-3.2s}
.fx-tag.is-c .fx-ico {color:var(--pink)}
@keyframes fx-tagfloat {50% {translate:0 -14px}}

/* Cards lean toward the pointer (fiespor.js sets --rx/--ry). */
[data-fx-tilt] {transform-style:preserve-3d}
.fx [data-fx-tilt].is-tilting {transform:perspective(900px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg)) translateY(-6px)!important;transition:transform .12s linear,border-color .3s,box-shadow .3s!important}
@keyframes fx-spin {to {transform:rotate(360deg)}}

/* Marquee */
.fx-marquee {overflow:hidden;border-block:1px solid var(--line);background:linear-gradient(90deg,#22d3ee12,#8b5cf612,#ec489912);-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.fx-marquee-track {display:flex;align-items:center;gap:28px;width:max-content;padding:18px 0;animation:fx-marquee 32s linear infinite}
.fx-marquee span {font-size:clamp(18px,2.4vw,26px);font-weight:900;letter-spacing:.06em;color:transparent;-webkit-text-stroke:1px #ffffff66}
.fx-marquee span:nth-of-type(2n) {color:var(--text);-webkit-text-stroke:0}
.fx-marquee i {color:var(--cyan);font-style:normal;font-size:12px}
@keyframes fx-marquee {to {transform:translateX(-50%)}}

/* Sections */
.fx-section {padding:88px clamp(16px,4vw,48px) 0;max-width:1280px;margin:0 auto}
.fx-section.fx-tight {padding:56px 0 0}
.fx-head {display:grid;gap:12px;margin:0 0 32px}
.fx-head h2 {font-size:clamp(32px,4.4vw,56px)}
.fx-head h2 small {font-size:.45em;color:var(--faint);font-weight:700;vertical-align:middle}

.fx-xp {display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}
.fx-xp-card {position:relative;display:grid;align-content:start;gap:12px;padding:24px 20px;border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(180deg,#ffffff07,#ffffff02);overflow:hidden;transition:transform .35s var(--ease),border-color .3s,box-shadow .3s}
.fx-xp-card::before {content:"";position:absolute;inset:-1px;border-radius:inherit;background:radial-gradient(260px 160px at 50% -20%,color-mix(in srgb,var(--c) 35%,transparent),transparent 70%);opacity:.5;transition:opacity .3s;pointer-events:none}
.fx-xp-card:hover {transform:translateY(-6px);border-color:color-mix(in srgb,var(--c) 60%,transparent);box-shadow:0 20px 50px -20px var(--c)}
.fx-xp-card:hover::before {opacity:1}
.fx-xp-card .fx-ico {width:40px;height:40px;padding:8px;border-radius:12px;background:color-mix(in srgb,var(--c) 16%,transparent);color:var(--c);filter:drop-shadow(0 0 8px var(--c))}
.fx-xp-card h3 {font-size:19px}
.fx-xp-card p {color:var(--muted);font-size:14.5px}

/* Venue cards */
.fx-locs {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.fx-loc {position:relative;display:flex;flex-direction:column;border:1px solid var(--line);border-radius:24px;background:var(--panel);overflow:hidden;transition:transform .35s var(--ease),border-color .3s,box-shadow .35s}
.fx-loc::after {content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;background:linear-gradient(140deg,var(--c),transparent 40%,transparent 60%,color-mix(in srgb,var(--c) 50%,var(--violet)));-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:.35;transition:opacity .3s;pointer-events:none}
.fx-loc:hover {transform:translateY(-6px);box-shadow:0 30px 70px -30px var(--c)}
.fx-loc:hover::after {opacity:1}
.fx-loc-cover {position:relative;display:block;aspect-ratio:16/8;overflow:hidden;background:radial-gradient(120% 120% at 20% 0,color-mix(in srgb,var(--c) 40%,transparent),transparent 60%),linear-gradient(135deg,var(--panel2),var(--bg2))}
.fx-loc-cover img {width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}
.fx-loc:hover .fx-loc-cover img {transform:scale(1.06)}
.fx-loc-cover::after {content:"";position:absolute;inset:0;background:linear-gradient(to top,var(--panel) 2%,transparent 55%)}
.fx-loc-art {position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:clamp(14px,3vw,28px);color:var(--c);background-image:linear-gradient(color-mix(in srgb,var(--c) 18%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--c) 18%,transparent) 1px,transparent 1px);background-size:28px 28px}
.fx-loc-art .fx-ico {width:clamp(46px,7vw,72px);height:clamp(46px,7vw,72px);stroke-width:1.3;filter:drop-shadow(0 0 14px var(--c));opacity:.9}
.fx-loc-city {position:absolute;left:16px;top:16px;z-index:1;display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;background:#05060dcc;border:1px solid var(--line2);font-size:13px;font-weight:700;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.fx-loc-city .fx-ico {width:15px;height:15px;color:var(--c)}
.fx-loc-body {display:grid;gap:12px;padding:6px 22px 22px}
.fx-loc h3 {font-size:clamp(22px,2.4vw,28px)}
.fx-loc h3 a:hover {color:var(--c)}
.fx-loc-tag {color:var(--muted)}
.fx-chips {display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}
.fx-chips li {display:inline-flex;align-items:center;gap:6px;padding:6px 11px;border-radius:999px;background:color-mix(in srgb,var(--c) 12%,transparent);color:color-mix(in srgb,var(--c) 70%,#fff);font-size:13px;font-weight:700}
.fx-chips .fx-ico {width:15px;height:15px}
.fx-loc-acts {display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:4px}
.fx-loc-acts .fx-btn {margin-right:auto}

/* Band */
.fx-band {display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:24px;margin:0;padding:36px clamp(20px,4vw,48px);border:1px solid var(--line2);border-radius:28px;background:radial-gradient(600px 240px at 0 0,#22d3ee22,transparent 70%),radial-gradient(600px 240px at 100% 100%,#ec489922,transparent 70%),var(--panel)}
.fx-band > div {display:grid;gap:10px}
.fx-band h2 {font-size:clamp(24px,3vw,36px)}

/* Footer */
.fx-foot {display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px 24px;margin-top:96px;padding:28px clamp(16px,4vw,48px) calc(28px + env(safe-area-inset-bottom));border-top:1px solid var(--line);color:var(--faint);font-size:14px}
.fx-foot-logo {height:26px;width:auto;opacity:.85}
.fx-foot-links {display:flex;flex-wrap:wrap;gap:18px}
.fx-foot-links a:hover {color:var(--text)}

/* Venue page */
.fx-lhero {position:relative;display:flex;align-items:flex-end;min-height:min(72vh,640px);padding:48px clamp(16px,4vw,48px) 56px;isolation:isolate;overflow:hidden}
.fx-lhero-img {position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;transform:scale(1.04);animation:fx-kenburns 22s ease-in-out infinite alternate}
@keyframes fx-kenburns {to {transform:scale(1.14) translate(-1%,-1%)}}
.fx-lhero.has-cover::before {content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(to top,var(--bg) 4%,#05060dcc 40%,#05060d55 75%,#05060d99),radial-gradient(800px 400px at 0 100%,color-mix(in srgb,var(--c) 35%,transparent),transparent 70%)}
.fx-lhero:not(.has-cover) .fx-orb-a {background:var(--c)}
.fx-lhero-copy {display:grid;gap:18px;max-width:900px}
.fx-lhero h1 {font-size:clamp(40px,7vw,96px);letter-spacing:-.04em;text-shadow:0 0 40px color-mix(in srgb,var(--c) 45%,transparent)}
.fx-back {display:inline-flex;align-items:center;gap:8px;justify-self:start;padding:8px 14px 8px 10px;border-radius:999px;border:1px solid var(--line2);background:#05060d99;color:var(--muted);font-weight:700;font-size:14px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.fx-back:hover {color:var(--text);border-color:var(--c)}
.fx-back .fx-ico {width:16px;height:16px}
.fx-lgrid {display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:40px;align-items:start;max-width:1280px;margin:0 auto;padding:0 clamp(16px,4vw,48px)}
.fx-lside {position:sticky;top:90px;padding-top:56px}
.fx-feats {display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px;margin:0;padding:0;list-style:none}
.fx-feats li {display:flex;align-items:center;gap:14px;padding:18px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(135deg,color-mix(in srgb,var(--c) 10%,transparent),transparent 60%),var(--panel);font-weight:750;transition:border-color .3s,transform .3s var(--ease)}
.fx-feats li:hover {border-color:color-mix(in srgb,var(--c) 60%,transparent);transform:translateY(-3px)}
.fx-feats li > span {display:grid;gap:4px;min-width:0}
.fx-feats li b {font-weight:800}
.fx-feats li small {color:var(--muted);font-size:14px;font-weight:500;line-height:1.5}
.fx-feats:has(.has-desc) {grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}
.fx-feats li.has-desc {align-items:flex-start;padding:20px}
.fx-feats .fx-ico {width:44px;height:44px;padding:10px;border-radius:13px;background:color-mix(in srgb,var(--c) 18%,transparent);color:var(--c);filter:drop-shadow(0 0 8px color-mix(in srgb,var(--c) 70%,transparent))}
.fx-about {display:grid;gap:14px;color:var(--muted);font-size:17.5px;max-width:70ch}
.fx-about p:first-child {color:var(--text);font-size:clamp(19px,2vw,23px);font-weight:650;line-height:1.45}
.fx-video {position:relative;border-radius:22px;padding:2px;background:linear-gradient(135deg,var(--c),var(--violet),var(--pink));box-shadow:0 30px 80px -30px var(--c)}
.fx-video video {display:block;width:100%;max-height:72vh;border-radius:20px;background:#000}
.fx-gallery {display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px}
.fx-shot {position:relative;aspect-ratio:4/3;padding:0;border:1px solid var(--line);border-radius:16px;background:var(--panel);overflow:hidden;cursor:zoom-in}
.fx-shot img {width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ease),filter .3s}
.fx-shot:hover img {transform:scale(1.07);filter:saturate(1.2)}
.fx-info {display:grid;gap:18px;padding:24px;border:1px solid var(--line2);border-radius:24px;background:radial-gradient(400px 200px at 100% 0,color-mix(in srgb,var(--c) 18%,transparent),transparent 70%),var(--panel)}
.fx-info h2 {font-size:22px}
.fx-info dl {display:grid;gap:16px;margin:0}
.fx-info dl > div {display:grid;grid-template-columns:auto 1fr;column-gap:12px;align-items:start}
.fx-info dl .fx-ico {grid-row:span 2;width:38px;height:38px;padding:9px;border-radius:12px;background:#ffffff0a;color:var(--c)}
.fx-info dt {color:var(--faint);font-size:12.5px;font-weight:750;letter-spacing:.06em;text-transform:uppercase}
.fx-info dd {display:grid;margin:0;font-weight:650;overflow-wrap:anywhere}
.fx-info dd a:hover {color:var(--c)}
.fx-others {display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}
.fx-other {display:flex;align-items:center;gap:14px;padding:12px 16px 12px 12px;border:1px solid var(--line);border-radius:18px;background:var(--panel);transition:border-color .3s,transform .3s var(--ease)}
.fx-other:hover {border-color:var(--c);transform:translateY(-3px)}
.fx-other > span:nth-child(2) {display:grid;flex:1;min-width:0}
.fx-other b {line-height:1.25}
.fx-other small {color:var(--faint)}
.fx-other-art {display:grid;place-items:center;flex:none;width:56px;height:56px;border-radius:14px;overflow:hidden;background:color-mix(in srgb,var(--c) 16%,transparent);color:var(--c)}
.fx-other-art img {width:100%;height:100%;object-fit:cover}
.fx-other > .fx-ico {color:var(--faint)}
.fx-dock {display:none}

/* Lightbox */
.fx-lightbox {width:100vw;max-width:100vw;height:100vh;height:100dvh;max-height:none;margin:0;padding:0;border:0;background:#000000ee;color:#fff}
.fx-lightbox[open] {display:grid;place-items:center}
.fx-lightbox::backdrop {background:#000c}
.fx-lightbox img {max-width:94vw;max-height:84vh;max-height:84dvh;border-radius:12px;object-fit:contain}
.fx-lb-x,.fx-lb-nav {position:absolute;display:grid;place-items:center;width:48px;height:48px;padding:0;border:1px solid #ffffff33;border-radius:50%;background:#ffffff14;color:#fff;cursor:pointer}
.fx-lb-x {top:calc(16px + env(safe-area-inset-top));right:16px}
.fx-lb-nav {top:50%;transform:translateY(-50%)}
.fx-lb-nav.is-prev {left:16px}
.fx-lb-nav.is-next {right:16px}
.fx-lb-count {position:absolute;bottom:calc(18px + env(safe-area-inset-bottom));left:0;right:0;text-align:center;color:#ffffffaa;font-weight:700;pointer-events:none}
@media (max-width:640px) {.fx-lb-count {bottom:calc(30px + env(safe-area-inset-bottom))}}

/* Top bar extras: scroll progress ("XP bar") and the phone menu */
.fx-progress {position:absolute;left:0;right:0;bottom:-1px;height:2px;pointer-events:none}
.fx-progress i {display:block;height:100%;width:100%;transform:scaleX(var(--p,0));transform-origin:left;background:var(--grad);box-shadow:0 0 12px #22d3ee}
.fx-burger {display:none;position:relative}
.fx-burger summary {display:grid;align-content:center;gap:5px;width:44px;height:42px;padding:0 11px;border:1px solid var(--line2);border-radius:12px;background:#ffffff08;cursor:pointer;list-style:none}
.fx-burger summary::-webkit-details-marker {display:none}
.fx-burger summary i {display:block;height:2px;border-radius:2px;background:var(--text);transition:transform .25s var(--ease),opacity .2s}
.fx-burger[open] summary i:nth-child(1) {transform:translateY(7px) rotate(45deg)}
.fx-burger[open] summary i:nth-child(2) {opacity:0}
.fx-burger[open] summary i:nth-child(3) {transform:translateY(-7px) rotate(-45deg)}
.fx-burger-panel {position:absolute;right:0;top:calc(100% + 10px);display:grid;gap:4px;width:min(280px,calc(100vw - 32px));padding:10px;border:1px solid var(--line2);border-radius:18px;background:#0a0c18f2;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:0 24px 60px #000c;animation:fx-pop .2s var(--ease)}
.fx-burger-panel > a:not(.fx-btn) {padding:12px 14px;border-radius:12px;font-weight:700}
.fx-burger-panel > a:not(.fx-btn):hover {background:#ffffff0d}
.fx-burger-panel .fx-btn {margin-top:6px;min-height:46px}
@keyframes fx-pop {from {opacity:0;transform:translateY(-6px) scale(.98)}}

/* Neden Fiespor */
.fx-why {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.fx-why-card {position:relative;display:grid;align-content:start;gap:12px;padding:26px 22px;border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(160deg,color-mix(in srgb,var(--c) 10%,transparent),transparent 55%),var(--panel);overflow:hidden;transition:transform .35s var(--ease),border-color .3s}
.fx-why-card:hover {transform:translateY(-5px);border-color:color-mix(in srgb,var(--c) 55%,transparent)}
.fx-why-num {position:absolute;right:16px;top:8px;font-size:56px;font-weight:900;letter-spacing:-.04em;color:transparent;-webkit-text-stroke:1px color-mix(in srgb,var(--c) 40%,transparent)}
.fx-why-card .fx-ico {width:44px;height:44px;padding:10px;border-radius:13px;background:color-mix(in srgb,var(--c) 16%,transparent);color:var(--c)}
.fx-why-card h3 {font-size:19px}
.fx-why-card p {color:var(--muted);font-size:14.5px}

/* Venue filter */
.fx-filter {display:flex;flex-wrap:wrap;gap:8px;margin:-8px 0 22px}
.fx-filter button {display:inline-flex;align-items:center;gap:8px;min-height:42px;padding:0 18px;border:1px solid var(--line2);border-radius:999px;background:#ffffff06;color:var(--muted);font-weight:750;font-size:14.5px;cursor:pointer;transition:all .2s}
.fx-filter button span {padding:1px 8px;border-radius:999px;background:#ffffff14;font-size:12px}
.fx-filter button:hover {color:var(--text);border-color:var(--cyan)}
.fx-filter button[aria-pressed=true] {color:#05060d;background:var(--grad);border-color:transparent}
.fx-filter button[aria-pressed=true] span {background:#05060d33;color:#05060d}
.fx-loc[hidden] {display:none}

/* Rezervasyon steps */
.fx-steps {position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:0;padding:0;list-style:none;counter-reset:s}
.fx-steps::before {content:"";position:absolute;left:8%;right:8%;top:34px;height:2px;background:linear-gradient(90deg,transparent,#22d3ee66,#8b5cf666,#ec489966,transparent)}
.fx-steps li {position:relative;display:grid;justify-items:start;gap:14px;padding:0 6px}
.fx-steps b {display:grid;place-items:center;width:68px;height:68px;border-radius:50%;background:var(--bg);border:2px solid transparent;background-image:linear-gradient(var(--bg),var(--bg)),var(--grad);background-origin:border-box;background-clip:padding-box,border-box;font-size:26px;font-weight:900;box-shadow:0 0 30px #8b5cf644}
.fx-steps h3 {font-size:20px;margin-bottom:6px}
.fx-steps p {color:var(--muted);font-size:15px}
.fx-steps-cta {display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}

/* SSS */
.fx-faq {display:grid;gap:10px;max-width:880px}
.fx-faq details {border:1px solid var(--line);border-radius:18px;background:var(--panel);transition:border-color .25s}
.fx-faq details[open] {border-color:#22d3ee55;background:linear-gradient(135deg,#22d3ee0d,transparent 50%),var(--panel)}
.fx-faq summary {display:flex;align-items:center;justify-content:space-between;gap:14px;padding:18px 20px;font-weight:800;font-size:16.5px;cursor:pointer;list-style:none}
.fx-faq summary::-webkit-details-marker {display:none}
.fx-faq summary .fx-ico {color:var(--cyan);transition:transform .25s var(--ease)}
.fx-faq details[open] summary .fx-ico {transform:rotate(90deg)}
.fx-faq details p {padding:0 20px 18px;color:var(--muted)}
.fx-faq details p a {color:var(--cyan);font-weight:700}

/* Floating booking button, its sheet, back to top */
.fx-fab {position:fixed;right:18px;bottom:calc(18px + env(safe-area-inset-bottom));z-index:35;display:inline-flex;align-items:center;gap:9px;min-height:54px;padding:0 20px 0 16px;border-radius:999px;background:var(--wa);color:#03140a!important;font-weight:850;box-shadow:0 14px 34px -8px #25d366aa;transition:transform .25s var(--ease),opacity .25s}
.fx-fab .fx-ico {width:24px;height:24px}
.fx-fab::before {content:"";position:absolute;inset:-4px;border-radius:inherit;border:2px solid #25d36688;animation:fx-ring 2.4s ease-out infinite}
@keyframes fx-ring {from {transform:scale(.95);opacity:1} to {transform:scale(1.25);opacity:0}}
.fx-fab:hover {transform:translateY(-3px)}
.fx-top {position:fixed;right:18px;bottom:calc(86px + env(safe-area-inset-bottom));z-index:35;display:grid;place-items:center;width:46px;height:46px;border:1px solid var(--line2);border-radius:50%;background:#0a0c18e6;color:var(--text);opacity:0;pointer-events:none;transform:translateY(10px);transition:opacity .25s,transform .25s var(--ease);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.fx-top.is-on {opacity:1;pointer-events:auto;transform:none}
.fx-sheet {width:min(520px,calc(100vw - 24px));max-height:min(80vh,640px);margin:auto;padding:0;border:1px solid var(--line2);border-radius:24px;background:var(--panel);color:var(--text);box-shadow:0 30px 80px #000d}
.fx-sheet::backdrop {background:#000a;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}
.fx-sheet[open] {display:flex;flex-direction:column;animation:fx-pop .22s var(--ease)}
.fx-sheet header {display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:20px 20px 12px}
.fx-sheet h2 {font-size:22px;margin-top:6px}
.fx-sheet-x {display:grid;place-items:center;width:42px;height:42px;padding:0;border:1px solid var(--line2);border-radius:12px;background:#ffffff08;color:var(--text);cursor:pointer}
.fx-sheet ul {display:grid;gap:8px;margin:0;padding:4px 16px 20px;list-style:none;overflow:auto}
.fx-sheet li {display:flex;align-items:center;gap:8px;padding:12px 12px 12px 16px;border:1px solid var(--line);border-left:3px solid var(--c);border-radius:16px;background:var(--bg2)}
.fx-sheet-name {display:grid;flex:1;min-width:0}
.fx-sheet-name small {color:var(--faint)}

/* Hero particles (fiespor.js draws them) */
.fx-particles {position:absolute;inset:0;width:100%;height:100%;opacity:.9}

/* Rotating words under the headline */
.fx-rotator {display:flex;align-items:center;gap:10px;margin-top:-6px;min-height:1.4em;font-family:ui-monospace,"SF Mono",Menlo,Consolas,monospace;font-size:clamp(17px,2vw,24px);font-weight:800;letter-spacing:.16em;color:var(--cyan)}
.fx-rot-pre {color:var(--faint)}
.fx-rot-word {position:relative;display:inline-block;text-shadow:0 0 18px #22d3ee88;transition:opacity .18s,transform .18s,filter .18s}
.fx-rot-word.is-out {opacity:0;transform:translateY(-6px) skewX(-12deg);filter:blur(3px)}
.fx-rot-word.is-in {animation:fx-rotin .45s var(--ease)}
@keyframes fx-rotin {0% {opacity:0;transform:translateY(8px) skewX(12deg);filter:blur(3px);color:var(--pink)} 60% {opacity:1;filter:none} 100% {transform:none}}
.fx-caret {width:.6em;height:1.05em;background:var(--cyan);box-shadow:0 0 12px var(--cyan);animation:fx-blink 1s steps(1) infinite}
@keyframes fx-blink {50% {opacity:0}}

/* Second marquee row, the other way */
.fx-marquee-track.is-rev {padding:0 0 16px;animation-direction:reverse;animation-duration:40s}
.fx-marquee-track.is-rev span {font-size:clamp(14px,1.6vw,18px);letter-spacing:.24em;color:transparent;background:var(--grad);-webkit-background-clip:text;background-clip:text;-webkit-text-stroke:0}
.fx-marquee-track.is-rev i {color:var(--pink)}

/* A soft light that follows the mouse */
.fx-cursor {position:fixed;left:0;top:0;z-index:60;width:460px;height:460px;margin:-230px 0 0 -230px;border-radius:50%;background:radial-gradient(circle,#22d3ee1c,#8b5cf612 35%,transparent 65%);mix-blend-mode:screen;pointer-events:none;opacity:0;transition:opacity .4s;will-change:transform}
.fx-cursor.is-on {opacity:1}
@media (hover:none) {.fx-cursor {display:none}}

/* Spotlight that follows the pointer across a card */
[data-fx-tilt],[data-fx-spot] {position:relative}
.fx-spot {position:absolute;inset:0;z-index:0;border-radius:inherit;pointer-events:none;background:radial-gradient(260px circle at var(--mx,50%) var(--my,50%),color-mix(in srgb,var(--c,#22d3ee) 24%,transparent),transparent 62%);opacity:0;transition:opacity .3s}
[data-fx-tilt]:hover > .fx-spot,[data-fx-spot]:hover > .fx-spot {opacity:1}
.fx-xp-card > :not(.fx-spot),.fx-why-card > :not(.fx-spot):not(.fx-why-num),.fx-feats li > :not(.fx-spot) {position:relative;z-index:1}

/* Section headings draw a neon line under them */
.fx-head h2::after {content:"";display:block;width:min(160px,40%);height:3px;margin-top:16px;border-radius:3px;background:var(--grad);box-shadow:0 0 14px #8b5cf688;transition:width 1.1s .25s var(--ease)}
.fx-motion .fx-head:not(.is-in) h2::after {width:0}

/* Icons hop on hover */
.fx-xp-card:hover .fx-ico,.fx-why-card:hover > .fx-ico,.fx-feats li:hover > .fx-ico,.fx-chips li:hover .fx-ico {animation:fx-hop .6s var(--ease)}
@keyframes fx-hop {30% {transform:translateY(-6px) scale(1.1) rotate(-8deg)} 60% {transform:translateY(1px) scale(.97)} 100% {transform:none}}

/* Venue page: the name comes in letter by letter */
.fx-word {display:inline-block;white-space:nowrap}
.fx-motion .fx-letter {display:inline-block;opacity:0;transform:translateY(.45em) rotateX(-80deg);transform-origin:50% 100%;animation:fx-letter .7s var(--ease) forwards;animation-delay:calc(var(--i) * 32ms + 120ms)}
@keyframes fx-letter {to {opacity:1;transform:none}}

.fx .sr-only {position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* Sanal tur. Plain (no JS / reduced motion): a list of the scenes. With
   .is-3d (fiespor.js) the section is tall, its stage sticks to the
   screen, and scrolling moves the camera from scene to scene. */
.fx-tour {position:relative;max-width:1280px;margin:0 auto;padding:56px clamp(16px,4vw,48px) 0}
.fx-tour-bg,.fx-tour-hud {display:none}
.fx-tour-world {display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px}
.fx-tscene {position:relative;margin:0;aspect-ratio:4/3;border:2px solid color-mix(in srgb,var(--c) 70%,transparent);border-radius:20px;overflow:hidden;background:linear-gradient(150deg,var(--panel2),var(--bg2));box-shadow:0 30px 80px -30px var(--c)}
.fx-tshot {position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.06);transition:opacity .9s var(--ease),transform 6s ease-out}
.fx-tshot.is-on {opacity:1;transform:scale(1)}
.fx-tscene-count {position:absolute;top:14px;right:14px;z-index:2;padding:5px 11px;border:1px solid var(--line2);border-radius:999px;background:#05060dcc;color:var(--text);font:800 12px/1 ui-monospace,Menlo,Consolas,monospace;letter-spacing:.1em}
.fx-tscene-count i {font-style:normal;color:var(--c)}
.fx-tscene.is-entrance {border-width:3px;border-image:none;border-color:transparent;background:linear-gradient(var(--bg2),var(--bg2)) padding-box,var(--grad) border-box}
.fx-tscene::after {content:"";position:absolute;inset:0;background:linear-gradient(to top,#05060de6 0,#05060d66 32%,transparent 60%);pointer-events:none}
.fx-tscene figcaption {position:absolute;left:0;right:0;bottom:0;z-index:1;display:grid;gap:4px;padding:18px 20px}
.fx-tscene figcaption b {font-size:20px}
.fx-tscene figcaption small {color:var(--muted);font-size:14px}
.fx-tscene-no {color:var(--c);font:800 13px/1 ui-monospace,Menlo,Consolas,monospace;letter-spacing:.2em}
.fx-tscene-art {position:absolute;inset:0;display:grid;place-content:center;justify-items:center;gap:14px;color:var(--c);background-image:linear-gradient(color-mix(in srgb,var(--c) 16%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--c) 16%,transparent) 1px,transparent 1px);background-size:32px 32px}
.fx-tscene-art .fx-ico {width:min(26%,120px);height:auto;aspect-ratio:1;stroke-width:1.2;filter:drop-shadow(0 0 18px var(--c))}
.fx-tscene-art em {font-style:normal;color:var(--faint);font-size:13px;font-weight:700;letter-spacing:.16em;text-transform:uppercase}

/* Closed tour: one card with the way in. */
.fx-tour-intro {display:none}
.fx-tour.is-closed .fx-tour-sticky {display:none}
.fx-tour.is-closed .fx-tour-intro {display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);align-items:center;gap:28px;padding:16px;border:1px solid var(--line2);border-radius:28px;background:radial-gradient(500px 260px at 100% 0,color-mix(in srgb,var(--c) 18%,transparent),transparent 70%),var(--panel);overflow:hidden}
.fx-tour-intro-art {position:relative;aspect-ratio:16/10;border-radius:20px;overflow:hidden;background:linear-gradient(150deg,var(--panel2),var(--bg2));box-shadow:0 30px 70px -30px var(--c);transform:perspective(900px) rotateY(8deg) rotateX(3deg);transition:transform .5s var(--ease)}
.fx-tour-intro:hover .fx-tour-intro-art {transform:perspective(900px) rotateY(0) rotateX(0)}
.fx-tour-intro-art img,.fx-tour-intro-art video {width:100%;height:100%;object-fit:cover}
.fx-tour-intro-art::after {content:"";position:absolute;inset:0;background:linear-gradient(to top,#05060d99,transparent 50%)}
.fx-tour-intro-copy {display:grid;gap:14px;justify-items:start;padding-right:12px}
.fx-tour-intro-copy h3 {font-size:clamp(26px,3vw,38px)}
.fx-tour-intro-copy > p:not(.fx-kicker) {color:var(--muted)}
.fx-tour-exit {position:absolute;top:14px;right:clamp(14px,3vw,36px);display:inline-flex;align-items:center;gap:7px;min-height:40px;padding:0 14px;border:1px solid var(--line2);border-radius:999px;background:#05060dcc;color:var(--text);font:700 13.5px/1 inherit;cursor:pointer;pointer-events:auto;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.fx-tour-exit .fx-ico {width:16px;height:16px}
.fx-tour-exit:hover {border-color:var(--c)}
@media (max-width:640px) {
  .fx-tour.is-closed .fx-tour-intro {grid-template-columns:minmax(0,1fr);gap:16px;padding:12px;border-radius:22px}
  .fx-tour-intro-art {transform:none}
  .fx-tour-intro-copy {padding:0 6px 8px}
  .fx-tour-intro-copy .fx-btn {width:100%}
  .fx-tour-exit {top:10px;right:10px}
  .fx-tour-hint {top:60px}
}
.fx-tour.is-3d {max-width:none;height:calc((var(--n) + .5) * 100vh);height:calc((var(--n) + .5) * 100svh);margin:0;padding:0}
.fx-tour.is-3d .fx-tour-sticky {position:sticky;top:0;height:100vh;height:100svh;overflow:hidden;perspective:1000px;perspective-origin:50% 42%}
.fx-tour.is-3d .fx-tour-bg {display:block;position:absolute;inset:0;pointer-events:none}
.fx-tour.is-3d .fx-tour-bg .fx-grid {height:55%;animation:none;background-position:0 calc(var(--walk,0) * 56px),0 0}
.fx-tour.is-3d .fx-tour-bg .fx-grid.is-top {top:-10%;bottom:auto;transform:perspective(520px) rotateX(-62deg);transform-origin:center bottom;-webkit-mask-image:linear-gradient(to bottom,#000 10%,transparent 85%);mask-image:linear-gradient(to bottom,#000 10%,transparent 85%);opacity:.5}
.fx-tour.is-3d .fx-tour-world {display:block;position:absolute;inset:0;transform-style:preserve-3d}
.fx-tour.is-3d .fx-tscene {position:absolute;left:50%;top:46%;width:min(74vw,960px);aspect-ratio:16/10;will-change:transform,opacity;cursor:pointer;transform:translate(-50%,-50%)}
.fx-tour.is-3d .fx-tscene figcaption {display:none}
.fx-tour.is-3d .fx-tscene.is-active {box-shadow:0 0 0 1px #ffffff22,0 40px 120px -30px var(--c),0 0 60px -10px var(--c)}
.fx-tour.is-3d .fx-tour-hud {display:block;position:absolute;inset:0;pointer-events:none}
.fx-tour-cap {position:absolute;left:clamp(16px,4vw,48px);bottom:clamp(24px,6vh,64px);display:grid;gap:8px;max-width:min(560px,calc(100vw - 32px));padding:18px 22px;border:1px solid var(--line2);border-radius:20px;background:#05060dcc;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);transition:opacity .3s,transform .3s var(--ease)}
.fx-tour-cap.is-swap {opacity:0;transform:translateY(10px)}
.fx-tour-cap h3 {font-size:clamp(24px,3.2vw,40px)}
.fx-tour-cap p:last-child {color:var(--muted)}
.fx-tour-dots {position:absolute;right:clamp(14px,3vw,36px);top:50%;display:grid;gap:10px;transform:translateY(-50%);pointer-events:auto}
.fx-tour-dots button {display:grid;place-items:center;width:26px;height:26px;padding:0;border:0;background:none;cursor:pointer}
.fx-tour-dots i {width:9px;height:9px;border-radius:50%;background:#ffffff40;transition:all .25s}
.fx-tour-dots button.is-on i {width:12px;height:28px;border-radius:6px;background:var(--grad);box-shadow:0 0 14px #22d3ee}
.fx-tour-hint {position:absolute;left:50%;top:18px;display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border:1px solid var(--line2);border-radius:999px;background:#05060daa;color:var(--muted);font-size:13px;font-weight:700;transform:translateX(-50%);transition:opacity .4s}
.fx-tour-hint .fx-ico {width:15px;height:15px;transform:rotate(180deg);animation:fx-hint 1.4s ease-in-out infinite}
@keyframes fx-hint {50% {translate:0 4px}}
.fx-tour-hint.is-gone {opacity:0}
.fx-tour-bar {position:absolute;left:0;right:0;bottom:0;height:3px;background:#ffffff10}
.fx-tour-bar i {display:block;height:100%;transform:scaleX(var(--p,0));transform-origin:left;background:var(--grad)}
@media (max-width:640px) {
  .fx-tour.is-3d .fx-tscene {width:84vw;aspect-ratio:4/5;top:40%}
  .fx-tour.is-3d .fx-tour-sticky {perspective:800px}
  .fx-tour-cap {left:12px;right:12px;bottom:calc(86px + env(safe-area-inset-bottom));padding:14px 16px}
  .fx-tour-dots {right:6px}
  .fx-tour-world {grid-template-columns:minmax(0,1fr)}
}

/* Zone cards ("Seni neler bekliyor") — each opens the zone's page */
.fx-zcards {display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:16px}
.fx-zcard {position:relative;display:flex;flex-direction:column;border:1px solid var(--line);border-radius:22px;background:var(--panel);overflow:hidden;transition:transform .35s var(--ease),border-color .3s,box-shadow .35s}
.fx-zcard:hover {transform:translateY(-6px);border-color:color-mix(in srgb,var(--c) 60%,transparent);box-shadow:0 30px 60px -30px var(--c)}
.fx-zcard-art {position:relative;display:block;aspect-ratio:16/10;overflow:hidden;background:linear-gradient(150deg,var(--panel2),var(--bg2))}
.fx-zcard-art img {width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease)}
.fx-zcard:hover .fx-zcard-art img {transform:scale(1.07)}
.fx-zcard-art .fx-tscene-art .fx-ico {width:64px;height:64px}
.fx-zcard-art em {position:absolute;right:12px;top:12px;z-index:1;padding:4px 10px;border-radius:999px;background:#05060dcc;color:var(--text);font-style:normal;font-size:12px;font-weight:750}
.fx-zcard-body {position:relative;z-index:1;display:grid;gap:8px;padding:16px 18px 18px}
.fx-zcard-title {display:flex;align-items:center;gap:10px}
.fx-zcard-title .fx-ico {flex:none;width:36px;height:36px;padding:8px;border-radius:11px;background:color-mix(in srgb,var(--c) 16%,transparent);color:var(--c)}
.fx-zcard-title b {font-size:18px;line-height:1.2}
.fx-zcard-body small {color:var(--muted);font-size:14px;line-height:1.5;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.fx-zcard-go {display:inline-flex;align-items:center;gap:6px;margin-top:4px;color:var(--c);font-weight:800;font-size:14px}
.fx-zcard-go .fx-ico {width:16px;height:16px;transition:transform .25s var(--ease)}
.fx-zcard:hover .fx-zcard-go .fx-ico {transform:translateX(4px)}

/* Zone page */
.fx-crumbs {display:flex;flex-wrap:wrap;align-items:center;gap:8px;max-width:1280px;margin:0 auto;padding:22px clamp(16px,4vw,48px) 0;color:var(--faint);font-size:14px;font-weight:650}
.fx-crumbs a:hover {color:var(--text)}
.fx-crumbs b {color:var(--text)}
.fx-zhero {display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);grid-template-areas:"slider copy" "thumbs copy";gap:16px 40px;align-items:start;max-width:1280px;margin:0 auto;padding:22px clamp(16px,4vw,48px) 0}
.fx-slider {grid-area:slider;position:relative;aspect-ratio:4/3;border:2px solid color-mix(in srgb,var(--c) 70%,transparent);border-radius:24px;overflow:hidden;background:linear-gradient(150deg,var(--panel2),var(--bg2));box-shadow:0 40px 90px -40px var(--c)}
.fx-slides {position:absolute;inset:0}
.fx-slide {position:absolute;inset:0;width:100%;height:100%;padding:0;border:0;background:none;opacity:0;transform:scale(1.04);transition:opacity .6s var(--ease),transform 1.2s var(--ease);cursor:zoom-in}
.fx-slide.is-on {opacity:1;transform:none;z-index:1}
.fx-slide img,video.fx-slide {width:100%;height:100%;object-fit:cover}
.fx-slide-empty {cursor:default}
.fx-snav {position:absolute;top:50%;z-index:2;display:grid;place-items:center;width:48px;height:48px;padding:0;border:1px solid #ffffff33;border-radius:50%;background:#05060daa;color:#fff;transform:translateY(-50%);cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:background-color .2s,border-color .2s}
.fx-snav:hover {border-color:var(--c);background:#05060dee}
.fx-snav.is-prev {left:14px}
.fx-snav.is-next {right:14px}
.fx-scount {position:absolute;right:14px;bottom:14px;z-index:2;padding:5px 12px;border-radius:999px;background:#05060dcc;color:#fff;font:800 13px/1 ui-monospace,Menlo,Consolas,monospace}
.fx-scount i {font-style:normal;color:var(--c)}
.fx-thumbs {grid-area:thumbs;display:flex;gap:8px;overflow-x:auto;padding-bottom:4px;scrollbar-width:thin}
.fx-thumbs button {flex:none;width:92px;aspect-ratio:4/3;padding:0;border:2px solid transparent;border-radius:12px;overflow:hidden;background:var(--panel);opacity:.6;cursor:pointer;transition:opacity .2s,border-color .2s}
.fx-thumbs button.is-on,.fx-thumbs button:hover {opacity:1;border-color:var(--c)}
.fx-thumbs img {width:100%;height:100%;object-fit:cover}
.fx-zcopy {grid-area:copy;display:grid;gap:18px;position:sticky;top:96px}
.fx-zcopy h1 {font-size:clamp(36px,5vw,64px);letter-spacing:-.035em;text-shadow:0 0 40px color-mix(in srgb,var(--c) 40%,transparent)}
.fx-zlist {display:grid;gap:10px;margin:0;padding:0;list-style:none}
.fx-zlist li {display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid var(--line);border-radius:14px;background:var(--panel);font-weight:700}
.fx-zlist .fx-ico {flex:none;width:34px;height:34px;padding:7px;border-radius:10px;background:color-mix(in srgb,var(--c) 16%,transparent);color:var(--c)}
.fx-znext {display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;max-width:1280px;margin:48px auto 0;padding:0 clamp(16px,4vw,48px)}
.fx-znext-link {display:flex;align-items:center;gap:12px;padding:14px 18px;border:1px solid var(--line);border-radius:18px;background:var(--panel);transition:border-color .25s,transform .25s var(--ease)}
.fx-znext-link:hover {border-color:var(--c);transform:translateY(-3px)}
.fx-znext-link.is-next {justify-content:flex-end;text-align:right}
.fx-znext-link span {display:grid}
.fx-znext-link small {color:var(--faint);font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.fx-znext-link .fx-ico {color:var(--c)}
.fx-znext-home {display:inline-flex;align-items:center;gap:8px;padding:12px 16px;border:1px solid var(--line2);border-radius:999px;color:var(--muted);font-weight:750}
.fx-znext-home:hover {color:var(--text);border-color:var(--c)}
@media (max-width:900px) {
  .fx-zhero {grid-template-columns:minmax(0,1fr);grid-template-areas:"slider" "thumbs" "copy"}
  .fx-zcopy {position:static}
}
@media (max-width:640px) {
  .fx-slider {aspect-ratio:4/5;border-radius:20px}
  .fx-snav {width:42px;height:42px}
  .fx-znext {grid-template-columns:1fr 1fr}
  .fx-znext-home {grid-column:1/-1;grid-row:2;justify-self:center}
  .fx-znext > span:empty {display:none}
  .fx-zcards {grid-template-columns:minmax(0,1fr)}
}

/* Scroll reveal (fiespor.js adds .fx-motion to <html>) */
.fx-motion [data-reveal] {opacity:0;transform:translateY(26px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
.fx-motion [data-reveal].is-in {opacity:1;transform:none}

@media (max-width:1100px) {
  .fx-xp {grid-template-columns:repeat(3,minmax(0,1fr))}
  .fx-why {grid-template-columns:repeat(2,minmax(0,1fr))}
  .fx-lgrid {grid-template-columns:minmax(0,1fr)}
  .fx-lside {position:static;padding-top:48px}
}
@media (max-width:860px) {
  .fx-hero {grid-template-columns:minmax(0,1fr);min-height:0;padding-top:28px;gap:8px}
  .fx-stage {--s:150px;order:-1;max-width:340px;margin:6px auto 4px}
  .fx-locs {grid-template-columns:minmax(0,1fr)}
  .fx-nav-links {display:none}
  .fx-nav-ig {margin-left:auto}
  .fx-burger {display:block}
  .fx-steps {grid-template-columns:minmax(0,1fr);gap:22px}
  .fx-steps::before {left:33px;right:auto;top:20px;bottom:20px;width:2px;height:auto;background:linear-gradient(180deg,#22d3ee66,#8b5cf666,#ec489966)}
  .fx-steps li {grid-template-columns:68px minmax(0,1fr);align-items:center;gap:16px;padding:0}
}
@media (max-width:640px) {
  .fx {font-size:15.5px}
  .fx-nav {padding:12px 16px}
  .fx-brand img {height:28px}
  .fx-nav-ig {display:none}
  .fx-burger {margin-left:auto}
  .fx-why {grid-template-columns:minmax(0,1fr);gap:10px}
  .fx-why-card {padding:20px 18px}
  .fx-fab {right:14px;min-height:50px;padding:0 16px 0 13px}
  .fx-top {right:14px;bottom:calc(78px + env(safe-area-inset-bottom))}
  .fx-sheet {width:100vw;max-width:100vw;margin:auto 0 0;border-radius:24px 24px 0 0;border-bottom:0;padding-bottom:env(safe-area-inset-bottom)}
  .fx-faq summary {padding:16px;font-size:15.5px}
  .fx-faq details p {padding:0 16px 16px}
  .fx-hero {padding:20px 16px 56px}
  .fx-stage {--s:118px;max-width:300px}
  .fx-tag {padding:6px 10px}
  .fx-tag .fx-ico {width:13px;height:13px}
  .fx-cta .fx-btn {flex:1 1 auto}
  .fx-stats li {padding:8px 12px}
  .fx-stats b {font-size:22px}
  .fx-section {padding:64px 16px 0}
  .fx-section.fx-tight {padding:44px 0 0}
  .fx-xp {grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .fx-xp-card {padding:18px 16px}
  .fx-xp-card:last-child {grid-column:1/-1}
  .fx-loc-body {padding:4px 16px 18px}
  .fx-loc-cover {aspect-ratio:16/9}
  .fx-band {padding:26px 20px}
  .fx-loc-acts .fx-btn {flex:1 1 100%;margin-right:0}
  .fx-loc-acts .fx-ibtn {flex:1;width:auto}
  .fx-band .fx-btn {width:100%}
  .fx-lhero {min-height:62vh;padding:28px 16px 36px}
  .fx-lhero .fx-cta .fx-btn {flex:1 1 calc(50% - 6px);padding:0 12px}
  .fx-lgrid {padding:0 16px}
  .fx-gallery {grid-template-columns:repeat(2,minmax(0,1fr))}
  .fx-page {padding-bottom:calc(76px + env(safe-area-inset-bottom))}
  .fx-dock {position:fixed;left:12px;right:12px;bottom:calc(10px + env(safe-area-inset-bottom));z-index:40;display:flex;gap:6px;padding:6px;border:1px solid var(--line2);border-radius:18px;background:#0a0c18e6;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 20px 40px #000a}
  .fx-dock a {flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;padding:8px 4px;border-radius:13px;color:var(--text);font-size:12px;font-weight:750}
  .fx-dock a .fx-ico {color:var(--c)}
  .fx-dock a.is-wa {background:#25d3661f}
  .fx-dock a.is-wa .fx-ico {color:var(--wa)}
  .fx-lb-nav {top:auto;bottom:calc(16px + env(safe-area-inset-bottom));transform:none}
}
@media (prefers-reduced-motion:reduce) {
  .fx *,.fx *::before,.fx *::after {animation:none!important;transition:none!important}
  .fx-motion [data-reveal] {opacity:1;transform:none}
}
/* The site-wide button press nudge (translateY(1px)) must not undo the
   centring of these arrows, or they jump away under the pointer. */
.fx .fx-snav:active,.fx .fx-lb-nav:active {transform:translateY(-50%) scale(.94)}
@media (max-width:640px) {.fx .fx-lb-nav:active {transform:scale(.94)}}
