/* RpX NEON GLASS — designed light, not a photo */
:root{
  --bg:#05050d;
  --bg-2:#080814;
  --bg-3:#0c0c1c;
  --surface:rgba(255,255,255,.05);
  --surface-2:rgba(255,255,255,.09);
  --stroke:rgba(255,255,255,.12);
  --stroke-2:rgba(255,255,255,.2);
  --ink:#f4f7ff;
  --ink-2:rgba(220,230,255,.74);
  --ink-3:rgba(180,196,230,.48);
  --accent:#ff2d95;
  --accent-2:#ff7ab8;
  --gold:#2de2ff;
  --neon:#ff2d95;
  --neon-2:#2de2ff;
  --neon-3:#7c5cff;
  --violet:#7c5cff;
  --max:1480px;
  --gutter:clamp(20px,4vw,72px);
  --ease:cubic-bezier(.22,1,.36,1);
  --ease-out:cubic-bezier(.16,1,.3,1);
  --radius:22px;
}

html{scroll-behavior:smooth}
body{
  background:var(--bg);
  color:var(--ink);
  font-family:"Vazirmatn","Syne",system-ui,sans-serif;
  cursor:none;
}
@media (max-width:900px){body{cursor:auto}}
body::before{opacity:.05}

/* designed field — no photograph */
.fx-grid{
  display:block;
  position:fixed;inset:0;z-index:0;pointer-events:none;
  background-image:
    linear-gradient(rgba(45,226,255,.045) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,45,149,.04) 1px,transparent 1px);
  background-size:64px 64px;
  mask-image:radial-gradient(ellipse 80% 70% at 50% 28%,#000 10%,transparent 72%);
  animation:gridDrift 24s linear infinite;
}
@keyframes gridDrift{to{background-position:64px 64px}}

