:root {
  --deep: #07140f;
  --deep-2: #0b2118;
  --spruce: #10331f;
  --brand: #00a038;
  --heritage: #008000;
  --leaf: #2f6b35;
  --olive: #b0a800;
  --gold: #d8c15f;
  --gold-soft: #f4dfad;
  --cream: #f7f1df;
  --ivory: #fff8e8;
  --paper: #fffdf6;
  --ink: #111714;
  --muted: #5d685f;
  --line: rgba(17, 23, 20, 0.13);
  --dark-line: rgba(244, 223, 173, 0.2);
  --shadow: 0 28px 90px rgba(7, 20, 15, 0.18);
  --soft-shadow: 0 18px 52px rgba(7, 20, 15, 0.08);
  --radius: 30px;
  --max: 1180px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  background:
    radial-gradient(circle at 8% 0%, rgba(0, 160, 56, 0.08), transparent 26rem),
    linear-gradient(180deg, #fffaf0 0%, var(--cream) 44%, #f1e8cf 100%);
  color: var(--ink);
  line-height: 1.68;
  text-rendering: optimizeLegibility;
}
img { max-width: 100%; height: auto; }
a { color: inherit; text-decoration: none; }
p { margin: 0 0 1rem; }
strong { font-weight: 900; }
.container { width: min(var(--max), calc(100% - 38px)); margin-inline: auto; }
.narrow { max-width: 840px; }
.skip-link {
  position: absolute;
  left: -999px;
  top: 8px;
  z-index: 1000;
  background: var(--gold-soft);
  color: var(--deep);
  padding: 10px 14px;
  border-radius: 10px;
  font-weight: 900;
}
.skip-link:focus { left: 8px; }

/* Header */
.site-header {
  position: sticky;
  top: 0;
  z-index: 100;
  background: rgba(255, 248, 232, 0.94);
  backdrop-filter: blur(20px);
  box-shadow: 0 14px 42px rgba(7, 20, 15, 0.09);
  border-bottom: 1px solid rgba(7, 20, 15, 0.08);
}
.site-header.is-scrolled { box-shadow: 0 18px 54px rgba(7, 20, 15, 0.15); }
.topline {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 8px min(34px, 4vw);
  background:
    radial-gradient(circle at 12% 50%, rgba(0, 160, 56, 0.24), transparent 18rem),
    var(--deep);
  color: rgba(255, 248, 232, 0.9);
  font-size: 0.9rem;
}
.topline-left, .topline-right { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; }
.topline a { color: var(--gold-soft); font-weight: 900; }
.topline-pill {
  display: inline-flex;
  align-items: center;
  border: 1px solid rgba(244, 223, 173, 0.32);
  border-radius: 999px;
  padding: 3px 10px;
  color: var(--gold-soft);
  font-size: 0.76rem;
  font-weight: 1000;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}
.nav-wrap {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: min(1240px, calc(100% - 38px));
  margin: auto;
  padding: 12px 0;
  gap: 24px;
}
.brand {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  min-width: 230px;
}
.brand-logo-card {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 152px;
  min-width: 152px;
  height: 82px;
  padding: 8px 10px;
  border-radius: 22px;
  background: #fff;
  border: 1px solid rgba(176, 168, 0, 0.25);
  box-shadow: 0 16px 38px rgba(7, 20, 15, 0.08);
}
.brand-logo-card img { display: block; width: 132px; height: auto; }
.brand-copy { display: grid; gap: 1px; color: var(--deep); }
.brand-copy strong { font-family: Georgia, "Times New Roman", serif; font-size: 1.24rem; line-height: 1; }
.brand-copy em { font-style: normal; font-size: 0.78rem; color: var(--muted); font-weight: 800; }
.main-nav { display: flex; align-items: center; gap: 22px; font-weight: 900; color: var(--deep); }
.main-nav a { position: relative; white-space: nowrap; }
.main-nav a::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -8px;
  height: 2px;
  background: linear-gradient(90deg, var(--brand), var(--olive));
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.22s ease;
}
.main-nav a:hover::after, .main-nav a[aria-current="page"]::after { transform: scaleX(1); }
.nav-cta {
  background: linear-gradient(135deg, var(--deep), #0f3625);
  color: var(--ivory) !important;
  padding: 12px 18px;
  border-radius: 999px;
  box-shadow: 0 12px 30px rgba(7, 20, 15, 0.2);
}
.nav-cta::after { display: none; }
.nav-toggle { display: none; background: transparent; border: 0; gap: 5px; flex-direction: column; padding: 10px; }
.nav-toggle span { display: block; width: 30px; height: 2px; border-radius: 2px; background: var(--deep); }
.brand-ribbon {
  background: linear-gradient(90deg, #0e2c1f, #123d26, #0e2c1f);
  color: rgba(255, 248, 232, 0.86);
  border-top: 1px solid rgba(244, 223, 173, 0.12);
  border-bottom: 1px solid rgba(244, 223, 173, 0.12);
  font-size: 0.8rem;
  font-weight: 850;
}
.brand-ribbon div {
  width: min(1240px, calc(100% - 38px));
  margin: auto;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 20px;
  padding: 8px 0;
  flex-wrap: wrap;
}
.brand-ribbon span::before { content: "•"; color: var(--gold-soft); margin-right: 10px; }
.brand-ribbon span:first-child::before { content: ""; margin: 0; }
.mega-strip {
  display: flex;
  justify-content: center;
  gap: 26px;
  padding: 8px 20px;
  border-top: 1px solid rgba(17, 23, 20, 0.08);
  font-size: 0.78rem;
  color: #405247;
  background: rgba(255, 253, 246, 0.76);
}
.mega-strip div { display: flex; gap: 15px; flex-wrap: wrap; justify-content: center; }
.mega-strip a:hover { color: var(--deep); text-decoration: underline; text-underline-offset: 3px; }

/* Hero */
.hero-premium {
  position: relative;
  isolation: isolate;
  min-height: 790px;
  display: flex;
  align-items: center;
  overflow: hidden;
  color: var(--ivory);
  background-image:
    linear-gradient(112deg, rgba(7, 20, 15, 0.96), rgba(7, 20, 15, 0.78) 48%, rgba(7, 20, 15, 0.35)),
    var(--hero-image, url('/assets/images/elite-hero.jpg'));
  background-size: cover;
  background-position: center;
}
.hero-premium::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -2;
  background:
    radial-gradient(circle at 18% 18%, rgba(0, 160, 56, 0.22), transparent 22rem),
    radial-gradient(circle at 82% 22%, rgba(244, 223, 173, 0.24), transparent 26rem),
    linear-gradient(180deg, transparent 0%, rgba(7, 20, 15, 0.36) 100%);
}
.hero-premium::after {
  content: "";
  position: absolute;
  right: -70px;
  top: 92px;
  width: min(520px, 45vw);
  height: 340px;
  background: url('/assets/images/joes-logo.png') no-repeat center / contain;
  opacity: 0.075;
  filter: saturate(1.15);
  z-index: -1;
}
.hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.07fr) minmax(360px, 0.62fr);
  gap: 48px;
  align-items: center;
  padding: 80px 0;
}
.hero-copy { position: relative; }
.hero-copy h1 {
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(3rem, 8vw, 6.9rem);
  line-height: 0.91;
  letter-spacing: -0.067em;
  margin: 0 0 24px;
  max-width: 900px;
  text-shadow: 0 18px 48px rgba(0, 0, 0, 0.26);
}
.hero-lead {
  font-size: clamp(1.07rem, 2vw, 1.34rem);
  max-width: 760px;
  color: rgba(255, 248, 232, 0.89);
}
.eyebrow {
  text-transform: uppercase;
  letter-spacing: 0.18em;
  color: var(--gold-soft);
  font-weight: 1000;
  font-size: 0.75rem;
  margin-bottom: 12px;
}
.hero-actions { display: flex; gap: 14px; flex-wrap: wrap; margin: 32px 0; }
.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid transparent;
  border-radius: 999px;
  padding: 13px 22px;
  font-weight: 1000;
  line-height: 1;
  transition: transform 0.22s ease, box-shadow 0.22s ease, background 0.22s ease;
  cursor: pointer;
}
.button.gold {
  background: linear-gradient(135deg, var(--olive), var(--gold-soft));
  color: var(--deep);
  box-shadow: 0 16px 42px rgba(216, 193, 95, 0.28);
}
.button.gold:hover { transform: translateY(-2px); box-shadow: 0 22px 54px rgba(216, 193, 95, 0.38); }
.button.ghost { border-color: rgba(255, 248, 232, 0.38); color: var(--ivory); background: rgba(255, 255, 255, 0.08); }
.button.ghost:hover { background: rgba(255, 255, 255, 0.14); transform: translateY(-2px); }
.trust-row { display: flex; gap: 10px; flex-wrap: wrap; }
.trust-row span {
  border: 1px solid rgba(244, 223, 173, 0.32);
  background: rgba(255, 255, 255, 0.1);
  padding: 9px 13px;
  border-radius: 999px;
  font-size: 0.88rem;
  backdrop-filter: blur(12px);
}
.hero-card { align-self: stretch; display: flex; align-items: center; }

