/* ===============================
   HOSLYTICS WEBSITE STYLE
   Healthcare SaaS Landing Page
================================ */


/* GLOBAL RESET */

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
    font-family:'Segoe UI', Arial, sans-serif;
}



html{
    scroll-behavior:smooth;
}



body{

    background:#ffffff;
    color:#1e293b;

}



img{

    max-width:100%;
    display:block;

}



a{

    text-decoration:none;

}



/* ===============================
   HEADER
================================ */


.main-header{

    width:100%;
    height:75px;
    position:absolute;
    top:0;
    left:0;
    z-index:1000;

}



.nav-container{

    width:90%;
    height:75px;
    margin:auto;

    display:flex;
    align-items:center;
    justify-content:space-between;

    background:white;

    padding:10px 25px;

    border-radius:0 0 18px 18px;

    box-shadow:
    0 5px 20px rgba(0,0,0,0.08);

}





.brand{

    display:flex;
    align-items:center;
    gap:12px;

    font-size:25px;
    font-weight:700;

    color:#0f172a;

}



.brand img{

    width:45px;
    height:45px;

    border-radius:50%;

}





.navigation{

    display:flex;
    gap:30px;

}



.navigation a{

    color:#334155;

    font-size:15px;
    font-weight:600;

    transition:.3s;

}



.navigation a:hover{

    color:#0284c7;

}






.nav-buttons{

    display:flex;
    gap:12px;

}



.login-btn,
.demo-btn{

    padding:12px 22px;

    border-radius:25px;

    font-weight:700;

    font-size:14px;

}



.login-btn{

    border:2px solid #0284c7;

    color:#0284c7;

}



.demo-btn{

    background:#0284c7;

    color:white;

}



.demo-btn:hover{

    background:#0369a1;

}




.mobile-menu{

    display:none;

    font-size:25px;

}





/* ===============================
   HERO SECTION
================================ */


.hero{

    min-height:650px;

    width:100%;

    position:relative;

    overflow:hidden;

    display:flex;

    align-items:center;

}




.hero-background{

    position:absolute;

    width:100%;
    height:100%;

    object-fit:cover;

    z-index:-2;

}





.hero-overlay{

    position:absolute;

    inset:0;

    background:

    linear-gradient(
    90deg,
    rgba(2,48,71,.95),
    rgba(0,116,217,.75)
    );

    z-index:-1;

}





.hero-content{

    width:90%;

    margin:auto;

    display:flex;

    align-items:center;

    justify-content:space-between;

    padding-top:70px;

}





.hero-text{

    width:55%;

    color:white;

}




.hero-text h1{

    font-size:55px;

    line-height:1.15;

    margin-bottom:25px;

    font-weight:800;

}





.hero-text p{

    font-size:20px;

    line-height:1.6;

    max-width:650px;

    margin-bottom:35px;

    color:#e0f2fe;

}





.hero-actions{

    display:flex;

    gap:20px;

}





.primary-btn{

    background:#16a34a;

    color:white;

    padding:15px 35px;

    border-radius:30px;

    font-weight:700;

    display:inline-block;

}





.primary-btn:hover{

    background:#15803d;

}





.secondary-btn{

    border:2px solid white;

    color:white;

    padding:15px 35px;

    border-radius:30px;

    font-weight:700;

    display:inline-block;

}




.secondary-btn:hover{

    background:white;

    color:#0284c7;

}





.hero-trust{

    display:flex;

    gap:30px;

    margin-top:45px;

}





.hero-trust div{

    display:flex;

    align-items:center;

    gap:10px;

    font-size:14px;

    font-weight:600;

}





.hero-trust i{

    font-size:22px;

    color:#38bdf8;

}






.hero-image{

    width:40%;

}





.hero-image img{

    width:100%;

    max-height:430px;

    object-fit:contain;

    filter:
    drop-shadow(
    0 20px 30px rgba(0,0,0,.25)
    );

}
/* ===============================
   SECTION GLOBAL STYLES
================================ */


.section-title{

    text-align:center;

    max-width:850px;

    margin:0 auto 50px;

}