.ambient__blob{filter:blur(80px);opacity:.62;animation-duration:16s}
.ambient__blob--1{
  width:620px;height:620px;top:-200px;right:-100px;
  background:radial-gradient(circle,#ff2d95,transparent 68%);
  animation:float1 16s ease-in-out infinite;
}
.ambient__blob--2{
  width:560px;height:560px;bottom:-180px;left:-140px;
  background:radial-gradient(circle,#2de2ff,transparent 68%);
  animation:float2 20s ease-in-out infinite;
}
.ambient__blob--3{
  display:block;width:440px;height:440px;top:36%;left:40%;
  background:radial-gradient(circle,rgba(124,92,255,.95),transparent 70%);
  animation:float3 24s ease-in-out infinite;
}
.ambient__blob--4{
  display:block;width:260px;height:260px;top:18%;left:12%;
  background:radial-gradient(circle,rgba(255,120,40,.75),transparent 70%);
  animation:float1 18s ease-in-out infinite reverse;
}

.cursor-dot{
  display:block;
  background:var(--neon-2);
  box-shadow:0 0 18px var(--neon-2), 0 0 36px rgba(45,226,255,.4);
}
.cursor-ring{
  display:block;
  border-color:rgba(255,45,149,.7);
  box-shadow:0 0 22px rgba(255,45,149,.35);
}
.cursor-ring.hover{
  background:rgba(255,45,149,.12);
  border-color:var(--neon);
}

.nav.scrolled{
  background:rgba(8,8,20,.55);
  backdrop-filter:blur(28px) saturate(180%);
  -webkit-backdrop-filter:blur(28px) saturate(180%);
  border-bottom:1px solid rgba(255,255,255,.08);
  box-shadow:0 10px 40px rgba(0,0,0,.25), 0 0 40px rgba(255,45,149,.06);
}
.nav__logo{
  font-family:"Syne","Playfair Display",sans-serif;
  font-weight:800;letter-spacing:.06em;
  text-shadow:0 0 22px rgba(255,45,149,.45);
}
.nav__logo .dot{
  color:var(--neon-2);
  text-shadow:0 0 16px var(--neon-2);
}
.nav__cta{
  background:linear-gradient(120deg,rgba(255,45,149,.22),rgba(45,226,255,.12));
  border:1px solid rgba(255,255,255,.16);
  box-shadow:0 0 28px rgba(255,45,149,.18);
}
.nav__cta:hover{
  background:linear-gradient(120deg,#ff2d95,#ff6a3c);
  border-color:transparent;
  color:#fff;
  box-shadow:0 12px 40px rgba(255,45,149,.5);
}

.btn--primary{
  background:linear-gradient(120deg,#ff2d95,#ff6a3c);
  color:#fff;
  box-shadow:0 12px 40px -8px rgba(255,45,149,.7), 0 0 28px rgba(255,45,149,.28);
}
.btn--primary:hover{
  transform:translateY(-3px);
  box-shadow:0 18px 50px -8px rgba(255,45,149,.85);
}
.btn--ghost{
  background:rgba(255,255,255,.05);
  border:1px solid rgba(45,226,255,.4);
  backdrop-filter:blur(12px);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.12), 0 0 18px rgba(45,226,255,.08);
}
.btn--ghost:hover{
  border-color:var(--neon-2);
  box-shadow:0 0 28px rgba(45,226,255,.28);
}

/* HERO — constructed neon, zero photo */
.cards-hero{
  min-height:88vh;
  padding-top:150px;
  padding-bottom:48px;
  display:flex;flex-direction:column;justify-content:center;
  position:relative;overflow:hidden;
}
.cards-hero::after{display:none}
.cards-hero__visual{
  position:absolute;inset:0;z-index:0;pointer-events:none;
  background:none;
  opacity:1;filter:none;animation:none;transform:none;
}
.cards-hero__visual::before{
  content:"";
  position:absolute;left:50%;top:42%;
  width:min(720px,90vw);height:min(720px,90vw);
  transform:translate(-50%,-50%);
  border-radius:50%;
  background:
    repeating-conic-gradient(from 0deg,
      rgba(255,45,149,.0) 0 12deg,
      rgba(255,45,149,.18) 12deg 13deg,
      rgba(45,226,255,.0) 13deg 25deg,
      rgba(45,226,255,.16) 25deg 26deg);
  -webkit-mask:radial-gradient(circle,transparent 38%,#000 39%,#000 52%,transparent 53%);
          mask:radial-gradient(circle,transparent 38%,#000 39%,#000 52%,transparent 53%);
  animation:spinSlow 28s linear infinite;
  filter:blur(.4px);
}
.cards-hero__visual::after{
  content:"";
  position:absolute;left:50%;top:42%;
  width:min(420px,62vw);height:min(420px,62vw);
  transform:translate(-50%,-50%);
  border-radius:50%;
  border:1px solid rgba(45,226,255,.28);
  box-shadow:
    0 0 40px rgba(255,45,149,.18),
    inset 0 0 40px rgba(45,226,255,.08);
  animation:pulseRing 5.5s ease-in-out infinite;
}
@keyframes spinSlow{to{transform:translate(-50%,-50%) rotate(360deg)}}
@keyframes pulseRing{
  0%,100%{transform:translate(-50%,-50%) scale(1);opacity:.7}
  50%{transform:translate(-50%,-50%) scale(1.08);opacity:1}
}

.cards-hero .wrap{position:relative;z-index:2;text-align:center;display:flex;flex-direction:column;align-items:center}
.cards-hero__kicker{
  background:rgba(8,8,22,.4);
  border:1px solid rgba(255,255,255,.14);
  backdrop-filter:blur(18px) saturate(160%);
  box-shadow:0 0 0 1px rgba(45,226,255,.08), 0 10px 40px rgba(0,0,0,.25);
  color:var(--ink-2);
  margin-bottom:28px;
}
.cards-hero__kicker::before{
  background:var(--neon-2);
  box-shadow:0 0 0 0 rgba(45,226,255,.7);
  animation:pulseCyan 2s infinite;
}
@keyframes pulseCyan{
  0%{box-shadow:0 0 0 0 rgba(45,226,255,.65)}
  70%{box-shadow:0 0 0 10px rgba(45,226,255,0)}
  100%{box-shadow:0 0 0 0 rgba(45,226,255,0)}
}
.cards-hero h1{
  font-family:"Instrument Serif","Playfair Display","Vazirmatn",serif;
  font-size:clamp(48px,8.4vw,124px);
  font-weight:400;letter-spacing:-.03em;
  text-shadow:0 0 40px rgba(255,45,149,.18);
  max-width:16ch;
}
.cards-hero h1 em{
  font-style:italic;
  background:linear-gradient(120deg,#ff2d95 8%,#2de2ff 50%,#7c5cff 92%);
  background-size:200% auto;
  -webkit-background-clip:text;background-clip:text;color:transparent;
  animation:hueShift 7s linear infinite;
  filter:drop-shadow(0 0 22px rgba(255,45,149,.45));
}
@keyframes hueShift{to{background-position:200% center}}
.cards-hero p{
  color:var(--ink-2);
  max-width:540px;
  margin-inline:auto;
}

.hero-stats{display:flex;gap:16px;flex-wrap:wrap;margin-top:40px;justify-content:center}
.hero-stat{
  padding:16px 22px;border-radius:18px;min-width:128px;
  background:rgba(255,255,255,.045);
  border:1px solid rgba(255,255,255,.12);
  backdrop-filter:blur(18px) saturate(160%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.14);
}
.hero-stat b{
  display:block;
  font-family:"Syne",sans-serif;
  font-size:24px;font-weight:800;
  background:linear-gradient(120deg,#fff,#2de2ff);
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.hero-stat span{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3)}

.neon-marquee{
  padding:20px 0;margin:0;
  border-top:1px solid rgba(255,255,255,.08);
  border-bottom:1px solid rgba(255,255,255,.08);
  overflow:hidden;
  background:linear-gradient(90deg,rgba(255,45,149,.1),rgba(45,226,255,.06),rgba(124,92,255,.1));
}
.neon-marquee__track{
  display:inline-flex;gap:48px;white-space:nowrap;
  animation:marquee 26s linear infinite;
}
.neon-marquee span{
  font-family:"Syne",sans-serif;
  font-size:clamp(16px,2vw,26px);
  font-weight:700;letter-spacing:.2em;text-transform:uppercase;
  color:transparent;
  -webkit-text-stroke:1px rgba(255,255,255,.38);
}
.neon-marquee span i{
  font-style:normal;
  color:var(--neon-2);
  -webkit-text-stroke:0;
  text-shadow:0 0 16px rgba(45,226,255,.7);
}

/* Glass cards */
.home-grid{gap:20px;padding-bottom:clamp(70px,10vh,120px)}
.hcard{
  border-radius:24px;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(10,10,24,.38);
  backdrop-filter:blur(8px);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.16), 0 24px 60px -24px rgba(0,0,0,.65);
  transform-style:preserve-3d;
  will-change:transform;
}
.hcard::after{
  content:"";position:absolute;inset:0;z-index:4;pointer-events:none;opacity:0;
  background:radial-gradient(420px circle at var(--mx,50%) var(--my,80%),rgba(255,255,255,.18),transparent 55%);
  transition:opacity .35s;
}
.hcard:hover::after{opacity:1}
.hcard:hover{
  border-color:rgba(255,255,255,.28);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.2),
    0 0 0 1px rgba(45,226,255,.28),
    0 0 48px rgba(255,45,149,.22),
    0 30px 80px -20px rgba(0,0,0,.7);
}
.hcard--magenta:hover{box-shadow:0 0 0 1px rgba(255,45,149,.5),0 0 48px rgba(255,45,149,.3),0 30px 80px -20px #000}
.hcard--cyan:hover{box-shadow:0 0 0 1px rgba(45,226,255,.5),0 0 48px rgba(45,226,255,.28),0 30px 80px -20px #000}
.hcard--orange:hover{box-shadow:0 0 0 1px rgba(124,92,255,.5),0 0 48px rgba(124,92,255,.28),0 30px 80px -20px #000}
.hcard__img{filter:saturate(1.05) brightness(.7) contrast(1.05)}
.hcard:hover .hcard__img{filter:saturate(1.18) brightness(.86);transform:scale(1.07)}
.hcard__veil{
  background:linear-gradient(180deg,rgba(5,5,13,.12) 0%,transparent 30%,rgba(5,5,13,.25) 52%,rgba(5,5,13,.92) 100%);
}
.hcard__shine{
  display:block;
  position:absolute;inset:0;z-index:3;pointer-events:none;
  background:linear-gradient(115deg,rgba(255,255,255,.16) 0%,transparent 34%,transparent 66%,rgba(45,226,255,.1) 100%);
  mix-blend-mode:screen;
}
.hcard__kind{
  background:rgba(8,8,22,.5);
  border:1px solid rgba(255,255,255,.16);
  backdrop-filter:blur(16px);
  color:#fff;
}
.hcard__badge{
  background:linear-gradient(120deg,#ff2d95,#ff6a3c);
  color:#fff;
  box-shadow:0 8px 24px -6px rgba(255,45,149,.7);
  border:0;
}
.hcard__title{
  font-family:"Instrument Serif","Playfair Display","Vazirmatn",serif;
  font-size:clamp(26px,2.6vw,40px);
  text-shadow:0 8px 28px rgba(0,0,0,.5);
}
.hcard__desc{
  opacity:1!important;max-height:none!important;margin-top:8px!important;
  color:rgba(230,236,255,.8);overflow:visible;
}
.hcard__arrow{
  background:rgba(255,255,255,.1);
  border:1px solid rgba(255,255,255,.22);
  color:#fff;
  backdrop-filter:blur(12px);
}
.hcard:hover .hcard__arrow{
  background:linear-gradient(120deg,#ff2d95,#ff6a3c);
  color:#fff;
  transform:translateX(-5px) rotate(-45deg);
  box-shadow:0 0 24px rgba(255,45,149,.55);
}

.contact-card, .contact__card{
  background:
    radial-gradient(circle at 88% 10%,rgba(255,45,149,.38),transparent 46%),
    radial-gradient(circle at 8% 90%,rgba(45,226,255,.2),transparent 42%),
    rgba(12,10,24,.55);
  border:1px solid rgba(255,255,255,.16);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.16), 0 40px 80px -30px rgba(255,45,149,.35);
  backdrop-filter:blur(22px) saturate(160%);
}
.contact h2, .contact-card h2{
  font-family:"Instrument Serif","Playfair Display","Vazirmatn",serif;
}
.contact h2 em, .contact-card h2 em{
  background:linear-gradient(120deg,#2de2ff,#ff2d95);
  -webkit-background-clip:text;background-clip:text;color:transparent;
}

.page-nav{padding-top:20px}
@media (max-width:700px){
  .page-nav{padding-top:16px}
  .cards-hero{min-height:auto;padding-top:72px;padding-bottom:28px}
  .cards-hero h1{font-size:clamp(36px,10vw,56px)}
  .hero-stat{min-width:0;flex:1}
}
.back-btn{
  background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.14);
  backdrop-filter:blur(16px);
}
.back-btn:hover{
  border-color:var(--neon-2);
  color:#fff;
  box-shadow:0 0 20px rgba(45,226,255,.22);
}
.hub-head h1{font-family:"Instrument Serif","Playfair Display","Vazirmatn",serif}
.sub-card{
  border-radius:20px;
  border:1px solid rgba(255,255,255,.14);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.12);
  background:rgba(10,10,24,.35);
}
.sub-card:hover{box-shadow:0 0 0 1px rgba(45,226,255,.35), 0 0 40px rgba(255,45,149,.2)}
.gallery-item{border:1px solid rgba(255,255,255,.12)}
.gallery-item:hover{box-shadow:0 0 0 1px rgba(255,45,149,.4), 0 20px 50px -16px rgba(255,45,149,.28)}

.ba-item{border:1px solid rgba(255,255,255,.14);border-radius:20px}
.ba-line{background:linear-gradient(180deg,#2de2ff,#ff2d95);width:3px;box-shadow:0 0 16px rgba(45,226,255,.7)}
.ba-handle{
  background:linear-gradient(135deg,#fff,#d7fbff);
  box-shadow:0 0 0 4px rgba(45,226,255,.25), 0 10px 30px rgba(0,0,0,.45);
}
.ba-label--after{background:linear-gradient(120deg,#ff2d95,#ff6a3c);color:#fff}

.service-row{
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.1);
  backdrop-filter:blur(14px);
}
.service-row:hover{border-color:rgba(45,226,255,.35);box-shadow:0 0 28px rgba(45,226,255,.12)}
.service-row__n{color:var(--neon-2);text-shadow:0 0 16px rgba(45,226,255,.5)}

footer{
  background:rgba(6,6,16,.7);
  border-top:1px solid rgba(255,255,255,.08);
  backdrop-filter:blur(16px);
}
.footer__brand .dot{color:var(--neon-2)}
.footer__col a:hover{color:var(--neon-2)}

.empty{
  padding:48px 20px;text-align:center;color:var(--ink-2);
  border:1px dashed rgba(255,255,255,.16);border-radius:18px;
  background:rgba(255,255,255,.03);
}

@media (prefers-reduced-motion:reduce){
  .fx-grid,.ambient__blob,.cards-hero__visual::before,.cards-hero__visual::after,
  .neon-marquee__track,.cards-hero h1 em,.cards-hero__kicker::before{animation:none!important}
}
