
:root{
  --bg:#09070f;
  --bg-2:#0d0a16;
  --panel:rgba(18,14,31,.78);
  --panel-2:rgba(22,17,39,.92);
  --text:#f7f2ff;
  --muted:#c9c0dd;
  --soft:#998fb2;
  --line:rgba(255,255,255,.08);
  --accent:#ab57ff;
  --accent-2:#da64ff;
  --accent-3:#7b61ff;
  --glow:rgba(171,87,255,.35);
  --shadow:0 24px 80px rgba(0,0,0,.38);
  --radius:28px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  color:var(--text);
  background:
    radial-gradient(circle at 12% 0%, rgba(171,87,255,.18), transparent 30%),
    radial-gradient(circle at 88% 8%, rgba(218,100,255,.12), transparent 24%),
    radial-gradient(circle at 50% 120%, rgba(123,97,255,.16), transparent 30%),
    linear-gradient(180deg, #09070f 0%, #0b0911 45%, #09070e 100%);
  font-family:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  line-height:1.7;
  overflow-x:hidden;
}
body::before,
body::after{
  content:"";
  position:fixed;
  width:520px;height:520px;border-radius:50%;
  filter:blur(70px);
  pointer-events:none;
  z-index:-1;
  opacity:.20;
}
body::before{top:-180px;right:-150px;background:radial-gradient(circle, rgba(218,100,255,.6), transparent 58%);animation:orb 16s ease-in-out infinite}
body::after{bottom:-200px;left:-120px;background:radial-gradient(circle, rgba(123,97,255,.55), transparent 62%);animation:orb 20s ease-in-out infinite reverse}
@keyframes orb{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(-10px,18px) scale(1.06)}}

