/* === BASE STYLES === */:root{
  --c1:#0a0420;
  --c2:#1a0d3d;
  --c3:#ff1f8f;
  --c4:#00e5ff;
  --c5:#ffd84d;
  --bg:#06021a;
  --fg:#ffffff;
  --mute:rgba(255,255,255,0.72);
  --sp1:16px;
  --sp2:32px;
  --sp3:64px;
  --rad:18px;
  --radL:28px;
  --grad1:linear-gradient(135deg,#ff1f8f 0%,#7a1fff 50%,#00e5ff 100%);
  --grad2:linear-gradient(135deg,#1a0d3d 0%,#3d1b6e 100%);
  --shdw:0 20px 60px -10px rgba(255,31,143,0.4);
  --shdw2:0 30px 80px -20px rgba(0,229,255,0.35);
}
*{box-sizing:border-box}
html,body{overflow-x:hidden;max-width:100vw}
body{
  font-family:'Space Grotesk',system-ui,sans-serif;
  background:var(--bg);
  color:var(--fg);
  line-height:1.65;
  margin:0;
  -webkit-font-smoothing:antialiased;
}
body::before{
  content:"";
  position:fixed;
  inset:0;
  background:
    radial-gradient(ellipse 80% 50% at 20% 0%,rgba(255,31,143,0.18),transparent 60%),
    radial-gradient(ellipse 60% 50% at 90% 30%,rgba(0,229,255,0.15),transparent 60%),
    radial-gradient(ellipse 50% 40% at 50% 100%,rgba(122,31,255,0.2),transparent 60%);
  pointer-events:none;
  z-index:0;
}
main{position:relative;z-index:1}
h1,h2,h3,h4{
  font-family:'Sora','Space Grotesk',sans-serif;
  font-weight:800;
  letter-spacing:-0.02em;
  line-height:1.05;
}
h1{font-size:clamp(2.4rem,6vw,4.6rem)}
h2{font-size:clamp(1.9rem,4vw,3.2rem);margin-bottom:1.2rem}
h3{font-size:clamp(1.2rem,2vw,1.5rem);margin-bottom:0.6rem}
p{color:var(--mute)}
a{color:var(--c4);text-decoration:none;transition:color .2s}
a:hover{color:var(--c3)}
.container{max-width:1240px;margin:0 auto;padding:0 24px}
section{padding:clamp(60px,10vw,120px) 0;position:relative}
.ctaButton,.cta-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding:18px 36px;
  background:var(--grad1);
  color:#fff !important;
  font-weight:700;
  font-size:1.05rem;
  border-radius:999px;
  text-decoration:none;
  border:none;
  cursor:pointer;
  position:relative;
  transition:transform .3s cubic-bezier(.2,.8,.2,1),box-shadow .3s;
  box-shadow:0 14px 40px -10px rgba(255,31,143,0.6),inset 0 1px 0 rgba(255,255,255,0.3);
  letter-spacing:.01em;
  min-height:54px;
}
.cta-button::after{content:"→";font-size:1.2em;transition:transform .3s}
.cta-button:hover{transform:translateY(-3px) scale(1.02);box-shadow:0 20px 50px -10px rgba(255,31,143,0.8)}
.cta-button:hover::after{transform:translateX(4px)}
.figure,figure{margin:2rem 0}
.content-image{margin:2.5rem auto;border-radius:var(--radL);overflow:hidden;box-shadow:var(--shdw2);position:relative;max-width:700px}
.content-image.wide{max-width:960px}
.content-image img{width:100%;height:auto;display:block}
ul,ol{color:var(--mute)}
strong{color:var(--fg)}

/* === LAYOUT STYLES === */
.site-header{
  position:sticky;
  top:0;
  z-index:1000;
  background:rgba(6,2,26,0.78);
  backdrop-filter:blur(20px);
  -webkit-backdrop-filter:blur(20px);
  border-bottom:1px solid rgba(255,255,255,0.08);
}
.header-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:18px 24px;
  gap:24px;
  max-width:1240px;
  margin:0 auto;
}
.logo{
  display:inline-flex;
  align-items:center;
  font-family:'Sora',sans-serif;
  font-weight:900;
  font-size:1.6rem;
  background:var(--grad1);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
  text-decoration:none;
  letter-spacing:-0.02em;
}
.main-nav ul{
  list-style:none;
  display:flex;
  gap:36px;
  margin:0;
  padding:0;
}
.main-nav a{
  color:var(--fg);
  font-weight:500;
  font-size:1rem;
  position:relative;
  padding:8px 0;
}
.main-nav a::after{
  content:"";
  position:absolute;
  bottom:0;left:0;
  width:0;height:2px;
  background:var(--grad1);
  transition:width .3s;
}
.main-nav a:hover{color:var(--c3)}
.main-nav a:hover::after{width:100%}
.site-header .cta-button{padding:12px 24px;font-size:.95rem;min-height:46px}
.hamburger{
  display:none;
  background:transparent;
  border:1px solid rgba(255,255,255,0.15);
  border-radius:12px;
  width:46px;height:46px;
  padding:0;
  cursor:pointer;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:5px;
}
.hamburger span{
  display:block;
  width:20px;height:2px;
  background:#fff;
  transition:.3s;
}
.hamburger[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.hamburger[aria-expanded="true"] span:nth-child(2){opacity:0}
.hamburger[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

.site-footer{
  background:linear-gradient(180deg,transparent,rgba(255,31,143,0.08));
  border-top:1px solid rgba(255,255,255,0.08);
  padding:50px 0 30px;
  position:relative;
  z-index:1;
}
.footer-inner{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:20px;
  text-align:center;
}
.footer-nav ul{
  list-style:none;
  display:flex;
  gap:32px;
  margin:0;
  padding:0;
  flex-wrap:wrap;
  justify-content:center;
}
.footer-nav a{color:var(--mute);font-weight:500}
.footer-nav a:hover{color:var(--c4)}
.footer-note{color:var(--mute);font-size:.9rem;margin:0}

@media (max-width:860px){
  .hamburger{display:flex}
  .header-inner{
    flex-wrap:wrap;
    align-items:center;
    padding:14px 16px;
    gap:10px;
  }
  .logo{flex:1}
  .site-header .cta-button{
    order:3;
    width:100%;
    max-width:none;
    padding:14px 20px;
    font-size:1rem;
    white-space:normal;
    overflow:visible;
    text-overflow:clip;
  }
  .main-nav{
    position:absolute;
    top:100%;
    left:0;right:0;
    background:rgba(10,4,32,0.98);
    backdrop-filter:blur(20px);
    border-bottom:1px solid rgba(255,255,255,0.08);
    max-height:0;
    overflow:hidden;
    transition:max-height .4s;
  }
  .main-nav.open{max-height:400px}
  .main-nav ul{
    flex-direction:column;
    padding:24px;
    gap:8px;
  }
  .main-nav a{
    display:block;
    padding:14px 0;
    font-size:1.1rem;
  }
}