html {
}

body {
	line-height: 1.65;
}

.hero-kicker {
	text-transform: uppercase;
	letter-spacing: 2px;
	font-size: 13px;
	font-weight: 700;
	margin-bottom: 12px;
	opacity: .95;
}

.hero-title {
	max-width: 900px;
	margin-bottom: 20px;
}

.hero-text {
	max-width: 760px;
	margin-bottom: 28px;
}

.section-kicker {
	text-transform: uppercase;
	letter-spacing: 2px;
	font-size: 13px;
	font-weight: 700;
	color: #6b7280;
	margin-bottom: 10px;
}

.light-kicker {
	color: rgba(255,255,255,0.8);
}

.service-card,
.focus-box {
	background: #ffffff;
	padding: 28px;
	border-radius: 12px;
	box-shadow: 0 10px 25px rgba(0,0,0,0.06);
	height: 100%;
	transition: transform .35s ease, box-shadow .35s ease;
}

.lift-card:hover {
	transform: translateY(-8px);
	box-shadow: 0 18px 40px rgba(0,0,0,0.12);
}

.rounded-image img,
.shadow-image img {
	border-radius: 14px;
	box-shadow: 0 14px 30px rgba(0,0,0,0.14);
	transition: transform .5s ease, box-shadow .5s ease;
}

.rounded-image img:hover,
.shadow-image img:hover {
	transform: scale(1.02);
	box-shadow: 0 20px 38px rgba(0,0,0,0.18);
}

.wp-block-button__link {
	border-radius: 8px;
	padding: 14px 24px;
	font-weight: 600;
	text-decoration: none;
	transition: transform .25s ease, box-shadow .25s ease, opacity .25s ease;
}

.wp-block-button__link:hover {
	transform: translateY(-2px);
	opacity: .96;
}

.wp-block-button.is-style-outline .wp-block-button__link {
	border: 2px solid currentColor;
}

.button-glow .wp-block-button__link,
.wp-block-button.button-glow .wp-block-button__link {
	animation: softPulse 2.8s infinite;
}

@keyframes softPulse {
	0% {
		box-shadow: 0 0 0 0 rgba(255,255,255,0.18);
	}
	
	70% {
		box-shadow: 0 0 0 14px rgba(255,255,255,0);
	}
	
	100% {
		box-shadow: 0 0 0 0 rgba(255,255,255,0);
	}
}

.wp-block-heading {
	line-height: 1.2;
}

.hero-animate .wp-block-cover__image-background {
	animation: heroZoom 18s ease-in-out infinite alternate;
	transform-origin: center center;
}

@keyframes heroZoom {
	0% {
		transform: scale(1);
	}
	
	100% {
		transform: scale(1.08);
	}
}

.hero-animate {
	position: relative;
	overflow: hidden;
}

.hero-animate::after {
	content: "";
	position: absolute;
	background: linear-gradient(120deg,
    rgba(255,255,255,0.03) 0%,
    rgba(255,255,255,0.08) 35%,
    rgba(255,255,255,0.02) 70%,
    rgba(255,255,255,0.00) 100%);
	animation: overlayDrift 10s ease-in-out infinite alternate;
	pointer-events: none;
}

@keyframes overlayDrift {
	0% {
		transform: translateX(-2%) translateY(0);
	}
	
	100% {
		transform: translateX(2%) translateY(1%);
	}
}

.reveal {
	opacity: 0;
	transform: translateY(28px);
	transition: opacity .8s ease, transform .8s ease;
}

.reveal.in-view {
	opacity: 1;
	transform: translateY(0);
}

.reveal-delay-1 {
	transition-delay: .15s;
}

.reveal-delay-2 {
	transition-delay: .3s;
}

.reveal-delay-3 {
	transition-delay: .45s;
}

.counter-box {
	background: #ffffff;
	border-radius: 12px;
	padding: 24px;
	text-align: centre;
	box-shadow: 0 10px 25px rgba(0,0,0,0.06);
}

.counter-number {
	font-size: 42px;
	font-weight: 700;
	line-height: 1;
	margin-bottom: 8px;
}

.counter-label {
	font-size: 14px;
	color: #6b7280;
	text-transform: uppercase;
	letter-spacing: 1px;
}

footer,
.site-footer {
	margin-top: 0;
}

@media (max-width: 781px) {
	.hero-title {
		font-size: 38px !important;
	}
	
	.hero-text {
		font-size: 18px !important;
	}
	
	.service-card,
	  .focus-box,
	  .counter-box {
		padding: 22px;
	}
	
	.wp-block-cover {
		min-height: 520px !important;
	}
	
	.lift-card:hover {
		transform: none;
	}
	
	.rounded-image img:hover,
	  .shadow-image img:hover {
		transform: none;
	}
}