/*
 * Key Essentials Concierge theme styles.
 */

:root {
	--kec-pine: #2e292a;
	--kec-juniper: #294a43;
	--kec-sand: #efe7dc;
	--kec-copper: #a23b43;
	--kec-charcoal: #302c2d;
	--kec-cream: #faf6ef;
	--kec-white: #ffffff;
	--kec-line: rgba(46, 41, 42, 0.15);
	--kec-shadow: 0 24px 70px rgba(46, 41, 42, 0.12);
	--kec-radius: 22px;
	--kec-font-display: "Iowan Old Style", "Palatino Linotype", Georgia, serif;
	--kec-font-body: ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
	--kec-container: 1180px;
	--kec-transition: 180ms ease;
}

*,
*::before,
*::after {
	box-sizing: border-box;
}

html {
	scroll-behavior: smooth;
}

body {
	margin: 0;
	background: var(--kec-cream);
	color: var(--kec-charcoal);
	font-family: var(--kec-font-body);
	font-size: 16px;
	line-height: 1.65;
	-webkit-font-smoothing: antialiased;
}

body.kec-menu-open {
	overflow: hidden;
}

img {
	max-width: 100%;
	height: auto;
}

a {
	color: var(--kec-juniper);
	text-decoration-thickness: 1px;
	text-underline-offset: 0.2em;
	transition: color var(--kec-transition);
}

a:hover {
	color: var(--kec-copper);
}

button,
input,
select,
textarea {
	font: inherit;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	margin-top: 0;
	color: var(--kec-pine);
	font-family: var(--kec-font-display);
	font-weight: 500;
	line-height: 1.12;
	letter-spacing: -0.025em;
}

h1 {
	font-size: clamp(2.6rem, 6vw, 5rem);
}

h2 {
	font-size: clamp(2rem, 4vw, 3.4rem);
}

h3 {
	font-size: clamp(1.35rem, 2vw, 1.7rem);
}

p {
	margin-top: 0;
	margin-bottom: 1.25rem;
}

.kec-container,
.alignwide {
	width: min(calc(100% - 40px), var(--kec-container));
	margin-inline: auto;
}

.kec-container--narrow {
	max-width: 820px;
}

.kec-container--article {
	max-width: 860px;
}

.alignfull {
	width: 100%;
	max-width: none;
	margin-left: 0;
	margin-right: 0;
}

.kec-skip-link {
	position: fixed;
	z-index: 99999;
	top: 12px;
	left: 12px;
	padding: 10px 16px;
	background: var(--kec-white);
	color: var(--kec-pine);
	border-radius: 8px;
	box-shadow: var(--kec-shadow);
	transform: translateY(-150%);
}

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

.kec-topbar {
	background: var(--kec-juniper);
	color: rgba(255, 255, 255, 0.88);
	font-size: 0.82rem;
	letter-spacing: 0.035em;
}

.kec-topbar__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	min-height: 38px;
}

.kec-topbar p {
	margin: 0;
}

.kec-topbar__links {
	display: flex;
	gap: 22px;
}

.kec-topbar a {
	color: inherit;
	text-decoration: none;
}

.kec-site-header {
	position: relative;
	z-index: 1000;
	background: rgba(250, 246, 239, 0.97);
	border-bottom: 1px solid var(--kec-line);
	backdrop-filter: blur(16px);
}

.kec-nav-wrap {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 28px;
	min-height: 86px;
}

.kec-brand,
.custom-logo-link {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	color: var(--kec-pine);
	text-decoration: none;
}

.custom-logo {
	width: auto;
	max-height: 72px;
}

.kec-brand img {
	flex: 0 0 auto;
}

.kec-brand-wrap {
	flex: 0 1 350px;
	min-width: 260px;
}

.kec-brand--approved {
	display: block;
}

.kec-header-logo {
	display: block;
	width: min(100%, 350px);
	height: auto;
}

.kec-brand__text {
	display: flex;
	flex-direction: column;
	line-height: 1;
}

.kec-brand__text strong {
	font-family: var(--kec-font-body);
	font-size: 1.08rem;
	font-weight: 750;
	letter-spacing: 0.095em;
	text-transform: uppercase;
}

.kec-brand__text small {
	margin-top: 7px;
	font-size: 0.62rem;
	font-weight: 750;
	letter-spacing: 0.31em;
	text-transform: uppercase;
}

.kec-primary-nav {
	display: flex;
	align-items: center;
	gap: 28px;
}

.kec-menu,
.kec-menu ul {
	display: flex;
	align-items: center;
	gap: 26px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.kec-menu a {
	color: var(--kec-charcoal);
	font-size: 0.94rem;
	font-weight: 650;
	text-decoration: none;
}

.kec-menu a:hover,
.kec-menu .current-menu-item > a {
	color: var(--kec-copper);
}

.kec-menu .sub-menu {
	position: absolute;
	display: none;
	flex-direction: column;
	align-items: stretch;
	gap: 0;
	min-width: 220px;
	padding: 10px;
	background: var(--kec-white);
	border: 1px solid var(--kec-line);
	border-radius: 12px;
	box-shadow: var(--kec-shadow);
}

.kec-menu li {
	position: relative;
}

.kec-menu li:hover > .sub-menu,
.kec-menu li:focus-within > .sub-menu {
	display: flex;
}

.kec-menu .sub-menu a {
	display: block;
	padding: 9px 10px;
	border-radius: 7px;
}

.kec-menu .sub-menu a:hover {
	background: var(--kec-sand);
}

.kec-menu-toggle {
	display: none;
	align-items: center;
	gap: 10px;
	padding: 10px;
	background: transparent;
	color: var(--kec-pine);
	border: 0;
	cursor: pointer;
}

.kec-menu-toggle__label {
	font-weight: 700;
}

.kec-menu-toggle__bars {
	display: grid;
	gap: 4px;
}

.kec-menu-toggle__bars i {
	display: block;
	width: 22px;
	height: 2px;
	background: currentColor;
}

.kec-button,
.wp-block-button__link,
button.kec-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 50px;
	padding: 12px 24px;
	background: var(--kec-copper);
	color: var(--kec-white);
	border: 1px solid var(--kec-copper);
	border-radius: 999px;
	font-size: 0.94rem;
	font-weight: 750;
	line-height: 1.2;
	text-align: center;
	text-decoration: none;
	box-shadow: none;
	cursor: pointer;
	transition: transform var(--kec-transition), background var(--kec-transition), border-color var(--kec-transition), color var(--kec-transition);
}

.kec-button:hover,
.wp-block-button__link:hover,
button.kec-button:hover {
	background: #7f2e35;
	border-color: #7f2e35;
	color: var(--kec-white);
	transform: translateY(-2px);
}

.kec-button--small,
.kec-nav-cta {
	min-height: 42px;
	padding: 9px 18px;
	font-size: 0.86rem;
}

.wp-block-button.is-style-outline .wp-block-button__link {
	background: transparent;
	color: var(--kec-pine);
	border-color: var(--kec-pine);
}

.wp-block-button.is-style-outline .wp-block-button__link:hover {
	background: var(--kec-pine);
	color: var(--kec-white);
}

.kec-button--light {
	background: var(--kec-white);
	color: var(--kec-pine);
	border-color: var(--kec-white);
}

.kec-button--light:hover {
	background: var(--kec-sand);
	color: var(--kec-pine);
	border-color: var(--kec-sand);
}

.kec-main {
	min-height: 60vh;
}

.kec-eyebrow {
	margin-bottom: 14px;
	color: var(--kec-copper);
	font-size: 0.74rem;
	font-weight: 800;
	letter-spacing: 0.17em;
	text-transform: uppercase;
}

