:root {
  --navy: #062b5f;
  --navy-dark: #031b3d;
  --navy-soft: #0b3f86;
  --gold: #ffc400;
  --gold-dark: #d99d00;
  --ink: #0b1324;
  --muted: #5f6b7a;
  --line: #dbe3ee;
  --light: #f4f7fb;
  --white: #ffffff;
  --shadow: 0 18px 50px rgba(3, 27, 61, 0.14);
}

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  color: var(--ink);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  line-height: 1.55;
  background: var(--white);
}

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

a {
  color: inherit;
  text-decoration: none;
}

.container {
  width: min(1120px, calc(100% - 32px));
  margin-inline: auto;
}

.topbar {
  display: none;
  border-bottom: 1px solid var(--line);
  background: var(--white);
}

.topbar__inner {
  min-height: 54px;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 24px;
  font-weight: 800;
  font-size: 0.92rem;
}

.site-header {
  position: sticky;
  top: 0;
  z-index: 50;
  background: rgba(255, 255, 255, 0.96);
  border-bottom: 1px solid var(--line);
  box-shadow: 0 5px 22px rgba(3, 27, 61, 0.08);
  backdrop-filter: blur(14px);
}

.header__inner {
  min-height: 76px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
}

.brand {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-weight: 900;
  letter-spacing: 0;
  font-size: 1.08rem;
  line-height: 1.05;
}

.brand img {
  width: 78px;
  height: 58px;
  object-fit: contain;
}

.desktop-nav {
  display: none;
  align-items: center;
  gap: 22px;
  font-size: 0.92rem;
  font-weight: 800;
}

.desktop-nav a {
  position: relative;
  padding: 28px 0;
}

.desktop-nav a[aria-current="page"]::after,
.desktop-nav a:hover::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 4px;
  background: var(--gold);
}

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

.icon {
  width: 1.1em;
  height: 1.1em;
  display: inline-block;
  flex: 0 0 auto;
  background: currentColor;
  vertical-align: -0.16em;
  mask-repeat: no-repeat;
  mask-position: center;
  mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
  -webkit-mask-size: contain;
}

.icon-phone {
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M6.6 10.8c1.5 3 3.6 5.1 6.6 6.6l2.2-2.2c.3-.3.8-.4 1.2-.3 1.3.4 2.6.6 4 .6.8 0 1.4.6 1.4 1.4v3.5c0 .8-.6 1.4-1.4 1.4C10.3 22 2 13.7 2 3.4 2 2.6 2.6 2 3.4 2H7c.8 0 1.4.6 1.4 1.4 0 1.4.2 2.8.6 4 .1.4 0 .8-.3 1.2l-2.1 2.2Z'/%3E%3C/svg%3E");
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M6.6 10.8c1.5 3 3.6 5.1 6.6 6.6l2.2-2.2c.3-.3.8-.4 1.2-.3 1.3.4 2.6.6 4 .6.8 0 1.4.6 1.4 1.4v3.5c0 .8-.6 1.4-1.4 1.4C10.3 22 2 13.7 2 3.4 2 2.6 2.6 2 3.4 2H7c.8 0 1.4.6 1.4 1.4 0 1.4.2 2.8.6 4 .1.4 0 .8-.3 1.2l-2.1 2.2Z'/%3E%3C/svg%3E");
}

.icon-menu {
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M3 6h18v2H3V6Zm0 5h18v2H3v-2Zm0 5h18v2H3v-2Z'/%3E%3C/svg%3E");
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M3 6h18v2H3V6Zm0 5h18v2H3v-2Zm0 5h18v2H3v-2Z'/%3E%3C/svg%3E");
}

.icon-shield {
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12 2 4 5v6c0 5 3.4 9.7 8 11 4.6-1.3 8-6 8-11V5l-8-3Zm3.7 7.7-4.4 4.4-2.4-2.4 1.4-1.4 1 1 3-3 1.4 1.4Z'/%3E%3C/svg%3E");
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12 2 4 5v6c0 5 3.4 9.7 8 11 4.6-1.3 8-6 8-11V5l-8-3Zm3.7 7.7-4.4 4.4-2.4-2.4 1.4-1.4 1 1 3-3 1.4 1.4Z'/%3E%3C/svg%3E");
}

