/* ===== RESET & VARIABLES ===== */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --bg:#02040f;--bg2:#030612;
  --card:#080d1f;--card2:#09101f;
  --b1:rgba(96,165,250,.1);--b2:rgba(96,165,250,.22);--b3:rgba(96,165,250,.44);
  --cyan:#60a5fa;--cyan2:#93c5fd;--blue:#3b82f6;--indigo:#6366f1;
  --neon:#00d4ff;--neon2:#0099ff;
  --text:#f0f4ff;--sub:#7a9bbf;--dim:#3d5878;--dimmer:#263a52;
  --ease:cubic-bezier(.16,1,.3,1);
  --ease3d:cubic-bezier(.23,1,.32,1);
}
html{scroll-behavior:smooth}
body{
  font-family:'Syne',sans-serif;
  background:var(--bg);color:var(--text);
  overflow-x:hidden;line-height:1.6;
  cursor:none;
}

/* ===== CUSTOM CURSOR ===== */
#cursor{
  position:fixed;width:10px;height:10px;border-radius:50%;
  background:var(--neon);pointer-events:none;z-index:99999;
  transform:translate(-50%,-50%);
  box-shadow:0 0 20px var(--neon),0 0 40px var(--neon2);
  mix-blend-mode:screen;
}
#cursor-ring{
  position:fixed;width:32px;height:32px;border-radius:50%;
  border:1.5px solid rgba(96,165,250,.5);
  pointer-events:none;z-index:99998;
  transform:translate(-50%,-50%);
  transition:width .3s,height .3s,border-color .3s;
}

/* ===== 3D CANVAS BG ===== */
#bg3d{position:fixed;inset:0;pointer-events:none;z-index:0;opacity:.65}

/* ===== KEYFRAMES ===== */
@keyframes up3d{
  from{opacity:0;transform:perspective(800px) translateY(40px) translateZ(-60px) rotateX(10deg)}
  to{opacity:1;transform:perspective(800px) translateY(0) translateZ(0) rotateX(0)}
}
@keyframes rot{to{transform:rotate(360deg)}}
@keyframes rot3d{to{transform:rotateY(360deg)}}
@keyframes blink{0%,100%{opacity:1}50%{opacity:.2}}
@keyframes float-icon{
  0%,100%{transform:translateY(0) rotateX(0) rotateY(0)}
  25%{transform:translateY(-12px) rotateX(8deg) rotateY(5deg)}
  50%{transform:translateY(-6px) rotateX(-4deg) rotateY(-8deg)}
  75%{transform:translateY(-16px) rotateX(6deg) rotateY(10deg)}
}
@keyframes icon-glow{
  0%,100%{box-shadow:0 20px 60px rgba(0,100,255,.4),0 0 0 1px rgba(96,165,250,.2),0 0 40px rgba(0,212,255,.1)}
  50%{box-shadow:0 30px 80px rgba(0,150,255,.6),0 0 0 2px rgba(0,212,255,.4),0 0 60px rgba(0,212,255,.25)}
}
@keyframes border-flow{
  0%{background-position:0% 50%}100%{background-position:200% 50%}
}
@keyframes pulse-dot{
  0%,100%{transform:scale(1);opacity:1}
  50%{transform:scale(1.4);opacity:.6}
}
@keyframes scale-in3d{
  from{opacity:0;transform:perspective(800px) scale(.8) translateZ(-60px)}
  to{opacity:1;transform:perspective(800px) scale(1) translateZ(0)}
}
@keyframes horizon-scan{
  0%{transform:translateX(-100%) skewX(-10deg);opacity:0}
  50%{opacity:1}
  100%{transform:translateX(200%) skewX(-10deg);opacity:0}
}
@keyframes grid-move{
  from{background-position:center 0%}to{background-position:center 100%}
}
@keyframes shimmer-flow{
  0%{transform:translateX(-100%)}100%{transform:translateX(100%)}
}
@keyframes orbit{
  0%{transform:rotate(0deg) translateX(140px) rotate(0deg)}
  100%{transform:rotate(360deg) translateX(140px) rotate(-360deg)}
}
@keyframes ss-float{
  0%,100%{transform:translateY(0) rotateY(0)}
  50%{transform:translateY(-8px) rotateY(3deg)}
}
@keyframes lang-card-in{
  from{opacity:0;transform:perspective(600px) translateZ(-40px) translateY(20px)}
  to{opacity:1;transform:perspective(600px) translateZ(0) translateY(0)}
}