a{color:#eed8ff;text-decoration:none}
a:hover{text-decoration:none}
img{display:block;max-width:100%}
.wrap{width:min(1160px, calc(100% - 42px));margin:0 auto}

header{
  position:sticky;top:0;z-index:90;
  background:rgba(9,7,15,.70);
  backdrop-filter:blur(18px);
  border-bottom:1px solid var(--line);
}
.nav{
  min-height:74px;
  display:flex;align-items:center;justify-content:space-between;gap:20px;
}
.brand{display:flex;align-items:center;gap:14px;color:var(--text)}
.brand-logo{
  width:48px;height:48px;border-radius:16px;overflow:hidden;flex:none;
  border:1px solid rgba(255,255,255,.10);
  box-shadow:0 12px 32px var(--glow);
}
.brand-copy strong{display:block;font-size:1.04rem;letter-spacing:.01em}
.brand-copy span{display:block;color:var(--soft);font-size:.86rem}
.navlinks{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.navlinks a{
  padding:10px 14px;border-radius:999px;
  color:#ece2fa;transition:.22s ease;
  border:1px solid transparent;
}
.navlinks a:hover{
  background:rgba(255,255,255,.05);
  border-color:rgba(255,255,255,.08);
  transform:translateY(-1px);
}
.navlinks .cta{
  background:linear-gradient(135deg, rgba(171,87,255,.24), rgba(218,100,255,.18));
  border-color:rgba(218,100,255,.28);
  box-shadow:0 10px 28px rgba(171,87,255,.18);
}

.intro-screen{
  position:relative;
  min-height:100svh;
  display:grid;
  place-items:center;
  overflow:hidden;
  padding:110px 0 36px;
}
.intro-grid{
  width:min(980px, calc(100% - 36px));
  margin:0 auto;
  text-align:center;
  position:relative;
  z-index:2;
}
.intro-bloom-wrap{
  position:relative;
  width:min(60vw, 420px);
  aspect-ratio:1/1;
  margin:0 auto 24px;
  display:grid;
  place-items:center;
}
.intro-halo,
.intro-halo::before,
.intro-halo::after{
  content:"";
  position:absolute;
  border-radius:50%;
}
.intro-halo{
  inset:5%;
  border:1px solid rgba(223,126,255,.23);
  box-shadow:0 0 80px rgba(171,87,255,.22), inset 0 0 50px rgba(171,87,255,.10);
  animation:spinSlow 26s linear infinite;
}
.intro-halo::before{
  inset:8%;
  border:1px solid rgba(255,255,255,.08);
  animation:spinReverse 18s linear infinite;
}
.intro-halo::after{
  inset:-4%;
  border:1px dashed rgba(219,102,255,.22);
  filter:drop-shadow(0 0 20px rgba(171,87,255,.22));
  animation:spinSlow 34s linear infinite;
}
@keyframes spinSlow{from{transform:rotate(0)}to{transform:rotate(360deg)}}
@keyframes spinReverse{from{transform:rotate(360deg)}to{transform:rotate(0)}}

.intro-bloom{
  position:relative;
  width:72%;
  z-index:2;
  filter:drop-shadow(0 0 34px rgba(218,100,255,.45));
  animation:bloomFloat 8s ease-in-out infinite;
}
.intro-bloom svg{width:100%;height:100%;display:block}
@keyframes bloomFloat{
  0%,100%{transform:translateY(0) scale(1)}
  50%{transform:translateY(-10px) scale(1.03)}
}
.intro-bloom::before,
.intro-bloom::after{
  content:"";
  position:absolute;
  inset:-12%;
  border-radius:50%;
  background:radial-gradient(circle, rgba(218,100,255,.18), transparent 58%);
  z-index:-1;
  filter:blur(20px);
  animation:pulseGlow 4.4s ease-in-out infinite;
}
.intro-bloom::after{
  inset:-18%;
  animation-duration:5.8s;
}
@keyframes pulseGlow{
  0%,100%{opacity:.55; transform:scale(1)}
  50%{opacity:1; transform:scale(1.08)}
}

.intro-kicker{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:8px 13px;
  border-radius:999px;
  background:rgba(171,87,255,.10);
  border:1px solid rgba(171,87,255,.22);
  color:#eed6ff;
  font-weight:700;
  font-size:.88rem;
}
.dot{
  width:8px;height:8px;border-radius:50%;background:#98ffc4;
  box-shadow:0 0 18px rgba(152,255,196,.95);
  animation:pulse 1.8s ease-in-out infinite;
}
@keyframes pulse{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(1.35);opacity:.75}}
.intro-title{
  margin:18px auto 12px;
  max-width:900px;
  font-size:clamp(3rem, 8vw, 6rem);
  line-height:.95;
  letter-spacing:-.07em;
}
.intro-copy{
  margin:0 auto;
  max-width:760px;
  color:var(--muted);
  font-size:1.1rem;
}
.intro-scroll{
  display:inline-flex;
  flex-direction:column;
  align-items:center;
  gap:10px;
  margin-top:28px;
  color:#ead1ff;
  font-weight:700;
  letter-spacing:.02em;
}
.intro-scroll-icon{
  width:34px;height:56px;border-radius:20px;border:1px solid rgba(255,255,255,.16);
  display:grid;place-items:flex-start;
  padding-top:9px;
  background:rgba(255,255,255,.02);
}
.intro-scroll-icon span{
  width:5px;height:12px;border-radius:999px;background:#f4ceff;
  box-shadow:0 0 14px rgba(244,206,255,.6);
  animation:scrollCue 1.8s ease-in-out infinite;
}
@keyframes scrollCue{
  0%{transform:translateY(0); opacity:1}
  70%{transform:translateY(18px); opacity:.35}
  100%{transform:translateY(0); opacity:1}
}

.hero{padding:26px 0 40px;position:relative}
.hero-grid{
  display:grid;
  grid-template-columns:1.12fr .88fr;
  gap:28px;
  align-items:stretch;
}
.panel, .hero-card, .card, .legal-card, .stat, .highlight{
  background:linear-gradient(180deg, rgba(22,17,39,.92), rgba(13,11,23,.96));
  border:1px solid rgba(255,255,255,.08);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
}
.hero-card{padding:36px;position:relative;overflow:hidden}
.hero-card::before{
  content:"";position:absolute;right:-80px;bottom:-100px;width:240px;height:240px;border-radius:50%;
  background:radial-gradient(circle, rgba(218,100,255,.28), transparent 62%);
  filter:blur(8px)
}
.showcase{padding:26px;display:flex;flex-direction:column;justify-content:space-between;gap:18px;overflow:hidden;position:relative}
.showcase::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(circle at 50% 0%, rgba(218,100,255,.10), transparent 42%);
}
.eyebrow{
  display:inline-flex;align-items:center;gap:10px;
  padding:8px 12px;border-radius:999px;
  background:rgba(171,87,255,.10);
  border:1px solid rgba(171,87,255,.22);
  color:#eed6ff;font-weight:700;font-size:.88rem;
}
h1{
  margin:18px 0 14px;
  font-size:clamp(2.9rem, 7vw, 5.4rem);
  line-height:.97;letter-spacing:-.06em;
}
h2{
  margin:0 0 12px;
  font-size:clamp(1.7rem,3vw,2.35rem);
  letter-spacing:-.04em;
}
h3{margin:0 0 8px;font-size:1.14rem}
.gradient{
  background:linear-gradient(90deg, #fff 0%, #ead1ff 28%, #ce90ff 62%, #ffb0e7 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.lead{margin:0;max-width:760px;color:var(--muted);font-size:1.12rem}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin:26px 0 12px}
.button{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  padding:13px 18px;border-radius:15px;font-weight:700;
  transition:.22s ease;border:1px solid rgba(255,255,255,.10)
}
.button:hover{transform:translateY(-2px);border-color:rgba(255,255,255,.18)}
.button.primary{
  background:linear-gradient(135deg, rgba(171,87,255,.30), rgba(218,100,255,.20));
  box-shadow:0 14px 36px rgba(171,87,255,.20)
}
.button.secondary{background:rgba(255,255,255,.03)}

.hero-mini{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:24px
}
.mini{
  padding:15px 16px;border-radius:18px;background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.06)
}
.mini strong{display:block;margin-bottom:4px}
.mini span{color:var(--soft);font-size:.93rem}

.logo-box{
  position:relative;padding:18px;border-radius:24px;
  background:rgba(7,6,14,.88);border:1px solid rgba(255,255,255,.08)
}
.logo-ring{
  position:absolute;inset:15px;border-radius:22px;
  border:1px solid rgba(218,100,255,.22);
  box-shadow:0 0 40px rgba(218,100,255,.12);
  animation:spinSlow 18s linear infinite;
}
.logo-box img{
  width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:18px;
  box-shadow:0 18px 50px rgba(171,87,255,.20)
}

.badge-grid{display:grid;gap:12px}
.highlight{padding:15px 16px;border-radius:20px;background:rgba(255,255,255,.035)}
.highlight-row{display:flex;gap:12px;align-items:flex-start}
.highlight-row strong{display:block;margin-bottom:4px}
.highlight-row span{display:block;color:var(--soft);font-size:.92rem}
.icon-pill{
  width:40px;height:40px;border-radius:14px;display:grid;place-items:center;
  background:rgba(171,87,255,.12);border:1px solid rgba(171,87,255,.18);flex:none
}

.section{padding:24px 0 14px}
.section-head{
  display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin:0 0 18px
}
.section-head p{margin:0;color:var(--soft);max-width:650px}
.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.card{padding:22px;transition:.22s ease}
.card:hover{transform:translateY(-4px);border-color:rgba(218,100,255,.24)}
.card .icon{
  width:46px;height:46px;border-radius:14px;display:grid;place-items:center;
  background:rgba(171,87,255,.12);border:1px solid rgba(171,87,255,.18);margin-bottom:14px
}
.card p{margin:0;color:#ddd5eb}
.card-link{display:inline-flex;gap:8px;align-items:center;margin-top:14px;font-weight:700}
.card-link::after{content:"→";transition:.2s ease}
.card:hover .card-link::after{transform:translateX(4px)}

.project-grid{
  display:grid;grid-template-columns:1fr 1fr;gap:18px
}
.stat{padding:22px}
.stat strong{display:block;font-size:2rem;line-height:1;margin-bottom:8px}
.stat span{color:var(--soft)}
.bullet{margin:0;padding-left:20px;color:#ddd5eb}
.anchor-offset{scroll-margin-top:96px}

.legal-wrap{max-width:920px;margin:0 auto;padding:68px 0 28px}
.legal-head{margin-bottom:20px}
.legal-card{padding:30px;position:relative;overflow:hidden}
.legal-card::before{
  content:"";position:absolute;right:-90px;top:-90px;width:240px;height:240px;border-radius:50%;
  background:radial-gradient(circle, rgba(171,87,255,.18), transparent 62%);
}
.legal-card h2{margin-top:22px;font-size:1.36rem}
.legal-card p,.legal-card li{color:#ddd5eb}
.legal-card ul{padding-left:22px}
.notice{
  margin-top:18px;padding:16px 18px;border-radius:18px;
  background:rgba(171,87,255,.08);border:1px solid rgba(171,87,255,.16);color:#eddfff
}

.footer{padding:44px 0 72px}
.footer-box{
  display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;
  padding:20px 24px;border-radius:24px;background:rgba(255,255,255,.03);
  border:1px solid rgba(255,255,255,.08)
}
.footer-links{display:flex;gap:12px;flex-wrap:wrap}
.footer-links a{
  padding:10px 13px;border-radius:999px;background:rgba(255,255,255,.03);
  border:1px solid rgba(255,255,255,.06)
}
.muted{color:var(--soft)}

.flower{
  position:absolute;right:-8px;top:-4px;width:140px;height:140px;opacity:.65;
  animation:floatPetal 8s ease-in-out infinite
}
.flower.small{width:86px;height:86px;right:18px;top:14px;opacity:.55}
@keyframes floatPetal{0%,100%{transform:translateY(0) rotate(0deg)}50%{transform:translateY(10px) rotate(6deg)}}
.flower svg{width:100%;height:100%;filter:drop-shadow(0 0 18px rgba(171,87,255,.28))}

.reveal{
  opacity:0;
  transform:translateY(40px) scale(.985);
  transition:opacity .9s ease, transform .9s ease;
  transition-delay:var(--delay,0s);
}
.reveal.is-visible{
  opacity:1;
  transform:none;
}
.reveal-group > *{
  opacity:0;
  transform:translateY(36px);
  transition:opacity .8s ease, transform .8s ease;
}
.reveal-group.is-visible > *:nth-child(1){transition-delay:.05s}
.reveal-group.is-visible > *:nth-child(2){transition-delay:.15s}
.reveal-group.is-visible > *:nth-child(3){transition-delay:.25s}
.reveal-group.is-visible > *:nth-child(4){transition-delay:.35s}
.reveal-group.is-visible > *:nth-child(5){transition-delay:.45s}
.reveal-group.is-visible > *{
  opacity:1;
  transform:none;
}

@media (prefers-reduced-motion: reduce){
  *{scroll-behavior:auto !important}
  .reveal, .reveal-group > *, .intro-bloom, .intro-halo, .logo-ring, body::before, body::after, .flower, .dot, .intro-scroll-icon span{
    animation:none !important;
    transition:none !important;
    transform:none !important;
    opacity:1 !important;
  }
}

@media (max-width:980px){
  .hero-grid,.grid-3,.project-grid{grid-template-columns:1fr}
}
@media (max-width:720px){
  .wrap{width:min(100% - 24px, 1160px)}
  .nav{flex-direction:column;align-items:flex-start;padding:12px 0}
  .intro-screen{padding-top:140px}
  .intro-bloom-wrap{width:min(82vw, 360px)}
  .hero{padding-top:18px}
  .hero-card,.showcase,.card,.legal-card,.stat{padding:20px;border-radius:22px}
  .hero-mini{grid-template-columns:1fr}
}


/* Hahlia App Beta Waitlist */
.beta-main{min-height:calc(100svh - 74px)}
.beta-shell{
  min-height:calc(100svh - 74px);
  padding:76px 0 54px;
  display:grid;
  grid-template-columns:minmax(0,.9fr) minmax(420px,1.1fr);
  gap:36px;
  align-items:center;
}
.beta-intro h1{font-size:clamp(3.25rem,7vw,6.4rem);max-width:760px}
.beta-intro .lead{max-width:660px}
.beta-pills{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}
.beta-pills span{
  padding:9px 13px;border-radius:999px;
  background:rgba(171,87,255,.08);
  border:1px solid rgba(218,100,255,.16);
  color:#ead9f8;font-size:.9rem;font-weight:650;
}
.beta-small{color:var(--soft);font-size:.91rem;max-width:630px;margin:18px 0 0}
.beta-card{
  position:relative;overflow:hidden;
  padding:30px;
  background:linear-gradient(180deg,rgba(24,18,43,.96),rgba(12,10,22,.98));
  border:1px solid rgba(255,255,255,.09);
  border-radius:30px;
  box-shadow:0 30px 90px rgba(0,0,0,.42), 0 0 70px rgba(171,87,255,.08);
}
.beta-card::before{
  content:"";position:absolute;right:-90px;top:-110px;width:300px;height:300px;border-radius:50%;
  background:radial-gradient(circle,rgba(218,100,255,.20),transparent 65%);pointer-events:none;
}
.beta-card-head{display:flex;align-items:center;gap:16px;margin-bottom:24px;position:relative}
.beta-logo{width:64px;height:64px;border-radius:20px;border:1px solid rgba(255,255,255,.10);box-shadow:0 12px 34px rgba(171,87,255,.22)}
.beta-card-head h2{margin:2px 0 2px}
.beta-card-head p{margin:0;color:var(--soft);font-size:.93rem}
.beta-overline{font-size:.74rem;text-transform:uppercase;letter-spacing:.14em;color:#dba8ff;font-weight:800}
.beta-form{display:grid;gap:16px;position:relative}
.beta-field{display:grid;gap:7px}
.beta-field > span{font-size:.89rem;font-weight:700;color:#eee7f7}
.beta-field em{font-style:normal;font-weight:500;color:var(--soft);font-size:.8rem}
.beta-field input,.beta-field select{
  width:100%;min-height:52px;padding:0 15px;
  border-radius:15px;border:1px solid rgba(255,255,255,.09);
  background:rgba(255,255,255,.035);color:var(--text);
  font:inherit;outline:none;transition:.2s ease;
}
.beta-field input::placeholder{color:#756d83}
.beta-field select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,#bca8cc 50%),linear-gradient(135deg,#bca8cc 50%,transparent 50%);background-position:calc(100% - 20px) 22px,calc(100% - 14px) 22px;background-size:6px 6px,6px 6px;background-repeat:no-repeat}
.beta-field select option{background:#120f1c;color:#fff}
.beta-field input:focus,.beta-field select:focus{border-color:rgba(218,100,255,.55);box-shadow:0 0 0 4px rgba(171,87,255,.10)}
.beta-consent{display:flex;align-items:flex-start;gap:10px;color:var(--soft);font-size:.82rem;line-height:1.5;margin-top:2px}
.beta-consent input{margin-top:4px;accent-color:#ab57ff}
.beta-submit{width:100%;min-height:54px;border:0;cursor:pointer;font:inherit;color:#fff}
.beta-submit:disabled{opacity:.6;cursor:wait;transform:none}
.beta-spinner{display:none;width:18px;height:18px;border:2px solid rgba(255,255,255,.32);border-top-color:#fff;border-radius:50%;animation:betaSpin .7s linear infinite}
.beta-form.is-busy .beta-spinner{display:inline-block}
@keyframes betaSpin{to{transform:rotate(360deg)}}
.beta-message{min-height:22px;font-size:.9rem;padding:0 2px;color:var(--soft)}
.beta-message.success{color:#a9f6c9}
.beta-message.error{color:#ffb4c4}
.beta-button{border-color:rgba(218,100,255,.22)!important}
@media(max-width:900px){
  .beta-shell{grid-template-columns:1fr;padding-top:48px;gap:26px}
  .beta-intro{text-align:center}
  .beta-intro .lead,.beta-small{margin-left:auto;margin-right:auto}
  .beta-pills{justify-content:center}
}
@media(max-width:520px){
  .beta-shell{padding-top:34px}
  .beta-card{padding:20px;border-radius:24px}
  .beta-card-head{align-items:flex-start}
  .beta-logo{width:54px;height:54px;border-radius:17px}
}


::selection{background:rgba(214,102,255,.28);color:#fff}
header, main, .footer{position:relative;z-index:1}
body::selection{background:rgba(214,102,255,.28);color:#fff}

.ambient-layer{
  position:fixed; inset:0; pointer-events:none; overflow:hidden; z-index:0;
}
.firefly{
  position:absolute; left:var(--x); top:var(--y);
  width:var(--size); height:var(--size); border-radius:50%;
  background:radial-gradient(circle, rgba(255,255,255,.98) 0%, rgba(232,172,255,.95) 26%, rgba(179,86,255,.75) 60%, rgba(179,86,255,0) 100%);
  box-shadow:0 0 7px rgba(238,171,255,.75), 0 0 16px rgba(171,87,255,.45), 0 0 32px rgba(171,87,255,.2);
  opacity:.25;
  animation:fireflyFloat var(--duration) ease-in-out infinite alternate, fireflyBlink var(--blink) ease-in-out infinite;
  animation-delay:var(--delay), var(--delay);
  filter:blur(.15px);
}
.firefly::after{
  content:""; position:absolute; left:50%; top:50%; width:220%; height:220%; transform:translate(-50%,-50%);
  background:radial-gradient(circle, rgba(171,87,255,.18), transparent 65%);
}
@keyframes fireflyFloat{
  0%{transform:translate3d(0,0,0) scale(.92)}
  50%{transform:translate3d(var(--drift-x), calc(var(--drift-y) * -.6), 0) scale(1.1)}
  100%{transform:translate3d(calc(var(--drift-x) * -1), var(--drift-y), 0) scale(.96)}
}
@keyframes fireflyBlink{
  0%,100%{opacity:.16}
  25%{opacity:.95}
  55%{opacity:.45}
  70%{opacity:1}
}

body::before{z-index:-2}
body::after{z-index:-2}
body::before,
body::after{opacity:.26}

.intro-screen::before{
  content:""; position:absolute; inset:0; pointer-events:none; z-index:1;
  background:
    linear-gradient(90deg, rgba(255,255,255,.02) 1px, transparent 1px),
    linear-gradient(180deg, rgba(255,255,255,.02) 1px, transparent 1px);
  background-size:72px 72px;
  mask-image:radial-gradient(circle at 50% 32%, #000 22%, transparent 78%);
  opacity:.18;
}
.intro-grid{z-index:2}
.intro-bloom-wrap{filter:drop-shadow(0 0 36px rgba(171,87,255,.12))}
.intro-bloom{
  width:76%;
}
.intro-bloom-logo,
.hero-emblem{
  width:100%;height:100%;display:block;
  filter:drop-shadow(0 0 14px rgba(238,176,255,.45)) drop-shadow(0 0 36px rgba(171,87,255,.22));
}
.intro-bloom::before{background:radial-gradient(circle, rgba(218,100,255,.12), transparent 62%)}
.intro-bloom::after{background:radial-gradient(circle, rgba(123,97,255,.12), transparent 62%)}

.brand-logo,
.beta-logo,
.logo-box img{
  background:radial-gradient(circle at 50% 40%, rgba(171,87,255,.14), rgba(9,7,15,.72));
}
.brand-logo{
  padding:4px;
  box-shadow:0 14px 36px rgba(171,87,255,.24), inset 0 0 0 1px rgba(255,255,255,.04);
}
.brand:hover .brand-logo{transform:translateY(-1px) scale(1.02);transition:transform .22s ease}

.navlinks a{position:relative}
.navlinks a::after{
  content:""; position:absolute; left:14px; right:14px; bottom:6px; height:1px;
  background:linear-gradient(90deg, transparent, rgba(235,195,255,.8), transparent);
  transform:scaleX(0); transform-origin:center; transition:transform .28s ease;
}
.navlinks a:hover::after{transform:scaleX(1)}

.hero-card, .panel, .card, .legal-card, .stat, .highlight, .footer-box, .beta-card{
  backdrop-filter:blur(18px);
}
.hero-card::after,
.card::after,
.beta-card::after,
.legal-card::after,
.highlight::after{
  content:""; position:absolute; inset:1px; border-radius:inherit; pointer-events:none;
  background:linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,0) 18%, rgba(255,255,255,0));
  opacity:.55;
}
.card, .highlight, .legal-card, .beta-card, .hero-card{position:relative; overflow:hidden}
.card:hover{box-shadow:0 24px 70px rgba(0,0,0,.34), 0 0 0 1px rgba(218,100,255,.08)}
.mini{background:linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.028));}

.logo-box{
  background:
    linear-gradient(180deg, rgba(10,8,18,.94), rgba(10,8,18,.88)),
    radial-gradient(circle at 50% 18%, rgba(171,87,255,.12), transparent 40%);
}
.logo-ring{
  border-color:rgba(218,100,255,.18);
  box-shadow:0 0 40px rgba(218,100,255,.10), inset 0 0 0 1px rgba(255,255,255,.03);
}
.logo-box img{padding:10px; object-fit:contain}

.flower{
  width:148px;height:148px;right:8px;top:8px;opacity:.78;
}
.flower.small{opacity:.65}
.flower svg, .flower img{width:100%;height:100%;display:block;object-fit:contain}

@media (max-width: 900px){
  .firefly{opacity:.22}
}
@media (pointer:coarse){
  .ambient-layer.cursor-layer,
  }

header{z-index:20}
.brand-logo{object-fit:cover}
.logo-box img{padding:8px;object-fit:cover}

/* Cursor del sistema restaurado */
a, button, .button, select, summary { cursor: pointer; }
input, textarea { cursor: text; }


/* Community / Discord */
.discord-community{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:32px;
  padding:34px;
  border:1px solid rgba(176,105,255,.22);
  border-radius:28px;
  background:
    radial-gradient(circle at 92% 20%, rgba(124,58,237,.16), transparent 32%),
    linear-gradient(135deg, rgba(18,14,27,.95), rgba(11,9,17,.92));
  box-shadow:0 22px 70px rgba(0,0,0,.25);
}
.discord-community-copy{max-width:720px}
.discord-community h2{margin:12px 0 10px}
.discord-community p{color:var(--muted);max-width:680px;margin:0 0 22px}
.discord-mark{
  width:132px;
  height:132px;
  flex:0 0 132px;
  display:grid;
  place-items:center;
  border-radius:34px;
  color:#d9b7ff;
  border:1px solid rgba(176,105,255,.22);
  background:rgba(124,58,237,.09);
}
.discord-button{min-width:170px;text-align:center}

.beta-discord-card{
  display:block;
  margin-top:22px;
  padding:22px 24px;
  border:1px solid rgba(176,105,255,.2);
  border-radius:22px;
  background:rgba(20,15,30,.72);
  text-decoration:none;
  transition:transform .2s ease,border-color .2s ease,background .2s ease;
}
.beta-discord-card:hover{
  transform:translateY(-2px);
  border-color:rgba(176,105,255,.42);
  background:rgba(26,18,39,.86);
}
.beta-discord-card strong,
.beta-discord-card span,
.beta-discord-card b{display:block}
.beta-discord-card strong{font-size:1.05rem;color:var(--text);margin:5px 0 6px}
.beta-discord-card span{color:var(--muted)}
.beta-discord-card b{margin-top:12px;color:#cf9cff;font-size:.94rem}
.beta-discord-label{
  text-transform:uppercase;
  letter-spacing:.12em;
  font-size:.72rem;
  font-weight:800;
  color:#a970ff !important;
}

.beta-turnstile{
  min-height:0;
  display:flex;
  justify-content:center;
  margin:4px 0 2px;
}

@media (max-width:760px){
  .discord-community{padding:26px;align-items:flex-start}
  .discord-mark{width:92px;height:92px;flex-basis:92px;border-radius:26px}
}
@media (max-width:560px){
  .discord-community{display:block}
  .discord-mark{margin-top:24px}
}
