/*==================================================
BIOINFRATECH
SERVICES PAGE
==================================================*/


/*==================================================
ROOT VARIABLES
==================================================*/

:root{

    --aservice-primary:#0A2342;

    --aservice-secondary:#008C95;

    --aservice-accent:#00AEEF;

    --aservice-success:#00B67A;

    --aservice-white:#FFFFFF;

    --aservice-light:#F7F9FC;

    --aservice-border:#E7EDF3;

    --aservice-text:#5F6B7A;

    --aservice-heading:#1B2B40;

    --aservice-radius-sm:14px;

    --aservice-radius-md:22px;

    --aservice-radius-lg:34px;

    --aservice-shadow-sm:
    0 10px 30px rgba(10,35,66,.08);

    --aservice-shadow-md:
    0 20px 55px rgba(10,35,66,.12);

    --aservice-shadow-lg:
    0 35px 90px rgba(10,35,66,.16);

}


/*==================================================
CONTAINER
==================================================*/

.aservice-container{

    width:min(1320px,92%);

    margin:auto;

}


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

.aservice-hero{

    position:relative;

    overflow:hidden;

    margin-top:90px;

    padding:120px 0;

    background:

    linear-gradient(

    rgba(10,35,66,.88),

    rgba(10,35,66,.88)),

    url("images/services-banner.jpg");

    background-size:cover;

    background-position:center;

    text-align:center;

    color:#fff;

}


.aservice-hero::before{

    content:"";

    position:absolute;

    left:-180px;

    top:-180px;

    width:360px;

    height:360px;

    border-radius:50%;

    background:rgba(0,174,239,.08);

}


/*==================================================
BREADCRUMB
==================================================*/

.aservice-breadcrumb{

    display:flex;

    justify-content:center;

    align-items:center;

    gap:10px;

    font-size:15px;

    margin-bottom:25px;

    position:relative;

    z-index:2;

}

.aservice-breadcrumb a{

    color:var(--aservice-accent);

    text-decoration:none;

    font-weight:600;

}

.aservice-breadcrumb span{

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

}


/*==================================================
TITLE
==================================================*/

.aservice-title{

    font-size:

    clamp(2.6rem,5vw,4rem);

    color:#fff;

    margin-bottom:25px;

    line-height:1.2;

    position:relative;

    z-index:2;

}


/*==================================================
DESCRIPTION
==================================================*/

.aservice-description{

    max-width:820px;

    margin:auto;

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

    font-size:1.08rem;

    line-height:2;

    position:relative;

    z-index:2;

}


/*==================================================
SECTION
==================================================*/

.aservice-section{

    padding:120px 0;

    background:var(--aservice-white);

}


/*==================================================
GRID
==================================================*/

.aservice-grid{

    display:grid;

    grid-template-columns:

    repeat(auto-fit,minmax(340px,1fr));

    gap:35px;

}
/*==================================================
SERVICE CARD
==================================================*/

.aservice-card{

    position:relative;

    background:var(--aservice-white);

    border:1px solid var(--aservice-border);

    border-radius:var(--aservice-radius-md);

    padding:42px;

    overflow:hidden;

    transition:all .45s ease;

    box-shadow:var(--aservice-shadow-sm);

}

.aservice-card::before{

    content:"";

    position:absolute;

    left:0;

    top:0;

    width:100%;

    height:5px;

    background:linear-gradient(
        90deg,
        var(--aservice-secondary),
        var(--aservice-accent),
        var(--aservice-success)
    );

    transform:scaleX(0);

    transform-origin:left;

    transition:.45s ease;

}

.aservice-card:hover{

    transform:translateY(-15px);

    border-color:rgba(0,174,239,.25);

    box-shadow:var(--aservice-shadow-lg);

}

.aservice-card:hover::before{

    transform:scaleX(1);

}


/*==================================================
ICON
==================================================*/

.aservice-icon{

    width:80px;

    height:80px;

    display:flex;

    align-items:center;

    justify-content:center;

    margin-bottom:28px;

    border-radius:22px;

    background:rgba(0,140,149,.08);

    color:var(--aservice-primary);

    font-size:36px;

    transition:all .4s ease;

}

.aservice-card:hover .aservice-icon{

    background:var(--aservice-accent);

    color:#fff;

    transform:rotate(10deg) scale(1.08);

}


/*==================================================
TITLE
==================================================*/

.aservice-card-title{

    font-size:1.6rem;

    color:var(--aservice-primary);

    margin-bottom:18px;

    line-height:1.35;

    font-weight:700;

}


/*==================================================
DESCRIPTION
==================================================*/

.aservice-card-description{

    color:var(--aservice-text);

    line-height:1.9;

    margin-bottom:24px;

    font-size:1rem;

}


/*==================================================
LIST
==================================================*/

.aservice-list{

    list-style:none;

    padding:0;

    margin:0;

}

.aservice-list-item{

    display:flex;

    align-items:center;

    gap:12px;

    margin-bottom:14px;

    color:var(--aservice-heading);

    font-weight:500;

}

.aservice-list-item::before{

    content:"✓";

    width:24px;

    height:24px;

    display:flex;

    align-items:center;

    justify-content:center;

    border-radius:50%;

    background:rgba(0,182,122,.12);

    color:var(--aservice-success);

    font-size:.85rem;

    font-weight:700;

    flex-shrink:0;

}


