:root{
  --bg: #fbf7f0;          /* warm off-white */
  --surface: #ffffff;     /* cards */
  --text: #1f2937;        /* slate */
  --muted: #6b7280;       /* muted text */
  --gold: #caa24a;        /* gold */
  --gold-2: #ddb35a;      /* hover gold */
  --brown: #8a6a3a;       /* warm brown */
  --border: rgba(31,41,55,0.10);
  --shadow: 0 10px 30px rgba(17,24,39,0.08);
}

*{ box-sizing:border-box; }
body{
  margin:0;
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Inter, Arial, sans-serif;
  color: var(--text);
  background: var(--bg);
}

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

.container{
  width:min(1100px, calc(100% - 2rem));
  margin-inline:auto;
}

.site-header{
  position: sticky;
  top:0;
  z-index:50;
  background: rgba(251,247,240,0.85);
  backdrop-filter: blur(10px);
  border-bottom: 1px solid var(--border);
}

.header-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding: 14px 0;
  gap: 1rem;
}

.brand{
  display:flex;
  align-items:center;
  gap: 10px;
  text-decoration:none;
  color: var(--text);
  font-weight: 700;
  letter-spacing: 0.3px;
}

.brand-mark{
  width: 36px; height: 36px;
  display:grid; place-items:center;
  background: linear-gradient(135deg, var(--gold), var(--gold-2));
  color: #1b1206;
  border-radius: 10px;
  box-shadow: var(--shadow);
}

.menu, .mobile-menu{
  list-style:none;
  margin:0; padding:0;
  display:flex;
  gap: 20px;
}

.menu a, .mobile-menu a{
  text-decoration:none;
  color: var(--muted);
  font-weight: 600;
  font-size: 14px;
  padding: 8px 10px;
  border-radius: 10px;
}
.menu a:hover, .mobile-menu a:hover{
  color: var(--text);
  background: rgba(202,162,74,0.12);
}

.desktop-nav{ display:none; }
.header-actions{ display:flex; align-items:center; gap: 10px; }

.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap: 8px;
  border-radius: 12px;
  padding: 10px 14px;
  font-weight: 700;
  font-size: 14px;
  text-decoration:none;
  border: 1px solid transparent;
  transition: transform .15s ease, background .15s ease, border-color .15s ease;
}
.btn:hover{ transform: translateY(-1px); }

.btn-primary{
  background: linear-gradient(135deg, var(--gold), var(--gold-2));
  color: #1b1206;
  box-shadow: var(--shadow);
}
.btn-primary:hover{ background: linear-gradient(135deg, var(--gold-2), var(--gold)); }

.btn-secondary{
  background: transparent;
  border-color: rgba(138,106,58,0.35);
  color: var(--brown);
}
.btn-secondary:hover{
  border-color: var(--brown);
  background: rgba(138,106,58,0.08);
}

.menu-toggle{
  width: 44px; height: 44px;
  border-radius: 12px;
  border: 1px solid var(--border);
  background: var(--surface);
  box-shadow: 0 10px 22px rgba(17,24,39,0.06);
  cursor:pointer;
  display:inline-grid;
  place-items:center;
}
.burger{
  width: 18px; height: 2px;
  background: var(--text);
  position:relative;
  border-radius: 10px;
}
.burger::before, .burger::after{
  content:"";
  position:absolute; left:0;
  width: 18px; height: 2px;
  background: var(--text);
  border-radius: 10px;
}
.burger::before{ top: -6px; }
.burger::after{ top: 6px; }

.mobile-nav{
  display:none;
  border-top: 1px solid var(--border);
  background: var(--surface);
}
.mobile-nav.open{ display:block; }
.mobile-menu{
  flex-direction:column;
  gap: 6px;
  padding: 12px;
}

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

.section{ padding: 70px 0; }

.hero{
  padding: 80px 0 40px;
}
.hero-lite{
  background:
    radial-gradient(900px 300px at 15% 10%, rgba(202,162,74,0.20), transparent 60%),
    radial-gradient(700px 250px at 85% 20%, rgba(138,106,58,0.14), transparent 60%);
  border-bottom: 1px solid var(--border);
}

.kicker{
  text-transform: uppercase;
  letter-spacing: 0.18em;
  color: var(--brown);
  font-weight: 800;
  font-size: 12px;
}

.h1{ font-size: clamp(32px, 4vw, 52px); margin: 10px 0; line-height: 1.05; }
.h3{ font-size: 18px; margin: 0 0 8px; }
.h4{ font-size: 16px; margin: 0 0 8px; }

.lead{ color: var(--muted); font-size: 16px; max-width: 60ch; }

.grid{
  display:grid;
  gap: 18px;
}
.cols-2{ grid-template-columns: 1fr; }
.cols-3{ grid-template-columns: 1fr; }

.card{
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 16px;
  box-shadow: 0 12px 30px rgba(17,24,39,0.06);
  overflow:hidden;
}
.card-body{ padding: 18px; }
.card-media img{ width: 100%; height: 180px; object-fit: cover; }

.service-card .card-actions{ margin-top: 12px; }
.link{ color: var(--brown); font-weight: 700; text-decoration:none; }
.link:hover{ text-decoration: underline; }

.content-grid{
  display:grid;
  grid-template-columns: 1fr;
  gap: 18px;
}
.sidebar .list{
  margin: 0; padding-left: 18px;
  color: var(--muted);
}
.sidebar a{ color: var(--brown); font-weight: 700; text-decoration:none; }
.sidebar a:hover{ text-decoration: underline; }

.form .field{ margin-bottom: 14px; }
label{ display:block; font-weight: 700; margin-bottom: 6px; }
input, textarea{
  width:100%;
  border: 1px solid var(--border);
  background: #fff;
  border-radius: 12px;
  padding: 10px 12px;
  font-size: 15px;
  outline:none;
}
input:focus, textarea:focus{
  border-color: rgba(202,162,74,0.55);
  box-shadow: 0 0 0 4px rgba(202,162,74,0.16);
}

.site-footer{
  background: #fff;
  border-top: 1px solid var(--border);
}
.footer-grid{
  padding: 48px 0;
  display:grid;
  gap: 18px;
  grid-template-columns: 1fr;
}
.footer-title{
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.18em;
  color: var(--brown);
  margin: 0 0 12px;
}
.footer-list, .footer-menu{
  list-style:none;
  margin:0; padding:0;
  color: var(--muted);
}
.footer-list li{ margin: 8px 0; }
.footer-list a{ color: var(--brown); font-weight: 700; text-decoration:none; }
.footer-list a:hover{ text-decoration: underline; }

.subscribe{
  display:flex;
  gap: 10px;
  flex-wrap: wrap;
}
.subscribe input{ flex: 1 1 200px; }

.social{
  display:flex;
  gap: 10px;
  margin-top: 14px;
}
.social-btn{
  width: 40px; height: 40px;
  display:grid; place-items:center;
  border-radius: 12px;
  border: 1px solid var(--border);
  background: rgba(202,162,74,0.10);
  color: var(--brown);
  font-weight: 900;
  text-decoration:none;
}
.social-btn:hover{
  background: rgba(202,162,74,0.18);
}

.footer-bottom{
  padding: 16px 0 26px;
  border-top: 1px solid var(--border);
}

.muted{ color: var(--muted); }
.divider{ height:1px; background: var(--border); margin: 18px 0; }

.sr-only{
  position:absolute !important;
  width:1px; height:1px;
  padding:0; margin:-1px;
  overflow:hidden; clip: rect(0,0,0,0);
  white-space:nowrap; border:0;
}

/* Responsive */
@media (min-width: 900px){
  .desktop-nav{ display:block; }
  .menu-toggle{ display:none; }
  .mobile-nav{ display:none !important; }

  .cols-2{ grid-template-columns: 1fr 1fr; }
  .cols-3{ grid-template-columns: repeat(3, 1fr); }
  .content-grid{ grid-template-columns: 1.6fr 0.9fr; }
  .footer-grid{ grid-template-columns: 1.4fr 1fr 1fr 1.2fr; }
}

