:root {
      --green-dark: #0a5c44;
      --green-mid: #1a8a5e;
      --green-light: #2eb87a;
      --blue-dark: #0c3d6b;
      --blue-mid: #1a6aaa;
      --blue-light: #3a9fd6;
      --card-bg: rgba(255,255,255,0.18);
      --card-hover: rgba(255,255,255,0.28);
      --card-border: rgba(255,255,255,0.32);
      --text-primary: #ffffff;
      --text-secondary: rgba(255,255,255,0.75);
      --text-muted: rgba(255,255,255,0.5);
      --radius: 16px;
    }

    *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

    body {
      font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
      min-height: 100vh;
      background: linear-gradient(145deg, #062a1e 0%, #0a4a35 20%, #0d5c6e 50%, #0c3d6b 75%, #061d3a 100%);
      display: flex;
      justify-content: center;
      padding: 2.5rem 1rem 4rem;
    }

    /* Fondo con orbes de luz */
    body::before {
      content: '';
      position: fixed;
      inset: 0;
      background:
        radial-gradient(ellipse 60% 50% at 20% 20%, rgba(30,180,100,0.18) 0%, transparent 60%),
        radial-gradient(ellipse 50% 60% at 80% 70%, rgba(26,106,170,0.22) 0%, transparent 60%),
        radial-gradient(ellipse 40% 40% at 60% 10%, rgba(58,159,214,0.12) 0%, transparent 55%);
      pointer-events: none;
      z-index: 0;
    }

    .page {
      width: 100%;
      max-width: 480px;
      text-align: center;
      position: relative;
      z-index: 1;
    }

    /* ── Avatar ── */
    .avatar-wrap {
      width: 96px;
      height: 96px;
      border-radius: 50%;
      margin: 0 auto 1rem;
      padding: 3px;
      background: linear-gradient(135deg, var(--green-light), var(--blue-light));
    }
    .avatar-wrap img {
      width: 100%;
      height: 100%;
      border-radius: 50%;
      object-fit: cover;
      display: block;
      background: rgb(242, 231, 231);
    }

    .name {
      font-size: 22px;
      font-weight: 600;
      color: var(--text-primary);
      margin-bottom: 0.3rem;
    }
    .bio {
      font-size: 14px;

      color: var(--text-secondary);
      line-height: 1.5;
      margin-bottom: 2rem;
    }

    .bio a {
      color: rgb(241, 221, 221);
      text-decoration: underline;
      transition: color 0.15s;
    }
    .bio a:hover {
      color: lightgray;
    }

    /* ── Etiqueta sección ── */
    .section-label {
      font-size: 11px;
      text-transform: uppercase;
      letter-spacing: 0.1em;
      color: var(--text-muted);
      margin: 1.5rem 0 0.85rem;
    }

    /* ── Links ── */
    .link {
      display: flex;
      align-items: center;
      gap: 14px;
      width: 100%;
      padding: 14px 18px;
      margin-bottom: 10px;
      background: var(--card-bg);
      border: 1px solid var(--card-border);
      border-radius: var(--radius);
      text-decoration: none;
      color: var(--text-primary);
      font-size: 15px;
      font-weight: 500;
      backdrop-filter: blur(10px);
      -webkit-backdrop-filter: blur(10px);
      transition: background 0.15s, transform 0.12s;
    }
    .link:hover {
      background: var(--card-hover);
      transform: translateY(-2px);
    }
    .link:active { transform: translateY(0); }

    .link-icon {
      width: 36px;
      height: 36px;
      border-radius: 10px;
      display: flex;
      align-items: center;
      justify-content: center;
      flex-shrink: 0;
    }
    .link-icon svg { display: block; }

    .link-label { flex: 1; text-align: left; }
    .link-sub {
      font-size: 12px;
      color: var(--text-secondary);
      font-weight: 400;
    }

    .link-arrow { color: var(--text-muted); flex-shrink: 0; }

    /* ── Redes sociales en fila ── */
    .socials-row {
      display: flex;
      gap: 12px;
      justify-content: center;
      margin-bottom: 0.5rem;
    }
    .social-btn {
      flex: 1;
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 7px;
      padding: 16px 8px 12px;
      background: var(--card-bg);
      border: 1px solid var(--card-border);
      border-radius: var(--radius);
      text-decoration: none;
      color: var(--text-primary);
      font-size: 12px;
      font-weight: 500;
      backdrop-filter: blur(10px);
      -webkit-backdrop-filter: blur(10px);
      transition: background 0.15s, transform 0.12s;
    }
    .social-btn:hover { background: var(--card-hover); transform: translateY(-2px); }
    .social-btn:active { transform: translateY(0); }

    .footer {
      margin-top: 2.5rem;
      font-size: 12px;
      color: var(--text-muted);
    }