.icon-star {
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m12 2.5 2.9 5.9 6.5.9-4.7 4.6 1.1 6.5-5.8-3-5.8 3 1.1-6.5-4.7-4.6 6.5-.9L12 2.5Z'/%3E%3C/svg%3E");
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m12 2.5 2.9 5.9 6.5.9-4.7 4.6 1.1 6.5-5.8-3-5.8 3 1.1-6.5-4.7-4.6 6.5-.9L12 2.5Z'/%3E%3C/svg%3E");
}

.icon-calendar {
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M7 2h2v3h6V2h2v3h3v17H4V5h3V2Zm11 8H6v10h12V10Zm-9 2h2v2H9v-2Zm4 0h2v2h-2v-2Zm-4 4h2v2H9v-2Zm4 0h2v2h-2v-2Z'/%3E%3C/svg%3E");
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M7 2h2v3h6V2h2v3h3v17H4V5h3V2Zm11 8H6v10h12V10Zm-9 2h2v2H9v-2Zm4 0h2v2h-2v-2Zm-4 4h2v2H9v-2Zm4 0h2v2h-2v-2Z'/%3E%3C/svg%3E");
}

.icon-dollar {
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M11 2h2v3c2.6.3 4.5 1.8 5.4 4.1l-2.6 1.1C15.2 8.7 13.9 8 12 8c-1.8 0-3 .7-3 1.8 0 1.2 1.4 1.6 3.8 2.1 2.9.6 5.9 1.5 5.9 4.9 0 2.6-2.1 4.4-5.7 4.9V24h-2v-2.3c-3.1-.4-5.3-2.1-6.1-4.7l2.7-1c.6 1.8 2.1 2.7 4.4 2.7 2.1 0 3.4-.7 3.4-1.9 0-1.3-1.5-1.7-4-2.2-2.8-.6-5.6-1.5-5.6-4.7C5.8 7.3 7.8 5.4 11 5V2Z'/%3E%3C/svg%3E");
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M11 2h2v3c2.6.3 4.5 1.8 5.4 4.1l-2.6 1.1C15.2 8.7 13.9 8 12 8c-1.8 0-3 .7-3 1.8 0 1.2 1.4 1.6 3.8 2.1 2.9.6 5.9 1.5 5.9 4.9 0 2.6-2.1 4.4-5.7 4.9V24h-2v-2.3c-3.1-.4-5.3-2.1-6.1-4.7l2.7-1c.6 1.8 2.1 2.7 4.4 2.7 2.1 0 3.4-.7 3.4-1.9 0-1.3-1.5-1.7-4-2.2-2.8-.6-5.6-1.5-5.6-4.7C5.8 7.3 7.8 5.4 11 5V2Z'/%3E%3C/svg%3E");
}

