/* ── Сила М² · цифровая визитка ─────────────────────────────── */
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700;800;900&display=swap');

:root{
  --bg:#050505; --text:#fff; --muted:rgba(255,255,255,.46);
  --gold:#F3E4C0; --gold-dim:rgba(243,228,192,.07); --gold-glow:rgba(243,228,192,.22);
  --gold-border:rgba(243,228,192,.25);
  --card:rgba(255,255,255,.03); --border:rgba(255,255,255,.08);
  --r:22px; --rs:13px;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:'Montserrat',sans-serif;background:var(--bg);color:var(--text);
  line-height:1.6;-webkit-font-smoothing:antialiased;min-height:100vh;
  display:flex;flex-direction:column;align-items:center;overflow-x:hidden;
}
a{color:var(--gold);text-decoration:none}

/* glow background */
.glow{
  position:fixed;inset:0;z-index:-1;pointer-events:none;
  background:
    radial-gradient(ellipse 70% 50% at 50% 18%,rgba(243,228,192,.10),transparent),
    radial-gradient(ellipse 60% 45% at 80% 90%,rgba(243,228,192,.05),transparent);
}

/* ── CARD ───────────────────────────────────────────────────── */
.card{
  width:min(440px,92%);margin:auto;padding:46px 30px 34px;
  display:flex;flex-direction:column;align-items:center;text-align:center;
}

/* avatar */
.avatar{
  width:104px;height:104px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  font-size:38px;font-weight:800;color:#000;
  background:linear-gradient(145deg,#fff8ec 0%,#f3e4c0 45%,#dfc88a 100%);
  box-shadow:0 0 0 1px var(--gold-border),0 18px 50px rgba(243,228,192,.18);
  margin-bottom:26px;
  opacity:0;transform:scale(.7);
  animation:pop .7s cubic-bezier(.34,1.56,.64,1) .1s forwards;
}
@keyframes pop{to{opacity:1;transform:scale(1)}}
.avatar--photo{padding:0;overflow:hidden;background:#111}
.avatar--photo img{width:100%;height:100%;object-fit:cover;display:block}
.avatar--photo.avatar--fallback{
  background:linear-gradient(145deg,#fff8ec 0%,#f3e4c0 45%,#dfc88a 100%);
}

/* animated name */
.name{
  font-size:clamp(30px,8vw,42px);font-weight:900;line-height:1.12;
  letter-spacing:-.01em;display:flex;flex-wrap:wrap;justify-content:center;
  gap:0 .26em;
}
.name .word{display:inline-flex}
.name .ch{
  display:inline-block;opacity:0;transform:translateY(.5em);
  filter:blur(8px);
  animation:rise .6s cubic-bezier(.22,1,.36,1) forwards;
}
@keyframes rise{to{opacity:1;transform:translateY(0);filter:blur(0)}}

.role{
  margin-top:14px;font-size:12px;font-weight:700;letter-spacing:.18em;
  text-transform:uppercase;color:var(--gold);
  opacity:0;animation:fade .6s ease forwards;
}
.role-line{
  width:34px;height:2px;margin:16px 0 30px;border-radius:2px;
  background:linear-gradient(90deg,transparent,var(--gold),transparent);
  opacity:0;animation:fade .6s ease forwards;
}
@keyframes fade{to{opacity:1}}

/* contact rows */
.rows{width:100%;display:flex;flex-direction:column;gap:10px;margin-bottom:24px}
.row{
  display:flex;align-items:center;gap:14px;text-align:left;
  padding:14px 16px;background:var(--card);border:1px solid var(--border);
  border-radius:var(--rs);transition:border-color .2s,transform .15s;
  opacity:0;transform:translateY(10px);
  animation:rowin .55s cubic-bezier(.22,1,.36,1) forwards;
}
.row:hover{border-color:var(--gold-border);transform:translateY(-1px)}
@keyframes rowin{to{opacity:1;transform:translateY(0)}}
.row-ic{
  width:38px;height:38px;flex-shrink:0;border-radius:10px;
  display:flex;align-items:center;justify-content:center;
  background:var(--gold-dim);border:1px solid var(--gold-glow);
}
.row-ic svg{width:18px;height:18px;stroke:var(--gold)}
.row-txt{display:flex;flex-direction:column;min-width:0}
.row-label{font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.row-value{font-size:15px;font-weight:600;color:var(--text);word-break:break-all}

/* buttons */
.actions{width:100%;display:flex;flex-direction:column;gap:11px}
.btn{
  display:flex;align-items:center;justify-content:center;gap:10px;
  padding:16px 20px;border-radius:var(--rs);font-family:inherit;
  font-size:14px;font-weight:800;cursor:pointer;border:none;
  transition:transform .18s,box-shadow .25s,background .2s;
  opacity:0;transform:translateY(10px);
  animation:rowin .55s cubic-bezier(.22,1,.36,1) forwards;
}
.btn svg{width:18px;height:18px}
.btn-gold{
  background:linear-gradient(135deg,var(--gold),#d4c4a0);color:#000;
}
.btn-gold:hover{transform:translateY(-2px);box-shadow:0 12px 34px rgba(243,228,192,.32)}
.btn-gold svg{stroke:#000}
.btn-ghost{
  background:var(--gold-dim);border:1px solid var(--gold-border);color:var(--gold);
}
.btn-ghost:hover{transform:translateY(-2px);background:rgba(243,228,192,.13)}
.btn-ghost svg{stroke:var(--gold)}

/* footer */
.foot{
  margin-top:30px;font-size:11px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--muted);opacity:0;animation:fade .6s ease forwards;
}
.foot b{color:var(--gold);font-weight:800}

/* toast */
.toast{
  position:fixed;left:50%;bottom:28px;transform:translate(-50%,20px);
  background:#0e0e0e;border:1px solid var(--gold-border);color:var(--gold);
  padding:13px 22px;border-radius:12px;font-size:13px;font-weight:700;
  opacity:0;pointer-events:none;transition:opacity .3s,transform .3s;z-index:50;
}
.toast.show{opacity:1;transform:translate(-50%,0)}

/* ── 404 / index ────────────────────────────────────────────── */
.center{margin:auto;text-align:center;padding:40px 24px}
.center h1{font-size:clamp(28px,7vw,46px);font-weight:900;margin-bottom:12px}
.center p{color:var(--muted);font-size:15px;margin-bottom:26px}
.list{display:flex;flex-direction:column;gap:10px;width:min(360px,90%);margin:0 auto}
.list a{
  display:flex;justify-content:space-between;align-items:center;
  padding:15px 18px;background:var(--card);border:1px solid var(--border);
  border-radius:var(--rs);color:var(--text);font-weight:700;font-size:15px;
  transition:border-color .2s,transform .15s;
}
.list a:hover{border-color:var(--gold-border);transform:translateY(-1px)}
.list a span{color:var(--gold)}
