@import url('https://fonts.googleapis.com/css2?family=Outfit:wght@400;600;700;800;900&family=Plus+Jakarta+Sans:wght@400;500;600;700&display=swap');
:root{--neon:#c084fc;--neon2:#e879f9;--violet:#a855f7;--deep:#7c3aed;--pink:#ec4899;--blue:#60a5fa;
  --glass:rgba(30,16,55,.42);--glass2:rgba(20,10,40,.55);--line:rgba(200,132,252,.32);--txt:#f3ecff;--mut:#c9bce6}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
.fx-body{font-family:'Plus Jakarta Sans',system-ui,sans-serif;color:var(--txt);min-height:100vh;overflow-x:hidden;position:relative}
.fx-bg{position:fixed;inset:0;z-index:-2;background-image:var(--bgimg);background-size:cover;background-position:center;
  animation:fxZoom 26s ease-in-out infinite alternate}
.fx-bg::after{content:"";position:absolute;inset:0;background:
  radial-gradient(1100px 640px at 50% -8%,rgba(124,58,237,.18),transparent 60%),
  linear-gradient(180deg,rgba(10,4,22,.52),rgba(18,6,34,.66))}
@keyframes fxZoom{from{transform:scale(1)}to{transform:scale(1.08)}}
.fx-orb{position:fixed;border-radius:50%;filter:blur(90px);z-index:-1;pointer-events:none;opacity:.55}
.fx-orb.o1{width:360px;height:360px;background:rgba(168,85,247,.6);top:-90px;left:-60px;animation:fxFloat 13s ease-in-out infinite}
.fx-orb.o2{width:320px;height:320px;background:rgba(236,72,153,.5);bottom:-100px;right:-60px;animation:fxFloat 16s ease-in-out infinite reverse}
@keyframes fxFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-34px)}}
/* slim nav */
.fx-nav{position:relative;z-index:6;display:flex;align-items:center;justify-content:space-between;padding:16px clamp(16px,4vw,44px)}
.fx-brand{display:flex;align-items:center;gap:10px;font-family:'Outfit';font-weight:800;letter-spacing:.6px;font-size:18px;color:#fff;text-decoration:none}
.fx-brand .pin{display:inline-grid;place-items:center;width:32px;height:32px;border-radius:10px;color:#fff;
  background:linear-gradient(135deg,var(--violet),var(--pink));box-shadow:0 0 18px rgba(168,85,247,.8)}
.fx-brand b{background:linear-gradient(120deg,var(--neon),var(--neon2));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.fx-nav .links{display:flex;gap:10px}
.fx-nav a.mini{color:#e9dcff;font-weight:700;font-size:13.5px;border:1px solid var(--line);background:rgba(255,255,255,.06);
  padding:8px 16px;border-radius:99px;backdrop-filter:blur(8px);text-decoration:none;transition:.2s}
.fx-nav a.mini:hover{background:rgba(200,132,252,.18);transform:translateY(-2px);box-shadow:0 0 18px rgba(200,132,252,.4)}
.fx-nav a.mini.solid{color:#fff;border:none;background:linear-gradient(135deg,var(--violet),var(--pink));box-shadow:0 0 20px rgba(236,72,153,.6)}
/* stage + card */
.fx-stage{position:relative;z-index:4;display:flex;align-items:center;justify-content:center;min-height:calc(100vh - 76px);padding:18px clamp(14px,4vw,44px) 46px}
.fx-card{display:grid;grid-template-columns:1.02fr .98fr;width:100%;max-width:1060px;border-radius:26px;overflow:hidden;
  background:var(--glass);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:1px solid var(--line);
  box-shadow:0 0 0 1px rgba(200,132,252,.16),0 40px 90px -24px rgba(124,58,237,.7),inset 0 0 70px rgba(168,85,247,.08);
  animation:fxRise .6s ease}
@keyframes fxRise{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}
/* visual panel */
.fx-visual{position:relative;padding:42px 38px;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;
  background:linear-gradient(160deg,rgba(168,85,247,.4),rgba(236,72,153,.14) 60%,rgba(96,165,250,.12));border-right:1px solid var(--line)}
.fx-visual::before{content:"";position:absolute;width:280px;height:280px;border-radius:50%;background:radial-gradient(circle,rgba(232,121,249,.5),transparent 70%);top:-80px;right:-70px;animation:fxFloat 9s ease-in-out infinite}
.fx-vbrand{position:relative;z-index:2;display:flex;align-items:center;gap:9px;font-family:'Outfit';font-weight:800;letter-spacing:.8px;font-size:15px;color:#fff}
.fx-vbrand .pin{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:9px;background:rgba(255,255,255,.16);box-shadow:inset 0 0 0 1px rgba(255,255,255,.3)}
.fx-hero{position:relative;z-index:2;margin:20px 0}
.fx-hero .heart{width:118px;filter:drop-shadow(0 0 34px rgba(232,121,249,.85)) drop-shadow(0 10px 24px rgba(124,58,237,.6));animation:fxBeat 1.2s ease-in-out infinite}
@keyframes fxBeat{0%,100%{transform:scale(1)}15%{transform:scale(1.15)}30%{transform:scale(1)}45%{transform:scale(1.1)}}
.fx-hero h2{font-family:'Outfit';font-size:clamp(24px,3.2vw,34px);line-height:1.1;margin:16px 0 10px;letter-spacing:-.02em;font-weight:800;color:#fff;text-shadow:0 2px 20px rgba(124,58,237,.5)}
.fx-hero p{margin:0;color:rgba(255,255,255,.88);font-size:14.5px;line-height:1.6;max-width:330px}
.fx-feats{position:relative;z-index:2;list-style:none;margin:20px 0 0;display:flex;flex-direction:column;gap:10px}
.fx-feats li{display:flex;align-items:center;gap:11px;font-size:13.5px;font-weight:600;color:#fff}
.fx-feats .fi{display:inline-grid;place-items:center;width:32px;height:32px;border-radius:10px;background:rgba(255,255,255,.16);font-size:15px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.25)}
.fx-stats{position:relative;z-index:2;display:flex;gap:20px;margin-top:22px;padding-top:18px;border-top:1px solid rgba(255,255,255,.2)}
.fx-stats .n{font-family:'Outfit';font-size:21px;font-weight:800;line-height:1;color:#fff}
.fx-stats .l{font-size:11px;color:rgba(255,255,255,.8);margin-top:3px}
.fx-pulse{position:relative;z-index:2;display:inline-flex;align-items:center;gap:11px;margin-top:16px;
  background:linear-gradient(120deg,#10b981,#059669);border:1.5px solid #6ee7b7;padding:11px 22px;border-radius:99px;font-size:15px;font-weight:700;color:#fff;
  box-shadow:0 12px 34px -8px rgba(16,185,129,.75),0 0 0 4px rgba(16,185,129,.22);animation:fxBreathe 2.6s ease-in-out infinite}
.fx-pulse .dot{width:12px;height:12px;border-radius:50%;background:#fff;box-shadow:0 0 0 0 rgba(255,255,255,.8);animation:fxLive 1.5s ease-out infinite}
.fx-pulse b{font-family:'Outfit';font-weight:900;font-size:19px;color:#fff;margin:0 2px}
@keyframes fxLive{0%{box-shadow:0 0 0 0 rgba(255,255,255,.75)}70%{box-shadow:0 0 0 12px rgba(255,255,255,0)}100%{box-shadow:0 0 0 0 rgba(255,255,255,0)}}
@keyframes fxBreathe{0%,100%{transform:scale(1)}50%{transform:scale(1.05)}}
/* form panel */
.fx-form{position:relative;padding:40px 40px;display:flex;flex-direction:column;justify-content:center;background:var(--glass2)}
.fx-form .emoji{font-size:30px;filter:drop-shadow(0 0 16px rgba(232,121,249,.7))}
.fx-form h1{font-family:'Outfit';font-size:25px;font-weight:800;letter-spacing:-.02em;margin:6px 0 3px;color:#fff}
.fx-form .sub{color:var(--mut);font-size:13.5px;margin:0 0 20px}
.fx-err{background:rgba(236,72,153,.16);border:1px solid rgba(236,72,153,.5);color:#ffd0e6;border-radius:12px;padding:11px 15px;margin-bottom:16px;font-size:13.5px}
.fx-field{position:relative;margin-bottom:15px}
.fx-field .ic{position:absolute;left:14px;top:19px;color:var(--neon);opacity:.85;font-size:15px;pointer-events:none}
.fx-field input{width:100%;padding:20px 44px 8px 42px;border:1px solid rgba(200,132,252,.3);border-radius:16px;
  background:linear-gradient(180deg,rgba(40,22,66,.55),rgba(16,8,32,.6));color:#fff;font-size:15px;font-family:'Plus Jakarta Sans',sans-serif;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08),inset 0 -2px 8px rgba(0,0,0,.25);transition:border-color .2s,box-shadow .2s}
.fx-field input:focus{outline:none;border-color:var(--neon);box-shadow:0 0 0 3px rgba(192,132,252,.22),0 0 26px rgba(168,85,247,.45),inset 0 1px 0 rgba(255,255,255,.12)}
.fx-field label{position:absolute;left:42px;top:15px;color:var(--mut);font-size:14px;pointer-events:none;transition:all .18s ease}
.fx-field input:focus + label,.fx-field input:not(:placeholder-shown) + label{top:6px;left:42px;font-size:10.5px;font-weight:700;color:var(--neon2);letter-spacing:.4px}
.fx-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px}
.fx-toggle{position:absolute;right:10px;top:11px;width:32px;height:32px;border:none;background:transparent;color:var(--mut);cursor:pointer;font-size:16px;border-radius:9px;display:grid;place-items:center;transition:.15s}
.fx-toggle:hover{background:rgba(200,132,252,.16);color:var(--neon2)}
.fx-field input.has-toggle{padding-right:44px}
/* consent */
.fx-consent{margin:4px 0 14px;display:flex;flex-direction:column;gap:9px}
.fx-check{display:flex;align-items:flex-start;gap:9px;font-size:12.5px;color:var(--mut);line-height:1.45}
.fx-check input{margin-top:1px;width:16px;height:16px;accent-color:var(--neon2);flex:none;cursor:pointer}
.fx-check a{color:var(--neon2);font-weight:700;text-decoration:underline;cursor:pointer}
.fx-note{color:var(--mut);font-size:11.5px;margin:-4px 0 12px;line-height:1.5}
/* button */
.fx-btn{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;gap:9px;width:100%;padding:16px;font-family:'Outfit';font-size:16px;font-weight:800;letter-spacing:.4px;
  color:#fff;background:linear-gradient(135deg,#a855f7 0%,#e879f9 45%,#ec4899 100%);border:none;border-radius:16px;cursor:pointer;
  box-shadow:0 0 30px rgba(168,85,247,.6),0 14px 30px -10px rgba(236,72,153,.65),inset 0 1px 0 rgba(255,255,255,.4);
  transition:transform .16s cubic-bezier(.34,1.56,.64,1),box-shadow .16s,filter .16s}
.fx-btn::before{content:"";position:absolute;top:0;left:-70%;width:45%;height:100%;transform:skewX(-20deg);
  background:linear-gradient(120deg,transparent,rgba(255,255,255,.55),transparent);animation:fxShine 3.4s ease-in-out infinite}
@keyframes fxShine{0%,55%{left:-70%}80%,100%{left:140%}}
.fx-btn:hover{filter:brightness(1.08);transform:translateY(-2px);box-shadow:0 0 46px rgba(232,121,249,.8),0 20px 38px -10px rgba(236,72,153,.75),inset 0 1px 0 rgba(255,255,255,.5)}
.fx-btn:active{transform:translateY(2px);box-shadow:0 0 22px rgba(168,85,247,.5),inset 0 2px 6px rgba(0,0,0,.25)}
.fx-alt{color:var(--mut);font-size:13.5px;margin-top:16px;text-align:center}
.fx-alt a{color:var(--neon2);font-weight:700}
.fx-rocket{position:absolute;right:-6px;bottom:14px;font-size:26px;filter:drop-shadow(0 0 14px rgba(232,121,249,.7));animation:fxFloat 4.5s ease-in-out infinite;pointer-events:none}
/* modal */
.fx-modal{position:fixed;inset:0;z-index:120;display:none;align-items:center;justify-content:center;padding:18px;background:rgba(6,2,14,.72);backdrop-filter:blur(6px)}
.fx-modal.open{display:flex;animation:fxRise .25s ease}
.fx-modal-box{max-width:660px;width:100%;max-height:82vh;overflow:auto;background:rgba(22,11,40,.97);border:1px solid rgba(200,132,252,.4);
  border-radius:20px;padding:26px 28px;box-shadow:0 40px 90px rgba(0,0,0,.7),0 0 40px rgba(168,85,247,.3)}
.fx-modal-box h3{font-family:'Outfit';color:#fff;margin:0 0 12px;font-size:20px;display:flex;align-items:center;justify-content:space-between;gap:10px}
.fx-modal-box .mbody{white-space:pre-wrap;font-size:13.5px;line-height:1.7;color:rgba(255,255,255,.86)}
.fx-modal-close{background:rgba(255,255,255,.1);border:1px solid var(--line);color:#fff;width:34px;height:34px;border-radius:10px;cursor:pointer;font-size:18px;flex:none}
.fx-modal-close:hover{background:rgba(236,72,153,.25)}
.fx-foot{position:relative;z-index:4;text-align:center;color:var(--mut);padding:14px;font-size:12px}
@media(max-width:880px){
  .fx-card{grid-template-columns:1fr;max-width:460px}
  .fx-visual{display:none}
  .fx-form{padding:30px 24px}
}
