/* ==================================
   SCREENFLOW — WEB PÚBLICA
   Paleta extraída del logo real (logo_screenflow.png): degradado
   azul → violeta → magenta → naranja. Todo el CSS usa estas variables,
   no hay colores sueltos repartidos por el archivo — si el logo
   definitivo afina algún tono, solo hay que tocar este bloque :root.
   ================================== */

:root{

    --sf-negro:#0B0F19;
    --sf-panel:#121826;
    --sf-panel-2:#1B2334;
    --sf-borde:#2A3348;

    --sf-azul:#0B6EFB;
    --sf-violeta:#7C1FE0;
    --sf-magenta:#E01C7A;
    --sf-naranja:#F06A00;

    --sf-primario:var(--sf-azul);
    --sf-primario-fuerte:var(--sf-violeta);
    --sf-acento:var(--sf-magenta);
    --sf-acento-2:var(--sf-naranja);

    --sf-gradiente:linear-gradient(90deg, var(--sf-azul), var(--sf-violeta), var(--sf-magenta), var(--sf-naranja));

    --sf-texto:#F1F5F9;
    --sf-texto-tenue:#94A3B8;

    --sf-exito:#34D399;
    --sf-aviso:#FBBF24;

    --sf-fuente-display:'Space Grotesk', 'Arial Narrow', sans-serif;
    --sf-fuente-texto:'Inter', Arial, Helvetica, sans-serif;

}


*{ box-sizing:border-box; }


body{
    margin:0;
    font-family:var(--sf-fuente-texto);
    background:var(--sf-negro);
    color:var(--sf-texto);
    -webkit-font-smoothing:antialiased;
}


h1,h2,h3,.sfLogoTexto,.sfHeroTitulo,.sfPasoNum,.sfPlanNombre{
    font-family:var(--sf-fuente-display);
    letter-spacing:.3px;
}


a{ color:inherit; }


img{ max-width:100%; }


.sfContenedor{
    max-width:1160px;
    margin:0 auto;
    padding:0 30px;
}


/* ---------- NAV ---------- */

.sfNav{
    position:sticky;
    top:0;
    z-index:50;
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:18px 30px;
    background:rgba(11,15,25,.85);
    backdrop-filter:blur(10px);
    border-bottom:1px solid var(--sf-borde);
}

.sfLogo{
    display:flex;
    align-items:center;
    gap:10px;
    text-decoration:none;
}

.sfLogoMarca{
    height:34px;
    width:auto;
    display:block;
    flex-shrink:0;
}

.sfLogoTexto{
    font-size:20px;
    color:var(--sf-texto);
}

.sfNavLinks{
    display:flex;
    align-items:center;
    gap:28px;
}

.sfNavLinks a{
    text-decoration:none;
    color:var(--sf-texto-tenue);
    font-size:14px;
    font-weight:600;
    transition:color .2s;
}

.sfNavLinks a:hover{ color:var(--sf-texto); }

.sfBotonNav{
    background:var(--sf-primario);
    color:#fff;
}


/* ---------- BOTONES ---------- */

.sfBoton{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    border:0;
    border-radius:12px;
    padding:14px 26px;
    font-size:15px;
    font-weight:700;
    font-family:var(--sf-fuente-texto);
    cursor:pointer;
    text-decoration:none;
    transition:filter .15s, transform .15s;
}

.sfBoton:hover{ filter:brightness(1.12); }
.sfBoton:active{ transform:translateY(1px); }

.sfBotonPrimario{
    background:linear-gradient(90deg, var(--sf-primario), var(--sf-primario-fuerte));
    color:#fff;
    box-shadow:0 10px 30px rgba(99,102,241,.35);
}

.sfBotonFantasma{
    background:transparent;
    border:1px solid var(--sf-borde);
    color:var(--sf-texto);
}

.sfBotonFantasma:hover{ border-color:var(--sf-acento); color:var(--sf-acento); }


/* ---------- HERO ---------- */

.sfHero{
    padding:110px 0 90px;
    text-align:center;
    position:relative;
    overflow:hidden;
}

.sfHero::before{
    content:"";
    position:absolute;
    top:-200px;
    left:50%;
    transform:translateX(-50%);
    width:900px;
    height:500px;
    background:radial-gradient(circle, rgba(99,102,241,.25), transparent 65%);
    pointer-events:none;
}

.sfEyebrow{
    display:inline-flex;
    align-items:center;
    gap:8px;
    font-size:13px;
    letter-spacing:2px;
    color:var(--sf-acento);
    font-weight:700;
    margin-bottom:22px;
    text-transform:uppercase;
    border:1px solid rgba(34,211,238,.3);
    background:rgba(34,211,238,.08);
    padding:6px 16px;
    border-radius:30px;
}

.sfHeroTitulo{
    font-size:58px;
    line-height:1.08;
    margin:0 0 24px;
    color:var(--sf-texto);
    position:relative;
}

.sfHeroAccent{
    background:var(--sf-gradiente);
    -webkit-background-clip:text;
    background-clip:text;
    color:transparent;
}

