:root {
	--ink: #0b1220;
	--muted: #5b677a;
	--line: #e5e7eb;
	--soft: #f5f7fb;
	--brand: #f6c343;
	--brand-dark: #d99d00;
	--hero-overlay: linear-gradient(120deg, rgba(11, 18, 32, 0.95), rgba(17, 24, 39, 0.9));
}

body {
	color: var(--ink);
	font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	overflow-x: hidden;
}

html {
	overflow-x: hidden;
}

.header-wrap {
	background: var(--hero-overlay), var(--hero-image);
	background-size: cover;
	background-position: center;
}

/* Page hero images */

.page-home,
.page-handyman-location,
.page-handyman-armthorpe,
.page-handyman-vs-builder,
.page-handyman-jobs-guide {
	--hero-image: url("https://images.unsplash.com/photo-1504307651254-35680f356dfd?auto=format&fit=crop&w=2400&q=75");
}

.page-flat-pack,
.page-shelving-installation {
	--hero-image: url("https://images.unsplash.com/photo-1586023492125-27b2c045efd7?auto=format&fit=crop&w=2400&q=75");
}

.page-blind-fitting,
.page-handyman-bessacarr {
	--hero-image: url("https://images.unsplash.com/photo-1513694203232-719a280e022f?auto=format&fit=crop&w=2400&q=75");
}

.page-tv-wall-mounting,
.page-tv-plasterboard-guide {
	--hero-image: url("https://images.unsplash.com/photo-1593784991095-a205069470b6?auto=format&fit=crop&w=2400&q=75");
}

.page-fence-repairs {
	--hero-image: url("https://images.unsplash.com/photo-1598902108854-10e335adac99?auto=format&fit=crop&w=2400&q=75");
}

.page-jet-washing {
	--hero-image: url("https://images.unsplash.com/photo-1624897718732-ad7a0895b6dd?auto=format&fit=crop&w=2400&q=75");
}

.page-curtain-pole-fitting {
	--hero-image: url("https://images.unsplash.com/photo-1519710164239-da123dc03ef4?auto=format&fit=crop&w=2400&q=75");
}

.page-door-repairs,
.page-picture-mirror-hanging,
.page-silicone-replacement,
.page-garden-furniture-assembly,
.page-flatpack-time-guide,
.page-pergola-installation {
	--hero-image: url("https://images.unsplash.com/photo-1505693416388-ac5ce068fe85?auto=format&fit=crop&w=2400&q=75");
}

.page-laminate-flooring,
.page-handyman-cantley {
	--hero-image: url("https://images.unsplash.com/photo-1484154218962-a197022b5858?auto=format&fit=crop&w=2400&q=75");
}

.page-handyman-services,
.page-handyman-cost-guide {
	--hero-image: url("https://images.unsplash.com/photo-1503387762-592deb58ef4e?auto=format&fit=crop&w=2400&q=75");
}

.page-handyman-balby {
	--hero-image: url("https://images.unsplash.com/photo-1494526585095-c41746248156?auto=format&fit=crop&w=2400&q=75");
}

.page-handyman-edlington {
	--hero-image: url("https://images.unsplash.com/photo-1512917774080-9991f1c4c750?auto=format&fit=crop&w=2400&q=75");
}

.page-handyman-sprotbrough {
	--hero-image: url("https://images.unsplash.com/photo-1448630360428-65456885c650?auto=format&fit=crop&w=2400&q=75");
}

.page-handyman-wheatley {
	--hero-image: url("https://images.unsplash.com/photo-1460317442991-0ec209397118?auto=format&fit=crop&w=2400&q=75");
}

.page-patio-jetwashing-guide {
	--hero-image: url("https://images.unsplash.com/photo-1506744038136-46273834b3fb?auto=format&fit=crop&w=2400&q=75");
}

/* Navbar */

.navbar-brand img {
	width: 210px;
	height: auto;
}

/* Hero */

.hero {
	padding: 72px 0 86px;
}

.hero-home {
	padding: 110px 0 140px;
}

.hero h1 {
	max-width: 900px;
	color: rgba(255, 255, 255, 0.82) !important;
	font-size: 4.8rem;
	font-weight: 900;
	line-height: 0.95;
	letter-spacing: 0;
}

.hero .lead {
	max-width: 760px;
	color: rgba(255, 255, 255, 0.82);
	font-size: 1.22rem;
}

.eyebrow {
	display: inline-flex;
	padding: 8px 14px;
	border: 1px solid rgba(246, 195, 67, 0.32);
	border-radius: 999px;
	background: rgba(246, 195, 67, 0.12);
	color: #ffe29a;
	font-size: 0.9rem;
	font-weight: 700;
}

.hero-badges {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
}

.hero-badge {
	padding: 10px 18px;
	border: 1px solid rgba(255, 255, 255, 0.12);
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.08);
	backdrop-filter: blur(6px);
	color: #fff;
	font-size: 14px;
	font-weight: 600;
}