/* Forms */
.lead-form {
  position: relative;
  overflow: hidden;
  width: 100%;
  background:
    linear-gradient(180deg, rgba(255, 253, 246, 0.98), rgba(255, 248, 232, 0.96));
  color: var(--deep);
  border: 1px solid rgba(176, 168, 0, 0.36);
  border-radius: 32px;
  padding: 25px;
  box-shadow: var(--shadow);
}
.lead-form::before {
  content: "";
  position: absolute;
  right: -38px;
  top: -22px;
  width: 210px;
  height: 132px;
  background: url('/assets/images/joes-logo.png') no-repeat center / contain;
  opacity: 0.065;
}
.lead-form > * { position: relative; }
.form-head { display: flex; justify-content: space-between; gap: 12px; align-items: center; margin-bottom: 14px; }
.form-head span { color: var(--olive); text-transform: uppercase; font-weight: 1000; letter-spacing: 0.16em; font-size: 0.72rem; }
.form-head strong { font-family: Georgia, serif; font-size: 1.1rem; color: var(--deep); }
.lead-form label { display: block; font-weight: 900; font-size: 0.86rem; margin-top: 11px; color: var(--deep); }
.lead-form input, .lead-form select, .lead-form textarea {
  width: 100%;
  margin-top: 5px;
  border: 1px solid rgba(17, 23, 20, 0.15);
  border-radius: 14px;
  padding: 11px 12px;
  font: inherit;
  background: #fffef8;
  color: var(--ink);
  outline: none;
  transition: border-color 0.16s ease, box-shadow 0.16s ease;
}
.lead-form input:focus, .lead-form select:focus, .lead-form textarea:focus { border-color: var(--brand); box-shadow: 0 0 0 4px rgba(0, 160, 56, 0.12); }
.lead-form textarea { resize: vertical; }
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.hp-field { position: absolute !important; left: -10000px !important; opacity: 0 !important; }
.submit-button { width: 100%; margin-top: 16px; border: 0; }
.form-note, .form-status { font-size: 0.78rem; color: #516158; margin: 12px 0 0; }
.form-status.success { color: #126d32; font-weight: 900; }
.form-status.error { color: #9b1c1c; font-weight: 900; }

/* Sections */
.stat-band {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  background:
    radial-gradient(circle at 12% 0%, rgba(0, 160, 56, 0.28), transparent 22rem),
    var(--deep);
  color: var(--ivory);
  border-top: 1px solid var(--dark-line);
  border-bottom: 1px solid var(--dark-line);
}
.stat-band div { padding: 30px 24px; text-align: center; border-right: 1px solid rgba(244, 223, 173, 0.16); }
.stat-band strong { display: block; font-family: Georgia, serif; color: var(--gold-soft); font-size: 2.08rem; line-height: 1; }
.stat-band span { font-size: 0.9rem; color: rgba(255, 248, 232, 0.76); }
.section { padding: 96px 0; position: relative; }
.section.soft { background: #fffaf0; }
.section-head { max-width: 840px; text-align: center; margin-bottom: 38px; }
.section h2 {
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(2.12rem, 4.5vw, 4.05rem);
  line-height: 1.02;
  letter-spacing: -0.047em;
  margin: 0 0 20px;
  color: var(--deep);
}
.section h3 { font-family: Georgia, serif; font-size: 1.42rem; line-height: 1.15; margin: 0 0 12px; color: var(--deep); }
.section p { color: #36463c; }
.split { display: grid; grid-template-columns: minmax(0, 1fr) minmax(300px, 0.72fr); gap: 44px; align-items: start; }
.split.reverse { grid-template-columns: minmax(300px, 0.72fr) minmax(0, 1fr); }
.split.reverse > :first-child { order: 2; }
.lux-panel, .lux-card, .contact-card, .quote-card {
  position: relative;
  overflow: hidden;
  background:
    linear-gradient(180deg, rgba(255, 253, 246, 0.98), rgba(246, 237, 212, 0.96));
  border: 1px solid rgba(17, 23, 20, 0.12);
  border-radius: var(--radius);
  padding: 32px;
  box-shadow: var(--soft-shadow);
}
.lux-panel::after, .lux-card::after, .contact-card::after {
  content: "";
  position: absolute;
  right: -62px;
  top: -62px;
  width: 190px;
  height: 190px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(176, 168, 0, 0.18), transparent 64%);
}
.lux-panel ul, .feature-list ul { padding-left: 20px; margin: 16px 0; }
.lux-panel li, .feature-list li { margin: 8px 0; }
.feature-list { position: sticky; top: 160px; }

/* Cards and grids */
.service-card-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.service-card {
  position: relative;
  display: block;
  overflow: hidden;
  background: linear-gradient(180deg, #fffdf6, #fbf4df);
  border: 1px solid var(--line);
  border-radius: 28px;
  padding: 28px;
  min-height: 246px;
  box-shadow: 0 16px 44px rgba(7, 20, 15, 0.06);
  transition: transform 0.24s ease, box-shadow 0.24s ease, border-color 0.24s ease;
}
.service-card::before {
  content: "";
  display: block;
  width: 48px;
  height: 48px;
  margin-bottom: 18px;
  border-radius: 16px;
  background:
    radial-gradient(circle at 70% 28%, rgba(244, 223, 173, 0.9), transparent 40%),
    linear-gradient(135deg, var(--brand), var(--deep));
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.22), 0 10px 24px rgba(0, 160, 56, 0.18);
}
.service-card::after {
  content: "";
  position: absolute;
  right: -80px;
  bottom: -80px;
  width: 180px;
  height: 180px;
  border-radius: 50%;
  background: rgba(0, 160, 56, 0.08);
}
.service-card:hover { transform: translateY(-7px); box-shadow: 0 28px 74px rgba(7, 20, 15, 0.14); border-color: rgba(0, 160, 56, 0.25); }
.service-card span { display: inline-flex; color: var(--olive); font-weight: 1000; text-transform: uppercase; letter-spacing: 0.13em; font-size: 0.7rem; margin-bottom: 14px; }
.service-card p { color: #56625a; }
.city-card-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 15px; }
.city-card {
  position: relative;
  overflow: hidden;
  background: linear-gradient(145deg, var(--deep), #0f3725);
  color: var(--ivory);
  border: 1px solid rgba(216, 193, 95, 0.26);
  border-radius: 22px;
  padding: 20px;
  min-height: 118px;
  box-shadow: 0 16px 42px rgba(7, 20, 15, 0.12);
  transition: transform 0.22s ease, background 0.22s ease;
}
.city-card::after { content: ""; position: absolute; right: -40px; bottom: -55px; width: 120px; height: 120px; border-radius: 50%; background: rgba(176, 168, 0, 0.14); }
.city-card:hover { transform: translateY(-4px); background: linear-gradient(145deg, #0b2017, #145132); }
.city-card strong { display: block; font-family: Georgia, serif; font-size: 1.22rem; }
.city-card span { color: rgba(255, 248, 232, 0.72); font-size: 0.9rem; }
.process-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin-top: 24px; }
.process-grid div {
  background: #fffdf6;
  border: 1px solid var(--line);
  border-radius: 25px;
  padding: 27px;
  box-shadow: 0 14px 40px rgba(7, 20, 15, 0.05);
}
.process-grid span {
  display: inline-flex;
  width: 50px;
  height: 50px;
  border-radius: 50%;
  align-items: center;
  justify-content: center;
  background: var(--deep);
  color: var(--gold-soft);
  font-weight: 1000;
  margin-bottom: 18px;
}
.content-columns { display: grid; grid-template-columns: 1fr 1fr; gap: 44px; }
.gallery-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.gallery-item {
  background: #fffdf6;
  border: 1px solid var(--line);
  border-radius: 28px;
  overflow: hidden;
  box-shadow: 0 18px 50px rgba(7, 20, 15, 0.08);
}
.gallery-item h3, .gallery-item p { padding: 0 22px; }
.gallery-item h3 { margin-top: 20px; }
.gallery-item p { padding-bottom: 22px; color: #56625a; }
.gallery-art { height: 240px; background-size: cover; background-position: center; }
.gallery-item img { display: block; }
.art-one { background-image: url('/assets/images/v15-service-lawn-mowing.jpg'); }
.art-two { background-image: url('/assets/images/v15-service-mulch-installation.jpg'); }
.art-three { background-image: url('/assets/images/v15-service-landscaping.jpg'); }
.quote-card {
  background:
    radial-gradient(circle at 90% 10%, rgba(244, 223, 173, 0.14), transparent 18rem),
    linear-gradient(145deg, var(--deep), #0e3222);
  color: var(--ivory);
  border-color: rgba(216, 193, 95, 0.28);
}
.quote-card blockquote { font-family: Georgia, serif; font-size: clamp(2rem, 4vw, 3.5rem); line-height: 1.05; margin: 0; color: var(--ivory); }
.quote-card cite { display: block; color: var(--gold-soft); margin-top: 18px; font-weight: 1000; }
.faq-list { display: grid; gap: 12px; }
.faq-list details { background: #fffdf6; border: 1px solid var(--line); border-radius: 18px; padding: 18px 20px; }
.faq-list summary { font-weight: 1000; cursor: pointer; color: var(--deep); }
.faq-list p { margin-top: 12px; color: #536159; }
.map-frame { border-radius: var(--radius); overflow: hidden; min-height: 420px; box-shadow: var(--shadow); border: 1px solid rgba(216, 193, 95, 0.28); background: var(--deep); }
.map-frame iframe { width: 100%; height: 100%; min-height: 420px; border: 0; display: block; }
.service-city-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 15px; }
.service-city-link {
  display: block;
  background: #fffdf6;
  border: 1px solid var(--line);
  border-radius: 21px;
  padding: 20px;
  transition: transform 0.22s ease, box-shadow 0.22s ease;
}
.service-city-link:hover { transform: translateY(-3px); box-shadow: 0 18px 46px rgba(7, 20, 15, 0.1); }
.service-city-link strong { display: block; color: var(--deep); font-family: Georgia, serif; }
.service-city-link span { display: block; color: #607066; font-size: 0.9rem; margin-top: 5px; }
.link-cloud { display: flex; gap: 10px; flex-wrap: wrap; }
.link-cloud a { background: #fffdf6; border: 1px solid var(--line); border-radius: 999px; padding: 9px 13px; font-weight: 900; color: var(--deep); }
.link-cloud a:hover { background: var(--deep); color: var(--ivory); }
.link-columns { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; }
.breadcrumbs { width: min(var(--max), calc(100% - 38px)); margin: 18px auto 0; color: #68766e; font-size: 0.88rem; }
.breadcrumbs a { text-decoration: underline; text-underline-offset: 3px; }
.breadcrumbs span { margin: 0 8px; }
.contact-card a { text-decoration: underline; text-underline-offset: 3px; color: var(--deep); font-weight: 900; }

/* Footer */
.site-footer {
  position: relative;
  overflow: hidden;
  background:
    url('/assets/images/brand-pattern.svg') center / 360px 360px,
    var(--deep);
  color: rgba(255, 248, 232, 0.82);
  padding: 0 0 28px;
}
.site-footer::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(7, 20, 15, 0.74), rgba(7, 20, 15, 0.96));
  pointer-events: none;
}
.site-footer > * { position: relative; }
.footer-cta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  width: min(var(--max), calc(100% - 38px));
  margin: auto;
  padding: 58px 0;
  border-bottom: 1px solid rgba(244, 223, 173, 0.18);
}
.footer-cta h2 { font-family: Georgia, serif; color: var(--ivory); font-size: clamp(2rem, 4vw, 3.7rem); line-height: 1.02; margin: 0; max-width: 860px; }
.footer-grid { display: grid; grid-template-columns: 1.35fr 1fr 1fr 0.9fr; gap: 34px; width: min(var(--max), calc(100% - 38px)); margin: auto; padding: 48px 0; }
.footer-logo-card { display: inline-flex; background: #fff; border-radius: 22px; padding: 12px 14px; margin-bottom: 18px; border: 1px solid rgba(244, 223, 173, 0.28); }
.footer-logo { width: 174px; display: block; }
.footer-tagline { color: rgba(255, 248, 232, 0.8); }
.bbb-badge { display: block; width: 68px; margin-top: 14px; border-radius: 9px; border: 2px solid rgba(255, 248, 232, 0.2); }
.site-footer h3 { font-family: Georgia, serif; color: var(--gold-soft); margin: 0 0 14px; }
.site-footer ul { list-style: none; padding: 0; margin: 0; display: grid; gap: 7px; }
.site-footer a { color: var(--ivory); }
.site-footer a:hover { color: var(--gold-soft); }
.footer-mini-card { margin-top: 20px; border: 1px solid rgba(244, 223, 173, 0.24); border-radius: 18px; padding: 14px; background: rgba(255, 255, 255, 0.06); display: grid; gap: 4px; }
.footer-mini-card strong { color: var(--gold-soft); }
.footer-bottom { display: flex; justify-content: space-between; gap: 18px; width: min(var(--max), calc(100% - 38px)); margin: auto; padding-top: 22px; border-top: 1px solid rgba(244, 223, 173, 0.12); font-size: 0.85rem; }
.mobile-call { display: none; }

@media (max-width: 1100px) {
  .brand-copy { display: none; }
  .main-nav { gap: 16px; font-size: 0.94rem; }
}
@media (max-width: 1000px) {
  .hero-grid, .split, .split.reverse, .content-columns, .link-columns { grid-template-columns: 1fr; }
  .split.reverse > :first-child { order: 0; }
  .hero-premium { min-height: auto; }
  .service-card-grid, .service-city-grid, .gallery-grid { grid-template-columns: repeat(2, 1fr); }
  .city-card-grid { grid-template-columns: repeat(3, 1fr); }
  .feature-list { position: relative; top: auto; }
  .mega-strip { display: none; }
  .footer-grid { grid-template-columns: 1fr 1fr; }
  .stat-band { grid-template-columns: repeat(2, 1fr); }
  .topline { align-items: flex-start; }
}
@media (max-width: 760px) {
  body { padding-bottom: 62px; }
  .topline, .brand-ribbon { display: none; }
  .nav-wrap { padding: 10px 0; }
  .brand-logo-card { width: 136px; min-width: 136px; height: 74px; border-radius: 18px; }
  .brand-logo-card img { width: 118px; }
  .nav-toggle { display: flex; }
  .main-nav {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    display: none;
    background: var(--ivory);
    padding: 20px;
    box-shadow: 0 20px 40px rgba(7, 20, 15, 0.12);
    flex-direction: column;
    align-items: flex-start;
  }
  .main-nav.open { display: flex; }
  .hero-grid { padding: 54px 0; gap: 30px; }
  .hero-copy h1 { font-size: clamp(2.7rem, 13vw, 4.6rem); }
  .hero-card { display: block; }
  .form-row { grid-template-columns: 1fr; }
  .section { padding: 66px 0; }
  .service-card-grid, .service-city-grid, .gallery-grid, .city-card-grid, .process-grid, .footer-grid { grid-template-columns: 1fr; }
  .footer-cta, .footer-bottom { flex-direction: column; align-items: flex-start; }
  .stat-band { grid-template-columns: 1fr; }
  .mobile-call {
    display: flex;
    position: fixed;
    z-index: 120;
    left: 12px;
    right: 12px;
    bottom: 10px;
    justify-content: center;
    align-items: center;
    background: linear-gradient(135deg, var(--olive), var(--gold-soft));
    color: var(--deep);
    border-radius: 999px;
    padding: 14px;
    font-weight: 1000;
    box-shadow: 0 12px 38px rgba(7, 20, 15, 0.3);
  }
}

/* Luxury mega navigation refresh */
.nav-wrap-mega {
  width: min(1320px, calc(100% - 38px));
  gap: 18px;
  position: relative;
}
.main-nav-mega {
  gap: 8px;
  font-size: 0.9rem;
}
.main-nav-mega a::after,
.main-nav-mega button::after,
.main-nav-mega .mega-link::after,
.main-nav-mega .call-pill::after { display: none !important; }
.nav-link,
.mega-trigger {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 44px;
  border: 1px solid transparent;
  border-radius: 999px;
  padding: 10px 13px;
  background: transparent;
  color: var(--deep);
  font: inherit;
  font-weight: 1000;
  cursor: pointer;
  white-space: nowrap;
  transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease, transform 0.2s ease;
}
.nav-link:hover,
.mega-trigger:hover,
.nav-link[aria-current="page"] {
  background: rgba(0, 160, 56, 0.08);
  border-color: rgba(0, 160, 56, 0.18);
  color: #082618;
}
.nav-item { position: static; }
.mega-menu {
  position: absolute;
  left: 50%;
  top: calc(100% + 8px);
  width: min(1240px, calc(100vw - 38px));
  transform: translateX(-50%) translateY(12px) scale(0.985);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.18s ease, transform 0.18s ease, visibility 0.18s ease;
  z-index: 102;
}
.nav-has-mega:hover .mega-menu,
.nav-has-mega:focus-within .mega-menu {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateX(-50%) translateY(0) scale(1);
}
.nav-has-mega:hover .mega-trigger,
.nav-has-mega:focus-within .mega-trigger {
  background: var(--deep);
  border-color: rgba(244, 223, 173, 0.26);
  color: var(--ivory);
  box-shadow: 0 16px 34px rgba(7, 20, 15, 0.18);
}
.mega-content {
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(244, 223, 173, 0.2);
  border-radius: 30px;
  padding: 22px;
  background:
    radial-gradient(circle at 8% 0%, rgba(0, 160, 56, 0.28), transparent 22rem),
    radial-gradient(circle at 90% 20%, rgba(216, 193, 95, 0.24), transparent 24rem),
    linear-gradient(140deg, #06120d 0%, #0e2a1e 58%, #06140f 100%);
  color: rgba(255, 248, 232, 0.88);
  box-shadow: 0 34px 90px rgba(7, 20, 15, 0.38);
}
.mega-content::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(255,255,255,0.08), transparent 32%, rgba(255,255,255,0.05));
  pointer-events: none;
}
.mega-content > * { position: relative; }
.mega-services-grid {
  display: grid;
  grid-template-columns: 1.05fr repeat(3, 1fr);
  gap: 16px;
}
.mega-areas-grid {
  display: grid;
  grid-template-columns: 1fr 1.35fr 1fr;
  gap: 18px;
}
.mega-proof-grid {
  display: grid;
  grid-template-columns: 1fr 1.2fr 1fr;
  gap: 18px;
}
.mega-intro-card,
.mega-proof-card,
.mega-media-card,
.mega-promise-card {
  border: 1px solid rgba(244, 223, 173, 0.22);
  border-radius: 24px;
  padding: 20px;
  background: rgba(255, 248, 232, 0.07);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.12);
}
.mega-intro-card h3,
.mega-promise-card h3 {
  margin: 8px 0 10px;
  color: var(--ivory);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 1.64rem;
  line-height: 1.06;
  letter-spacing: -0.035em;
}
.mega-intro-card p,
.mega-promise-card p,
.mega-media-card p { color: rgba(255, 248, 232, 0.76); margin-bottom: 16px; }
.mega-kicker {
  display: inline-flex;
  align-items: center;
  color: var(--gold-soft);
  font-size: 0.69rem;
  font-weight: 1000;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}
.mega-kicker::before {
  content: "";
  width: 20px;
  height: 1px;
  margin-right: 8px;
  background: var(--gold-soft);
}
.mega-column {
  display: grid;
  align-content: start;
  gap: 8px;
}
.mega-link {
  display: grid;
  gap: 2px;
  padding: 13px 14px;
  border-radius: 18px;
  border: 1px solid rgba(244, 223, 173, 0.14);
  background: rgba(255, 255, 255, 0.055);
  color: var(--ivory) !important;
  transition: background 0.18s ease, transform 0.18s ease, border-color 0.18s ease;
}
.mega-link:hover {
  transform: translateY(-2px);
  background: rgba(255, 255, 255, 0.105);
  border-color: rgba(244, 223, 173, 0.32);
}
.mega-link strong {
  font-size: 0.96rem;
  line-height: 1.15;
}
.mega-link small {
  color: rgba(255, 248, 232, 0.66);
  font-weight: 700;
  line-height: 1.35;
}
.mega-proof-card {
  grid-column: 1 / -1;
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 14px 18px;
}
.mega-proof-card img {
  width: 42px;
  border-radius: 7px;
  background: #fff;
}
.mega-proof-card div {
  display: grid;
  gap: 2px;
}
.mega-proof-card strong { color: var(--gold-soft); }
.mega-proof-card span { color: rgba(255, 248, 232, 0.72); font-weight: 760; }
.mega-city-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
}
.mega-city-grid a {
  display: flex;
  min-height: 52px;
  align-items: center;
  justify-content: center;
  text-align: center;
  border: 1px solid rgba(244, 223, 173, 0.16);
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.07);
  color: var(--ivory);
  font-weight: 1000;
  line-height: 1.1;
  padding: 9px;
  transition: transform 0.18s ease, background 0.18s ease, border-color 0.18s ease;
}
.mega-city-grid a:hover {
  transform: translateY(-2px);
  background: rgba(244, 223, 173, 0.14);
  border-color: rgba(244, 223, 173, 0.3);
}
.mega-media-card {
  min-height: 260px;
  display: grid;
  align-content: start;
  gap: 14px;
}
.media-thumb-stack {
  display: grid;
  grid-template-columns: 1.2fr 0.85fr;
  grid-template-rows: 90px 90px;
  gap: 10px;
}
.media-thumb-stack span {
  border-radius: 18px;
  background-size: cover;
  background-position: center;
  border: 1px solid rgba(244, 223, 173, 0.24);
  box-shadow: 0 16px 36px rgba(0,0,0,0.18);
}
.media-thumb-stack span:first-child { grid-row: 1 / span 2; }
.call-pill {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  padding: 10px 15px;
  border-radius: 999px;
  background: linear-gradient(135deg, rgba(0, 160, 56, 0.12), rgba(216, 193, 95, 0.18));
  border: 1px solid rgba(0, 160, 56, 0.22);
  color: var(--deep) !important;
  font-weight: 1000;
}
.button.mini { padding: 10px 15px; font-size: 0.82rem; }

/* Address-first forms */
.lead-form input[name="full_address"] {
  border-color: rgba(0, 160, 56, 0.28);
  box-shadow: inset 0 0 0 1px rgba(216, 193, 95, 0.06);
}
.lead-form input[name="full_address"]:focus {
  outline: 2px solid rgba(216, 193, 95, 0.44);
  outline-offset: 2px;
}

/* Real media / project video sections */
.project-videos {
  background:
    radial-gradient(circle at 10% 0%, rgba(0, 160, 56, 0.12), transparent 24rem),
    linear-gradient(180deg, rgba(255,253,246,0.66), rgba(247,241,223,0.98));
}
.home-media-reel { border-top: 1px solid rgba(17, 23, 20, 0.08); border-bottom: 1px solid rgba(17, 23, 20, 0.08); }
.video-feature-grid,
.video-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
  align-items: stretch;
}
.video-grid.four { grid-template-columns: repeat(4, 1fr); }
.video-card {
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(17, 23, 20, 0.12);
  border-radius: 28px;
  background: var(--paper);
  box-shadow: var(--soft-shadow);
}
.video-card.featured {
  background:
    radial-gradient(circle at 16% 0%, rgba(0,160,56,0.16), transparent 18rem),
    #fffdf6;
}
.video-frame {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  background: var(--deep);
}
.video-frame iframe,
.video-frame img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
  object-fit: cover;
}
.video-card-body { padding: 20px; }
.video-card h3 { margin: 0 0 8px; font-family: Georgia, "Times New Roman", serif; font-size: 1.3rem; line-height: 1.1; }
.video-card p { color: var(--muted); margin-bottom: 0; }
.media-proof-strip {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
  margin-top: 28px;
}
.media-proof-strip a,
.media-proof-strip span {
  display: grid;
  gap: 2px;
  min-height: 96px;
  align-content: center;
  border-radius: 22px;
  border: 1px solid rgba(17, 23, 20, 0.12);
  background: rgba(255, 253, 246, 0.78);
  padding: 18px;
  box-shadow: 0 14px 34px rgba(7,20,15,0.06);
}
.media-proof-strip strong { color: var(--deep); }
.media-proof-strip small { color: var(--muted); font-weight: 760; }
.gallery-video-link {
  display: inline-flex;
  margin: 4px 20px 20px;
  align-items: center;
  border-radius: 999px;
  padding: 9px 13px;
  background: linear-gradient(135deg, var(--deep), #0f3625);
  color: var(--ivory) !important;
  font-weight: 1000;
  font-size: 0.83rem;
}
.gallery-item.media-backed::before {
  content: "Real Joe's media";
  position: absolute;
  z-index: 2;
  top: 14px;
  left: 14px;
  border-radius: 999px;
  padding: 6px 10px;
  background: rgba(7,20,15,0.76);
  color: var(--gold-soft);
  font-size: 0.68rem;
  font-weight: 1000;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}
.gallery-item { position: relative; }

@media (max-width: 1180px) {
  .mega-services-grid { grid-template-columns: 1fr 1fr; }
  .mega-areas-grid,
  .mega-proof-grid { grid-template-columns: 1fr 1fr; }
  .mega-city-grid { grid-template-columns: repeat(2, 1fr); }
  .mega-proof-card { grid-column: auto; }
  .call-pill { display: none; }
}
@media (max-width: 1000px) {
  .video-feature-grid,
  .video-grid,
  .video-grid.four,
  .media-proof-strip { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 760px) {
  .nav-wrap-mega { position: relative; }
  .main-nav-mega {
    gap: 10px;
    max-height: calc(100vh - 84px);
    overflow: auto;
  }
  .nav-link,
  .mega-trigger,
  .nav-cta,
  .call-pill { width: 100%; justify-content: space-between; }
  .nav-item { width: 100%; }
  .mega-menu {
    position: static;
    width: 100%;
    transform: none;
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    display: none;
    margin-top: 8px;
  }
  .nav-has-mega:focus-within .mega-menu,
  .nav-has-mega:hover .mega-menu { display: block; transform: none; }
  .mega-content {
    border-radius: 22px;
    padding: 16px;
    box-shadow: none;
  }
  .mega-services-grid,
  .mega-areas-grid,
  .mega-proof-grid,
  .mega-city-grid,
  .video-feature-grid,
  .video-grid,
  .video-grid.four,
  .media-proof-strip { grid-template-columns: 1fr; }
  .mega-link { padding: 12px; }
  .media-thumb-stack { grid-template-columns: 1fr; grid-template-rows: repeat(3, 110px); }
  .media-thumb-stack span:first-child { grid-row: auto; }
}
.nav-has-mega.is-open .mega-menu {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateX(-50%) translateY(0) scale(1);
}
@media (max-width: 760px) {
  .nav-has-mega.is-open .mega-menu { display: block; transform: none; }
}
.nav-has-mega.is-open .mega-trigger {
  background: var(--deep);
  border-color: rgba(244, 223, 173, 0.26);
  color: var(--ivory);
  box-shadow: 0 16px 34px rgba(7, 20, 15, 0.18);
}

/* Elite visual pass: stronger contrast, real media treatment, premium service photography */
:root {
  --deep: #06110d;
  --deep-2: #0a1c14;
  --spruce: #0d2b1d;
  --brand: #008f35;
  --heritage: #007b2f;
  --leaf: #205f33;
  --olive: #625a00;
  --gold: #c7a746;
  --gold-soft: #f7e7ab;
  --cream: #f6efd9;
  --ivory: #fffaf0;
  --paper: #fffdf7;
  --ink: #101611;
  --muted: #35443a;
  --line: rgba(16, 22, 17, 0.16);
}
body { color: var(--ink); background: radial-gradient(circle at 10% 0%, rgba(0,143,53,.09), transparent 30rem), linear-gradient(180deg, #fffaf0 0%, #f6efd9 44%, #efe4c7 100%); }
.section p, .service-card p, .gallery-item p, .video-card p, .faq-list p, .service-city-link span { color: #2d3b32; }
.eyebrow { color: #5e5400; text-shadow: none; }
.hero-premium .eyebrow, .site-footer .eyebrow, .quote-card .eyebrow, .mega-kicker, .photo-proof-section .eyebrow { color: var(--gold-soft); }
.topline { color: rgba(255,250,240,.96); }
.topline a { color: #fff1b9; }
.brand-copy em { color: #2f4237; }
.brand-ribbon { color: rgba(255,250,240,.92); }

.hero-premium {
  min-height: 820px;
  background-image:
    linear-gradient(104deg, rgba(6, 17, 13, 0.97) 0%, rgba(6, 17, 13, 0.9) 38%, rgba(6, 17, 13, 0.46) 67%, rgba(6, 17, 13, 0.18) 100%),
    var(--hero-image, url('/assets/images/elite-hero.jpg'));
  background-size: cover;
  background-position: center right;
  border-bottom: 1px solid rgba(247,231,171,.22);
}
.hero-premium::before {
  background:
    radial-gradient(circle at 15% 18%, rgba(0, 143, 53, 0.24), transparent 28rem),
    radial-gradient(circle at 74% 24%, rgba(247, 231, 171, 0.18), transparent 28rem),
    linear-gradient(180deg, transparent 0%, rgba(6, 17, 13, 0.48) 100%);
}
.hero-premium::after { opacity: .05; }
.hero-copy h1 { max-width: 980px; letter-spacing: -0.055em; }
.hero-lead { color: rgba(255,250,240,.95); text-shadow: 0 10px 32px rgba(0,0,0,.22); }
.trust-row span { color: rgba(255,250,240,.94); border-color: rgba(247,231,171,.42); background: rgba(255,255,255,.12); }
.lead-form {
  background: linear-gradient(180deg, rgba(255,253,247,.99), rgba(255,250,240,.97));
  border-color: rgba(199,167,70,.52);
  box-shadow: 0 34px 100px rgba(0,0,0,.34);
}
.lead-form label, .form-head strong { color: #07140f; }
.form-head span { color: #665b00; }
.form-note, .form-status { color: #2b3a30; }
.lead-form input, .lead-form select, .lead-form textarea { border-color: rgba(16,22,17,.23); color: #101611; background: #fffef9; }

.service-card-grid { gap: 24px; }
.service-card {
  display: flex;
  flex-direction: column;
  padding: 0;
  min-height: 420px;
  background: linear-gradient(180deg, #fffef9, #f9efcf);
  border-color: rgba(16,22,17,.18);
  box-shadow: 0 24px 70px rgba(6,17,13,.11);
}
.service-card::before {
  position: relative;
  inset: auto;
  content: "";
  display: block;
  width: 100%;
  height: 190px;
  margin: 0;
  border-radius: 0;
  background-image: linear-gradient(180deg, rgba(6,17,13,0), rgba(6,17,13,.22)), url('/assets/images/v15-service-landscaping.jpg');
  background-size: cover;
  background-position: center;
  box-shadow: none;
}
.service-card::after {
  right: 18px;
  bottom: 18px;
  width: 92px;
  height: 92px;
  border: 1px solid rgba(199,167,70,.18);
  background: radial-gradient(circle, rgba(0,143,53,.10), transparent 68%);
}
.service-card[href*="landscaping"]::before { background-image: linear-gradient(180deg, rgba(6,17,13,0), rgba(6,17,13,.25)), url('/assets/images/v15-service-landscaping.jpg'); }
.service-card[href*="lawn-care"]::before { background-image: linear-gradient(180deg, rgba(6,17,13,0), rgba(6,17,13,.25)), url('/assets/images/v15-service-lawn-care.jpg'); }
.service-card[href*="lawn-mowing"]::before { background-image: linear-gradient(180deg, rgba(6,17,13,0), rgba(6,17,13,.25)), url('/assets/images/v15-service-lawn-mowing.jpg'); }
.service-card[href*="lawn-cleanups"]::before { background-image: linear-gradient(180deg, rgba(6,17,13,0), rgba(6,17,13,.25)), url('/assets/images/v15-service-lawn-cleanups.jpg'); }
.service-card[href*="lawn-drainage"]::before { background-image: linear-gradient(180deg, rgba(6,17,13,0), rgba(6,17,13,.25)), url('/assets/images/v15-service-lawn-drainage.jpg'); }
.service-card[href*="lawn-fertilization"]::before { background-image: linear-gradient(180deg, rgba(6,17,13,0), rgba(6,17,13,.25)), url('/assets/images/v15-service-lawn-fertilization.jpg'); }
.service-card[href*="lawn-installations"]::before { background-image: linear-gradient(180deg, rgba(6,17,13,0), rgba(6,17,13,.25)), url('/assets/images/v15-service-lawn-installations.jpg'); }
.service-card[href*="leaf-removal"]::before { background-image: linear-gradient(180deg, rgba(6,17,13,0), rgba(6,17,13,.25)), url('/assets/images/v15-service-leaf-removal.jpg'); }
.service-card[href*="mulch-installation"]::before { background-image: linear-gradient(180deg, rgba(6,17,13,0), rgba(6,17,13,.25)), url('/assets/images/v15-service-mulch-installation.jpg'); }
.service-card[href*="paver-patio-installations"]::before { background-image: linear-gradient(180deg, rgba(6,17,13,0), rgba(6,17,13,.25)), url('/assets/images/v15-service-paver-patio-installations.jpg'); }
.service-card[href*="snow-removal"]::before { background-image: linear-gradient(180deg, rgba(6,17,13,0), rgba(6,17,13,.25)), url('/assets/images/v15-service-snow-removal.jpg'); }
.service-card[href*="excavation"]::before { background-image: linear-gradient(180deg, rgba(6,17,13,0), rgba(6,17,13,.25)), url('/assets/images/v15-service-excavation.jpg'); }
.service-card span { margin: 22px 26px 8px; color: #665b00; }
.service-card h3 { margin: 0 26px 10px; font-size: 1.55rem; }
.service-card p { margin: 0 26px 28px; }
.service-card:hover { transform: translateY(-8px); box-shadow: 0 34px 90px rgba(6,17,13,.2); }

.gallery-art { height: 255px; background-size: cover; background-position: center; }
.art-one { background-image: url('/assets/images/v15-service-lawn-mowing.jpg'); }
.art-two { background-image: url('/assets/images/v15-service-mulch-installation.jpg'); }
.art-three { background-image: url('/assets/images/v15-service-landscaping.jpg'); }
.gallery-item { border-color: rgba(16,22,17,.17); box-shadow: 0 24px 70px rgba(6,17,13,.11); }
.gallery-item > img { width: 100%; height: 250px; object-fit: cover; display: block; }
.gallery-item.media-backed::before { content: "Joe's field work"; background: rgba(6,17,13,.82); color: #fff0b6; }
.gallery-video-link { background: linear-gradient(135deg, #06110d, #0e3321); color: #fffaf0 !important; }
.image-panel img { display: block; width: 100%; border-radius: 22px; margin-bottom: 20px; box-shadow: 0 18px 46px rgba(6,17,13,.18); }

.photo-proof-section {
  overflow: hidden;
  background:
    radial-gradient(circle at 8% 0%, rgba(0,143,53,.24), transparent 28rem),
    radial-gradient(circle at 84% 12%, rgba(247,231,171,.16), transparent 26rem),
    linear-gradient(145deg, #06110d 0%, #0b2519 54%, #07140f 100%);
  color: rgba(255,250,240,.9);
  border-top: 1px solid rgba(247,231,171,.18);
  border-bottom: 1px solid rgba(247,231,171,.18);
}
.photo-proof-section .section-head h2 { color: #fffaf0; }
.photo-proof-section .section-head p { color: rgba(255,250,240,.78); }
.proof-photo-grid {
  display: grid;
  grid-template-columns: 1.25fr 1fr 1fr;
  grid-auto-rows: 310px;
  gap: 20px;
}
.proof-photo-card {
  position: relative;
  overflow: hidden;
  border-radius: 30px;
  border: 1px solid rgba(247,231,171,.24);
  box-shadow: 0 30px 86px rgba(0,0,0,.24);
  min-height: 260px;
  background: #06110d;
}
.proof-photo-card.large { grid-row: span 2; }
.proof-photo-card img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transform: scale(1.02); transition: transform .35s ease; }
.proof-photo-card:hover img { transform: scale(1.07); }
.proof-photo-card::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(6,17,13,.08), rgba(6,17,13,.78)); }
.proof-photo-card div { position: absolute; z-index: 1; left: 24px; right: 24px; bottom: 22px; }
.proof-photo-card span { display: inline-flex; color: var(--gold-soft); text-transform: uppercase; letter-spacing: .14em; font-size: .72rem; font-weight: 1000; margin-bottom: 8px; }
.proof-photo-card h3 { color: #fffaf0; font-size: clamp(1.3rem, 2.3vw, 2.2rem); margin: 0; }
.customer-proof-strip a, .customer-proof-strip span { background: rgba(255,250,240,.08); border-color: rgba(247,231,171,.22); }
.customer-proof-strip strong { color: #fffaf0; }
.customer-proof-strip small { color: rgba(255,250,240,.74); }

.mega-content { border-color: rgba(247,231,171,.28); box-shadow: 0 42px 110px rgba(0,0,0,.48); }
.mega-intro-card { background: linear-gradient(180deg, rgba(255,250,240,.1), rgba(255,250,240,.055)), url('/assets/images/elite-hero.jpg') center / cover; }
.area-feature-card { background: linear-gradient(180deg, rgba(6,17,13,.62), rgba(6,17,13,.72)), url('/assets/images/v15-service-landscaping.jpg') center / cover; }
.mega-media-card { background: linear-gradient(180deg, rgba(255,250,240,.1), rgba(255,250,240,.055)); }
.mega-link small, .mega-media-card p, .mega-intro-card p, .mega-promise-card p { color: rgba(255,250,240,.82); }
.mega-city-grid a { color: #fffaf0; }
.mega-proof-card span { color: rgba(255,250,240,.84); }
.nav-link:hover, .mega-trigger:hover, .nav-link[aria-current="page"] { color: #06110d; }

.city-card span { color: rgba(255,250,240,.84); }
.link-cloud a { background: #fffef9; }
.stat-band span { color: rgba(255,250,240,.84); }
.footer-tagline, .site-footer, .site-footer p { color: rgba(255,250,240,.86); }
.site-footer a { color: #fffaf0; }

@media (max-width: 1000px) {
  .proof-photo-grid { grid-template-columns: 1fr 1fr; grid-auto-rows: 270px; }
  .proof-photo-card.large { grid-row: span 1; }
  .service-card { min-height: 390px; }
}
@media (max-width: 760px) {
  .hero-premium { background-position: center; }
  .service-card-grid, .gallery-grid { gap: 18px; }
  .service-card::before { height: 175px; }
  .proof-photo-grid { grid-template-columns: 1fr; grid-auto-rows: 260px; }
  .photo-proof-section .media-proof-strip { grid-template-columns: 1fr; }
}


/* Final elite visual pass: real image cards, stronger contrast, cleaner forms */
.hero-photo-strip {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  width: min(560px, 100%);
  margin-top: 22px;
}
.hero-photo-strip img {
  width: 100%;
  height: 124px;
  object-fit: cover;
  border-radius: 20px;
  border: 1px solid rgba(247,231,171,.34);
  box-shadow: 0 20px 52px rgba(0,0,0,.24);
}
.service-card::before { display: none !important; }
.service-card .service-media {
  display: block;
  width: 100%;
  height: 210px;
  margin: 0 0 22px !important;
  overflow: hidden;
  border-radius: 0;
  background: #06110d;
}
.service-card .service-media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scale(1.01);
  transition: transform .35s ease;
}
.service-card:hover .service-media img { transform: scale(1.07); }
.service-card .service-media + span { margin-top: 0; }
.image-panel .panel-photo,
.elite-intro-panel img {
  display: block;
  width: 100%;
  height: 245px;
  object-fit: cover;
  border-radius: 24px;
  border: 1px solid rgba(199,167,70,.32);
  margin-bottom: 22px;
  box-shadow: 0 22px 58px rgba(6,17,13,.18);
}
.hero-premium {
  background-position: center right;
  box-shadow: inset 0 -120px 140px rgba(6,17,13,.22);
}
.hero-copy h1,
.hero-copy .hero-lead,
.hero-copy .eyebrow { text-wrap: balance; }
.hero-copy .eyebrow,
.photo-proof-section .eyebrow,
.site-footer .eyebrow,
.quote-card .eyebrow { color: #f8e9b4 !important; }
.section-head p,
.content-columns p,
.lux-panel p,
.faq-list p,
.gallery-item p,
.service-card p,
.service-city-link span { color: #24332a !important; }
.photo-proof-section .section-head p,
.photo-proof-section p,
.site-footer p,
.site-footer .footer-tagline,
.site-footer li,
.site-footer span,
.quote-card blockquote,
.quote-card cite,
.stat-band span,
.customer-proof-strip small,
.mega-link small,
.mega-media-card p,
.mega-intro-card p,
.mega-promise-card p { color: rgba(255,250,240,.84) !important; }
.city-card span { color: rgba(255,250,240,.86) !important; }
.button.gold { color: #06110d !important; text-shadow: none; }
.button.ghost { color: #fffaf0 !important; border-color: rgba(255,250,240,.62); background: rgba(255,250,240,.12); }
.lead-form .form-note { color: #223027 !important; }
.lead-form input::placeholder,
.lead-form textarea::placeholder { color: #667468; opacity: 1; }
.mega-menu .button.gold { color: #06110d !important; }
.gallery-item h3, .service-card h3, .lux-panel h3, .faq-list summary { color: #06110d; }
.lux-panel, .gallery-item, .service-card { background: linear-gradient(180deg, #fffef9, #f7efda); }
@media (max-width: 760px) {
  .hero-photo-strip { grid-template-columns: 1fr; }
  .hero-photo-strip img { height: 170px; }
  .service-card .service-media { height: 188px; }
  .image-panel .panel-photo, .elite-intro-panel img { height: 210px; }
}

/* Service area cards with real service images */
.service-city-link { padding: 0 !important; overflow: hidden; }
.service-city-media { display:block; width:100%; height:145px; overflow:hidden; margin:0 0 16px !important; }
.service-city-media img { width:100%; height:100%; object-fit:cover; display:block; transition: transform .35s ease; }
.service-city-link:hover .service-city-media img { transform: scale(1.06); }
.service-city-link strong, .service-city-link span:not(.service-city-media) { margin-left:20px; margin-right:20px; }
.service-city-link span:not(.service-city-media) { margin-bottom:20px; }
@media(max-width:760px){.service-city-media{height:175px}}


/* V8 elite brand/photo pass */
.hero-premium {
  min-height: 820px;
  background-image:
    linear-gradient(108deg, rgba(6,17,13,.96) 0%, rgba(6,17,13,.82) 39%, rgba(6,17,13,.52) 69%, rgba(6,17,13,.72) 100%),
    var(--hero-image, url('/assets/images/elite-hero.jpg'));
  background-position: center center;
}
.hero-copy h1 {
  max-width: 860px;
  color: #fffaf0;
  text-shadow: 0 24px 56px rgba(0,0,0,.46);
}
.hero-lead { color: rgba(255,250,240,.92) !important; font-weight: 560; }
.trust-row span { color:#fffaf0; background:rgba(6,17,13,.42); border-color:rgba(248,233,180,.46); }
.form-note, .form-status { color:#27342b !important; }
.topline { color:#fffaf0; }
.topline a { color:#ffe682; }
.brand-copy em { color:#314339; }
.main-nav { gap:18px; }
.mega-trigger, .nav-link { min-height:44px; display:inline-flex; align-items:center; }
.mega-menu { top:calc(100% + 10px); }
.mega-content {
  background:
    radial-gradient(circle at 8% 0%, rgba(0,160,56,.25), transparent 26rem),
    radial-gradient(circle at 88% 10%, rgba(248,233,180,.20), transparent 24rem),
    linear-gradient(145deg, #05100c 0%, #0b2418 52%, #06140f 100%);
}
.mega-intro-card, .area-feature-card, .mega-promise-card, .mega-media-card {
  border-color:rgba(248,233,180,.28);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.16), 0 18px 54px rgba(0,0,0,.18);
}
.mega-photo-row { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; margin:14px 0 16px; }
.mega-photo-row span, .mega-area-photo span { display:block; min-height:78px; border-radius:16px; background-size:cover; background-position:center; border:1px solid rgba(248,233,180,.34); box-shadow:0 14px 34px rgba(0,0,0,.22); }
.mega-area-photo span { min-height:132px; margin:12px 0 16px; }
.mega-link { background:rgba(255,250,240,.075); border-color:rgba(248,233,180,.18); }
.mega-link small { color:rgba(255,250,240,.86) !important; }
.service-card-grid { gap:24px; }
.service-card { border:1px solid rgba(6,17,13,.14); box-shadow:0 24px 62px rgba(6,17,13,.1); }
.service-card .service-media { height:230px; border-bottom:1px solid rgba(6,17,13,.1); }
.service-card span:not(.service-media) { color:#5b5300; }
.service-card p { color:#26352c !important; }
.section-head p, .lux-panel p, .content-columns p, .faq-list p, .gallery-item p { color:#26352c !important; }
.gallery-item > img { height:275px; }
.gallery-item.media-backed::before { content:"Joe's field work"; }
.photo-proof-section .section-head p, .photo-proof-section p { color:rgba(255,250,240,.88) !important; }
.proof-photo-grid { grid-auto-rows:330px; }
.proof-photo-card.large img { object-position:center center; }
.proof-photo-card h3 { color:#fffaf0; text-shadow:0 14px 30px rgba(0,0,0,.38); }
.customer-proof-strip small { color:rgba(255,250,240,.86) !important; }
.lead-form { background:linear-gradient(180deg,#fffef9,#f5ecd5); }
.lead-form label { color:#06110d; }
.lead-form input, .lead-form select, .lead-form textarea { background:#fff; color:#111714; border-color:rgba(6,17,13,.23); }
.button.gold, .submit-button { background:linear-gradient(135deg,#f7c900,#f6e6a9); color:#06110d !important; box-shadow:0 18px 44px rgba(247,201,0,.24); }
.button.ghost { background:rgba(255,250,240,.13); border-color:rgba(255,250,240,.7); }
.city-card { background:linear-gradient(145deg,#06110d,#0e3925); }
.map-frame iframe { width:100%; height:100%; min-height:420px; border:0; display:block; }
@media (max-width:1180px) { .brand-copy { display:none; } .main-nav { gap:12px; } }
@media (max-width:760px) {
  .hero-premium { min-height:auto; }
  .mega-photo-row { grid-template-columns:1fr; }
  .mega-photo-row span, .mega-area-photo span { min-height:140px; }
  .proof-photo-grid { grid-auto-rows:280px; }
  .gallery-item > img { height:230px; }
}


/* Thank-you / simple hero image treatment */
.inner-hero {
  position: relative;
  overflow: hidden;
  color: #fffaf0;
  background-image: linear-gradient(108deg, rgba(6,17,13,.95), rgba(6,17,13,.72)), var(--hero-image, url('/assets/images/elite-hero.jpg'));
  background-size: cover;
  background-position: center;
  padding: 150px 0 110px;
}
.inner-hero h1 { color:#fffaf0; font-family:Georgia, 'Times New Roman', serif; font-size:clamp(2.6rem, 6vw, 5.2rem); line-height:.95; letter-spacing:-.05em; margin:0 0 18px; }
.inner-hero .hero-lead { color:rgba(255,250,240,.9) !important; }


/* V9 sweet homepage direction: coded from the approved mockup, using the current Joe's logo */
:root {
  --sweet-deep: #003c1f;
  --sweet-deep-2: #002915;
  --sweet-green: #006b35;
  --sweet-bright: #009a44;
  --sweet-yellow: #ffd100;
  --sweet-yellow-2: #f4bb00;
  --sweet-white: #ffffff;
  --sweet-cream: #fffdf2;
  --sweet-ink: #04120b;
  --sweet-condensed: "Arial Narrow", "Roboto Condensed", "Oswald", Impact, Haettenschweiler, sans-serif;
}
body { background:#fffdf4; color:var(--sweet-ink); }
.sweet-header {
  position: sticky;
  top: 0;
  z-index: 200;
  background:#fff;
  border-bottom:1px solid rgba(0,0,0,.10);
  box-shadow:0 10px 36px rgba(0,38,18,.12);
}
.sweet-topline {
  padding:0;
  min-height:38px;
  background:linear-gradient(90deg,#00391e 0%,#005128 48%,#00391e 100%);
  color:#fff;
  font-family:var(--sweet-condensed);
  letter-spacing:.055em;
  text-transform:uppercase;
  font-weight:900;
}
.topline-inner {
  width:min(1500px, calc(100% - 48px));
  margin:auto;
  min-height:38px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:34px;
  font-size:1rem;
}
.topline-gold, .topline-phone { color:var(--sweet-yellow) !important; }
.topline-item { position:relative; white-space:nowrap; }
.topline-item + .topline-item::before { content:""; position:absolute; left:-19px; top:50%; width:3px; height:3px; border-radius:50%; background:rgba(255,255,255,.8); }
.topline-phone { margin-left:auto; font-size:1.42rem; text-decoration:none; white-space:nowrap; }
.sweet-nav-wrap {
  width:min(1500px, calc(100% - 48px));
  min-height:112px;
  padding:10px 0;
  gap:28px;
}
.sweet-brand { min-width:310px; display:flex; align-items:center; }
.sweet-brand img { width:275px; height:auto; display:block; filter:drop-shadow(0 7px 13px rgba(0,54,28,.10)); }
.sweet-main-nav { margin-left:auto; gap:22px; font-family:var(--sweet-condensed); text-transform:uppercase; letter-spacing:.035em; color:#07351e; }
.sweet-main-nav .nav-link,
.sweet-main-nav .mega-trigger {
  padding:12px 2px;
  min-height:48px;
  border:0;
  border-radius:0;
  font-size:1.05rem;
  background:transparent;
  color:#08351d;
}
.sweet-main-nav .nav-link:hover,
.sweet-main-nav .mega-trigger:hover,
.sweet-main-nav .nav-link[aria-current="page"] { background:transparent; color:#006b35; }
.sweet-main-nav .nav-link::after,
.sweet-main-nav .mega-trigger::after {
  display:block !important;
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:6px;
  height:3px;
  border-radius:3px;
  background:var(--sweet-yellow);
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .2s ease;
}
.sweet-main-nav .nav-link:hover::after,
.sweet-main-nav .mega-trigger:hover::after,
.sweet-main-nav .nav-link[aria-current="page"]::after { transform:scaleX(1); }
.nav-phone {
  display:grid;
  grid-template-columns:auto 1fr;
  column-gap:10px;
  align-items:center;
  padding:0 18px 0 0;
  color:#07351e !important;
  text-transform:none;
  letter-spacing:0;
  border-right:1px solid rgba(0,54,28,.16);
}
.nav-phone::before {
  content:"☎";
  grid-row:1 / span 2;
  width:48px;
  height:48px;
  border:2px solid #07351e;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:1.35rem;
}
.nav-phone span { font-family:Inter, system-ui, sans-serif; font-size:.78rem; font-weight:1000; text-transform:uppercase; line-height:1; }
.nav-phone strong { font-family:var(--sweet-condensed); font-size:1.9rem; line-height:1; }
.nav-phone::after { display:none !important; }
.sweet-nav-cta {
  border-radius:6px !important;
  padding:16px 24px !important;
  background:linear-gradient(180deg,var(--sweet-yellow),var(--sweet-yellow-2)) !important;
  color:#06120d !important;
  box-shadow:0 12px 26px rgba(181,139,0,.24) !important;
  border:1px solid rgba(0,0,0,.05) !important;
}
.sweet-nav-cta:hover { transform:translateY(-1px); }
.sweet-nav-cta::after { display:none !important; }
.sweet-mega {
  border-radius:18px;
  padding:18px;
  background:
    radial-gradient(circle at 0% 0%, rgba(255,209,0,.17), transparent 22rem),
    linear-gradient(145deg,#002915 0%,#004423 56%,#002915 100%);
  border:1px solid rgba(255,209,0,.30);
  box-shadow:0 34px 80px rgba(0,35,17,.46);
}
.sweet-services-mega { display:grid; grid-template-columns:1.1fr 1fr 1fr .58fr; gap:16px; }
.sweet-area-mega, .sweet-gallery-mega, .sweet-about-mega { display:grid; grid-template-columns:1.05fr 1.2fr .85fr; gap:16px; }
.mega-feature-photo {
  position:relative;
  overflow:hidden;
  min-height:335px;
  border-radius:16px;
  border:1px solid rgba(255,255,255,.22);
  padding:24px;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  background:linear-gradient(180deg,rgba(0,38,18,.12),rgba(0,25,13,.86)), var(--mega-photo) center/cover;
}
.mega-feature-photo h3 { color:#fff; font-family:var(--sweet-condensed); font-size:2rem; letter-spacing:.02em; text-transform:uppercase; line-height:1.02; margin:8px 0 10px; }
.mega-feature-photo p { color:rgba(255,255,255,.86) !important; }
.mega-card-list { display:grid; gap:10px; }
.mega-link.with-thumb { grid-template-columns:78px 1fr; grid-template-rows:auto auto; column-gap:12px; align-items:center; padding:10px; }
.mega-link.with-thumb span { grid-row:1/span 2; width:78px; height:66px; border-radius:10px; background-size:cover; background-position:center; border:1px solid rgba(255,255,255,.26); }
.sweet-mega .mega-link { background:rgba(255,255,255,.09); border-color:rgba(255,255,255,.16); }
.sweet-mega .mega-link strong { color:#fff; font-family:var(--sweet-condensed); letter-spacing:.035em; text-transform:uppercase; }
.sweet-mega .mega-link small { color:rgba(255,255,255,.82) !important; text-transform:none; letter-spacing:0; font-family:Inter, system-ui, sans-serif; }
.mega-small-links { display:grid; gap:10px; align-content:stretch; }
.mega-small-links a { display:flex; align-items:center; padding:12px; border-radius:12px; background:rgba(255,209,0,.12); color:#fff; font-weight:900; border:1px solid rgba(255,209,0,.18); }
.sweet-city-grid { grid-template-columns:repeat(3,1fr); }
.sweet-gallery-stack { height:100%; min-height:310px; }
.sweet-promise-card h3 { font-family:var(--sweet-condensed); text-transform:uppercase; letter-spacing:.03em; color:#fff; font-size:2.2rem; }
.sweet-proof-card { align-self:stretch; }
.sweet-proof-card img { width:74px; }

.home-hero-sweet {
  position:relative;
  overflow:hidden;
  isolation:isolate;
  min-height:680px;
  display:flex;
  align-items:stretch;
  color:#fff;
  background-image:
    linear-gradient(90deg, rgba(0,33,16,.92) 0%, rgba(0,47,24,.76) 38%, rgba(0,45,23,.25) 67%, rgba(0,45,23,.70) 100%),
    var(--hero-image);
  background-size:cover;
  background-position:center right;
  border-bottom:8px solid #fff;
}
.home-hero-sweet::before {
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background:radial-gradient(circle at 10% 16%, rgba(255,209,0,.16), transparent 24rem), linear-gradient(180deg, transparent 0%, rgba(0,32,16,.28) 100%);
}
.sweet-hero-grid {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(380px, 410px);
  gap:48px;
  align-items:center;
  padding:80px 0 70px;
}
.sweet-hero-copy { padding-top:10px; max-width:880px; }
.sweet-hero-eyebrow {
  font-family:var(--sweet-condensed);
  color:var(--sweet-yellow) !important;
  letter-spacing:.36em;
  font-size:1rem;
  margin-bottom:18px;
  text-shadow:0 4px 20px rgba(0,0,0,.55);
}
.sweet-hero-copy h1,
.hero-premium .hero-copy h1,
.inner-hero h1 {
  font-family:var(--sweet-condensed) !important;
  text-transform:uppercase;
  letter-spacing:.01em !important;
  font-weight:900;
  line-height:.98 !important;
  color:#fff !important;
  text-shadow:0 5px 0 rgba(0,0,0,.08), 0 24px 44px rgba(0,0,0,.48);
}
.sweet-hero-copy h1 { font-size:clamp(3.5rem, 6.2vw, 6.25rem) !important; max-width:920px; margin:0 0 18px; }
.sweet-hero-lead { font-size:clamp(1.35rem, 2vw, 1.72rem); line-height:1.38; color:#fff !important; font-weight:700; max-width:700px; }
.sweet-gold-rule { width:62px; height:4px; background:var(--sweet-yellow); margin:24px 0; border-radius:3px; }
.sweet-trust-icons { display:grid; grid-template-columns:repeat(4, max-content); gap:28px; margin:28px 0 28px; align-items:center; }
.sweet-trust-icons span { display:grid; grid-template-columns:54px auto; column-gap:12px; align-items:center; color:#fff; min-width:140px; }
.sweet-trust-icons b { grid-row:1/span 2; width:54px; height:54px; border:3px solid var(--sweet-yellow); border-radius:14px; display:flex; align-items:center; justify-content:center; color:var(--sweet-yellow); font-family:var(--sweet-condensed); font-size:1.3rem; line-height:1; }
.sweet-trust-icons strong { font-family:var(--sweet-condensed); text-transform:uppercase; letter-spacing:.04em; font-size:1.02rem; line-height:1.05; }
.sweet-trust-icons small { font-weight:800; color:rgba(255,255,255,.88); line-height:1.08; }
.sweet-trust-icons.compact { grid-template-columns:repeat(3, max-content); gap:18px; }
.sweet-hero-actions .button { border-radius:6px; padding:18px 34px; font-family:var(--sweet-condensed); font-size:1.25rem; letter-spacing:.03em; text-transform:uppercase; }
.sweet-estimate-card { align-self:center; }
.sweet-lead-form,
.hero-card .lead-form {
  border-radius:8px !important;
  padding:28px 26px !important;
  background:linear-gradient(180deg, rgba(0,75,36,.98), rgba(0,67,32,.98)) !important;
  color:#fff !important;
  border:2px solid rgba(255,255,255,.22) !important;
  box-shadow:0 28px 68px rgba(0,0,0,.42) !important;
}
.lead-form::before { display:none !important; }
.lead-form .form-head { display:block; text-align:center; margin:0 0 16px; }
.lead-form .form-head span,
.lead-form .form-head strong { display:block; font-family:var(--sweet-condensed); text-transform:uppercase; letter-spacing:.035em; line-height:1.03; }
.lead-form .form-head span { color:var(--sweet-yellow) !important; font-size:2.05rem; }
.lead-form .form-head strong { color:#fff !important; font-size:1.55rem; margin-top:5px; }
.lead-form label { color:#fff !important; font-size:.82rem; margin-top:11px; }
.lead-form input,
.lead-form select,
.lead-form textarea {
  margin-top:0 !important;
  border-radius:5px !important;
  border:1px solid rgba(255,255,255,.34) !important;
  background:#fff !important;
  min-height:43px;
  padding:11px 13px !important;
  color:#1b241d !important;
  line-height:1.25;
  box-shadow:inset 0 1px 3px rgba(0,0,0,.08);
}
.lead-form textarea { min-height:96px; }
.lead-form .form-row { grid-template-columns:1fr; gap:0; }
.lead-form .submit-button,
.submit-button {
  width:100%;
  border-radius:6px !important;
  padding:17px 18px !important;
  border:0 !important;
  background:linear-gradient(180deg,var(--sweet-yellow),var(--sweet-yellow-2)) !important;
  color:#05120b !important;
  font-family:var(--sweet-condensed);
  font-size:1.24rem;
  letter-spacing:.04em;
  text-transform:uppercase;
  box-shadow:0 10px 26px rgba(0,0,0,.20) !important;
}
.lead-form .form-note { text-align:center; color:rgba(255,255,255,.9) !important; font-weight:800; font-size:.82rem; }
.form-status.success { color:#fff8bd !important; }
.form-status.error { color:#ffe0e0 !important; }
.visually-hidden { position:absolute !important; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.quick-service-showcase {
  background:linear-gradient(180deg,#004626 0%, #003b20 100%);
  padding:28px min(48px,4vw) 34px;
  border-bottom:1px solid rgba(255,255,255,.16);
}
.quick-service-grid { display:grid; grid-template-columns:repeat(6,1fr); gap:22px; max-width:1500px; margin:auto; }
.quick-service-card {
  display:block;
  position:relative;
  overflow:hidden;
  min-height:220px;
  border:2px solid rgba(255,255,255,.78);
  border-radius:0;
  background:#022916;
  box-shadow:0 22px 44px rgba(0,0,0,.22);
  transition:transform .22s ease, box-shadow .22s ease;
}
.quick-service-card:hover { transform:translateY(-6px); box-shadow:0 30px 60px rgba(0,0,0,.30); }
.quick-service-card img { width:100%; height:170px; object-fit:cover; display:block; transition:transform .35s ease; }
.quick-service-card:hover img { transform:scale(1.07); }
.quick-service-card span { position:absolute; left:0; right:0; bottom:0; min-height:52px; display:flex; align-items:center; gap:12px; padding:10px 18px; background:linear-gradient(90deg, rgba(0,61,31,.96), rgba(0,55,28,.92)); color:#fff; font-family:var(--sweet-condensed); text-transform:uppercase; letter-spacing:.045em; font-weight:900; font-size:1.11rem; }
.quick-service-card b { width:38px; height:38px; border:2px solid rgba(255,255,255,.84); border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:.96rem; flex:0 0 auto; color:#fff; }
.quick-service-card i { margin-left:auto; font-style:normal; font-size:1.3rem; }
.hero-premium:not(.home-hero-sweet) {
  min-height:620px;
  background-image:
    linear-gradient(90deg, rgba(0,33,16,.92) 0%, rgba(0,45,22,.72) 43%, rgba(0,45,22,.40) 72%, rgba(0,33,16,.78) 100%),
    var(--hero-image, url('/assets/images/hero-louisville-truck.jpg')) !important;
  background-position:center;
  border-bottom:8px solid #fff;
}
.hero-premium:not(.home-hero-sweet) .hero-grid { grid-template-columns:minmax(0,1fr) minmax(360px,410px); padding:70px 0; }
.hero-premium:not(.home-hero-sweet) .hero-copy h1 { font-size:clamp(3rem, 5.8vw, 5.75rem) !important; max-width:880px; }
.hero-premium:not(.home-hero-sweet) .hero-lead { color:#fff !important; font-weight:650; }
.hero-actions .button.gold { border-radius:6px; }
.button.gold { background:linear-gradient(180deg,var(--sweet-yellow),var(--sweet-yellow-2)) !important; }
.button.ghost { border-radius:6px; }
.section h2 { font-family:var(--sweet-condensed); text-transform:uppercase; letter-spacing:.02em; color:#07351e; line-height:1.05; }
.section h3, .footer-cta h2, .site-footer h3 { font-family:var(--sweet-condensed); text-transform:uppercase; letter-spacing:.02em; }
.section .eyebrow { font-family:var(--sweet-condensed); color:#006b35; letter-spacing:.22em; }
.service-card { border-radius:0; border:1px solid rgba(0,58,30,.18); box-shadow:0 20px 48px rgba(0,42,21,.10); }
.service-card .service-media { height:235px; }
.service-card span:not(.service-media) { font-family:var(--sweet-condensed); color:#006b35; }
.city-card { border-radius:0; border-color:rgba(255,209,0,.34); }
.lux-panel, .lux-card, .contact-card, .quote-card, .gallery-item, .faq-list details, .process-grid div { border-radius:10px; }
.site-footer { background:linear-gradient(160deg,#002915 0%,#004423 56%,#002512 100%); }
.footer-logo-card { background:#fff; border-radius:8px; }
.footer-logo { width:230px; }
.mobile-call { background:linear-gradient(180deg,var(--sweet-yellow),var(--sweet-yellow-2)); color:#05120b; }
@media (max-width:1320px) {
  .sweet-main-nav { gap:14px; }
  .nav-phone strong { font-size:1.55rem; }
  .sweet-brand { min-width:260px; }
  .sweet-brand img { width:245px; }
  .quick-service-grid { gap:14px; }
  .quick-service-card span { font-size:.95rem; padding:10px 12px; }
}
@media (max-width:1100px) {
  .topline-inner { gap:18px; font-size:.86rem; }
  .topline-phone { font-size:1.1rem; }
  .sweet-main-nav { gap:10px; font-size:.9rem; }
  .nav-phone { display:none; }
  .sweet-hero-grid, .hero-premium:not(.home-hero-sweet) .hero-grid { grid-template-columns:1fr; }
  .sweet-estimate-card { max-width:520px; }
  .sweet-trust-icons { grid-template-columns:repeat(2, max-content); }
  .quick-service-grid { grid-template-columns:repeat(3,1fr); }
  .sweet-services-mega, .sweet-area-mega, .sweet-gallery-mega, .sweet-about-mega { grid-template-columns:1fr 1fr; }
}
@media (max-width:760px) {
  .sweet-topline { display:none; }
  .sweet-nav-wrap { width:min(100% - 28px, 1500px); min-height:76px; }
  .sweet-brand { min-width:auto; }
  .sweet-brand img { width:172px; }
  .sweet-main-nav { text-transform:none; letter-spacing:0; font-family:Inter, system-ui, sans-serif; }
  .sweet-main-nav .nav-link, .sweet-main-nav .mega-trigger { padding:12px 14px; border-radius:8px; background:rgba(0,75,36,.06); width:100%; justify-content:space-between; }
  .sweet-main-nav .nav-link::after, .sweet-main-nav .mega-trigger::after { display:none !important; }
  .sweet-nav-cta { width:100%; justify-content:center; }
  .home-hero-sweet { min-height:auto; background-position:center; }
  .sweet-hero-grid { padding:54px 0 36px; gap:30px; }
  .sweet-hero-copy h1 { font-size:clamp(2.9rem, 13vw, 4.35rem) !important; }
  .sweet-hero-eyebrow { letter-spacing:.18em; font-size:.78rem; }
  .sweet-trust-icons, .sweet-trust-icons.compact { grid-template-columns:1fr; gap:12px; }
  .sweet-trust-icons span { min-width:0; }
  .quick-service-showcase { padding:18px 14px 24px; }
  .quick-service-grid { grid-template-columns:1fr; }
  .quick-service-card { min-height:250px; }
  .quick-service-card img { height:200px; }
  .lead-form .form-head span { font-size:1.68rem; }
  .lead-form .form-head strong { font-size:1.25rem; }
  .hero-premium:not(.home-hero-sweet) .hero-grid { padding:44px 0; }
  .hero-premium:not(.home-hero-sweet) .hero-copy h1 { font-size:clamp(2.6rem, 12vw, 4.1rem) !important; }
  .sweet-services-mega, .sweet-area-mega, .sweet-gallery-mega, .sweet-about-mega, .sweet-city-grid { grid-template-columns:1fr; }
  .mega-feature-photo { min-height:260px; }
  .media-thumb-stack.sweet-gallery-stack { min-height:0; }
}


/* V10 luxury correction pass: proportion, spacing, logo scale, and page-wide polish */
:root {
  --v10-max: 1400px;
  --v10-green: #003b1f;
  --v10-green-2: #005b30;
  --v10-gold: #ffd100;
  --v10-gold-2: #f1b900;
  --v10-cream: #fffaf0;
  --v10-ink: #06140d;
  --sweet-condensed: "Arial Narrow", "Roboto Condensed", "Oswald", Impact, Haettenschweiler, sans-serif;
}
body { background: linear-gradient(180deg,#fffdf6 0%,#f8f0dd 100%); overflow-x:hidden; }
.container { width:min(var(--v10-max), calc(100% - 52px)); }
.sweet-header { box-shadow:0 10px 26px rgba(0,35,17,.12); }
.sweet-topline { min-height:32px; }
.topline-inner { min-height:32px; width:min(var(--v10-max), calc(100% - 48px)); gap:26px; font-size:.88rem; letter-spacing:.055em; }
.topline-phone { font-size:1.12rem; }
.topline-item + .topline-item::before { left:-15px; }
.sweet-nav-wrap { width:min(var(--v10-max), calc(100% - 48px)); min-height:82px; padding:8px 0; gap:22px; }
.sweet-brand { min-width:195px; flex:0 0 195px; }
.sweet-brand img { width:178px; max-height:92px; object-fit:contain; filter:drop-shadow(0 8px 14px rgba(0,54,28,.12)); }
.sweet-main-nav { gap:16px; font-size:.96rem; letter-spacing:.035em; }
.sweet-main-nav .nav-link, .sweet-main-nav .mega-trigger { min-height:40px; padding:8px 1px; font-size:.98rem; line-height:1; }
.sweet-main-nav .nav-link::after, .sweet-main-nav .mega-trigger::after { bottom:2px; height:3px; }
.nav-phone { column-gap:8px; padding-right:14px; }
.nav-phone::before { width:42px; height:42px; font-size:1.1rem; }
.nav-phone span { font-size:.68rem; letter-spacing:.03em; }
.nav-phone strong { font-size:1.46rem; }
.sweet-nav-cta { padding:13px 18px !important; min-height:48px; display:inline-flex; align-items:center; justify-content:center; font-size:.98rem; }

.home-hero-sweet { min-height:560px; border-bottom:6px solid #fff; background-position:center right; }
.home-hero-sweet::before { background:radial-gradient(circle at 13% 12%, rgba(255,209,0,.14), transparent 23rem), linear-gradient(180deg, rgba(0,29,15,.12) 0%, rgba(0,24,12,.24) 100%); }
.sweet-hero-grid { grid-template-columns:minmax(0, 1fr) minmax(350px, 390px); gap:38px; align-items:center; padding:54px 0 48px; }
.sweet-hero-copy { max-width:790px; padding-top:0; }
.sweet-hero-eyebrow { font-size:.86rem; letter-spacing:.30em; margin-bottom:14px; }
.sweet-hero-copy h1 { font-size:clamp(3.45rem, 5vw, 5.45rem) !important; max-width:780px; line-height:.96 !important; letter-spacing:.005em !important; margin-bottom:14px; }
.sweet-hero-lead { font-size:clamp(1.2rem, 1.55vw, 1.45rem); max-width:640px; margin-bottom:0; }
.sweet-gold-rule { width:60px; height:4px; margin:20px 0 22px; }
.sweet-trust-icons { grid-template-columns:repeat(4, minmax(0,1fr)); gap:15px; max-width:740px; margin:22px 0 24px; }
.sweet-trust-icons span { min-width:0; grid-template-columns:46px minmax(0,1fr); column-gap:10px; }
.sweet-trust-icons b { width:46px; height:46px; border-radius:12px; font-size:1rem; border-width:2px; }
.sweet-trust-icons strong { font-size:.88rem; letter-spacing:.035em; }
.sweet-trust-icons small { font-size:.78rem; }
.sweet-hero-actions { margin-top:18px !important; }
.sweet-hero-actions .button { padding:14px 26px; min-height:50px; font-size:1.04rem; }
.sweet-estimate-card { max-width:390px; width:100%; justify-self:end; }
.sweet-lead-form, .hero-card .lead-form { padding:21px 22px !important; border-radius:10px !important; box-shadow:0 26px 62px rgba(0,0,0,.38) !important; }
.lead-form .form-head { margin-bottom:12px; }
.lead-form .form-head span { font-size:1.64rem; }
.lead-form .form-head strong { font-size:1.15rem; letter-spacing:.08em; }
.lead-form input, .lead-form select, .lead-form textarea { min-height:39px; padding:9px 12px !important; font-size:.92rem; }
.lead-form textarea { min-height:72px; }
.lead-form .field-label { margin:0 0 8px !important; display:block; }
.lead-form label { margin-top:0; }
.lead-form .submit-button, .submit-button { padding:13px 16px !important; min-height:50px; font-size:1.05rem; }
.lead-form .form-note { margin:.62rem 0 0; font-size:.78rem; }

.quick-service-showcase { padding:18px min(32px,3vw) 22px; background:linear-gradient(180deg,#004526 0%,#00361d 100%); }
.quick-service-grid { max-width:var(--v10-max); gap:14px; }
.quick-service-card { min-height:172px; border-width:1px; box-shadow:0 16px 34px rgba(0,0,0,.24); }
.quick-service-card img { height:128px; }
.quick-service-card span { min-height:44px; padding:8px 12px; font-size:.92rem; }
.quick-service-card b { width:30px; height:30px; font-size:.82rem; }

.section { padding:clamp(48px, 5vw, 72px) 0; }
.section-head { margin-bottom:28px; }
.section h2 { font-size:clamp(2.15rem, 4.1vw, 4.1rem); letter-spacing:.005em; }
.section h3 { font-size:clamp(1.2rem, 1.8vw, 1.55rem); }
.split { gap:32px; }
.lux-panel, .lux-card, .contact-card, .quote-card, .gallery-item, .faq-list details, .process-grid div, .service-card { border-radius:14px; }
.service-card-grid { grid-template-columns:repeat(4, 1fr); gap:18px; }
.service-card .service-media { height:178px; }
.service-card span:not(.service-media) { margin:18px 20px 5px; font-size:.72rem; letter-spacing:.14em; }
.service-card h3 { margin:0 20px 8px; font-size:1.22rem; }
.service-card p { margin:0 20px 20px; font-size:.94rem; line-height:1.55; }
.city-card-grid { gap:14px; }
.city-card { min-height:96px; border-radius:10px; }
.process-grid { gap:18px; }
.proof-photo-grid { gap:18px; }
.proof-photo-card { border-radius:14px; }
.media-proof-strip { border-radius:14px; }
.footer-cta { padding:34px 0; }
.footer-logo { width:170px; }
.footer-grid { gap:24px; }

.hero-premium:not(.home-hero-sweet) { min-height:500px; border-bottom:6px solid #fff; }
.hero-premium:not(.home-hero-sweet) .hero-grid { grid-template-columns:minmax(0,1fr) minmax(340px,390px); gap:36px; padding:54px 0; }
.hero-premium:not(.home-hero-sweet) .hero-copy h1 { font-size:clamp(3rem, 4.9vw, 5rem) !important; max-width:780px; }
.hero-premium:not(.home-hero-sweet) .hero-lead { font-size:clamp(1.12rem, 1.55vw, 1.34rem); max-width:680px; }
.inner-hero { min-height:420px; }
.inner-hero h1 { font-size:clamp(2.7rem, 5vw, 4.8rem) !important; }
.mega-menu { top:calc(100% + 10px); }
.sweet-mega { padding:15px; border-radius:14px; }
.mega-feature-photo { min-height:275px; padding:20px; }
.mega-feature-photo h3 { font-size:1.55rem; }
.mega-link.with-thumb { grid-template-columns:62px 1fr; padding:8px; }
.mega-link.with-thumb span { width:62px; height:52px; }
.sweet-mega .mega-link small { font-size:.79rem; line-height:1.3; }
.mega-small-links a { padding:10px; font-size:.86rem; }

@media (max-width:1280px) {
  .container, .sweet-nav-wrap, .topline-inner { width:min(100% - 40px, var(--v10-max)); }
  .sweet-brand { flex-basis:165px; min-width:165px; }
  .sweet-brand img { width:158px; max-height:86px; }
  .sweet-main-nav { gap:12px; font-size:.9rem; }
  .nav-phone strong { font-size:1.25rem; }
  .sweet-nav-cta { padding:12px 14px !important; }
  .sweet-hero-grid { grid-template-columns:minmax(0,1fr) minmax(330px,370px); gap:30px; }
  .sweet-hero-copy h1 { font-size:clamp(3.15rem, 5.2vw, 4.8rem) !important; max-width:720px; }
  .sweet-trust-icons { grid-template-columns:repeat(2, minmax(0,260px)); max-width:560px; }
  .quick-service-grid { gap:10px; }
  .quick-service-card span { font-size:.82rem; }
}
@media (max-width:1120px) {
  .topline-inner { justify-content:space-between; font-size:.78rem; gap:14px; }
  .topline-item:nth-child(2) { display:none; }
  .nav-phone { display:none; }
  .sweet-nav-wrap { min-height:78px; }
  .sweet-brand { flex-basis:150px; min-width:150px; }
  .sweet-brand img { width:145px; max-height:80px; }
  .sweet-main-nav { gap:10px; }
  .sweet-main-nav .nav-link, .sweet-main-nav .mega-trigger { font-size:.88rem; }
  .sweet-hero-grid, .hero-premium:not(.home-hero-sweet) .hero-grid { grid-template-columns:1fr; }
  .sweet-estimate-card { justify-self:start; max-width:440px; }
  .home-hero-sweet { min-height:auto; }
  .sweet-hero-grid { padding:48px 0; }
  .service-card-grid { grid-template-columns:repeat(3,1fr); }
}
@media (max-width:860px) {
  .sweet-nav-wrap { min-height:72px; width:min(100% - 28px, var(--v10-max)); }
  .sweet-brand img { width:132px; max-height:74px; }
  .nav-toggle { display:flex; }
  .quick-service-grid { grid-template-columns:repeat(2,1fr); }
  .service-card-grid { grid-template-columns:repeat(2,1fr); }
  .sweet-main-nav .nav-link, .sweet-main-nav .mega-trigger { font-size:1rem; }
}
@media (max-width:760px) {
  .container { width:min(100% - 28px, var(--v10-max)); }
  .sweet-hero-grid { padding:42px 0 34px; gap:24px; }
  .sweet-hero-copy h1 { font-size:clamp(2.65rem, 12vw, 4.05rem) !important; }
  .sweet-hero-lead { font-size:1.08rem; }
  .sweet-trust-icons { grid-template-columns:1fr; max-width:100%; }
  .sweet-trust-icons span { grid-template-columns:42px 1fr; }
  .sweet-trust-icons b { width:42px; height:42px; }
  .sweet-estimate-card { max-width:100%; }
  .quick-service-grid { grid-template-columns:1fr; }
  .quick-service-card { min-height:216px; }
  .quick-service-card img { height:168px; }
  .service-card-grid { grid-template-columns:1fr; }
  .service-card .service-media { height:210px; }
  .hero-premium:not(.home-hero-sweet) .hero-grid { padding:38px 0; }
}

/* V10 logo proportion safety */
.sweet-brand img { width:auto !important; height:86px !important; max-width:180px !important; max-height:none !important; object-fit:contain !important; }
.sweet-brand { min-width:152px !important; flex:0 0 152px !important; }
@media (max-width:1280px) { .sweet-brand img { height:78px !important; max-width:160px !important; } .sweet-brand { min-width:135px !important; flex-basis:135px !important; } }
@media (max-width:1120px) { .sweet-brand img { height:70px !important; max-width:145px !important; } .sweet-brand { min-width:122px !important; flex-basis:122px !important; } }
@media (max-width:860px) { .sweet-brand img { height:66px !important; max-width:136px !important; } }
@media (max-width:760px) { .sweet-brand img { height:64px !important; max-width:132px !important; } }

/* V10 compact service/city hero forms so interior pages fit like a premium landing page */
.hero-premium:not(.home-hero-sweet) .hero-grid { grid-template-columns:minmax(0,1fr) minmax(420px,500px) !important; align-items:center; }
.hero-premium:not(.home-hero-sweet) .hero-card { max-width:500px; width:100%; justify-self:end; }
.hero-premium:not(.home-hero-sweet) .lead-form {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px 10px !important;
  padding:20px 22px !important;
}
.hero-premium:not(.home-hero-sweet) .lead-form .form-head,
.hero-premium:not(.home-hero-sweet) .lead-form .form-row,
.hero-premium:not(.home-hero-sweet) .lead-form .submit-button,
.hero-premium:not(.home-hero-sweet) .lead-form .form-note,
.hero-premium:not(.home-hero-sweet) .lead-form .form-status,
.hero-premium:not(.home-hero-sweet) .lead-form .hp-field,
.hero-premium:not(.home-hero-sweet) .lead-form label:has(textarea) { grid-column:1 / -1; }
.hero-premium:not(.home-hero-sweet) .lead-form .form-row { display:grid; grid-template-columns:1fr 1fr; gap:8px 10px; }
.hero-premium:not(.home-hero-sweet) .lead-form label { margin:0 !important; font-size:.76rem; line-height:1.15; }
.hero-premium:not(.home-hero-sweet) .lead-form input,
.hero-premium:not(.home-hero-sweet) .lead-form select,
.hero-premium:not(.home-hero-sweet) .lead-form textarea { min-height:36px; padding:8px 11px !important; font-size:.88rem; }
.hero-premium:not(.home-hero-sweet) .lead-form textarea { min-height:58px; }
.hero-premium:not(.home-hero-sweet) .lead-form .form-head { margin:0 0 4px !important; }
.hero-premium:not(.home-hero-sweet) .lead-form .form-head span { font-size:1.58rem; }
.hero-premium:not(.home-hero-sweet) .lead-form .form-head strong { font-size:1rem; }
.hero-premium:not(.home-hero-sweet) .lead-form .submit-button { min-height:46px; padding:12px 14px !important; }
.hero-premium:not(.home-hero-sweet) .lead-form .form-note { font-size:.74rem; line-height:1.35; margin:0 !important; }
.hero-premium:not(.home-hero-sweet) { min-height:560px; }
@media (max-width:1120px) { .hero-premium:not(.home-hero-sweet) .hero-grid { grid-template-columns:1fr !important; } .hero-premium:not(.home-hero-sweet) .hero-card { justify-self:start; max-width:620px; } }
@media (max-width:640px) { .hero-premium:not(.home-hero-sweet) .lead-form, .hero-premium:not(.home-hero-sweet) .lead-form .form-row { grid-template-columns:1fr; } }

/* V11 final luxury QA pass: contrast, sharp imagery, commercial-equipment presentation, cleaner fit */
:root {
  --v11-deep: #002b17;
  --v11-deep-2: #001d10;
  --v11-green: #006b35;
  --v11-gold: #ffd100;
  --v11-gold-soft: #ffe9a3;
  --v11-cream: #fffaf0;
  --v11-paper: #fffdf7;
  --v11-ink: #04120b;
  --v11-muted: #26362d;
}
body {
  background: linear-gradient(180deg, #fffdf7 0%, #f9f1df 54%, #f4ead0 100%) !important;
  color: var(--v11-ink) !important;
  font-size: 16px;
}
.container { width: min(1360px, calc(100% - 52px)) !important; }

/* Header fit and brand polish */
.sweet-header { background: #fff !important; border-bottom: 1px solid rgba(0,43,23,.14) !important; box-shadow: 0 12px 28px rgba(0,43,23,.12) !important; }
.sweet-topline { min-height: 30px !important; background: linear-gradient(90deg, #002b17 0%, #004b28 50%, #002b17 100%) !important; }
.topline-inner { min-height: 30px !important; width: min(1360px, calc(100% - 48px)) !important; font-size: .82rem !important; gap: 22px !important; }
.topline-gold, .topline-phone { color: var(--v11-gold) !important; }
.topline-phone { font-size: 1.06rem !important; }
.sweet-nav-wrap { min-height: 76px !important; width: min(1360px, calc(100% - 48px)) !important; gap: 20px !important; padding: 7px 0 !important; }
.sweet-brand { min-width: 130px !important; flex: 0 0 130px !important; }
.sweet-brand img { height: 64px !important; width: auto !important; max-width: 134px !important; object-fit: contain !important; filter: drop-shadow(0 8px 14px rgba(0,54,28,.10)) !important; }
.sweet-main-nav { gap: 14px !important; margin-left: auto !important; align-items: center !important; }
.sweet-main-nav .nav-link, .sweet-main-nav .mega-trigger {
  color: #07341d !important;
  font-size: .92rem !important;
  min-height: 38px !important;
  line-height: 1 !important;
  letter-spacing: .04em !important;
}
.sweet-main-nav .nav-link:hover, .sweet-main-nav .mega-trigger:hover, .sweet-main-nav .nav-link[aria-current="page"] { color: #006b35 !important; }
.nav-phone strong { color: #07341d !important; font-size: 1.22rem !important; }
.nav-phone span { color: #234333 !important; font-size: .62rem !important; }
.nav-phone::before { width: 38px !important; height: 38px !important; color: #003b1f !important; border-color: rgba(0,75,40,.28) !important; }
.sweet-nav-cta { background: linear-gradient(135deg, #ffd100, #f4bb00) !important; color: #04120b !important; border-radius: 8px !important; min-height: 44px !important; padding: 12px 17px !important; font-size: .9rem !important; box-shadow: 0 12px 26px rgba(244,187,0,.28) !important; }

/* Hero fit and visual hierarchy */
.home-hero-sweet {
  min-height: 590px !important;
  background-position: center right !important;
  border-bottom: 6px solid #fff !important;
}
.home-hero-sweet .hero-shade,
.home-hero-sweet::before {
  background:
    linear-gradient(90deg, rgba(0,25,13,.90) 0%, rgba(0,33,17,.72) 36%, rgba(0,33,17,.32) 66%, rgba(0,33,17,.58) 100%) !important;
}
.sweet-hero-grid { grid-template-columns: minmax(0, 1fr) minmax(330px, 384px) !important; gap: 36px !important; padding: 50px 0 44px !important; align-items: center !important; }
.sweet-hero-copy { max-width: 780px !important; }
.sweet-hero-eyebrow { color: var(--v11-gold) !important; font-size: .78rem !important; letter-spacing: .26em !important; text-shadow: 0 10px 28px rgba(0,0,0,.40) !important; }
.sweet-hero-copy h1 { color: #fff !important; font-size: clamp(3.2rem, 4.65vw, 5.15rem) !important; line-height: .97 !important; letter-spacing: .002em !important; max-width: 800px !important; margin-bottom: 14px !important; text-shadow: 0 20px 52px rgba(0,0,0,.56) !important; }
.sweet-hero-lead { color: rgba(255,250,240,.98) !important; font-size: clamp(1.16rem, 1.45vw, 1.36rem) !important; line-height: 1.45 !important; text-shadow: 0 14px 34px rgba(0,0,0,.50) !important; }
.sweet-gold-rule { background: var(--v11-gold) !important; box-shadow: 0 10px 24px rgba(255,209,0,.32) !important; }
.sweet-trust-icons { gap: 12px !important; margin: 22px 0 !important; max-width: 720px !important; }
.sweet-trust-icons b { color: var(--v11-gold) !important; border-color: var(--v11-gold) !important; background: rgba(0,25,13,.42) !important; box-shadow: 0 10px 24px rgba(0,0,0,.20) !important; }
.sweet-trust-icons strong { color: #fff !important; text-shadow: 0 10px 22px rgba(0,0,0,.48) !important; }
.sweet-trust-icons small { color: rgba(255,250,240,.94) !important; text-shadow: 0 10px 22px rgba(0,0,0,.48) !important; }
.sweet-estimate-card { max-width: 384px !important; justify-self: end !important; }
.sweet-lead-form, .hero-card .lead-form {
  border-radius: 10px !important;
  background: linear-gradient(180deg, #004322 0%, #002d18 100%) !important;
  color: #fff !important;
  border: 1px solid rgba(255,209,0,.34) !important;
  box-shadow: 0 30px 72px rgba(0,0,0,.42) !important;
}
.lead-form::before { opacity: .025 !important; }
.lead-form .form-head { display: grid !important; gap: 2px !important; text-align: center !important; justify-content: stretch !important; }
.lead-form .form-head span { color: var(--v11-gold) !important; font-size: 1.52rem !important; letter-spacing: .04em !important; line-height: .98 !important; }
.lead-form .form-head strong { color: #fff !important; font-size: 1.08rem !important; letter-spacing: .08em !important; }
.lead-form input, .lead-form select, .lead-form textarea { background: #fff !important; color: #111714 !important; border-color: rgba(0,0,0,.20) !important; border-radius: 5px !important; min-height: 38px !important; box-shadow: inset 0 1px 2px rgba(0,0,0,.06) !important; }
.lead-form input::placeholder, .lead-form textarea::placeholder { color: #526054 !important; }
.lead-form .submit-button { background: linear-gradient(135deg, #ffd100, #f2b900) !important; color: #04120b !important; border-radius: 5px !important; }
.lead-form .form-note { color: rgba(255,250,240,.94) !important; text-align: center !important; }
.lead-form .form-status.success { color: #fff4bd !important; }
.lead-form .form-status.error { color: #ffd7d7 !important; }

/* Sharp, distinct, commercial-quality image presentation */
.quick-service-showcase { background: linear-gradient(180deg, #004526 0%, #002e18 100%) !important; padding: 18px min(28px, 3vw) 24px !important; }
.quick-service-grid { max-width: 1360px !important; gap: 14px !important; }
.quick-service-card { border-radius: 4px !important; border: 1px solid rgba(255,250,240,.68) !important; background: #002d18 !important; overflow: hidden !important; box-shadow: 0 18px 42px rgba(0,0,0,.24) !important; }
.quick-service-card img, .service-card img, .service-city-media img, .gallery-item > img, .image-panel .panel-photo, .proof-photo-card img, .mega-link.with-thumb span, .mega-feature-photo, .media-thumb-stack span {
  filter: saturate(1.08) contrast(1.06) !important;
  image-rendering: auto !important;
}
.quick-service-card img { height: 140px !important; object-fit: cover !important; transform: none !important; }
.quick-service-card span { background: #003b1f !important; color: #fff !important; min-height: 46px !important; font-size: .92rem !important; text-shadow: 0 9px 18px rgba(0,0,0,.28) !important; }
.quick-service-card b { color: #fff !important; border-color: rgba(255,250,240,.64) !important; }
.quick-service-card i { color: var(--v11-gold) !important; }
.service-card { background: #fffdf7 !important; border: 1px solid rgba(0,43,23,.16) !important; box-shadow: 0 20px 54px rgba(0,43,23,.10) !important; }
.service-card .service-media { height: 188px !important; background: #002b17 !important; border-bottom: 1px solid rgba(0,43,23,.14) !important; }
.service-card .service-media img { transform: none !important; }
.service-card:hover .service-media img { transform: scale(1.035) !important; }
.service-card h3 { color: #04120b !important; }
.service-card span:not(.service-media) { color: #5d5200 !important; }
.service-card p { color: #26362d !important; }
.service-city-media { height: 156px !important; }
.gallery-item > img { height: 265px !important; object-fit: cover !important; }
.gallery-item.media-backed::before { content: "Premium service" !important; background: rgba(0,43,23,.86) !important; color: #fff2b8 !important; }

/* Dark photo sections: fix all contrast issues seen on staging */
.photo-proof-section,
.home-photo-reel {
  background:
    radial-gradient(circle at 10% 0%, rgba(0,107,53,.28), transparent 28rem),
    radial-gradient(circle at 88% 8%, rgba(255,209,0,.16), transparent 26rem),
    linear-gradient(145deg, #001d10 0%, #003018 52%, #00180d 100%) !important;
}
.photo-proof-section .section-head h2,
.home-photo-reel .section-head h2 { color: #fffaf0 !important; text-shadow: 0 14px 34px rgba(0,0,0,.34) !important; }
.photo-proof-section .section-head p,
.home-photo-reel .section-head p { color: rgba(255,250,240,.90) !important; }
.photo-proof-section .eyebrow,
.home-photo-reel .eyebrow { color: var(--v11-gold) !important; }
.proof-photo-grid { gap: 18px !important; grid-auto-rows: 300px !important; }
.proof-photo-card { border-radius: 14px !important; border: 1px solid rgba(255,209,0,.28) !important; background: #001d10 !important; }
.proof-photo-card::after { background: linear-gradient(180deg, rgba(0,20,10,.08) 0%, rgba(0,20,10,.38) 38%, rgba(0,20,10,.92) 100%) !important; }
.proof-photo-card div { left: 22px !important; right: 22px !important; bottom: 21px !important; }
.proof-photo-card span,
.proof-photo-card div span { color: var(--v11-gold) !important; text-shadow: 0 12px 28px rgba(0,0,0,.70) !important; }
.proof-photo-card h3,
.proof-photo-card div h3,
.photo-proof-section .proof-photo-card h3,
.home-photo-reel .proof-photo-card h3 { color: #fffaf0 !important; text-shadow: 0 16px 34px rgba(0,0,0,.78) !important; font-size: clamp(1.25rem, 2vw, 2rem) !important; letter-spacing: .005em !important; }
.customer-proof-strip a,
.customer-proof-strip span { background: rgba(255,250,240,.10) !important; border-color: rgba(255,209,0,.28) !important; }
.customer-proof-strip strong { color: #fffaf0 !important; }
.customer-proof-strip small { color: rgba(255,250,240,.86) !important; }

/* Footer contrast and proportions */
.site-footer { background: linear-gradient(180deg, #001d10 0%, #000f08 100%) !important; color: rgba(255,250,240,.92) !important; }
.site-footer::before { background: linear-gradient(180deg, rgba(0,29,16,.82), rgba(0,15,8,.96)) !important; }
.footer-cta h2, .site-footer h2 { color: #fffaf0 !important; }
.site-footer h3,
.footer-grid h3,
.site-footer .footer-mini-card strong { color: var(--v11-gold-soft) !important; }
.site-footer p,
.site-footer li,
.site-footer span,
.site-footer .footer-tagline { color: rgba(255,250,240,.91) !important; }
.site-footer a,
.footer-grid a { color: #fffaf0 !important; }
.site-footer a:hover { color: var(--v11-gold) !important; }
.footer-logo-card { background: #fff !important; border-color: rgba(255,209,0,.38) !important; }
.footer-logo { width: 150px !important; }
.footer-mini-card { background: rgba(255,250,240,.07) !important; border-color: rgba(255,209,0,.28) !important; }

/* Mega menu contrast and sizing */
.mega-content { background: linear-gradient(145deg, #001d10 0%, #00341c 55%, #00170c 100%) !important; border-color: rgba(255,209,0,.30) !important; }
.mega-feature-photo::after { background: linear-gradient(180deg, rgba(0,20,10,.12) 0%, rgba(0,20,10,.72) 100%) !important; }
.mega-feature-photo h3,
.mega-promise-card h3,
.mega-intro-card h3 { color: #fffaf0 !important; }
.mega-feature-photo p,
.mega-promise-card p,
.mega-intro-card p,
.mega-media-card p,
.mega-link small { color: rgba(255,250,240,.88) !important; }
.mega-kicker { color: var(--v11-gold) !important; }
.mega-link strong, .mega-link { color: #fffaf0 !important; }
.mega-city-grid a { color: #fffaf0 !important; background: rgba(255,250,240,.09) !important; border-color: rgba(255,209,0,.20) !important; }

/* General text readability */
.section h2, .section h3, .faq-list summary, .gallery-item h3, .lux-panel h3, .lux-card h3 { color: #04120b !important; }
.section p, .lux-panel p, .lux-card p, .gallery-item p, .faq-list p, .content-columns p, .service-city-link span:not(.service-city-media), .media-proof-strip small { color: var(--v11-muted) !important; }
.eyebrow { color: #655900 !important; }
.quote-card h2, .quote-card h3, .quote-card blockquote { color: #fffaf0 !important; }
.quote-card cite, .quote-card .eyebrow { color: var(--v11-gold-soft) !important; }
.city-card span { color: rgba(255,250,240,.88) !important; }
.button.gold { background: linear-gradient(135deg, #ffd100, #f2b900) !important; color: #04120b !important; }

@media (max-width: 1280px) {
  .sweet-brand { min-width: 118px !important; flex-basis: 118px !important; }
  .sweet-brand img { height: 58px !important; max-width: 122px !important; }
  .sweet-main-nav { gap: 10px !important; }
  .sweet-main-nav .nav-link, .sweet-main-nav .mega-trigger { font-size: .84rem !important; }
  .nav-phone strong { font-size: 1.08rem !important; }
  .sweet-nav-cta { font-size: .82rem !important; padding: 11px 13px !important; }
}
@media (max-width: 1120px) {
  .nav-phone { display: none !important; }
  .sweet-hero-grid, .hero-premium:not(.home-hero-sweet) .hero-grid { grid-template-columns: 1fr !important; }
  .sweet-estimate-card, .hero-premium:not(.home-hero-sweet) .hero-card { justify-self: start !important; max-width: 520px !important; }
  .home-hero-sweet { min-height: auto !important; }
  .service-card-grid { grid-template-columns: repeat(3, 1fr) !important; }
}
@media (max-width: 900px) {
  .sweet-nav-wrap { min-height: 70px !important; }
  .sweet-brand { min-width: 106px !important; flex-basis: 106px !important; }
  .sweet-brand img { height: 54px !important; max-width: 110px !important; }
  .nav-toggle { display: flex !important; }
  .service-card-grid, .quick-service-grid { grid-template-columns: repeat(2, 1fr) !important; }
  .proof-photo-grid { grid-template-columns: 1fr 1fr !important; grid-auto-rows: 270px !important; }
}
@media (max-width: 760px) {
  .container { width: min(100% - 28px, 1360px) !important; }
  .sweet-brand img { height: 52px !important; max-width: 106px !important; }
  .sweet-hero-copy h1 { font-size: clamp(2.55rem, 11vw, 3.9rem) !important; }
  .sweet-hero-grid { padding: 38px 0 32px !important; }
  .quick-service-grid, .service-card-grid, .proof-photo-grid { grid-template-columns: 1fr !important; }
  .quick-service-card img { height: 190px !important; }
  .service-card .service-media { height: 210px !important; }
  .proof-photo-grid { grid-auto-rows: 265px !important; }
  .footer-logo { width: 132px !important; }
  .topline-inner { width: min(100% - 28px, 1360px) !important; }
}

/* V12 final polish: strict contrast, mobile conversion bar, SEO-safe readable design system */
:root {
  --v12-deep: #002514;
  --v12-deep-soft: #00391e;
  --v12-green: #006b35;
  --v12-gold: #ffd100;
  --v12-gold-dark: #6d5f00;
  --v12-cream: #fffaf0;
  --v12-paper: #fffdf7;
  --v12-ink: #06130d;
  --v12-body: #26362d;
  --v12-muted: #435347;
}
html { background: var(--v12-cream); }
body { color: var(--v12-ink) !important; background: linear-gradient(180deg,#fffdf8 0%,#fbf2df 52%,#f5ead0 100%) !important; }
.container { max-width: 1360px; }

/* Header sizing: compact, premium, and no overflow */
.sweet-topline { min-height: 28px !important; }
.topline-inner { min-height: 28px !important; font-size: .78rem !important; letter-spacing: .045em !important; }
.sweet-nav-wrap { min-height: 72px !important; padding: 6px 0 !important; }
.sweet-brand { flex: 0 0 118px !important; min-width: 118px !important; }
.sweet-brand img { height: 56px !important; max-width: 118px !important; width: auto !important; object-fit: contain !important; }
.sweet-main-nav { gap: 12px !important; }
.sweet-main-nav .nav-link,
.sweet-main-nav .mega-trigger { color: #062a17 !important; font-size: .88rem !important; letter-spacing: .035em !important; min-height: 36px !important; }
.nav-phone { padding-right: 12px !important; }
.nav-phone::before { width: 36px !important; height: 36px !important; background: #fff !important; color: var(--v12-deep) !important; }
.nav-phone span { color: #1d3a2b !important; }
.nav-phone strong { color: #062a17 !important; font-size: 1.14rem !important; }
.sweet-nav-cta { min-height: 42px !important; padding: 11px 15px !important; border-radius: 8px !important; }

/* Global readable text on light surfaces */
.section,
.section.soft,
.intro-section,
.gallery-preview,
.guarantee,
.faq-section,
.area-section,
.process-section { color: var(--v12-ink) !important; }
.section h1,
.section h2,
.section h3,
.lux-card h1,
.lux-card h2,
.lux-card h3,
.lux-panel h1,
.lux-panel h2,
.lux-panel h3,
.contact-card h1,
.contact-card h2,
.contact-card h3,
.gallery-item h3,
.service-card h3,
.faq-list summary { color: var(--v12-ink) !important; }
.section p,
.section li,
.lux-card p,
.lux-card li,
.lux-panel p,
.lux-panel li,
.contact-card p,
.contact-card li,
.gallery-item p,
.service-card p,
.faq-list p,
.content-columns p,
.process-grid p,
.service-city-link span:not(.service-city-media),
.media-proof-strip small:not(.customer-proof-strip small) { color: var(--v12-body) !important; }
.section .eyebrow,
.lux-card .eyebrow,
.lux-panel .eyebrow,
.contact-card .eyebrow,
.gallery-preview .eyebrow,
.faq-section .eyebrow,
.area-section .eyebrow,
.process-section .eyebrow { color: var(--v12-gold-dark) !important; text-shadow: none !important; }
.lux-card,
.lux-panel,
.contact-card,
.gallery-item,
.service-card,
.process-grid div,
.faq-list details,
.service-city-link { background: linear-gradient(180deg,#fffef9,#f8efd8) !important; color: var(--v12-ink) !important; border-color: rgba(0,37,20,.16) !important; }
.guarantee .lux-card { background: linear-gradient(180deg,#fffef9 0%,#f6ecd1 100%) !important; }
.guarantee .lux-card p,
.guarantee .lux-card li { color: #203128 !important; font-weight: 500; }
.guarantee .lux-card .eyebrow { color: #5e5200 !important; }
.guarantee .lux-card h2 { color: #00351c !important; }
.quote-card { background: linear-gradient(145deg,#001d10,#00391e) !important; color: #fffaf0 !important; border-color: rgba(255,209,0,.30) !important; }
.quote-card blockquote,
.quote-card cite,
.quote-card p,
.quote-card .eyebrow { color: #fffaf0 !important; }
.quote-card cite,
.quote-card .eyebrow { color: #ffe9a3 !important; }

/* Dark sections get explicit light text only inside those sections */
.photo-proof-section,
.home-photo-reel,
.site-footer,
.stat-band,
.mega-content { color: #fffaf0 !important; }
.photo-proof-section .section-head h2,
.home-photo-reel .section-head h2,
.photo-proof-section h2,
.home-photo-reel h2,
.site-footer h2,
.site-footer h3,
.mega-content h2,
.mega-content h3,
.mega-content strong { color: #fffaf0 !important; }
.photo-proof-section .section-head p,
.home-photo-reel .section-head p,
.photo-proof-section p,
.home-photo-reel p,
.site-footer p,
.site-footer li,
.site-footer span,
.site-footer .footer-tagline,
.mega-content p,
.mega-content small { color: rgba(255,250,240,.91) !important; }
.photo-proof-section .eyebrow,
.home-photo-reel .eyebrow,
.site-footer .eyebrow,
.mega-kicker { color: var(--v12-gold) !important; }
.customer-proof-strip a,
.customer-proof-strip span { background: rgba(0,20,10,.58) !important; border-color: rgba(255,209,0,.34) !important; }
.customer-proof-strip strong { color: #fffaf0 !important; }
.customer-proof-strip small { color: rgba(255,250,240,.90) !important; }
.proof-photo-card::after { background: linear-gradient(180deg,rgba(0,20,10,.06) 0%,rgba(0,20,10,.38) 38%,rgba(0,20,10,.94) 100%) !important; }
.proof-photo-card span { color: var(--v12-gold) !important; }
.proof-photo-card h3 { color: #fffaf0 !important; text-shadow: 0 16px 34px rgba(0,0,0,.82) !important; }

/* Homepage hero: better fit, stronger but balanced overlay */
.home-hero-sweet { min-height: 600px !important; background-position: center right !important; }
.home-hero-sweet::before,
.home-hero-sweet .hero-shade { background: linear-gradient(90deg,rgba(0,23,12,.91) 0%,rgba(0,31,16,.78) 34%,rgba(0,31,16,.30) 64%,rgba(0,31,16,.62) 100%) !important; }
.sweet-hero-grid { grid-template-columns: minmax(0,1fr) minmax(326px,378px) !important; gap: 34px !important; padding: 48px 0 42px !important; }
.sweet-hero-copy h1 { color: #fff !important; font-size: clamp(3rem, 4.45vw, 5.0rem) !important; line-height: .98 !important; text-shadow: 0 22px 54px rgba(0,0,0,.62) !important; }
.sweet-hero-lead { color: #fffaf0 !important; font-weight: 650 !important; }
.sweet-trust-icons strong,
.sweet-trust-icons small { color: #fffaf0 !important; }
.sweet-lead-form, .hero-card .lead-form { background: linear-gradient(180deg,#004525 0%,#002d18 100%) !important; }
.lead-form .form-note { color: rgba(255,250,240,.95) !important; }

/* Image card crispness and commercial-quality look */
.quick-service-card img,
.service-card .service-media img,
.gallery-item > img,
.service-city-media img,
.image-panel .panel-photo { filter: saturate(1.04) contrast(1.03) !important; transform: none !important; }
.quick-service-card:hover img,
.service-card:hover .service-media img,
.service-city-link:hover .service-city-media img { transform: scale(1.025) !important; }
.quick-service-card { border-radius: 6px !important; }
.quick-service-card img { height: 146px !important; }
.service-card .service-media { height: 196px !important; }
.gallery-item > img { height: 272px !important; }
.gallery-item.media-backed::before { content: "Joe's field work" !important; color: #fff2b8 !important; }

/* Footer: high contrast, tighter logo, no washed-out text */
.site-footer { background: linear-gradient(180deg,#001d10 0%,#000d07 100%) !important; }
.site-footer::before { background: linear-gradient(180deg,rgba(0,29,16,.70),rgba(0,13,7,.96)) !important; }
.footer-logo { width: 138px !important; }
.footer-logo-card { padding: 10px 12px !important; }
.footer-mini-card { background: rgba(255,250,240,.08) !important; }
.footer-bottom { color: rgba(255,250,240,.86) !important; }

/* Better mobile bottom conversion bar: Contact + Call */
.mobile-call { display: none !important; }
.mobile-action-bar { display: none; }
@media (max-width: 760px) {
  body { padding-bottom: 86px !important; }
  .sweet-topline { display: none !important; }
  .sweet-nav-wrap { min-height: 64px !important; width: min(100% - 24px, 1360px) !important; }
  .sweet-brand { flex: 0 0 98px !important; min-width: 98px !important; }
  .sweet-brand img { height: 48px !important; max-width: 98px !important; }
  .sweet-main-nav { gap: 10px !important; }
  .main-nav.open { max-height: calc(100vh - 70px) !important; overflow: auto !important; background: #fffdf7 !important; }
  .sweet-main-nav .nav-link,
  .sweet-main-nav .mega-trigger { color: var(--v12-ink) !important; background: rgba(0,55,28,.06) !important; border: 1px solid rgba(0,55,28,.12) !important; }
  .home-hero-sweet { background-position: 62% center !important; }
  .sweet-hero-grid { grid-template-columns: 1fr !important; padding: 36px 0 30px !important; }
  .sweet-hero-copy h1 { font-size: clamp(2.42rem, 10.5vw, 3.65rem) !important; }
  .sweet-estimate-card { max-width: 100% !important; justify-self: stretch !important; }
  .quick-service-card img { height: 195px !important; }
  .service-card .service-media { height: 220px !important; }
  .gallery-item > img { height: 236px !important; }
  .mobile-action-bar {
    position: fixed;
    z-index: 9999;
    left: 10px;
    right: 10px;
    bottom: 10px;
    display: grid;
    grid-template-columns: .85fr 1.15fr;
    gap: 10px;
    padding: 9px;
    border: 1px solid rgba(255,209,0,.34);
    border-radius: 18px;
    background: rgba(0,29,16,.96);
    box-shadow: 0 18px 48px rgba(0,0,0,.42);
    backdrop-filter: blur(16px);
  }
  .mobile-action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    border-radius: 12px;
    font-weight: 1000;
    letter-spacing: .02em;
    line-height: 1;
    text-align: center;
  }
  .mobile-contact { background: #fffaf0; color: var(--v12-deep) !important; }
  .mobile-call-now { background: linear-gradient(135deg,#ffd100,#f2b900); color: #04120b !important; }
}
@media (max-width: 380px) {
  .mobile-action-bar { grid-template-columns: 1fr; }
  body { padding-bottom: 142px !important; }
}

/* Print and no-js guardrails */
@media print { .sweet-header, .mobile-action-bar, .site-footer { position: static !important; display: none !important; } }

/* V12 mega menu correction: clean, compact, luxury, and usable */
@media (min-width: 901px) {
  .sweet-nav-wrap { position: relative !important; }
  .nav-item { position: static !important; }
  .mega-menu {
    position: absolute !important;
    left: 50% !important;
    top: calc(100% + 10px) !important;
    width: min(1080px, calc(100vw - 48px)) !important;
    transform: translateX(-50%) translateY(10px) !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transition: opacity .16s ease, transform .16s ease, visibility .16s ease !important;
    z-index: 500 !important;
  }
  .nav-has-mega:hover .mega-menu,
  .nav-has-mega:focus-within .mega-menu,
  .nav-has-mega.is-open .mega-menu {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: translateX(-50%) translateY(0) !important;
  }
  .sweet-mega {
    display: grid !important;
    align-items: stretch !important;
    gap: 14px !important;
    padding: 16px !important;
    max-height: calc(100vh - 118px) !important;
    overflow: auto !important;
    border-radius: 18px !important;
    border: 1px solid rgba(255,209,0,.32) !important;
    background:
      radial-gradient(circle at 8% 0%, rgba(0,107,53,.26), transparent 24rem),
      radial-gradient(circle at 92% 10%, rgba(255,209,0,.16), transparent 24rem),
      linear-gradient(145deg,#001a0e 0%,#002f19 58%,#001309 100%) !important;
    box-shadow: 0 28px 84px rgba(0,0,0,.42) !important;
  }
  .sweet-services-mega { grid-template-columns: 1.08fr 1fr 1fr .82fr !important; }
  .sweet-area-mega { grid-template-columns: .96fr 1.35fr .9fr !important; }
  .sweet-gallery-mega,
  .sweet-about-mega { grid-template-columns: 1fr .95fr .88fr !important; }
  .mega-feature-photo {
    position: relative !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-end !important;
    min-height: 270px !important;
    padding: 20px !important;
    border-radius: 14px !important;
    overflow: hidden !important;
    border: 1px solid rgba(255,209,0,.24) !important;
    background-image:
      linear-gradient(180deg, rgba(0,19,10,.06) 0%, rgba(0,19,10,.36) 45%, rgba(0,19,10,.92) 100%),
      var(--mega-photo) !important;
    background-size: cover !important;
    background-position: center !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.10), 0 20px 48px rgba(0,0,0,.24) !important;
  }
  .mega-feature-photo h3 { color: #fffaf0 !important; font-size: 1.34rem !important; line-height: 1.08 !important; letter-spacing: .002em !important; margin: 8px 0 8px !important; text-shadow: 0 12px 26px rgba(0,0,0,.70) !important; }
  .mega-feature-photo p { color: rgba(255,250,240,.90) !important; font-size: .88rem !important; line-height: 1.48 !important; margin: 0 0 12px !important; text-shadow: 0 10px 22px rgba(0,0,0,.70) !important; }
  .mega-kicker { color: #ffd100 !important; font-size: .66rem !important; letter-spacing: .15em !important; }
  .mega-card-list { display: grid !important; gap: 8px !important; align-content: start !important; }
  .mega-link {
    display: grid !important;
    gap: 3px !important;
    min-height: 58px !important;
    padding: 10px 11px !important;
    border-radius: 12px !important;
    background: rgba(255,250,240,.08) !important;
    border: 1px solid rgba(255,209,0,.18) !important;
    color: #fffaf0 !important;
    box-shadow: none !important;
  }
  .mega-link.with-thumb {
    grid-template-columns: 58px minmax(0,1fr) !important;
    grid-template-areas: "thumb title" "thumb desc" !important;
    gap: 2px 10px !important;
    align-items: center !important;
    padding: 7px !important;
  }
  .mega-link.with-thumb span {
    grid-area: thumb !important;
    display: block !important;
    width: 58px !important;
    height: 50px !important;
    border-radius: 10px !important;
    background-size: cover !important;
    background-position: center !important;
    border: 1px solid rgba(255,209,0,.24) !important;
  }
  .mega-link.with-thumb strong { grid-area: title !important; }
  .mega-link.with-thumb small { grid-area: desc !important; }
  .mega-link strong { color: #fffaf0 !important; font-size: .9rem !important; line-height: 1.12 !important; }
  .mega-link small { color: rgba(255,250,240,.82) !important; font-size: .74rem !important; line-height: 1.25 !important; }
  .mega-link:hover,
  .mega-city-grid a:hover,
  .mega-small-links a:hover { background: rgba(255,250,240,.14) !important; transform: translateY(-2px) !important; border-color: rgba(255,209,0,.34) !important; }
  .mega-small-links {
    display: grid !important;
    gap: 8px !important;
    align-content: start !important;
  }
  .mega-small-links a {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    min-height: 42px !important;
    padding: 10px 12px !important;
    border-radius: 12px !important;
    color: #fffaf0 !important;
    background: rgba(255,250,240,.08) !important;
    border: 1px solid rgba(255,209,0,.18) !important;
    font-size: .82rem !important;
    font-weight: 1000 !important;
  }
  .mega-small-links a::after { content: "→"; color: #ffd100; }
  .mega-city-grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0,1fr)) !important;
    gap: 8px !important;
    align-content: start !important;
  }
  .mega-city-grid a {
    min-height: 48px !important;
    padding: 8px !important;
    border-radius: 12px !important;
    background: rgba(255,250,240,.08) !important;
    border: 1px solid rgba(255,209,0,.18) !important;
    color: #fffaf0 !important;
    font-size: .84rem !important;
    line-height: 1.12 !important;
  }
  .mega-promise-card,
  .mega-proof-card,
  .mega-media-card {
    border-radius: 14px !important;
    padding: 15px !important;
    background: rgba(255,250,240,.075) !important;
    border: 1px solid rgba(255,209,0,.20) !important;
    box-shadow: none !important;
  }
  .mega-promise-card h3,
  .mega-proof-card strong,
  .mega-media-card h3 { color: #fffaf0 !important; }
  .mega-proof-card { display: grid !important; grid-template-columns: 54px 1fr !important; gap: 12px !important; align-items: center !important; }
  .mega-proof-card img { width: 54px !important; max-width: 54px !important; border-radius: 8px !important; background: #fff !important; }
  .mega-proof-card span { color: rgba(255,250,240,.84) !important; font-size: .82rem !important; line-height: 1.35 !important; }
  .media-thumb-stack,
  .media-thumb-stack.sweet-gallery-stack {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    grid-auto-rows: 132px !important;
    gap: 10px !important;
    min-height: auto !important;
  }
  .media-thumb-stack span { min-height: 0 !important; border-radius: 14px !important; background-size: cover !important; background-position: center !important; border: 1px solid rgba(255,209,0,.24) !important; }
  .media-thumb-stack span:first-child { grid-row: span 2 !important; }
}
@media (min-width: 901px) and (max-width: 1180px) {
  .mega-menu { width: min(940px, calc(100vw - 34px)) !important; }
  .sweet-services-mega { grid-template-columns: 1fr 1fr !important; }
  .sweet-area-mega,
  .sweet-gallery-mega,
  .sweet-about-mega { grid-template-columns: 1fr 1fr !important; }
  .mega-small-links { grid-template-columns: repeat(2, minmax(0,1fr)) !important; grid-column: 1 / -1 !important; }
}
@media (max-width: 900px) {
  .mega-menu {
    position: static !important;
    width: 100% !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: none !important;
    display: none !important;
    margin-top: 8px !important;
  }
  .nav-has-mega.is-open .mega-menu,
  .nav-has-mega:focus-within .mega-menu { display: block !important; }
  .sweet-mega,
  .sweet-services-mega,
  .sweet-area-mega,
  .sweet-gallery-mega,
  .sweet-about-mega {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    padding: 10px !important;
    border-radius: 14px !important;
    max-height: none !important;
    overflow: visible !important;
  }
  .mega-feature-photo { min-height: 190px !important; border-radius: 12px !important; padding: 16px !important; }
  .mega-feature-photo h3 { font-size: 1.16rem !important; }
  .mega-feature-photo p { font-size: .88rem !important; }
  .mega-link.with-thumb { grid-template-columns: 56px 1fr !important; }
  .mega-link.with-thumb span { width: 56px !important; height: 48px !important; }
  .mega-city-grid { grid-template-columns: 1fr 1fr !important; gap: 8px !important; }
  .mega-small-links { grid-template-columns: 1fr !important; }
  .media-thumb-stack, .media-thumb-stack.sweet-gallery-stack { grid-template-columns: 1fr !important; grid-auto-rows: 140px !important; }
  .media-thumb-stack span:first-child { grid-row: auto !important; }
}
@media (max-width: 520px) {
  .mega-city-grid { grid-template-columns: 1fr !important; }
}

/* V13 mega menu rebuild: clean, compact, luxury, and controlled */
.v13-nav-wrap { position: relative !important; }
.v13-main-nav .nav-item { position: static !important; }
.v13-main-nav .mega-trigger { cursor: pointer !important; }
.v13-mega-menu {
  position: absolute !important;
  left: 50% !important;
  top: calc(100% + 10px) !important;
  width: min(1120px, calc(100vw - 48px)) !important;
  max-width: 1120px !important;
  transform: translate(-50%, 10px) !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  display: block !important;
  z-index: 1600 !important;
  transition: opacity .16s ease, transform .16s ease, visibility .16s ease !important;
}
@media (hover: hover) and (min-width: 901px) {
  .v13-main-nav .nav-has-mega:hover > .v13-mega-menu,
  .v13-main-nav .nav-has-mega:focus-within > .v13-mega-menu,
  .v13-main-nav .nav-has-mega.is-open > .v13-mega-menu {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: translate(-50%, 0) !important;
  }
}
@media (hover: none) and (min-width: 901px) {
  .v13-main-nav .nav-has-mega.is-open > .v13-mega-menu,
  .v13-main-nav .nav-has-mega:focus-within > .v13-mega-menu {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: translate(-50%, 0) !important;
  }
}
.v13-main-nav .nav-has-mega.is-open > .mega-trigger,
.v13-main-nav .nav-has-mega:hover > .mega-trigger,
.v13-main-nav .nav-has-mega:focus-within > .mega-trigger {
  color: #006b35 !important;
}
.v13-mega {
  position: relative !important;
  display: grid !important;
  grid-template-columns: 300px minmax(0, 1fr) 300px !important;
  gap: 14px !important;
  align-items: stretch !important;
  overflow: hidden auto !important;
  max-height: calc(100vh - 150px) !important;
  padding: 14px !important;
  border-radius: 18px !important;
  background:
    radial-gradient(circle at 4% 0%, rgba(255,209,0,.12), transparent 19rem),
    linear-gradient(180deg, #fffdf7 0%, #f6edd7 100%) !important;
  color: #06120b !important;
  border: 1px solid rgba(0,43,23,.20) !important;
  box-shadow: 0 36px 78px rgba(0,25,13,.28), 0 0 0 1px rgba(255,255,255,.55) inset !important;
}
.v13-mega::before,
.v13-mega::after { display: none !important; }
.v13-mega * { box-sizing: border-box; }
.v13-mega a::after, .v13-mega button::after { display: none !important; }
.v13-mega-feature {
  position: relative !important;
  min-height: 330px !important;
  border-radius: 14px !important;
  overflow: hidden !important;
  padding: 22px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-end !important;
  gap: 10px !important;
  background-image:
    linear-gradient(180deg, rgba(0,22,11,.10) 0%, rgba(0,22,11,.38) 38%, rgba(0,22,11,.92) 100%),
    var(--mega-photo) !important;
  background-size: cover !important;
  background-position: center !important;
  color: #fffaf0 !important;
  box-shadow: inset 0 0 0 1px rgba(255,209,0,.28) !important;
}
.v13-mega-feature h3,
.v13-mega-feature p,
.v13-mega-feature .v13-kicker { color: #fffaf0 !important; text-shadow: 0 14px 30px rgba(0,0,0,.62) !important; }
.v13-mega-feature h3 {
  margin: 0 !important;
  max-width: 270px !important;
  font-family: var(--sweet-condensed), Impact, sans-serif !important;
  text-transform: uppercase !important;
  letter-spacing: .02em !important;
  line-height: 1.02 !important;
  font-size: clamp(1.55rem, 2.2vw, 2.3rem) !important;
}
.v13-mega-feature p { margin: 0 !important; font-size: .92rem !important; line-height: 1.45 !important; color: rgba(255,250,240,.93) !important; }
.v13-kicker,
.v13-column-title {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  color: #5d5200 !important;
  font-size: .72rem !important;
  font-weight: 1000 !important;
  text-transform: uppercase !important;
  letter-spacing: .18em !important;
  line-height: 1.1 !important;
}
.v13-kicker::before,
.v13-column-title::before { content: ""; width: 22px; height: 3px; border-radius: 999px; background: #ffd100; display: inline-block; }
.v13-mega-feature .v13-kicker { color: #ffd100 !important; }
.v13-mega-column,
.v13-bbb-card,
.v13-photo-row {
  position: relative !important;
  border-radius: 14px !important;
  border: 1px solid rgba(0,43,23,.12) !important;
  background: rgba(255,255,255,.74) !important;
  padding: 16px !important;
  box-shadow: 0 14px 34px rgba(0,37,20,.08) !important;
}
.v13-featured-services { min-width: 0 !important; }
.v13-service-links {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 10px !important;
  margin-top: 12px !important;
}
.v13-service-links a,
.v13-link-list a {
  border: 1px solid rgba(0,43,23,.12) !important;
  background: #fffaf0 !important;
  border-radius: 12px !important;
  color: #06120b !important;
  text-decoration: none !important;
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease, background .18s ease !important;
}
.v13-service-links a:hover,
.v13-link-list a:hover,
.v13-area-grid a:hover,
.v13-photo-row a:hover {
  transform: translateY(-2px) !important;
  border-color: rgba(0,107,53,.30) !important;
  box-shadow: 0 14px 28px rgba(0,43,23,.12) !important;
}
.v13-service-links a {
  display: grid !important;
  grid-template-columns: 72px minmax(0, 1fr) !important;
  grid-template-rows: auto auto !important;
  column-gap: 12px !important;
  align-items: center !important;
  min-height: 92px !important;
  padding: 10px !important;
}
.v13-service-links a span {
  grid-row: 1 / span 2 !important;
  display: block !important;
  width: 72px !important;
  height: 72px !important;
  border-radius: 10px !important;
  background-size: cover !important;
  background-position: center !important;
  box-shadow: inset 0 0 0 1px rgba(0,43,23,.12) !important;
}
.v13-service-links a strong,
.v13-link-list a strong,
.v13-photo-row a strong,
.v13-mini-proof strong,
.v13-bbb-card strong {
  display: block !important;
  color: #002b17 !important;
  font-family: var(--sweet-condensed), Impact, sans-serif !important;
  text-transform: uppercase !important;
  letter-spacing: .025em !important;
  font-size: 1.03rem !important;
  line-height: 1.05 !important;
}
.v13-service-links a small,
.v13-link-list a small,
.v13-mini-proof small,
.v13-bbb-card small {
  display: block !important;
  color: #2b3d31 !important;
  font-size: .78rem !important;
  line-height: 1.32 !important;
  margin-top: 3px !important;
}
.v13-link-list {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 9px !important;
  margin-top: 12px !important;
}
.v13-link-list.compact { grid-template-columns: 1fr !important; }
.v13-link-list a { display: block !important; padding: 12px 13px !important; }
.v13-area-grid {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 9px !important;
  margin-top: 12px !important;
}
.v13-area-grid a {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 42px !important;
  padding: 9px !important;
  border-radius: 10px !important;
  border: 1px solid rgba(0,43,23,.12) !important;
  background: #fffaf0 !important;
  color: #002b17 !important;
  font-weight: 900 !important;
  text-align: center !important;
  line-height: 1.12 !important;
}
.v13-photo-row {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 10px !important;
}
.v13-photo-row a {
  display: grid !important;
  align-content: end !important;
  min-height: 250px !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  border: 1px solid rgba(0,43,23,.16) !important;
  background: #001d10 !important;
  color: #fffaf0 !important;
  position: relative !important;
}
.v13-photo-row a::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  background: linear-gradient(180deg, rgba(0,20,10,.05), rgba(0,20,10,.86)) !important;
  z-index: 1 !important;
}
.v13-photo-row span { position: absolute !important; inset: 0 !important; background-size: cover !important; background-position: center !important; transition: transform .25s ease !important; }
.v13-photo-row a:hover span { transform: scale(1.06) !important; }
.v13-photo-row strong { position: relative !important; z-index: 2 !important; color: #fffaf0 !important; padding: 16px !important; text-shadow: 0 12px 26px rgba(0,0,0,.65) !important; }
.v13-mini-proof { border: 1px solid rgba(0,43,23,.12) !important; border-radius: 12px !important; padding: 14px !important; background: #fffaf0 !important; margin-top: 11px !important; }
.v13-bbb-card { display: grid !important; grid-template-columns: 72px 1fr !important; gap: 14px !important; align-items: center !important; }
.v13-bbb-card img { width: 72px !important; max-height: 94px !important; object-fit: contain !important; }
.v13-mega-actions { display: flex !important; gap: 9px !important; flex-wrap: wrap !important; margin-top: 6px !important; }
.v13-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 40px !important;
  border-radius: 8px !important;
  padding: 10px 13px !important;
  font-family: var(--sweet-condensed), Impact, sans-serif !important;
  text-transform: uppercase !important;
  letter-spacing: .035em !important;
  font-weight: 1000 !important;
  line-height: 1 !important;
  text-decoration: none !important;
  border: 1px solid transparent !important;
}
.v13-btn.primary { background: linear-gradient(135deg, #ffd100, #f2b900) !important; color: #06120b !important; box-shadow: 0 12px 26px rgba(0,0,0,.18) !important; }
.v13-btn.ghost { background: rgba(255,250,240,.14) !important; color: #fffaf0 !important; border-color: rgba(255,250,240,.42) !important; }
.v13-btn.ghost.dark { background: #002b17 !important; color: #fffaf0 !important; border-color: rgba(0,43,23,.20) !important; }
.v13-about-mega { grid-template-columns: 310px minmax(240px, .86fr) minmax(300px, 1fr) !important; }
.v13-proof-mega { grid-template-columns: 310px minmax(0, 1fr) 250px !important; }
.v13-areas-mega { grid-template-columns: 310px minmax(0, 1fr) 300px !important; }

@media (max-width: 1220px) and (min-width: 901px) {
  .v13-mega-menu { width: min(1000px, calc(100vw - 36px)) !important; }
  .v13-mega,
  .v13-services-mega,
  .v13-areas-mega,
  .v13-proof-mega,
  .v13-about-mega { grid-template-columns: 270px minmax(0, 1fr) 270px !important; }
  .v13-service-links { grid-template-columns: 1fr !important; }
  .v13-link-list { grid-template-columns: 1fr !important; }
  .v13-area-grid { grid-template-columns: repeat(2, 1fr) !important; }
}
@media (max-width: 900px) {
  .v13-main-nav .nav-item { position: relative !important; width: 100% !important; }
  .v13-mega-menu {
    position: static !important;
    left: auto !important;
    top: auto !important;
    width: 100% !important;
    max-width: none !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: none !important;
    display: none !important;
    margin: 8px 0 12px !important;
  }
  .v13-main-nav .nav-has-mega.is-open > .v13-mega-menu,
  .v13-main-nav .nav-has-mega:focus-within > .v13-mega-menu { display: block !important; }
  .v13-mega,
  .v13-services-mega,
  .v13-areas-mega,
  .v13-proof-mega,
  .v13-about-mega {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
    max-height: none !important;
    padding: 12px !important;
    border-radius: 12px !important;
    box-shadow: none !important;
    background: #fffdf7 !important;
  }
  .v13-mega-feature { min-height: 190px !important; padding: 18px !important; }
  .v13-mega-feature h3 { max-width: none !important; font-size: 1.55rem !important; }
  .v13-service-links,
  .v13-link-list,
  .v13-area-grid,
  .v13-photo-row { grid-template-columns: 1fr !important; }
  .v13-photo-row a { min-height: 170px !important; }
  .v13-bbb-card { grid-template-columns: 62px 1fr !important; }
  .v13-bbb-card img { width: 62px !important; }
}

/* V15 final navigation reset: compact, controlled mega menus with no overflow */
.v15-header { z-index: 3000 !important; }
.v15-topline { min-height: 30px !important; height: 30px !important; }
.v15-topline-inner { min-height: 30px !important; padding-block: 4px !important; gap: 18px !important; }
.v15-topline .topline-item,
.v15-topline .topline-phone { font-size: .82rem !important; line-height: 1 !important; letter-spacing: .04em !important; }
.v15-nav-wrap {
  position: relative !important;
  min-height: 76px !important;
  height: auto !important;
  padding: 10px clamp(20px, 4vw, 72px) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 20px !important;
  background: rgba(255,255,255,.97) !important;
  border-bottom: 4px solid #ffd100 !important;
  box-shadow: 0 16px 36px rgba(0, 35, 18, .10) !important;
}
.v15-brand { display: inline-flex !important; flex: 0 0 auto !important; align-items: center !important; width: auto !important; max-width: none !important; }
.v15-brand img {
  width: clamp(86px, 8.4vw, 128px) !important;
  height: auto !important;
  max-height: 58px !important;
  object-fit: contain !important;
  display: block !important;
}
.v15-main-nav {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: clamp(10px, 1.2vw, 20px) !important;
  flex: 1 1 auto !important;
  min-width: 0 !important;
}
.v15-main-nav .nav-link,
.v15-main-nav .mega-trigger {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 36px !important;
  padding: 7px 2px !important;
  border: 0 !important;
  background: transparent !important;
  color: #002b17 !important;
  font-family: var(--sweet-condensed), Impact, sans-serif !important;
  font-size: clamp(.84rem, .9vw, .98rem) !important;
  font-weight: 1000 !important;
  letter-spacing: .045em !important;
  text-transform: uppercase !important;
  line-height: 1 !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  cursor: pointer !important;
}
.v15-main-nav .mega-trigger span { margin-left: 4px !important; font-size: .72em !important; }
.v15-main-nav .nav-link:hover,
.v15-main-nav .mega-trigger:hover,
.v15-main-nav .nav-has-mega.is-open > .mega-trigger,
.v15-main-nav .nav-has-mega:focus-within > .mega-trigger { color: #006b35 !important; }
.v15-main-nav .nav-phone {
  display: grid !important;
  gap: 1px !important;
  min-width: 162px !important;
  padding: 0 18px !important;
  margin-left: 4px !important;
  border-left: 1px solid rgba(0,43,23,.15) !important;
  border-right: 1px solid rgba(0,43,23,.15) !important;
  text-decoration: none !important;
  color: #002b17 !important;
  white-space: nowrap !important;
}
.v15-main-nav .nav-phone span { font-size: .64rem !important; letter-spacing: .08em !important; text-transform: uppercase !important; font-weight: 1000 !important; color: #2b3d31 !important; }
.v15-main-nav .nav-phone strong { font-size: clamp(1.15rem, 1.5vw, 1.55rem) !important; line-height: 1 !important; color: #003d20 !important; }
.v15-main-nav .nav-cta {
  flex: 0 0 auto !important;
  min-height: 44px !important;
  padding: 13px clamp(16px, 1.8vw, 28px) !important;
  border-radius: 7px !important;
  white-space: nowrap !important;
  font-size: clamp(.82rem, .88vw, .95rem) !important;
}

@media (min-width: 981px) {
  .v15-main-nav .nav-item { position: static !important; }
  .v15-main-nav .mega-menu,
  .v15-main-nav .v15-mega-menu {
    position: absolute !important;
    left: 50% !important;
    top: calc(100% + 8px) !important;
    transform: translate(-50%, 8px) !important;
    width: min(1040px, calc(100vw - 72px)) !important;
    max-width: 1040px !important;
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
    display: block !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    z-index: 5000 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    transition: opacity .16s ease, transform .16s ease, visibility .16s ease !important;
  }
  .v15-main-nav .nav-has-mega:hover > .v15-mega-menu,
  .v15-main-nav .nav-has-mega:focus-within > .v15-mega-menu,
  .v15-main-nav .nav-has-mega.is-open > .v15-mega-menu {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: translate(-50%, 0) !important;
  }
}
.v15-menu-shell,
.v15-menu-shell * { box-sizing: border-box !important; }
.v15-menu-shell a,
.v15-menu-shell strong,
.v15-menu-shell small,
.v15-menu-shell p,
.v15-menu-shell h3 { white-space: normal !important; overflow-wrap: normal !important; word-break: normal !important; }
.v15-menu-shell {
  display: grid !important;
  grid-template-columns: 285px minmax(0, 1fr) !important;
  gap: 14px !important;
  align-items: stretch !important;
  padding: 14px !important;
  width: 100% !important;
  border-radius: 18px !important;
  border: 1px solid rgba(0,43,23,.20) !important;
  background: linear-gradient(180deg, #fffdf7 0%, #f7f0de 100%) !important;
  color: #06120b !important;
  box-shadow: 0 34px 74px rgba(0,25,13,.28), 0 0 0 1px rgba(255,255,255,.72) inset !important;
}
.v15-menu-feature {
  min-height: 330px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-end !important;
  gap: 10px !important;
  border-radius: 14px !important;
  overflow: hidden !important;
  padding: 22px !important;
  position: relative !important;
  background-image: linear-gradient(180deg, rgba(0,20,10,.10), rgba(0,20,10,.42) 40%, rgba(0,20,10,.94)), var(--menu-photo) !important;
  background-size: cover !important;
  background-position: center !important;
  box-shadow: inset 0 0 0 1px rgba(255,209,0,.32) !important;
}
.v15-menu-kicker,
.v15-panel-heading {
  display: flex !important;
  align-items: center !important;
  gap: 9px !important;
  margin: 0 !important;
  color: #6c5a00 !important;
  font-size: .68rem !important;
  line-height: 1 !important;
  letter-spacing: .16em !important;
  text-transform: uppercase !important;
  font-weight: 1000 !important;
}
.v15-menu-kicker { color: #ffd100 !important; text-shadow: 0 10px 24px rgba(0,0,0,.70) !important; }
.v15-menu-kicker::before,
.v15-panel-heading span { content: ""; width: 22px; height: 3px; border-radius: 999px; background: #ffd100; display: block; flex: 0 0 22px; }
.v15-menu-feature h3 {
  margin: 0 !important;
  color: #fffaf0 !important;
  font-family: var(--sweet-condensed), Impact, sans-serif !important;
  font-size: clamp(1.55rem, 2.2vw, 2.15rem) !important;
  font-weight: 1000 !important;
  line-height: 1.03 !important;
  letter-spacing: .012em !important;
  text-transform: uppercase !important;
  text-shadow: 0 14px 30px rgba(0,0,0,.75) !important;
}
.v15-menu-feature p:not(.v15-menu-kicker) {
  margin: 0 !important;
  color: rgba(255,250,240,.93) !important;
  font-size: .88rem !important;
  line-height: 1.46 !important;
  text-shadow: 0 10px 24px rgba(0,0,0,.70) !important;
}
.v15-menu-actions { display: flex !important; gap: 9px !important; flex-wrap: wrap !important; margin-top: 4px !important; }
.v15-menu-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 38px !important;
  padding: 10px 13px !important;
  border-radius: 8px !important;
  text-decoration: none !important;
  font-family: var(--sweet-condensed), Impact, sans-serif !important;
  text-transform: uppercase !important;
  letter-spacing: .04em !important;
  font-weight: 1000 !important;
  line-height: 1 !important;
  font-size: .9rem !important;
}
.v15-menu-btn.primary { background: linear-gradient(135deg, #ffd100, #f0b900) !important; color: #06120b !important; box-shadow: 0 12px 28px rgba(0,0,0,.22) !important; }
.v15-menu-btn.secondary { background: rgba(255,255,255,.14) !important; color: #fffaf0 !important; border: 1px solid rgba(255,255,255,.44) !important; }
.v15-menu-main,
.v15-photo-grid,
.v15-trust-panel,
.v15-start-links {
  min-width: 0 !important;
  border-radius: 14px !important;
  border: 1px solid rgba(0,43,23,.12) !important;
  background: rgba(255,255,255,.80) !important;
  padding: 16px !important;
  box-shadow: 0 12px 28px rgba(0,37,20,.07) !important;
}
.v15-service-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 9px !important;
  margin-top: 12px !important;
}
.v15-service-grid a {
  min-width: 0 !important;
  min-height: 76px !important;
  display: grid !important;
  grid-template-columns: 56px minmax(0, 1fr) !important;
  grid-template-rows: auto auto !important;
  align-items: center !important;
  column-gap: 10px !important;
  padding: 9px !important;
  border-radius: 11px !important;
  border: 1px solid rgba(0,43,23,.12) !important;
  background: #fffaf0 !important;
  color: #06120b !important;
  text-decoration: none !important;
  transition: transform .16s ease, border-color .16s ease, box-shadow .16s ease !important;
}
.v15-service-grid a:hover,
.v15-area-grid a:hover,
.v15-popular-row a:hover,
.v15-photo-grid a:hover,
.v15-start-links a:hover { transform: translateY(-2px) !important; border-color: rgba(0,107,53,.34) !important; box-shadow: 0 13px 26px rgba(0,43,23,.13) !important; }
.v15-service-grid img {
  grid-row: 1 / span 2 !important;
  width: 56px !important;
  height: 56px !important;
  border-radius: 9px !important;
  object-fit: cover !important;
  display: block !important;
  box-shadow: inset 0 0 0 1px rgba(0,43,23,.12) !important;
}
.v15-service-grid strong,
.v15-photo-grid strong,
.v15-start-links strong,
.v15-trust-panel strong {
  display: block !important;
  min-width: 0 !important;
  color: #002b17 !important;
  font-family: var(--sweet-condensed), Impact, sans-serif !important;
  font-size: .98rem !important;
  line-height: 1.04 !important;
  letter-spacing: .025em !important;
  text-transform: uppercase !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}
.v15-service-grid small,
.v15-start-links small,
.v15-trust-panel small {
  display: block !important;
  color: #2d3d32 !important;
  font-size: .74rem !important;
  line-height: 1.26 !important;
  margin-top: 2px !important;
}
.v15-area-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 9px !important;
  margin-top: 12px !important;
}
.v15-area-grid a,
.v15-popular-row a,
.v15-start-links a {
  min-width: 0 !important;
  border-radius: 10px !important;
  border: 1px solid rgba(0,43,23,.12) !important;
  background: #fffaf0 !important;
  color: #002b17 !important;
  text-decoration: none !important;
  font-weight: 900 !important;
}
.v15-area-grid a {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  min-height: 42px !important;
  padding: 8px !important;
  line-height: 1.1 !important;
  font-size: .88rem !important;
}
.v15-popular-row { display: grid !important; grid-template-columns: repeat(3, minmax(0,1fr)) !important; gap: 9px !important; margin-top: 14px !important; }
.v15-popular-row a { display: flex !important; align-items: center !important; min-height: 48px !important; padding: 10px !important; line-height: 1.18 !important; font-size: .84rem !important; }
.v15-proof-shell { grid-template-columns: 285px minmax(0,1fr) !important; }
.v15-photo-grid { display: grid !important; grid-template-columns: repeat(3, minmax(0,1fr)) !important; gap: 11px !important; }
.v15-photo-grid a { min-width: 0 !important; position: relative !important; display: grid !important; align-content: end !important; min-height: 246px !important; border-radius: 12px !important; overflow: hidden !important; border: 1px solid rgba(0,43,23,.16) !important; text-decoration: none !important; background: #002b17 !important; }
.v15-photo-grid img { position: absolute !important; inset: 0 !important; width: 100% !important; height: 100% !important; object-fit: cover !important; transition: transform .25s ease !important; }
.v15-photo-grid a:hover img { transform: scale(1.05) !important; }
.v15-photo-grid a::after { content: "" !important; position: absolute !important; inset: 0 !important; background: linear-gradient(180deg, rgba(0,20,10,.05), rgba(0,20,10,.88)) !important; }
.v15-photo-grid strong { position: relative !important; z-index: 2 !important; color: #fffaf0 !important; padding: 16px !important; text-shadow: 0 12px 26px rgba(0,0,0,.70) !important; }
.v15-about-shell { grid-template-columns: 285px 280px minmax(0,1fr) !important; }
.v15-trust-panel { display: grid !important; grid-template-columns: 68px minmax(0,1fr) !important; gap: 13px !important; align-items: center !important; }
.v15-trust-panel img { width: 68px !important; height: auto !important; max-height: 92px !important; object-fit: contain !important; background: #fff !important; border-radius: 8px !important; }
.v15-start-links { display: grid !important; gap: 9px !important; }
.v15-start-links a { display: block !important; padding: 13px !important; }

@media (max-width: 1240px) and (min-width: 981px) {
  .v15-nav-wrap { padding-inline: 28px !important; gap: 14px !important; }
  .v15-main-nav { gap: 12px !important; }
  .v15-main-nav .nav-phone { min-width: 142px !important; padding-inline: 12px !important; }
  .v15-main-nav .nav-cta { padding-inline: 16px !important; }
  .v15-main-nav .mega-menu,
  .v15-main-nav .v15-mega-menu { width: min(980px, calc(100vw - 44px)) !important; }
  .v15-menu-shell { grid-template-columns: 260px minmax(0, 1fr) !important; }
  .v15-service-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .v15-area-grid { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
  .v15-about-shell { grid-template-columns: 260px 240px minmax(0,1fr) !important; }
}
@media (max-width: 1080px) and (min-width: 981px) {
  .v15-brand img { width: 84px !important; }
  .v15-main-nav .nav-link,
  .v15-main-nav .mega-trigger { font-size: .8rem !important; }
  .v15-main-nav .nav-phone { display: none !important; }
}
@media (max-width: 980px) {
  .v15-nav-wrap { min-height: 68px !important; padding: 9px 18px !important; border-bottom-width: 3px !important; }
  .v15-brand img { width: 94px !important; max-height: 52px !important; }
  .v15-nav-toggle { display: flex !important; }
  .v15-main-nav {
    display: none !important;
    position: absolute !important;
    left: 14px !important;
    right: 14px !important;
    top: calc(100% + 8px) !important;
    z-index: 5000 !important;
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    gap: 8px !important;
    max-height: calc(100vh - 92px) !important;
    overflow: auto !important;
    border-radius: 16px !important;
    padding: 14px !important;
    background: #fffdf7 !important;
    border: 1px solid rgba(0,43,23,.18) !important;
    box-shadow: 0 24px 60px rgba(0,25,13,.24) !important;
  }
  .v15-main-nav.open { display: flex !important; }
  .v15-main-nav .nav-item { position: relative !important; width: 100% !important; }
  .v15-main-nav .nav-link,
  .v15-main-nav .mega-trigger,
  .v15-main-nav .nav-cta,
  .v15-main-nav .nav-phone {
    width: 100% !important;
    min-height: 46px !important;
    justify-content: space-between !important;
    padding: 12px 14px !important;
    border-radius: 10px !important;
    border: 1px solid rgba(0,43,23,.12) !important;
    background: #fffaf0 !important;
    color: #002b17 !important;
    text-align: left !important;
  }
  .v15-main-nav .nav-phone { display: grid !important; min-width: 0 !important; margin: 0 !important; }
  .v15-main-nav .nav-cta { background: linear-gradient(135deg,#ffd100,#f0b900) !important; justify-content: center !important; }
  .v15-main-nav .v15-mega-menu,
  .v15-main-nav .mega-menu {
    position: static !important;
    left: auto !important;
    top: auto !important;
    transform: none !important;
    display: none !important;
    width: 100% !important;
    max-width: none !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    margin: 8px 0 12px !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }
  .v15-main-nav .nav-has-mega.is-open > .v15-mega-menu,
  .v15-main-nav .nav-has-mega:focus-within > .v15-mega-menu { display: block !important; }
  .v15-menu-shell,
  .v15-proof-shell,
  .v15-about-shell {
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    padding: 10px !important;
    border-radius: 12px !important;
    box-shadow: none !important;
  }
  .v15-menu-feature { min-height: 188px !important; padding: 17px !important; }
  .v15-menu-feature h3 { font-size: 1.45rem !important; }
  .v15-service-grid,
  .v15-area-grid,
  .v15-popular-row,
  .v15-photo-grid { grid-template-columns: 1fr !important; }
  .v15-service-grid a { min-height: 68px !important; }
  .v15-photo-grid a { min-height: 150px !important; }
  .v15-trust-panel { grid-template-columns: 58px 1fr !important; }
  .v15-trust-panel img { width: 58px !important; }
}
