:root{

	--primary:#1D3557;
	--secondary:#E63946;
	--accent:#F1F5F9;

	--text:#1F2937;

	--dark:#141414;

	--white:#fff;

	--border:#E7E7E7;

	--section-spacing:64px;

	--radius:12px;

	--button-radius:8px;

	--shadow:0 12px 35px rgba(0,0,0,.08);

	--transition:.30s;

	/* Shared left/right edge inset. Header and hero both read this
	   single value (instead of two separate numbers) so their content
	   always lines up, at every breakpoint, without needing to be
	   kept in sync by hand. */
	--edge-inset:64px;

}

html{
	overflow-x: hidden;
}

body{font-family:var(--font-body);margin:0;color:var(--text);line-height:1.6;overflow-x:hidden}
h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);line-height:1.25;color:var(--primary)}

/*
=========================================
HEADER
=========================================
|
| Moved to assets/css/header.css
|
*/

/*
=========================================
HERO
=========================================
|
| Moved to assets/css/hero.css
|
*/

/*
=========================================
ABOUT
=========================================
|
| Moved to assets/css/about.css
|
*/

/*
=========================================
CONTACT
=========================================
|
| Moved to assets/css/contact.css
|
*/

.service-icon{
	width:84px;
	height:84px;
	border-radius:50%;
	background:var(--accent);
	display:flex;
	align-items:center;
	justify-content:center;
	margin-bottom:25px;
	transition:.3s;
}

.service-icon img{
	width:42px;
	height:42px;
	object-fit:contain;
}

.card:hover .service-icon{
	transform:translateY(-5px);
	background:var(--primary);
}

.card:hover .service-icon img{
	filter:brightness(0) invert(1);
}

.contact-grid{
	display:grid;
	grid-template-columns:420px 1fr;
	gap:70px;
	align-items:start;
}

.wpcf7 input,
.wpcf7 textarea{
	width:100%;
	padding:18px;
	border:1px solid var(--border);
	border-radius:var(--corner-radius, var(--radius));
	margin-bottom:20px;
	font-size:16px;
}

.wpcf7-submit{
	background:var(--primary);
	color:var(--white);
	padding:18px 40px;
	border:none;
	border-radius:var(--corner-radius, var(--radius));
	font-weight:700;
	cursor:pointer;
	transition:var(--transition);
}

.wpcf7-submit:hover{
	background:var(--secondary);
}

/*
=========================================
FAQ
=========================================
|
| Moved to assets/css/faq.css
|
*/

.animate{
	opacity:0;
	transform:translateY(40px);
	transition:all .8s ease;
}

.animate.show{
	opacity:1;
	transform:none;
}

.back-top{
	position:fixed;
	right:35px;
	bottom:35px;
	width:55px;
	height:55px;
	border-radius:50%;
	background:var(--primary);
	color:var(--white);
	display:flex;
	align-items:center;
	justify-content:center;
	text-decoration:none;
	opacity:0;
	pointer-events:none;
	transition:.3s;
	z-index:100;
}

.back-top.show{
	opacity:1;
	pointer-events:auto;
}

.skip-link {
	position: fixed;
	top: 10px;
	left: 10px;
	z-index: 9999;
	padding: 10px 15px;
	background: var(--primary);
	color: var(--white);
	transform: translateY(-150%);
	transition: transform .2s ease;
}

.skip-link:focus {
	transform: translateY(0);
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible {
	outline: 3px solid var(--secondary);
	outline-offset: 3px;
}


/* Consistent section heading spacing */
.section-heading {
	margin-bottom: 52px;
}

.section-heading h2 {
	margin-top: 18px;
	margin-bottom: 16px;
}

.section-heading p {
	margin-bottom: 0;
}