.section-title h2{

    font-size:38px;

    color:#0f172a;

    margin-bottom:15px;

    font-weight:800;

}



.section-title p{

    font-size:17px;

    color:#64748b;

    line-height:1.7;

}





/* ===============================
   TRUST SECTION
================================ */


.trust-section{

    padding:80px 5%;

    background:#f8fafc;

}




.trust-grid{

    display:grid;

    grid-template-columns:
    repeat(auto-fit,minmax(250px,1fr));

    gap:25px;

}





.trust-card{

    background:white;

    padding:35px 25px;

    text-align:center;

    border-radius:18px;

    box-shadow:
    0 10px 30px rgba(0,0,0,.06);

    transition:.3s;

}





.trust-card:hover{

    transform:translateY(-8px);

}





.trust-card i{

    font-size:45px;

    color:#0284c7;

    margin-bottom:20px;

}




.trust-card h3{

    margin-bottom:15px;

    color:#0f172a;

}





.trust-card p{

    color:#64748b;

    line-height:1.6;

    font-size:15px;

}







/* ===============================
   CHALLENGE SECTION
================================ */


.challenge-section{

    padding:90px 5%;

    background:white;

}





.challenge-content{

    display:flex;

    align-items:center;

    justify-content:space-between;

    gap:50px;

}





.challenge-text{

    width:50%;

}





.challenge-text h2{

    font-size:38px;

    color:#0f172a;

    margin-bottom:20px;

}




.challenge-text p{

    color:#64748b;

    line-height:1.7;

    font-size:17px;

    margin-bottom:25px;

}





.challenge-text ul{

    list-style:none;

}





.challenge-text li{

    display:flex;

    align-items:center;

    gap:15px;

    margin-bottom:18px;

    font-weight:600;

    color:#334155;

}





.challenge-text li i{

    background:#fee2e2;

    color:#dc2626;

    width:28px;

    height:28px;

    display:flex;

    align-items:center;

    justify-content:center;

    border-radius:50%;

}





.challenge-image{

    width:45%;

}





.challenge-image img{

    border-radius:20px;

    box-shadow:

    0 15px 40px rgba(0,0,0,.15);

}





/* ===============================
   SOLUTION SECTION
================================ */


.solution-section{

    padding:90px 5%;

    background:#f1f5f9;

}





.solution-flow{

    display:flex;

    justify-content:center;

    align-items:center;

    gap:15px;

    flex-wrap:wrap;

}





.flow-card{

    background:white;

    width:210px;

    min-height:230px;

    padding:30px 20px;

    text-align:center;

    border-radius:18px;

    box-shadow:

    0 10px 25px rgba(0,0,0,.08);

}





.flow-card i{

    font-size:40px;

    color:#0284c7;

    margin-bottom:20px;

}





.flow-card h3{

    margin-bottom:12px;

    color:#0f172a;

}




.flow-card p{

    color:#64748b;

    font-size:14px;

    line-height:1.5;

}





.arrow{

    color:#0284c7;

    font-size:25px;

}





/* ===============================
   WORKFLOW SECTION
================================ */


.workflow-section{

    padding:90px 5%;

    background:white;

}





.workflow-container{

    display:flex;

    justify-content:center;

    align-items:center;

    flex-wrap:wrap;

}




.workflow-step{

    width:230px;

    text-align:center;

}





.step-number{

    width:55px;

    height:55px;

    margin:auto auto 20px;

    background:#0284c7;

    color:white;

    display:flex;

    align-items:center;

    justify-content:center;

    border-radius:50%;

    font-size:22px;

    font-weight:bold;

}




.workflow-step h3{

    margin-bottom:10px;

    color:#0f172a;

}





.workflow-step p{

    color:#64748b;

    font-size:15px;

}





.workflow-line{

    width:70px;

    height:3px;

    background:#bae6fd;

}
/* ===============================
   MODULES SECTION
================================ */


.modules-section{

    padding:90px 5%;

    background:#f8fafc;

}




.modules-grid{

    display:grid;

    grid-template-columns:
    repeat(auto-fit,minmax(260px,1fr));

    gap:25px;

}