/* ===== NAV ===== */
nav{
  position:fixed;top:0;inset-inline:0;z-index:200;
  display:flex;align-items:center;justify-content:space-between;
  padding:1rem 3.5rem;
  background:rgba(2,4,15,.72);backdrop-filter:blur(28px);
  border-bottom:1px solid var(--b1);
}
nav::after{
  content:'';position:absolute;bottom:-1px;left:0;right:0;height:1px;
  background:linear-gradient(90deg,transparent,var(--neon),transparent);
  opacity:.3;animation:border-flow 4s linear infinite;
}
.nav-logo{
  font-size:1.2rem;font-weight:800;letter-spacing:-.01em;
  text-decoration:none;color:var(--text);
  text-shadow:0 0 20px rgba(96,165,250,.4);
  transition:text-shadow .3s;
}
.nav-logo:hover{text-shadow:0 0 30px var(--neon)}
.nav-back{
  display:inline-flex;align-items:center;gap:.45rem;
  color:var(--sub);text-decoration:none;font-size:.82rem;font-weight:600;
  letter-spacing:.04em;border:1px solid var(--b1);padding:.32rem .85rem;
  border-radius:7px;transition:all .2s;
  background:rgba(96,165,250,.03);backdrop-filter:blur(10px);
}
.nav-back svg{display:block;flex-shrink:0}
.nav-back:hover{color:var(--neon);border-color:rgba(0,212,255,.3);background:rgba(0,212,255,.06);transform:translateX(-3px)}

/* ===== HERO 3D ===== */
.hero{
  padding:9rem 2rem 5rem;position:relative;overflow:hidden;text-align:center;
  perspective:1200px;transform-style:preserve-3d;
}
.hero-bg{position:absolute;inset:0;pointer-events:none}

/* Perspective grid floor */
.hero-grid{
  position:absolute;inset:0;
  background:
    linear-gradient(rgba(0,212,255,.04) 1px,transparent 1px),
    linear-gradient(90deg,rgba(0,212,255,.04) 1px,transparent 1px);
  background-size:56px 56px;
  transform:perspective(600px) rotateX(55deg) translateY(30%) scale(2.5);
  transform-origin:50% 100%;
  mask-image:radial-gradient(ellipse 80% 50% at 50% 100%,black 30%,transparent 80%);
  animation:grid-move 8s linear infinite;
  opacity:.5;
}
/* Scan line */
.hero::before{
  content:'';position:absolute;left:0;right:0;height:1px;
  background:linear-gradient(90deg,transparent,var(--neon),var(--cyan2),var(--neon),transparent);
  top:0;box-shadow:0 0 20px var(--neon);
  animation:horizon-scan 7s ease-in-out infinite;z-index:2;opacity:.5;
}
.orb{position:absolute;border-radius:50%;filter:blur(80px);pointer-events:none}
.oa{width:600px;height:600px;background:rgba(59,130,246,.1);top:-200px;left:-150px}
.ob{width:400px;height:400px;background:rgba(99,102,241,.08);bottom:-100px;right:-80px}
.oc{width:300px;height:300px;background:rgba(0,212,255,.06);top:30%;right:10%}

.hero-tag{
  position:relative;z-index:10;
  display:inline-flex;align-items:center;gap:.5rem;
  border:1px solid var(--b2);border-radius:6px;padding:.3rem .85rem;
  font-size:.68rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;
  color:var(--neon);margin-bottom:2.2rem;
  animation:up3d .6s var(--ease) both;
  background:rgba(0,212,255,.04);backdrop-filter:blur(10px);
  box-shadow:0 0 20px rgba(0,212,255,.08);
}
.hero-tag-dot{
  width:5px;height:5px;border-radius:50%;background:var(--neon);
  animation:blink 2s infinite;flex-shrink:0;
  box-shadow:0 0 8px var(--neon),0 0 16px var(--neon2);
}

