/* ============================================================
   Airtime Connect — sitio público
   Design system canónico (Lovable b71d55e4): LIGHT-FIRST.
   primary #0010B8 · CTA #F2003D · accent #4DD9FF · Inter
   ============================================================ */
:root{
  --bg:#FFFFFF;
  --muted:#F5F6FA;
  --muted-2:#EEF1F7;
  --border:#E5E7EB;
  --border-strong:#CDD2DB;
  --ink:#17181C;
  --body:#3F4450;
  --dim:#6B7280;
  --primary:#0010B8;
  --primary-soft:rgba(0,16,184,.06);
  --cta:#F2003D;
  --accent:#4DD9FF;
  --ok:#16A34A;
  --radius:16px;
  --shadow:0 8px 30px rgba(23,24,28,.07);
  --font:"Inter",system-ui,-apple-system,"Segoe UI",sans-serif;
  --mono:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,monospace;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--body);font-family:var(--font);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
::selection{background:rgba(0,16,184,.16)}
a{color:inherit;text-decoration:none}
img{max-width:100%}
.wrap{max-width:1200px;margin-inline:auto;padding-inline:28px}
.mono{font-family:var(--mono)}

/* fondo cuadriculado sutil (solo hero) */
.grid-bg{position:absolute;inset:0;z-index:0;pointer-events:none;
  background-image:linear-gradient(rgba(0,16,184,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(0,16,184,.045) 1px,transparent 1px);
  background-size:72px 72px;
  -webkit-mask-image:radial-gradient(ellipse 90% 62% at 50% 0%,black 0%,transparent 80%);
  mask-image:radial-gradient(ellipse 90% 62% at 50% 0%,black 0%,transparent 80%);}

/* ---------- Tipografía ---------- */
h1,h2,h3,h4{color:var(--ink);font-weight:600;letter-spacing:-.024em;line-height:1.12}
h1{font-size:clamp(37px,4.6vw,60px);line-height:1.06;margin:14px 0 22px}
h1 .alt{color:var(--primary)}
h2{font-size:clamp(28px,3.3vw,42px);margin:16px 0 14px;max-width:760px}
h3{font-size:19px;margin:0 0 8px}
.lead{font-size:17.5px;color:var(--body);max-width:640px;line-height:1.66}
.eyebrow{font-family:var(--mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--primary);display:flex;align-items:center;gap:12px}
.eyebrow::after{content:"";height:1px;width:56px;background:linear-gradient(90deg,rgba(0,16,184,.55),transparent)}
.eyebrow.center{justify-content:center}
.eyebrow.center::after{display:none}

/* ---------- Botones ---------- */
.btn{display:inline-flex;align-items:center;gap:9px;font-weight:600;font-size:15px;padding:13px 26px;border-radius:12px;border:1px solid transparent;cursor:pointer;transition:transform .16s,box-shadow .16s,background .16s;font-family:var(--font)}
.btn:focus-visible{outline:2px solid var(--primary);outline-offset:3px}
.btn-red{background:var(--cta);color:#fff;box-shadow:0 6px 22px rgba(242,0,61,.24)}
.btn-red:hover{transform:translateY(-2px);box-shadow:0 10px 30px rgba(242,0,61,.32)}
.btn-ghost{border-color:var(--border-strong);color:var(--ink);background:#fff}
.btn-ghost:hover{background:var(--muted)}
.btn-blue{background:var(--primary);color:#fff}
.btn-blue:hover{transform:translateY(-2px);box-shadow:0 10px 26px rgba(0,16,184,.25)}
.btn.sm{padding:10px 18px;font-size:14px}

/* ---------- Nav ---------- */
.nav{position:sticky;top:0;z-index:40;background:rgba(255,255,255,.88);backdrop-filter:blur(14px);border-bottom:1px solid var(--border)}
.nav-in{display:flex;align-items:center;justify-content:space-between;height:74px;gap:18px}
.logo-img{height:40px;width:auto;display:block}
.nav-links{display:none;gap:32px;font-size:14.5px;color:var(--dim);font-weight:500}
.nav-links a:hover,.nav-links a[aria-current="page"]{color:var(--ink)}
.nav-links a[aria-current="page"]{color:var(--primary)}
.nav-cta{display:flex;align-items:center;gap:18px}
.login{font-size:14.5px;color:var(--dim);font-weight:500;display:none}
.login:hover{color:var(--ink)}
.nav-burger{display:inline-flex;flex-direction:column;justify-content:center;gap:5px;width:42px;height:42px;padding:10px;border:1px solid var(--border);border-radius:10px;background:#fff;cursor:pointer}
.nav-burger span{display:block;height:2px;background:var(--ink);border-radius:2px;transition:transform .2s,opacity .2s}
.nav-burger[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav-burger[aria-expanded="true"] span:nth-child(2){opacity:0}
.nav-burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.nav-mobile{display:none;border-bottom:1px solid var(--border);background:#fff}
.nav-mobile.open{display:block}
.nav-mobile a{display:block;padding:15px 28px;font-weight:500;color:var(--ink);border-top:1px solid var(--border)}
.nav-mobile a:hover{background:var(--muted)}
@media(min-width:940px){
  .nav-links{display:flex}
  .login{display:inline}
  .nav-burger{display:none}
  .nav-mobile{display:none !important}
}

/* ---------- Hero ---------- */
.hero{position:relative;padding:78px 0 70px;overflow:hidden}
.hero-in{position:relative;z-index:1;display:grid;grid-template-columns:1fr;gap:52px;align-items:center}
@media(min-width:1024px){.hero-in{grid-template-columns:1.05fr .95fr}}
.badge{display:inline-flex;align-items:center;gap:9px;font-family:var(--mono);font-size:12px;letter-spacing:.04em;color:var(--primary);border:1px solid rgba(0,16,184,.32);border-radius:999px;padding:7px 14px;background:var(--primary-soft)}
.badge .pulse{width:7px;height:7px;border-radius:50%;background:var(--ok);animation:pulse 2.2s ease infinite}
@keyframes pulse{0%,100%{box-shadow:0 0 0 0 rgba(22,163,74,.45)}55%{box-shadow:0 0 0 7px rgba(22,163,74,0)}}
.cat{font-family:var(--mono);font-size:11.5px;letter-spacing:.16em;color:var(--dim);margin-top:22px}
.hero p.sub{font-size:18px;color:var(--body);max-width:540px;line-height:1.66}
.hero-ctas{display:flex;gap:14px;flex-wrap:wrap;margin-top:32px}
.cred-strip{margin-top:44px;display:flex;flex-wrap:wrap;border-top:1px solid var(--border)}
.cred{padding:18px 26px 0 0;margin-right:26px;border-right:1px solid var(--border)}
.cred:last-child{border-right:none;margin-right:0}
.cred .v{font-family:var(--mono);font-weight:600;font-size:22px;color:var(--ink)}
.cred .v em{color:var(--primary);font-style:normal}
.cred .k{font-size:12px;color:var(--dim);margin-top:3px}

/* consola API (componente de código — panel oscuro puntual, no sección) */
.console{position:relative;border-radius:var(--radius);background:linear-gradient(180deg,#101425,#0B0E1A);box-shadow:0 30px 70px rgba(16,20,37,.26);overflow:hidden;color:#DCE4FA}
.console::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(560px 200px at 80% -10%,rgba(77,217,255,.22),transparent 70%)}
.con-head{display:flex;align-items:center;justify-content:space-between;padding:13px 18px;border-bottom:1px solid rgba(160,180,235,.15);font-family:var(--mono);font-size:12px;color:#8FA0D0}
.con-head .route b{color:#5FD1FF;font-weight:600}
.con-body{padding:20px 22px;font-family:var(--mono);font-size:13px;line-height:1.75;overflow-x:auto}
.ln{opacity:0;transform:translateY(6px);animation:rise .5s ease forwards}
.ln:nth-child(1){animation-delay:.2s}.ln:nth-child(2){animation-delay:.5s}.ln:nth-child(3){animation-delay:.8s}.ln:nth-child(4){animation-delay:1.15s}.ln:nth-child(5){animation-delay:1.5s}.ln:nth-child(6){animation-delay:2s}.ln:nth-child(7){animation-delay:2.5s}.ln:nth-child(8){animation-delay:3s}
@keyframes rise{to{opacity:1;transform:none}}
.c-dim{color:#7484B8}.c-key{color:#A9B6FF}.c-str{color:#5FD1FF}.c-ok{color:#4ADE94}.c-num{color:#FFC07A}
.status-row{display:flex;align-items:center;gap:10px;margin-top:6px}
.chip{font-size:11px;padding:3px 10px;border-radius:999px;border:1px solid rgba(160,180,235,.3);color:#9DABDA}
.chip.on{border-color:rgba(74,222,148,.55);color:#4ADE94;background:rgba(74,222,148,.08)}
.con-foot{border-top:1px solid rgba(160,180,235,.15);padding:12px 18px;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-family:var(--mono);font-size:11.5px;color:#8FA0D0}
.con-foot .net{color:#5FD1FF}

/* ---------- Secciones ---------- */
section{position:relative}
.sec-pad{padding:92px 0}
.sec-muted{background:var(--muted);border-block:1px solid var(--border)}

/* cards de producto */
.prod-grid{display:grid;grid-template-columns:1fr;gap:20px;margin-top:48px}
@media(min-width:700px){.prod-grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1024px){.prod-grid{grid-template-columns:repeat(3,1fr)}}
.pcard{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:30px 28px 26px;position:relative;display:flex;flex-direction:column;min-height:220px;transition:box-shadow .2s,transform .2s,border-color .2s;box-shadow:0 2px 10px rgba(23,24,28,.04)}
.pcard:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:var(--border-strong)}
.pcard .pid{font-size:12px;color:var(--primary);background:var(--primary-soft);border:1px solid rgba(0,16,184,.18);border-radius:8px;padding:4px 10px;align-self:flex-start;margin-bottom:16px}
.pcard p{font-size:14.5px;color:var(--body);flex:1}
.pcard .go{margin-top:18px;font-size:14px;font-weight:600;color:var(--primary);display:inline-flex;gap:6px;align-items:center}
.pcard:hover .go span{transform:translateX(3px)}
.pcard .go span{transition:transform .18s;display:inline-block}

/* banda operador */
.op-band{border-block:1px solid var(--border);background:linear-gradient(180deg,var(--muted),#EEF4FB);padding:92px 0}
.op-in{display:grid;grid-template-columns:1fr;gap:48px;align-items:center}
@media(min-width:1024px){.op-in{grid-template-columns:1.1fr .9fr}}
.lic-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
@media(min-width:560px){.lic-grid{grid-template-columns:repeat(3,1fr)}}
.lic{border:1px solid var(--border-strong);border-radius:14px;padding:20px 20px 16px;background:#fff;box-shadow:0 2px 10px rgba(16,20,37,.05)}
.lic .t{font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;color:var(--dim)}
.lic .n{font-family:var(--mono);font-weight:600;font-size:20px;color:var(--ink);margin-top:6px}
.lic .n em{color:var(--primary);font-style:normal}
.pillars{display:grid;grid-template-columns:1fr;gap:18px;margin-top:40px}
@media(min-width:820px){.pillars{grid-template-columns:repeat(3,1fr)}}
.pillar{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:26px;box-shadow:0 2px 10px rgba(23,24,28,.04)}
.pillar .pi{width:40px;height:40px;border-radius:11px;background:var(--primary-soft);color:var(--primary);display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-weight:600;margin-bottom:14px}
.pillar p{font-size:14.5px}

/* dual path */
.path-grid{display:grid;grid-template-columns:1fr;gap:20px;margin-top:48px}
@media(min-width:900px){.path-grid{grid-template-columns:1fr 1fr}}
.path{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:36px 32px;box-shadow:0 2px 10px rgba(23,24,28,.04)}
.path.hl{border-color:rgba(0,16,184,.35);box-shadow:var(--shadow)}
.path .tag{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--primary)}
.path h3{font-size:23px;margin-top:10px}
.path ul{list-style:none;margin:18px 0 24px}
.path li{padding:7px 0 7px 28px;position:relative;font-size:15px}
.path li::before{content:"✓";position:absolute;left:0;color:var(--ok);font-weight:700}

/* developers */
.dev-in{display:grid;grid-template-columns:1fr;gap:48px;align-items:center}
@media(min-width:1024px){.dev-in{grid-template-columns:1fr 1fr}}
.feat{display:flex;gap:16px;margin-top:26px}
.feat .fi{flex:none;width:42px;height:42px;border-radius:11px;background:var(--primary-soft);color:var(--primary);display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-weight:600;font-size:15px}
.feat h4{font-size:16.5px;margin-bottom:4px}
.feat p{font-size:14.5px}
.code{border-radius:var(--radius);overflow:hidden;background:#101425;box-shadow:0 24px 56px rgba(16,20,37,.25)}
.code .bar{display:flex;gap:7px;padding:13px 16px;border-bottom:1px solid rgba(160,180,235,.14)}
.code .bar i{width:11px;height:11px;border-radius:50%;background:#2A3150;display:block}
.code pre{padding:20px 22px;font-family:var(--mono);font-size:13px;line-height:1.75;color:#DCE4FA;overflow-x:auto}
.k{color:#A9B6FF}.s{color:#5FD1FF}.cm{color:#7484B8}.nm{color:#FFC07A}.okc{color:#4ADE94}

/* pricing */
.tier-grid{display:grid;grid-template-columns:1fr;gap:20px;margin-top:48px}
@media(min-width:900px){.tier-grid{grid-template-columns:repeat(3,1fr)}}
.tier{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:34px 30px;display:flex;flex-direction:column;box-shadow:0 2px 10px rgba(23,24,28,.04)}
.tier.hl{border-color:rgba(0,16,184,.4);box-shadow:var(--shadow);position:relative}
.tier .pop{position:absolute;top:-13px;left:50%;transform:translateX(-50%);background:var(--primary);color:#fff;font-size:11.5px;font-weight:600;letter-spacing:.06em;padding:5px 14px;border-radius:999px;white-space:nowrap}
.tier .tname{font-family:var(--mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--dim)}
.tier .price{font-size:38px;font-weight:600;color:var(--ink);letter-spacing:-.02em;margin:14px 0 2px}
.tier .price small{font-size:15px;color:var(--dim);font-weight:500}
.tier .pdesc{font-size:14px;color:var(--dim);margin-bottom:20px}
.tier ul{list-style:none;margin:0 0 28px;flex:1}
.tier li{padding:7px 0 7px 26px;position:relative;font-size:14.5px}
.tier li::before{content:"✓";position:absolute;left:0;color:var(--ok);font-weight:700}
.tier li.na{color:var(--dim)}
.tier li.na::before{content:"—";color:var(--border-strong)}

/* tabla comparativa */
.table-scroll{overflow-x:auto;margin-top:44px;border:1px solid var(--border);border-radius:var(--radius);background:#fff;box-shadow:0 2px 10px rgba(23,24,28,.04)}
table.cmp{width:100%;border-collapse:collapse;min-width:720px;font-size:14.5px}
.cmp th,.cmp td{padding:14px 18px;text-align:left;border-bottom:1px solid var(--border)}
.cmp thead th{background:var(--muted);color:var(--ink);font-weight:600;font-size:14px}
.cmp tbody tr:last-child td{border-bottom:none}
.cmp td.ok{color:var(--ok);font-weight:700}
.cmp td.na{color:var(--border-strong)}
.cmp td:first-child{color:var(--ink);font-weight:500}
.cmp .group td{background:var(--muted);font-family:var(--mono);font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--dim);font-weight:600}

/* FAQ */
.faq{max-width:780px;margin-top:44px}
.faq details{border:1px solid var(--border);border-radius:14px;background:#fff;margin-bottom:12px;overflow:hidden}
.faq summary{cursor:pointer;padding:18px 22px;font-weight:600;color:var(--ink);list-style:none;display:flex;justify-content:space-between;align-items:center;gap:14px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-size:20px;color:var(--primary);flex:none}
.faq details[open] summary::after{content:"–"}
.faq .fa{padding:0 22px 20px;font-size:15px}

/* testimonial */
.quote-card{max-width:820px;margin:48px auto 0;background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:42px 44px;box-shadow:var(--shadow);text-align:center}
.quote-card blockquote{font-size:20px;line-height:1.55;color:var(--ink);font-weight:500;letter-spacing:-.01em}
.quote-card .who{margin-top:20px;font-size:14px;color:var(--dim)}
.quote-card .who b{color:var(--ink);display:block;font-size:15px}

/* CTA final */
.final{text-align:center;padding:108px 0;background:radial-gradient(760px 320px at 50% 118%,rgba(242,0,61,.07),transparent 70%),radial-gradient(900px 380px at 50% -35%,rgba(0,16,184,.08),transparent 70%);border-top:1px solid var(--border)}
.final h2{margin-inline:auto}
.final .lead{margin-inline:auto}
.final .hero-ctas{justify-content:center}

/* page hero (subpáginas) */
.page-hero{padding:72px 0 56px;border-bottom:1px solid var(--border);background:linear-gradient(180deg,#fff, var(--muted))}
.page-hero .lead{margin-top:6px}

/* producto detalle */
.prod-detail{display:grid;grid-template-columns:1fr;gap:44px;align-items:center;padding:72px 0;border-bottom:1px solid var(--border)}
.prod-detail:last-of-type{border-bottom:none}
@media(min-width:960px){.prod-detail{grid-template-columns:1.05fr .95fr}.prod-detail.flip .pd-txt{order:2}}
.prod-detail ul{list-style:none;margin:20px 0 26px}
.prod-detail li{padding:7px 0 7px 28px;position:relative;font-size:15px}
.prod-detail li::before{content:"✓";position:absolute;left:0;color:var(--ok);font-weight:700}
.pd-visual{background:var(--muted);border:1px solid var(--border);border-radius:var(--radius);padding:26px;min-height:230px;display:flex;align-items:center;justify-content:center}
.pd-visual .code{width:100%;box-shadow:0 14px 36px rgba(16,20,37,.18)}

/* stats / values */
.stat-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:44px}
@media(min-width:900px){.stat-grid{grid-template-columns:repeat(4,1fr)}}
.stat{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:26px;text-align:center}
.stat .v{font-family:var(--mono);font-weight:600;font-size:28px;color:var(--ink)}
.stat .v em{color:var(--primary);font-style:normal}
.stat .k{font-size:13px;color:var(--dim);margin-top:6px}
.timeline{margin-top:44px;border-left:2px solid var(--border);padding-left:28px;max-width:720px}
.tl-item{position:relative;padding-bottom:32px}
.tl-item::before{content:"";position:absolute;left:-35px;top:6px;width:12px;height:12px;border-radius:50%;background:var(--primary);box-shadow:0 0 0 4px var(--primary-soft)}
.tl-item .yr{font-family:var(--mono);font-size:12.5px;color:var(--primary);letter-spacing:.08em}
.tl-item h4{font-size:17px;margin:4px 0 6px}
.tl-item p{font-size:14.5px}

/* contacto */
.contact-grid{display:grid;grid-template-columns:1fr;gap:44px;padding:72px 0}
@media(min-width:960px){.contact-grid{grid-template-columns:1.05fr .95fr}}
.form-card{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:36px 32px;box-shadow:var(--shadow)}
.form-row{display:grid;grid-template-columns:1fr;gap:16px;margin-bottom:16px}
@media(min-width:640px){.form-row.two{grid-template-columns:1fr 1fr}}
label{display:block;font-size:13.5px;font-weight:600;color:var(--ink);margin-bottom:6px}
input,select,textarea{width:100%;padding:12px 14px;border:1px solid var(--border-strong);border-radius:10px;font-family:var(--font);font-size:15px;color:var(--ink);background:#fff}
input:focus,select:focus,textarea:focus{outline:2px solid var(--primary);outline-offset:1px;border-color:var(--primary)}
.form-note{font-size:12.5px;color:var(--dim);margin-top:14px}
.steps{list-style:none;margin-top:26px;counter-reset:st}
.steps li{counter-increment:st;position:relative;padding:0 0 22px 52px;font-size:15px}
.steps li::before{content:counter(st);position:absolute;left:0;top:0;width:34px;height:34px;border-radius:50%;background:var(--primary-soft);color:var(--primary);font-weight:600;display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:14px}
.steps li b{color:var(--ink);display:block;margin-bottom:2px}
.info-card{background:var(--muted);border:1px solid var(--border);border-radius:var(--radius);padding:28px;margin-top:20px}
.info-card h4{font-size:15px;margin-bottom:8px}
.info-card p{font-size:14.5px}

/* ---------- Footer ---------- */
footer{border-top:1px solid var(--border);padding:64px 0 0;background:var(--muted)}
.f-in{display:grid;grid-template-columns:1fr;gap:36px;padding-bottom:48px}
@media(min-width:820px){.f-in{grid-template-columns:1.4fr 1fr 1fr 1fr}}
.f-brand p{font-size:14px;color:var(--dim);margin-top:16px;line-height:1.7}
.f-col h5{font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink);margin-bottom:14px}
.f-col a{display:block;font-size:14.5px;color:var(--dim);padding:5px 0}
.f-col a:hover{color:var(--primary)}
/* franja legal oscura fina (única superficie oscura permitida) */
.f-legal{background:#101425;color:#8FA0D0}
.f-legal .wrap{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;padding-block:18px;font-family:var(--mono);font-size:12px}

/* reveal */
.reveal{opacity:0;transform:translateY(18px);transition:opacity .6s ease,transform .6s ease}
.reveal.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){
  .reveal{opacity:1;transform:none;transition:none}
  .ln{opacity:1;transform:none;animation:none}
  html{scroll-behavior:auto}
}
