/* InfinitX Apps – Minimal Premium (Light-first, low-noise) */

:root{
  --bg:#F6F7FB;
  --surface:rgba(255,255,255,0.76);
  --surface-strong:rgba(255,255,255,0.90);
  --text:#0B1220;
  --muted:#5B6473;
  --muted2:#7C8799;
  --stroke:rgba(15,23,42,0.08);
  --shadow:0 18px 48px rgba(2,6,23,0.10);
  --shadow2:0 10px 28px rgba(2,6,23,0.08);

  --accent:#FF7A1A;

  --radius-xl:28px;
  --radius-lg:20px;
  --radius-md:16px;

  --max:1140px;

  --h1:clamp(2.1rem,3.2vw,2.95rem);
  --h2:clamp(1.35rem,2.2vw,1.75rem);
  --p:0.98rem;
  --small:0.86rem;
  --micro:0.72rem;
}

@media (prefers-color-scheme: dark){
  :root{
    --bg:#0B0F1A;
    --surface:rgba(255,255,255,0.07);
    --surface-strong:rgba(255,255,255,0.10);
    --text:#F3F6FF;
    --muted:#B7C0D3;
    --muted2:#94A3B8;
    --stroke:rgba(255,255,255,0.12);
    --shadow:0 18px 48px rgba(0,0,0,0.55);
    --shadow2:0 10px 28px rgba(0,0,0,0.42);
  }
}

*{box-sizing:border-box;margin:0;padding:0}
html,body{height:100%}
body{
  font-family:"Inter",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  background:
    radial-gradient(900px 520px at 14% -10%, rgba(255,122,26,0.14), transparent 60%),
    radial-gradient(900px 520px at 86% 10%, rgba(56,189,248,0.08), transparent 60%),
    radial-gradient(700px 460px at 50% 112%, rgba(15,23,42,0.06), transparent 58%),
    linear-gradient(180deg, var(--bg), var(--bg));
  color:var(--text);
  line-height:1.5;
}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}

.shell{width:100%;max-width:var(--max);margin:0 auto;padding:22px 18px 72px}
header{padding:8px 0 10px}

.nav{display:flex;align-items:center;justify-content:flex-start;gap:16px}
.brand{display:flex;align-items:center;gap:12px}

.hero{padding:10px 0 22px;display:flex;flex-direction:column;gap:12px}
.hero h1{font-size:var(--h1);line-height:1.06;letter-spacing:-0.048em;font-weight:950}

.bento{margin-top:18px;display:grid;grid-template-columns:1.35fr 0.65fr;gap:16px;align-items:stretch}
@media (max-width:980px){.bento{grid-template-columns:1fr}}

.card{
  border-radius:var(--radius-xl);
  background:var(--surface);
  border:1px solid var(--stroke);
  box-shadow:var(--shadow2);
  backdrop-filter:blur(18px);
  overflow:hidden;
}
.card-inner{padding:20px 20px 18px}
.card-title{font-size:var(--h2);letter-spacing:-0.03em;font-weight:950}
.card-sub{margin-top:8px;font-size:var(--p);color:var(--muted);max-width:560px}
.card-row{margin-top:16px;display:flex;gap:10px;flex-wrap:wrap;align-items:center}

.tag-row{margin-top:12px;display:flex;flex-wrap:wrap;gap:8px}
.tag{
  font-size:var(--micro);
  letter-spacing:0.12em;
  text-transform:uppercase;
  color:var(--muted2);
  font-weight:950;
  padding:6px 10px;
  border-radius:999px;
  background:rgba(255,255,255,0.58);
  border:1px solid var(--stroke);
}
@media (prefers-color-scheme: dark){.tag{background:rgba(255,255,255,0.06)}}

