body{
	background: #f7f5f2;
	font-family: "Archivo","Helvetica Neue",Helvetica,sans-serif;
	color: #161817
}


html{
	
    scroll-behavior: smooth;
}

.page-header{
	padding-top: 80px;
}

p:last-of-type{
	margin-bottom: 0;
}

.main-header .elementor-nav-menu--dropdown {
	padding: 50px 30px 50px;
	background: #f7f5f2;
}

.main-header .elementor-nav-menu--dropdown a{
	padding: 0 !important;
}

.main-header .elementor-nav-menu--dropdown ul{
	    display: flex;
    flex-direction: column;
    gap: 20px;
}

.main-header .elementor-menu-toggle{
	background: inherit;
    padding: 0;
}

.services-wrapper{
	    display: grid;
    grid-template-columns: repeat(3, minmax(0px, 1fr));
    gap: 22px;
}

.service-thumbnail{
	aspect-ratio: 298 / 157;
    overflow: hidden;
    background: #f4f3ef;
}


.service-thumbnail img{
	  width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.service-title{
	margin: 25px 0px 0px;
    font-weight: 400;
			font-size: 21px;
			line-height: 1.25 ;
			font-family: "Playfair Display","Times New Roman",serif;
    letter-spacing: -0.01em;
    color: #161817;
}

.service-link{
	display: inline-flex;
    align-items: center;
    gap: 12px;
    font: 600 11px/1.2 "Archivo","Helvetica Neue",Helvetica,sans-serif;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    text-decoration: none;
    color: #161817;
    padding-bottom: 6px;
    border-bottom: 1px solid rgba(22,24,23,.28);
    transition:color 140ms cubic-bezier(.2,.6,.2,1),border-color 140ms cubic-bezier(.2,.6,.2,1);
}

.service-link:hover{
    border-bottom-color: #161817 !important;
}

.service-link svg{
    transform: translateX(0px) !important;
    transition: transform 220ms cubic-bezier(.2,.6,.2,1) !important;
}
.service-link:hover svg{
    transform: translateX(4px) !important;
}

.service-excerpt{
		margin: 13px 0px 21px;
    font: 400 14px/1.6;
    color: #3a3937;
}

/* Testimonials */
.testimonials-wrapper {
	display: grid;
	grid-template-columns: repeat(3, minmax(0px, 1fr));
	gap: 22px;
}
.testimonial-item {
	    margin: 0px;
    display: flex;
    flex-direction: column;
}
.testimonial-quote {
	font-size: 16px;
	line-height: 1.4;
	color: #161817;
	margin-bottom: 10px !important;
}
.testimonial-divider {
	width: 36px;
	border: none;
	border-top: 1px solid rgba(22,24,23,.14);
	margin: 0 0 12px !important;
}
.testimonial-name {
	font-size: 13px;
	font-weight: 600;
	line-height: 1.4;
	color: #161817;
	margin: 0 0 2px;
}
.testimonial-role {
	font-size: 13px;
	line-height: 1.4;
	margin: 0;
}

.testimonial-item__content{
	margin-top: auto
}

.elementor-location-footer .hide-pc{
		display: none !important;
	}

@media (min-width: 768px){
	.hide-pc{
		display: none !important;
	}
}

@media (max-width: 767px){
	.services-wrapper, .testimonials-wrapper{
		grid-template-columns: 1fr
	}
}
/* ===== Default content typography===== */

.entry-content, .page-content {
	margin: 0 auto 80px;
	font-family: 'Archivo', sans-serif;
	font-size: 17px;
	line-height: 1.75;
}

/* ---- Headings ---- */
.entry-content h1, .page-content h1 {
	font-size: 48px;
	font-weight: 400;
	line-height: 1.25;
	margin: 0 0 28px;
}

.entry-content h2, .page-content h2 {
	font-size: 34px;
	font-weight: 400;
	line-height: 1.3;
	margin: 56px 0 20px;
}

.entry-content h3, .page-content h3 {
	font-size: 30px;
	font-weight: 400;
	line-height: 1.35;
	margin: 44px 0 16px;
}

.entry-content h4, .page-content h4 {
	font-size: 24px;
	font-weight: 400;
	line-height: 1.4;
	margin: 32px 0 14px;
}

.entry-content h5, .page-content h5 {
	font-size: 20px;
	font-weight: 400;
	margin: 28px 0 12px;
}

.entry-content h6, .page-content h6 {
	font-size: 17px;
	font-weight: 400;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	margin: 24px 0 12px;
}

/* ---- Body text ---- */
.entry-content p, .page-content p {
	margin: 0 0 18px;
}

.entry-content a, .page-content a {
	color: #1a73e8;
	text-decoration: underline;
	transition: color 0.2s ease;
}
.entry-content a:hover, .page-content a:hover {
	color: #0b4fb0;
}

.entry-content strong, .page-content strong {
	font-weight: 600;
}

/* ---- Lists ---- */
.entry-content ul, .page-content ul,
.entry-content ol, .page-content ol {
	margin: 0 0 18px;
	padding-left: 24px;
}

.entry-content ul li, .page-content ul li {
	list-style: disc;
	margin-bottom: 8px;
}

.entry-content ol li, .page-content ol li {
	list-style: decimal;
	margin-bottom: 8px;
}

/* ---- Blockquote ---- */
.entry-content blockquote, .page-content blockquote {
	margin: 24px 0;
	padding: 16px 20px;
	border-left: 4px solid #dddddd;
	background: #f9f9f9;
	font-style: italic;
	color: #555555;
}

/* ---- Table ---- */
.entry-content table, .page-content table {
	width: 100%;
	border-collapse: collapse;
	margin: 24px 0;
}
.entry-content table th, .entry-content table td,
.page-content table th, .page-content table td {
	border: 1px solid #e0e0e0;
	padding: 10px 14px;
	text-align: left;
}
.entry-content table th, .page-content table th {
	background: #f5f5f5;
	font-weight: 600;
	font-family: 'Archivo', sans-serif;
}

.entry-content hr, .page-content hr {
	border: none;
	border-top: 1px solid #e0e0e0;
	margin: 32px 0;
}

.entry-content img, .page-content img {
	max-width: 100%;
	height: auto;
	border-radius: 4px;
	margin: 16px 0;
}

/* ===== Responsive ===== */
@media (max-width: 1024px) {
	.entry-content, .page-content {
		padding: 0 10px
	}
	.entry-content h1, .page-content h1 { font-size: 44px; }
	.entry-content h2, .page-content h2 { font-size: 34px; margin: 48px 0 18px; }
	.entry-content h3, .page-content h3 { font-size: 27px; margin: 40px 0 14px; }
	.entry-content h4, .page-content h4 { font-size: 22px; }
}

@media (max-width: 768px) {
	.page-header{
		padding-top: 50px;
	}
	.entry-content, .page-content {
	margin: 0 auto 50px;
}
	.entry-content, .page-content {
		font-size: 16px;
	}
	.entry-content h1, .page-content h1 { font-size: 36px; margin-bottom: 20px; }
	.entry-content h2, .page-content h2 { font-size: 28px; margin: 40px 0 16px; }
	.entry-content h3, .page-content h3 { font-size: 24px; margin: 32px 0 12px; }
	.entry-content h4, .page-content h4 { font-size: 20px; margin: 26px 0 12px; }
	.entry-content h5, .page-content h5 { font-size: 18px; }
}

@media (max-width: 480px) {
	.entry-content, .page-content {
	}
	.entry-content h1, .page-content h1 { font-size: 28px; }
	.entry-content h2, .page-content h2 { font-size: 23px; margin: 32px 0 14px; }
	.entry-content h3, .page-content h3 { font-size: 20px; margin: 26px 0 12px; }
	.entry-content h4, .page-content h4 { font-size: 18px; }
	.entry-content ul, .entry-content ol,
	.page-content ul, .page-content ol {
		padding-left: 20px;
	}
}