/* Lab.IA · sistema visual compartido (RGrlk Group) */
:root{
  --lb-bg:#03060f;
  --lb-ink:#f4faff;
  --lb-muted:#93a7b8;
  --lb-cyan:#28dbff;
  --lb-blue:#275dff;
  --lb-violet:#7d5cff;
  --lb-line:rgba(176,229,255,.16);
  --lb-max:1240px;
}

body{font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}
h1,h2,h3{text-wrap:pretty}
a:focus-visible,button:focus-visible{outline:2px solid var(--lb-cyan);outline-offset:2px}

/* ---------- header ---------- */
.lb-header{
  position:sticky;top:0;z-index:60;
  background:rgba(3,6,15,.78);
  backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);
  border-bottom:1px solid var(--lb-line);
}
.lb-nav{
  width:min(calc(100% - 40px),var(--lb-max));margin-inline:auto;
  display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:26px;
  min-height:76px;
}
.lb-brand{display:flex;align-items:center;gap:12px;text-decoration:none}
.lb-brand img{height:66px;width:auto;display:block}
.lb-brand span{font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:rgba(244,250,255,.5);font-weight:800;white-space:nowrap}
.lb-links{display:flex;justify-content:center;gap:6px;flex-wrap:wrap}
.lb-links a{
  display:inline-flex;align-items:center;gap:8px;
  padding:9px 13px;border-radius:12px;text-decoration:none;
  font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;
  color:rgba(244,250,255,.7);transition:.2s ease;white-space:nowrap;
}
.lb-links a svg{
  width:26px;height:26px;flex:none;padding:5px;border-radius:9px;
  fill:none;stroke:var(--lb-cyan);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;
  border:1px solid rgba(176,229,255,.2);
  background:linear-gradient(150deg, rgba(255,255,255,.18) 0%, rgba(255,255,255,.05) 45%, rgba(3,8,18,.5) 100%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.35), 0 8px 18px rgba(40,219,255,.14);
  transition:.22s ease;
}
.lb-links a:hover svg{border-color:rgba(40,219,255,.55);box-shadow:inset 0 1px 0 rgba(255,255,255,.45), 0 12px 26px rgba(40,219,255,.26)}
.lb-links a:hover{color:#fff;background:rgba(255,255,255,.07)}
.lb-actions{display:grid;gap:8px;justify-items:stretch}
.lb-actions .lb-btn{justify-content:flex-start;width:100%}

/* ---------- botones ---------- */
.lb-btn{
  display:inline-flex;align-items:center;gap:10px;
  min-height:46px;padding:0 18px;border-radius:16px;
  border:1px solid var(--lb-line);
  background:linear-gradient(145deg, rgba(255,255,255,.1), rgba(255,255,255,.03));
  color:var(--lb-ink);text-decoration:none;
  font-size:13px;font-weight:800;letter-spacing:.01em;white-space:nowrap;
  transition:.22s ease;
}
.lb-btn:hover{transform:translateY(-2px);border-color:rgba(40,219,255,.42);box-shadow:0 16px 38px rgba(40,219,255,.16)}
.lb-btn.is-primary{
  border-color:transparent;color:#03101c;
  background:linear-gradient(135deg, var(--lb-cyan), var(--lb-blue));
  box-shadow:0 16px 40px rgba(40,219,255,.26);
}
.lb-btn.is-gift{background:linear-gradient(135deg, rgba(125,92,255,.26), rgba(40,219,255,.14));border-color:rgba(125,92,255,.42)}
.lb-btn img{width:30px;height:30px;object-fit:contain;flex:none;filter:drop-shadow(0 6px 12px rgba(0,0,0,.35))}
.lb-btn.is-compact{min-height:40px;padding:0 14px;font-size:12px}
.lb-btn.is-compact img{width:24px;height:24px}

/* ---------- footer ---------- */
.lb-footer{
  position:relative;overflow:hidden;margin-top:80px;color:rgba(244,250,255,.62);
  background:
    radial-gradient(120% 58% at 50% 6%, rgba(255,244,232,.3) 0%, rgba(214,232,255,.2) 30%, rgba(58,116,255,0) 66%),
    linear-gradient(180deg,
      rgba(232,240,252,0) 0%,
      rgba(216,232,255,.5) 9%,
      rgba(140,184,255,.78) 14%,
      rgba(48,104,232,.9) 24%,
      rgba(18,52,150,.96) 40%,
      rgba(6,18,58,.98) 62%,
      #01040c 84%,
      #000 100%);
}
.lb-footer .lb-mark{
  position:absolute;left:50%;bottom:-2.2%;transform:translateX(-50%);
  width:min(1280px,104%);font-size:clamp(80px,15vw,220px);line-height:.78;
  font-weight:900;letter-spacing:-.045em;text-align:center;white-space:nowrap;
  color:transparent;background:linear-gradient(180deg, rgba(150,196,255,.14), rgba(150,196,255,.02));
  -webkit-background-clip:text;background-clip:text;pointer-events:none;user-select:none;z-index:0;
}
.lb-footer .lb-shell{position:relative;z-index:1;width:min(calc(100% - 40px),var(--lb-max));margin-inline:auto}
.lb-contact{display:grid;justify-items:center;gap:18px;padding:300px 0 12px}
.lb-contact h3{margin:0;font-size:13px;letter-spacing:.3em;text-transform:uppercase;font-weight:800;color:#fff;text-shadow:0 2px 10px rgba(2,8,26,.75)}
.lb-social{display:flex;align-items:center;gap:16px}
.lb-social a{width:54px;height:54px;display:grid;place-items:center;border-radius:18px;transition:.24s ease}
.lb-social a:hover{transform:translateY(-4px)}
.lb-social img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 8px 16px rgba(0,0,0,.42))}
.lb-mid{display:grid;grid-template-columns:1fr auto;align-items:center;gap:44px;padding:34px 0 44px}
.lb-flinks{display:grid;justify-items:start;gap:12px}
.lb-flink{
  display:flex;align-items:center;gap:11px;min-width:250px;
  padding:12px 18px;border-radius:16px;border:1px solid rgba(255,255,255,.12);
  background:linear-gradient(145deg, rgba(255,255,255,.09), rgba(255,255,255,.03));
  color:rgba(247,251,255,.86);font-size:14px;font-weight:700;text-decoration:none;transition:.22s ease;
}
.lb-flink:hover{color:#fff;border-color:rgba(40,219,255,.42);transform:translateY(-2px);box-shadow:0 14px 34px rgba(40,219,255,.16)}
.lb-flink img{width:38px;height:38px;flex:none;border-radius:12px;object-fit:cover;box-shadow:0 8px 20px rgba(0,0,0,.42), 0 0 0 1px rgba(255,255,255,.14)}
.lb-flink img.photo{object-position:50% 12%}
.lb-qr{display:grid;justify-items:center;gap:12px;text-decoration:none;text-align:center}
.lb-qr span{padding:12px;border-radius:22px;background:linear-gradient(145deg,#fff,#dff4ff);box-shadow:0 22px 60px rgba(0,0,0,.5), 0 0 0 1px rgba(255,255,255,.4), 0 0 44px rgba(40,219,255,.24);transition:.25s ease}
.lb-qr:hover span{transform:translateY(-4px)}
.lb-qr img{display:block;width:132px;height:132px;border-radius:12px}
.lb-qr small{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:rgba(234,244,255,.52);font-weight:700}
.lb-legal{
  border-top:1px solid rgba(255,255,255,.1);padding:26px 0 200px;
  display:grid;gap:8px;justify-items:center;text-align:center;
  font-size:12px;line-height:1.6;color:rgba(247,251,255,.5);
}
.lb-legal a{color:rgba(247,251,255,.72);font-weight:700;text-decoration:none}
.lb-legal a:hover{color:var(--lb-cyan)}

@media (max-width:980px){
  .lb-nav{grid-template-columns:1fr auto;gap:14px;padding:12px 0}
  .lb-links{grid-column:1/-1;order:3;justify-content:flex-start;overflow:auto}
  .lb-contact{padding:230px 0 8px}
  .lb-social a{width:46px;height:46px}
  .lb-mid{grid-template-columns:1fr;justify-items:center;gap:28px;padding:26px 0 32px}
  .lb-flinks{justify-items:center}
  .lb-flink{min-width:0}
  .lb-legal{padding-bottom:140px}
}
