.lab-section{
background:#F7FBFF;
padding:64px 0px 140px 0;
}


/* Heading */

.heading{
text-align:center;
margin-bottom:60px;
}

.heading .sub{
font-size:18px;
color:#0084FF;
display:block;
margin-bottom:12px;
}

.heading h2{
font-size:54px;
line-height:1.2;
font-family: 'CaslonGraD'; font-weight: normal; letter-spacing: 0.5px;
color:#1B202A;
}

/* Grid */

.lab-grid{
display:grid;
grid-template-columns:1fr 1fr;
gap:30px;
align-items:center;
}

/* Image */

.lab-image img{
width:100%;
border-radius:14px;
display:block;
}

/* Content */

.lab-content{
background:#ffffff;
padding:40px;
border-radius:14px;
}

.lab-content h3{
font-size:40px;
font-family: 'CaslonGraD'; 
font-weight: normal; 
letter-spacing: 0.5px;
margin-bottom:12px;
}

.lab-content p {
    color: #4D4D4D;
    line-height: 1.6;
    font-size: 18px;
    margin-bottom: 40px;
}

/* Notice */

.notice-box {
    background: #F0FFF9;
    padding: 40px;
    border-radius: 16px;
}

.notice-box h4 {
	font-size:24px;
    font-family: 'CaslonGraD'; 
    font-weight: normal; 
    letter-spacing: 0.5px;
	margin-bottom:8px;
    color: #070F12;
}

.notice-box p{
	font-size:18px;
	margin-bottom: 32px;
}

.btn {
    display: inline-block;
    padding: 10px 14px;
    border: 1px solid var(--ast-global-color-0);
    color: var(--ast-global-color-0);
    border-radius: 6px;
    text-decoration: none;
    font-size: 18px;
    font-weight: 500;
    transition: .2s;
    display: inline-flex;
    gap: 10px;
    align-items: center;
}

.btn:hover{
background:var(--ast-global-color-0);
color:white;
}
.btn svg path {
   fill: var(--ast-global-color-0) !important;
}
.notice-box a.btn:hover path {
    fill: #fff !important;
}
section.lab_package{
	padding: 140px 0;
	background: #F2F5FF;
}
section.lab-location {
	padding: 140px 0;
	background:#fff;
	text-align: center;
}
section.how-works{
	padding: 140px 0;
	background:#F7FBFF;
}
.main_title h3 {
    font-size: 56px;
    font-family: 'CaslonGraD'; 
    font-weight: normal; 
    letter-spacing: 0.5px;
    color: #1B202A;
    margin-bottom: 16px;
    
}
.main_description p {
    font-size: 18px;
    color: #4D4D4D;
    margin-bottom: 48px;
    font-weight: normal;
}

.grid_4 {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
}
.product_card h3 {
	margin: 16px 0 5px;
}
.product_card {
	text-align: left;
}

.product_card .btns{
    display:flex;
    gap:10px;
    align-items:center;
}

/* Main button */
.product_card .btns .shop{
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:8px;
    text-decoration:none;
    flex:1;
    transition:0.3s;
}

/* Small cart button */
.product_card .btns .cart{
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:8px;
    transition:0.3s;
}


/* SVG alignment */
.product_card .btns svg{
    display:block;
}


.first_contain h3,.lab-header h2 {
	font-size: 56px;
    font-family: 'CaslonGraD';
    font-weight: normal;
    letter-spacing: 0.5px;
	color: #1B202A;
	margin-bottom: 16px;
	text-align: center;
}
.first_contain p,.lab-header p {
	color: #4D4D4D;
	font-size: 18px;
	text-align: center;
}

.map-wrapper{
  position:relative;
  margin-top:60px;
}

.us-map{
  width:100%;
  max-width: 1500px;
  margin: 0 auto;
}

.pin{
  width:14px;
  height:14px;
  background:var(--ast-global-color-0);
  border-radius:50%;
  position:absolute;
  transform:translate(-50%, -50%);
  cursor:pointer;
  box-shadow:0 0 0 8px rgba(30,115,255,0.15);
  transition:.3s;
}

.pin:hover{
  transform:translate(-50%, -50%) scale(1.2);
}

#tooltip{
  position:absolute;
  background:var(--ast-global-color-0);
  color:#fff;
  padding:6px 14px;
  border-radius:20px;
  font-size:13px;
  pointer-events:none;
  opacity:0;
  transition:.2s;
  white-space:nowrap;
}
.lab-header,.first_contain {
    max-width: 580px;
    margin: 0 auto;
}