.icon-radon {
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12 9a3 3 0 1 1 0 6 3 3 0 0 1 0-6Zm0-7c2.3 0 4.2 3.8 4.2 8.5S14.3 19 12 19s-4.2-3.8-4.2-8.5S9.7 2 12 2Zm0 2c-.6 0-2.2 2.3-2.2 6.5S11.4 17 12 17s2.2-2.3 2.2-6.5S12.6 4 12 4Zm9.6 4.3c1.2 2-1.1 5.6-5.1 8-4.1 2.3-8.3 2.6-9.4.6-1.2-2 1.1-5.6 5.1-8 4.1-2.3 8.3-2.6 9.4-.6Zm-1.7 1c-.3-.5-3.1-.3-6.7 1.8-3.6 2.1-4.9 4.6-4.6 5.1.3.5 3.1.3 6.7-1.8 3.6-2.1 4.9-4.6 4.6-5.1ZM2.4 8.3c1.2-2 5.4-1.7 9.4.6 4.1 2.4 6.4 6 5.2 8-1.2 2-5.4 1.7-9.4-.6-4.1-2.4-6.4-6-5.2-8Zm1.7 1c-.3.5 1 3 4.6 5.1 3.6 2.1 6.4 2.3 6.7 1.8.3-.5-1-3-4.6-5.1C7.2 9 4.4 8.8 4.1 9.3Z'/%3E%3C/svg%3E");
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12 9a3 3 0 1 1 0 6 3 3 0 0 1 0-6Zm0-7c2.3 0 4.2 3.8 4.2 8.5S14.3 19 12 19s-4.2-3.8-4.2-8.5S9.7 2 12 2Zm0 2c-.6 0-2.2 2.3-2.2 6.5S11.4 17 12 17s2.2-2.3 2.2-6.5S12.6 4 12 4Zm9.6 4.3c1.2 2-1.1 5.6-5.1 8-4.1 2.3-8.3 2.6-9.4.6-1.2-2 1.1-5.6 5.1-8 4.1-2.3 8.3-2.6 9.4-.6Zm-1.7 1c-.3-.5-3.1-.3-6.7 1.8-3.6 2.1-4.9 4.6-4.6 5.1.3.5 3.1.3 6.7-1.8 3.6-2.1 4.9-4.6 4.6-5.1ZM2.4 8.3c1.2-2 5.4-1.7 9.4.6 4.1 2.4 6.4 6 5.2 8-1.2 2-5.4 1.7-9.4-.6-4.1-2.4-6.4-6-5.2-8Zm1.7 1c-.3.5 1 3 4.6 5.1 3.6 2.1 6.4 2.3 6.7 1.8.3-.5-1-3-4.6-5.1C7.2 9 4.4 8.8 4.1 9.3Z'/%3E%3C/svg%3E");
}

.icon-fan {
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M11 2h2v7.1c.8.2 1.4.7 1.8 1.4l6.1-3.5 1 1.7-6.1 3.5c0 .8-.4 1.6-.9 2.1l3.6 6.2-1.7 1-3.6-6.2c-.4.1-.8.2-1.2.2s-.8-.1-1.2-.2l-3.6 6.2-1.7-1 3.6-6.2c-.6-.5-.9-1.3-.9-2.1L2.1 8.7l1-1.7 6.1 3.5c.4-.7 1-1.2 1.8-1.4V2Zm1 9a2 2 0 1 0 0 4 2 2 0 0 0 0-4Z'/%3E%3C/svg%3E");
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M11 2h2v7.1c.8.2 1.4.7 1.8 1.4l6.1-3.5 1 1.7-6.1 3.5c0 .8-.4 1.6-.9 2.1l3.6 6.2-1.7 1-3.6-6.2c-.4.1-.8.2-1.2.2s-.8-.1-1.2-.2l-3.6 6.2-1.7-1 3.6-6.2c-.6-.5-.9-1.3-.9-2.1L2.1 8.7l1-1.7 6.1 3.5c.4-.7 1-1.2 1.8-1.4V2Zm1 9a2 2 0 1 0 0 4 2 2 0 0 0 0-4Z'/%3E%3C/svg%3E");
}

.icon-test {
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M8 2h8v2h-1v5.2l4.7 8.1A3 3 0 0 1 17.1 22H6.9a3 3 0 0 1-2.6-4.7L9 9.2V4H8V2Zm3 2v5.8l-2.5 4.3h7L13 9.8V4h-2Zm-4.9 14.3A1 1 0 0 0 6.9 20h10.2a1 1 0 0 0 .9-1.5l-1.4-2.4H7.4l-1.3 2.2Z'/%3E%3C/svg%3E");
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M8 2h8v2h-1v5.2l4.7 8.1A3 3 0 0 1 17.1 22H6.9a3 3 0 0 1-2.6-4.7L9 9.2V4H8V2Zm3 2v5.8l-2.5 4.3h7L13 9.8V4h-2Zm-4.9 14.3A1 1 0 0 0 6.9 20h10.2a1 1 0 0 0 .9-1.5l-1.4-2.4H7.4l-1.3 2.2Z'/%3E%3C/svg%3E");
}

