/* ========================================
   SERVICE PAGE RESPONSIVE
======================================== */

@media (max-width:1200px){

	.service-hero__title{
		font-size:62px;
	}

	.service-intro-inner{
		gap:56px;
	}
}

@media (max-width:991px){

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

	.service-hero{
		min-height:75vh;
	}

	.service-hero__title{
		font-size:52px;
	}

	.service-hero__subtitle{
		font-size:20px;
	}

	/* ========================================
	   INTRO
	======================================== */

	.service-intro-inner{
		grid-template-columns:1fr;
	}

	/* ========================================
   SERVICE MATERIALS
   ======================================== */

@media (max-width:1200px){

	.service-materials-grid{
		column-gap:40px;
	}

	.service-material-card-title{
		font-size:36px;
	}
}

@media (max-width:991px){

	.service-materials{
		padding:110px 0;
	}

	.service-materials-grid{
		grid-template-columns:1fr 1fr;

		column-gap:32px;
		row-gap:56px;
	}

	.service-materials .section-heading{
		margin-bottom:72px;
	}

	.service-material-card-title{
		font-size:32px;
	}
}

@media (max-width:767px){

	.service-materials{
		padding:80px 0;
	}

	.service-materials-grid{
		grid-template-columns:1fr;

		row-gap:48px;
	}

	.service-materials .section-heading{
		margin-bottom:56px;
	}

	.service-materials .section-subtitle{
		font-size:var(--text-lg);
	}

	.service-material-card-title{
		font-size:28px;

		margin-bottom:18px;
	}

	.service-material-card-description p{
		font-size:var(--text-base);
		line-height:1.8;
	}

	.service-material-card::after{
		top:-20px;
	}
}
	/* ========================================
	   PROCESS
	======================================== */

	.process-item{
		grid-template-columns:80px 1fr;
		gap:24px;
	}

	/* ========================================
	   GALLERY
	======================================== */

	.service-gallery-grid{
		grid-template-columns:1fr 1fr;
	}
}

@media (max-width:767px){

	/* ========================================
	   GLOBAL
	======================================== */

	.service-page .section{
		padding:80px 0;
	}

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

	.service-hero{
		min-height:auto;

		padding:120px 0 100px;
	}

	.service-hero__content{
		max-width:100%;
	}

	.service-hero__title{
		font-size:40px;

		margin-bottom:24px;
	}

	.service-hero__subtitle{
		font-size:var(--text-lg);
		line-height:1.7;

		margin-bottom:36px;
	}

	.service-hero__button{
		width:100%;
	}

/* ========================================
   SERVICE INTRO
======================================== */

@media (max-width:1200px){

	.service-intro-inner{
		grid-template-columns:1fr 1fr;

		gap:64px;
	}

	.service-intro-title{
		font-size:48px;
	}
}

@media (max-width:991px){

	.service-intro{
		padding:110px 0;
	}

	.service-intro-inner{
		grid-template-columns:1fr;

		gap:56px;
	}

	.service-intro-image{
		max-width:620px;
	}

	.service-intro-title{
		font-size:42px;
	}

	.service-intro-text p{
		max-width:100%;
	}
}

@media (max-width:767px){

	.service-intro{
		padding:80px 0;
	}

	.service-intro-inner{
		gap:40px;
	}

	.service-intro-title{
		font-size:34px;

		margin-bottom:24px;
	}

	.service-intro-text p{
		font-size:var(--text-base);
		line-height:1.85;

		margin-bottom:24px;
	}
}

	/* ========================================
	   MATERIALS
	======================================== */

	.service-materials-grid{
		grid-template-columns:1fr;
	}

/* ========================================
   SERVICE PROCESS
======================================== */

@media (max-width:1400px){

	.process-item-title{
		font-size:44px;
	}
}

@media (max-width:1200px){

	.service-process-timeline{
		grid-template-columns:1fr 1fr;
	}

	.process-item-title{
		font-size:38px;
	}

	.step-number{
		font-size:74px;
	}
}

@media (max-width:767px){

	.service-process{
		padding:80px 0;
	}

	.service-process-header{
		margin-bottom:64px;
	}

	.service-process-header .section-subtitle{
		font-size:var(--text-lg);
	}

	.service-process-timeline{
		grid-template-columns:1fr;

		row-gap:72px;
	}

	.process-item{
		padding-top:44px;
	}

	.step-number{
		font-size:64px;
	}

	.process-item-title{
		font-size:30px;

		margin-bottom:18px;
	}

	.process-item-text p{
		font-size:var(--text-base);
		line-height:1.8;
	}
}

/* ========================================
   SERVICE GALLERY
======================================== */

@media (max-width:1200px){

	.service-gallery-grid{
		grid-auto-rows:100px;
	}
}

@media (max-width:991px){

	.service-gallery{
		padding:110px 0;
	}

	.service-gallery-header{
		margin-bottom:72px;
	}

	.service-gallery-grid{
		grid-template-columns:repeat(6, 1fr);

		grid-auto-rows:90px;
	}

	.gallery-item-large{
		grid-column:span 6;
		grid-row:span 4;
	}

	.gallery-item-small{
		grid-column:span 3;
		grid-row:span 2;
	}

	.gallery-item-medium{
		grid-column:span 3;
		grid-row:span 1;
	}
}

@media (max-width:767px){

	.service-gallery{
		padding:80px 0;
	}

	.service-gallery-header{
		margin-bottom:56px;
	}

	.service-gallery-header .section-subtitle{
		font-size:var(--text-lg);
	}

	.service-gallery-grid{
		grid-template-columns:1fr;

		grid-auto-rows:auto;
	}

	.gallery-item-large,
	.gallery-item-small,
	.gallery-item-medium{
		grid-column:auto;
		grid-row:auto;

		height:320px;
	}

	.gallery-caption{
		left:20px;
		bottom:20px;

		font-size:14px;

		opacity:1;

		transform:none;
	}
/* ========================================
   SERVICE CTA
======================================== */

@media (max-width:1200px){

	.service-cta-title{
		font-size:60px;
	}

	.cta-option-title{
		font-size:30px;
	}
}

@media (max-width:991px){

	.service-cta{
		padding:120px 0;
	}

	.service-cta-title{
		font-size:48px;
	}

	.service-cta-text{
		font-size:20px;

		margin-bottom:64px;
	}

	.service-cta-options{
		grid-template-columns:1fr;

		max-width:720px;

		margin-left:auto;
		margin-right:auto;
	}

	.cta-option{
		padding:42px 36px;
	}
}

@media (max-width:767px){

	.service-cta{
		padding:80px 0;
	}

	.service-cta-title{
		font-size:36px;

		margin-bottom:24px;
	}

	.service-cta-text{
		font-size:var(--text-lg);
		line-height:1.75;

		margin-bottom:48px;
	}

	.cta-option{
		padding:36px 28px;
	}

	.cta-option-title{
		font-size:26px;
	}

	.cta-option-text{
		font-size:var(--text-base);

		margin-bottom:28px;
	}

	.service-cta .btn{
		width:100%;

		min-width:100%;
	}

	.contact-direct{
		font-size:15px;
	}
}