.sfHeroTexto{
    font-size:19px;
    color:var(--sf-texto-tenue);
    max-width:620px;
    margin:0 auto 36px;
    line-height:1.6;
    position:relative;
}

.sfHeroBotones{
    display:flex;
    gap:16px;
    justify-content:center;
    flex-wrap:wrap;
    position:relative;
}

.sfHeroMockup{
    margin:70px auto 0;
    max-width:920px;
    border-radius:22px;
    border:1px solid var(--sf-borde);
    background:linear-gradient(160deg, var(--sf-panel), var(--sf-negro));
    padding:26px;
    box-shadow:0 40px 100px rgba(0,0,0,.55);
    position:relative;
}

.sfHeroMockupBarra{
    display:flex;
    gap:7px;
    margin-bottom:18px;
}

.sfHeroMockupBarra span{
    width:11px;
    height:11px;
    border-radius:50%;
    background:var(--sf-borde);
}

.sfHeroMockupGrid{
    display:grid;
    grid-template-columns:1fr 1.4fr;
    gap:16px;
}

.sfHeroMockupCaja{
    background:var(--sf-panel-2);
    border:1px solid var(--sf-borde);
    border-radius:14px;
    padding:18px;
}

.sfHeroMockupOverlay{
    aspect-ratio:16/9;
    background:linear-gradient(135deg, #00d9a3 0%, #00b386 100%);
    border-radius:14px;
    border:1px solid var(--sf-borde);
    display:flex;
    align-items:center;
    justify-content:center;
    position:relative;
}

.sfHeroMockupCartel{
    background:rgba(11,15,25,.9);
    border:2px solid var(--sf-acento);
    border-radius:16px;
    padding:16px 26px;
    text-align:center;
    box-shadow:0 0 40px rgba(34,211,238,.25);
}

.sfHeroMockupCartel strong{
    display:block;
    font-family:var(--sf-fuente-display);
    font-size:20px;
    background:var(--sf-gradiente);
    -webkit-background-clip:text;
    background-clip:text;
    color:transparent;
}

.sfHeroMockupCartel span{
    font-size:13px;
    color:var(--sf-texto-tenue);
}

.sfHeroMockupLinea{
    height:9px;
    border-radius:5px;
    background:var(--sf-borde);
    margin-bottom:10px;
}

.sfHeroMockupLinea.corta{ width:55%; }


/* ---------- SECCIONES GENERALES ---------- */

.sfSeccion{
    padding:90px 0;
    border-top:1px solid var(--sf-borde);
}

.sfSeccionCabecera{
    text-align:center;
    max-width:640px;
    margin:0 auto 56px;
}

.sfSeccionCabecera h2{
    font-size:38px;
    margin:0 0 14px;
}

.sfSeccionCabecera p{
    color:var(--sf-texto-tenue);
    font-size:17px;
    line-height:1.6;
    margin:0;
}


/* ---------- PRODUCTO / FEATURES ---------- */

.sfFeaturesGrid{
    display:grid;
    grid-template-columns:repeat(3, 1fr);
    gap:22px;
}

.sfFeatureCard{
    background:var(--sf-panel);
    border:1px solid var(--sf-borde);
    border-radius:18px;
    padding:28px;
    transition:border-color .2s, transform .2s;
}

.sfFeatureCard:hover{
    border-color:rgba(99,102,241,.5);
    transform:translateY(-3px);
}

.sfFeatureIcono{
    width:44px;
    height:44px;
    border-radius:12px;
    background:rgba(99,102,241,.12);
    color:var(--sf-primario);
    display:flex;
    align-items:center;
    justify-content:center;
    margin-bottom:16px;
}

.sfFeatureCard h3{
    font-family:var(--sf-fuente-texto);
    font-size:17px;
    font-weight:700;
    margin:0 0 8px;
}

.sfFeatureCard p{
    font-size:14px;
    color:var(--sf-texto-tenue);
    line-height:1.55;
    margin:0;
}


/* ---------- CÓMO FUNCIONA ---------- */

.sfPasos{
    display:grid;
    grid-template-columns:repeat(3, 1fr);
    gap:30px;
}

.sfPaso{
    text-align:center;
    padding:0 10px;
}

.sfPasoNum{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:52px;
    height:52px;
    border-radius:50%;
    background:var(--sf-panel);
    border:1px solid var(--sf-borde);
    color:var(--sf-acento);
    font-size:22px;
    margin-bottom:18px;
}

.sfPaso h3{
    font-family:var(--sf-fuente-texto);
    font-size:17px;
    margin:0 0 8px;
}

.sfPaso p{
    font-size:14px;
    color:var(--sf-texto-tenue);
    line-height:1.55;
    margin:0;
}


/* ---------- PLANES ---------- */

.sfPlanesGrid{
    display:grid;
    grid-template-columns:repeat(3, 1fr);
    gap:22px;
    align-items:stretch;
}

.sfPlan{
    background:var(--sf-panel);
    border:1px solid var(--sf-borde);
    border-radius:20px;
    padding:32px 28px;
    display:flex;
    flex-direction:column;
}

.sfPlanDestacado{
    border-color:var(--sf-primario);
    background:linear-gradient(180deg, rgba(99,102,241,.1), var(--sf-panel) 40%);
    position:relative;
}

.sfPlanBadge{
    position:absolute;
    top:-13px;
    left:50%;
    transform:translateX(-50%);
    background:var(--sf-primario);
    color:#fff;
    font-size:11px;
    font-weight:700;
    letter-spacing:1px;
    text-transform:uppercase;
    padding:5px 14px;
    border-radius:20px;
}

.sfPlanNombre{
    font-size:22px;
    margin:0 0 6px;
}

.sfPlanPrecio{
    font-size:38px;
    font-weight:800;
    font-family:var(--sf-fuente-display);
    margin-bottom:4px;
}

.sfPlanPrecio span{
    font-size:14px;
    font-weight:500;
    color:var(--sf-texto-tenue);
    font-family:var(--sf-fuente-texto);
}

.sfPlanNota{
    font-size:13px;
    color:var(--sf-texto-tenue);
    margin-bottom:22px;
}

.sfPlanLista{
    list-style:none;
    padding:0;
    margin:0 0 26px;
    flex:1;
}

.sfPlanLista li{
    display:flex;
    align-items:flex-start;
    gap:10px;
    font-size:14px;
    color:var(--sf-texto-tenue);
    padding:8px 0;
    border-top:1px solid var(--sf-borde);
}

.sfPlanLista li:first-child{ border-top:0; }

.sfPlanLista svg{
    flex-shrink:0;
    color:var(--sf-exito);
    margin-top:2px;
}

.sfPlanAviso{
    text-align:center;
    font-size:13px;
    color:var(--sf-texto-tenue);
    margin-top:20px;
}

.sfVacio{
    text-align:center;
    color:var(--sf-texto-tenue);
    font-size:14px;
    grid-column:1 / -1;
    padding:30px 0;
}


/* ---------- CONTACTO ---------- */

.sfContactoGrid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:50px;
    align-items:start;
}