.icon-lock {
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M7 10V7a5 5 0 0 1 10 0v3h2v12H5V10h2Zm2 0h6V7a3 3 0 0 0-6 0v3Zm4 4h-2v4h2v-4Z'/%3E%3C/svg%3E");
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M7 10V7a5 5 0 0 1 10 0v3h2v12H5V10h2Zm2 0h6V7a3 3 0 0 0-6 0v3Zm4 4h-2v4h2v-4Z'/%3E%3C/svg%3E");
}

.icon-mail {
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M3 5h18v14H3V5Zm2 3.2V17h14V8.2l-7 5.1-7-5.1Zm1.1-1.2 5.9 4.3L17.9 7H6.1Z'/%3E%3C/svg%3E");
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M3 5h18v14H3V5Zm2 3.2V17h14V8.2l-7 5.1-7-5.1Zm1.1-1.2 5.9 4.3L17.9 7H6.1Z'/%3E%3C/svg%3E");
}

.icon-pin {
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12 2a7 7 0 0 1 7 7c0 5.2-7 13-7 13S5 14.2 5 9a7 7 0 0 1 7-7Zm0 9.5A2.5 2.5 0 1 0 12 6a2.5 2.5 0 0 0 0 5.5Z'/%3E%3C/svg%3E");
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12 2a7 7 0 0 1 7 7c0 5.2-7 13-7 13S5 14.2 5 9a7 7 0 0 1 7-7Zm0 9.5A2.5 2.5 0 1 0 12 6a2.5 2.5 0 0 0 0 5.5Z'/%3E%3C/svg%3E");
}

.menu-toggle {
  display: inline-flex;
  width: 44px;
  height: 44px;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: var(--white);
  color: var(--navy);
  cursor: pointer;
}

.mobile-nav {
  display: none;
  border-top: 1px solid var(--line);
  padding: 10px 0 18px;
}

.mobile-nav.is-open {
  display: block;
}

.mobile-nav a {
  display: block;
  padding: 12px 0;
  font-weight: 800;
  border-bottom: 1px solid var(--line);
}

.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 48px;
  padding: 0 22px;
  border-radius: 6px;
  border: 2px solid transparent;
  font-weight: 900;
  line-height: 1;
  cursor: pointer;
  transition: transform 0.15s ease, background 0.15s ease, border-color 0.15s ease;
}

.btn:hover {
  transform: translateY(-1px);
}

.btn--gold {
  background: var(--gold);
  color: #071429;
}

.btn--gold:hover {
  background: #ffd43b;
}

.btn--navy {
  background: var(--navy);
  color: var(--white);
}

.btn--call {
  background: var(--gold);
  color: #071429;
  box-shadow: 0 10px 22px rgba(255, 196, 0, 0.22);
}

.btn--call:hover {
  background: #ffd43b;
}

.btn--outline {
  border-color: rgba(255, 255, 255, 0.86);
  color: var(--white);
  background: rgba(255, 255, 255, 0.04);
}

.btn--small {
  min-height: 44px;
  padding-inline: 16px;
  font-size: 0.92rem;
}

.hero {
  position: relative;
  min-height: 620px;
  color: var(--white);
  background:
    linear-gradient(90deg, rgba(0, 0, 0, 0.76) 0%, rgba(0, 0, 0, 0.56) 45%, rgba(0, 0, 0, 0.12) 100%),
    url("../../images/wildwood08 077.JPG") center / cover no-repeat;
}

.hero__inner {
  min-height: 620px;
  display: flex;
  align-items: center;
  padding: 72px 0;
}

.hero__content {
  max-width: 670px;
}

.hero h1 {
  margin: 0;
  font-size: clamp(2.35rem, 7vw, 4.55rem);
  line-height: 0.98;
  letter-spacing: 0;
  text-shadow: 0 3px 12px rgba(0, 0, 0, 0.6);
}

.hero h1 span {
  color: var(--gold);
}

.hero p {
  max-width: 650px;
  margin: 22px 0 0;
  font-size: clamp(1.05rem, 2.5vw, 1.36rem);
}