.btn{
  border:none;cursor:pointer;border-radius:999px;font-weight:950;letter-spacing:0.01em;
  transition:transform .14s ease,box-shadow .14s ease,background .14s ease;
  display:inline-flex;align-items:center;justify-content:center;gap:10px;user-select:none;-webkit-tap-highlight-color:transparent
}
.btn:active{transform:scale(0.99)}
.btn-primary{padding:10px 16px;background:var(--accent);color:#fff;box-shadow:0 16px 38px rgba(255,122,26,0.34);font-size:var(--small)}
.btn-primary:hover{transform:translateY(-1px);background:#ff6a00;box-shadow:0 20px 46px rgba(255,122,26,0.40)}
.btn-ghost{padding:10px 14px;background:var(--surface);border:1px solid var(--stroke);color:var(--text);font-size:var(--small);backdrop-filter:blur(12px)}
.btn-ghost:hover{transform:translateY(-1px);box-shadow:var(--shadow2)}

.balancex-hero{min-height:320px;display:grid;grid-template-columns:1.15fr 0.85fr;gap:14px;align-items:center}
@media (max-width:980px){.balancex-hero{grid-template-columns:1fr}}

.phone-mock{
  border-radius:24px;
  background:
    radial-gradient(520px 320px at 35% 18%, rgba(255,122,26,0.18), transparent 55%),
    radial-gradient(520px 320px at 80% 80%, rgba(56,189,248,0.10), transparent 60%),
    linear-gradient(180deg, rgba(17,24,39,0.92), rgba(2,6,23,0.92));
  height:280px;
  box-shadow:var(--shadow);
  border:1px solid rgba(2,6,23,0.12);
  position:relative;overflow:hidden
}
@media (prefers-color-scheme: dark){.phone-mock{border:1px solid rgba(255,255,255,0.10)}}
.phone-mock::after{
  content:"";position:absolute;left:18px;top:18px;right:18px;bottom:18px;border-radius:18px;
  background:linear-gradient(180deg, rgba(255,255,255,0.06), rgba(255,255,255,0.02));
  border:1px solid rgba(255,255,255,0.10)
}

.small-stack{display:grid;grid-template-rows:1fr 1fr;gap:16px}
.small-card{
  border-radius:var(--radius-lg);
  background:var(--surface);
  border:1px solid var(--stroke);
  box-shadow:var(--shadow2);
  backdrop-filter:blur(18px);
  overflow:hidden;
  position:relative;
}
.small-inner{padding:18px 18px 16px}
.badge{
  font-size:var(--micro);
  letter-spacing:0.16em;
  text-transform:uppercase;
  color:var(--accent);
  font-weight:950;
  background:rgba(255,122,26,0.10);
  border:1px solid rgba(255,122,26,0.22);
  padding:6px 10px;
  border-radius:999px;
}
.small-title{font-weight:950;letter-spacing:-0.02em;font-size:1.12rem}
.small-text{margin-top:10px;color:var(--muted);font-size:var(--p)}
.small-action{margin-top:14px}

/* Nexus: logo centrado + protagonista, badge flotante arriba derecha */
.nexus-card .badge-float{
  position:absolute;
  top:14px;
  right:14px;
}
.nexus-card .small-inner{
  padding-top: 56px; /* aire real para que NO bese al badge */
}
.nexus-card .nexus-logo-wrap{
  display:flex;
  justify-content:center;
  align-items:center;
  margin-top: 10px;
  margin-bottom: 6px;
}
.nexus-card .nexus-logo{
  height:56px;
  width:auto;
}
@media (max-width:420px){
  .nexus-card .small-inner{padding-top:52px}
  .nexus-card .nexus-logo{height:50px}
}

.footer{
  margin-top:26px;
  padding-top:14px;
  border-top:1px solid var(--stroke);
  display:flex;
  justify-content:space-between;
  align-items:center;
  flex-wrap:wrap;
  gap:10px;
  color:var(--muted2);
  font-size:0.86rem;
}
.footer a{
  color:var(--muted2);
  text-decoration:underline;
  text-decoration-thickness:1px;
  text-underline-offset:3px;
}

@media (max-width:760px){
  .brand img{height:40px !important}
}