/*==================================================
GLOW EFFECT
==================================================*/

.aservice-card::after{

    content:"";

    position:absolute;

    inset:0;

    background:radial-gradient(
        circle at top right,
        rgba(0,174,239,.08),
        transparent 60%
    );

    opacity:0;

    transition:.45s ease;

    pointer-events:none;

}

.aservice-card:hover::after{

    opacity:1;

}
/*==================================================
REVEAL ANIMATION
==================================================*/

.aservice-reveal{

    opacity:0;

    transform:translateY(40px);

    transition:
        opacity .8s ease,
        transform .8s ease;

}

.aservice-reveal.aservice-active{

    opacity:1;

    transform:translateY(0);

}


/*==================================================
FOCUS ACCESSIBILITY
==================================================*/

.aservice-card:focus-within{

    outline:2px solid var(--aservice-accent);

    outline-offset:4px;

}


/*==================================================
SMOOTH IMAGE RENDERING
==================================================*/

.aservice-card img{

    display:block;

    max-width:100%;

    height:auto;

}


/*==================================================
LARGE DEVICES
==================================================*/

@media (max-width:1200px){

    .aservice-hero{

        padding:100px 0;

    }

    .aservice-section{

        padding:100px 0;

    }

    .aservice-container{

        width:94%;

    }

}


/*==================================================
TABLET
==================================================*/

@media (max-width:992px){

    .aservice-grid{

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

        gap:28px;

    }

    .aservice-title{

        font-size:3rem;

    }

}


/*==================================================
MOBILE
==================================================*/

@media (max-width:768px){

    .aservice-hero{

        margin-top:80px;

        padding:80px 0;

    }

    .aservice-section{

        padding:80px 0;

    }

    .aservice-grid{

        grid-template-columns:1fr;

        gap:24px;

    }

    .aservice-card{

        padding:30px;

    }

    .aservice-icon{

        width:70px;

        height:70px;

        font-size:32px;

        margin-bottom:24px;

    }

    .aservice-title{

        font-size:2.3rem;

    }

    .aservice-description{

        font-size:1rem;

    }

}


/*==================================================
SMALL MOBILE
==================================================*/

@media (max-width:480px){

    .aservice-container{

        width:94%;

    }

    .aservice-card{

        padding:24px;

        border-radius:18px;

    }

    .aservice-card-title{

        font-size:1.35rem;

    }

    .aservice-card-description{

        font-size:.95rem;

        line-height:1.8;

    }

    .aservice-list-item{

        font-size:.92rem;

        gap:10px;

    }

    .aservice-list-item::before{

        width:22px;

        height:22px;

        font-size:.75rem;

    }

}


/*==================================================
END OF SERVICE CSS
==================================================*/

/*==================================================
PAGE HERO
==================================================*/

.page-hero{

    padding:150px 0 70px;

    background:linear-gradient(180deg,#F8FBFF,#FFFFFF);

    text-align:center;

}

.page-tag{

    display:inline-block;

    padding:8px 18px;

    background:#EAF8FF;

    color:#008C95;

    border-radius:30px;

    font-size:13px;

    font-weight:700;

    letter-spacing:1px;

    text-transform:uppercase;

    margin-bottom:18px;

}

.page-title{

    font-size:56px;

    color:#0A2342;

    margin-bottom:20px;

}

.page-title span{

    color:#00AEEF;

}

.page-description{

    max-width:760px;

    margin:0 auto 28px;

    color:#6B7280;

    font-size:17px;

    line-height:1.9;

}

.page-breadcrumb{

    display:flex;

    justify-content:center;

    gap:10px;

    font-size:15px;

}

.page-breadcrumb a{

    color:#008C95;

    font-weight:600;

}

.page-breadcrumb span{

    color:#6B7280;

}

@media(max-width:768px){

    .page-hero{

        padding:120px 0 60px;

    }

    .page-title{

        font-size:38px;

    }

}

/*=========================================
SERVICE PAGE HERO
=========================================*/

.page-hero{

    position:relative;
    overflow:hidden;

    padding:180px 0 120px;

    background:
    linear-gradient(rgba(10,35,66,.82),rgba(10,35,66,.82)),
    url("images/services-banner.jpg");

    background-size:cover;
    background-position:center;
    background-repeat:no-repeat;

}

.page-hero::before{

    content:"";

    position:absolute;
    inset:0;

    background:
    radial-gradient(circle at top right,
    rgba(0,174,239,.20),
    transparent 35%);

}

.page-hero .container{

    position:relative;
    z-index:2;

}

.page-tag{

    display:inline-block;

    padding:10px 24px;

    border-radius:50px;

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

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

    color:#ffffff;

    font-size:14px;

    font-weight:700;

    letter-spacing:1px;

    text-transform:uppercase;

}

.page-title{

    margin:25px 0 20px;

    color:#ffffff;

    font-size:64px;

    line-height:1.1;

}

.page-title span{

    color:#59D6FF;

}

.page-description{

    max-width:760px;

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

    font-size:20px;

    line-height:1.9;

}

@media(max-width:992px){

.page-hero{

padding:150px 0 90px;

text-align:center;

}

.page-title{

font-size:44px;

}

.page-description{

margin:auto;

}

}

@media(max-width:768px){

.page-hero{

padding:130px 0 70px;

}

.page-title{

font-size:32px;

}

.page-description{

font-size:16px;

}

}