/* Home Hero pattern (light, subtle) */
.hero-home{
  position: relative;
  padding: 90px 0 40px;
  overflow: hidden;
  border-bottom: 1px solid var(--border);
  background:
    radial-gradient(1000px 420px at 15% 10%, rgba(202,162,74,0.22), transparent 60%),
    radial-gradient(800px 300px at 90% 15%, rgba(138,106,58,0.14), transparent 65%),
    linear-gradient(180deg, #fff, rgba(255,255,255,0.6));
}
.hero-pattern{
  position:absolute;
  inset: 0;
  opacity: 0.08;
  background-image:
    linear-gradient(30deg, rgba(0,0,0,0.12) 12%, transparent 12.5%, transparent 87%, rgba(0,0,0,0.12) 87.5%, rgba(0,0,0,0.12)),
    linear-gradient(150deg, rgba(0,0,0,0.12) 12%, transparent 12.5%, transparent 87%, rgba(0,0,0,0.12) 87.5%, rgba(0,0,0,0.12)),
    linear-gradient(60deg, rgba(0,0,0,0.10) 25%, transparent 25.5%, transparent 75%, rgba(0,0,0,0.10) 75%, rgba(0,0,0,0.10));
  background-size: 90px 150px;
  background-position: 0 0, 0 0, 45px 75px;
  pointer-events:none;
}

.hero-inner{
  position: relative;
  display: grid;
  grid-template-columns: 1fr;
  gap: 22px;
}
.hero-title .accent,
.accent{ color: var(--gold); }

.hero-actions{
  display:flex;
  gap: 12px;
  flex-wrap: wrap;
  margin-top: 16px;
}

.hero-stats .stats{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  margin-bottom: 16px;
}
.stat{
  background: rgba(202,162,74,0.10);
  border: 1px solid rgba(202,162,74,0.18);
  border-radius: 16px;
  padding: 14px;
}
.stat-value{
  font-weight: 900;
  font-size: 26px;
  color: var(--brown);
}
.stat-label{
  color: var(--muted);
  font-weight: 700;
  font-size: 13px;
  margin-top: 6px;
}

.hero-mini{ border-color: rgba(202,162,74,0.18); }

.section-head{
  display:flex;
  flex-direction:column;
  gap: 10px;
  align-items:flex-start;
  justify-content:space-between;
  margin-bottom: 18px;
}
.section-head.center{ align-items:center; text-align:center; }

.section-tint{
  background: rgba(202,162,74,0.06);
  border-top: 1px solid var(--border);
  border-bottom: 1px solid var(--border);
}

.project-card{
  position: relative;
  min-height: 230px;
  background:
    linear-gradient(135deg, rgba(202,162,74,0.18), rgba(138,106,58,0.10)),
    #fff;
}
.project-overlay{
  position:absolute; inset:0;
  background: linear-gradient(to top, rgba(31,41,55,0.08), transparent 65%);
}
.project-body{ position: relative; }
.project-type{
  display:inline-block;
  padding: 6px 10px;
  border-radius: 999px;
  background: rgba(202,162,74,0.14);
  color: var(--brown);
  font-weight: 900;
  font-size: 12px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.cta-card{
  border-color: rgba(202,162,74,0.20);
  background:
    radial-gradient(900px 240px at 10% 20%, rgba(202,162,74,0.22), transparent 60%),
    #fff;
}
.cta-body{
  display:flex;
  flex-direction:column;
  gap: 14px;
  align-items:flex-start;
  justify-content:space-between;
}
.cta-actions{ display:flex; gap: 12px; flex-wrap: wrap; }

@media (min-width: 900px){
  .hero-inner{ grid-template-columns: 1.25fr 0.85fr; align-items: start; }
  .section-head{ flex-direction: row; align-items: end; }
  .cta-body{ flex-direction: row; align-items: center; }
}
.service-page {
	background: var(--renovation-bg);
}

.service-hero {
	position: relative;
	padding: 4rem 1.5rem;
	text-align: center;
	background: linear-gradient(135deg, #faf8f5 0%, #f5f0e8 100%);
	overflow: hidden;
}

.service-section {
	padding: 4rem 1.5rem;
}

.service-section--alt {
	padding-top: 1rem;
}

.service-section__heading {
	text-align: center;
	margin-bottom: 3rem;
}

.service-section__icon {
	font-size: 3.5rem;
	line-height: 1;
	margin-bottom: 1rem;
}

.service-subsection {
	margin-bottom: 3rem;
}

.service-subsection__title {
	font-family: "Playfair Display", serif;
	font-size: clamp(1.5rem, 3vw, 2rem);
	font-weight: 700;
	color: var(--renovation-text);
	margin: 0 0 1.5rem;
}

.service-grid {
	display: grid;
	gap: 2rem;
}

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

.service-grid--four {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.service-card__emoji {
	font-size: 4rem;
	line-height: 1;
}

.service-card__media--electric-one {
	background: linear-gradient(135deg, #d4a574 0%, #c9a86c 50%, #b8956a 100%);
	min-height: 12rem;
	position: relative;
}

.service-card__media--electric-two {
	background: linear-gradient(135deg, #7da6f8 0%, #5f8ef0 50%, #4d79d8 100%);
	min-height: 12rem;
	position: relative;
}

.service-card__media--electric-three {
	background: linear-gradient(135deg, #7fa487 0%, #5a6c57 50%, #496047 100%);
	min-height: 12rem;
	position: relative;
}

.service-card__media--electric-four {
	background: linear-gradient(135deg, #c98d7a 0%, #b46e58 50%, #995745 100%);
	min-height: 12rem;
	position: relative;
}

.service-card__media--electric-five {
	background: linear-gradient(135deg, #8f86bf 0%, #736aa6 50%, #5e568e 100%);
	min-height: 12rem;
	position: relative;
}

.service-card__media--plumb-one {
	background: linear-gradient(135deg, #82b6e8 0%, #5f9ed8 50%, #4686be 100%);
	min-height: 12rem;
	position: relative;
}

.service-card__media--plumb-two {
	background: linear-gradient(135deg, #7bc2b5 0%, #55a99a 50%, #40887b 100%);
	min-height: 12rem;
	position: relative;
}

.service-card__media--plumb-three {
	background: linear-gradient(135deg, #8eb381 0%, #6b9a5e 50%, #577d4c 100%);
	min-height: 12rem;
	position: relative;
}

.service-card--compact .service-card__body {
	padding: 1.5rem 1.25rem;
}

.service-card__title--sm {
	font-size: 1.2rem;
}

.service-mini-icon {
	width: 3rem;
	height: 3rem;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 999px;
	font-size: 1.25rem;
	margin-bottom: 1rem;
}

.service-mini-icon--warm {
	background: rgba(201, 168, 108, 0.15);
}

.service-mini-icon--alert {
	background: rgba(210, 90, 90, 0.15);
}

.service-mini-icon--purple {
	background: rgba(130, 110, 170, 0.15);
}

.service-mini-icon--blue {
	background: rgba(95, 158, 216, 0.15);
}

.service-feature-panel {
	background: linear-gradient(135deg, #f1f1ef 0%, #e7e3dc 100%);
	border-radius: 1.5rem;
	padding: 2rem;
	margin-top: 1rem;
}

.service-feature-panel--cool {
	background: linear-gradient(135deg, #dfefff 0%, #d9f2ef 100%);
}

.service-feature-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1.5rem;
}

.service-feature-box {
	text-align: center;
	padding: 1rem;
}

.service-feature-box__icon {
	font-size: 2.5rem;
	margin-bottom: 0.75rem;
}

.service-feature-box h4 {
	font-size: 1.1rem;
	margin: 0 0 0.5rem;
	color: var(--renovation-text);
}

.service-feature-box p {
	margin: 0;
	color: var(--renovation-muted);
	line-height: 1.6;
}

.service-list-panel {
	background: rgba(255, 255, 255, 0.65);
	border-radius: 1rem;
	padding: 1.5rem;
}

.service-list-panel h4 {
	font-size: 1.25rem;
	margin: 0 0 1rem;
	color: var(--renovation-text);
}

.service-check-list {
	list-style: none;
	padding: 0;
	margin: 0;
}

.service-check-list li {
	position: relative;
	padding-left: 1.4rem;
	margin-bottom: 0.75rem;
	color: var(--renovation-text);
}

.service-check-list li::before {
	content: "✓";
	position: absolute;
	left: 0;
	top: 0;
	color: #35a853;
	font-weight: 700;
}

.service-proof {
	padding: 1rem 1.5rem 4rem;
}

.service-proof__panel {
	background: #fff;
	border-radius: 1.5rem;
	box-shadow: var(--renovation-shadow);
	padding: 3rem 2rem;
	text-align: center;
}

.service-proof__item {
	text-align: center;
}

.service-proof__icon {
	font-size: 2.5rem;
	margin-bottom: 1rem;
}

.service-proof__item h3 {
	font-size: 1.2rem;
	margin: 0 0 0.5rem;
	color: var(--renovation-text);
}

.service-proof__item p {
	margin: 0;
	color: var(--renovation-muted);
	line-height: 1.6;
}

.service-contact-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1.5rem;
	margin: 0 0 2rem;
}

.service-contact-card {
	background: rgba(255, 255, 255, 0.2);
	border-radius: 1rem;
	padding: 1.5rem;
	color: #fff;
}

.service-contact-card__icon {
	font-size: 2rem;
	margin-bottom: 0.75rem;
}

.service-contact-card h3 {
	margin: 0 0 0.5rem;
	font-size: 1.1rem;
}

.service-contact-card p {
	margin: 0.2rem 0;
}

@media (max-width: 1024px) {
	.service-grid--four {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.service-feature-grid,
	.service-contact-grid {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 767px) {
	.service-section,
	.service-hero {
		padding-top: 3rem;
		padding-bottom: 3rem;
	}

	.service-grid--two,
	.service-grid--four {
		grid-template-columns: 1fr;
	}
}

/* SERVICES ARCHIVE REVAMP */

.services-hero {
	padding: 90px 0 70px;
	background: linear-gradient(135deg, #faf8f5 0%, #f5f0e8 100%);
	text-align: center;
}

.services-hero__inner {
	max-width: 860px;
	margin: 0 auto;
}

.services-kicker {
	display: inline-block;
	padding: 8px 16px;
	border-radius: 999px;
	background: rgba(201, 168, 108, 0.15);
	color: #c9a86c;
	font-weight: 700;
	margin-bottom: 20px;
}

.services-title {
	font-family: "Playfair Display", serif;
	font-size: clamp(34px, 5vw, 52px);
	line-height: 1.1;
	margin: 0 0 16px;
	color: #2d3436;
}

.services-lead {
	max-width: 760px;
	margin: 0 auto;
	font-size: 18px;
	line-height: 1.8;
	color: #636e72;
}

.services-hero__actions {
	display: flex;
	gap: 16px;
	justify-content: center;
	flex-wrap: wrap;
	margin-top: 28px;
}

.services-archive {
	padding: 70px 0 40px;
	background: #faf8f5;
}

.services-archive__intro {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 30px;
	align-items: center;
	margin-bottom: 34px;
}

.services-archive__heading {
	font-family: "Playfair Display", serif;
	font-size: clamp(28px, 4vw, 38px);
	line-height: 1.2;
	margin: 0;
	color: #2d3436;
}

.services-archive__text {
	margin: 0;
	font-size: 17px;
	line-height: 1.8;
	color: #636e72;
}

.services-grid {
	gap: 30px;
}

.service-card--revamp {
	border-radius: 22px;
	overflow: hidden;
	background: #fff;
	box-shadow: 0 12px 40px -12px rgba(0, 0, 0, 0.10);
	border: 1px solid rgba(45, 52, 54, 0.04);
	transition: transform 0.25s ease, box-shadow 0.25s ease;
	height: 100%;
	display: flex;
	flex-direction: column;
}

.service-card--revamp:hover {
	transform: translateY(-6px);
	box-shadow: 0 18px 46px -16px rgba(0, 0, 0, 0.14);
}

.service-card__top {
	height: 180px;
	background: linear-gradient(135deg, #d4a574 0%, #c9a86c 50%, #b8956a 100%);
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
}

.service-card__icon {
	width: 82px;
	height: 82px;
	border-radius: 50%;
	background: rgba(255,255,255,0.22);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 40px;
}

.service-card__body {
	padding: 28px;
	display: flex;
	flex-direction: column;
	flex: 1;
}

.service-card__meta {
	display: inline-block;
	font-size: 12px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	color: #c9a86c;
	margin-bottom: 12px;
}

.service-card__title {
	margin: 0 0 12px;
	font-size: 24px;
	line-height: 1.2;
}

.service-card__title a {
	color: #2d3436;
	text-decoration: none;
}

.service-card__title a:hover {
	color: #5a6c57;
}

.service-card__excerpt {
	font-size: 15px;
	line-height: 1.75;
	color: #636e72;
	margin: 0;
}

.service-card__actions {
	margin-top: auto;
	padding-top: 22px;
}

.service-card__button {
	border-radius: 999px;
	padding: 12px 22px;
	font-weight: 700;
}

.services-strip {
	padding: 20px 0 80px;
	background: #faf8f5;
}

.services-strip__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 24px;
	background: linear-gradient(135deg, #f1f1ef 0%, #e7e3dc 100%);
	border-radius: 26px;
	padding: 28px;
}

.services-strip__item {
	background: rgba(255,255,255,0.6);
	border-radius: 999px;
	padding: 28px 20px;
	text-align: center;
	min-height: 200px;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.services-strip__icon {
	font-size: 34px;
	margin-bottom: 10px;
}

.services-strip__item h3 {
	margin: 0 0 10px;
	font-size: 22px;
	color: #2d3436;
}

.services-strip__item p {
	margin: 0;
	color: #636e72;
	line-height: 1.7;
}

@media (max-width: 1000px) {
	.services-archive__intro,
	.services-strip__grid {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 768px) {
	.services-hero {
		padding: 70px 0 50px;
	}

	.services-grid {
		gap: 22px;
	}

	.services-strip__item {
		border-radius: 24px;
		min-height: auto;
	}
}


/* CONTACT PAGE */

.aym-contact-page {
	background: var(--bg);
}

.aym-contact-hero {
	padding: 90px 20px;
	background: linear-gradient(135deg, #faf8f5 0%, #f5f0e8 100%);
	text-align: center;
	position: relative;
	overflow: hidden;
}

.aym-contact-hero__title {
	font-size: clamp(38px, 6vw, 64px);
}

.aym-contact-hero__subtitle {
	max-width: 820px;
	font-size: 20px;
}

.aym-contact-grid--top {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.aym-contact-card--light {
	background: #fff;
	color: var(--text);
	box-shadow: var(--shadow);
	text-align: center;
}

.aym-contact-card--light p {
	color: var(--muted);
}

.aym-contact-strong {
	font-weight: 700;
	color: var(--text) !important;
}

.aym-contact-icon--gold,
.aym-contact-icon--green {
	width: 76px;
	height: 76px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 auto 18px;
	font-size: 32px;
}

.aym-contact-icon--gold {
	background: rgba(201, 168, 108, 0.15);
}

.aym-contact-icon--green {
	background: rgba(90, 108, 87, 0.15);
}

.aym-contact-layout {
	display: grid;
	grid-template-columns: 1.1fr 0.9fr;
	gap: 30px;
	align-items: start;
}

.aym-contact-form-wrap {
	background: #fff;
	border-radius: 26px;
	padding: 34px;
	box-shadow: var(--shadow);
}

.aym-contact-form {
	display: grid;
	gap: 18px;
}

.aym-contact-form__row {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
}

.aym-field label {
	display: block;
	font-weight: 700;
	margin-bottom: 8px;
	color: var(--text);
}

.aym-field input,
.aym-field select,
.aym-field textarea {
	width: 100%;
	padding: 14px 16px;
	border: 1px solid rgba(45, 52, 54, 0.12);
	border-radius: 16px;
	background: #fff;
	box-sizing: border-box;
	font: inherit;
	color: var(--text);
}

.aym-field textarea {
	resize: vertical;
}

.aym-btn-submit {
	border: 0;
	cursor: pointer;
	font: inherit;
}

.aym-contact-side {
	display: grid;
	gap: 24px;
}

.aym-contact-list {
	margin: 0;
	padding-left: 18px;
	color: var(--muted);
	line-height: 2;
	font-size: 16px;
}

.aym-contact-benefits {
	background: #fff;
	border-radius: 26px;
	padding: 30px;
	box-shadow: var(--shadow);
}

.aym-contact-benefit {
	display: flex;
	gap: 14px;
	align-items: flex-start;
	margin-bottom: 16px;
}

.aym-contact-benefit:last-child {
	margin-bottom: 0;
}

.aym-contact-benefit__icon {
	width: 46px;
	height: 46px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 20px;
	flex: 0 0 46px;
	margin: 0;
}

.aym-contact-benefit h4 {
	margin: 0 0 4px;
	font-size: 18px;
}

.aym-contact-benefit p {
	margin: 0;
	color: var(--muted);
}

.aym-contact-cta {
	padding: 80px 20px;
	background: linear-gradient(135deg, #2d3436 0%, #374042 100%);
	color: #fff;
	text-align: center;
}

.aym-btn-primary--light {
	background: #fff;
	color: #2d3436;
	box-shadow: none;
}

@media (max-width: 1000px) {
	.aym-contact-grid--top,
	.aym-contact-layout {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 700px) {
	.aym-contact-form__row {
		grid-template-columns: 1fr;
	}

	.aym-contact-hero {
		padding: 70px 20px;
	}
}

/* SERVICES ARCHIVE - PREMIUM REVAMP */

.services-page-wrap {
	background: #faf8f5;
}

.services-hero {
	padding: 90px 20px 75px;
	background: linear-gradient(135deg, #faf8f5 0%, #f5f0e8 100%);
	text-align: center;
	position: relative;
	overflow: hidden;
}

.services-hero__inner {
	max-width: 920px;
	margin: 0 auto;
}

.services-kicker {
	display: inline-block;
	padding: 9px 18px;
	border-radius: 999px;
	background: rgba(201, 168, 108, 0.15);
	color: #c9a86c;
	font-weight: 700;
	font-size: 14px;
	margin-bottom: 22px;
}

.services-title {
	font-family: "Playfair Display", serif;
	font-size: clamp(38px, 6vw, 64px);
	line-height: 1.08;
	margin: 0 0 18px;
	color: #2d3436;
}

.services-lead {
	max-width: 820px;
	margin: 0 auto;
	font-size: 19px;
	line-height: 1.8;
	color: #636e72;
}

.services-hero__actions {
	display: flex;
	justify-content: center;
	gap: 16px;
	flex-wrap: wrap;
	margin-top: 30px;
}

.services-intro {
	padding-top: 70px;
	padding-bottom: 10px;
}

.services-intro__grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 30px;
	align-items: center;
}

.services-section-title {
	font-family: "Playfair Display", serif;
	font-size: clamp(30px, 4vw, 42px);
	line-height: 1.15;
	margin: 0;
	color: #2d3436;
}

.services-section-text {
	margin: 0;
	font-size: 18px;
	line-height: 1.8;
	color: #636e72;
}

.services-archive {
	padding-top: 20px;
	padding-bottom: 40px;
}

.services-grid {
	gap: 30px;
}

.service-card--revamp {
	background: #fff;
	border-radius: 24px;
	overflow: hidden;
	box-shadow: 0 12px 40px -12px rgba(0, 0, 0, 0.10);
	border: 1px solid rgba(45, 52, 54, 0.05);
	display: flex;
	flex-direction: column;
	height: 100%;
	transition: transform 0.28s ease, box-shadow 0.28s ease;
}

.service-card--revamp:hover {
	transform: translateY(-8px);
	box-shadow: 0 20px 50px -18px rgba(0, 0, 0, 0.16);
}

.service-card__top {
	height: 190px;
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
}

.service-card__top--gold {
	background: linear-gradient(135deg, #d4a574 0%, #c9a86c 50%, #b8956a 100%);
}

.service-card__top--green {
	background: linear-gradient(135deg, #7fa487 0%, #5a6c57 50%, #496047 100%);
}

.service-card__top--earth {
	background: linear-gradient(135deg, #b98a72 0%, #a97662 50%, #935f4f 100%);
}

.service-card__top--plum {
	background: linear-gradient(135deg, #8f86bf 0%, #736aa6 50%, #5e568e 100%);
}

.service-card__icon {
	width: 84px;
	height: 84px;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.22);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 40px;
	box-shadow: inset 0 1px 0 rgba(255,255,255,0.2);
}

.service-card__body {
	padding: 28px;
	display: flex;
	flex-direction: column;
	flex: 1;
}

.service-card__meta {
	display: inline-block;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: #c9a86c;
	margin-bottom: 12px;
}

.service-card__title {
	margin: 0 0 12px;
	font-size: 24px;
	line-height: 1.2;
}

.service-card__title a {
	color: #2d3436;
	text-decoration: none;
}

.service-card__title a:hover {
	color: #5a6c57;
}

.service-card__excerpt {
	margin: 0;
	font-size: 15px;
	line-height: 1.75;
	color: #636e72;
}

.service-card__actions {
	margin-top: auto;
	padding-top: 22px;
}

.service-card__button {
	border-radius: 999px;
	padding: 12px 22px;
	font-weight: 700;
}

.services-pagination {
	margin-top: 30px;
	text-align: center;
}

.services-empty {
	background: #fff;
	border-radius: 24px;
	padding: 42px 30px;
	text-align: center;
	box-shadow: 0 12px 40px -12px rgba(0,0,0,0.10);
}

.services-empty h3 {
	margin: 0 0 10px;
	font-size: 24px;
	color: #2d3436;
}

.services-empty p {
	margin: 0;
	color: #636e72;
}

.services-values {
	padding-top: 20px;
	padding-bottom: 80px;
}

.services-values__panel {
	background: linear-gradient(135deg, #f1f1ef 0%, #e7e3dc 100%);
	border-radius: 28px;
	padding: 28px;
}

.services-values__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 24px;
}

.services-values__item {
	background: rgba(255,255,255,0.6);
	border-radius: 999px;
	padding: 30px 22px;
	text-align: center;
	min-height: 210px;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.services-values__icon {
	font-size: 34px;
	margin-bottom: 10px;
}

.services-values__item h3 {
	margin: 0 0 10px;
	font-size: 22px;
	color: #2d3436;
}

.services-values__item p {
	margin: 0;
	color: #636e72;
	line-height: 1.7;
}

.services-cta {
	padding: 80px 20px;
	background: linear-gradient(135deg, #c9a86c 0%, #b8956a 100%);
	color: #fff;
	text-align: center;
}

.services-cta__inner {
	max-width: 900px;
	margin: 0 auto;
}

.services-cta__inner h2 {
	font-family: "Playfair Display", serif;
	font-size: clamp(32px, 4vw, 42px);
	line-height: 1.15;
	margin: 0 0 14px;
}

.services-cta__inner p {
	max-width: 760px;
	margin: 0 auto;
	font-size: 19px;
	line-height: 1.8;
	color: rgba(255,255,255,0.92);
}

.btn-light {
	background: #fff !important;
	color: #c9a86c !important;
	border-color: #fff !important;
}

.btn-outline-light {
	background: transparent !important;
	color: #fff !important;
	border-color: #fff !important;
}

@media (max-width: 1000px) {
	.services-intro__grid,
	.services-values__grid {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 768px) {
	.services-hero {
		padding: 72px 20px 56px;
	}

	.services-grid {
		gap: 22px;
	}

	.services-values__item {
		border-radius: 24px;
		min-height: auto;
	}
}

/* SINGLE SERVICE PAGE */

.single-service-page-wrap {
	background: #faf8f5;
}

.single-service-hero {
	padding: 95px 20px 80px;
	color: #fff;
	text-align: center;
	position: relative;
	overflow: hidden;
}

.single-service-hero--gold {
	background: linear-gradient(135deg, #d4a574 0%, #c9a86c 50%, #b8956a 100%);
}

.single-service-hero--green {
	background: linear-gradient(135deg, #7fa487 0%, #5a6c57 50%, #496047 100%);
}

.single-service-hero--earth {
	background: linear-gradient(135deg, #b98a72 0%, #a97662 50%, #935f4f 100%);
}

.single-service-hero--plum {
	background: linear-gradient(135deg, #8f86bf 0%, #736aa6 50%, #5e568e 100%);
}

.single-service-hero__inner {
	max-width: 920px;
	margin: 0 auto;
}

.single-service-hero__badge {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 10px 18px;
	border-radius: 999px;
	background: rgba(255,255,255,0.16);
	font-weight: 700;
	font-size: 14px;
	margin-bottom: 24px;
}

.single-service-hero__badge-icon {
	font-size: 18px;
}

.single-service-title {
	font-family: "Playfair Display", serif;
	font-size: clamp(38px, 6vw, 64px);
	line-height: 1.08;
	margin: 0 0 18px;
	color: #fff;
}

.single-service-lead {
	max-width: 820px;
	margin: 0 auto;
	font-size: 19px;
	line-height: 1.8;
	color: rgba(255,255,255,0.92);
}

.single-service-hero__actions {
	display: flex;
	justify-content: center;
	gap: 16px;
	flex-wrap: wrap;
	margin-top: 30px;
}

.single-service-content {
	padding-top: 70px;
	padding-bottom: 30px;
}

.single-service-layout {
	display: grid;
	grid-template-columns: 1.2fr 0.8fr;
	gap: 30px;
	align-items: start;
}

.single-service-content__card {
	background: #fff;
	border-radius: 26px;
	padding: 34px;
	box-shadow: 0 12px 40px -12px rgba(0,0,0,0.10);
}

.single-service-content__meta {
	display: inline-block;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: #c9a86c;
	margin-bottom: 16px;
}

.single-service-entry {
	color: #636e72;
	font-size: 17px;
	line-height: 1.9;
}

.single-service-entry h2,
.single-service-entry h3,
.single-service-entry h4 {
	color: #2d3436;
	font-family: "Playfair Display", serif;
	line-height: 1.2;
	margin-top: 0;
}

.single-service-entry h2 {
	font-size: 34px;
	margin-bottom: 16px;
}

.single-service-entry h3 {
	font-size: 28px;
	margin: 28px 0 14px;
}

.single-service-entry h4 {
	font-size: 22px;
	margin: 24px 0 12px;
}

.single-service-entry p {
	margin: 0 0 18px;
}

.single-service-entry ul,
.single-service-entry ol {
	margin: 0 0 18px;
	padding-left: 22px;
}

.single-service-entry li {
	margin-bottom: 8px;
}

.single-service-side {
	display: grid;
	gap: 24px;
}

.single-service-side__card {
	background: #fff;
	border-radius: 26px;
	padding: 30px;
	box-shadow: 0 12px 40px -12px rgba(0,0,0,0.10);
}

.single-service-side__card--panel {
	background: linear-gradient(135deg, #f1f1ef 0%, #e7e3dc 100%);
}

.single-service-side__card h3 {
	font-family: "Playfair Display", serif;
	font-size: 30px;
	line-height: 1.15;
	margin: 0 0 16px;
	color: #2d3436;
}

.single-service-side__card p {
	margin: 0;
	color: #636e72;
	line-height: 1.8;
}

.single-service-benefit {
	display: flex;
	gap: 14px;
	align-items: flex-start;
	margin-bottom: 18px;
}

.single-service-benefit:last-child {
	margin-bottom: 0;
}

.single-service-benefit__icon {
	width: 46px;
	height: 46px;
	border-radius: 50%;
	background: rgba(201,168,108,0.15);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 20px;
	flex: 0 0 46px;
}

.single-service-benefit h4 {
	margin: 0 0 4px;
	font-size: 18px;
	color: #2d3436;
}

.single-service-benefit p {
	margin: 0;
	color: #636e72;
	line-height: 1.7;
}

.single-service-side__actions {
	display: flex;
	gap: 14px;
	flex-wrap: wrap;
	margin-top: 22px;
}

.single-service-strip {
	padding-top: 20px;
	padding-bottom: 80px;
}

.single-service-strip__panel {
	background: linear-gradient(135deg, #f1f1ef 0%, #e7e3dc 100%);
	border-radius: 28px;
	padding: 28px;
}

.single-service-strip__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 24px;
}

.single-service-strip__item {
	background: rgba(255,255,255,0.6);
	border-radius: 999px;
	padding: 30px 22px;
	text-align: center;
	min-height: 210px;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.single-service-strip__icon {
	font-size: 34px;
	margin-bottom: 10px;
}

.single-service-strip__item h3 {
	margin: 0 0 10px;
	font-size: 22px;
	color: #2d3436;
}

.single-service-strip__item p {
	margin: 0;
	color: #636e72;
	line-height: 1.7;
}

.single-service-cta {
	padding: 80px 20px;
	background: linear-gradient(135deg, #2d3436 0%, #374042 100%);
	color: #fff;
	text-align: center;
}

.single-service-cta__inner {
	max-width: 900px;
	margin: 0 auto;
}

.single-service-cta__inner h2 {
	font-family: "Playfair Display", serif;
	font-size: clamp(32px, 4vw, 42px);
	line-height: 1.15;
	margin: 0 0 14px;
}

.single-service-cta__inner p {
	max-width: 760px;
	margin: 0 auto;
	font-size: 19px;
	line-height: 1.8;
	color: rgba(255,255,255,0.82);
}

@media (max-width: 1000px) {
	.single-service-layout,
	.single-service-strip__grid {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 768px) {
	.single-service-hero {
		padding: 78px 20px 60px;
	}

	.single-service-content__card,
	.single-service-side__card {
		padding: 26px;
	}

	.single-service-strip__item {
		border-radius: 24px;
		min-height: auto;
	}
}


/* LEGAL PAGE */

.legal-page-wrap {
	background: #faf8f5;
}

.legal-hero {
	padding: 80px 20px 40px;
	background: linear-gradient(135deg, #faf8f5 0%, #f5f0e8 100%);
	text-align: center;
}

.legal-kicker {
	display: inline-block;
	padding: 9px 18px;
	border-radius: 999px;
	background: rgba(201, 168, 108, 0.15);
	color: #c9a86c;
	font-weight: 700;
	font-size: 14px;
	margin-bottom: 20px;
}

.legal-title {
	font-family: "Playfair Display", serif;
	font-size: clamp(34px, 5vw, 56px);
	line-height: 1.1;
	color: #2d3436;
	margin: 0 0 16px;
}

.legal-lead {
	max-width: 760px;
	margin: 0 auto;
	font-size: 18px;
	line-height: 1.8;
	color: #636e72;
}

.legal-content {
	padding: 40px 20px 80px;
}

.legal-layout {
	display: grid;
	grid-template-columns: 280px minmax(0, 1fr);
	gap: 30px;
	align-items: start;
}

.legal-toc {
	position: sticky;
	top: 30px;
}

.legal-toc__card {
	background: #fff;
	border-radius: 24px;
	padding: 24px;
	box-shadow: 0 12px 40px -12px rgba(0,0,0,0.10);
}

.legal-toc__card h3 {
	font-family: "Playfair Display", serif;
	font-size: 24px;
	line-height: 1.2;
	margin: 0 0 16px;
	color: #2d3436;
}

.legal-toc__list {
	display: grid;
	gap: 10px;
}

.legal-toc__link {
	text-decoration: none;
	color: #5a6c57;
	font-weight: 600;
	line-height: 1.5;
	padding: 8px 0;
	border-bottom: 1px solid rgba(45,52,54,0.08);
}

.legal-toc__link:hover {
	color: #c9a86c;
}

.legal-main {
	min-width: 0;
}

.legal-content-card {
	background: #fff;
	border-radius: 26px;
	padding: 40px;
	box-shadow: 0 12px 40px -12px rgba(0,0,0,0.10);
}

.legal-content-card h1 {
	font-family: "Playfair Display", serif;
	font-size: 42px;
	line-height: 1.15;
	color: #2d3436;
	margin-top: 0;
	margin-bottom: 20px;
}

.legal-content-card h2 {
	font-family: "Playfair Display", serif;
	font-size: 30px;
	line-height: 1.2;
	color: #2d3436;
	margin-top: 34px;
	margin-bottom: 14px;
	scroll-margin-top: 24px;
}

.legal-content-card p {
	color: #636e72;
	line-height: 1.9;
	margin: 0 0 18px;
	font-size: 16px;
}

.legal-content-card ul,
.legal-content-card ol {
	color: #636e72;
	line-height: 1.9;
	margin: 0 0 18px;
	padding-left: 22px;
}

.legal-content-card li {
	margin-bottom: 8px;
}

.legal-content-card a {
	color: #5a6c57;
	text-decoration: none;
}

.legal-content-card a:hover {
	color: #c9a86c;
}

@media (max-width: 1000px) {
	.legal-layout {
		grid-template-columns: 1fr;
	}

	.legal-toc {
		position: static;
	}
}

@media (max-width: 700px) {
	.legal-hero {
		padding: 65px 20px 30px;
	}

	.legal-content-card,
	.legal-toc__card {
		padding: 24px;
	}

	.legal-title {
		font-size: 38px;
	}

	.legal-content-card h1 {
		font-size: 34px;
	}

	.legal-content-card h2 {
		font-size: 26px;
	}
}


/* LEGAL PAGE */

.legal-page-wrap {
	background: #faf8f5;
}

.legal-hero {
	padding: 85px 20px 42px;
	background: linear-gradient(135deg, #faf8f5 0%, #f5f0e8 100%);
	text-align: center;
}

.legal-hero__inner {
	max-width: 860px;
	margin: 0 auto;
}

.legal-kicker {
	display: inline-block;
	padding: 9px 18px;
	border-radius: 999px;
	background: rgba(201, 168, 108, 0.15);
	color: #c9a86c;
	font-weight: 700;
	font-size: 14px;
	margin-bottom: 20px;
}

.legal-title {
	font-family: "Playfair Display", serif;
	font-size: clamp(38px, 5vw, 58px);
	line-height: 1.08;
	color: #2d3436;
	margin: 0 0 16px;
}

.legal-lead {
	max-width: 760px;
	margin: 0 auto;
	font-size: 18px;
	line-height: 1.8;
	color: #636e72;
}

.legal-content {
	padding: 40px 20px 90px;
}

.legal-layout {
	display: grid;
	grid-template-columns: 280px minmax(0, 1fr);
	gap: 30px;
	align-items: start;
}

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

.legal-toc-card {
	background: #fff;
	border-radius: 24px;
	padding: 24px;
	box-shadow: 0 12px 40px -12px rgba(0,0,0,0.10);
}

.legal-toc-card h3 {
	font-family: "Playfair Display", serif;
	font-size: 24px;
	line-height: 1.2;
	margin: 0 0 16px;
	color: #2d3436;
}

.legal-toc-list {
	display: grid;
	gap: 8px;
}

.legal-toc-link {
	display: block;
	text-decoration: none;
	color: #5a6c57;
	font-weight: 600;
	line-height: 1.5;
	padding: 9px 0;
	border-bottom: 1px solid rgba(45,52,54,0.08);
}

.legal-toc-link:hover {
	color: #c9a86c;
}

.legal-main {
	min-width: 0;
}

.legal-content-card {
	background: #fff;
	border-radius: 26px;
	padding: 40px;
	box-shadow: 0 12px 40px -12px rgba(0,0,0,0.10);
}

.legal-content-card h1 {
	font-family: "Playfair Display", serif;
	font-size: 42px;
	line-height: 1.15;
	color: #2d3436;
	margin-top: 0;
	margin-bottom: 20px;
}

.legal-content-card h2 {
	font-family: "Playfair Display", serif;
	font-size: 30px;
	line-height: 1.2;
	color: #2d3436;
	margin-top: 34px;
	margin-bottom: 14px;
	scroll-margin-top: 24px;
}

.legal-content-card p {
	color: #636e72;
	line-height: 1.9;
	margin: 0 0 18px;
	font-size: 16px;
}

.legal-content-card ul,
.legal-content-card ol {
	color: #636e72;
	line-height: 1.9;
	margin: 0 0 18px;
	padding-left: 22px;
}

.legal-content-card li {
	margin-bottom: 8px;
}

.legal-content-card a {
	color: #5a6c57;
	text-decoration: none;
}

.legal-content-card a:hover {
	color: #c9a86c;
}

@media (max-width: 1000px) {
	.legal-layout {
		grid-template-columns: 1fr;
	}

	.legal-sidebar {
		position: static;
	}
}

@media (max-width: 700px) {
	.legal-hero {
		padding: 68px 20px 30px;
	}

	.legal-content-card,
	.legal-toc-card {
		padding: 24px;
	}

	.legal-title {
		font-size: 40px;
	}

	.legal-content-card h1 {
		font-size: 34px;
	}

	.legal-content-card h2 {
		font-size: 26px;
	}
}

/* DEFAULT PAGE TEMPLATE */

.page-wrap {
	background: #faf8f5;
}

.page-hero {
	padding: 80px 20px 36px;
	background: linear-gradient(135deg, #faf8f5 0%, #f5f0e8 100%);
	text-align: center;
}

.page-hero__inner {
	max-width: 860px;
	margin: 0 auto;
}

.page-title {
	font-family: "Playfair Display", serif;
	font-size: clamp(36px, 5vw, 56px);
	line-height: 1.08;
	color: #2d3436;
	margin: 0 0 14px;
}

.page-lead {
	max-width: 760px;
	margin: 0 auto;
	font-size: 18px;
	line-height: 1.8;
	color: #636e72;
}

.page-content-card {
	background: #fff;
	border-radius: 26px;
	padding: 40px;
	box-shadow: 0 12px 40px -12px rgba(0,0,0,0.10);
}

.page-content {
	color: #636e72;
	font-size: 16px;
	line-height: 1.9;
}

.page-content h2,
.page-content h3,
.page-content h4 {
	font-family: "Playfair Display", serif;
	color: #2d3436;
	line-height: 1.2;
}

.page-content h2 {
	font-size: 30px;
	margin-top: 34px;
	margin-bottom: 14px;
}

.page-content h3 {
	font-size: 24px;
	margin-top: 28px;
	margin-bottom: 12px;
}

.page-content p {
	margin: 0 0 18px;
}

.page-content ul,
.page-content ol {
	margin: 0 0 18px;
	padding-left: 22px;
}

.page-content li {
	margin-bottom: 8px;
}

@media (max-width: 700px) {
	.page-hero {
		padding: 65px 20px 28px;
	}

	.page-content-card {
		padding: 24px;
	}

	.page-title {
		font-size: 40px;
	}
}

/* DEFAULT PAGE */

.page-wrap {
  background: #faf8f5;
}

.page-hero {
  padding: 80px 20px 36px;
  background: linear-gradient(135deg, #faf8f5 0%, #f5f0e8 100%);
  text-align: center;
}

.page-hero__inner {
  max-width: 860px;
  margin: 0 auto;
}

.page-title {
  font-family: "Playfair Display", serif;
  font-size: clamp(36px, 5vw, 56px);
  line-height: 1.08;
  color: #2d3436;
  margin: 0 0 14px;
}

.page-lead {
  max-width: 760px;
  margin: 0 auto;
  font-size: 18px;
  line-height: 1.8;
  color: #636e72;
}

.page-content-card {
  background: #fff;
  border-radius: 26px;
  padding: 40px;
  box-shadow: 0 12px 40px -12px rgba(0,0,0,0.10);
}

.page-content {
  color: #636e72;
  font-size: 16px;
  line-height: 1.9;
}

.page-content h2,
.page-content h3,
.page-content h4 {
  font-family: "Playfair Display", serif;
  color: #2d3436;
  line-height: 1.2;
}

.page-content h2 {
  font-size: 30px;
  margin-top: 34px;
  margin-bottom: 14px;
}

.page-content h3 {
  font-size: 24px;
  margin-top: 28px;
  margin-bottom: 12px;
}

.page-content p {
  margin: 0 0 18px;
}

.page-content ul,
.page-content ol {
  margin: 0 0 18px;
  padding-left: 22px;
}

.page-content li {
  margin-bottom: 8px;
}

/* LEGAL PAGE */

.legal-page-wrap {
  background: #faf8f5;
}

.legal-hero {
  padding: 85px 20px 42px;
  background: linear-gradient(135deg, #faf8f5 0%, #f5f0e8 100%);
  text-align: center;
}

.legal-hero__inner {
  max-width: 860px;
  margin: 0 auto;
}

.legal-kicker {
  display: inline-block;
  padding: 9px 18px;
  border-radius: 999px;
  background: rgba(201, 168, 108, 0.15);
  color: #c9a86c;
  font-weight: 700;
  font-size: 14px;
  margin-bottom: 20px;
}

.legal-title {
  font-family: "Playfair Display", serif;
  font-size: clamp(38px, 5vw, 58px);
  line-height: 1.08;
  color: #2d3436;
  margin: 0 0 16px;
}

.legal-lead {
  max-width: 760px;
  margin: 0 auto;
  font-size: 18px;
  line-height: 1.8;
  color: #636e72;
}

.legal-content {
  padding: 40px 20px 90px;
}

.legal-layout {
  display: grid;
  grid-template-columns: 280px minmax(0, 1fr);
  gap: 30px;
  align-items: start;
}

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

.legal-toc-card {
  background: #fff;
  border-radius: 24px;
  padding: 24px;
  box-shadow: 0 12px 40px -12px rgba(0,0,0,0.10);
}

.legal-toc-card h3 {
  font-family: "Playfair Display", serif;
  font-size: 24px;
  line-height: 1.2;
  margin: 0 0 16px;
  color: #2d3436;
}

.legal-toc-list {
  display: grid;
  gap: 8px;
}

.legal-toc-link {
  display: block;
  text-decoration: none;
  color: #5a6c57;
  font-weight: 600;
  line-height: 1.5;
  padding: 9px 0;
  border-bottom: 1px solid rgba(45,52,54,0.08);
}

.legal-toc-link:hover {
  color: #c9a86c;
}

.legal-content-card {
  background: #fff;
  border-radius: 26px;
  padding: 40px;
  box-shadow: 0 12px 40px -12px rgba(0,0,0,0.10);
}

.legal-content-card h2 {
  font-family: "Playfair Display", serif;
  font-size: 30px;
  line-height: 1.2;
  color: #2d3436;
  margin-top: 34px;
  margin-bottom: 14px;
}

.legal-content-card p,
.legal-content-card li {
  color: #636e72;
  line-height: 1.9;
  font-size: 16px;
}

@media (max-width: 1000px) {
  .legal-layout {
    grid-template-columns: 1fr;
  }

  .legal-sidebar {
    position: static;
  }
}

@media (max-width: 700px) {
  .page-hero,
  .legal-hero {
    padding: 65px 20px 28px;
  }

  .page-content-card,
  .legal-content-card,
  .legal-toc-card {
    padding: 24px;
  }

  .page-title,
  .legal-title {
    font-size: 40px;
  }
}
.subscribe-message {
  margin: 12px 0 16px;
  padding: 12px 16px;
  border-radius: 14px;
  font-size: 14px;
  font-weight: 600;
}

.subscribe-message--success {
  background: rgba(90,108,87,0.12);
  color: #5a6c57;
}

.subscribe-message--error {
  background: rgba(201,168,108,0.15);
  color: #8a6a32;
}

/* SUBSCRIBE MESSAGES */

.subscribe-message{
  margin-bottom:14px;
  padding:10px 14px;
  border-radius:10px;
  font-size:14px;
  font-weight:600;
}

.subscribe-success{
  background:rgba(90,108,87,0.12);
  color:#5a6c57;
}

.subscribe-error{
  background:rgba(201,168,108,0.15);
  color:#8a6a32;
}

/* Honeypot spam field */
.honeypot{
  position:absolute;
  left:-9999px;
}

/* AJAX SUBSCRIBE */

.subscribe {
  position: relative;
}

.subscribe-feedback {
  min-height: 24px;
  margin-bottom: 12px;
}

.subscribe-message {
  padding: 10px 14px;
  border-radius: 10px;
  font-size: 14px;
  font-weight: 600;
}

.subscribe-success {
  background: rgba(90,108,87,0.12);
  color: #5a6c57;
}

.subscribe-error {
  background: rgba(201,168,108,0.15);
  color: #8a6a32;
}

.subscribe-submit {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
}

.subscribe-spinner {
  width: 16px;
  height: 16px;
  border: 2px solid rgba(255,255,255,0.4);
  border-top-color: #fff;
  border-radius: 50%;
  display: none;
  animation: aym-spin .7s linear infinite;
}

.subscribe-submit.is-loading .subscribe-spinner {
  display: inline-block;
}

.subscribe-submit.is-loading {
  opacity: 0.9;
}

.subscribe-submit:disabled {
  cursor: not-allowed;
}

@keyframes aym-spin {
  to {
    transform: rotate(360deg);
  }
}



.subscribe-inline__group:hover{
  border-color:rgba(201,168,108,0.5);
  box-shadow:0 0 0 2px rgba(201,168,108,0.15);
}

.contact-feedback{
margin-bottom:16px;
}

.contact-success{
background:rgba(90,108,87,.12);
color:#5a6c57;
padding:12px 16px;
border-radius:10px;
font-weight:600;
}

.contact-error{
background:rgba(201,168,108,.15);
color:#8a6a32;
padding:12px 16px;
border-radius:10px;
font-weight:600;
}

.contact-spinner{
display:none;
width:16px;
height:16px;
border:2px solid rgba(255,255,255,.4);
border-top-color:#fff;
border-radius:50%;
animation:spin .7s linear infinite;
}

@keyframes spin{
to{transform:rotate(360deg)}
}

/* 
u;oad file css*/

.contact-upload {
  margin: 16px 0 20px;
}

.contact-upload label {
  display: block;
  font-weight: 700;
  margin-bottom: 8px;
  color: #2d3436;
}

.contact-upload input[type="file"] {
  width: 100%;
  padding: 12px 14px;
  border: 1px solid rgba(45,52,54,0.12);
  border-radius: 16px;
  background: #fff;
  box-sizing: border-box;
}

.contact-upload small {
  display: block;
  margin-top: 8px;
  color: #636e72;
}

/**Estimator css**/
.aym-estimator {
  padding: 80px 20px;
  background: #faf8f5;
}

.aym-estimator__wrap {
  max-width: 1100px;
  margin: 0 auto;
}

.aym-estimator__intro {
  text-align: center;
  margin-bottom: 30px;
}

.aym-estimator__pill {
  display: inline-block;
  padding: 8px 16px;
  border-radius: 999px;
  background: rgba(201,168,108,0.15);
  color: #c9a86c;
  font-weight: 700;
  font-size: 14px;
  margin-bottom: 18px;
}

.aym-estimator__intro h2 {
  font-family: "Playfair Display", serif;
  font-size: 42px;
  line-height: 1.15;
  margin: 0 0 14px;
  color: #2d3436;
}

.aym-estimator__intro p {
  max-width: 760px;
  margin: 0 auto;
  font-size: 18px;
  color: #636e72;
}

.aym-estimator__card {
  background: #fff;
  border-radius: 26px;
  padding: 34px;
  box-shadow: 0 12px 40px -12px rgba(0,0,0,0.10);
}

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

.aym-estimator__field label {
  display: block;
  font-weight: 700;
  margin-bottom: 8px;
  color: #2d3436;
}

.aym-estimator__field select {
  width: 100%;
  padding: 14px 16px;
  border: 1px solid rgba(45,52,54,0.12);
  border-radius: 16px;
  background: #fff;
  font: inherit;
}

.aym-estimator__extras {
  display: flex;
  gap: 20px;
  flex-wrap: wrap;
  margin: 24px 0 18px;
  color: #636e72;
}

.aym-estimator__extras label {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.aym-estimator__actions {
  margin-top: 10px;
}

.aym-estimator__btn,
.aym-estimator__cta {
  display: inline-block;
  padding: 15px 28px;
  border-radius: 999px;
  background: linear-gradient(135deg,#c9a86c 0%,#b8956a 100%);
  color: #fff;
  text-decoration: none;
  font-weight: 700;
  border: none;
  cursor: pointer;
}

.aym-estimator__result {
  margin-top: 28px;
  padding: 24px;
  border-radius: 22px;
  background: linear-gradient(135deg,#f1f1ef 0%,#e7e3dc 100%);
}

.aym-estimator__result h3 {
  margin: 0 0 10px;
  font-family: "Playfair Display", serif;
  font-size: 28px;
  color: #2d3436;
}

.aym-estimator__price {
  font-size: 34px;
  font-weight: 800;
  color: #5a6c57;
  margin-bottom: 10px;
}

.aym-estimator__note {
  color: #636e72;
  margin-bottom: 18px;
}

@media (max-width: 700px) {
  .aym-estimator__grid {
    grid-template-columns: 1fr;
  }

  .aym-estimator__card {
    padding: 24px;
  }
}

/* ==================================================
   HOMEPAGE SERVICES + PROJECTS REVAMP
   Safe additive styles for front page only
================================================== */

.home-services-section,
.home-projects-section {
  position: relative;
}

.home-services-section .section-head,
.home-projects-section .section-head {
  margin-bottom: 28px;
}

.home-services-section .section-head .lead,
.home-projects-section .section-head .lead {
  font-size: 18px;
  line-height: 1.75;
  color: #667085;
}

.home-services-grid,
.home-projects-grid {
  gap: 26px;
}

/* ------------------------------
   SERVICES CARDS
------------------------------ */

.home-service-card {
  border-radius: 24px;
  overflow: hidden;
  background: #fff;
  border: 1px solid rgba(31,41,55,0.08);
  box-shadow: 0 16px 44px -16px rgba(17,24,39,0.10);
  transition: transform .28s ease, box-shadow .28s ease, border-color .28s ease;
  display: flex;
  flex-direction: column;
  min-height: 100%;
}

.home-service-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 24px 54px -20px rgba(17,24,39,0.16);
  border-color: rgba(202,162,74,0.28);
}

.home-service-card__media {
  display: block;
  position: relative;
  height: 220px;
  overflow: hidden;
  background: linear-gradient(135deg, rgba(202,162,74,0.18), rgba(138,106,58,0.12));
}

.home-service-card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .5s ease;
}

.home-service-card:hover .home-service-card__media img {
  transform: scale(1.06);
}

.home-service-card__media--placeholder {
  background:
    linear-gradient(135deg, rgba(202,162,74,0.22), rgba(138,106,58,0.14)),
    radial-gradient(circle at top right, rgba(255,255,255,0.35), transparent 35%);
}

.home-service-card .card-body {
  padding: 24px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  flex: 1;
}

.home-service-card .h3 {
  font-size: 28px;
  line-height: 1.15;
  margin: 0;
}

.home-service-card .h3 a {
  color: #1f2937;
  text-decoration: none;
}

.home-service-card .h3 a:hover {
  color: #8a6a3a;
}

.home-service-card .muted {
  color: #667085;
  line-height: 1.75;
  font-size: 16px;
}

.home-service-card .card-actions {
  margin-top: auto;
  padding-top: 8px;
}

.home-service-card .btn-secondary {
  border-radius: 999px;
  padding: 12px 20px;
  font-weight: 800;
}

/* Optional gold accent line */
.home-service-card::before {
  content: "";
  display: block;
  height: 4px;
  width: 100%;
  background: linear-gradient(90deg, #caa24a, #ddb35a);
}

/* ------------------------------
   PROJECT CARDS
------------------------------ */

.home-projects-section {
  background:
    linear-gradient(180deg, rgba(202,162,74,0.05), rgba(202,162,74,0.02));
}

.home-project-card {
  position: relative;
  border-radius: 26px;
  overflow: hidden;
  min-height: 360px;
  border: 1px solid rgba(31,41,55,0.08);
  box-shadow: 0 16px 44px -16px rgba(17,24,39,0.10);
  transition: transform .28s ease, box-shadow .28s ease;
  background:
    linear-gradient(180deg, rgba(255,255,255,0.06), rgba(17,24,39,0.22)),
    linear-gradient(135deg, rgba(202,162,74,0.18), rgba(138,106,58,0.10)),
    #fff;
}

.home-project-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 24px 54px -20px rgba(17,24,39,0.16);
}

.home-project-card .project-overlay {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(to top, rgba(17,24,39,0.56) 0%, rgba(17,24,39,0.14) 52%, transparent 100%);
}

.home-project-card .project-body {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  padding: 24px;
  z-index: 2;
}

.home-project-card .project-type {
  background: rgba(255,255,255,0.86);
  color: #8a6a3a;
  font-weight: 900;
  letter-spacing: .12em;
  padding: 8px 12px;
}

.home-project-card .h3,
.home-project-card h3 {
  color: #fff;
  font-size: 32px;
  line-height: 1.12;
  margin: 12px 0 10px;
}

.home-project-card .muted,
.home-project-card p {
  color: rgba(255,255,255,0.86);
  font-size: 17px;
  line-height: 1.7;
  margin: 0;
}

/* Decorative image feel when no actual image exists */
.home-project-card::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 18% 18%, rgba(255,255,255,0.24), transparent 24%),
    radial-gradient(circle at 82% 28%, rgba(255,255,255,0.14), transparent 18%),
    linear-gradient(135deg, transparent 0%, rgba(255,255,255,0.06) 100%);
  pointer-events: none;
  z-index: 1;
}

/* ------------------------------
   CTA buttons under sections
------------------------------ */

.home-services-section > .container > .btn,
.home-projects-section > .container > .btn,
.home-services-section .btn-primary,
.home-projects-section .btn-secondary {
  margin-top: 20px;
  border-radius: 999px;
  padding: 13px 22px;
  font-weight: 800;
}

/* ------------------------------
   RESPONSIVE
------------------------------ */

@media (max-width: 900px) {
  .home-service-card__media {
    height: 200px;
  }

  .home-project-card {
    min-height: 300px;
  }

  .home-project-card .h3,
  .home-project-card h3 {
    font-size: 28px;
  }
}

@media (max-width: 700px) {
  .home-services-section .section-head,
  .home-projects-section .section-head {
    margin-bottom: 22px;
  }

  .home-service-card .card-body,
  .home-project-card .project-body {
    padding: 20px;
  }

  .home-service-card .h3 {
    font-size: 24px;
  }

  .home-project-card {
    min-height: 260px;
  }

  .home-project-card .h3,
  .home-project-card h3 {
    font-size: 24px;
  }

  .home-services-section .section-head .lead,
  .home-projects-section .section-head .lead {
    font-size: 16px;
  }
}
 
/* ===== FULL WIDTH SERVICE PAGE FIX ===== */
.page-template-page-electrical .site-main,
.page-template-page-plumbing .site-main,
.page-template-page-kitchen .site-main,
.page-template-page-bathroom .site-main,
.page-template-page-bedroom .site-main,
.page-template-page-gardening .site-main {
  width: 100%;
  max-width: 100%;
  padding: 0;
  margin: 0;
}

.page-template-page-electrical .site-main > *,
.page-template-page-plumbing .site-main > *,
.page-template-page-kitchen .site-main > *,
.page-template-page-bathroom .site-main > *,
.page-template-page-bedroom .site-main > *,
.page-template-page-gardening .site-main > * {
  max-width: 100%;
}

.page-template-page-electrical .entry-content,
.page-template-page-plumbing .entry-content,
.page-template-page-kitchen .entry-content,
.page-template-page-bathroom .entry-content,
.page-template-page-bedroom .entry-content,
.page-template-page-gardening .entry-content,
.page-template-page-electrical article,
.page-template-page-plumbing article,
.page-template-page-kitchen article,
.page-template-page-bathroom article,
.page-template-page-bedroom article,
.page-template-page-gardening article {
  width: 100%;
  max-width: 100%;
  margin: 0;
  padding: 0;
}

/* Prevent Gutenberg constrained layout from shrinking custom service pages */
.page-template-page-electrical .is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)),
.page-template-page-plumbing .is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)),
.page-template-page-kitchen .is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)),
.page-template-page-bathroom .is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)),
.page-template-page-bedroom .is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)),
.page-template-page-gardening .is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
  max-width: 100% !important;
}

/* HOME FEATURED PROJECTS */
.project-card .card-media img{
  width:100%;
  height:220px;
  object-fit:cover;
}

.project-card{
  border-radius:22px;
  overflow:hidden;
}

.project-body{
  display:flex;
  flex-direction:column;
  gap:10px;
}

.project-type{
  display:inline-block;
  align-self:flex-start;
  padding:6px 12px;
  border-radius:999px;
  background:rgba(201,168,108,0.14);
  color:#8a6a3a;
  font-size:12px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}
/* ======= START: MOBILE MENU CSS ====*/

.mobile-menu {
	display: none;
}

.mobile-menu.is-open{
	display: block;
}
/* ======= END: MOBILE MENU CSS ====*/