/* my Work */
.how-works{
    background:#eef2f4;
    padding:140px 0;
}

/* heading */

.first_contain{
    text-align:center;
    margin-bottom:100px;
}

/* timeline wrapper */

.timeline_contain{
    position:relative;
    padding:50px 0;
}

/* center svg line */

.pos_Ab{
    position:absolute;
    left:50%;
    transform:translateX(-50%);
    top:0;
    width:70px;
    display:flex;
    justify-content:center;
}

.pos_Ab svg{
    height:100%;
    width:auto;
    max-width:60px;
}

/* steps */

.first_step,
.second_step,
.third_step{
    display:flex;
    align-items:center;
    justify-content:space-evenly;
    gap:0px;
    margin-bottom: 240px;
        position: relative;

}
.timeline_contain {
    padding-top: 126px;
}

/* content */

.containt_right{
    width:40%;
}

.containt_right h4{
    font-size:24px;
    font-family: 'CaslonGraD';
    font-weight: normal;
    letter-spacing: 0.5px;
    margin-bottom:8px;

}

.containt_right p{
    color:#4D4D4D;
    line-height:1.6;
    font-size:18px;
}


/* numbers */

.number_left,
.number_right{
    width:40%;
    display:flex;
    justify-content:center;
}

.number {
    font-size: 72px;
    font-weight: 400;
    color: var(--ast-global-color-0);
    font-family: 'Woo-Side-Cart';
}


/* alignment */

.first_step .number_left{
    justify-content:flex-end;
}

.first_step .containt_right{
    padding-left:10px;
}

.second_step .containt_right{
    text-align:right;
    padding-right:10px;
}

.second_step .number_right{
    justify-content:flex-start;
}

.third_step .number_left{
    justify-content:flex-end;
}

.third_step .containt_right{
    padding-left:10px;
}


section.testimonial-section {
    background: #F7FBFF;
    padding: 140px 0 !important;
}
.top-area{
display:flex;
justify-content:space-between;
align-items:center;
margin-bottom:50px;
}

.headings h2{
font-size:56px;
font-family: 'CaslonGraD';
font-weight: normal;
letter-spacing: 0.5px;
line-height:1.2;
color:#1a1a1a;
text-align: left;
}

.headings p{
margin-top:18px;
color:#6b7280;
max-width:600px;
text-align: left;
}

/* Navigation */

.slider-nav button {
    width: 50px;
    height: 50px;
    border-radius: 50%;
    border: none;
    cursor: pointer;
    font-size: 18px;
    padding: 12px;
    display: flex;
    align-content: center;
    justify-content: center;
    align-items: center;
}
.slider-nav {
    display: flex;
    gap: 10px;
    justify-content: center;
    align-items: center;
}
.slider-nav button:hover{
    background:#0077FF;
}
.slider-nav button:hover path {
    fill: #fff !important;
}
.prev,.next{
background:#fff;
}

/* Slider */

.slider-wrapper{
overflow:hidden;
}

.testimonial-slider{
display:flex;
gap:30px;
transition:0.4s;
}

.cards{
min-width:480px;
background:white;
padding:35px;
border-radius:18px;
position:relative;
}

.quote{
font-size:40px;
color:#dcdcdc;
}

.text{
color:#5B616D;
line-height:1.6;
font-size: 20px;
min-height: 160px;
}

.user{
display:flex;
align-items:center;
gap:10px;
margin-top:20px;
}

.user img{
width:36px;
height:36px;
border-radius:50%;
}

.user span {
    display: block;
    font-size: 14px;
    color: #5B616D;
    line-height: 20px;
}

.rating{
position:absolute;
bottom:45px;
right:25px;
color:#f59e0b;
font-weight:600;
}

.rating span {
    color: #5B616D;
    font-weight: 300;
}
.user strong {
    color: #1B202A;
    font-size: 20px;
    font-weight: 500;
    line-height: 120%;
}
/* Feature grid */

.feature-grid{
display:grid;
grid-template-columns:repeat(4,1fr);
gap:30px;
margin-top:140px;
}

.feature{
background:#eaf4ff;
padding:30px;
border-radius:16px;
}

.feature .icon{
font-size:22px;
margin-bottom:15px;
}

.feature h4{
font-size:18px;
margin-bottom:10px;
}

.feature p{
font-size:14px;
color:#6b7280;
}

