/* Design tokens — mesmos valores do design system da KOLO (consultoria-ia) */
:root{
  --bg:#08070b;--bg-soft:#0d0b12;--surface:#111016;--surface-2:#17131e;
  --text:#f5f2f8;--muted:#9a94a3;--muted-2:#6d6773;
  --purple:#7c3cff;--purple-light:#a875ff;--purple-bright:#9655ff;
  --line:rgba(255,255,255,.1);--line-purple:rgba(145,78,255,.3);
  --font-display:"Sora",sans-serif;--font-body:"Manrope",sans-serif;
  --radius:22px;--radius-sm:14px;--radius-btn:14px;
  --ease:cubic-bezier(.2,.75,.25,1);--ease-out:cubic-bezier(.16,.84,.28,1);--ease-spring:cubic-bezier(.34,1.3,.5,1);
  --grad-primary:linear-gradient(135deg,#8f4dff,#6a2ff0);
  --grad-sheen:linear-gradient(100deg,transparent,rgba(255,255,255,.28),transparent);
  --glow:rgba(124,60,255,.35);--glow-soft:rgba(124,60,255,.14);
  --shadow-card:0 30px 80px rgba(0,0,0,.45);--shadow-glow:0 24px 70px rgba(124,60,255,.28);
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{background:var(--bg)}
body{
  min-height:100svh;background:var(--bg);color:var(--text);
  font-family:var(--font-body);font-size:16px;line-height:1.6;
  -webkit-font-smoothing:antialiased;overflow-x:hidden;
}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
ul{list-style:none}

.noise{position:fixed;z-index:5;inset:0;pointer-events:none;opacity:.025;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.9'/%3E%3C/svg%3E")}

.bio-orbit{position:fixed;z-index:0;left:50%;top:-120px;width:900px;height:900px;transform:translateX(-50%);border:1px solid rgba(124,60,255,.12);border-radius:50%;box-shadow:0 0 200px rgba(124,60,255,.07);pointer-events:none;animation:orbitBreathe 14s ease-in-out infinite}
.bio-orbit::before,.bio-orbit::after{content:"";position:absolute;inset:110px;border:inherit;border-radius:inherit}
.bio-orbit::after{inset:230px}
@keyframes orbitBreathe{0%,100%{opacity:.55;transform:translateX(-50%) scale(1)}50%{opacity:1;transform:translateX(-50%) scale(1.03)}}

.bio-glow{position:fixed;z-index:0;inset:0;pointer-events:none;background:radial-gradient(circle at 50% 0%,rgba(124,60,255,.22),transparent 42%),radial-gradient(circle at 15% 85%,rgba(124,60,255,.1),transparent 40%)}

.page{position:relative;z-index:1;display:flex;justify-content:center;padding:64px 20px 40px}
.card{width:100%;max-width:460px;display:flex;flex-direction:column;align-items:center;text-align:center}

.avatar-wrap{position:relative;isolation:isolate}
.avatar{position:relative;width:148px;height:148px;border-radius:50%;overflow:hidden;border:1px solid var(--line-purple);box-shadow:0 0 0 8px rgba(124,60,255,.07),0 24px 60px rgba(0,0,0,.5),var(--shadow-glow)}
.avatar img{width:100%;height:100%;object-fit:cover;object-position:center 18%;transform:scale(1.35)}

.avatar-badge{position:absolute;z-index:2;right:-22px;bottom:-2px;display:flex;flex-direction:column;align-items:center;padding:10px 14px;border:1px solid rgba(168,117,255,.45);border-radius:16px;background:rgba(9,7,14,.85);backdrop-filter:blur(14px);box-shadow:0 16px 40px rgba(0,0,0,.5),0 0 30px rgba(124,60,255,.25)}
.avatar-badge-number{font:600 1.7rem/1 var(--font-display);background:linear-gradient(135deg,#fff,#c9aeff);-webkit-background-clip:text;background-clip:text;color:transparent}
.avatar-badge-number small{font-size:.95rem}
.avatar-badge-label{margin-top:3px;color:#bcb4c4;font-size:.5rem;line-height:1.25;text-align:center;text-transform:uppercase;letter-spacing:.06em;white-space:nowrap}

.identity{margin-top:30px}
.eyebrow{display:inline-flex;align-items:center;gap:9px;margin-bottom:16px;padding:7px 14px;border:1px solid var(--line-purple);border-radius:50px;background:rgba(124,60,255,.08);color:#bca8d2;font-size:.62rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.pulse-dot{width:6px;height:6px;border-radius:50%;background:var(--purple-light);box-shadow:0 0 10px var(--purple-light);animation:pulse 2s infinite}
@keyframes pulse{0%,100%{opacity:1;box-shadow:0 0 10px var(--purple-light)}50%{opacity:.45;box-shadow:0 0 4px var(--purple-light)}}

.identity h1{font:500 2.1rem/1.15 var(--font-display);letter-spacing:-.03em}
.identity h1 em{color:var(--purple-light);font-style:normal}
.identity .role{margin-top:10px;padding-inline:22px;color:var(--muted);font-size:.92rem;line-height:1.55}
.identity .role strong{color:#d7d1db;font-weight:600}

.links{width:100%;display:flex;flex-direction:column;gap:13px;margin-top:34px}

.link-btn{
  position:relative;isolation:isolate;overflow:hidden;
  display:flex;align-items:center;gap:16px;width:100%;
  min-height:70px;padding:0 22px;
  border:1px solid var(--line);border-radius:var(--radius-btn);
  background:rgba(255,255,255,.02);
  transition:transform .35s var(--ease-spring),box-shadow .35s var(--ease),background .3s var(--ease),border-color .3s var(--ease);
}
.link-btn::after{content:"";position:absolute;top:0;left:-140%;width:65%;height:100%;background:var(--grad-sheen);transform:skewX(-20deg);pointer-events:none;z-index:1}
.link-btn:hover::after{animation:sheen .85s var(--ease-out)}
@keyframes sheen{to{left:140%}}
.link-btn:hover{transform:translateY(-3px);border-color:rgba(255,255,255,.25);background:rgba(255,255,255,.05)}
.link-btn:active{transform:translateY(-1px)}

.link-icon{position:relative;z-index:1;display:grid;place-items:center;flex:none;width:42px;height:42px;border-radius:50%;background:linear-gradient(135deg,#9c5aff,#5d24bf);box-shadow:0 0 20px rgba(124,60,255,.45);color:#fff;font-size:1.02rem}

.link-text{position:relative;z-index:1;display:flex;flex-direction:column;align-items:flex-start;gap:2px;flex:1;min-width:0}
.link-text strong{font:600 .96rem var(--font-body);color:#fff;letter-spacing:-.01em}
.link-text small{color:var(--muted);font-size:.72rem}

.link-arrow{position:relative;z-index:1;flex:none;display:grid;place-items:center;width:26px;height:26px;border:1px solid var(--line);border-radius:50%;color:#8e8796;font-size:.65rem;transition:.3s var(--ease-spring)}
.link-btn:hover .link-arrow{transform:translate(3px,-3px);border-color:var(--line-purple);color:var(--purple-light)}

.link-primary{border-color:rgba(143,76,255,.55);background:linear-gradient(135deg,rgba(124,60,255,.18),rgba(14,11,19,.9));box-shadow:0 20px 50px rgba(124,60,255,.18)}
.link-primary:hover{box-shadow:0 24px 60px rgba(124,60,255,.32)}
.link-primary .link-icon{background:linear-gradient(135deg,var(--purple),#9b55ff)}
.link-primary .link-tag{margin-left:auto;margin-right:6px;padding:5px 10px;border:1px solid var(--line-purple);border-radius:50px;color:#c7a9ff;font-size:.52rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;white-space:nowrap}

.link-whatsapp .link-icon{background:linear-gradient(135deg,#25d366,#128c4a);box-shadow:0 0 20px rgba(37,211,102,.35)}

.socials{display:flex;justify-content:center;gap:12px;margin-top:30px}
.social-btn{display:grid;place-items:center;width:46px;height:46px;border:1px solid var(--line);border-radius:50%;color:#d7d1db;font-size:1rem;background:rgba(255,255,255,.02);transition:.3s var(--ease)}
.social-btn:hover{border-color:var(--line-purple);color:var(--purple-light);background:rgba(124,60,255,.08);transform:translateY(-3px)}

.bio-footer{margin-top:44px;padding-top:22px;border-top:1px solid var(--line);width:100%;display:flex;flex-direction:column;align-items:center;gap:6px}
.bio-footer img{width:120px;height:auto;opacity:.85}
.bio-footer p{color:#57505b;font-size:.62rem;letter-spacing:.08em;text-transform:uppercase}

@media (max-width:420px){
  .page{padding:48px 16px 32px}
  .avatar{width:128px;height:128px}
  .avatar-badge{right:-16px;padding:8px 12px}
  .avatar-badge-number{font-size:1.4rem}
  .identity h1{font-size:1.75rem}
  .identity .role{padding-inline:16px}
  .link-btn{min-height:64px;padding:0 16px;gap:13px}
}

@media (prefers-reduced-motion:reduce){
  *{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}
