/* WMX Neo Visit Footer (futuristic) */
:root{
  --wmx-neo-ink: rgba(10,16,28,.92);
  --wmx-neo-muted: rgba(10,16,28,.62);
  --wmx-neo-line: rgba(10,16,28,.10);

  --wmx-neo-glass: rgba(255,255,255,.70);
  --wmx-neo-glass2: rgba(255,255,255,.46);

  --wmx-neo-a: #8079ff; /* violet */
  --wmx-neo-b: #0bb6ff; /* cyan */
  --wmx-neo-c: #44d7b6; /* mint */
  --wmx-neo-warm: #d0915d; /* warm accent */
}

.wmx-neo-footer{
  position: relative;
  overflow: hidden;
  padding: clamp(46px, 6vw, 86px) 0 34px;
  background: transparent;
  border-top: 1px solid rgba(15,23,42,.06);
  isolation: isolate;
}

.wmx-neo-bg{ position:absolute; inset:0; z-index:0; pointer-events:none; }
.wmx-neo-aurora{
  position:absolute; inset:-20%;
  background:
    radial-gradient(60% 45% at 18% 32%, rgba(128,121,255,.34), transparent 60%),
    radial-gradient(55% 45% at 72% 28%, rgba(11,182,255,.30), transparent 62%),
    radial-gradient(55% 50% at 58% 78%, rgba(68,215,182,.26), transparent 60%),
    radial-gradient(45% 40% at 22% 82%, rgba(208,145,93,.22), transparent 55%),
    linear-gradient(180deg, rgba(255,255,255,.86), rgba(255,255,255,.78));
  filter: blur(22px) saturate(1.15);
  animation: wmxAurora 14s ease-in-out infinite alternate;
}
@keyframes wmxAurora{
  0%{ transform: translate3d(-1.5%, -1%, 0) scale(1.02); }
  100%{ transform: translate3d(1.5%, 1%, 0) scale(1.06); }
}