.sfContactoInfo h3{
    font-family:var(--sf-fuente-texto);
    font-size:18px;
    margin:0 0 14px;
}

.sfContactoInfo p{
    color:var(--sf-texto-tenue);
    line-height:1.6;
    font-size:15px;
}

.sfContactoItem{
    display:flex;
    align-items:center;
    gap:12px;
    margin-bottom:14px;
    font-size:14px;
    color:var(--sf-texto-tenue);
}

.sfContactoItem svg{ color:var(--sf-acento); flex-shrink:0; }

.sfFormulario input,
.sfFormulario textarea{
    width:100%;
    border:1px solid var(--sf-borde);
    background:var(--sf-panel);
    color:var(--sf-texto);
    border-radius:12px;
    padding:14px;
    font-size:15px;
    margin-bottom:14px;
    font-family:var(--sf-fuente-texto);
}

.sfFormulario textarea{ height:120px; resize:none; }

.sfFormulario input::placeholder,
.sfFormulario textarea::placeholder{ color:var(--sf-texto-tenue); }

.sfFormularioAviso{
    display:none;
    padding:12px 14px;
    border-radius:10px;
    font-size:14px;
    margin-bottom:14px;
}

.sfFormularioAviso.exito{
    display:block;
    background:rgba(52,211,153,.1);
    border:1px solid rgba(52,211,153,.35);
    color:var(--sf-exito);
}


/* ---------- FOOTER ---------- */

.sfFooter{
    border-top:1px solid var(--sf-borde);
    padding:40px 0 26px;
}

.sfFooterFila{
    display:flex;
    justify-content:space-between;
    align-items:center;
    flex-wrap:wrap;
    gap:16px;
}

.sfFooterRedes{
    display:flex;
    gap:10px;
}

.sfFooterIcono{
    display:flex;
    align-items:center;
    justify-content:center;
    width:36px;
    height:36px;
    border-radius:50%;
    background:var(--sf-panel);
    border:1px solid var(--sf-borde);
    color:var(--sf-texto-tenue);
    text-decoration:none;
}

.sfFooterIcono:hover{ color:var(--sf-acento); border-color:var(--sf-acento); }

.sfFooterCopy{
    font-size:12px;
    color:var(--sf-texto-tenue);
    opacity:.75;
    cursor:default;
    user-select:none;
}


/* ---------- RESPONSIVE ---------- */

@media(max-width:900px){

    .sfHeroTitulo{ font-size:38px; }
    .sfHero{ padding:80px 0 60px; }
    .sfFeaturesGrid,
    .sfPasos,
    .sfPlanesGrid{ grid-template-columns:1fr; }
    .sfContactoGrid{ grid-template-columns:1fr; }
    .sfHeroMockupGrid{ grid-template-columns:1fr; }
    .sfNavLinks{ display:none; }

}
