*,*::before,*::after{box-sizing:border-box}
*{margin:0}
html{background:var(--bg,#0b0710);-webkit-text-size-adjust:100%}
body{
  min-height:100vh;color:var(--text,#fff);overflow-x:hidden;line-height:1.4;
  font-family:system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  background:
    radial-gradient(900px 520px at 50% -8%, color-mix(in srgb,var(--accent) 34%,transparent), transparent 62%),
    radial-gradient(760px 520px at 105% 105%, color-mix(in srgb,var(--accent2) 30%,transparent), transparent 62%),
    var(--bg);
}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
a:focus-visible{outline:3px solid #fff;outline-offset:3px}

/* Emojis flotantes */
.sparkles{position:fixed;inset:0;overflow:hidden;pointer-events:none;z-index:0}
.sparkles span{position:absolute;animation:floaty 7s ease-in-out infinite;will-change:transform}
@keyframes floaty{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-28px) rotate(14deg)}}

.wrap{position:relative;z-index:1;width:100%;max-width:420px;margin:0 auto;padding:34px 18px 56px;
  display:flex;flex-direction:column;align-items:center;gap:22px;text-align:center}

/* Foto de perfil */
.avatar{
  display:block;width:128px;height:128px;border-radius:50%;padding:4px;flex:none;
  background:conic-gradient(from 210deg,var(--accent),var(--accent2),var(--accent));
  box-shadow:0 0 0 6px rgba(255,255,255,.05),0 18px 50px -10px var(--accent);
}
.avatar .photo{width:100%;height:100%;border-radius:50%;border:4px solid var(--bg);object-fit:cover}
a.avatar{transition:transform .25s}
a.avatar:hover{transform:scale(1.04)}

/* Cabecera */
.head{display:flex;flex-direction:column;align-items:center;gap:10px}
.country{padding:6px 16px;border-radius:999px;border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.07);
  font-size:12px;letter-spacing:.2em;text-transform:uppercase;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
h1{font-family:"Playfair Display","Didot","Bodoni 72",Georgia,serif;font-size:clamp(44px,13vw,62px);line-height:1.05;
  font-weight:700;overflow-wrap:anywhere;
  background:linear-gradient(90deg,#fff 30%,var(--accent));-webkit-background-clip:text;background-clip:text;color:transparent}
.tagline{font-size:16px;opacity:.9;max-width:32ch}

/* Redes */
.socials{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.social{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;
  border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.08);transition:.2s;
  -webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.social svg{width:21px;height:21px}
.social:hover{background:var(--accent);border-color:var(--accent);transform:translateY(-2px)}

/* Imágenes grandes = enlace */
.links{width:100%;display:flex;flex-direction:column;gap:16px}
.big{position:relative;display:block;width:100%;aspect-ratio:4/3;border-radius:26px;overflow:hidden;text-align:left;
  border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.05);
  box-shadow:0 24px 60px -24px color-mix(in srgb,var(--accent) 65%,transparent);
  transition:transform .25s,box-shadow .25s}
.r-16-9 .big{aspect-ratio:16/9}.r-1-1 .big{aspect-ratio:1/1}.r-3-4 .big{aspect-ratio:3/4}.r-5-6 .big{aspect-ratio:5/6}
.big img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
a.big:hover{transform:translateY(-4px) scale(1.01)}
a.big::after{content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(105deg,transparent 40%,rgba(255,255,255,.22) 50%,transparent 60%);
  transform:translateX(-120%);animation:shine 4.5s ease-in-out infinite}
@keyframes shine{0%,55%{transform:translateX(-120%)}100%{transform:translateX(120%)}}
.caption{position:absolute;left:0;right:0;bottom:0;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:44px 18px 16px;background:linear-gradient(transparent,rgba(8,4,12,.86))}
.caption b{font-size:20px;font-weight:800;letter-spacing:.01em;text-shadow:0 2px 12px rgba(0,0,0,.5);overflow-wrap:anywhere}
.go{flex:none;width:42px;height:42px;border-radius:50%;display:grid;place-items:center;margin-left:auto;
  background:linear-gradient(135deg,var(--accent),var(--accent2));box-shadow:0 8px 22px -6px var(--accent)}
.go svg{width:20px;height:20px}

/* Cuenta atrás */
.cd{display:block;width:100%;padding:20px 16px 18px;border-radius:22px;text-align:center;
  background:linear-gradient(rgba(20,10,26,.92),rgba(20,10,26,.92)) padding-box,
             linear-gradient(135deg,var(--accent),var(--accent2)) border-box;
  border:1.5px solid transparent;box-shadow:0 20px 50px -24px var(--accent)}
a.cd{transition:transform .2s}
a.cd:hover{transform:translateY(-2px)}
.cd-title{display:flex;align-items:center;justify-content:center;gap:9px;margin-bottom:14px;
  font-size:13px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.dot{width:9px;height:9px;border-radius:50%;background:#ff3b3b;animation:pulse 1.4s infinite}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(255,59,59,.7)}70%,100%{box-shadow:0 0 0 9px rgba(255,59,59,0)}}
.cd-row{display:flex;align-items:flex-start;justify-content:center;gap:8px}
.box{display:block;flex:1;max-width:96px;padding:12px 0 9px;border-radius:14px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12)}
.box b{display:block;font-size:38px;line-height:1;font-weight:800;font-variant-numeric:tabular-nums;
  background:linear-gradient(180deg,#fff,color-mix(in srgb,var(--accent) 70%,#fff));-webkit-background-clip:text;background-clip:text;color:transparent}
.box i{display:block;margin-top:6px;font-style:normal;font-size:10px;letter-spacing:.22em;color:rgba(255,255,255,.65)}
.sep{font-size:30px;font-weight:800;line-height:58px;color:var(--accent);animation:blink 1s steps(2) infinite}
@keyframes blink{50%{opacity:.25}}
.bar{display:block;height:5px;border-radius:9px;background:rgba(255,255,255,.1);margin-top:16px;overflow:hidden}
.bar>span{display:block;height:100%;width:100%;border-radius:9px;background:linear-gradient(90deg,var(--accent),var(--accent2));transition:width 1s linear}

@media (prefers-reduced-motion:reduce){*,*::after{animation:none!important;transition:none!important}}