.wmx-neo-grid{
  position:absolute; inset:0;
  background:
    radial-gradient(1200px 520px at 50% 100%, rgba(10,16,28,.10), transparent 60%),
    repeating-linear-gradient(90deg, rgba(10,16,28,.06) 0, rgba(10,16,28,.06) 1px, transparent 1px, transparent 64px),
    repeating-linear-gradient(0deg, rgba(10,16,28,.04) 0, rgba(10,16,28,.04) 1px, transparent 1px, transparent 64px);
  opacity: .55;
  mask-image: radial-gradient(85% 70% at 50% 45%, #000 55%, transparent 100%);
}

.wmx-neo-noise{
  position:absolute; inset:0;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='220' height='220' filter='url(%23n)' opacity='.35'/%3E%3C/svg%3E");
  opacity: .22;
  mix-blend-mode: overlay;
}

.wmx-neo-wrap{
  position: relative;
  z-index: 1;
  width: min(1180px, calc(100% - 34px));
  margin: 0 auto;
}

.wmx-neo-head{
  text-align: center;
  margin-bottom: clamp(22px, 3.2vw, 34px);
}

.wmx-neo-title{
  font-size: clamp(34px, 5vw, 62px);
  line-height: 1.05;
  letter-spacing: -0.02em;
  margin: 0;
  color: rgba(15,23,42,.86);
  text-shadow: 0 10px 34px rgba(0,0,0,.10);
}
.wmx-neo-bang{ color: var(--wmx-neo-warm); }
.wmx-neo-sub{
  margin-top: 10px;
  font-size: clamp(18px, 2.2vw, 28px);
  font-weight: 700;
  color: rgba(208,145,93,.95);
  text-shadow: 0 10px 30px rgba(0,0,0,.08);
}

.wmx-neo-hours{
  display: inline-flex;
  flex-direction: column;
  gap: 4px;
  margin-top: 18px;
  padding: 14px 18px;
  border-radius: 999px;
  background: linear-gradient(180deg, var(--wmx-neo-glass), var(--wmx-neo-glass2));
  border: 1px solid rgba(15,23,42,.08);
  box-shadow: 0 18px 44px rgba(0,0,0,.10);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}
.wmx-neo-hours-kicker{ font-size: 13px; font-weight: 800; color: rgba(15,23,42,.70); }
.wmx-neo-hours-main{ font-size: 14px; font-weight: 900; color: rgba(15,23,42,.78); }
.wmx-neo-hours-sub{ font-size: 13px; font-weight: 700; color: rgba(15,23,42,.60); }

.wmx-neo-grid3{
  display: grid;
  grid-template-columns: 1.1fr .9fr 1.1fr;
  gap: clamp(14px, 2vw, 22px);
  align-items: stretch;
}

.wmx-neo-card{
  border-radius: 28px;
  background: linear-gradient(180deg, rgba(255,255,255,.74), rgba(255,255,255,.52));
  border: 1px solid rgba(15,23,42,.10);
  box-shadow: 0 28px 70px rgba(0,0,0,.14);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  position: relative;
  overflow: hidden;
  transform: translateZ(0);
}

.wmx-neo-card::before{
  content:"";
  position:absolute; inset:-2px;
  background: conic-gradient(from 200deg at 50% 50%,
    rgba(128,121,255,.55),
    rgba(11,182,255,.45),
    rgba(68,215,182,.40),
    rgba(208,145,93,.38),
    rgba(128,121,255,.55));
  opacity: .0;
  filter: blur(10px);
  transition: opacity .35s ease;
  pointer-events:none;
}
.wmx-neo-card:hover::before{ opacity: .55; }

.wmx-neo-card-inner{ padding: 18px 18px 16px; position:relative; z-index:1; }
.wmx-neo-card-title{
  font-size: 14px;
  font-weight: 900;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: rgba(15,23,42,.55);
  margin-bottom: 10px;
}

.wmx-neo-tower-media{
  height: 260px;
  border-radius: 22px;
  /* Show the full tower (no cropping) */
  background-image: url("footer-tower.jpg");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center bottom;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.20);
  position: relative;
  overflow: hidden;
}
.wmx-neo-tower-media::before{
  /* Cinematic fill behind the contained image */
  content:"";
  position:absolute; inset:-18%;
  background-image: url("footer-tower.jpg");
  background-size: cover;
  background-position: center;
  filter: blur(18px) saturate(1.15);
  opacity: .18;
  transform: scale(1.06);
  z-index: 0;
}
.wmx-neo-tower-media::after{
  content:"";
  position:absolute; inset:-30%;
  background: radial-gradient(50% 35% at 55% 30%, rgba(11,182,255,.26), transparent 60%),
              radial-gradient(40% 30% at 35% 70%, rgba(128,121,255,.22), transparent 60%),
              linear-gradient(180deg, transparent, rgba(0,0,0,.18));
  transform: translate3d(-2%, -2%, 0);
  animation: wmxTowerGlow 10s ease-in-out infinite alternate;
  z-index: 1;
}
@keyframes wmxTowerGlow{
  0%{ transform: translate3d(-2%, -2%, 0) scale(1.04); opacity:.8;}
  100%{ transform: translate3d(2%, 2%, 0) scale(1.08); opacity:1;}
}
.wmx-neo-tower-caption{
  margin-top: 12px;
  font-size: 14px;
  font-weight: 800;
  color: rgba(15,23,42,.68);
}

.wmx-neo-map{
  display:flex;
  align-items:center;
  justify-content:center;
  padding: 20px;
}

.wmx-neo-orb{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap: 10px;
  text-decoration:none !important;
  color: inherit;
  width: 100%;
  min-height: 280px;
  position: relative;
  border-radius: 24px;
  background: radial-gradient(80% 80% at 50% 35%, rgba(255,255,255,.66), rgba(255,255,255,.48));
  border: 1px solid rgba(15,23,42,.10);
  overflow: hidden;
}

.wmx-neo-orb-ring,
.wmx-neo-orb-ring2{
  position:absolute;
  width: 210px; height: 210px;
  border-radius: 999px;
  border: 1px solid rgba(15,23,42,.10);
  box-shadow: 0 0 0 1px rgba(255,255,255,.18) inset;
}
.wmx-neo-orb-ring{
  background: conic-gradient(from 120deg, rgba(11,182,255,.0), rgba(11,182,255,.55), rgba(128,121,255,.55), rgba(68,215,182,.45), rgba(11,182,255,.0));
  filter: blur(0px);
  animation: wmxSpin 7s linear infinite;
  opacity: .78;
}
.wmx-neo-orb-ring2{
  width: 150px; height: 150px;
  background: conic-gradient(from 200deg, rgba(208,145,93,.0), rgba(208,145,93,.55), rgba(11,182,255,.35), rgba(208,145,93,.0));
  animation: wmxSpin 5.5s linear infinite reverse;
  opacity: .65;
}