.kec-hero {
	position: relative;
	overflow: hidden;
	padding: clamp(62px, 8vw, 110px) 0 clamp(70px, 9vw, 125px);
	background:
		radial-gradient(circle at 12% 8%, rgba(162, 59, 67, 0.12), transparent 26%),
		linear-gradient(135deg, var(--kec-cream) 0%, #f4eee6 58%, #e5ece8 100%);
}

.kec-hero::after {
	position: absolute;
	right: -120px;
	bottom: -210px;
	width: 440px;
	height: 440px;
	border: 1px solid rgba(41, 74, 67, 0.16);
	border-radius: 50%;
	content: "";
}

.kec-hero__columns {
	gap: clamp(40px, 6vw, 82px);
}

.kec-hero h1 {
	max-width: 760px;
	margin-bottom: 24px;
	font-size: clamp(3.1rem, 6.3vw, 5.65rem);
}

.kec-hero__lead {
	max-width: 700px;
	color: #464042;
	line-height: 1.55;
}

.kec-button-row {
	margin-top: 30px;
	gap: 12px;
}

.kec-trust-points {
	margin-top: 30px;
	gap: 18px 26px !important;
}

.kec-trust-points p {
	margin: 0;
	color: var(--kec-juniper);
	font-size: 0.86rem;
	font-weight: 700;
}

.kec-hero__visual {
	position: relative;
}

.kec-hero__image {
	position: relative;
	z-index: 1;
	margin: 0;
	padding: 14px;
	background: rgba(255, 255, 255, 0.8);
	border: 1px solid rgba(46, 41, 42, 0.12);
	border-radius: 32px;
	box-shadow: var(--kec-shadow);
	transform: rotate(0.35deg);
}

.kec-hero__image img {
	display: block;
	width: 100%;
	aspect-ratio: 1.48 / 1;
	object-fit: cover;
	object-position: center;
	border-radius: 22px;
}

.kec-hero-note {
	position: relative;
	z-index: 2;
	width: min(88%, 360px);
	margin: -30px auto 0 !important;
	padding: 18px 22px;
	background: var(--kec-pine);
	color: var(--kec-white);
	border-radius: 14px;
	box-shadow: 0 16px 40px rgba(46, 41, 42, 0.22);
}

.kec-hero-note strong,
.kec-hero-note span {
	display: block;
}

.kec-hero-note strong {
	font-family: var(--kec-font-display);
	font-size: 1.08rem;
	font-weight: 500;
}

.kec-hero-note span {
	margin-top: 3px;
	color: rgba(255, 255, 255, 0.72);
	font-size: 0.78rem;
}

.kec-intro-section {
	padding: clamp(70px, 8vw, 110px) 0;
	background: var(--kec-white);
	border-bottom: 1px solid var(--kec-line);
}

.kec-intro-section .wp-block-columns {
	gap: clamp(40px, 7vw, 100px);
}

.kec-intro-section h2 {
	margin-bottom: 0;
}

.kec-intro-section .has-large-font-size {
	margin-bottom: 0;
	color: #534c4e;
	font-family: var(--kec-font-display);
	line-height: 1.5;
}

.kec-section {
	padding: clamp(80px, 9vw, 130px) 0;
}

.kec-section-heading {
	max-width: 780px;
	margin-bottom: 48px;
	text-align: center;
}

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

.kec-section-heading > p:last-child {
	color: #645c5e;
	font-size: 1.08rem;
}

.kec-services-section {
	background: var(--kec-sand);
}

.kec-card-grid {
	gap: 22px;
	margin-bottom: 22px;
}

.kec-service-card {
	display: flex;
	min-height: 280px;
	box-sizing: border-box;
	flex-direction: column;
	padding: 30px;
	background: rgba(255, 255, 255, 0.76);
	border: 1px solid rgba(46, 41, 42, 0.1);
	border-radius: var(--kec-radius);
	transition: transform var(--kec-transition), box-shadow var(--kec-transition), background var(--kec-transition);
}

.kec-service-card:hover {
	background: var(--kec-white);
	box-shadow: 0 20px 55px rgba(46, 41, 42, 0.09);
	transform: translateY(-5px);
}

.kec-service-card .kec-card-number {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 38px;
	height: 38px;
	margin-bottom: 38px;
	color: var(--kec-copper);
	border: 1px solid rgba(162, 59, 67, 0.4);
	border-radius: 50%;
	font-size: 0.74rem;
	font-weight: 800;
}

.kec-service-card h3 {
	margin-bottom: 12px;
}

.kec-service-card p {
	margin-bottom: 0;
	color: #655d5f;
}

.kec-centered-buttons {
	justify-content: center;
	margin-top: 38px;
}


.kec-mini-label {
	margin-bottom: 8px;
	color: var(--kec-copper);
	font-size: 0.68rem;
	font-weight: 850;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.kec-service-card--rescue {
	background: linear-gradient(150deg, #fffdfa 0%, #f2e3dc 100%);
	border-color: rgba(162, 59, 67, 0.35);
	box-shadow: 0 18px 42px rgba(162, 59, 67, 0.11);
}

.kec-service-card--audit {
	background: linear-gradient(150deg, #fffdfa 0%, #e7eeea 100%);
	border-color: rgba(41, 74, 67, 0.28);
}

.kec-service-card--audit .kec-card-number {
	color: var(--kec-juniper);
	border-color: rgba(41, 74, 67, 0.4);
}

.kec-card-price {
	margin-top: auto !important;
	padding-top: 14px;
	color: var(--kec-juniper) !important;
	font-size: 0.9rem;
	font-weight: 850;
}

.kec-rescue-home-callout {
	display: grid;
	grid-template-columns: minmax(0, 1.45fr) minmax(260px, 0.55fr);
	gap: 50px;
	align-items: center;
	margin-top: 0;
	margin-bottom: clamp(70px, 8vw, 110px);
	padding: clamp(34px, 5vw, 62px);
	background: #efe6dc;
	border: 1px solid rgba(46, 41, 42, 0.13);
	border-left: 5px solid var(--kec-copper);
	border-radius: 24px;
}

.kec-rescue-home-callout h2 {
	margin-bottom: 16px;
	font-size: clamp(2rem, 3.4vw, 3.15rem);
}

.kec-rescue-home-callout > div:last-child {
	text-align: center;
}

.kec-rescue-tagline {
	margin-bottom: 22px;
	color: var(--kec-juniper);
	font-family: var(--kec-font-display);
	font-size: clamp(1.45rem, 2.5vw, 2.15rem);
	line-height: 1.2;
}

.kec-service-detail--rescue {
	margin: 28px 0;
	padding: clamp(28px, 4vw, 48px);
	background: linear-gradient(150deg, #fffdfa 0%, #f1e3dc 100%);
	border: 1px solid rgba(162, 59, 67, 0.3);
	border-radius: 22px;
	box-shadow: 0 20px 48px rgba(46, 41, 42, 0.08);
}

.kec-rescue-scope {
	margin-top: 20px;
	padding: 20px 22px;
	background: rgba(255, 255, 255, 0.58);
	border-radius: 14px;
}

.kec-service-detail--audit {
	margin: 28px 0;
	padding: clamp(28px, 4vw, 48px);
	background: linear-gradient(150deg, #fffdfa 0%, #e9efeb 100%);
	border: 1px solid rgba(41, 74, 67, 0.25);
	border-radius: 22px;
	box-shadow: 0 20px 48px rgba(46, 41, 42, 0.07);
}

.kec-service-detail--audit > span,
.kec-service-detail--audit .kec-mini-label {
	color: var(--kec-juniper);
}

.kec-audit-scope {
	margin-top: 20px;
	padding: 20px 22px;
	background: rgba(255, 255, 255, 0.64);
	border-radius: 14px;
}

.kec-audit-scope strong {
	display: block;
	margin-bottom: 12px;
	color: var(--kec-juniper);
}

.kec-audit-scope ul {
	columns: 2;
	margin: 0;
	padding-left: 20px;
}

.kec-audit-disclaimer {
	margin: 16px 0 0;
	color: #625b5d;
	font-size: 0.84rem;
	line-height: 1.55;
}

.kec-audit-price {
	display: grid;
	grid-template-columns: minmax(190px, 0.55fr) minmax(0, 1.45fr);
	align-items: center;
	gap: 22px;
	margin-top: 20px;
	padding: 20px 22px;
	background: var(--kec-pine);
	color: rgba(255, 255, 255, 0.82);
	border-radius: 14px;
}

.kec-audit-price strong,
.kec-audit-price span {
	display: block;
}

.kec-audit-price strong {
	color: var(--kec-white);
	font-family: var(--kec-font-display);
	font-size: clamp(1.8rem, 3vw, 2.45rem);
	font-weight: 500;
}

.kec-audit-price span {
	margin-top: 2px;
	color: #d8e4df;
	font-size: 0.78rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.kec-audit-price p {
	margin: 0;
	color: rgba(255, 255, 255, 0.82);
}

.kec-rescue-scope ul {
	columns: 2;
	margin: 12px 0 0;
	padding-left: 20px;
}

.kec-rescue-prices {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 12px;
	margin: 24px 0 14px;
}

.kec-rescue-prices > div {
	padding: 18px;
	background: var(--kec-white);
	border: 1px solid var(--kec-line);
	border-radius: 14px;
}

.kec-rescue-prices strong,
.kec-rescue-prices span {
	display: block;
}

.kec-rescue-prices strong {
	color: var(--kec-copper);
	font-family: var(--kec-font-display);
	font-size: 1.3rem;
	font-weight: 600;
}

.kec-rescue-prices span {
	margin-top: 4px;
	font-size: 0.82rem;
}

.kec-fine-print {
	font-size: 0.82rem;
	color: #625b5d;
}

.kec-why-section {
	background: var(--kec-pine);
	color: rgba(255, 255, 255, 0.78);
}

.kec-why-section h2,
.kec-why-section h3,
.kec-why-section strong {
	color: var(--kec-white);
}

.kec-why-section .wp-block-columns {
	gap: clamp(45px, 7vw, 90px);
}

.kec-why-copy p:not(.kec-eyebrow) {
	font-size: 1.06rem;
}

.kec-why-copy .kec-text-link {
	color: #e8bcc0;
}

.kec-proof-grid {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	grid-template-rows: repeat(2, minmax(260px, 1fr));
	grid-auto-rows: minmax(260px, 1fr);
	align-items: stretch;
	align-content: stretch;
	gap: 16px;
}

.kec-proof-grid > .kec-proof-card {
	margin: 0 !important;
}

.kec-proof-card {
	display: flex;
	height: 100%;
	min-height: 260px;
	box-sizing: border-box;
	flex-direction: column;
	padding: 26px;
	background: rgba(255, 255, 255, 0.06);
	border: 1px solid rgba(255, 255, 255, 0.12);
	border-radius: 18px;
}

.kec-proof-card strong,
.kec-proof-card span {
	display: block;
}

.kec-proof-card strong {
	margin-bottom: 12px;
	font-family: var(--kec-font-display);
	font-size: 1.22rem;
	font-weight: 500;
}

.kec-proof-card span {
	font-size: 0.92rem;
	line-height: 1.55;
}

.kec-process-section {
	background: var(--kec-white);
}

.kec-process-grid {
	gap: 0;
	border-top: 1px solid var(--kec-line);
	border-bottom: 1px solid var(--kec-line);
}

.kec-process-grid .wp-block-column {
	padding: 38px 34px 44px;
}

.kec-process-grid .wp-block-column + .wp-block-column {
	border-left: 1px solid var(--kec-line);
}

.kec-process-grid span {
	display: block;
	margin-bottom: 28px;
	color: var(--kec-copper);
	font-family: var(--kec-font-display);
	font-size: 2rem;
}

.kec-process-grid p {
	margin-bottom: 0;
	color: #665e60;
}

.kec-cta-section {
	padding: clamp(70px, 8vw, 105px) 0;
	background:
		linear-gradient(115deg, rgba(46, 41, 42, 0.99), rgba(41, 74, 67, 0.96)),
		linear-gradient(var(--kec-pine), var(--kec-pine));
	color: rgba(255, 255, 255, 0.82);
}

.kec-cta-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 50px;
}

.kec-cta-inner h2 {
	margin-bottom: 14px;
	color: var(--kec-white);
}

.kec-cta-inner p:last-child {
	margin-bottom: 0;
}

.kec-page-hero {
	padding: clamp(65px, 8vw, 105px) 0;
	background:
		radial-gradient(circle at 85% 30%, rgba(162, 59, 67, 0.11), transparent 28%),
		var(--kec-sand);
	border-bottom: 1px solid var(--kec-line);
}

.kec-page-hero h1 {
	margin-bottom: 0;
	font-size: clamp(3rem, 6vw, 5.2rem);
}

.kec-entry-content {
	padding-top: clamp(60px, 7vw, 100px);
	padding-bottom: clamp(80px, 9vw, 130px);
}

.kec-entry-content > * {
	max-width: 780px;
	margin-left: auto;
	margin-right: auto;
}

.kec-entry-content > .alignwide,
.kec-entry-content > .alignfull,
.kec-entry-content > .wp-block-columns {
	max-width: var(--kec-container);
}

.kec-page-intro {
	max-width: 900px !important;
	color: #554d50;
	font-family: var(--kec-font-display);
	line-height: 1.5;
}

.kec-service-detail-list {
	margin-top: 70px !important;
	margin-bottom: 90px !important;
	border-top: 1px solid var(--kec-line);
}

.kec-service-detail {
	display: grid;
	grid-template-columns: 90px minmax(0, 1fr);
	gap: 30px;
	padding: 42px 0;
	border-bottom: 1px solid var(--kec-line);
}

.kec-service-detail > span {
	color: var(--kec-copper);
	font-family: var(--kec-font-display);
	font-size: 1.75rem;
}

.kec-service-detail h2 {
	margin-bottom: 14px;
	font-size: clamp(1.7rem, 3vw, 2.5rem);
}

.kec-service-detail p {
	margin-bottom: 0;
	color: #625a5c;
}

/* Keep the audit summary readable inside its dark price panel. */
.kec-service-detail .kec-audit-price p {
	color: rgba(255, 255, 255, 0.86);
}

.kec-pricing-section {
	max-width: 1080px !important;
	padding: clamp(45px, 7vw, 80px);
	background: var(--kec-sand);
	border-radius: 28px;
}

.kec-pricing-section > h2 {
	max-width: 640px;
}

.kec-pricing-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	align-items: stretch;
	gap: 18px;
	margin: 42px 0 24px;
}

.kec-price-card {
	padding: 34px;
	background: var(--kec-white);
	border: 1px solid rgba(46, 41, 42, 0.12);
	border-radius: 20px;
}

.kec-price-card--featured {
	background: var(--kec-pine);
	color: rgba(255, 255, 255, 0.8);
	border-color: var(--kec-pine);
	box-shadow: var(--kec-shadow);
}

.kec-price-card--audit {
	background: linear-gradient(150deg, #fffdfa 0%, #e7eeea 100%);
	border-color: rgba(41, 74, 67, 0.24);
}

.kec-price-card--audit .kec-price-label,
.kec-price-card--audit h3 {
	color: var(--kec-juniper);
}

.kec-price-label {
	margin-bottom: 14px;
	color: var(--kec-copper);
	font-size: 0.72rem;
	font-weight: 800;
	letter-spacing: 0.16em;
}

.kec-price-card h3 {
	font-size: 1.9rem;
}

.kec-price-card h3 small {
	display: block;
	margin-top: 7px;
	font-family: var(--kec-font-body);
	font-size: 0.82rem;
	font-weight: 600;
	letter-spacing: 0;
}

.kec-price-card--featured h3 {
	color: var(--kec-white);
}

.kec-price-card ul {
	margin: 24px 0 0;
	padding-left: 20px;
}

.kec-price-card li {
	margin: 8px 0;
}

.kec-pricing-note {
	margin-bottom: 0;
	color: #665e60;
	font-size: 0.88rem;
}

.kec-inline-cta {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 30px;
	max-width: 1080px !important;
	margin-top: 70px !important;
	padding: 34px 38px;
	background: var(--kec-white);
	border: 1px solid var(--kec-line);
	border-radius: 18px;
	box-shadow: 0 18px 48px rgba(46, 41, 42, 0.07);
}

.kec-inline-cta h2 {
	margin-bottom: 8px;
	font-size: clamp(1.7rem, 3vw, 2.4rem);
}

.kec-inline-cta p {
	margin-bottom: 0;
}

.kec-inline-cta .kec-button {
	flex: 0 0 auto;
}

.kec-about-intro {
	gap: clamp(40px, 7vw, 90px);
}

.kec-about-quote {
	padding: 36px;
	background: var(--kec-pine);
	color: rgba(255, 255, 255, 0.82);
	border-radius: 22px;
	box-shadow: var(--kec-shadow);
}

.kec-about-quote blockquote {
	margin: 0;
}

.kec-about-quote p {
	color: var(--kec-white);
	font-family: var(--kec-font-display);
	font-size: 1.42rem;
	line-height: 1.5;
}

.kec-about-quote cite {
	font-style: normal;
	font-size: 0.82rem;
	font-weight: 700;
}

.kec-values-section {
	max-width: 1080px !important;
	margin-top: 90px !important;
	padding-top: 70px;
	border-top: 1px solid var(--kec-line);
}

.kec-values-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px;
	margin-top: 35px;
}

.kec-values-grid > div {
	padding: 28px;
	background: var(--kec-sand);
	border-radius: 18px;
}

.kec-values-grid strong,
.kec-values-grid span {
	display: block;
}

.kec-values-grid strong {
	margin-bottom: 8px;
	color: var(--kec-pine);
	font-family: var(--kec-font-display);
	font-size: 1.25rem;
	font-weight: 500;
}

.kec-values-grid span {
	color: #655d5f;
	font-size: 0.94rem;
}

.kec-contact-layout {
	gap: clamp(40px, 7vw, 90px);
}

.kec-contact-sidebar {
	position: sticky;
	top: 30px;
}

.kec-contact-card {
	display: grid;
	gap: 5px;
	margin: 30px 0;
	padding: 28px;
	background: var(--kec-pine);
	color: var(--kec-white);
	border-radius: 18px;
}

.kec-contact-card strong {
	margin-top: 15px;
	color: #e8bcc0;
	font-size: 0.72rem;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.kec-contact-card strong:first-child {
	margin-top: 0;
}

.kec-contact-card a,
.kec-contact-card span {
	color: var(--kec-white);
	text-decoration: none;
}

.kec-contact-note {
	padding-left: 16px;
	color: #665e60;
	border-left: 3px solid var(--kec-copper);
	font-size: 0.9rem;
}

.kec-contact-form-wrap {
	padding: 34px;
	background: var(--kec-white);
	border: 1px solid var(--kec-line);
	border-radius: 22px;
	box-shadow: var(--kec-shadow);
}

.kec-contact-form p {
	margin-bottom: 20px;
}

.kec-form-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px;
}

.kec-contact-form label {
	display: block;
	margin-bottom: 7px;
	color: var(--kec-pine);
	font-size: 0.87rem;
	font-weight: 750;
}

.kec-contact-form input,
.kec-contact-form select,
.kec-contact-form textarea {
	width: 100%;
	padding: 12px 14px;
	background: var(--kec-cream);
	color: var(--kec-charcoal);
	border: 1px solid rgba(24, 58, 55, 0.2);
	border-radius: 10px;
	transition: border-color var(--kec-transition), box-shadow var(--kec-transition);
}

.kec-contact-form input:focus,
.kec-contact-form select:focus,
.kec-contact-form textarea:focus {
	outline: none;
	border-color: var(--kec-copper);
	box-shadow: 0 0 0 3px rgba(182, 106, 60, 0.15);
}

.kec-contact-form textarea {
	resize: vertical;
}

.kec-honeypot {
	position: absolute !important;
	left: -9999px !important;
	width: 1px !important;
	height: 1px !important;
	overflow: hidden !important;
}

.kec-form-notice {
	display: grid;
	gap: 3px;
	margin-bottom: 22px;
	padding: 14px 16px;
	border-radius: 10px;
}

.kec-form-notice--success {
	background: #e6f4ec;
	color: #23563e;
}

.kec-form-notice--error {
	background: #f9e8e5;
	color: #86392d;
}

.kec-blog-hero .kec-container {
	max-width: 980px;
}

.kec-blog-intro {
	max-width: 760px;
	margin: 22px 0 0;
	color: #554d50;
	font-family: var(--kec-font-display);
	font-size: clamp(1.15rem, 2vw, 1.42rem);
	line-height: 1.55;
}

.kec-blog-intro p {
	margin: 0;
}

.kec-blog-topics {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 28px;
}

.kec-blog-topics span {
	padding: 8px 13px;
	background: rgba(255, 255, 255, 0.58);
	border: 1px solid rgba(46, 41, 42, 0.12);
	border-radius: 999px;
	color: var(--kec-pine);
	font-size: 0.78rem;
	font-weight: 750;
}

.kec-post-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	align-items: stretch;
	gap: 24px;
	padding-top: 70px;
	padding-bottom: 100px;
}

.kec-post-card {
	display: flex;
	height: 100%;
	overflow: hidden;
	flex-direction: column;
	background: var(--kec-white);
	border: 1px solid var(--kec-line);
	border-radius: 18px;
}

.kec-post-card__image {
	display: block;
	aspect-ratio: 16 / 10;
	overflow: hidden;
}

.kec-post-card__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 350ms ease;
}

.kec-post-card:hover .kec-post-card__image img {
	transform: scale(1.035);
}

.kec-post-card__placeholder {
	display: flex;
	align-items: flex-end;
	padding: 22px;
	background:
		linear-gradient(180deg, rgba(46, 41, 42, 0.08), rgba(46, 41, 42, 0.58)),
		url('../images/hero-property-upscale.webp') center 42% / cover no-repeat;
	text-decoration: none;
}

.kec-post-card__placeholder span {
	color: var(--kec-white);
	font-family: var(--kec-font-display);
	font-size: 1.28rem;
}

.kec-post-card__content {
	display: flex;
	flex: 1;
	flex-direction: column;
	padding: 26px;
}

.kec-post-card__meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px 12px;
	margin-bottom: 12px;
}

.kec-post-card__category {
	padding: 5px 8px;
	background: rgba(162, 59, 67, 0.09);
	border-radius: 999px;
	color: var(--kec-copper);
	font-size: 0.68rem;
	font-weight: 850;
	letter-spacing: 0.07em;
	text-transform: uppercase;
}

.kec-post-card__date {
	margin: 0;
	color: #746b6d;
	font-size: 0.72rem;
	font-weight: 750;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.kec-post-card h2 {
	font-size: 1.55rem;
}

.kec-post-card h2 a {
	color: inherit;
	text-decoration: none;
}

.kec-post-card__content > p:not(.kec-post-card__date) {
	color: #5e5658;
}

.kec-post-card__content > .kec-text-link {
	margin-top: auto;
	padding-top: 12px;
}

.kec-text-link {
	font-weight: 750;
	text-decoration: none;
}

.kec-pagination {
	grid-column: 1 / -1;
	margin-top: 30px;
}

.kec-empty-state {
	grid-column: 1 / -1;
	padding: 70px 30px;
	background: var(--kec-sand);
	border-radius: 18px;
	text-align: center;
}

.kec-post {
	padding-top: 80px;
	padding-bottom: 110px;
}

.kec-post-header {
	margin-bottom: 50px;
}

.kec-post-header h1 {
	font-size: clamp(2.8rem, 6vw, 4.8rem);
}

.kec-featured-image {
	margin-top: 40px;
	overflow: hidden;
	border-radius: 22px;
}

.kec-featured-image img {
	display: block;
	width: 100%;
}

.kec-404 {
	padding-top: 120px;
	padding-bottom: 140px;
	text-align: center;
}

.kec-site-footer {
	padding: 70px 0 22px;
	background: #102c2a;
	color: rgba(255, 255, 255, 0.7);
}

.kec-footer-grid {
	display: grid;
	grid-template-columns: 1.4fr 0.8fr 1fr;
	gap: 70px;
	padding-bottom: 55px;
}

.kec-brand--footer {
	display: block;
	color: var(--kec-white);
}

.kec-footer-logo {
	display: block;
	width: min(100%, 330px);
	height: auto;
}

.kec-footer-brand > p {
	max-width: 330px;
	margin: 24px 0 0;
}

.kec-footer-area {
	color: rgba(255, 255, 255, 0.48);
	font-size: 0.84rem;
}

.kec-site-footer h2 {
	margin-bottom: 18px;
	color: var(--kec-white);
	font-family: var(--kec-font-body);
	font-size: 0.78rem;
	font-weight: 800;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

.kec-site-footer a {
	color: rgba(255, 255, 255, 0.8);
	text-decoration: none;
}

.kec-site-footer a:hover {
	color: #e8bcc0;
}

.kec-footer-menu,
.kec-footer-menu .kec-menu {
	display: grid;
	gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.kec-footer-menu a {
	font-weight: 500;
}

.kec-footer-cta {
	font-weight: 750;
}

.kec-footer-bottom {
	display: flex;
	justify-content: space-between;
	gap: 30px;
	padding-top: 22px;
	border-top: 1px solid rgba(255, 255, 255, 0.1);
	font-size: 0.78rem;
}

.kec-footer-bottom p {
	margin: 0;
}

:focus-visible {
	outline: 3px solid rgba(182, 106, 60, 0.5);
	outline-offset: 3px;
}

@media (max-width: 1080px) {
	.kec-nav-cta {
		display: none;
	}

	.kec-primary-nav {
		gap: 15px;
	}

	.kec-menu {
		gap: 18px;
	}
}

@media (max-width: 980px) {
	.kec-topbar__inner {
		justify-content: center;
	}

	.kec-topbar p {
		display: none;
	}

	.kec-menu-toggle {
		display: inline-flex;
	}

	.kec-primary-nav {
		position: fixed;
		top: 0;
		right: 0;
		z-index: 999;
		display: flex;
		align-items: stretch;
		width: min(86vw, 380px);
		height: 100vh;
		padding: 110px 30px 40px;
		background: var(--kec-cream);
		box-shadow: -20px 0 60px rgba(24, 58, 55, 0.16);
		transform: translateX(105%);
		transition: transform 240ms ease;
	}

	.kec-primary-nav.is-open {
		transform: translateX(0);
	}

	.kec-primary-nav .kec-menu {
		display: flex;
		flex: 1;
		flex-direction: column;
		align-items: stretch;
		gap: 5px;
	}

	.kec-primary-nav .kec-menu a {
		display: block;
		padding: 11px 0;
		font-size: 1.1rem;
	}

	.kec-menu-toggle {
		position: relative;
		z-index: 1001;
	}

	.kec-hero__columns,
	.kec-intro-section .wp-block-columns,
	.kec-why-section .wp-block-columns,
	.kec-about-intro,
	.kec-contact-layout {
		flex-wrap: wrap !important;
	}

	.kec-hero__columns > .wp-block-column,
	.kec-intro-section .wp-block-columns > .wp-block-column,
	.kec-why-section .wp-block-columns > .wp-block-column,
	.kec-about-intro > .wp-block-column,
	.kec-contact-layout > .wp-block-column {
		flex-basis: 100% !important;
	}

	.kec-hero__content {
		text-align: center;
	}

	.kec-hero__lead {
		margin-inline: auto;
	}

	.kec-button-row,
	.kec-trust-points {
		justify-content: center;
	}

	.kec-hero__visual {
		max-width: 650px;
		margin-inline: auto;
	}

	.kec-card-grid {
		flex-wrap: wrap !important;
	}

	.kec-card-grid > .wp-block-column {
		flex-basis: calc(50% - 11px) !important;
	}

	.kec-contact-sidebar {
		position: static;
	}

	.kec-pricing-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.kec-price-card--audit {
		grid-column: 1 / -1;
	}

	.kec-post-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

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

	.kec-footer-brand {
		grid-column: 1 / -1;
	}
}

@media (max-width: 680px) {
	.kec-container,
	.alignwide {
		width: min(calc(100% - 28px), var(--kec-container));
	}

	.kec-topbar__links {
		gap: 14px;
		font-size: 0.73rem;
	}

	.kec-nav-wrap {
		min-height: 74px;
	}

	.kec-brand__text strong {
		font-size: 1.16rem;
	}

	.kec-brand__text small {
		font-size: 0.58rem;
	}

	.kec-hero {
		padding-top: 52px;
	}

	.kec-hero h1 {
		font-size: clamp(2.7rem, 13vw, 4rem);
	}

	.kec-button-row {
		flex-direction: column;
	}

	.kec-button-row .wp-block-button,
	.kec-button-row .wp-block-button__link {
		width: 100%;
	}

	.kec-trust-points {
		display: grid !important;
		gap: 8px !important;
	}

	.kec-card-grid > .wp-block-column {
		flex-basis: 100% !important;
	}

	.kec-service-card {
		min-height: 0;
	}

	.kec-proof-grid,
	.kec-values-grid,
	.kec-pricing-grid,
	.kec-form-grid,
	.kec-post-grid {
		grid-template-columns: 1fr;
	}


	.kec-proof-grid {
		grid-template-rows: none;
		grid-auto-rows: auto;
	}

	.kec-proof-card {
		height: auto;
		min-height: 0;
	}

	.kec-price-card--audit {
		grid-column: auto;
	}

	.kec-audit-price {
		grid-template-columns: 1fr;
	}

	.kec-process-grid {
		flex-wrap: wrap !important;
		border-bottom: 0;
	}

	.kec-process-grid .wp-block-column {
		flex-basis: 100% !important;
		border-bottom: 1px solid var(--kec-line);
	}

	.kec-process-grid .wp-block-column + .wp-block-column {
		border-left: 0;
	}

	.kec-cta-inner,
	.kec-inline-cta {
		flex-direction: column;
		align-items: flex-start;
	}

	.kec-inline-cta .kec-button {
		width: 100%;
	}

	.kec-service-detail {
		grid-template-columns: 1fr;
		gap: 10px;
	}

	.kec-pricing-section {
		padding: 30px 20px;
	}

	.kec-contact-form-wrap {
		padding: 24px 18px;
	}

	.kec-footer-grid {
		grid-template-columns: 1fr;
		gap: 35px;
	}

	.kec-footer-brand {
		grid-column: auto;
	}

	.kec-footer-bottom {
		flex-direction: column;
		gap: 6px;
	}
}

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

@media (max-width: 980px) {
	.kec-brand-wrap {
		flex-basis: 290px;
		min-width: 230px;
	}

	.kec-header-logo {
		width: min(100%, 290px);
	}

	.kec-rescue-home-callout {
		grid-template-columns: 1fr;
	}

	.kec-rescue-home-callout > div:last-child {
		text-align: left;
	}
}

@media (max-width: 720px) {
	.kec-brand-wrap {
		flex-basis: auto;
		min-width: 0;
		max-width: calc(100% - 78px);
	}

	.kec-header-logo {
		width: min(100%, 275px);
	}

	.kec-rescue-scope ul {
		columns: 1;
	}

	.kec-audit-scope ul {
		columns: 1;
	}

	.kec-rescue-prices {
		grid-template-columns: 1fr;
	}
}


/* --------------------------------------------------------------
   Version 1.9 — proof, positioning, photography and inquiry improvements
-------------------------------------------------------------- */

.kec-hero h1 {
	max-width: 820px;
	font-size: clamp(2.65rem, 5.15vw, 4.85rem);
}

.kec-credibility-strip {
	padding: 0;
	background: var(--kec-white);
	border-top: 1px solid var(--kec-line);
	border-bottom: 1px solid var(--kec-line);
}

.kec-credibility-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.kec-credibility-grid > div {
	padding: 26px 24px;
}

.kec-credibility-grid > div + div {
	border-left: 1px solid var(--kec-line);
}

.kec-credibility-grid strong,
.kec-credibility-grid span {
	display: block;
}

.kec-credibility-grid strong {
	margin-bottom: 5px;
	color: var(--kec-pine);
	font-family: var(--kec-font-display);
	font-size: 1.05rem;
	font-weight: 600;
}

.kec-credibility-grid span {
	color: #686062;
	font-size: 0.8rem;
	line-height: 1.45;
}

.kec-primary-service-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	align-items: stretch;
	gap: 20px;
}

.kec-path-card {
	display: flex;
	min-height: 450px;
	flex-direction: column;
	padding: clamp(28px, 3vw, 40px);
	background: rgba(255, 255, 255, 0.8);
	border: 1px solid rgba(46, 41, 42, 0.12);
	border-radius: 22px;
	box-shadow: 0 18px 45px rgba(46, 41, 42, 0.06);
}

.kec-path-card h3 {
	font-size: clamp(1.8rem, 3vw, 2.45rem);
}

.kec-path-card > p:not(.kec-mini-label):not(.kec-path-price),
.kec-path-card li {
	color: #625a5c;
}

.kec-path-card ul {
	margin: 20px 0 28px;
	padding-left: 20px;
}

.kec-path-card li {
	margin: 8px 0;
}

.kec-path-card .kec-text-link {
	margin-top: auto;
}

.kec-path-card--dark {
	background: var(--kec-pine);
	color: rgba(255, 255, 255, 0.82);
	border-color: var(--kec-pine);
}

.kec-path-card--dark h3,
.kec-path-card--dark li,
.kec-path-card--dark > p:not(.kec-mini-label),
.kec-path-card--dark .kec-text-link {
	color: var(--kec-white);
}

.kec-path-card--dark .kec-mini-label {
	color: #e8bcc0;
}

.kec-path-card--audit {
	background: linear-gradient(150deg, #fffdfa 0%, #e5eee9 100%);
	border-color: rgba(41, 74, 67, 0.25);
}

.kec-path-card--audit .kec-mini-label,
.kec-path-card--audit h3,
.kec-path-card--audit .kec-text-link {
	color: var(--kec-juniper);
}

.kec-path-price {
	margin-top: auto;
	margin-bottom: 14px;
	color: var(--kec-juniper);
	font-family: var(--kec-font-display);
	font-size: 1.55rem;
}

.kec-evidence-section {
	background: var(--kec-white);
}

.kec-before-after-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 22px;
}

.kec-project-photo {
	margin: 0;
	overflow: hidden;
	background: var(--kec-cream);
	border: 1px solid var(--kec-line);
	border-radius: 22px;
	box-shadow: 0 18px 45px rgba(46, 41, 42, 0.07);
}

.kec-project-photo img {
	display: block;
	width: 100%;
	aspect-ratio: 3 / 2;
	object-fit: cover;
}

.kec-project-photo figcaption {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 20px;
	padding: 18px 22px;
}

.kec-project-photo figcaption strong {
	color: var(--kec-pine);
	font-family: var(--kec-font-display);
	font-size: 1.2rem;
}

.kec-project-photo figcaption span {
	color: #6b6265;
	font-size: 0.82rem;
}

.kec-case-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 18px;
	margin-top: 28px;
}

.kec-case-card {
	padding: 28px;
	background: var(--kec-sand);
	border-radius: 18px;
}

.kec-case-card > span {
	display: block;
	margin-bottom: 24px;
	color: var(--kec-copper);
	font-family: var(--kec-font-display);
	font-size: 1.6rem;
}

.kec-case-card h3 {
	font-size: 1.35rem;
}

.kec-case-card p {
	margin: 0;
	color: #645c5e;
	font-size: 0.92rem;
}

.kec-service-path-summary {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 16px;
	margin-bottom: 70px !important;
}

.kec-service-path-summary a {
	display: grid;
	gap: 5px;
	padding: 24px;
	background: var(--kec-sand);
	border: 1px solid var(--kec-line);
	border-radius: 16px;
	text-decoration: none;
}

.kec-service-path-summary span {
	color: var(--kec-copper);
	font-family: var(--kec-font-display);
	font-size: 1.4rem;
}

.kec-service-path-summary strong {
	color: var(--kec-pine);
	font-size: 1rem;
}

.kec-service-path-summary small {
	color: #6b6365;
}

.kec-service-group {
	padding: 70px 0 28px;
	border-bottom: 1px solid var(--kec-line);
}

.kec-service-group:first-child {
	padding-top: 0;
}

.kec-service-group h2 {
	max-width: 850px;
	margin-bottom: 8px;
}

.kec-service-group--audit {
	margin-top: 40px;
	padding: clamp(34px, 5vw, 60px);
	background: linear-gradient(150deg, #fffdfa 0%, #e6eee9 100%);
	border: 1px solid rgba(41, 74, 67, 0.25);
	border-radius: 22px;
}

.kec-audit-landing {
	max-width: 1100px !important;
}

.kec-audit-hero-card {
	display: grid;
	grid-template-columns: minmax(0, 1.45fr) minmax(240px, 0.55fr);
	align-items: center;
	gap: 50px;
	padding: clamp(34px, 6vw, 70px);
	background: linear-gradient(135deg, var(--kec-white), #e8efeb);
	border: 1px solid rgba(41, 74, 67, 0.2);
	border-radius: 28px;
}

.kec-audit-price-badge {
	display: flex;
	align-items: center;
	flex-direction: column;
	padding: 30px;
	background: var(--kec-pine);
	color: var(--kec-white);
	border-radius: 20px;
	text-align: center;
}

.kec-audit-price-badge strong,
.kec-audit-price-badge span {
	display: block;
}

.kec-audit-price-badge strong {
	font-family: var(--kec-font-display);
	font-size: 3.7rem;
	font-weight: 500;
	line-height: 1;
}

.kec-audit-price-badge span {
	margin: 8px 0 22px;
	color: #d6e2dc;
	font-weight: 800;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.kec-audit-two-column {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 26px;
	margin: 80px 0;
}

.kec-audit-two-column > section {
	padding: 34px;
	background: var(--kec-white);
	border: 1px solid var(--kec-line);
	border-radius: 20px;
}

.kec-check-list {
	margin: 28px 0 0;
	padding: 0;
	list-style: none;
}

.kec-check-list li {
	position: relative;
	margin: 13px 0;
	padding-left: 30px;
}

.kec-check-list li::before {
	position: absolute;
	left: 0;
	color: var(--kec-copper);
	font-weight: 900;
	content: "✓";
}

.kec-report-mockup {
	display: grid;
	gap: 10px;
	margin-top: 26px;
	padding: 28px;
	background: var(--kec-cream);
	border: 1px solid var(--kec-line);
	border-radius: 14px;
	box-shadow: 8px 10px 0 var(--kec-sand);
}

.kec-report-mockup > span {
	margin-bottom: 7px;
	color: var(--kec-copper);
	font-size: 0.7rem;
	font-weight: 850;
	letter-spacing: 0.12em;
}

.kec-report-mockup strong {
	font-size: 0.85rem;
}

.kec-report-mockup i {
	display: block;
	width: 86%;
	height: 5px;
	background: #d6cec4;
	border-radius: 99px;
}

.kec-audit-deliverable small {
	display: block;
	margin-top: 18px;
	color: #72696b;
}

.kec-audit-scope-large {
	padding: clamp(40px, 6vw, 70px);
	background: var(--kec-sand);
	border-radius: 26px;
}

.kec-audit-metric-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 16px;
	margin-top: 35px;
}

.kec-audit-metric-grid > div {
	padding: 25px;
	background: rgba(255,255,255,0.72);
	border-radius: 16px;
}

.kec-audit-metric-grid strong,
.kec-audit-metric-grid span {
	display: block;
}

.kec-audit-metric-grid strong {
	margin-bottom: 8px;
	color: var(--kec-pine);
	font-family: var(--kec-font-display);
	font-size: 1.15rem;
}

.kec-audit-metric-grid span {
	color: #655d5f;
	font-size: 0.88rem;
}

.kec-audit-boundary {
	margin: 34px 0;
	padding: 25px 28px;
	background: #f6ede6;
	border-left: 4px solid var(--kec-copper);
	border-radius: 12px;
}

.kec-audit-boundary strong {
	display: block;
	margin-bottom: 6px;
	color: var(--kec-pine);
}

.kec-audit-boundary p {
	margin: 0;
}

.kec-audit-next {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 45px;
	padding: 35px;
	background: var(--kec-pine);
	color: rgba(255,255,255,0.82);
	border-radius: 20px;
}

.kec-audit-next h2 {
	color: var(--kec-white);
}

.kec-audit-next p:last-child {
	margin-bottom: 0;
}

.kec-audit-next .kec-button {
	flex: 0 0 auto;
}

.kec-owner-photo {
	margin: 0;
	overflow: hidden;
	background: var(--kec-white);
	border: 1px solid var(--kec-line);
	border-radius: 24px;
	box-shadow: var(--kec-shadow);
}

.kec-owner-photo img {
	display: block;
	width: 100%;
	aspect-ratio: 4 / 5;
	object-fit: cover;
}

.kec-owner-photo figcaption {
	padding: 14px 18px;
	color: #746b6d;
	font-size: 0.75rem;
	text-align: center;
}

.kec-owner-facts {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 12px;
	margin-top: 30px;
}

.kec-owner-facts span {
	display: block;
	padding: 16px;
	background: var(--kec-sand);
	border-radius: 12px;
	color: #655d5f;
	font-size: 0.76rem;
	line-height: 1.45;
}

.kec-owner-facts strong {
	display: block;
	margin-bottom: 4px;
	color: var(--kec-pine);
	font-size: 0.82rem;
}

.kec-owner-quote {
	margin-top: 60px !important;
	padding: 38px;
	background: var(--kec-pine);
	border-radius: 22px;
}

.kec-owner-quote blockquote {
	max-width: 880px;
	margin: 0 auto;
	text-align: center;
}

.kec-owner-quote p {
	color: var(--kec-white);
	font-family: var(--kec-font-display);
	font-size: clamp(1.3rem, 2.5vw, 1.8rem);
}

.kec-owner-quote cite {
	color: #e8bcc0;
	font-size: 0.82rem;
	font-style: normal;
	font-weight: 750;
}

.kec-experience-section {
	max-width: 1080px !important;
	margin-top: 80px !important;
}

.kec-experience-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 16px;
	margin-top: 30px;
}

.kec-experience-grid > div {
	padding: 28px;
	background: var(--kec-white);
	border: 1px solid var(--kec-line);
	border-radius: 16px;
}

.kec-experience-grid span {
	display: block;
	margin-bottom: 10px;
	color: var(--kec-copper);
	font-weight: 800;
}

.kec-experience-grid p {
	margin: 0;
	color: #655d5f;
}

.kec-contact-routes {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 16px;
	margin-bottom: 65px !important;
}

.kec-contact-routes a {
	display: flex;
	min-height: 190px;
	flex-direction: column;
	padding: 25px;
	background: var(--kec-sand);
	border: 1px solid var(--kec-line);
	border-radius: 18px;
	text-decoration: none;
	transition: transform var(--kec-transition), box-shadow var(--kec-transition);
}

.kec-contact-routes a:hover {
	box-shadow: 0 18px 45px rgba(46,41,42,0.08);
	transform: translateY(-4px);
}

.kec-contact-routes span,
.kec-contact-routes strong,
.kec-contact-routes small {
	display: block;
}

.kec-contact-routes span {
	margin-bottom: 20px;
	color: var(--kec-copper);
	font-size: 0.68rem;
	font-weight: 850;
	letter-spacing: 0.12em;
}

.kec-contact-routes strong {
	margin-bottom: 8px;
	color: var(--kec-pine);
	font-family: var(--kec-font-display);
	font-size: 1.35rem;
}

.kec-contact-routes small {
	margin-top: auto;
	color: #675f61;
}

.kec-form-grid--context {
	padding: 18px;
	background: var(--kec-sand);
	border-radius: 14px;
}

@media (max-width: 980px) {
	.kec-credibility-grid,
	.kec-primary-service-grid,
	.kec-case-grid,
	.kec-audit-metric-grid,
	.kec-contact-routes,
	.kec-experience-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.kec-credibility-grid > div:nth-child(3) {
		border-left: 0;
		border-top: 1px solid var(--kec-line);
	}

	.kec-credibility-grid > div:nth-child(4) {
		border-top: 1px solid var(--kec-line);
	}

	.kec-primary-service-grid > :last-child,
	.kec-case-grid > :last-child,
	.kec-contact-routes > :last-child,
	.kec-experience-grid > :last-child {
		grid-column: 1 / -1;
	}

	.kec-audit-hero-card,
	.kec-audit-two-column {
		grid-template-columns: 1fr;
	}

	.kec-owner-facts {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 680px) {
	.kec-hero h1 {
		font-size: clamp(2.35rem, 11.5vw, 3.45rem);
	}

	.kec-credibility-grid,
	.kec-primary-service-grid,
	.kec-before-after-grid,
	.kec-case-grid,
	.kec-service-path-summary,
	.kec-audit-metric-grid,
	.kec-contact-routes,
	.kec-experience-grid {
		grid-template-columns: 1fr;
	}

	.kec-credibility-grid > div + div {
		border-top: 1px solid var(--kec-line);
		border-left: 0;
	}

	.kec-primary-service-grid > :last-child,
	.kec-case-grid > :last-child,
	.kec-contact-routes > :last-child,
	.kec-experience-grid > :last-child {
		grid-column: auto;
	}

	.kec-path-card {
		min-height: 0;
	}

	.kec-project-photo figcaption {
		align-items: flex-start;
		flex-direction: column;
		gap: 3px;
	}

	.kec-audit-next {
		align-items: flex-start;
		flex-direction: column;
	}

	.kec-audit-next .kec-button,
	.kec-audit-price-badge .kec-button {
		width: 100%;
	}
}

.kec-post-card__placeholder {
	align-items: initial;
	padding: 0;
	background: none;
}


/* v1.9 real property showcase */
.kec-showcase-feature {
	margin-bottom: 22px;
}

.kec-showcase-feature figure,
.kec-project-gallery figure {
	margin: 0;
	overflow: hidden;
	background: var(--kec-cream);
	border: 1px solid var(--kec-line);
	border-radius: 22px;
	box-shadow: 0 18px 45px rgba(46, 41, 42, 0.07);
}

.kec-showcase-feature img {
	display: block;
	width: 100%;
	aspect-ratio: 16 / 8;
	object-fit: cover;
}

.kec-showcase-feature figcaption {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 20px;
	padding: 18px 22px;
}

.kec-showcase-feature figcaption strong {
	color: var(--kec-pine);
	font-family: var(--kec-font-display);
	font-size: 1.25rem;
}

.kec-showcase-feature figcaption span {
	color: #6b6265;
	font-size: 0.84rem;
}

.kec-project-gallery {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 16px;
}

.kec-project-gallery img {
	display: block;
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	transition: transform 220ms ease;
}

.kec-project-gallery figure:hover img {
	transform: scale(1.02);
}

.kec-project-gallery figcaption {
	padding: 12px 14px 14px;
	color: #625a5c;
	font-size: 0.78rem;
	line-height: 1.35;
}

@media (max-width: 980px) {
	.kec-project-gallery {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 680px) {
	.kec-showcase-feature img {
		aspect-ratio: 4 / 3;
	}
	.kec-showcase-feature figcaption {
		align-items: flex-start;
		flex-direction: column;
		gap: 4px;
	}
	.kec-project-gallery {
		grid-template-columns: 1fr;
	}
}


/* v2.0 layout corrections */
.kec-about-page,
.kec-services-page {
	width: 100%;
	max-width: 1080px !important;
	margin-inline: auto !important;
}

.kec-about-intro-v2 {
	display: grid;
	grid-template-columns: minmax(240px, 320px) minmax(0, 1fr);
	align-items: start;
	gap: clamp(36px, 6vw, 72px);
}

.kec-owner-photo-column {
	width: 100%;
	max-width: 320px;
	margin-inline: auto;
}

.kec-owner-photo {
	width: 100%;
	max-width: 320px;
}

.kec-owner-photo img {
	width: 100%;
	max-height: 400px;
	aspect-ratio: 4 / 5;
	object-fit: cover;
	object-position: center 18%;
}

.kec-about-page .kec-owner-quote,
.kec-about-page .kec-values-section,
.kec-about-page .kec-experience-section,
.kec-about-page .kec-inline-cta {
	max-width: 100% !important;
}

.kec-revamp-pairs {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 22px;
	margin-bottom: 30px;
}

.kec-revamp-pair {
	overflow: hidden;
	background: var(--kec-white);
	border: 1px solid var(--kec-line);
	border-radius: 22px;
	box-shadow: 0 18px 45px rgba(46, 41, 42, 0.07);
}

.kec-revamp-label {
	padding: 15px 18px;
	background: var(--kec-pine);
	color: var(--kec-white);
	font-size: 0.72rem;
	font-weight: 850;
	letter-spacing: 0.13em;
	text-align: center;
}

.kec-revamp-images {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.kec-revamp-images figure {
	margin: 0;
	min-width: 0;
}

.kec-revamp-images figure + figure {
	border-left: 1px solid var(--kec-line);
}

.kec-revamp-images img {
	display: block;
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
}

.kec-revamp-images figcaption {
	min-height: 82px;
	padding: 13px 15px 15px;
}

.kec-revamp-images figcaption strong,
.kec-revamp-images figcaption span {
	display: block;
}

.kec-revamp-images figcaption strong {
	color: var(--kec-pine);
	font-family: var(--kec-font-display);
	font-size: 1rem;
}

.kec-revamp-images figcaption span {
	margin-top: 3px;
	color: #6b6265;
	font-size: 0.75rem;
}

.kec-revamp-before img {
	filter: saturate(0.82);
}

.kec-services-page {
	overflow: visible;
}

.kec-services-page .kec-page-intro {
	max-width: 850px !important;
	margin-left: 0;
	margin-right: 0;
}

.kec-services-quick-nav {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 14px;
	margin: 34px 0 64px;
}

.kec-services-quick-nav a {
	display: grid;
	gap: 5px;
	min-width: 0;
	padding: 22px;
	background: var(--kec-white);
	border: 1px solid var(--kec-line);
	border-radius: 16px;
	text-decoration: none;
}

.kec-services-quick-nav span {
	color: var(--kec-copper);
	font-family: var(--kec-font-display);
	font-size: 1.35rem;
}

.kec-services-quick-nav strong {
	color: var(--kec-pine);
	font-size: 0.98rem;
}

.kec-services-quick-nav small {
	color: #6b6365;
	line-height: 1.45;
}

.kec-services-block {
	padding: 64px 0;
	border-top: 1px solid var(--kec-line);
}

.kec-services-block__header {
	max-width: 800px;
	margin-bottom: 30px;
}

.kec-services-block__header h2,
.kec-services-audit-summary h2,
.kec-working-options h2 {
	font-size: clamp(2rem, 4vw, 3rem);
}

.kec-services-block__header p:last-child {
	color: #625a5c;
}

.kec-service-card-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px;
}

.kec-service-card-grid--three {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.kec-service-simple-card {
	min-width: 0;
	padding: 28px;
	background: var(--kec-white);
	border: 1px solid var(--kec-line);
	border-radius: 18px;
}

.kec-service-simple-card h3 {
	margin-bottom: 12px;
	font-size: clamp(1.35rem, 2vw, 1.65rem);
}

.kec-service-simple-card p,
.kec-service-simple-card li {
	color: #625a5c;
}

.kec-service-simple-card ul {
	margin: 18px 0 0;
	padding-left: 20px;
}

.kec-service-number {
	display: block;
	margin-bottom: 24px;
	color: var(--kec-copper);
	font-family: var(--kec-font-display);
	font-size: 1.5rem;
}

.kec-turnover-rescue-box {
	display: grid;
	grid-template-columns: minmax(0, 1.35fr) minmax(250px, 0.65fr);
	gap: 30px;
	align-items: start;
	margin-top: 22px;
	padding: clamp(28px, 5vw, 48px);
	background: #efe6dc;
	border: 1px solid rgba(162, 59, 67, 0.24);
	border-left: 5px solid var(--kec-copper);
	border-radius: 20px;
}

.kec-turnover-rescue-box h3 {
	font-size: clamp(1.8rem, 3vw, 2.5rem);
}

.kec-turnover-rescue-box li {
	margin: 7px 0;
}

.kec-rescue-rate-list {
	display: grid;
	gap: 10px;
}

.kec-rescue-rate-list > div {
	padding: 16px 18px;
	background: var(--kec-white);
	border: 1px solid var(--kec-line);
	border-radius: 12px;
}

.kec-rescue-rate-list strong,
.kec-rescue-rate-list span {
	display: block;
}

.kec-rescue-rate-list strong {
	color: var(--kec-copper);
	font-family: var(--kec-font-display);
	font-size: 1.2rem;
}

.kec-rescue-rate-list span,
.kec-rescue-rate-list small {
	color: #675f61;
	font-size: 0.8rem;
}

.kec-services-audit-summary {
	display: grid;
	grid-template-columns: minmax(0, 1.45fr) minmax(230px, 0.55fr);
	gap: 38px;
	align-items: center;
	margin: 20px 0 64px;
	padding: clamp(34px, 6vw, 60px);
	background: linear-gradient(145deg, #fffdfa, #e5eee9);
	border: 1px solid rgba(41, 74, 67, 0.24);
	border-radius: 24px;
}

.kec-services-audit-price {
	padding: 28px;
	background: var(--kec-pine);
	color: var(--kec-white);
	border-radius: 18px;
	text-align: center;
}

.kec-services-audit-price strong,
.kec-services-audit-price span,
.kec-services-audit-price small {
	display: block;
}

.kec-services-audit-price strong {
	font-family: var(--kec-font-display);
	font-size: 3.2rem;
	line-height: 1;
}

.kec-services-audit-price span {
	margin: 8px 0 12px;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.kec-services-audit-price small {
	color: rgba(255,255,255,0.78);
}

.kec-working-options {
	padding: clamp(34px, 5vw, 54px);
	background: var(--kec-sand);
	border-radius: 22px;
}

.kec-working-options > div {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 14px;
	margin: 28px 0 18px;
}

.kec-working-options article {
	padding: 20px;
	background: rgba(255,255,255,0.7);
	border-radius: 14px;
}

.kec-working-options article strong {
	color: var(--kec-pine);
}

.kec-working-options article p {
	margin: 6px 0 0;
	color: #625a5c;
	font-size: 0.9rem;
}

@media (max-width: 980px) {
	.kec-about-intro-v2,
	.kec-turnover-rescue-box,
	.kec-services-audit-summary {
		grid-template-columns: 1fr;
	}

	.kec-owner-photo-column {
		max-width: 290px;
		margin-left: 0;
	}

	.kec-service-card-grid--three,
	.kec-working-options > div {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 680px) {
	.kec-revamp-pairs,
	.kec-services-quick-nav,
	.kec-service-card-grid,
	.kec-service-card-grid--three,
	.kec-working-options > div {
		grid-template-columns: 1fr;
	}

	.kec-revamp-images {
		grid-template-columns: 1fr;
	}

	.kec-revamp-images figure + figure {
		border-top: 1px solid var(--kec-line);
		border-left: 0;
	}

	.kec-owner-photo-column,
	.kec-owner-photo {
		max-width: 260px;
	}

	.kec-owner-photo img {
		max-height: 325px;
	}

	.kec-services-block {
		padding: 48px 0;
	}

	.kec-service-simple-card,
	.kec-services-quick-nav a {
		padding: 22px;
	}
}


/* v2.1 real before, during, and completed project documentation */
.kec-revamp-pair--centered {
	grid-column: 1 / -1;
	width: min(100%, 820px);
	justify-self: center;
}

.kec-progress-proof {
	margin-top: 34px !important;
	padding: clamp(24px, 4vw, 42px);
	background: var(--kec-sand);
	border: 1px solid var(--kec-line);
	border-radius: 22px;
}

.kec-progress-proof__heading {
	max-width: 760px;
	margin-bottom: 22px;
}

.kec-progress-proof__heading h3 {
	margin-bottom: 0;
	font-size: clamp(1.65rem, 3vw, 2.4rem);
}

.kec-progress-gallery {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 16px;
}

.kec-progress-gallery figure {
	margin: 0;
	overflow: hidden;
	background: var(--kec-white);
	border: 1px solid var(--kec-line);
	border-radius: 16px;
}

.kec-progress-gallery img {
	display: block;
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
}

.kec-progress-gallery figcaption {
	padding: 13px 15px 15px;
	color: #625a5c;
	font-size: 0.8rem;
	line-height: 1.4;
}

@media (max-width: 760px) {
	.kec-revamp-pair--centered {
		grid-column: auto;
		width: 100%;
	}

	.kec-revamp-images {
		grid-template-columns: 1fr;
	}

	.kec-revamp-images figure + figure {
		border-top: 1px solid var(--kec-line);
		border-left: 0;
	}

	.kec-progress-gallery {
		grid-template-columns: 1fr;
	}
}


/* v2.2 contact layout and property-size selector corrections */
.kec-contact-layout {
	display: grid !important;
	grid-template-columns: minmax(280px, 0.72fr) minmax(0, 1.28fr);
	align-items: start !important;
	gap: clamp(32px, 5vw, 72px) !important;
}

.kec-contact-layout > .wp-block-column {
	width: auto !important;
	min-width: 0;
	flex-basis: auto !important;
	margin: 0 !important;
}

.kec-contact-sidebar,
.kec-contact-card {
	position: static !important;
	top: auto !important;
}

.kec-contact-card {
	width: 100%;
	box-sizing: border-box;
}

.kec-form-size-group {
	display: grid;
	grid-column: 1 / -1;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px;
}

.kec-form-size-group p {
	margin-bottom: 0;
}

@media (max-width: 900px) {
	.kec-contact-layout {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 620px) {
	.kec-form-grid,
	.kec-form-size-group {
		grid-template-columns: 1fr;
	}
}

/* =========================================================
   v2.5 Dedicated Homepage
   ========================================================= */
.kec-v25-home{background:#f6f0e8;color:#302a28;overflow:hidden}
.kec-v25-home h1,.kec-v25-home h2,.kec-v25-home h3{font-family:Georgia,'Times New Roman',serif;color:inherit}
.kec-v25-shell{width:min(1180px,calc(100% - 44px));margin:0 auto}
.kec-v25-eyebrow{font-size:.76rem;letter-spacing:.16em;text-transform:uppercase;font-weight:800;color:#a73b3c;margin:0 0 12px}
.kec-v25-centered{text-align:center}
.kec-v25-hero{position:relative;min-height:650px;display:flex;align-items:center;background:#171514}
.kec-v25-hero__media{position:absolute;inset:0;background-size:cover;background-position:center}
.kec-v25-hero__shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(16,14,13,.92) 0%,rgba(16,14,13,.78) 38%,rgba(16,14,13,.18) 69%,rgba(16,14,13,.04) 100%)}
.kec-v25-hero__content{position:relative;z-index:2;padding:80px 0}
.kec-v25-hero__copy{width:min(610px,58%);color:#fff}
.kec-v25-hero__copy .kec-v25-eyebrow{color:#e4b9ad}
.kec-v25-hero h1{font-size:clamp(3.3rem,6vw,5.8rem);line-height:.96;margin:0 0 28px;color:#fff;font-weight:500;letter-spacing:-.025em}
.kec-v25-hero p{font-size:1.05rem;line-height:1.65;max-width:580px;color:#f4f0eb}
.kec-v25-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:28px}
.kec-v25-btn{display:inline-flex;align-items:center;justify-content:center;padding:15px 22px;border-radius:4px;font-weight:800;text-decoration:none!important;border:1px solid transparent;transition:.2s ease}
.kec-v25-btn--primary{background:#a93b3f;color:#fff!important}
.kec-v25-btn--ghost{border-color:#f2e8df;color:#fff!important;background:rgba(255,255,255,.06)}
.kec-v25-btn--light{background:#fff;color:#74262c!important;min-width:240px}
.kec-v25-btn:hover{transform:translateY(-1px)}
.kec-v25-section{padding:76px 0}
.kec-v25-grid-verified{display:grid;grid-template-columns:190px minmax(0,1fr) 285px;gap:40px;align-items:center}
.kec-v25-icon-card{height:190px;border:2px solid #7a252e;border-radius:20px;display:grid;place-items:center;background:#fff9f2;box-shadow:0 14px 30px rgba(64,41,33,.08)}
.kec-v25-checklist{font-size:2.2rem;line-height:1.2;color:#7a252e;font-weight:900}
.kec-v25-section h2{font-size:clamp(2rem,3vw,3.2rem);line-height:1.05;margin:0 0 18px;font-weight:500}
.kec-v25-section p{line-height:1.65}
.kec-v25-proof{background:#fbf8f2;border:1px solid #e4d8cd;border-radius:12px;padding:26px;display:grid;gap:18px;box-shadow:0 14px 28px rgba(72,50,40,.06)}
.kec-v25-proof span{font-weight:700}
.kec-v25-textlink,.kec-v25-service-card a{color:#8e2f34;font-weight:800;text-decoration:none}
.kec-v25-services{background:#fffdf9;border-top:1px solid #e7ded5;border-bottom:1px solid #e7ded5}
.kec-v25-service-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;margin-top:34px}
.kec-v25-service-card{background:#f5efe6;border:1px solid #e4d8cd;border-radius:12px;padding:25px 20px;min-height:360px;display:flex;flex-direction:column;box-shadow:0 12px 28px rgba(78,54,44,.06)}
.kec-v25-service-card--dark{background:#2f2928;color:#fff}
.kec-v25-service-card--dark h3,.kec-v25-service-card--dark p{color:#fff}
.kec-v25-service-card--dark a{color:#fff}
.kec-v25-card-icon{width:48px;height:48px;border-radius:50%;background:#8e2f34;color:#fff;display:grid;place-items:center;font-size:1.35rem;font-weight:900;margin-bottom:18px}
.kec-v25-service-card h3{font-size:1.45rem;line-height:1.05;margin:0 0 14px}
.kec-v25-service-card p{font-size:.94rem;line-height:1.55;flex:1}
.kec-v25-two-col{display:grid;grid-template-columns:1.1fr .9fr;gap:24px}
.kec-v25-doc-card,.kec-v25-area-card{border-radius:14px;padding:42px}
.kec-v25-doc-card{background:#fffaf3;border:1px solid #e4d8cd}
.kec-v25-area-card{background:#70232b;color:#fff}
.kec-v25-area-card .kec-v25-eyebrow{color:#f1c9bd}
.kec-v25-area-card h2,.kec-v25-area-card p,.kec-v25-area-card li{color:#fff}
.kec-v25-doc-card ul,.kec-v25-area-card ul{padding-left:1.25rem;line-height:1.8}
.kec-v25-cta{background:#70232b;color:#fff;padding:58px 0}
.kec-v25-cta__inner{display:grid;grid-template-columns:1fr auto;gap:34px;align-items:center}
.kec-v25-cta .kec-v25-eyebrow{color:#f1c9bd}
.kec-v25-cta h2{font-family:Georgia,'Times New Roman',serif;font-size:clamp(2rem,3.5vw,3.4rem);line-height:1.05;margin:0 0 14px;color:#fff}
.kec-v25-cta p{max-width:760px;line-height:1.6;color:#fff}

@media (max-width:980px){
  .kec-v25-hero{min-height:600px}
  .kec-v25-hero__copy{width:min(680px,80%)}
  .kec-v25-grid-verified{grid-template-columns:140px 1fr}
  .kec-v25-proof{grid-column:1/-1;grid-template-columns:repeat(5,1fr)}
  .kec-v25-service-grid{grid-template-columns:repeat(2,1fr)}
  .kec-v25-service-card:last-child{grid-column:1/-1}
}
@media (max-width:700px){
  .kec-v25-shell{width:min(100% - 30px,1180px)}
  .kec-v25-hero{min-height:760px;align-items:flex-end}
  .kec-v25-hero__media{background-position:center top}
  .kec-v25-hero__shade{background:linear-gradient(180deg,rgba(12,11,10,.25) 0%,rgba(12,11,10,.72) 47%,rgba(12,11,10,.94) 100%)}
  .kec-v25-hero__content{padding:180px 0 48px}
  .kec-v25-hero__copy{width:100%}
  .kec-v25-hero h1{font-size:clamp(2.65rem,13vw,4.35rem)}
  .kec-v25-actions{display:grid}
  .kec-v25-btn{width:100%}
  .kec-v25-section{padding:56px 0}
  .kec-v25-grid-verified{grid-template-columns:1fr}
  .kec-v25-icon-card{height:130px}
  .kec-v25-proof{grid-template-columns:1fr}
  .kec-v25-service-grid{grid-template-columns:1fr}
  .kec-v25-service-card:last-child{grid-column:auto}
  .kec-v25-service-card{min-height:auto}
  .kec-v25-two-col{grid-template-columns:1fr}
  .kec-v25-doc-card,.kec-v25-area-card{padding:30px 24px}
  .kec-v25-cta__inner{grid-template-columns:1fr}
}




/* v2.5.4: hard responsive safeguards for phones and tablets */
@media (max-width: 1024px) {
  html, body { max-width:100%; overflow-x:hidden; }
  html body main.kec-v25-home,
  html body main.kec-v25-home > section { width:100% !important; max-width:none !important; margin-left:0 !important; margin-right:0 !important; }
  html body .kec-v25-shell { width:calc(100% - 48px) !important; max-width:900px !important; margin-left:auto !important; margin-right:auto !important; }
  html body .kec-v25-grid-verified { display:grid !important; grid-template-columns:1fr !important; gap:24px !important; align-items:start !important; }
  html body .kec-v25-icon-card { width:150px !important; height:120px !important; margin:0 auto !important; }
  html body .kec-v25-proof { grid-column:auto !important; grid-template-columns:repeat(2,minmax(0,1fr)) !important; width:100% !important; }
  html body .kec-v25-service-grid { grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
  html body .kec-v25-two-col { grid-template-columns:1fr !important; }
  html body .kec-v25-cta__inner { grid-template-columns:1fr !important; }
  html body .kec-v25-hero__copy { width:min(620px,82%) !important; }
  html body .kec-v25-home h2 { overflow-wrap:normal !important; word-break:normal !important; }
}
@media (max-width: 700px) {
  html body .kec-v25-shell { width:calc(100% - 32px) !important; max-width:none !important; }
  html body .kec-v25-hero { min-height:680px !important; }
  html body .kec-v25-hero__content { padding:150px 0 42px !important; }
  html body .kec-v25-hero__copy { width:100% !important; max-width:none !important; }
  html body .kec-v25-home .kec-v25-hero h1 { font-size:clamp(38px,11vw,58px) !important; line-height:1.02 !important; overflow-wrap:normal !important; word-break:normal !important; }
  html body .kec-v25-hero p { font-size:16px !important; line-height:1.55 !important; }
  html body .kec-v25-actions { display:grid !important; grid-template-columns:1fr !important; }
  html body .kec-v25-btn { width:100% !important; }
  html body .kec-v25-section { padding:48px 0 !important; }
  html body .kec-v25-grid-verified,
  html body .kec-v25-service-grid,
  html body .kec-v25-two-col,
  html body .kec-v25-cta__inner,
  html body .kec-v25-project-pairs,
  html body .kec-v25-project-images,
  html body .kec-v25-progress-grid { display:grid !important; grid-template-columns:1fr !important; width:100% !important; }
  html body .kec-v25-proof { grid-template-columns:1fr !important; }
  html body .kec-v25-icon-card { width:100% !important; max-width:180px !important; height:110px !important; }
  html body .kec-v25-home h2 { font-size:clamp(30px,9vw,42px) !important; line-height:1.08 !important; }
  html body .kec-v25-service-card,
  html body .kec-v25-doc-card,
  html body .kec-v25-area-card,
  html body .kec-v25-progress-wrap { width:100% !important; min-width:0 !important; }
  html body .kec-v25-doc-card,
  html body .kec-v25-area-card { padding:28px 22px !important; }
  html body .kec-v25-project-images figure+figure { border-left:0 !important; border-top:1px solid #e4d8cd !important; }
}