.module-card{

    background:white;

    padding:35px 25px;

    border-radius:18px;

    box-shadow:

    0 10px 30px rgba(0,0,0,.06);

    transition:.3s;

    border:1px solid #e2e8f0;

}





.module-card:hover{

    transform:translateY(-8px);

    border-color:#0284c7;

}





.module-card i{

    font-size:40px;

    color:#0284c7;

    margin-bottom:20px;

}





.module-card h3{

    color:#0f172a;

    margin-bottom:15px;

    font-size:20px;

}





.module-card p{

    color:#64748b;

    line-height:1.6;

    font-size:15px;

}







/* ===============================
   BENEFITS SECTION
================================ */


.benefits-section{

    padding:90px 5%;

    background:white;

}





.benefits-content{

    display:flex;

    align-items:center;

    justify-content:space-between;

    gap:60px;

}





.benefits-image{

    width:45%;

}





.benefits-image img{

    border-radius:20px;

    box-shadow:

    0 15px 40px rgba(0,0,0,.15);

}





.benefits-text{

    width:50%;

}





.benefits-text h2{

    font-size:38px;

    color:#0f172a;

    margin-bottom:35px;

}





.benefit-item{

    display:flex;

    gap:20px;

    margin-bottom:25px;

}





.benefit-item i{

    min-width:45px;

    height:45px;

    display:flex;

    justify-content:center;

    align-items:center;

    background:#e0f2fe;

    color:#0284c7;

    border-radius:50%;

    font-size:20px;

}





.benefit-item h3{

    color:#0f172a;

    margin-bottom:8px;

}





.benefit-item p{

    color:#64748b;

    line-height:1.5;

}







/* ===============================
   PRICING SECTION
================================ */


.pricing-section{

    padding:90px 5%;

    background:#f1f5f9;

}





.pricing-card{

    max-width:430px;

    margin:auto;

    background:white;

    border-radius:25px;

    padding:40px;

    text-align:center;

    box-shadow:

    0 20px 50px rgba(0,0,0,.12);

    border-top:6px solid #0284c7;

}





.pricing-header h3{

    font-size:25px;

    color:#0f172a;

    margin-bottom:20px;

}





.price{

    font-size:60px;

    font-weight:800;

    color:#0284c7;

    margin-bottom:10px;

}





.price span{

    font-size:22px;

    vertical-align:top;

}





.price small{

    font-size:18px;

    color:#64748b;

    font-weight:500;

}





.pricing-header p{

    color:#64748b;

    margin-bottom:30px;

}





.pricing-features{

    list-style:none;

    text-align:left;

    margin-bottom:35px;

}





.pricing-features li{

    margin-bottom:15px;

    color:#334155;

    font-weight:500;

}





.pricing-features i{

    color:#16a34a;

    margin-right:12px;

}





.pricing-btn{

    width:100%;

}







/* ===============================
   BUTTON ANIMATIONS
================================ */


.primary-btn,
.secondary-btn,
.demo-btn,
.login-btn{

    transition:.3s;

}





.primary-btn:hover,
.demo-btn:hover{

    transform:translateY(-3px);

}
/* ===============================
   ABOUT SECTION
================================ */


.about-section{

    padding:90px 5%;

    background:white;

}





.about-container{

    display:flex;

    justify-content:space-between;

    align-items:center;

    gap:50px;

}





.about-text{

    width:50%;

}





.about-text h2{

    font-size:38px;

    color:#0f172a;

    margin-bottom:25px;

}





.about-text p{

    color:#64748b;

    line-height:1.8;

    font-size:16px;

    margin-bottom:20px;

}





.about-cards{

    width:45%;

    display:grid;

    grid-template-columns:

    repeat(3,1fr);

    gap:20px;

}





.about-card{

    background:#f8fafc;

    padding:25px 15px;

    text-align:center;

    border-radius:15px;

}





.about-card i{

    font-size:35px;

    color:#0284c7;

    margin-bottom:15px;

}





.about-card h3{

    color:#0f172a;

    font-size:18px;

    margin-bottom:10px;

}





.about-card p{

    font-size:13px;

    color:#64748b;

    line-height:1.5;

}







/* ===============================
   CONTACT SECTION
================================ */


