*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:var(--body);
  color:var(--text);
  background:
    radial-gradient(circle at 8% 12%, rgba(255,120,180,.13), transparent 28%),
    radial-gradient(circle at 92% 20%, rgba(163,141,255,.12), transparent 26%),
    radial-gradient(circle at 75% 85%, rgba(156,255,222,.10), transparent 30%),
    radial-gradient(circle at 20% 80%, rgba(255,214,122,.10), transparent 25%),
    #fffaf9;
}
a{text-decoration:none;color:inherit}
img{max-width:100%;display:block}
.container{width:min(90%,var(--container));margin:0 auto}
.container-wide{width:min(92%,var(--wide));margin:0 auto}
.section{padding:86px 0}
.eyebrow{font-size:14px;letter-spacing:.18em;text-transform:uppercase;color:var(--pink);font-weight:700}

.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:18px;
  padding:16px 28px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.03em;
  transition:.25s;
}

.btn-primary{
  position:relative;
  overflow:hidden;
  background:linear-gradient(135deg,#ff6da9 0%,#d86fff 50%,#6dd8ff 100%);
  color:#fff;
  border:none;
  box-shadow:0 15px 35px rgba(216,111,255,.30);
}

.btn-primary::before{
  content:"";
  position:absolute;
  top:0;
  left:-130%;
  width:80%;
  height:100%;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.55),transparent);
  transition:.7s;
}

.btn-primary:hover{
  transform:translateY(-4px) scale(1.03);
  box-shadow:0 24px 45px rgba(216,111,255,.38);
}

.btn-primary:hover::before{left:150%}

.btn-link{color:var(--text)}
.center{text-align:center}
.section-heading h2{font-size:clamp(34px,4vw,58px);font-family:var(--title);line-height:1.05;margin-top:12px}
.section-heading em{font-style:italic;color:var(--pink)}
.reveal{opacity:0;transform:translateY(24px);transition:.7s ease}
.reveal.show{opacity:1;transform:translateY(0)}