.feature-card {
    background: linear-gradient(157.54deg, #DBF6FF 13.55%, #E7F9FF 80.88%);
    padding: 30px;
    border-radius: 18px;
    transition: 0.3s ease;
}

.icon-box {
    width: 56px;
    height: 56px;
    margin-bottom: 32px;
}

.feature-card h3 {
    font-size: 24px;
    font-family: 'CaslonGraD';
    font-weight: normal;
    letter-spacing: 0.5px;
    margin-bottom: 12px;
    color: #070F12;
}

.feature-card p {
    font-size: 18px;
    color: #4D4D4D;
}

@media(max-width: 1440px){
	.lab-section{
		padding:60px 0px 120px 0;
	}
	section.lab_package{
		padding: 100px 0;
	}
	section.how-works{
		padding: 100px 0;
	}
	section.lab-location {
		padding: 100px 0;
	}


}
@media(min-width:1080px) and (max-width: 1400px){
	
	.grid_4 {
   		grid-template-columns: repeat(3, 1fr);
	}
}
@media(max-width: 1024px){
    .testimonial-slider { gap: 20px; }
    .feature-grid { grid-template-columns: repeat(2, 1fr);gap: 20px; margin-top: 70px;}
    .feature-card h3 { font-size:20px; }
    .feature-card p { font-size:16px; }
	.heading .sub{
		font-size:16px;
	}
	.lab-section{
		padding:60px 0;
	}
	.heading h2,.headings h2{
		font-size:40px;
	}
	.lab-content h3{
		font-size:30px;
	}
	.lab-content p,.lab-header p,.headings p  {
		font-size:16px;
	}
	.lab-content,.notice-box{
		padding:20px;
	}
	.notice-box h4 {
		font-size:20px;
	}
	.notice-box p{
		font-size:16px;
	}
	section.lab_package{
		padding: 70px 0;
	}
	section.how-works{
		padding: 70px 0;
	}
	section.lab-location { 
		padding: 70px 0;
	}
	.main_title h3,.lab-header h2 {
    	font-size: 36px;
	}
	.main_description p {
    	font-size: 16px;
    	margin-bottom: 30px;
	}

	.grid_4 {
    grid-template-columns: repeat(2, 1fr);
    gap: 24px;
	}

	.first_contain h3 {
		font-size: 36px;
	}
	.first_contain p {
		font-size: 16px;
	}

    .pos_Ab{
        display: none;
    }

    .timeline_contain {
        padding-top: 0;
    }
    .first_step, .second_step {
            margin-bottom: 50px;
    }
    .third_step {
            margin-bottom: 0px;
    }

    .first_contain {
            margin-bottom: 50px;
    }

    .cards{
        min-width:50%;
        padding:30px;
        }

        .text{
        font-size:18px;
        min-height:140px;
        }

        .user strong{
        font-size:18px;
        }

        .rating{
        bottom:35px;
        right:20px;
        }
}

@media (max-width:767px){

    .feature-grid { grid-template-columns: 1fr;gap: 20px; margin-top: 50px;}

	.grid_4 {
    grid-template-columns: 1fr;
    gap: 20px;
	}

	.lab-section{
		padding:50px 0;
	}

.lab-grid{
grid-template-columns:1fr;
}



.lab-content{
padding:30px;
}
.heading h2,.headings h2{
		font-size:30px;
	}

	.lab-content h3{
		font-size:24px;
	}
	section.lab_package{
		padding: 50px 0;
	}
	section.how-works{
		padding: 50px 0;
	}
	section.lab-location { 
		padding: 50px 0;
	}
	.main_title h3 {
    	font-size: 28px;
	}

	.first_contain h3,.lab-header h2 {
		font-size: 28px;
	}

	.pin {
    	width: 10px;
    	height: 10px;
    	box-shadow: 0 0 0 3px rgba(30,115,255,0.15);
	}
	.map-wrapper { margin-top: 20px; }

    .first_step, .third_step {
    display: block;
    text-align: center;
}
.second_step {
    display: flex;
    flex-direction: column-reverse;
}
.timeline_contain > div > div {
    width: 100% !important;
}
.first_step .number_left, .second_step .number_right, .third_step .number_left {
    display: block;
    text-align: center;
}
.second_step .containt_right {
    text-align: center;
    padding-right: 0px;
    }

    .testimonial-slider{
gap:20px;
}

.cards{
min-width:100%;
padding:25px;
border-radius:14px;
}

.text{
font-size:16px;
min-height:auto;
}

.user{
margin-top:15px;
}

.user strong{
font-size:16px;
}

.user span{
font-size:13px;
}

.slider-nav {
    margin-top: 20px;
}

.slider-nav {
    text-align: center;
}

.top-area {
    display: block;
}
.testimonial-slider { gap: 10px; }
}