/* =========================================================
   EMS+ Landing — women (independent copy of the men stylesheet)
   Blue #4e91cb · Brand purple #9167ab (sampled from the logo)
   ========================================================= */

/* ---------- 29LT Bukra (self-hosted) ---------- */
@font-face{font-family:"29LT Bukra";src:url("../fonts/29LTBukra-Light.woff2") format("woff2");font-weight:300;font-style:normal;font-display:swap}
@font-face{font-family:"29LT Bukra";src:url("../fonts/29LTBukra-Regular.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"29LT Bukra";src:url("../fonts/29LTBukra-Bold.woff2") format("woff2");font-weight:700;font-style:normal;font-display:swap}

:root{
  --bg:#04070d;
  --text:#f2f7f8;
  --muted:#9fb0c3;
  --blue:#4e91cb;
  --purple:#9167ab;
  --wa:#25d366;
  --font:"29LT Bukra",system-ui,-apple-system,"Segoe UI",Tahoma,sans-serif;
}

*{box-sizing:border-box;margin:0;padding:0}
html,body{min-height:100%}
body{
  font-family:var(--font);
  background:
    radial-gradient(80% 60% at 50% 0%,rgba(145,103,171,.26),transparent 70%),
    var(--bg);
  color:var(--text);
  line-height:1.6;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
:focus-visible{outline:2px solid var(--blue);outline-offset:4px;border-radius:12px}

/* ---------- animated background paths ---------- */
.paths{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden;color:var(--purple)}
.paths svg{position:absolute;inset:0;width:100%;height:100%}

/* ---------- page column ---------- */
.page{
  position:relative;z-index:1;
  min-height:100svh;
  width:100%;max-width:560px;margin-inline:auto;
  padding:56px 22px 44px;
  display:flex;flex-direction:column;align-items:center;text-align:center;gap:48px;
}

.logo{width:min(320px,78%);height:auto;filter:drop-shadow(0 0 24px rgba(145,103,171,.3))}
.logo + .headline{margin-top:26px}

/* ---------- headline: setup → punchline ---------- */
.headline{font-weight:700;line-height:1.15;letter-spacing:-.3px;display:flex;flex-direction:column;align-items:center;gap:.1em}
.headline .row{display:block;overflow:hidden;padding:.08em .1em .28em;margin-bottom:-.18em}
.headline .setup{
  display:flex;align-items:center;justify-content:center;gap:.6em;
  font-size:clamp(1.25rem,5.4vw,1.75rem);font-weight:400;color:#c9d6e6;
  margin-bottom:.35em;
}
.headline .setup .sep{
  width:7px;height:7px;border-radius:50%;flex:none;
  background:linear-gradient(135deg,var(--blue),var(--purple));
  box-shadow:0 0 10px var(--blue);
  opacity:0;animation:fadeIn .6s ease forwards;animation-delay:.45s;
}
.headline .main{font-size:clamp(1.45rem,6.2vw,3.1rem);white-space:nowrap}
.headline .main .grad{font-size:1.2em}
.headline .w{
  display:inline-block;
  opacity:0;transform:translateY(100%);
  animation:wordUp .9s cubic-bezier(.34,1.45,.64,1) forwards;
  animation-delay:calc(var(--i) * .12s + .2s);
}
.headline .grad{
  background:linear-gradient(90deg,var(--blue),var(--purple));
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
@keyframes wordUp{to{opacity:1;transform:none}}
@keyframes fadeIn{to{opacity:1}}

/* ---------- glowing gradient-edge button ---------- */
.cta{display:flex;flex-direction:column;align-items:center;gap:14px;width:100%}
.glow-btn{
  position:relative;isolation:isolate;
  display:block;width:100%;
  padding:2px;border-radius:22px;
  /* static outer glow — cheap on every phone (no per-frame blur) */
  box-shadow:0 0 16px rgba(78,145,203,.35),0 0 30px rgba(145,103,171,.32);
  transition:transform .3s ease,box-shadow .3s ease;
}
/* neon edge: a big conic square spun with transform (GPU-only), masked down to a 2px ring */
.glow-btn .glow{
  position:absolute;inset:0;border-radius:inherit;z-index:-1;overflow:hidden;pointer-events:none;
  padding:2px;
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;mask-composite:exclude;
}
.glow-btn .glow::before{
  content:"";position:absolute;left:50%;top:50%;width:160%;aspect-ratio:1;
  background:conic-gradient(var(--blue),var(--purple),var(--blue),var(--purple),var(--blue));
  transform:translate(-50%,-50%);animation:turn 4s linear infinite;will-change:transform;
}
@keyframes turn{from{transform:translate(-50%,-50%) rotate(0)}to{transform:translate(-50%,-50%) rotate(360deg)}}
.glow-btn:hover{transform:translateY(-3px)}
.glow-btn:hover{box-shadow:0 0 22px rgba(78,145,203,.5),0 0 40px rgba(145,103,171,.45)}
.glow-btn .inner{
  position:relative;overflow:hidden;
  display:flex;align-items:center;justify-content:center;
  padding:22px 24px;border-radius:20px;
  /* liquid glass (same recipe as the Tasheed site CTA) */
  background:rgba(255,255,255,.12);
  -webkit-backdrop-filter:blur(10px) saturate(1.5);backdrop-filter:blur(10px) saturate(1.5);
  box-shadow:
    inset 1px 1px 1px -0.5px rgba(255,255,255,.7),
    inset -1px -1px 1px -0.5px rgba(255,255,255,.45),
    inset 0 0 8px 4px rgba(255,255,255,.07),
    0 6px 22px rgba(0,0,0,.22);
  transition:background .25s;
}
.glow-btn:hover .inner{background:rgba(255,255,255,.20)}
.glow-btn .label{display:flex;align-items:center;justify-content:center;text-align:center}
.glow-btn .title{display:flex;align-items:center;gap:12px;font-size:clamp(1.05rem,5.2vw,1.4rem);font-weight:700;line-height:1.2;white-space:nowrap}
.dot{width:12px;height:12px;border-radius:50%;background:var(--wa);flex:none;animation:pulse 2s infinite}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(37,211,102,.7)}70%{box-shadow:0 0 0 10px rgba(37,211,102,0)}100%{box-shadow:0 0 0 0 rgba(37,211,102,0)}}

/* ---------- socials: brand "+" that opens into icons ---------- */
.connect{margin-top:auto;padding-top:130px;display:flex;flex-direction:column;align-items:center;gap:16px}
.connect-hub{position:relative;width:86px;height:86px}
.plus-btn{
  position:relative;z-index:3;isolation:isolate;
  width:86px;height:86px;border-radius:50%;border:0;cursor:pointer;
  display:grid;place-items:center;padding:2px;background:none;
  -webkit-tap-highlight-color:transparent;
}
.plus-btn::before,.plus-btn::after{
  content:"";position:absolute;inset:0;border-radius:50%;z-index:-1;
  background:conic-gradient(var(--blue),var(--purple),var(--blue),var(--purple),var(--blue));
  animation:turnRound 4s linear infinite;will-change:transform;
}
@keyframes turnRound{to{transform:rotate(360deg)}}
.plus-btn::after{z-index:-2;filter:blur(14px);opacity:.7;transition:opacity .5s ease}
.connect.open .plus-btn::after{opacity:1}
.plus-btn{transition:transform .5s cubic-bezier(.22,1,.36,1)}
.plus-btn:active{transform:scale(.94)}
.plus-btn .face{
  width:100%;height:100%;border-radius:50%;
  display:grid;place-items:center;
  background:radial-gradient(circle at 50% 35%,#121a2e,#070b16);
}
.plus-btn img{width:44px;height:44px;transition:transform .6s cubic-bezier(.22,1,.36,1);will-change:transform}
.connect.open .plus-btn img{transform:rotate(135deg)}
.connect-label{color:var(--muted);font-size:1rem;transition:opacity .4s ease,transform .5s cubic-bezier(.22,1,.36,1)}
.connect.open .connect-label{opacity:0;transform:translateY(6px)}

.soc{position:absolute;inset:0;z-index:2;pointer-events:none}
.soc a{
  position:absolute;left:50%;top:50%;
  width:60px;height:60px;margin:-30px 0 0 -30px;border-radius:18px;
  display:grid;place-items:center;
  background:rgba(12,18,34,.92);border:1px solid rgba(78,145,203,.45);
  box-shadow:0 0 18px rgba(78,145,203,.35),0 0 28px rgba(145,103,171,.25);
  opacity:0;transform:translate(0,0) scale(.55);filter:blur(6px);
  transition:transform .6s cubic-bezier(.22,1,.36,1),opacity .4s ease,filter .4s ease;
  will-change:transform,opacity;
}
.soc a img{width:34px;height:34px;border-radius:9px}
.soc a:hover{border-color:rgba(145,103,171,.7)}

/* open + tease share the fan positions; tease is a little smaller */
.connect.open .soc,.connect.tease .soc{pointer-events:auto}
.connect.open .soc a,.connect.tease .soc a{opacity:1;filter:blur(0)}
.connect.open .soc a:nth-child(1){transform:translate(-92px,-62px) scale(1)}
.connect.open .soc a:nth-child(2){transform:translate(0,-108px) scale(1);transition-delay:.06s}
.connect.open .soc a:nth-child(3){transform:translate(92px,-62px) scale(1);transition-delay:.12s}
.connect.tease .soc a:nth-child(1){transform:translate(-80px,-54px) scale(.82)}
.connect.tease .soc a:nth-child(2){transform:translate(0,-94px) scale(.82);transition-delay:.06s}
.connect.tease .soc a:nth-child(3){transform:translate(80px,-54px) scale(.82);transition-delay:.12s}
.connect.tease .plus-btn img{transform:rotate(45deg)}

/* ---------- footer ---------- */
.foot{color:var(--muted);font-size:.85rem;opacity:.8}

/* ---------- reduced motion ---------- */
@media (prefers-reduced-motion:reduce){
  .headline .w{animation:none;opacity:1;transform:none}
  .glow-btn .glow::before,.dot{animation:none}
  .soc a,.plus-btn img,.plus-btn{transition:none}
  .plus-btn::before,.plus-btn::after,.headline .setup .sep{animation:none;opacity:1}
}

/* =========================================================
   WOMEN — creative layer (overrides the shared base above)
   ========================================================= */
.page{gap:40px}
.logo + .headline{margin-top:18px}

/* drifting purple aura behind the lines */
.aura{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden}
.aura::before,.aura::after{content:"";position:absolute;border-radius:50%;opacity:.55;will-change:transform}
.aura::before{width:70vmax;height:70vmax;right:-30vmax;top:-22vmax;background:radial-gradient(circle,rgba(145,103,171,.75),transparent 65%);animation:drift1 16s ease-in-out infinite alternate}
.aura::after{width:60vmax;height:60vmax;left:-28vmax;bottom:-18vmax;background:radial-gradient(circle,rgba(110,80,190,.55),rgba(78,145,203,.25) 45%,transparent 68%);animation:drift2 19s ease-in-out infinite alternate}
@keyframes drift1{to{transform:translate(-14vw,18vh) scale(1.12)}}
@keyframes drift2{to{transform:translate(16vw,-20vh) scale(.92)}}

/* headline: big statement + pill punchline */
.headline{gap:.35em}
.headline .row{overflow:visible;padding:0;margin:0}
.headline .w{transform:translateY(40%);filter:blur(8px);animation:softUp 1s cubic-bezier(.22,1,.36,1) forwards;animation-delay:calc(var(--i) * .14s + .2s)}
@keyframes softUp{to{opacity:1;transform:none;filter:blur(0)}}
.headline .hero{display:flex;align-items:baseline;justify-content:center;gap:.28em;font-size:clamp(2.2rem,10.6vw,4.4rem);line-height:1.1;white-space:nowrap}
.headline .grad{background:linear-gradient(90deg,var(--blue),var(--purple) 55%,#c08ad6);-webkit-background-clip:text;background-clip:text;color:transparent}
.dots{display:inline-flex;gap:.12em;margin-inline-start:-.12em;align-self:flex-end;padding-bottom:.2em}
.dots i{width:.13em;height:.13em;border-radius:50%;background:var(--purple);box-shadow:0 0 10px var(--purple);opacity:.25;animation:dot 1.4s ease-in-out infinite}
.dots i:nth-child(2){animation-delay:.2s}.dots i:nth-child(3){animation-delay:.4s}
@keyframes dot{0%,100%{opacity:.25;transform:translateY(0)}40%{opacity:1;transform:translateY(-.12em)}}
.headline .main{font-size:clamp(1.25rem,5.6vw,2.4rem);font-weight:700;white-space:nowrap;color:#e6ecf5}
.headline .pill{
  position:relative;margin-inline-start:.15em;padding:.12em .6em .22em;border-radius:999px;
  background:rgba(145,103,171,.16);
  -webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);
  box-shadow:0 0 22px rgba(145,103,171,.45),inset 0 1px 0 rgba(255,255,255,.35);
}
.headline .pill::before{
  content:"";position:absolute;inset:0;border-radius:inherit;padding:1.5px;
  background:linear-gradient(90deg,var(--blue),var(--purple),#c08ad6);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;mask-composite:exclude;
}

/* perks: liquid-glass tiles, staggered */
.perks{list-style:none;width:100%;display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:-6px;padding-bottom:18px}
.perks li{
  position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;
  min-height:122px;padding:18px 12px;border-radius:22px;
  background:rgba(255,255,255,.07);
  -webkit-backdrop-filter:blur(12px) saturate(1.4);backdrop-filter:blur(12px) saturate(1.4);
  border:1px solid rgba(255,255,255,.12);
  box-shadow:inset 1px 1px 1px -.5px rgba(255,255,255,.55),inset -1px -1px 1px -.5px rgba(255,255,255,.3),inset 0 0 18px 6px rgba(255,255,255,.035),0 18px 40px rgba(0,0,0,.35);
  opacity:0;transform:translateY(24px) scale(.96);
  animation:tileIn .8s cubic-bezier(.22,1,.36,1) forwards;animation-delay:calc(var(--i) * .12s + .9s);
}
.perks li:nth-child(even){translate:0 18px}
@keyframes tileIn{to{opacity:1;transform:none}}
.perks .ic{
  width:46px;height:46px;border-radius:15px;display:grid;place-items:center;color:#fff;
  background:linear-gradient(135deg,rgba(78,145,203,.9),rgba(145,103,171,.95));
  box-shadow:0 6px 18px rgba(145,103,171,.45),inset 0 1px 0 rgba(255,255,255,.4);
}
.perks .ic svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.perks .t{font-size:clamp(.9rem,3.9vw,1.05rem);font-weight:700;line-height:1.5;color:#eef2f8}

/* CTA lead-in with gradient rules either side */
.kicker{display:flex;align-items:center;gap:14px;width:100%;font-size:clamp(1rem,4.6vw,1.25rem);font-weight:700;color:var(--text)}
.kicker::before,.kicker::after{content:"";flex:1;height:1px}
.kicker::before{background:linear-gradient(90deg,var(--purple),transparent)} /* RTL: right side */
.kicker::after{background:linear-gradient(90deg,transparent,var(--purple))}
.kicker span{white-space:nowrap}

@media (prefers-reduced-motion:reduce){
  .aura::before,.aura::after,.dots i,
  .headline .w{filter:none}
  .perks li{animation:none;opacity:1;transform:none}
}