/* Buttons */

.btn-brand {
	background: var(--brand);
	border-color: var(--brand);
	color: #111827;
	font-weight: 800;
}

.btn-brand:hover {
	background: var(--brand-dark);
	border-color: var(--brand-dark);
	color: #111827;
}

.btn-ghost {
	border: 1px solid rgba(255, 255, 255, 0.3);
	background: rgba(255, 255, 255, 0.08);
	color: #fff;
	font-weight: 700;
}

.btn-ghost:hover {
	background: #fff;
	color: var(--ink);
}

/* Sections */

.section-pad {
	padding: 76px 0;
}

.section-soft {
	background: var(--soft);
}

.section-title {
	font-size: 3.2rem;
	font-weight: 900;
	line-height: 1;
	letter-spacing: 0;
}

.text-muted2 {
	color: var(--muted);
}

/* Cards */

.card-box,
.service-card {
	border: 1px solid var(--line);
	border-radius: 24px;
	background: #fff;
}

.card-box {
	height: 100%;
	padding: 26px;
	box-shadow: 0 16px 40px rgba(15, 23, 42, 0.06);
}

.service-card {
	display: block;
	height: 100%;
	padding: 32px;
	color: var(--ink);
	text-decoration: none;
	box-shadow: 0 10px 30px rgba(15, 23, 42, 0.04);
	transition: all 0.25s ease;
}

.service-card:hover {
	transform: translateY(-6px);
	border-color: rgba(37, 99, 235, 0.18);
	box-shadow: 0 20px 40px rgba(15, 23, 42, 0.08);
	color: var(--ink);
}

.service-card h3 {
	margin-bottom: 14px;
	font-size: 1.25rem;
	font-weight: 700;
	line-height: 1.3;
}

.service-card p {
	margin: 0;
	color: var(--muted);
	line-height: 1.7;
}

/* Links */

.service-link {
	display: block;
	padding: 12px 16px;
	border: 1px solid var(--line);
	border-radius: 999px;
	background: #fff;
	color: var(--ink);
	font-weight: 700;
	text-decoration: none;
}

.service-link:hover {
	background: var(--ink);
	color: #fff;
}

.footer-link {
	color: inherit;
	text-decoration: none;
}

.footer-link:hover {
	text-decoration: underline;
}

.site-footer {
	border-top: 1px solid var(--line);
}

.footer-link-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 8px 16px;
	font-size: 0.92rem;
}

.footer-bottom {
	border-top: 1px solid var(--line);
}

/* Lists */

.styled-list {
	margin: 0;
	padding: 0;
	list-style: none;
}

.styled-list li {
	position: relative;
	margin-bottom: 16px;
	padding-left: 28px;
	color: var(--muted);
}

.styled-list li::before {
	content: "✓";
	position: absolute;
	top: 0;
	left: 0;
	color: var(--brand);
	font-weight: 700;
}

/* Layout elements */

.number {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	margin-bottom: 18px;
	border-radius: 14px;
	background: var(--ink);
	color: var(--brand);
	font-weight: 900;
}

.quote-card {
	padding: 34px;
	border-radius: 28px;
	background: var(--ink);
	color: #fff;
}

.quote-card p,
.quote-card li {
	color: rgba(255, 255, 255, 0.78);
}

.feature-list {
	display: grid;
	gap: 18px;
}

.feature-item {
	display: flex;
	align-items: flex-start;
	gap: 14px;
}

.feature-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	border-radius: 50%;
	background: var(--brand);
	color: #111827;
	font-weight: 900;
	flex: 0 0 auto;
}

.area-grid {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
}

.area-grid span,
.area-grid a {
	padding: 12px 18px;
	border: 1px solid rgba(15, 23, 42, 0.08);
	border-radius: 14px;
	background: #fff;
	color: var(--ink);
	font-weight: 600;
	text-decoration: none;
}

.area-grid a:hover {
	background: var(--ink);
	color: #fff;
}

.sticky-cta {
	position: sticky;
	bottom: 0;
	z-index: 1030;
	background: rgba(255, 255, 255, 0.92);
	backdrop-filter: saturate(180%) blur(10px);
	border-top: 1px solid rgba(0, 0, 0, 0.08);
}

/* Responsive */

@media (max-width: 991px) {
	.hero-home {
		padding: 80px 0 100px;
	}

	.hero h1 {
		font-size: 3.4rem;
	}

	.section-title {
		font-size: 2.55rem;
	}

	.service-card {
		padding: 24px;
	}
}

@media (max-width: 575px) {
	.hero h1 {
		font-size: 2.55rem;
	}

	.section-title {
		font-size: 2.1rem;
	}

	.quote-card {
		padding: 24px;
	}

	.footer-link-grid {
		grid-template-columns: 1fr;
	}
}
