@font-face{font-family:'Space Grotesk';font-weight:400;font-display:swap;
  src:url('/fonts/space-grotesk-400.woff2') format('woff2')}
@font-face{font-family:'Space Grotesk';font-weight:500;font-display:swap;
  src:url('/fonts/space-grotesk-500.woff2') format('woff2')}
@font-face{font-family:'Space Grotesk';font-weight:600;font-display:swap;
  src:url('/fonts/space-grotesk-600.woff2') format('woff2')}
@font-face{font-family:'Space Grotesk';font-weight:700;font-display:swap;
  src:url('/fonts/space-grotesk-700.woff2') format('woff2')}

:root{
  --bg:#020617;--card:#0f172a;--border:#1e293b;
  --teal:#14b8a6;--teal-d:#0d9488;--acc:#10b981;--acc-3:#6ee7b7;--acc-4:#34d399;
  --fg:#f1f5f9;--mut:#94a3b8;--mut2:#64748b;
  --font:'Space Grotesk',ui-sans-serif,system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  --mono:ui-monospace,SFMono-Regular,'SF Mono',Menlo,Consolas,monospace;
}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:var(--font);
  background:radial-gradient(800px 480px at 50% -8%,#0b1f24,#020617 60%);
  color:var(--fg);min-height:100vh;display:flex;align-items:center;justify-content:center;
  padding:34px 18px}
.card{width:384px;max-width:100%;background:var(--card);border:1px solid var(--border);
  border-radius:22px;overflow:hidden;box-shadow:0 24px 60px rgba(0,0,0,.55)}
.band{height:80px;background:linear-gradient(115deg,var(--teal-d),var(--teal) 45%,var(--acc) 100%);
  position:relative}
.band::after{content:"";position:absolute;inset:0;
  background:radial-gradient(120px 80px at 82% 30%,#ffffff22,transparent)}
.ph{width:104px;height:104px;border-radius:50%;border:5px solid var(--card);margin:-54px auto 0;
  object-fit:cover;display:block;background:#0b1f24;box-shadow:0 6px 18px rgba(0,0,0,.45);
  position:relative;z-index:1}
.body{padding:14px 26px 26px;text-align:center}
h1{font-size:24px;font-weight:700;letter-spacing:.2px}
.role{color:var(--acc-4);font-weight:600;font-size:13.5px;margin-top:5px}
.loc{color:var(--mut);font-size:12.5px;margin-top:5px;font-family:var(--mono)}
.bio{font-size:13.5px;color:#cbd5e1;line-height:1.6;margin:15px 2px}
.chips{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin:16px 0 4px}
.chip{font-family:var(--mono);font-size:11px;background:#10b9811a;color:var(--acc-3);
  border:1px solid #10b98140;padding:5px 11px;border-radius:8px;font-weight:500;letter-spacing:.3px}
.social{display:flex;justify-content:center;gap:11px;margin:18px 0 2px}
.ic{width:46px;height:46px;border-radius:13px;background:#0b1220;border:1px solid var(--border);
  display:flex;align-items:center;justify-content:center;color:var(--fg);text-decoration:none;
  transition:.15s}
.ic svg{width:20px;height:20px;fill:currentColor}
.ic:hover{background:#10b9811a;border-color:var(--acc);color:var(--acc-3);transform:translateY(-2px)}
.ic:focus-visible{outline:2px solid var(--acc-4);outline-offset:2px}
.save{display:flex;align-items:center;justify-content:center;gap:9px;width:100%;margin-top:18px;
  padding:15px;border:none;border-radius:14px;font-family:var(--font);text-decoration:none;
  background:linear-gradient(115deg,var(--teal),var(--acc));color:#04130a;
  font-weight:700;font-size:15px;cursor:pointer;box-shadow:0 8px 22px #10b98133}
.save:hover{filter:brightness(1.06)}
.save:focus-visible{outline:2px solid #fff;outline-offset:2px}
.qr{display:flex;align-items:center;gap:14px;justify-content:center;margin-top:20px;
  padding-top:18px;border-top:1px solid var(--border)}
.qr img{width:66px;height:66px;border:5px solid #fff;border-radius:10px;background:#fff}
.qr small{color:var(--mut);font-size:11.5px;text-align:left;line-height:1.5;font-family:var(--mono)}
.qr b{color:var(--fg)}
