@font-face{font-family:"Montserrat";src:url(/assets/montserrat.woff2) format("woff2");font-weight:100 900;font-display:swap}

/* Rojo de marca PremiumHosting: #d9252e */
:root{
  --rojo:#d9252e;--rojo-osc:#b81d26;--rojo-claro:#f2603f;--rojo-suave:#fdecea;
  --tinta:#141a2b;--texto:#3c4457;--suave:#6b7385;--linea:#e6e8ee;--gris:#f5f6f9;--blanco:#fff;
  --navy:#111827;--navy-2:#1b2436;
  --ok:#0f9d6b;--ok-bg:#dcf5ea;--err:#c81e1e;
  --radio:14px;--sombra:0 1px 2px rgba(20,26,43,.05),0 18px 40px -16px rgba(20,26,43,.22);
}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:"Montserrat",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;background:var(--blanco);color:var(--texto);line-height:1.6;overflow-x:hidden;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
img,svg{display:block;max-width:100%}
.wrap{width:100%;max-width:1240px;margin:0 auto;padding-inline:24px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
h1,h2,h3{color:var(--tinta);line-height:1.15;letter-spacing:-.02em}
h2{font-size:clamp(1.8rem,3.4vw,2.6rem);font-weight:800;margin:10px 0 16px}
h3{font-size:1.08rem;font-weight:700;margin-bottom:8px}
.eyebrow{font-size:.78rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--rojo)}
.eyebrow.claro{color:#ffd2cc}

/* Logo */
.logo{display:inline-flex;align-items:center;gap:10px;font-size:1.15rem;letter-spacing:.04em;text-transform:uppercase;font-weight:400}
.logo b{font-weight:800}

/* Botones */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:15px 26px;border-radius:10px;font:700 .95rem/1 "Montserrat",sans-serif;border:2px solid transparent;cursor:pointer;background:var(--rojo);color:#fff;transition:transform .15s,box-shadow .15s,background .15s;white-space:nowrap}
.btn:hover{background:var(--rojo-osc);transform:translateY(-1px)}
.btn:disabled{opacity:.6;cursor:wait;transform:none}
.btn-claro{background:#fff;color:var(--rojo)}
.btn-claro:hover{background:#fff;box-shadow:0 10px 24px -10px rgba(0,0,0,.4)}
.btn-borde{background:transparent;color:#fff;border-color:rgba(255,255,255,.7)}
.btn-borde:hover{background:rgba(255,255,255,.1)}
.btn-sm{padding:11px 18px;font-size:.85rem}

/* Barra de navegación sobre el bloque rojo */
.nav{position:sticky;top:0;z-index:20;background:var(--rojo);color:#fff;transition:box-shadow .2s}
.nav-in{display:flex;align-items:center;gap:32px;height:72px}
.links{display:flex;gap:26px;margin-left:auto;font-size:.88rem;font-weight:600}
.links a{opacity:.9}
.links a:hover{opacity:1;text-decoration:underline;text-underline-offset:6px}

/* Hero: bloque rojo sólido con diagonal, como openfactura */
.hero{position:relative;color:#fff;overflow:hidden;
  background:linear-gradient(115deg,transparent 0 62%,rgba(255,255,255,.08) 62% 100%),linear-gradient(160deg,#e2392f 0%,var(--rojo) 45%,var(--rojo-osc) 100%)}
.hero-in{display:grid;grid-template-columns:1fr 1.3fr;gap:48px;align-items:center;padding-top:64px;padding-bottom:96px}
.pill{display:inline-flex;align-items:center;gap:8px;padding:7px 14px;border-radius:999px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.3);font-size:.8rem;font-weight:600}
.dot{width:8px;height:8px;border-radius:50%;background:#fff;box-shadow:0 0 0 4px rgba(255,255,255,.25);animation:pulso 2s infinite}
@keyframes pulso{50%{box-shadow:0 0 0 7px rgba(255,255,255,0)}}
.hero h1{color:#fff;font-size:clamp(2.1rem,3.8vw,2.95rem);font-weight:800;letter-spacing:-.025em;margin:22px 0 20px}
.lead{font-size:1.12rem;font-weight:500;max-width:520px;color:rgba(255,255,255,.92)}
.cta-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:34px}
.hero-shot figcaption{font-size:.75rem;color:rgba(255,255,255,.75);margin-top:10px;text-align:right}

/* Marco de navegador para capturas reales */
.navegador{border-radius:12px;overflow:hidden;background:#fff;box-shadow:0 40px 80px -30px rgba(40,4,8,.55),0 0 0 1px rgba(0,0,0,.06)}
.navegador-barra{display:flex;align-items:center;gap:6px;padding:11px 14px;background:#f1f2f5;border-bottom:1px solid var(--linea)}
.navegador-barra span{width:10px;height:10px;border-radius:50%;background:#d5d8df}
.navegador-barra span:first-child{background:#ff6159}.navegador-barra span:nth-child(2){background:#ffbd2e}.navegador-barra span:nth-child(3){background:#28c941}
.navegador-barra em{font-style:normal;font-size:.75rem;color:var(--suave);margin-left:10px}
.navegador img{width:100%;height:auto}

/* Franja de atributos */
.franja{background:var(--navy);color:#fff}
.franja-in{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px 28px;padding-top:20px;padding-bottom:20px;font-size:.9rem;font-weight:600}
.franja-in span{display:inline-flex;align-items:center;gap:10px}
.franja-in span::before{content:"";width:18px;height:18px;border-radius:50%;background:var(--rojo) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 12 4 4 8-9'/%3E%3C/svg%3E") center/11px no-repeat;flex:none}

/* Secciones */
.seccion{padding-top:96px;padding-bottom:96px;scroll-margin-top:72px}
.seccion.gris{background:var(--gris)}
.seccion.roja{background:linear-gradient(160deg,#e2392f,var(--rojo) 50%,var(--rojo-osc));color:rgba(255,255,255,.92)}
.seccion.roja h2{color:#fff}
.seccion.oscura{background:var(--navy);color:#c9cfdc}
.seccion.oscura h2,.seccion.oscura h3{color:#fff}
.titulo{max-width:680px;margin:0 auto 52px;text-align:center}
.titulo p{font-size:1.05rem;color:var(--suave)}
.dos{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.dos p{font-size:1.04rem}

.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.tarjeta{padding:30px;border:1px solid var(--linea);border-radius:var(--radio);background:#fff;transition:transform .2s,box-shadow .2s,border-color .2s}
.tarjeta:hover{transform:translateY(-4px);box-shadow:var(--sombra);border-color:#f3c1bd}
.tarjeta p{font-size:.94rem;color:var(--suave)}
.ico{width:48px;height:48px;border-radius:12px;display:grid;place-items:center;margin-bottom:18px;background:var(--rojo-suave);color:var(--rojo)}
.ico svg{width:24px;height:24px}

.checks{list-style:none;display:grid;gap:12px;margin-top:26px}
.checks li{position:relative;padding-left:32px;font-weight:600;color:var(--tinta)}
.checks li::before{content:"";position:absolute;left:0;top:2px;width:21px;height:21px;border-radius:50%;background:var(--rojo) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 12 4 4 8-9'/%3E%3C/svg%3E") center/12px no-repeat}

/* Flujo hosting */
.flujo{list-style:none;display:grid;gap:14px;position:relative}
.flujo::before{content:"";position:absolute;left:27px;top:28px;bottom:28px;width:2px;background:repeating-linear-gradient(var(--rojo) 0 6px,transparent 6px 12px);opacity:.5}
.flujo li{position:relative;display:flex;align-items:center;gap:18px;padding:18px 22px;background:#fff;border-radius:var(--radio);box-shadow:var(--sombra)}
.flujo strong{display:block;color:var(--tinta)}
.flujo small{color:var(--suave);font-size:.86rem}
.paso{flex:none;display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--rojo);color:#fff;font-weight:800;position:relative;z-index:1}
.paso.ok{background:var(--ok)}

/* IA y API */
.chat{display:grid;gap:10px;margin-top:28px;max-width:470px}
.chat p{padding:12px 16px;border-radius:14px;font-size:.92rem;line-height:1.45}
.chat .yo{background:rgba(255,255,255,.16);justify-self:end;border-bottom-right-radius:4px}
.chat .ia{background:#fff;color:var(--tinta);border-bottom-left-radius:4px;font-weight:500}
.codigo{border-radius:12px;overflow:hidden;background:#0f1422;box-shadow:0 40px 80px -30px rgba(40,4,8,.6)}
.navegador-barra.oscura{background:#171d2e;border-color:#232b40}
.navegador-barra.oscura span{opacity:.85}
.navegador-barra.oscura em{color:#8d96ad}
.codigo pre{padding:26px;overflow-x:auto;font:500 .88rem/1.75 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:#d6dbea}
.c-k{color:#ff8a80;font-weight:700}.c-s{color:#9fb7ff}.c-v{color:#7ee0c3}.c-n{color:#ffcf70}

/* Cómo funciona */
.pasos{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.pasos li{padding:30px;border-radius:var(--radio);background:var(--navy-2);border:1px solid #2a3449}
.pasos p{font-size:.94rem}
.num{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;margin-bottom:16px;font-weight:800;color:#fff;background:var(--rojo)}
.captura-ancha{margin-top:56px}
.captura-ancha .navegador{box-shadow:0 40px 80px -30px rgba(0,0,0,.7)}

/* Lista de espera */
.cta{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center;padding:52px;border-radius:20px;background:var(--rojo-suave);border:1px solid #f6cdc8}
.cta h2{margin-top:0}
.form{display:grid;grid-template-columns:1fr auto;gap:10px}
.form input[type=email]{width:100%;padding:15px 16px;border-radius:10px;border:1px solid #e9b8b2;background:#fff;color:var(--tinta);font:500 1rem "Montserrat",sans-serif;outline:none}
.form input[type=email]:focus{border-color:var(--rojo);box-shadow:0 0 0 4px rgba(217,37,46,.15)}
.hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.fino,.msg-form{grid-column:1/-1;font-size:.82rem;color:var(--suave)}
.msg-form:empty{display:none}
.msg-form.ok{color:var(--ok);font-weight:700}
.msg-form.err{color:var(--err);font-weight:700}

/* Pie */
.pie{background:var(--navy);color:#aab2c5}
.pie-in{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;padding-top:30px;padding-bottom:30px}
.pie .logo{color:#fff}
.pie p{font-size:.88rem}
.pie p a{color:#fff;font-weight:700}

/* Responsive */
@media (max-width:980px){
  .hero-in,.dos,.cta{grid-template-columns:1fr}
  .hero-in{padding-top:48px;padding-bottom:72px;gap:44px}
  .grid3,.pasos{grid-template-columns:1fr 1fr}
  .links{display:none}
  .nav-in .btn-sm{margin-left:auto}
  .seccion{padding-top:72px;padding-bottom:72px}
}
@media (max-width:640px){
  .wrap{padding-inline:16px}
  .grid3,.pasos{grid-template-columns:1fr}
  .cta{padding:28px 20px}
  .form{grid-template-columns:1fr}
  .cta-row .btn{width:100%}
  .franja-in{justify-content:flex-start}
  .logo{font-size:1rem}
  .nav-in{gap:12px}
  .btn-sm{padding:10px 12px;font-size:.8rem}
}
@media (max-width:520px){
  /* El nombre largo no cabe junto al botón; la portada ya tiene el mismo llamado. */
  .nav-in .btn-sm{display:none}
}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
