/*
Theme Name: HBS Equipment Rentals
Theme URI: https://www.homeandbeyondfl.com/equipmentrentals
Author: Beyond Digital Labs
Description: Dedicated source-backed rental catalog and request workflow for Home & Beyond Services.
Version: 1.3.0
Requires at least: 7.0
Requires PHP: 8.3
Text Domain: hbs-rentals
*/

:root {
	--ink: #101116;
	--charcoal: #1a1c22;
	--panel: #24262d;
	--panel-soft: #2e3037;
	--paper: #f3f1ec;
	--paper-warm: #e8e2d8;
	--gold: #d8aa61;
	--gold-light: #f0cf91;
	--red: #b53b33;
	--red-bright: #d74a3e;
	--white: #fffdf9;
	--muted: #b9bbc2;
	--text: #202126;
	--success: #1f7a4f;
	--error: #a62f2f;
	--radius-sm: 14px;
	--radius: 22px;
	--radius-lg: 34px;
	--shadow: 0 22px 60px rgba(7, 8, 12, 0.2), 0 5px 16px rgba(7, 8, 12, 0.14);
	--shadow-dark: 0 24px 70px rgba(0, 0, 0, 0.45), 0 0 0 1px rgba(216, 170, 97, 0.13);
	--shadow-soft: 0 10px 25px rgba(8, 9, 13, 0.12), 0 2px 7px rgba(8, 9, 13, 0.08);
	--shadow-raised: 0 30px 70px rgba(8, 9, 13, 0.22), 0 12px 28px rgba(8, 9, 13, 0.14), 0 2px 6px rgba(8, 9, 13, 0.12);
	--shadow-gold: 0 24px 60px rgba(7, 8, 12, 0.34), 0 0 0 1px rgba(216, 170, 97, 0.2), inset 0 1px 0 rgba(255, 255, 255, 0.08);
	--inset-depth: inset 0 1px 0 rgba(255, 255, 255, 0.55), inset 0 -1px 0 rgba(16, 17, 22, 0.08);
	--content: min(1180px, calc(100vw - 40px));
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
	margin: 0;
	background:
		radial-gradient(circle at 12% 8%, rgba(216, 170, 97, 0.12), transparent 30rem),
		linear-gradient(145deg, #faf8f3 0%, var(--paper) 48%, #e8e2d8 100%);
	color: var(--text);
	font-family: "Segoe UI", Arial, sans-serif;
	font-size: 17px;
	line-height: 1.65;
	text-rendering: optimizeLegibility;
}
body.admin-bar .site-header { top: 32px; }
img {
	display: block; max-width: 100%; height: auto; margin-inline: auto;
	object-position: center center; border-radius: var(--radius-sm);
}
a { color: inherit; text-decoration-thickness: 1px; text-underline-offset: 0.2em; }
button, input, select, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
:focus-visible { outline: 3px solid var(--gold-light); outline-offset: 4px; }
.screen-reader-text {
	position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px;
	overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0;
}
.skip-link:focus {
	clip: auto; width: auto; height: auto; left: 16px; top: 16px; z-index: 9999;
	background: var(--white); color: var(--ink); padding: 12px 18px; border-radius: 10px;
}

h1, h2, h3, h4 {
	font-family: "Arial Narrow", "Segoe UI", sans-serif;
	line-height: 1.05;
	letter-spacing: -0.025em;
	word-break: normal;
	overflow-wrap: normal;
	hyphens: none;
}
h1 { font-size: clamp(3rem, 7.2vw, 6.8rem); margin: 0; }
h2 { font-size: clamp(2.2rem, 4.4vw, 4.1rem); margin: 0 0 22px; }

.client-rate-intro,
.client-rate-notes,
.payment-summary {
	background: var(--white);
	border: 1px solid rgba(16, 17, 22, 0.1);
	border-radius: var(--radius);
	box-shadow: var(--shadow);
	padding: clamp(24px, 4vw, 46px);
}
.client-rate-intro { border-left: 8px solid var(--gold); margin-bottom: 30px; }
.rate-table-wrap {
	border-radius: var(--radius);
	box-shadow: var(--shadow-raised);
	margin: 30px 0 48px;
	overflow-x: auto;
}
.rate-table { border-collapse: collapse; min-width: 760px; width: 100%; }
.rate-table caption {
	background: var(--charcoal); color: var(--gold-light); font-size: 1.4rem;
	font-weight: 800; padding: 22px; text-align: left;
}
.rate-table th, .rate-table td { border-bottom: 1px solid rgba(16, 17, 22, 0.1); padding: 16px 18px; text-align: right; }
.rate-table thead th { background: var(--paper-warm); color: var(--ink); }
.rate-table tbody th, .rate-table thead th:first-child { text-align: left; }
.rate-table tbody tr:nth-child(even) { background: rgba(232, 226, 216, 0.42); }
.rate-table tbody tr:hover { background: rgba(240, 207, 145, 0.3); }
.package-grid { display: grid; gap: 22px; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-bottom: 42px; }
.package-card {
	background: linear-gradient(145deg, var(--panel), var(--charcoal)); color: var(--white);
	border: 1px solid rgba(216, 170, 97, 0.26); border-radius: var(--radius);
	box-shadow: var(--shadow-dark); padding: 30px;
}
.package-card h3 { color: var(--gold-light); margin-top: 0; }
.package-card li + li { margin-top: 8px; }
.client-rate-notes { margin-bottom: 34px; }
.payment-summary { margin-inline: auto; max-width: 780px; }
.payment-summary h2 { font-size: clamp(2rem, 4vw, 3.4rem); }
.payment-lines { margin: 28px 0; }
.payment-lines > div { display: flex; gap: 24px; justify-content: space-between; padding: 13px 0; border-bottom: 1px solid rgba(16, 17, 22, 0.12); }
.payment-lines dt { font-weight: 700; }
.payment-lines dd { margin: 0; text-align: right; }
.payment-lines .payment-total { border-bottom: 0; color: var(--ink); font-size: 1.35rem; padding-top: 20px; }
.checkout-terms { background: var(--paper-warm); border-radius: var(--radius-sm); margin: 28px 0; padding: 18px; }
.checkout-terms input { margin-right: 8px; transform: scale(1.15); }
.card-fields, .wallet-checkout { border-top: 1px solid rgba(16, 17, 22, 0.12); margin-top: 26px; padding-top: 26px; }
.card-fields > label { display: block; font-weight: 700; margin-bottom: 15px; }
.hosted-field { background: #fff; border: 1px solid #74767d; border-radius: 10px; height: 52px; margin-top: 7px; padding: 12px; }
.hosted-field-row { display: grid; gap: 14px; grid-template-columns: 1fr 1fr; }
.hosted-field-row label { font-weight: 700; }
#hbs-card-submit { border: 0; cursor: pointer; margin-top: 22px; width: 100%; }
#hbs-payment-message:empty { display: none; }

@media (max-width: 720px) {
	.package-grid, .hosted-field-row { grid-template-columns: 1fr; }
	.payment-lines > div { align-items: flex-start; }
}
h3 { font-size: clamp(1.45rem, 2.2vw, 2rem); margin: 0 0 14px; }
p { margin: 0 0 1.15em; }
.wrap { width: var(--content); margin-inline: auto; }
.eyebrow {
	display: inline-flex; align-items: center; gap: 9px; margin: 0 0 18px;
	color: #77501f; font-size: 0.78rem; font-weight: 800; letter-spacing: 0.17em;
	text-transform: uppercase;
}
.eyebrow::before { content: ""; width: 32px; height: 2px; background: currentColor; }
.section {
	position: relative; padding: clamp(70px, 9vw, 120px) 0;
	box-shadow: inset 0 1px 0 rgba(255,255,255,.62), inset 0 -1px 0 rgba(16,17,22,.07);
}
.section-heading { max-width: 760px; margin-bottom: 42px; }
.section-heading p { color: #5c5f67; max-width: 680px; font-size: 1.08rem; }
.section-dark { background: var(--charcoal); color: var(--white); }
.section-dark .section-heading p { color: var(--muted); }
.hero .eyebrow, .section-dark .eyebrow, .equipment-card .eyebrow, .page-hero .eyebrow, .quote-section .eyebrow, .sidebar-card .eyebrow, .archive-cta .eyebrow { color: var(--gold-light); }

.site-header {
	position: sticky; top: 0; z-index: 1000; color: var(--white);
	background: rgba(16, 17, 22, 0.94); border-bottom: 1px solid rgba(216,170,97,.18);
	backdrop-filter: blur(18px); box-shadow: 0 14px 38px rgba(0,0,0,.32), inset 0 -1px 0 rgba(255,255,255,.04);
}
.header-inner { width: var(--content); min-height: 88px; margin: auto; display: flex; align-items: center; gap: 28px; }
.brand { display: flex; align-items: center; gap: 14px; margin-right: auto; text-decoration: none; min-width: 0; }
.brand img {
	width: 62px; height: 62px; object-fit: contain; object-position: center; border-radius: 50%;
	background: rgba(255,255,255,.04); box-shadow: 0 10px 24px rgba(0,0,0,.38), 0 0 0 1px rgba(216,170,97,.18);
	filter: drop-shadow(0 0 14px rgba(216,170,97,.22));
}
.brand-copy { display: grid; line-height: 1.1; }
.brand-copy strong { font-size: 1.03rem; letter-spacing: .055em; }
.brand-copy span { color: var(--gold-light); font-size: .72rem; letter-spacing: .15em; text-transform: uppercase; margin-top: 5px; }
.site-nav { display: flex; align-items: center; gap: 25px; }
.site-nav a { display: inline-flex; align-items: center; min-height: 44px; color: #f3f0ea; font-size: .9rem; font-weight: 700; text-decoration: none; transition: color .2s ease, transform .2s ease; }
.site-nav a:hover, .site-nav a:focus-visible { color: var(--gold-light); transform: translateY(-2px); }
.header-actions { display: flex; align-items: center; gap: 10px; }
.nav-toggle { display: none; border: 0; color: var(--white); background: transparent; padding: 10px; cursor: pointer; }
.nav-toggle span { display: block; width: 26px; height: 2px; margin: 5px; background: currentColor; }
.nav-toggle .screen-reader-text { width: 1px; height: 1px; margin: -1px; }
.gtm-frame { display: none; visibility: hidden; }

.button, .hbs-submit {
	position: relative;
	display: inline-flex; align-items: center; justify-content: center; gap: 10px;
	min-height: 52px; padding: 13px 22px; border: 1px solid transparent; border-radius: 15px;
	background: linear-gradient(135deg, var(--red-bright), #8f2925, var(--red-bright)); background-size: 200% 100%; color: var(--white);
	font-weight: 800; line-height: 1.1; text-align: center; text-decoration: none; cursor: pointer;
	box-shadow: 0 10px 28px rgba(181,59,51,.28); transition: transform .22s ease, box-shadow .22s ease, background-position .35s ease, border-color .22s ease;
}
.button:hover, .button:focus-visible, .hbs-submit:hover, .hbs-submit:focus-visible { transform: translateY(-3px); background-position: 100% 0; box-shadow: 0 17px 38px rgba(181,59,51,.42), 0 0 0 1px rgba(255,255,255,.16); }
.button:active, .hbs-submit:active { transform: translateY(0) scale(.98); box-shadow: 0 7px 18px rgba(181,59,51,.3); }
.button-gold { color: var(--ink); background: linear-gradient(135deg, var(--gold-light), var(--gold)); box-shadow: 0 10px 28px rgba(216,170,97,.24); }
.button-outline { background: transparent; border-color: rgba(240,207,145,.55); box-shadow: none; }
.button-small { min-height: 42px; padding: 10px 16px; border-radius: 12px; font-size: .82rem; }

.hero {
	position: relative; min-height: min(780px, calc(100vh - 70px)); display: grid; align-items: center;
	overflow: hidden; color: var(--white); background: var(--ink);
	border-radius: 0 0 var(--radius-lg) var(--radius-lg);
	box-shadow: 0 34px 80px rgba(7,8,12,.34), inset 0 -1px 0 rgba(240,207,145,.14);
}
.hero::before {
	content: ""; position: absolute; inset: 0;
	background: linear-gradient(90deg, rgba(10,11,15,.96) 0%, rgba(10,11,15,.82) 48%, rgba(10,11,15,.28) 100%),
		url("assets/fleet.webp") center/cover no-repeat;
	transform: scale(1.015);
}
.hero::after {
	content: ""; position: absolute; inset: auto 0 0; height: 160px;
	background: linear-gradient(to bottom, transparent, rgba(16,17,22,.96)); pointer-events: none;
}
.hero-inner { position: relative; z-index: 1; width: var(--content); margin: auto; padding: 110px 0 145px; }
.hero-copy { max-width: 790px; }
.hero h1 span { display: block; color: var(--gold-light); }
.hero-lead { max-width: 680px; margin: 28px 0 34px; color: #e3e0da; font-size: clamp(1.08rem, 1.8vw, 1.32rem); }
.hero-actions { display: flex; flex-wrap: wrap; gap: 13px; }
.hero-proof { display: flex; flex-wrap: wrap; gap: 11px 24px; margin-top: 34px; color: #d8d5cf; font-size: .9rem; font-weight: 700; }
.hero-proof span::before { content: "✓"; color: var(--gold-light); margin-right: 7px; }
.urgent-bar { background: linear-gradient(90deg, #8f2925, var(--red-bright), #8f2925); color: var(--white); }
.urgent-inner { width: var(--content); min-height: 64px; margin: auto; display: flex; align-items: center; justify-content: center; gap: 18px; text-align: center; font-weight: 750; }
.urgent-inner a { font-weight: 900; }

.trust-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; margin-top: -52px; position: relative; z-index: 4; }
.trust-card { background: var(--white); border-radius: var(--radius); padding: 23px; box-shadow: var(--shadow); border: 1px solid rgba(16,17,22,.06); }
.trust-card strong { display: block; color: var(--ink); font-size: 1.08rem; }
.trust-card span { color: #666a73; font-size: .9rem; }

.equipment-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 26px; }
.equipment-card {
	display: flex; flex-direction: column; height: 100%; overflow: hidden;
	background: linear-gradient(155deg, #2a2c34, var(--panel) 58%, #17181d); color: var(--white);
	border: 1px solid rgba(240,207,145,.12); border-radius: var(--radius-lg); box-shadow: var(--shadow-gold);
	transition: transform .3s ease, border-color .3s ease, box-shadow .3s ease;
}
.equipment-card:hover, .equipment-card:focus-within { transform: translateY(-6px); border-color: rgba(240,207,145,.38); box-shadow: 0 34px 78px rgba(7,8,12,.42), 0 0 0 1px rgba(216,170,97,.28); }
.equipment-card-media {
	position: relative; display: block; aspect-ratio: 1 / 1; overflow: hidden;
	border-radius: var(--radius-lg) var(--radius-lg) var(--radius) var(--radius);
	background: radial-gradient(circle at 50% 42%, #f8fbfc 0%, #dce8e8 58%, #aabdc2 100%);
	box-shadow: inset 0 -20px 42px rgba(11,18,24,.2), inset 0 0 0 1px rgba(255,255,255,.55), 0 18px 36px rgba(0,0,0,.24);
}
.equipment-card-media img,
.equipment-detail-media .equipment-art {
	--art-x: 0%; --art-y: 0%; --art-scale: 1.48; --art-hover-scale: 1.54;
	position: absolute; inset: 0; width: 100%; height: 100%; max-width: none; margin: 0;
	object-fit: cover; object-position: center center; border-radius: inherit;
	transform: translate(var(--art-x), var(--art-y)) scale(var(--art-scale));
	filter: drop-shadow(0 20px 22px rgba(8,15,21,.24));
	transition: transform .5s ease, filter .5s ease;
}
.equipment-art.equipment-art--commercial-dehumidifier {
	--art-x: -5.8%; --art-y: 2%; --art-scale: 1.66; --art-hover-scale: 1.72;
}
.equipment-art.equipment-art--hepa-500-air-purifier {
	--art-x: 2%; --art-y: -2%; --art-scale: 1.62; --art-hover-scale: 1.68;
}
.equipment-art.equipment-art--hepa-1000-air-scrubber {
	--art-x: -1.5%; --art-y: 2.5%; --art-scale: 1.57; --art-hover-scale: 1.63;
}
.equipment-art.equipment-art--industrial-air-mover {
	--art-x: 0%; --art-y: 0%; --art-scale: 1.52; --art-hover-scale: 1.58;
}
.equipment-art.equipment-art--injectidry-direct-it-in,
.equipment-art.equipment-art--flir-e6-pro-thermal-camera,
.equipment-art.equipment-art--moisture-meters-hygrometers {
	--art-x: 0%; --art-y: 0%; --art-scale: 1; --art-hover-scale: 1.035;
	background: #f7f6f2;
	object-fit: contain;
}
.equipment-card:hover .equipment-card-media img, .equipment-card:focus-within .equipment-card-media img {
	transform: translate(var(--art-x), var(--art-y)) scale(var(--art-hover-scale));
	filter: drop-shadow(0 24px 27px rgba(8,15,21,.32));
}
.status-pill {
	position: absolute; z-index: 2; left: 18px; top: 18px; padding: 8px 12px; border-radius: 999px;
	background: rgba(16,17,22,.9); color: var(--gold-light); font-size: .75rem; font-weight: 800;
	letter-spacing: .04em; box-shadow: 0 10px 24px rgba(0,0,0,.3), inset 0 1px 0 rgba(255,255,255,.1);
}
.equipment-card-body { display: flex; flex: 1; flex-direction: column; padding: 30px; }
.equipment-card-body p { color: var(--muted); }
.equipment-card-actions {
	display: flex; flex-wrap: wrap; gap: 11px; align-items: center;
	margin-top: auto; padding-top: 28px;
}
.text-link { display: inline-flex; color: var(--gold-light); font-weight: 800; text-decoration: none; transition: color .2s ease, transform .2s ease; }
.text-link:hover, .text-link:focus-visible { color: var(--white); transform: translateX(4px); text-decoration: underline; text-underline-offset: .2em; }

.entrance-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; }
.entrance-card {
	display: grid; min-height: 210px; align-content: end; gap: 8px; padding: clamp(26px, 4vw, 42px);
	border: 1px solid rgba(16,17,22,.08); border-radius: var(--radius-lg); text-decoration: none;
	background: linear-gradient(145deg, var(--white), #eee8dd); box-shadow: var(--shadow-raised), var(--inset-depth);
}
.entrance-card span { color: #77501f; font-size: .76rem; font-weight: 900; letter-spacing: .14em; text-transform: uppercase; }
.entrance-card strong { color: var(--ink); font-size: clamp(1.5rem, 2.8vw, 2.25rem); line-height: 1.08; }
.entrance-card small { color: #5d6067; font-size: .96rem; }
.entrance-card { transition: transform .28s ease, box-shadow .28s ease, border-color .28s ease; }
.entrance-card:hover, .entrance-card:focus-visible { transform: translateY(-6px); border-color: rgba(181,59,51,.26); box-shadow: 0 34px 76px rgba(8,9,13,.25), 0 12px 28px rgba(8,9,13,.16); }
.entrance-card:active { transform: translateY(-1px) scale(.99); }
.location-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; margin: 30px 0; }
.location-card { position: relative; display: grid; gap: 7px; min-height: 150px; align-content: center; overflow: hidden; padding: 26px 72px 26px 26px; border: 1px solid rgba(216,170,97,.12); border-radius: var(--radius); color: var(--white); background: linear-gradient(145deg, var(--panel), var(--ink)); box-shadow: var(--shadow-dark); text-decoration: none; transition: transform .28s ease, border-color .28s ease, box-shadow .28s ease, background .28s ease; }
.location-card::before { content: ""; position: absolute; inset: 0; background: radial-gradient(circle at 88% 18%, rgba(216,170,97,.2), transparent 40%); opacity: 0; transition: opacity .28s ease; pointer-events: none; }
.location-card strong, .location-card-copy { position: relative; z-index: 1; transition: color .22s ease, transform .22s ease; }
.location-card strong { color: var(--gold-light); font-size: 1.4rem; }
.location-card-copy { color: #d6d3cd; }
.location-card-arrow { position: absolute; z-index: 1; right: 28px; top: 50%; color: var(--gold-light); font-size: 1.8rem; opacity: 0; transform: translate(-10px, -50%); transition: opacity .28s ease, transform .28s ease; }
.location-card:hover, .location-card:focus-visible { transform: translateY(-8px); border-color: rgba(240,207,145,.52); background: linear-gradient(145deg, #32343d, #121318); box-shadow: 0 32px 74px rgba(0,0,0,.5), 0 0 0 1px rgba(216,170,97,.28); }
.location-card:hover::before, .location-card:focus-visible::before { opacity: 1; }
.location-card:hover .location-card-arrow, .location-card:focus-visible .location-card-arrow { opacity: 1; transform: translate(0, -50%); }
.location-card:hover strong, .location-card:focus-visible strong { color: #ffe5b1; transform: translateX(4px); }
.location-card:hover .location-card-copy, .location-card:focus-visible .location-card-copy { color: var(--white); transform: translateX(4px); }
.location-card:active { transform: translateY(-2px) scale(.99); }
.next-step { margin-top: 36px; padding: 24px; border-left: 5px solid var(--red); border-radius: var(--radius-sm); background: #fff8eb; box-shadow: var(--shadow-soft); }
.next-step-actions { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; margin-top: 16px; }
.request-equipment-button { width: fit-content; max-width: 100%; min-height: 54px; padding-inline: 24px; }
.next-step-phone { color: #70322d; font-weight: 800; text-underline-offset: .2em; }
.next-step-phone:hover, .next-step-phone:focus-visible { color: var(--red); }

.professional-help-panel {
	display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 30px;
	margin: 38px 0; padding: clamp(24px, 4vw, 38px); border: 1px solid rgba(216,170,97,.28);
	border-radius: var(--radius); color: var(--white);
	background: linear-gradient(145deg, #24262d, #13151a); box-shadow: var(--shadow-dark);
}
.professional-help-panel .eyebrow { margin-bottom: 8px; color: var(--gold-light); }
.professional-help-panel h2 { margin-bottom: 10px; color: var(--white); font-size: clamp(1.7rem, 3vw, 2.45rem); }
.professional-help-panel p:last-child { margin-bottom: 0; color: #dedbd5; }
.professional-help-panel .button { width: fit-content; max-width: 100%; text-align: center; }

.split-feature { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(320px, .9fr); gap: 60px; align-items: center; }
.split-feature > div:first-child {
	display: grid; place-items: center; overflow: hidden; border-radius: var(--radius-lg);
	box-shadow: var(--shadow-raised), inset 0 0 0 1px rgba(255,255,255,.14);
}
.split-feature img {
	width: 100%; min-height: 420px; object-fit: cover; object-position: center center;
	border-radius: var(--radius-lg); box-shadow: var(--shadow); margin: 0;
}
.service-choice-section { background: linear-gradient(180deg, #f4f1eb 0%, #ebe6dd 100%); }
.service-choice-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 26px; }
.service-choice-card {
	min-height: 350px; padding: clamp(28px, 4vw, 46px); display: flex; flex-direction: column;
	border: 1px solid rgba(16,17,22,.09); border-radius: var(--radius-lg);
	box-shadow: var(--shadow-raised); transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.service-choice-card:hover, .service-choice-card:focus-within { transform: translateY(-6px); box-shadow: 0 30px 62px rgba(15,17,22,.24); }
.service-choice-card--rental { background: var(--white); }
.service-choice-card--professional { color: var(--white); background: linear-gradient(145deg, #25272e, #111318); border-color: rgba(216,170,97,.25); }
.service-choice-card--professional .eyebrow { color: var(--gold-light); }
.service-choice-card--professional h3 { color: var(--gold-light); }
.service-choice-card--professional p:not(.eyebrow) { color: #dedbd5; }
.service-choice-card h3 { font-size: clamp(1.8rem, 3.2vw, 2.65rem); }
.service-choice-card .button { width: fit-content; max-width: 100%; margin-top: auto; text-align: center; }
.check-list { list-style: none; padding: 0; margin: 28px 0; display: grid; gap: 14px; }
.check-list li { position: relative; padding-left: 34px; }
.check-list li::before { content: "✓"; position: absolute; left: 0; top: 0; color: var(--gold); font-weight: 900; }

.process-grid {
	display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px;
	list-style: none; margin: 0; padding: 0;
}
.process-card {
	position: relative; padding: 32px; border: 1px solid rgba(16,17,22,.06); border-radius: var(--radius);
	background: linear-gradient(150deg, var(--white), #f2eee6); box-shadow: var(--shadow-raised), var(--inset-depth);
}
.process-number { display: grid; place-items: center; width: 48px; height: 48px; border-radius: 50%; margin-bottom: 22px; color: var(--ink); background: var(--gold-light); font-weight: 900; }
.audience-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 24px; }
.audience-card { min-height: 360px; padding: clamp(30px, 5vw, 60px); border: 1px solid rgba(240,207,145,.12); border-radius: var(--radius-lg); color: var(--white); box-shadow: var(--shadow-gold); background: linear-gradient(145deg, #24262d, #15161b); }
.audience-card:nth-child(2) { background: linear-gradient(145deg, #402421, #15161b); }
.audience-card p { color: #d4d1cb; max-width: 520px; }
.section-muted { background: var(--paper-warm); }
.audience-heading { grid-column: 1 / -1; max-width: 820px; }

.quote-section { position: relative; overflow: hidden; background: var(--charcoal); color: var(--white); box-shadow: inset 0 30px 70px rgba(0,0,0,.28), inset 0 1px 0 rgba(240,207,145,.1); }
.quote-section::before { content: ""; position: absolute; width: 520px; height: 520px; border-radius: 50%; right: -180px; top: -220px; background: radial-gradient(circle, rgba(216,170,97,.15), transparent 70%); }
.quote-layout { position: relative; display: grid; grid-template-columns: .7fr 1.3fr; gap: 54px; align-items: start; }
.quote-copy { position: sticky; top: 120px; }
.quote-copy p { color: var(--muted); }
.contact-stack { display: grid; gap: 12px; margin-top: 26px; }
.contact-stack a { display: flex; align-items: center; gap: 11px; color: var(--white); font-weight: 800; text-decoration: none; }

.hbs-form { padding: clamp(24px, 4vw, 44px); border: 1px solid rgba(216,170,97,.22); border-radius: var(--radius-lg); background: linear-gradient(150deg, #fffdf9, #eee9df); color: var(--text); box-shadow: var(--shadow-raised), var(--inset-depth); }
.hbs-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.hbs-field { margin: 0; }
.hbs-field-full { grid-column: 1 / -1; }
.hbs-field label, .hbs-field legend { display: block; margin-bottom: 7px; font-size: .87rem; font-weight: 800; color: #35363b; }
.hbs-field input, .hbs-field select, .hbs-field textarea {
	width: 100%; min-height: 50px; border: 1px solid #c9c4ba; border-radius: 12px; padding: 11px 13px;
	background: var(--white); color: var(--text); box-shadow: inset 0 2px 5px rgba(16,17,22,.08), 0 1px 0 rgba(255,255,255,.8);
}
.hbs-field textarea { min-height: 120px; resize: vertical; }
.hbs-field input:focus, .hbs-field select:focus, .hbs-field textarea:focus { border-color: #9b6e2d; outline: 3px solid rgba(216,170,97,.28); }
.hbs-consent { grid-column: 1 / -1; display: flex; gap: 10px; align-items: flex-start; font-size: .85rem; color: #55575e; }
.hbs-consent input { width: 19px; height: 19px; min-height: auto; flex: 0 0 auto; margin-top: 2px; }
.hbs-hp { position: absolute; left: -9999px; }
.hbs-notice { grid-column: 1 / -1; padding: 16px 18px; border-radius: 12px; font-weight: 750; }
.hbs-notice-success { background: #dcf4e7; color: #155c39; }
.hbs-notice-error { background: #fae0df; color: #82231f; }
.hbs-form-actions { grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: 15px; align-items: center; }
.hbs-form-actions small { color: #66686e; }

.page-hero { padding: 105px 0 80px; color: var(--white); background: radial-gradient(circle at 80% 0, rgba(181,59,51,.28), transparent 32%), linear-gradient(145deg, var(--ink), var(--panel)); border-radius: 0 0 var(--radius-lg) var(--radius-lg); box-shadow: 0 28px 65px rgba(7,8,12,.3), inset 0 -1px 0 rgba(240,207,145,.12); }
.page-hero .wrap { max-width: 960px; margin-left: max(20px, calc((100vw - min(1180px, calc(100vw - 40px))) / 2)); }
.page-hero h1 { font-size: clamp(3rem, 6vw, 5.7rem); }
.page-hero p { max-width: 720px; color: #d5d2cc; font-size: 1.17rem; }
.content-card { width: var(--content); margin: -26px auto 80px; padding: clamp(30px, 5vw, 64px); border: 1px solid rgba(16,17,22,.06); border-radius: var(--radius-lg); background: linear-gradient(150deg, var(--white), #f4f0e8); box-shadow: var(--shadow-raised), var(--inset-depth); position: relative; }
.prose img { margin: 32px auto; object-fit: contain; object-position: center; border-radius: var(--radius); box-shadow: var(--shadow-raised); }
.content-card > *:first-child { margin-top: 0; }
.content-card h2 { margin-top: 48px; }
.content-card h3 { margin-top: 32px; }
.content-card ul { padding-left: 1.2em; }

.single-equipment { background: var(--paper); }
.equipment-detail { display: grid; grid-template-columns: 1fr 1fr; gap: 52px; align-items: start; }
.equipment-detail-media {
	position: sticky; top: 120px; aspect-ratio: 1 / 1; overflow: hidden; border: 1px solid rgba(216,170,97,.2);
	border-radius: var(--radius-lg); background: radial-gradient(circle at 50% 42%, #fff 0%, #dce8e8 65%, #aabdc2 100%);
	box-shadow: var(--shadow-raised), inset 0 -20px 42px rgba(11,18,24,.16);
}
.equipment-detail-media img { width: 100%; height: 100%; aspect-ratio: 1/1; object-fit: cover; object-position: center; border-radius: inherit; }
.equipment-detail-copy .status-pill { position: static; display: inline-block; margin-bottom: 20px; background: var(--ink); }
.spec-list { display: grid; gap: 12px; margin: 28px 0; padding: 0; list-style: none; }
.spec-list li { padding: 14px 17px; border-radius: 12px; background: var(--white); box-shadow: 0 4px 14px rgba(12,13,16,.07); }
.callout { padding: 22px; border-left: 5px solid var(--gold); border-radius: 0 var(--radius-sm) var(--radius-sm) 0; background: #fff9ed; }
.product-summary { max-width: 660px; color: #565961; font-size: 1.15rem; }
.availability-note { margin-top: 20px; color: #6c6f76; font-size: .9rem; }
.product-detail-grid { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(280px, .75fr); gap: 30px; align-items: start; }
.product-detail-grid .content-card { width: auto; margin: 0; }
.sidebar-card { position: sticky; top: 120px; padding: 30px; border-radius: var(--radius); color: var(--white); background: var(--panel); box-shadow: var(--shadow-dark); }
.professional-help-compact { margin-top: 26px; padding-top: 24px; border-top: 1px solid rgba(255,255,255,.14); }
.professional-help-compact p { color: #dedbd5; }
.professional-help-compact strong { display: block; margin-bottom: 6px; color: var(--gold-light); }
.professional-help-compact a { color: var(--gold-light); font-weight: 800; text-underline-offset: .22em; }
.professional-help-compact a:hover, .professional-help-compact a:focus-visible { color: var(--white); }
.check-list--dark { color: #dedbd5; }
.archive-cta { display: flex; align-items: center; justify-content: space-between; gap: 28px; margin-top: 44px; padding: clamp(26px, 4vw, 44px); border-radius: var(--radius-lg); color: var(--white); background: var(--panel); box-shadow: var(--shadow-dark); }
.archive-cta h2 { max-width: 760px; margin-bottom: 0; font-size: clamp(2rem, 4vw, 3.3rem); }
.empty-state { padding: 28px; border-radius: var(--radius); background: var(--white); box-shadow: var(--shadow); }
.post-list { display: grid; gap: 24px; }
.post-list .content-card { width: auto; margin: 0; }
.not-found { min-height: 65vh; display: grid; align-items: center; background: var(--charcoal); }
.not-found .content-card { margin: 0 auto; text-align: center; }

.site-footer { position: relative; padding: 65px 0 28px; background: #090a0d; color: var(--white); box-shadow: 0 -28px 70px rgba(7,8,12,.28), inset 0 1px 0 rgba(240,207,145,.12); }
.footer-grid { display: grid; grid-template-columns: 1.25fr .75fr .75fr .75fr; gap: 38px; }
.footer-brand { max-width: 440px; }
.footer-brand img { width: 84px; aspect-ratio: 1 / 1; margin: 0 auto 18px 0; object-fit: contain; object-position: center; border-radius: 50%; background: rgba(255,255,255,.04); box-shadow: 0 16px 34px rgba(0,0,0,.42), 0 0 0 1px rgba(216,170,97,.16); }
.footer-brand .footer-services-link { width: fit-content; min-height: 0; margin-top: 18px; color: var(--gold-light); font-weight: 800; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: .28em; }
.site-footer h3 { color: var(--gold-light); font-size: 1.1rem; text-transform: uppercase; letter-spacing: .08em; }
.site-footer ul { list-style: none; padding: 0; margin: 0; display: grid; gap: 8px; }
.site-footer a { display: inline-flex; align-items: center; min-height: 44px; color: #d7d5d0; text-decoration: none; transition: color .2s ease, transform .2s ease; }
.site-footer a:hover, .site-footer a:focus-visible { color: var(--gold-light); transform: translateY(-2px); }
.footer-credit {
	width: fit-content; max-width: 100%; margin: 48px auto 0; padding: 14px 22px;
	display: flex; align-items: center; justify-content: center; gap: 14px;
	border: 1px solid rgba(216,170,97,.2); border-radius: var(--radius);
	background: linear-gradient(145deg, rgba(255,255,255,.045), rgba(216,170,97,.035));
	box-shadow: 0 18px 42px rgba(0,0,0,.34), inset 0 1px 0 rgba(255,255,255,.06);
	color: #d7d5d0; font-size: .9rem; letter-spacing: .025em;
}
.footer-credit img {
	width: 58px; height: 58px; flex: 0 0 58px; margin: 0; object-fit: contain; object-position: center;
	border-radius: 14px; background: #000; box-shadow: 0 10px 24px rgba(0,0,0,.42);
}
.footer-credit strong { color: var(--gold-light); }
.footer-credit:hover { color: #fff; transform: translateY(-2px); }
.footer-bottom { margin-top: 24px; padding-top: 24px; border-top: 1px solid rgba(255,255,255,.1); color: #8f929a; font-size: .82rem; display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px; }

@media (max-width: 980px) {
	.site-nav { position: fixed; inset: 88px 0 auto; display: none; padding: 24px 20px 30px; background: rgba(16,17,22,.99); flex-direction: column; align-items: flex-start; }
	.site-nav.is-open { display: flex; }
	.nav-toggle { display: block; }
	.header-actions .button-outline { display: none; }
	.trust-grid { grid-template-columns: repeat(2, 1fr); }
	.entrance-grid { grid-template-columns: 1fr 1fr; }
	.split-feature, .quote-layout, .equipment-detail, .product-detail-grid, .professional-help-panel { grid-template-columns: 1fr; }
	.quote-copy { position: static; }
	.equipment-detail-media { position: relative; top: auto; }
	.sidebar-card { position: static; }
	.process-grid { grid-template-columns: 1fr; }
	.footer-grid { grid-template-columns: 1fr 1fr; }
	.footer-brand { grid-column: 1 / -1; }
}

@media (max-width: 700px) {
	:root { --content: min(100% - 28px, 1180px); }
	body { font-size: 16px; }
	body.admin-bar .site-header { top: 46px; }
	.header-inner { min-height: 76px; gap: 10px; }
	.brand img { width: 50px; height: 50px; }
	.brand-copy strong { font-size: .84rem; }
	.brand-copy span { font-size: .59rem; }
	.header-actions .button { min-height: 41px; padding: 10px 12px; font-size: .76rem; }
	.hero { min-height: 720px; }
	.hero::before { background-position: 62% center; }
	.hero-inner { padding: 92px 0 125px; }
	.hero h1 { font-size: clamp(3.15rem, 16vw, 5rem); }
	.hero-actions .button { width: 100%; }
	.urgent-inner { padding: 13px 0; flex-direction: column; gap: 2px; }
	.trust-grid, .equipment-grid, .audience-grid, .entrance-grid, .location-grid, .hbs-form-grid, .footer-grid, .service-choice-grid { grid-template-columns: 1fr; }
	.trust-grid { margin-top: -38px; }
	.footer-brand { grid-column: auto; }
	.equipment-card-body { padding: 24px; }
	.request-equipment-button { width: 100%; }
	.service-choice-card .button, .professional-help-panel .button { width: 100%; }
	.footer-credit { width: 100%; padding: 14px 16px; text-align: center; }
	.split-feature { gap: 34px; }
	.split-feature img { min-height: 280px; }
	.page-hero { padding: 80px 0 66px; }
	.content-card { margin-bottom: 55px; }
	.archive-cta { align-items: flex-start; flex-direction: column; }
}

@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}