.badge-row {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 28px;
}

.badge {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  font-weight: 900;
  font-size: 0.9rem;
}

.badge__icon {
  width: 34px;
  height: 34px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--gold);
  border: 2px solid currentColor;
  border-radius: 6px;
}

.hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  margin-top: 32px;
}

.trust-strip {
  background: linear-gradient(90deg, var(--navy-dark), #074aa0);
  color: var(--white);
}

.trust-strip__grid {
  display: grid;
  gap: 20px;
  padding: 22px 0;
}

.trust-item {
  display: flex;
  align-items: center;
  gap: 14px;
}

.trust-item strong {
  display: block;
  font-size: 1.18rem;
}

.stars {
  color: var(--gold);
  letter-spacing: 2px;
  font-size: 1.35rem;
}

.section {
  padding: 58px 0;
}

.section--light {
  background: var(--light);
}

.section__head {
  max-width: 780px;
  margin: 0 auto 34px;
  text-align: center;
}

.section__head h2,
.page-hero h1 {
  margin: 0;
  font-size: clamp(2rem, 4vw, 3rem);
  line-height: 1.08;
}

.section__head p,
.page-hero p {
  color: var(--muted);
  font-size: 1.08rem;
}

.services-grid,
.cards-grid,
.testimonial-grid,
.area-grid {
  display: grid;
  gap: 24px;
}

.service-card {
  padding: 10px 0 24px;
  border-bottom: 1px solid var(--line);
}

.service-card__icon,
.round-icon {
  width: 58px;
  height: 58px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  color: var(--white);
  background: var(--navy);
  box-shadow: inset 0 0 0 4px rgba(255, 255, 255, 0.12);
}

.service-card h3,
.card h3 {
  margin: 16px 0 10px;
  font-size: 1.24rem;
}

.text-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: 10px;
  color: var(--navy);
  font-weight: 900;
}

.split {
  display: grid;
  gap: 36px;
  align-items: start;
}

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

.work-card {
  margin: 0;
}

.work-card img,
.result-card {
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  border-radius: 6px;
  box-shadow: 0 8px 24px rgba(3, 27, 61, 0.12);
}

.work-card figcaption {
  margin-top: 8px;
  font-size: 0.82rem;
  text-align: center;
  min-height: 2.6em;
}

.result-card {
  display: grid;
  align-content: center;
  gap: 22px;
  padding: 18px;
  background: var(--white);
}

.result-card strong {
  display: block;
  font-size: 1.65rem;
  line-height: 1;
}

.result-card .before strong {
  color: #b51e23;
}

.result-card .after strong {
  color: #1d7d28;
}

.estimate-card,
.card,
.testimonial {
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: 7px;
  box-shadow: var(--shadow);
}

.estimate-card {
  padding: 24px;
}

.estimate-card h2 {
  margin: 0 0 18px;
  font-size: clamp(1.65rem, 3vw, 2.2rem);
}

.form-grid {
  display: grid;
  gap: 12px;
}

.field {
  display: grid;
  gap: 6px;
}

.field label {
  font-weight: 800;
  font-size: 0.88rem;
}

.field input,
.field textarea {
  width: 100%;
  border: 1px solid var(--line);
  border-radius: 4px;
  padding: 12px 13px;
  font: inherit;
  background: #fbfcfe;
}

.field input:focus,
.field textarea:focus {
  outline: 3px solid rgba(255, 196, 0, 0.34);
  border-color: var(--gold-dark);
}

.form-honeypot {
  position: absolute;
  left: -10000px;
  width: 1px;
  height: 1px;
  overflow: hidden;
}

.success {
  color: #176a24;
}

.error {
  color: #a21c22;
}

.privacy-note,
.small-note {
  margin-top: 14px;
  color: var(--muted);
  font-size: 0.86rem;
}

.form-setup {
  margin-top: 18px;
  padding: 12px;
  border-left: 4px solid var(--gold);
  background: #fff9df;
  color: #4a3a00;
  font-size: 0.88rem;
}

.testimonial {
  padding: 26px;
}

