/* =========================

ESTILOS GENERALES

========================= */

html{

scroll-behavior:smooth;

}

body{

background:#ffffff;

}

h1 { font-size: 2.8rem;}
h2 { font-size: 2.2rem;}
h3 { font-size: 1.5rem;}
h4 { font-size: 1.2rem;}
p {font-size: 1rem;}

/*=====================================
HERO V2
======================================*/

.hero-school{

    background:linear-gradient(135deg,#f8fbfd 0%,#eef6fb 100%);

    overflow:hidden;

    position:relative;

}

.min-vh-90{

    min-height:90vh;

}

.hero-school::before{

    content:"";

    position:absolute;

    width:550px;

    height:550px;

    background:rgba(237,118,21,.08);

    border-radius:50%;

    right:-220px;

    top:-180px;

}

.hero-badge{

    display:inline-block;

    background:#ed7615;

    color:#fff;

    padding:10px 22px;

    border-radius:50px;

    font-size:.85rem;

    font-weight:700;

    letter-spacing:1px;

    margin-bottom:20px;

}

.hero-school h1{

    font-size:2.8rem;

    font-weight:800;

    color:#005b81;

    line-height:1.15;

    margin-bottom:22px;

}

.hero-school p{

    font-size:1.15rem;

    color:#5e707d;

    line-height:1.8;

    max-width:540px;

    margin-bottom:35px;

}

.hero-buttons{

    display:flex;

    gap:18px;

    flex-wrap:wrap;

    margin-bottom:40px;

}

.btn-primary-custom{

    background:#ed7615;

    color:#fff;

    padding:15px 34px;

    border-radius:50px;

    text-decoration:none;

    font-weight:700;

    transition:.3s;

}

.btn-primary-custom:hover{

    background:#ff8a28;

    color:#fff;

    transform:translateY(-3px);

}

.btn-secondary-custom{

    border:2px solid #005b81;

    color:#005b81;

    padding:15px 34px;

    border-radius:50px;

    text-decoration:none;

    font-weight:700;

    transition:.3s;

}

.btn-secondary-custom:hover{

    background:#005b81;

    color:#fff;

}

.hero-features{

    display:flex;

    gap:30px;

    flex-wrap:wrap;

    margin-top:15px;

}

.hero-features div{

    display:flex;

    align-items:center;

    gap:10px;

    color:#005b81;

    font-weight:600;

}

.hero-features i{

    color:#ed7615;

    font-size:1.2rem;

}

.hero-image{

    animation:floatImage 5s ease-in-out infinite;

}

.hero-image img{

    max-width:92%;

}

@keyframes floatImage{

0%{transform:translateY(0);}

50%{transform:translateY(-10px);}

100%{transform:translateY(0);}

}

@media(max-width:991px){

.hero-school{

padding:120px 0 80px;

text-align:center;

}

.hero-school h1{

font-size:2.5rem;

}

.hero-school p{

margin:auto auto 30px;

}

.hero-buttons{

justify-content:center;

}

.hero-features{

justify-content:center;

margin-top:30px;

}

.hero-image{

margin-top:50px;

}

}

@media(max-width:576px){

.hero-school h1{

font-size:2rem;

}

.hero-school p{

font-size:1rem;

}

.hero-features{

flex-direction:column;

gap:15px;

}

}

/*=====================================
WHY SCHOOL
======================================*/

.why-school{

    padding:90px 0;

    background:#ffffff;

}

.section-badge{

    display:inline-block;

    /*background:#eef6fb;*/

    color:#005b81;

    padding:8px 20px;

    border-radius:50px;

    font-size:.85rem;

    font-weight:700;

    letter-spacing:.5px;

    margin-bottom:18px;

}

.why-school h2{

    font-size:2.2rem;

    font-weight:700;

    color:#005b81;

    margin-bottom:18px;

}

.why-school p{

    font-size:1rem;

    color:#687887;

    line-height:1.8;

    margin-bottom:35px;

}

.why-image{

    position:relative;

}

.why-image img{

    border-radius:28px;

    box-shadow:0 20px 50px rgba(0,91,129,.12);

}

.benefits-grid{

    display:grid;

    grid-template-columns:repeat(2,1fr);

    gap:18px;

}

.benefit-item{

    display:flex;

    align-items:flex-start;

    gap:15px;

    padding:20px;

    border-radius:18px;

    background:#f8fbfd;

    transition:.3s;

}

.benefit-item:hover{

    transform:translateY(-5px);

    background:#ffffff;

    box-shadow:0 15px 35px rgba(0,91,129,.08);

}

.benefit-item i{

    font-size:1.6rem;

    color:#ed7615;

}

.benefit-item h5{

    margin:0 0 5px;

    font-size:1rem;

    font-weight:700;

    color:#005b81;

}

.benefit-item span{

    font-size:.92rem;

    color:#6b7b88;

}

@media(max-width:991px){

.why-school{

padding:75px 0;

text-align:center;

}

.benefits-grid{

grid-template-columns:1fr;

margin-top:30px;

}

.benefit-item{

text-align:left;

}

.why-image{

margin-bottom:20px;

}

}

/*=====================================
JOURNEY
======================================*/

.journey-section{

padding:90px 0;

background:#ffffff;

}

.journey-section h2{

font-size:2.2rem;

font-weight:700;

color:#005b81;

margin:20px 0;

}

.journey-wrapper{

display:flex;

align-items:center;

justify-content:center;

margin-top:70px;

flex-wrap:nowrap;

}

.journey-step{

width:170px;

text-align:center;

position:relative;

}

.journey-circle{

width:85px;

height:85px;

margin:auto;

border-radius:50%;

background:linear-gradient(135deg,#005b81,#0e3b5f);

display:flex;

align-items:center;

justify-content:center;

color:#fff;

font-size:2rem;

transition:.35s;

}

.journey-step:hover .journey-circle{

transform:translateY(-8px);

background:#ed7615;

}

.journey-step h5{

margin-top:20px;

font-weight:700;

color:#005b81;

}

.journey-step p{

font-size:.9rem;

color:#687887;

margin-top:8px;

}

.journey-line{

height:3px;

flex:1;

background:linear-gradient(90deg,#005b81,#ed7615);

margin:0 10px;

position:relative;

top:-40px;

}

@media(max-width:991px){

.journey-wrapper{

flex-direction:column;

}

.journey-line{

width:3px;

height:60px;

margin:10px auto;

top:0;

background:linear-gradient(#005b81,#ed7615);

}

.journey-step{

width:100%;

}

}

/*=====================================
DASHBOARD
======================================*/

.dashboard-section{

padding:90px 0;

background:#f7fafc;

overflow:hidden;

}

.dashboard-section h2{

font-size:2.2rem;

font-weight:700;

color:#005b81;

margin:20px 0;

}

.dashboard-wrapper{

position:relative;

margin-top:70px;

}

.dashboard-img{

width:100%;

border-radius:28px;

box-shadow:0 30px 70px rgba(0,91,129,.15);

}

.dashboard-card{

position:absolute;

background:#fff;

padding:18px 22px;

border-radius:18px;

box-shadow:0 15px 35px rgba(0,91,129,.12);

width:210px;

transition:.35s;

}

.dashboard-card:hover{

transform:translateY(-8px);

}

.dashboard-card i{

font-size:1.6rem;

color:#ed7615;

margin-bottom:10px;

}

.dashboard-card h5{

margin:0;

color:#005b81;

font-size:1rem;

font-weight:700;

}

.dashboard-card span{

font-size:.9rem;

color:#687887;

}

.card-one{

top:40px;

left:-30px;

}

.card-two{

top:60px;

right:-30px;

}

.card-three{

bottom:50px;

left:20px;

}

.card-four{

bottom:40px;

right:20px;

}

@media(max-width:991px){

.dashboard-card{

position:relative;

width:100%;

margin-top:20px;

left:0;

right:0;

top:0;

bottom:0;

}

.dashboard-wrapper{

display:flex;

flex-direction:column;

}

}

/*=====================================
ECOSISTEMA
======================================*/

.ecosystem-section{

padding:90px 0;

background:#ffffff;

}

.ecosystem{

position:relative;

height:650px;

margin-top:70px;

}

.eco-center{

position:absolute;

top:50%;

left:50%;

transform:translate(-50%,-50%);

text-align:center;

z-index:10;

}

.center-circle{

width:140px;

height:140px;

border-radius:50%;

background:linear-gradient(135deg,#005b81,#0e3b5f);

display:flex;

align-items:center;

justify-content:center;

color:#fff;

font-size:3rem;

margin:auto;

box-shadow:0 20px 50px rgba(0,91,129,.20);

animation:pulse 4s infinite;

}

.eco-center h4{

margin-top:20px;

font-weight:700;

color:#005b81;

}

.eco-item{

position:absolute;

width:220px;

text-align:center;

transition:.35s;

}

.eco-item:hover{

transform:scale(1.05);

}

.eco-icon{

width:90px;

height:90px;

margin:auto;

border-radius:50%;

background:#f5f9fc;

display:flex;

align-items:center;

justify-content:center;

font-size:2rem;

color:#ed7615;

box-shadow:0 10px 30px rgba(0,91,129,.08);

margin-bottom:15px;

transition:.35s;

}

.eco-item:hover .eco-icon{

background:#ed7615;

color:#fff;

}

.eco-top{

top:0;

left:50%;

transform:translateX(-50%);

}

.eco-left{

left:0;

top:50%;

transform:translateY(-50%);

}

.eco-right{

right:0;

top:50%;

transform:translateY(-50%);

}

.eco-bottom{

bottom:0;

left:50%;

transform:translateX(-50%);

}

/* líneas */

.ecosystem::before,
.ecosystem::after{

content:"";

position:absolute;

background:#d9e8f1;

}

.ecosystem::before{

width:2px;

height:60%;

left:50%;

top:20%;

transform:translateX(-50%);

}

.ecosystem::after{

height:2px;

width:60%;

left:20%;

top:50%;

transform:translateY(-50%);

}

@keyframes pulse{

0%{box-shadow:0 0 0 0 rgba(237,118,21,.25);}
70%{box-shadow:0 0 0 25px rgba(237,118,21,0);}
100%{box-shadow:0 0 0 0 rgba(237,118,21,0);}

}

@media(max-width:991px){

.ecosystem{

height:auto;

display:grid;

grid-template-columns:1fr;

gap:30px;

}

.ecosystem::before,
.ecosystem::after{

display:none;

}

.eco-item,
.eco-center{

position:relative;

top:auto;

left:auto;

right:auto;

bottom:auto;

transform:none;

margin:auto;

}

}

/*=====================================
ALERT CENTER
======================================*/

.alerts-center{

padding:90px 0;

background:linear-gradient(180deg,#0b2237,#12344d);

color:#fff;

}

.console{

background:#081724;

border-radius:20px;

overflow:hidden;

box-shadow:0 25px 60px rgba(0,0,0,.35);

}

.console-header{

background:#0f2d44;

padding:18px 25px;

display:flex;

align-items:center;

gap:10px;

}

.console-header span{

width:12px;

height:12px;

border-radius:50%;

background:#ed7615;

}

.console-header h5{

margin-left:15px;

margin-bottom:0;

font-size:1rem;

font-weight:600;

color:#fff;

}

.console-body{

padding:25px;

}

.event{

display:flex;

align-items:center;

gap:15px;

padding:14px 18px;

border-radius:12px;

margin-bottom:15px;

font-size:.95rem;

}

.success{

background:rgba(25,135,84,.15);

}

.warning{

background:rgba(255,193,7,.15);

}

.danger{

background:rgba(220,53,69,.15);

}

.event i{

font-size:1.2rem;

}

.alerts-center h2{

font-size:2.2rem;

margin:20px 0;

color:#fff;

}

.alerts-center p{

color:rgba(255,255,255,.85);

line-height:1.8;

margin-bottom:30px;

}

.alert-list{

list-style:none;

padding:0;

margin:0;

}

.alert-list li{

margin-bottom:15px;

display:flex;

align-items:center;

gap:12px;

}

.alert-list i{

color:#ed7615;

}

@media(max-width:991px){

.console{

margin-bottom:50px;

}

}

/*=====================================
COMPARATIVA
======================================*/

.compare-section{

padding:90px 0;

background:#f7fafc;

}

.comparison-table{

display:grid;

grid-template-columns:1fr 1fr;

border-radius:24px;

overflow:hidden;

box-shadow:0 20px 50px rgba(0,91,129,.08);

margin-top:60px;

}

.compare-header{

padding:30px;

font-size:1.5rem;

font-weight:700;

text-align:center;

color:#fff;

}

.compare-header.old{

background:#6c757d;

}

.compare-header.new{

background:#005b81;

}

.compare-item{

padding:24px 30px;

display:flex;

align-items:center;

gap:15px;

font-size:1rem;

border-bottom:1px solid #edf2f6;

background:#fff;

}

.compare-item:nth-last-child(-n+2){

border-bottom:none;

}

.compare-item.old i{

color:#dc3545;

font-size:1.2rem;

}

.compare-item.new i{

color:#198754;

font-size:1.2rem;

}

.compare-item.new{

background:#fbfdff;

}

@media(max-width:991px){

.comparison-table{

grid-template-columns:1fr;

}

.compare-header{

font-size:1.3rem;

}

}

/*=====================================
CAPABILITIES
======================================*/

.capabilities-section{

padding:90px 0;

background:#ffffff;

}

.capabilities-grid{

margin-top:60px;

display:grid;

grid-template-columns:repeat(4,1fr);

gap:25px;

}

.capability{

background:#fff;

border:1px solid #edf2f6;

border-radius:20px;

padding:35px 25px;

text-align:center;

transition:.35s;

cursor:pointer;

}

.capability:hover{

transform:translateY(-8px);

border-color:#ed7615;

box-shadow:0 20px 45px rgba(0,91,129,.10);

}

.capability i{

font-size:2.4rem;

color:#005b81;

margin-bottom:20px;

transition:.35s;

}

.capability:hover i{

color:#ed7615;

transform:scale(1.1);

}

.capability h5{

font-size:1rem;

font-weight:700;

color:#005b81;

margin:0;

line-height:1.5;

}

@media(max-width:991px){

.capabilities-grid{

grid-template-columns:repeat(2,1fr);

}

}

@media(max-width:576px){

.capabilities-grid{

grid-template-columns:1fr;

}

}

/*=====================================
CTA PREMIUM
======================================*/

.cta-premium{

padding:90px 0;

background:#f7fafc;

}

.cta-wrapper{

background:linear-gradient(135deg,#005b81,#0e3b5f);

border-radius:35px;

padding:70px;

overflow:hidden;

position:relative;

}

.cta-wrapper::before{

content:"";

position:absolute;

width:420px;

height:420px;

background:rgba(237,118,21,.12);

border-radius:50%;

right:-120px;

top:-120px;

}

.cta-badge{

display:inline-block;

background:rgba(255,255,255,.15);

padding:10px 20px;

border-radius:50px;

color:#fff;

font-size:.85rem;

font-weight:700;

letter-spacing:1px;

margin-bottom:20px;

}

.cta-wrapper h2{

color:#fff;

font-size:2.3rem;

font-weight:700;

line-height:1.2;

margin-bottom:20px;

}

.cta-wrapper p{

color:rgba(255,255,255,.88);

font-size:1rem;

line-height:1.8;

margin-bottom:35px;

max-width:520px;

}

.cta-buttons{

display:flex;

gap:18px;

flex-wrap:wrap;

}

.btn-demo{

background:#ed7615;

color:#fff;

padding:15px 34px;

border-radius:50px;

font-weight:700;

text-decoration:none;

transition:.35s;

}

.btn-demo:hover{

background:#ff9032;

color:#fff;

transform:translateY(-3px);

}

.btn-call{

border:2px solid rgba(255,255,255,.35);

padding:15px 34px;

border-radius:50px;

text-decoration:none;

font-weight:700;

color:#fff;

transition:.35s;

}

.btn-call:hover{

background:#fff;

color:#005b81;

}

.cta-image{

position:relative;

z-index:2;

animation:floatCTA 5s ease-in-out infinite;

}

@keyframes floatCTA{

0%{transform:translateY(0);}

50%{transform:translateY(-10px);}

100%{transform:translateY(0);}

}

@media(max-width:991px){

.cta-wrapper{

padding:50px 35px;

text-align:center;

}

.cta-buttons{

justify-content:center;

margin-bottom:40px;

}

.cta-wrapper h2{

font-size:2rem;

}

}