:root{
  --bg:#070708; --bg2:#0b0b0d;
  --line:#212128; --line2:#2c2c35;
  --ink:#f1f1ef; --mut:#8b8b93; --dim:#55555e;
  --accent:#FF1736; --green:#4ade80;
  --disp:'Chakra Petch',sans-serif;
  --body:'Sora',sans-serif;
  --mono:'JetBrains Mono',monospace;
}
*{margin:0;padding:0;box-sizing:border-box}
html{overflow-x:clip}
body{background:var(--bg);color:var(--ink);font-family:var(--body);line-height:1.55;
  -webkit-font-smoothing:antialiased;overflow-x:clip;
  background-image:radial-gradient(120% 80% at 50% -10%,rgba(255,23,54,.09),transparent 60%)}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
::selection{background:var(--accent);color:#000}

#grain{position:fixed;inset:0;pointer-events:none;z-index:99;opacity:.05;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}

.lk{max-width:520px;margin:0 auto;padding:52px 20px 60px;position:relative;z-index:1}

/* ---------- identidad ---------- */
.me{text-align:center;margin-bottom:36px}
.av{width:106px;height:106px;border-radius:50%;object-fit:cover;margin:0 auto 20px;
  border:1px solid var(--line2);box-shadow:0 0 42px rgba(255,23,54,.16)}
.me h1{font-family:var(--disp);font-weight:700;text-transform:uppercase;letter-spacing:.04em;
  font-size:2.05rem;line-height:1}
.me h1 b{color:var(--accent);font-weight:700}
.role{font-family:var(--mono);font-size:.66rem;letter-spacing:.19em;text-transform:uppercase;
  color:var(--mut);margin-top:11px}
.bio{font-family:var(--mono);font-size:.63rem;letter-spacing:.15em;text-transform:uppercase;
  color:var(--dim);margin-top:5px}

/* ---------- secciones ---------- */
.sec{font-family:var(--mono);font-size:.62rem;letter-spacing:.22em;text-transform:uppercase;
  color:var(--dim);margin:30px 0 12px;padding-left:2px;display:flex;align-items:center;gap:11px}
.sec::after{content:"";flex:1;height:1px;background:var(--line)}

/* ---------- links ---------- */
.lnk{display:flex;align-items:center;gap:14px;padding:14px 16px;margin-bottom:9px;
  border:1px solid var(--line2);background:var(--bg2);transition:.2s}
.lnk:hover,.lnk:focus-visible{border-color:var(--accent);background:rgba(255,23,54,.055);transform:translateY(-1px)}
.lnk .thumb{flex:none;width:52px;height:52px;object-fit:cover;border:1px solid var(--line2)}
.lnk .txt{flex:1;min-width:0}
.lnk .txt b{display:block;font-family:var(--disp);font-weight:600;font-size:.98rem;
  letter-spacing:.01em;line-height:1.25}
.lnk .txt em{display:block;font-style:normal;font-family:var(--mono);font-size:.6rem;
  letter-spacing:.09em;color:var(--dim);text-transform:uppercase;margin-top:4px}
.lnk .arw{flex:none;font-size:.78rem;color:var(--dim);transition:.2s}
.lnk:hover .arw{color:var(--accent);transform:translate(2px,-2px)}

/* destacado */
.lnk.hero{border-color:var(--accent);background:rgba(255,23,54,.07);padding:17px 16px;
  box-shadow:0 0 34px rgba(255,23,54,.12)}
.lnk.hero .txt b{font-size:1.06rem}
.lnk.hero .arw{color:var(--accent)}
.lnk.hero:hover{background:rgba(255,23,54,.11);box-shadow:0 0 44px rgba(255,23,54,.2)}

/* gratis */
.lnk.free:hover{border-color:var(--green);background:rgba(74,222,128,.055)}
.lnk.free:hover .arw{color:var(--green)}

/* booking */
.lnk.book .txt b{font-family:var(--mono);font-size:.85rem;letter-spacing:.06em;text-transform:uppercase}

/* ---------- redes ---------- */
.social{display:flex;justify-content:center;gap:9px;margin-top:34px}
.social a{width:44px;height:44px;display:flex;align-items:center;justify-content:center;
  border:1px solid var(--line2);background:var(--bg2);font-family:var(--mono);font-size:.7rem;
  font-weight:700;letter-spacing:.05em;color:var(--mut);transition:.2s}
.social a:hover{border-color:var(--accent);color:var(--accent);background:rgba(255,23,54,.06)}

.ft{text-align:center;margin-top:34px;font-family:var(--mono);font-size:.6rem;
  letter-spacing:.2em;text-transform:uppercase;color:#1d1d22}

@media (max-width:420px){
  .lk{padding:40px 15px 48px}
  .lnk{padding:13px 13px;gap:12px}
  .lnk .thumb{width:48px;height:48px}
  .me h1{font-size:1.8rem}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important}.lnk:hover{transform:none}}