.contact-section{

    padding:90px 5%;

    background:

    linear-gradient(
    135deg,
    #0284c7,
    #0369a1
    );

}





.contact-container{

    display:flex;

    justify-content:space-between;

    gap:50px;

    align-items:center;

}





.contact-info{

    width:45%;

    color:white;

}





.contact-info h2{

    font-size:40px;

    margin-bottom:25px;

}





.contact-info p{

    line-height:1.8;

    font-size:17px;

    color:#e0f2fe;

}





.contact-details{

    margin-top:35px;

}





.contact-details div{

    display:flex;

    align-items:center;

    gap:15px;

    margin-bottom:20px;

    font-weight:600;

}





.contact-details i{

    width:40px;

    height:40px;

    background:white;

    color:#0284c7;

    display:flex;

    align-items:center;

    justify-content:center;

    border-radius:50%;

}







/* ===============================
   MESSAGE FORM
================================ */


.msgform{

    width:45%;

}





.msgform form{

    background:white;

    padding:35px;

    border-radius:20px;

    box-shadow:

    0 20px 40px rgba(0,0,0,.15);

}





.msgform h3{

    text-align:center;

    font-size:28px;

    margin-bottom:25px;

    color:#0f172a;

}





.msgform label{

    display:block;

    margin-bottom:8px;

    font-weight:600;

    color:#334155;

}





.msgform input,
.msgform select,
.msgform textarea{


    width:100%;

    padding:14px 16px;

    border:none;

    outline:none;

    background:#f1f5f9;

    border-radius:10px;

    margin-bottom:18px;

    font-size:15px;

}





.msgform textarea{

    min-height:120px;

    resize:vertical;

}





.msgform button{


    width:100%;

    padding:15px;

    border:none;

    border-radius:30px;

    background:#16a34a;

    color:white;

    font-weight:700;

    cursor:pointer;

    font-size:16px;

}





.msgform button:hover{

    background:#15803d;

}







/* ===============================
   FORM RESPONSE
================================ */


.spinner{

    width:35px;

    height:35px;

    border-radius:50%;

    border:5px solid #e2e8f0;

    border-top-color:#0284c7;

    animation:spin 1s linear infinite;

    display:none;

    margin:15px auto;

}



@keyframes spin{

    from{

        transform:rotate(0deg);

    }


    to{

        transform:rotate(360deg);

    }

}





.success-msg{

    color:#16a34a;

    text-align:center;

    font-weight:bold;

}



.error-msg{

    color:#dc2626;

    text-align:center;

    font-weight:bold;

}







/* ===============================
   EMERGENCY SECTION
================================ */


.emergency-section{

    padding:80px 5%;

    background:#f8fafc;

}





.country-selector{

    max-width:300px;

    margin:0 auto 30px;

}





.country-selector label{

    display:block;

    font-weight:700;

    margin-bottom:10px;

}





.country-selector select{

    width:100%;

    padding:14px;

    border:none;

    border-radius:10px;

    background:white;

    box-shadow:

    0 5px 15px rgba(0,0,0,.08);

}





.services{

    display:grid;

    grid-template-columns:

    repeat(auto-fit,minmax(250px,1fr));

    gap:20px;

}





.service{

    background:white;

    padding:25px;

    border-radius:15px;

    box-shadow:

    0 10px 25px rgba(0,0,0,.08);

}
/* ===============================
   FOOTER
================================ */


footer{

    background:#0f172a;

    color:white;

    padding:50px 5% 25px;

}





.footer-container{

    display:grid;

    grid-template-columns:

    repeat(auto-fit,minmax(240px,1fr));

    gap:40px;

}





.footer-column h3{

    font-size:22px;

    margin-bottom:20px;

}





.footer-column p{

    color:#cbd5e1;

    line-height:1.7;

    font-size:15px;

}





.footer-column ul{

    list-style:none;

}





.footer-column li{

    margin-bottom:12px;

}





.footer-column a{

    color:#cbd5e1;

    text-decoration:none;

}





.footer-column a:hover{

    color:white;

}





.footer-social{

    display:flex;

    gap:15px;

    margin-top:20px;

}





