/* =========================================================
   EMS+ Landing — men
   Men 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(78,145,203,.18),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(--blue)}
.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(78,145,203,.25))}
.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.75rem,7.2vw,3.4rem);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}
}