@keyframes wmxSpin{ to { transform: rotate(360deg); } }

.wmx-neo-orb-core{
  width: 92px; height: 92px;
  border-radius: 999px;
  background: radial-gradient(circle at 30% 25%, rgba(255,255,255,.95), rgba(255,255,255,.55));
  box-shadow: 0 26px 70px rgba(0,0,0,.18);
  display:flex; align-items:center; justify-content:center;
  position: relative;
  transform: translateZ(0);
}
.wmx-neo-orb-core::after{
  content:"";
  position:absolute; inset:-14px;
  border-radius: 999px;
  background: radial-gradient(circle, rgba(11,182,255,.26), transparent 60%);
  filter: blur(10px);
  animation: wmxPulse 2.2s ease-in-out infinite;
}
@keyframes wmxPulse{
  0%,100%{ transform: scale(.96); opacity:.65;}
  50%{ transform: scale(1.05); opacity:1;}
}

.wmx-neo-pin{ width: 44px; height: 44px; fill: var(--wmx-neo-warm); }
.wmx-neo-orb-label{
  font-size: 20px;
  font-weight: 1000;
  color: rgba(15,23,42,.80);
}
.wmx-neo-orb-hint{
  font-size: 13px;
  font-weight: 800;
  color: rgba(15,23,42,.55);
}

.wmx-neo-contact .wmx-neo-card-inner{ padding-bottom: 18px; }
.wmx-neo-chip{
  display:grid;
  grid-template-columns: 44px 1fr;
  gap: 10px;
  padding: 12px 12px;
  border-radius: 18px;
  background: rgba(255,255,255,.62);
  border: 1px solid rgba(15,23,42,.10);
  text-decoration:none !important;
  margin-top: 10px;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
  box-shadow: 0 14px 34px rgba(0,0,0,.10);
}
.wmx-neo-chip:hover{
  transform: translateY(-3px);
  box-shadow: 0 22px 56px rgba(0,0,0,.16);
  border-color: rgba(11,182,255,.22);
}
.wmx-neo-ico{
  width: 44px; height: 44px;
  border-radius: 14px;
  display:flex; align-items:center; justify-content:center;
  font-size: 18px;
  color: rgba(15,23,42,.70);
  background: radial-gradient(circle at 30% 20%, rgba(255,255,255,.90), rgba(255,255,255,.55));
  border: 1px solid rgba(15,23,42,.10);
}
.wmx-neo-chip-main{
  font-weight: 900;
  color: rgba(15,23,42,.78);
  overflow-wrap: anywhere;
}
.wmx-neo-chip-sub{
  margin-top: 2px;
  font-size: 12px;
  font-weight: 800;
  color: rgba(15,23,42,.52);
}

.wmx-neo-bottom{
  text-align:center;
  margin-top: 22px;
  padding-top: 10px;
  opacity: .95;
}
.wmx-neo-click{
  font-size: 22px;
  font-weight: 900;
  color: rgba(15,23,42,.50);
  letter-spacing: .01em;
}
.wmx-neo-domain{
  margin-top: 6px;
  font-size: 13px;
  font-weight: 800;
  color: rgba(15,23,42,.42);
}

/* Tilt (optional) */
.wmx-neo-tower{ transform-style: preserve-3d; }
.wmx-neo-tower[data-tilt]{
  --rx: 0deg; --ry: 0deg;
  transform: perspective(900px) rotateX(var(--rx)) rotateY(var(--ry));
  transition: transform .25s ease;
}
.wmx-neo-tower[data-tilt]:hover{
  transition: transform .10s ease;
}

/* Responsive */
@media (max-width: 980px){
  .wmx-neo-grid3{ grid-template-columns: 1fr; }
  .wmx-neo-orb{ min-height: 230px; }
  .wmx-neo-tower-media{ height: 220px; }
}

/* Accessibility */
@media (prefers-reduced-motion: reduce){
  .wmx-neo-aurora, .wmx-neo-orb-ring, .wmx-neo-orb-ring2, .wmx-neo-orb-core::after, .wmx-neo-tower-media::after{
    animation: none !important;
  }
}
