:root{
  --nl-bg:#0b1220;
  --nl-surface:rgba(255,255,255,.06);
  --nl-border:rgba(255,255,255,.12);
  --nl-text:#e7ecf5;
  --nl-muted:rgba(231,236,245,.72);
  --nl-accent:#00a1df; /* AT&T vibe */
  --nl-radius:18px;
  --nl-max:1120px;

  /* Layout scale (mobile-first): evita que todo se vea gigante */
  --nl-pad: clamp(14px, 4vw, 22px);
  --nl-section-y: clamp(42px, 7vw, 78px);
  --nl-section-y-tight: clamp(32px, 6vw, 64px);
  --nl-card-pad: clamp(14px, 3.4vw, 18px);
  --nl-radius-lg: calc(var(--nl-radius) + 6px);

  --nl-safe-top: env(safe-area-inset-top, 0px);
  --nl-safe-bottom: env(safe-area-inset-bottom, 0px);
}

*{ box-sizing:border-box; }
html,body{ margin:0; padding:0; background:var(--nl-bg); color:var(--nl-text); font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu; }
body{ font-size:16px; line-height:1.55; text-rendering:optimizeLegibility; -webkit-font-smoothing:antialiased; }
a{ color:inherit; text-decoration:none; }
img{ max-width:100%; height:auto; display:block; }

.nl-container{ max-width:var(--nl-max); margin:0 auto; padding:0 var(--nl-pad); }

.nl-section{ padding:var(--nl-section-y) 0; }
.nl-section--tight{ padding:var(--nl-section-y-tight) 0; }
.nl-kicker{ font-weight:900; letter-spacing:.02em; opacity:.9; font-size:12px; text-transform:uppercase; }
.nl-h1{ font-size:clamp(28px,4.8vw,52px); line-height:1.02; letter-spacing:-.03em; margin:0 0 10px; font-weight:900; }
.nl-h2{ font-size:clamp(22px,3.4vw,34px); line-height:1.10; letter-spacing:-.02em; margin:0 0 10px; font-weight:900; }
.nl-sub{ color:var(--nl-muted); margin:0; line-height:1.55; }

/* Head block: evita que los títulos queden “flotando” */
.nl-head{ max-width:70ch; margin:0 0 16px; }
.nl-head .nl-sub{ margin-top:6px; }

.nl-grid{ display:grid; gap:12px; }
.nl-grid--2{ grid-template-columns:repeat(2,minmax(0,1fr)); }
.nl-grid--3{ grid-template-columns:repeat(3,minmax(0,1fr)); }
@media (max-width:860px){
  .nl-grid--2,.nl-grid--3{ grid-template-columns:1fr; }
}

.nl-card{
  border-radius:var(--nl-radius);
  border:1px solid var(--nl-border);
  background:var(--nl-surface);
  padding:var(--nl-card-pad);
}

/* Inputs: no zoom en iOS (>=16px) */
input, select, textarea{ font-size:16px; }

.nl-actions{ display:flex; gap:10px; flex-wrap:wrap; }

.nl-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:12px 14px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.06);
  color:var(--nl-text);
  font-weight:900;
  -webkit-tap-highlight-color:transparent;
}
.nl-btn--primary{
  background:var(--nl-accent);
  border-color:transparent;
  color:#071017;
}
.nl-btn--ghost{ background:transparent; }
.nl-btn--block{ width:100%; }

.nl-micro{ font-size:12px; color:var(--nl-muted); margin:8px 0 0; }

.nl-lock, .nl-lock body{ overflow:hidden; }