.testimonial blockquote {
  margin: 10px 0 18px;
}

.testimonial cite {
  font-style: normal;
  font-weight: 800;
}

.faq-grid {
  display: grid;
  gap: 16px;
}

.faq-item {
  padding: 22px;
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: 7px;
}

.faq-item h3 {
  margin: 0 0 8px;
  color: var(--navy);
  font-size: 1.05rem;
}

.faq-item p {
  margin: 0;
  color: #344154;
}

.review-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px;
}

.review-more {
  margin-top: 24px;
}

.google-rating-card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
}

.rating-number {
  margin: 0;
  color: var(--navy);
  font-size: 3.8rem;
  font-weight: 900;
  line-height: 1;
}

.page-hero {
  padding: 72px 0;
  color: var(--white);
  background:
    linear-gradient(90deg, rgba(3, 27, 61, 0.96), rgba(6, 43, 95, 0.82)),
    url("../../images/wildwood08 078.JPG") center / cover no-repeat;
}

.page-hero p {
  max-width: 760px;
  color: rgba(255, 255, 255, 0.86);
}

.content {
  max-width: 850px;
}

.content h2 {
  margin-top: 0;
  font-size: clamp(1.7rem, 3vw, 2.3rem);
}

.content p {
  color: #344154;
  font-size: 1.04rem;
}

.list-check {
  display: grid;
  gap: 12px;
  padding: 0;
  margin: 22px 0;
  list-style: none;
}

.list-check li {
  position: relative;
  padding-left: 30px;
}

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

.card {
  padding: 24px;
}

.cta-band {
  padding: 42px 0;
  color: var(--white);
  background: linear-gradient(90deg, var(--navy-dark), var(--navy));
}

.cta-band__inner {
  display: grid;
  gap: 22px;
  align-items: center;
}

.cta-band h2 {
  margin: 0;
  font-size: clamp(1.7rem, 4vw, 2.4rem);
}

.site-footer {
  color: var(--white);
  background: linear-gradient(90deg, var(--navy-dark), var(--navy));
}

.footer__grid {
  display: grid;
  gap: 30px;
  padding: 44px 0;
}

.footer-brand {
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: 1.2rem;
  font-weight: 900;
  line-height: 1.08;
}

.footer-brand img {
  width: 82px;
  height: 60px;
  object-fit: contain;
}

.site-footer h2,
.site-footer h3 {
  margin: 0 0 14px;
  font-size: 1.05rem;
}

.site-footer ul {
  padding: 0;
  margin: 0;
  list-style: none;
}

.site-footer li + li {
  margin-top: 8px;
}

.site-footer a:hover {
  color: var(--gold);
}

.footer-bottom {
  border-top: 1px solid rgba(255, 255, 255, 0.18);
  padding: 18px 0;
  color: rgba(255, 255, 255, 0.82);
  font-size: 0.9rem;
}

.footer-bottom__inner {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 12px;
}

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

@media (min-width: 680px) {
  .trust-strip__grid,
  .services-grid,
  .testimonial-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .cards-grid,
  .area-grid,
  .faq-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

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

  .field--full {
    grid-column: 1 / -1;
  }

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

@media (min-width: 920px) {
  .topbar {
    display: block;
  }

  .desktop-nav {
    display: flex;
  }

  .menu-toggle {
    display: none;
  }

  .mobile-nav {
    display: none !important;
  }

  .split {
    grid-template-columns: 1.15fr 0.85fr;
  }

  .service-card {
    padding-right: 28px;
    border-bottom: 0;
    border-right: 1px solid var(--line);
  }

  .service-card:last-child {
    border-right: 0;
  }

  .footer__grid {
    grid-template-columns: 1.3fr 0.8fr 0.9fr 1fr;
  }

  .cta-band__inner {
    grid-template-columns: 1fr auto;
  }
}

@media (max-width: 520px) {
  .brand img {
    width: 62px;
    height: 46px;
  }

  .header-actions .btn {
    display: none;
  }

  .hero,
  .hero__inner {
    min-height: 590px;
  }

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