/* ===== 3D FLOATING APP ICON ===== */
.app-icon-wrap{
  position:relative;z-index:10;display:inline-block;
  margin-bottom:2rem;animation:scale-in3d .8s var(--ease) .1s both;
  transform-style:preserve-3d;perspective:400px;
}
.app-icon{
  width:110px;height:110px;border-radius:24px;
  background:linear-gradient(135deg,var(--blue),var(--neon2),var(--indigo));
  border:2px solid rgba(0,212,255,.3);
  display:flex;align-items:center;justify-content:center;
  font-size:2.8rem;margin:0 auto;
  animation:float-icon 6s ease-in-out infinite, icon-glow 3s ease-in-out infinite;
  transform-style:preserve-3d;
  position:relative;
}
/* Orbit ring */
.app-icon::before{
  content:'';position:absolute;inset:-20px;
  border-radius:50%;
  border:1px dashed rgba(0,212,255,.2);
  animation:rot 8s linear infinite;
}
/* Orbit dot */
.app-icon::after{
  content:'';position:absolute;width:8px;height:8px;border-radius:50%;
  background:var(--neon);box-shadow:0 0 12px var(--neon);
  animation:orbit 8s linear infinite;
  top:50%;left:50%;margin:-4px 0 0 -4px;
}

.hero-title{
  position:relative;z-index:10;
  font-size:clamp(2.5rem,7vw,6rem);font-weight:800;
  line-height:.95;letter-spacing:-.04em;
  background:linear-gradient(160deg,#fff 25%,var(--cyan2) 60%,var(--neon));
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
  animation:up3d .8s var(--ease) .2s both;
  filter:drop-shadow(0 4px 8px rgba(0,150,255,.3));
}
.hero-sub{
  position:relative;z-index:10;
  font-size:clamp(.9rem,2vw,1.2rem);font-weight:600;color:var(--neon);
  letter-spacing:.04em;margin-top:.5rem;
  animation:up3d .7s var(--ease) .3s both;
  text-shadow:0 0 20px rgba(0,212,255,.4);
}
.hero-desc{
  position:relative;z-index:10;
  max-width:540px;margin:.9rem auto 0;color:var(--sub);
  font-size:.875rem;line-height:1.9;
  animation:up3d .7s var(--ease) .4s both;
}

.hero-meta{
  position:relative;z-index:10;
  display:flex;align-items:center;justify-content:center;gap:.75rem;
  flex-wrap:wrap;margin-top:1.8rem;
  animation:up3d .7s var(--ease) .5s both;
}
.meta-badge{
  display:inline-flex;align-items:center;gap:.4rem;
  background:rgba(96,165,250,.06);border:1px solid var(--b1);
  border-radius:8px;padding:.35rem .85rem;font-size:.73rem;font-weight:600;color:var(--sub);
  transition:all .2s var(--ease3d);backdrop-filter:blur(10px);
}
.meta-badge:hover{
  background:rgba(0,212,255,.08);border-color:rgba(0,212,255,.2);
  color:var(--neon);transform:translateZ(8px) translateY(-2px);
  box-shadow:0 8px 20px rgba(0,0,0,.2);
}
.meta-badge svg{color:var(--neon);flex-shrink:0}
.meta-live{background:rgba(34,197,94,.06);border-color:rgba(34,197,94,.18);color:#4ade80}
.meta-dot{
  width:5px;height:5px;border-radius:50%;background:currentColor;
  animation:pulse-dot 1.8s ease-in-out infinite;
  box-shadow:0 0 8px currentColor;
}

/* ===== DIV ===== */
.div{
  height:1px;
  background:linear-gradient(90deg,transparent,var(--neon),transparent);
  opacity:.25;box-shadow:0 0 10px var(--neon);
}

/* ===== SHARED ===== */
section{padding:5rem 2rem;position:relative;z-index:10}
.wrap{max-width:1080px;margin:0 auto}
.sec-tag{
  display:inline-flex;align-items:center;gap:.45rem;
  border:1px solid var(--b2);border-radius:6px;padding:.28rem .8rem;
  font-size:.67rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;
  color:var(--neon);margin-bottom:1.2rem;
  background:rgba(0,212,255,.04);backdrop-filter:blur(10px);
  box-shadow:0 0 15px rgba(0,212,255,.06);
}
.sec-h{
  font-size:clamp(1.7rem,3.5vw,2.5rem);font-weight:800;
  line-height:1.1;letter-spacing:-.025em;margin-bottom:.5rem;
}
.sec-h em{
  font-style:normal;color:var(--neon);
  text-shadow:0 0 30px rgba(0,212,255,.4),0 0 60px rgba(0,150,255,.2);
}
.sec-p{color:var(--sub);font-size:.875rem;line-height:1.9;max-width:520px;margin-bottom:3rem}

/* ===== FEATURED IMAGE 3D ===== */
#featured{padding-top:3rem;padding-bottom:4rem}
.feat-frame{
  position:relative;border-radius:20px;overflow:hidden;
  border:1px solid var(--b2);
  box-shadow:0 60px 120px rgba(0,0,0,.5),0 0 0 1px rgba(0,212,255,.08);
  animation:scale-in3d .9s var(--ease) both;
  transform:perspective(1000px) rotateX(0) rotateY(0);
  transform-style:preserve-3d;
  transition:transform .4s var(--ease3d),box-shadow .4s;
}
.feat-frame:hover{
  transform:perspective(1000px) rotateX(-3deg) rotateY(2deg) translateZ(10px);
  box-shadow:0 80px 160px rgba(0,0,0,.6),0 0 0 1px rgba(0,212,255,.2),0 0 60px rgba(0,100,255,.08);
}
.feat-frame img{width:100%;display:block}
.feat-frame::before{
  content:'';position:absolute;top:0;left:0;right:0;height:2px;
  background:linear-gradient(90deg,transparent,var(--neon),var(--blue),var(--indigo),transparent);
  animation:border-flow 3s linear infinite;
  box-shadow:0 0 20px var(--neon);
}
/* Shimmer scan on image */
.feat-frame::after{
  content:'';position:absolute;inset:0;
  background:linear-gradient(105deg,transparent 40%,rgba(0,212,255,.06) 50%,transparent 60%);
  background-size:200% auto;
  animation:shimmer-flow 3s ease-in-out infinite;
  pointer-events:none;
}
.feat-glow{
  position:absolute;inset:-60px;
  background:radial-gradient(ellipse at center,rgba(0,150,255,.15),transparent 65%);
  pointer-events:none;z-index:-1;
}

/* ===== SCREENSHOTS 3D ===== */
#screenshots{padding-bottom:5rem}
.ss-header{margin-bottom:2rem}

.ss-scroll-wrap{position:relative}
.ss-scroll-wrap::before,.ss-scroll-wrap::after{
  content:'';position:absolute;top:0;bottom:0;
  width:100px;pointer-events:none;z-index:10;
}
.ss-scroll-wrap::before{left:0;background:linear-gradient(90deg,var(--bg),transparent)}
.ss-scroll-wrap::after{right:0;background:linear-gradient(-90deg,var(--bg),transparent)}

.ss-track{
  display:flex;gap:1.2rem;overflow-x:auto;
  padding:1.5rem 2rem 2.5rem;
  scroll-snap-type:x mandatory;
  scrollbar-width:thin;scrollbar-color:rgba(0,212,255,.2) transparent;
  -webkit-overflow-scrolling:touch;
  perspective:600px;
}
.ss-track::-webkit-scrollbar{height:3px}
.ss-track::-webkit-scrollbar-track{background:transparent}
.ss-track::-webkit-scrollbar-thumb{background:rgba(0,212,255,.2);border-radius:10px}

.ss-item{
  flex-shrink:0;scroll-snap-align:start;
  width:220px;position:relative;
  border-radius:20px;overflow:hidden;
  border:1px solid var(--b1);
  box-shadow:0 20px 50px rgba(0,0,0,.4);
  transition:transform .3s var(--ease3d),box-shadow .3s var(--ease3d),border-color .3s;
  cursor:pointer;
  transform:perspective(400px) rotateY(0) translateZ(0);
  animation:ss-float calc(4s + var(--i,0) * .5s) ease-in-out infinite;
}
.ss-item:nth-child(1){--i:0}
.ss-item:nth-child(2){--i:1}
.ss-item:nth-child(3){--i:2}
.ss-item:nth-child(4){--i:3}
.ss-item:nth-child(5){--i:4}
.ss-item:nth-child(6){--i:5}
.ss-item:nth-child(7){--i:6}
.ss-item:nth-child(8){--i:7}
.ss-item:nth-child(9){--i:8}

.ss-item:hover{
  transform:perspective(400px) rotateY(-6deg) translateZ(20px) translateY(-10px);
  box-shadow:0 40px 80px rgba(0,0,0,.5),0 0 0 1px rgba(0,212,255,.2),0 0 30px rgba(0,100,255,.1);
  border-color:rgba(0,212,255,.25);
  animation-play-state:paused;
}
.ss-item img{width:100%;display:block}
.ss-item::after{
  content:'';position:absolute;inset:0;
  background:linear-gradient(180deg,transparent 60%,rgba(2,4,15,.7));
  opacity:0;transition:opacity .3s;
}
.ss-item:hover::after{opacity:1}

/* Shimmer on hover */
.ss-item::before{
  content:'';position:absolute;inset:0;z-index:5;
  background:linear-gradient(105deg,transparent 40%,rgba(0,212,255,.08) 50%,transparent 60%);
  background-size:200% auto;opacity:0;transition:opacity .3s;
  pointer-events:none;
}
.ss-item:hover::before{opacity:1;animation:shimmer-flow 1s ease infinite}

.ss-num{
  position:absolute;bottom:.7rem;left:50%;transform:translateX(-50%);
  background:rgba(2,4,15,.8);backdrop-filter:blur(12px);
  border:1px solid rgba(0,212,255,.15);border-radius:6px;
  padding:.2rem .55rem;font-size:.64rem;font-weight:700;letter-spacing:.12em;
  color:var(--neon);opacity:0;transition:opacity .3s;z-index:10;
  text-shadow:0 0 10px rgba(0,212,255,.5);
}
.ss-item:hover .ss-num{opacity:1}

.ss-hint{
  display:flex;align-items:center;gap:.6rem;
  color:var(--dimmer);font-size:.72rem;font-weight:600;letter-spacing:.08em;
  margin-top:.5rem;padding-left:2rem;
}
.ss-hint svg{color:var(--dim)}

/* ===== LIGHTBOX 3D ===== */
#lightbox{
  display:none;position:fixed;inset:0;z-index:9000;
  background:rgba(2,4,15,.95);backdrop-filter:blur(24px);
  align-items:center;justify-content:center;flex-direction:column;gap:1.2rem;
}
#lightbox.open{display:flex}
#lightbox img{
  max-width:min(380px,85vw);max-height:85vh;
  border-radius:20px;border:1px solid rgba(0,212,255,.2);
  box-shadow:0 40px 100px rgba(0,0,0,.7),0 0 0 1px rgba(0,212,255,.1),0 0 60px rgba(0,100,255,.1);
  animation:scale-in3d .35s var(--ease);
}
.lb-close{
  position:absolute;top:1.5rem;right:1.5rem;
  width:42px;height:42px;border-radius:50%;
  background:rgba(0,212,255,.08);border:1px solid rgba(0,212,255,.2);
  color:var(--sub);font-size:1.3rem;
  display:flex;align-items:center;justify-content:center;
  cursor:pointer;transition:all .2s;
}
.lb-close:hover{background:rgba(239,68,68,.15);border-color:rgba(239,68,68,.3);color:#f87171;transform:rotate(90deg)}
.lb-nav{display:flex;gap:1rem}
.lb-btn{
  display:inline-flex;align-items:center;gap:.4rem;
  background:rgba(0,212,255,.07);border:1px solid rgba(0,212,255,.15);
  border-radius:9px;padding:.5rem 1.2rem;
  font-family:'Syne',sans-serif;font-weight:700;font-size:.78rem;
  color:var(--sub);cursor:pointer;transition:all .2s var(--ease3d);
}
.lb-btn:hover{background:rgba(0,212,255,.15);border-color:rgba(0,212,255,.3);color:var(--neon);transform:translateZ(5px)}
.lb-counter{color:var(--dimmer);font-size:.75rem;font-weight:600;align-self:center}

/* ===== LANGUAGES 3D ===== */
#languages{background:var(--bg2);border-top:1px solid var(--b1);border-bottom:1px solid var(--b1)}
.lang-grid{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.85rem;
  margin-top:2rem;perspective:1000px;transform-style:preserve-3d;
}
.lang-card{
  background:linear-gradient(145deg,var(--card2),#090e1f);
  border:1px solid var(--b1);border-radius:13px;
  padding:1.1rem 1.2rem;display:flex;align-items:center;gap:.9rem;
  transition:all .3s var(--ease3d);cursor:default;
  transform:perspective(600px) rotateX(0) rotateY(0) translateZ(0);
  position:relative;overflow:hidden;
}
.lang-card::before{
  content:'';position:absolute;top:0;left:0;right:0;height:1px;
  background:linear-gradient(90deg,transparent,var(--neon),transparent);
  opacity:0;transition:opacity .3s;box-shadow:0 0 8px var(--neon);
}
.lang-card:hover{
  border-color:rgba(0,212,255,.25);
  background:linear-gradient(145deg,rgba(0,20,40,.8),rgba(0,10,30,.9));
  box-shadow:0 15px 35px rgba(0,0,0,.3),0 0 20px rgba(0,212,255,.08);
}
.lang-card:hover::before{opacity:1}
.lang-emoji{font-size:1.8rem;line-height:1;flex-shrink:0;transition:transform .3s var(--ease3d)}
.lang-card:hover .lang-emoji{transform:translateZ(12px) scale(1.15)}
.lang-info{}
.lang-from{font-size:.64rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--dimmer);margin-bottom:.1rem}
.lang-to{font-size:.88rem;font-weight:700;color:var(--text);transition:color .2s,text-shadow .2s}
.lang-card:hover .lang-to{color:var(--neon);text-shadow:0 0 15px rgba(0,212,255,.4)}
.lang-arrow-ic{margin-left:auto;color:var(--dimmer);flex-shrink:0;font-size:.9rem;transition:color .2s,transform .2s}
.lang-card:hover .lang-arrow-ic{color:var(--neon);transform:translateX(3px)}

/* ===== BUTTONS ===== */
.btn{
  display:inline-flex;align-items:center;gap:.45rem;text-decoration:none;
  font-family:'Syne',sans-serif;font-weight:700;font-size:.85rem;
  border-radius:9px;padding:.75rem 1.65rem;cursor:pointer;border:none;
  transition:transform .2s var(--ease3d),box-shadow .2s,background .2s;
  position:relative;overflow:hidden;
}
.btn::before{
  content:'';position:absolute;inset:0;
  background:linear-gradient(105deg,transparent 40%,rgba(255,255,255,.1) 50%,transparent 60%);
  background-size:200% auto;opacity:0;transition:opacity .3s;
}
.btn:hover::before{opacity:1;animation:border-flow .8s ease}
.btn svg{flex-shrink:0;display:block}
.btn-p{
  background:linear-gradient(135deg,var(--blue),var(--neon2));color:#fff;
  box-shadow:0 4px 20px rgba(59,130,246,.35),0 0 40px rgba(0,153,255,.1);
}
.btn-p:hover{transform:translateY(-3px) translateZ(10px);box-shadow:0 10px 40px rgba(0,153,255,.5),0 0 60px rgba(0,212,255,.15)}
.btn-g{
  background:rgba(0,212,255,.05);color:var(--neon);
  border:1px solid rgba(0,212,255,.2);backdrop-filter:blur(10px);
}
.btn-g:hover{background:rgba(0,212,255,.1);border-color:rgba(0,212,255,.4);transform:translateY(-3px) translateZ(10px);box-shadow:0 10px 30px rgba(0,0,0,.3),0 0 30px rgba(0,212,255,.1)}

/* ===== FOOTER ===== */
footer{
  background:var(--bg2);border-top:1px solid var(--b1);
  padding:2.8rem 2rem;text-align:center;position:relative;z-index:10;
}
footer::before{
  content:'';position:absolute;top:0;left:0;right:0;height:1px;
  background:linear-gradient(90deg,transparent,var(--neon),transparent);
  box-shadow:0 0 15px var(--neon);opacity:.3;
}
.f-name{font-size:1.2rem;font-weight:800;letter-spacing:-.01em;color:var(--text);display:block;margin-bottom:.8rem;text-shadow:0 0 20px rgba(0,212,255,.3)}
.f-rule{width:44px;height:1px;background:linear-gradient(90deg,transparent,var(--neon),transparent);margin:1rem auto;box-shadow:0 0 8px var(--neon)}
.f-copy{color:var(--dimmer);font-size:.78rem;line-height:2.2;font-weight:500}
.f-copy strong{color:var(--dim)}

/* ===== SCROLL REVEAL 3D ===== */
.reveal-3d{
  opacity:0;
  transform:perspective(800px) translateZ(-60px) translateY(30px) rotateX(8deg);
  transition:opacity .7s var(--ease3d),transform .7s var(--ease3d);
}
.reveal-3d.in-view{opacity:1;transform:perspective(800px) translateZ(0) translateY(0) rotateX(0)}

/* ===== RESPONSIVE ===== */
@media(max-width:768px){
  nav{padding:.9rem 1.4rem}
  section{padding:3.5rem 1.2rem}
  .ss-item{width:170px}
  .lang-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}
}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