.footer-social a{

    width:40px;

    height:40px;

    display:flex;

    align-items:center;

    justify-content:center;

    background:#1e293b;

    border-radius:50%;

    color:white;

}





.footer-bottom{

    margin-top:40px;

    padding-top:20px;

    border-top:1px solid #334155;

    text-align:center;

    color:#94a3b8;

    font-size:14px;

}







/* ===============================
   SCROLL BEHAVIOR
================================ */


html{

    scroll-behavior:smooth;

}





/* ===============================
   TABLET RESPONSIVENESS
================================ */


@media(max-width:900px){



    .challenge-content,
    .benefits-content,
    .about-container,
    .contact-container{

        flex-direction:column;

    }



    .challenge-text,
    .challenge-image,
    .benefits-text,
    .benefits-image,
    .about-text,
    .about-cards,
    .contact-info,
    .msgform{

        width:100%;

    }





    .about-cards{

        grid-template-columns:

        repeat(2,1fr);

    }





    .contact-info h2{

        font-size:32px;

    }





}








/* ===============================
   MOBILE DESIGN
================================ */


@media(max-width:600px){



    body{

        overflow-x:hidden;

    }





    .homecontainer{

        height:650px;

    }





    .homecontainer .header{

        background:

        linear-gradient(
        rgba(2,132,199,.85),
        rgba(3,105,161,.9)
        );

    }





    .homecontainer .header .navcont{

        height:60px;

    }

  .navigation{


        position:absolute;


        top:65px;


        left:0;


        width:100%;


        background:white;


        display:none;


        flex-direction:column;


        align-items:center;


        gap:0;


        padding:20px 0;


        box-shadow:

        0 10px 25px rgba(0,0,0,.15);


    }
    
    .navigation a{


        width:100%;


        text-align:center;


        padding:15px;


        font-size:16px;


    }

.navigation.active{


        display:flex;


    }
.nav-buttons{


        display:none;


    }
    
    .mobile-menu{


        display:block;


    }

    .homecontainer .header .navcont .logo{

        width:45px;

        height:45px;

        top:7px;

        left:10px;

    }





    .homecontainer .header .navcont .compname{

    position:absolute;

    left:55px;

    bottom:8px;

    font-weight:bold;

    color:black;

    font-size:22px;

    white-space:nowrap;

}





    .homecontainer .header .navcont menu{

        display:block;

        right:20px;

        top:15px;

        cursor:pointer;

    }





    .homecontainer .header .navcont .navbar{

    height:100%;

    position:absolute;

    right:20px;

    top:0;

    display:flex;

    align-items:center;

    gap:25px;

    font-weight:bold;

    font-size:13px;

}




    .homecontainer .header .navcont .navbar a{

        font-size:15px;

    }





    .homecontainer .header .compmotto{

        font-size:42px;

        left:20px;

        top:170px;

    }





    .homecontainer .header .slogan{

        left:20px;

        right:20px;

        top:250px;

        font-size:17px;

        line-height:1.6;

    }





    .homecontainer .header img.describer{

        width:160px;

        height:180px;

        opacity:.8;

    }





    .homecontainer .header .loginbtn,
    .homecontainer .header .registerbtn{

        position:relative;

        top:auto;

        right:auto;

        display:inline-block;

    }





    .section-title h2,
    .challenge-text h2,
    .benefits-text h2{

        font-size:30px;

    }





    .flow-card{

        width:100%;

    }





    .arrow{

        transform:rotate(90deg);

    }





    .workflow-line{

        display:none;

    }





    .about-cards{

        grid-template-columns:1fr;

    }





    .pricing-card{

        padding:30px 20px;

    }





    .price{

        font-size:45px;

    }





    .msgform form{

        padding:25px 18px;

    }





}




@media(max-width:900px){

    .homecontainer .header .navcont .navbar{

        width:auto;

        gap:15px;

    }

}


/* ===============================
   SMALL DEVICES
================================ */


@media(max-width:380px){



    .homecontainer .header .compmotto{

        font-size:34px;

    }





    .homecontainer .header .slogan{

        font-size:15px;

    }





    .section-title h2{

        font-size:26px;

    }


}