/* Final visual refinement: a quieter, more consistent editorial system. */
:root {
  --gold: #c6a66b;
  --muted: #b4b2aa;
}

body {
  font-size: 15px;
  letter-spacing: .005em;
}

.site-header {
  height: 80px;
  padding-inline: 5vw;
  background: rgba(13, 14, 12, .9);
  backdrop-filter: blur(18px);
}

.brand-logo {
  width: 44px;
  height: 44px;
  border: 1px solid rgba(198, 166, 107, .3);
}

.brand {
  gap: 12px;
  font-size: .9rem;
}

nav {
  gap: 30px;
}

nav a,
.nav-call {
  font-size: .7rem;
}

.hero {
  height: max(720px, 96vh);
}

.hero-content {
  width: min(720px, 88%);
  margin-top: 60px;
}

.hero h1 {
  max-width: 720px;
  margin: 24px 0 28px;
}

.hero-copy {
  max-width: 480px;
  font-size: 1rem;
}

.button {
  min-height: 50px;
  padding: 14px 20px;
}

.trust-bar {
  padding-inline: 6vw;
}

.trust-heading,
.trust-badge {
  min-height: 112px;
}

.trust-heading strong {
  font-size: 1.45rem;
}

.trust-badge {
  gap: 16px;
  padding-left: 30px;
}

.trust-badge svg {
  width: 36px;
  height: 36px;
}

.trust-badge strong {
  font-size: 1.12rem;
}

.statement {
  padding: 112px 9vw;
}

.statement > div > p {
  max-width: 620px;
}

.services {
  padding: 104px 5vw 112px;
}

.section-heading {
  margin-bottom: 52px;
}

.service-grid {
  border-color: rgba(243, 240, 233, .14);
}

.service-card,
.service-card.featured {
  min-height: 350px;
  padding: 30px 25px 34px;
  background: transparent;
  transform: none;
}

.service-card:hover {
  background: rgba(255, 255, 255, .035);
  transform: none;
}

.service-rule {
  width: 36px;
  height: 1px;
  margin: 42px 0 22px;
  background: var(--gold);
  transition: width .3s ease;
}

.service-card:hover .service-rule {
  width: 58px;
}

.service-card h3 {
  font-size: 1.45rem;
}

.service-card p {
  max-width: 280px;
  font-size: .85rem;
}

.robbinsville-project {
  padding: 108px 5vw 118px;
  background: #ebe6dc;
  color: var(--ink);
  border-top: 1px solid #d4cec2;
}

.robbinsville-heading {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(300px, .75fr);
  gap: 8vw;
  align-items: end;
  margin: 0 4vw 58px;
}

.robbinsville-heading h2 {
  margin: 0;
  font: 500 clamp(2.8rem, 5.2vw, 5.4rem)/1.02 var(--serif);
  letter-spacing: -.04em;
}

.robbinsville-heading h2 em {
  color: #817047;
  font-weight: 500;
}

.robbinsville-summary > p {
  margin: 0;
  color: #4f504a;
  font-size: 1rem;
  line-height: 1.75;
}

.robbinsville-project .project-meta {
  border-color: #c9c2b5;
}

.robbinsville-project .project-meta span {
  color: #6f603e;
}

.robbinsville-gallery {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  grid-template-rows: 420px 360px 520px;
  gap: 18px;
}

.robbinsville-gallery figure {
  position: relative;
  margin: 0;
  overflow: hidden;
  background: #252620;
}

.robbinsville-main {
  grid-column: span 7;
  grid-row: span 2;
}

.robbinsville-detail,
.robbinsville-water {
  grid-column: span 5;
}

.robbinsville-night-wide {
  grid-column: span 8;
}

.robbinsville-night-detail {
  grid-column: span 4;
}

.robbinsville-gallery img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: saturate(.9) contrast(1.02);
  transition: transform .7s ease;
}

.robbinsville-main img {
  object-position: center 48%;
}

.robbinsville-night-wide img {
  object-position: center 58%;
}

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

.robbinsville-gallery figure::after {
  content: "";
  position: absolute;
  inset: 52% 0 0;
  background: linear-gradient(0deg, rgba(8, 9, 7, .82), transparent);
  pointer-events: none;
}

.robbinsville-gallery figcaption {
  position: absolute;
  z-index: 2;
  left: 20px;
  right: 20px;
  bottom: 18px;
  padding-top: 12px;
  color: #f3efe6;
  border-top: 1px solid rgba(255, 255, 255, .6);
}

.robbinsville-gallery figcaption strong,
.robbinsville-gallery figcaption span {
  display: block;
}

.robbinsville-gallery figcaption strong {
  font: 500 1.04rem var(--serif);
}

.robbinsville-gallery figcaption span {
  margin-top: 3px;
  color: #d4d1c9;
  font-size: .67rem;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.outdoor-living-project {
  padding: 108px 5vw 118px;
  background: #191a16;
  border-top: 1px solid var(--line);
}

.outdoor-living-heading {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(300px, .75fr);
  gap: 8vw;
  align-items: end;
  margin: 0 4vw 58px;
}

.outdoor-living-heading h2 {
  margin: 0;
  font: 500 clamp(2.8rem, 5.2vw, 5.4rem)/1.02 var(--serif);
  letter-spacing: -.04em;
}

.outdoor-living-heading h2 em {
  color: var(--gold);
  font-weight: 500;
}

.outdoor-living-summary > p {
  margin: 0;
  color: var(--muted);
  font-size: 1rem;
  line-height: 1.75;
}

.outdoor-living-gallery {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  grid-template-rows: repeat(2, 360px) 420px;
  gap: 18px;
}

.outdoor-living-gallery figure {
  position: relative;
  margin: 0;
  overflow: hidden;
  background: #292a24;
}

.outdoor-living-main {
  grid-column: span 8;
  grid-row: span 2;
}

.outdoor-living-kitchen,
.outdoor-living-bridge {
  grid-column: span 4;
}

.outdoor-living-seating,
.outdoor-living-night,
.outdoor-living-firepit {
  grid-column: span 4;
}

.outdoor-living-gallery img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: saturate(.9) contrast(1.03);
  transition: transform .7s ease;
}

.outdoor-living-main img {
  object-position: center 52%;
}

.outdoor-living-gallery figure:hover img {
  transform: scale(1.02);
}

.outdoor-living-gallery figure::after {
  content: "";
  position: absolute;
  inset: 52% 0 0;
  background: linear-gradient(0deg, rgba(8, 9, 7, .84), transparent);
  pointer-events: none;
}

.outdoor-living-gallery figcaption {
  position: absolute;
  z-index: 2;
  left: 20px;
  right: 20px;
  bottom: 18px;
  padding-top: 12px;
  border-top: 1px solid rgba(255, 255, 255, .6);
}

.outdoor-living-gallery figcaption strong,
.outdoor-living-gallery figcaption span {
  display: block;
}

.outdoor-living-gallery figcaption strong {
  font: 500 1.04rem var(--serif);
}

.outdoor-living-gallery figcaption span {
  margin-top: 3px;
  color: #d0cec6;
  font-size: .67rem;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.entry-project {
  padding: 108px 5vw 118px;
  background: #10110f;
  border-top: 1px solid var(--line);
}

.entry-project-heading {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(300px, .75fr);
  gap: 8vw;
  align-items: end;
  margin: 0 4vw 58px;
}

.entry-project-heading h2 {
  margin: 0;
  font: 500 clamp(2.8rem, 5.2vw, 5.4rem)/1.02 var(--serif);
  letter-spacing: -.04em;
}

.entry-project-heading h2 em {
  color: var(--gold);
  font-weight: 500;
}

.entry-project-summary > p {
  margin: 0;
  color: var(--muted);
  font-size: 1rem;
  line-height: 1.75;
}

.entry-project-gallery {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  grid-template-rows: repeat(2, 430px);
  gap: 18px;
}

.entry-project-gallery figure {
  position: relative;
  margin: 0;
  overflow: hidden;
  background: #242620;
}

.entry-project-overview,
.entry-project-detail {
  grid-column: span 7;
}

.entry-project-steps,
.entry-project-walk {
  grid-column: span 5;
}

.entry-project-gallery img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: saturate(.88) contrast(1.03);
  transition: transform .7s ease;
}

.entry-project-overview img,
.entry-project-walk img {
  object-position: center 62%;
}

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

.entry-project-gallery figure::after {
  content: "";
  position: absolute;
  inset: 52% 0 0;
  background: linear-gradient(0deg, rgba(8, 9, 7, .82), transparent);
  pointer-events: none;
}

.entry-project-gallery figcaption {
  position: absolute;
  z-index: 2;
  left: 20px;
  right: 20px;
  bottom: 18px;
  padding-top: 12px;
  border-top: 1px solid rgba(255, 255, 255, .6);
}

.entry-project-gallery figcaption strong,
.entry-project-gallery figcaption span {
  display: block;
}

.entry-project-gallery figcaption strong {
  font: 500 1.04rem var(--serif);
}

.entry-project-gallery figcaption span {
  margin-top: 3px;
  color: #d0cec6;
  font-size: .67rem;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.projects {
  padding: 108px 5vw 118px;
  background: #131411;
  border-top: 1px solid var(--line);
}

.project-heading {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(300px, .75fr);
  gap: 8vw;
  align-items: end;
  margin: 0 4vw 58px;
}

.project-heading h2 {
  margin: 0;
  font: 500 clamp(2.8rem, 5.2vw, 5.4rem)/1.02 var(--serif);
  letter-spacing: -.04em;
}

.project-heading h2 em {
  color: var(--gold);
  font-weight: 500;
}

.project-summary > p {
  margin: 0;
  color: var(--muted);
  font-size: 1rem;
  line-height: 1.75;
}

.project-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 24px;
  margin-top: 25px;
  padding-top: 18px;
  border-top: 1px solid var(--line);
}

.project-meta span {
  color: var(--gold);
  font-size: .7rem;
  font-weight: 600;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.project-gallery {
  display: grid;
  grid-template-columns: minmax(0, 1.65fr) minmax(300px, .75fr);
  gap: 18px;
}

.project-gallery figure {
  position: relative;
  margin: 0;
  overflow: hidden;
  background: #272822;
}

.project-main {
  min-height: 680px;
}

.project-support {
  display: grid;
  grid-template-rows: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.project-support figure {
  min-height: 330px;
}

.project-gallery img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: saturate(.88) contrast(1.02);
  transition: transform .7s ease;
}

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

.project-gallery figure::after {
  content: "";
  position: absolute;
  inset: 55% 0 0;
  background: linear-gradient(0deg, rgba(8, 9, 7, .72), transparent);
  pointer-events: none;
}

.project-gallery figcaption {
  position: absolute;
  z-index: 2;
  left: 22px;
  right: 22px;
  bottom: 20px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding-top: 13px;
  border-top: 1px solid rgba(255, 255, 255, .62);
}

.project-gallery figcaption span {
  font: 500 1.05rem var(--serif);
}

.project-gallery figcaption small {
  color: var(--gold);
  font-size: .68rem;
  letter-spacing: .12em;
}



















.garden-creations {
  padding: 108px 5vw 118px;
  background: #ebe6dc;
  color: var(--ink);
  border-top: 1px solid #d4cec2;
}

.garden-heading {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(300px, .75fr);
  gap: 8vw;
  align-items: end;
  margin: 0 4vw 58px;
}

.garden-heading h2 {
  margin: 0;
  font: 500 clamp(2.8rem, 5.2vw, 5.4rem)/1.02 var(--serif);
  letter-spacing: -.04em;
}

.garden-heading h2 em {
  color: #7a6339;
  font-weight: 500;
}

.garden-heading > p {
  margin: 0;
  color: #66685f;
  font-size: 1rem;
  line-height: 1.75;
}

.garden-gallery {
  display: grid;
  grid-template-columns: minmax(0, 1.5fr) minmax(300px, .72fr);
  gap: 18px;
  align-items: stretch;
}

.garden-gallery figure {
  position: relative;
  margin: 0;
  overflow: hidden;
  background: #d7d0c2;
}

.garden-feature,
.garden-walk {
  min-height: 610px;
}

.garden-gallery img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.garden-feature img,
.garden-walk img {
  filter: saturate(.92) contrast(1.01);
  transition: transform .7s ease;
}

.garden-feature:hover img,
.garden-walk:hover img {
  transform: scale(1.02);
}

.garden-feature::after,
.garden-walk::after {
  content: "";
  position: absolute;
  inset: 58% 0 0;
  background: linear-gradient(0deg, rgba(8, 9, 7, .76), transparent);
  pointer-events: none;
}

.garden-gallery figcaption {
  position: absolute;
  z-index: 2;
  left: 22px;
  right: 22px;
  bottom: 20px;
  padding-top: 13px;
  border-top: 1px solid rgba(255, 255, 255, .65);
  color: var(--ivory);
}

.garden-gallery figcaption strong,
.garden-gallery figcaption span {
  display: block;
}

.garden-gallery figcaption strong {
  font: 500 1.08rem var(--serif);
}

.garden-gallery figcaption span {
  margin-top: 3px;
  color: #d6d2ca;
  font-size: .68rem;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.washing {
  padding: 105px 5vw 112px;
}

.washing-heading {
  margin-bottom: 55px;
}

.compare-image {
  height: clamp(450px, 48vw, 620px);
}

.compare-image > span,
.washing-details figcaption {
  border: 1px solid rgba(255, 255, 255, .16);
}

.washing-details {
  margin-top: 42px;
}

.washing-details figure {
  height: 340px;
}

.materials-gallery {
  min-height: 960px;
}

.materials-content {
  padding: 90px 7vw;
}

.materials-intro {
  margin-bottom: 42px;
}

.material-list article {
  padding: 20px 0;
}

.contact {
  padding: 112px 5vw 108px;
}

.contact h2 {
  margin: 24px 0 42px;
}

.contact .phone {
  margin: 22px 0 0;
}

.contact-trust {
  gap: 12px;
  margin-top: 15px;
}

.contact-trust span {
  width: auto;
  height: auto;
  border: 0;
  border-radius: 0;
  font-size: inherit;
}

.contact-trust i {
  width: 3px;
  height: 3px;
  border-radius: 50%;
  background: currentColor;
}

footer {
  padding-block: 38px;
  line-height: 1.7;
}

.marketing-credit img {
  width: 60px;
  height: 36px;
}

@media (max-width: 950px) {
  .site-header {
    height: 76px;
  }

  nav {
    top: 76px;
  }

  .service-card,
  .service-card.featured {
    min-height: 330px;
  }

  .robbinsville-heading {
    grid-template-columns: 1fr;
    gap: 28px;
  }

  .robbinsville-gallery {
    grid-template-rows: 560px 360px 520px;
  }

  .robbinsville-main {
    grid-column: 1 / -1;
    grid-row: auto;
  }

  .robbinsville-detail,
  .robbinsville-water,
  .robbinsville-night-wide,
  .robbinsville-night-detail {
    grid-column: span 6;
  }

  .outdoor-living-heading {
    grid-template-columns: 1fr;
    gap: 28px;
  }

  .outdoor-living-gallery {
    grid-template-rows: 560px repeat(3, 340px);
  }

  .outdoor-living-main {
    grid-column: 1 / -1;
    grid-row: auto;
  }

  .outdoor-living-kitchen,
  .outdoor-living-bridge,
  .outdoor-living-seating,
  .outdoor-living-night,
  .outdoor-living-firepit {
    grid-column: span 6;
  }

  .entry-project-heading {
    grid-template-columns: 1fr;
    gap: 28px;
  }

  .entry-project-gallery {
    grid-template-rows: repeat(2, 390px);
  }

  .entry-project-overview,
  .entry-project-detail,
  .entry-project-steps,
  .entry-project-walk {
    grid-column: span 6;
  }

  .project-heading {
    grid-template-columns: 1fr;
    gap: 28px;
  }

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

  .project-main {
    min-height: 570px;
  }

  .project-support {
    grid-template-columns: 1fr 1fr;
    grid-template-rows: none;
  }

  .project-support figure {
    min-height: 320px;
  }





  .garden-heading {
    grid-template-columns: 1fr;
    gap: 28px;
  }

  .garden-gallery {
    grid-template-columns: 1.25fr .75fr;
  }

  .garden-feature {
    min-height: 560px;
  }

  .garden-walk {
    min-height: 560px;
  }

  .materials-gallery {
    min-height: 870px;
  }
}

@media (max-width: 620px) {
  .site-header {
    height: 70px;
    padding-inline: 6vw;
  }

  nav {
    top: 70px;
  }

  .brand-logo {
    width: 40px;
    height: 40px;
  }

  .hero {
    height: 760px;
    min-height: 720px;
  }

  .hero-content {
    margin-bottom: 60px;
  }

  .hero h1 {
    font-size: clamp(3.5rem, 17vw, 4.8rem);
  }

  .statement {
    padding: 80px 6vw;
  }

  .services {
    padding: 78px 6vw 84px;
  }

  .service-card,
  .service-card.featured {
    min-height: 310px;
    padding: 30px 20px;
  }

  .robbinsville-project {
    padding: 78px 6vw 84px;
  }

  .robbinsville-heading {
    margin: 0 0 42px;
  }

  .robbinsville-summary > p {
    font-size: .94rem;
  }

  .robbinsville-gallery {
    grid-template-columns: 1fr;
    grid-template-rows: none;
    gap: 14px;
  }

  .robbinsville-main,
  .robbinsville-detail,
  .robbinsville-water,
  .robbinsville-night-wide,
  .robbinsville-night-detail {
    grid-column: auto;
    grid-row: auto;
    min-height: 390px;
  }

  .robbinsville-main,
  .robbinsville-night-wide {
    min-height: 460px;
  }

  .outdoor-living-project {
    padding: 78px 6vw 84px;
  }

  .outdoor-living-heading {
    margin: 0 0 42px;
  }

  .outdoor-living-summary > p {
    font-size: .94rem;
  }

  .outdoor-living-gallery {
    grid-template-columns: 1fr;
    grid-template-rows: none;
    gap: 14px;
  }

  .outdoor-living-main,
  .outdoor-living-kitchen,
  .outdoor-living-bridge,
  .outdoor-living-seating,
  .outdoor-living-night,
  .outdoor-living-firepit {
    grid-column: auto;
    grid-row: auto;
    min-height: 390px;
  }

  .outdoor-living-main,
  .outdoor-living-night {
    min-height: 460px;
  }

  .entry-project {
    padding: 78px 6vw 84px;
  }

  .entry-project-heading {
    margin: 0 0 42px;
  }

  .entry-project-summary > p {
    font-size: .94rem;
  }

  .entry-project-gallery {
    grid-template-columns: 1fr;
    grid-template-rows: none;
    gap: 14px;
  }

  .entry-project-overview,
  .entry-project-detail,
  .entry-project-steps,
  .entry-project-walk {
    grid-column: auto;
    min-height: 400px;
  }

  .projects {
    padding: 78px 6vw 84px;
  }

  .project-heading {
    margin: 0 0 42px;
  }

  .project-summary > p {
    font-size: .94rem;
  }

  .project-main {
    min-height: 430px;
  }

  .project-support {
    grid-template-columns: 1fr;
    gap: 14px;
  }

  .project-support figure {
    min-height: 300px;
  }







  .garden-creations {
    padding: 78px 6vw 84px;
  }

  .garden-heading {
    margin: 0 0 42px;
  }

  .garden-heading > p {
    font-size: .94rem;
  }

  .garden-gallery {
    grid-template-columns: 1fr;
    gap: 14px;
  }

  .garden-feature,
  .garden-walk {
    grid-column: auto;
    min-height: 430px;
  }

  .garden-walk {
    min-height: 500px;
  }

  .washing {
    padding: 78px 6vw 84px;
  }

  .compare-image {
    height: 440px;
  }

  .washing-details figure {
    height: 280px;
  }

  .materials-gallery {
    min-height: 750px;
  }

  .materials-content {
    padding: 70px 7vw 76px;
  }

  .contact {
    padding: 88px 6vw 84px;
  }

  .contact h2 {
    font-size: clamp(3rem, 15vw, 3.8rem);
  }
}

.inquiry-form { max-width: 850px; margin: 56px auto 0; padding: 36px; border: 1px solid var(--line); text-align: left; background: #191a16; scroll-margin-top: 104px; }
.inquiry-form h3 { margin: 0 0 28px; font: 500 2rem var(--serif); }
.inquiry-fields { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 24px; }
.inquiry-fields label { display: flex; flex-direction: column; gap: 10px; font-size: 1rem; line-height: 1.5; }
.inquiry-fields input, .inquiry-fields select, .inquiry-fields textarea { box-sizing: border-box; width: 100%; min-width: 0; border: 1px solid #66665b; border-radius: 0; padding: 13px; background: #f3efe6; color: #171914; font: inherit; }
.inquiry-fields textarea { resize: vertical; }
.inquiry-fields :is(input,select,textarea):focus-visible, .inquiry-form button:focus-visible { outline: 3px solid var(--gold); outline-offset: 3px; }
.inquiry-message { grid-column: 1 / -1; }
.inquiry-note, .inquiry-status, .inquiry-direct { font-size: .9rem; line-height: 1.6; }
.inquiry-note { margin: 24px 0 20px; color: #c9c8bf; }
.inquiry-form button { cursor: pointer; font: inherit; }
.inquiry-direct a { text-decoration: underline; overflow-wrap: anywhere; }
.inquiry-status:empty { display: none; }
@media (max-width: 620px) { .inquiry-form { padding: 24px 18px; } .inquiry-fields { grid-template-columns: 1fr; } }

/* Dedicated contact route keeps the inquiry form reliable and immediately visible on mobile. */
.contact-page {
  min-height: 100vh;
  padding: clamp(130px, 14vw, 180px) clamp(20px, 6vw, 92px) 100px;
  background:
    radial-gradient(circle at 85% 8%, rgba(200,167,106,.13), transparent 34%),
    #11120f;
  color: var(--ivory);
}
.contact-page-intro { max-width: 920px; margin: 0 auto 54px; text-align: center; }
.contact-page-intro .service-back { display: inline-block; margin-bottom: 36px; }
.contact-page-intro h1 { margin: 10px 0 20px; font: 500 clamp(3.2rem, 8vw, 6.8rem)/.92 var(--serif); letter-spacing: -.045em; }
.contact-page-intro h1 em { color: var(--gold); font-weight: 500; }
.contact-page-intro > p:last-child { max-width: 680px; margin: 0 auto; color: #c9c8bf; font-size: clamp(1rem, 2vw, 1.2rem); line-height: 1.7; }
.contact-page-layout { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(280px, .72fr); gap: clamp(28px, 4vw, 56px); max-width: 1220px; margin: 0 auto; align-items: start; }
.contact-page .inquiry-form { width: 100%; max-width: none; margin: 0; padding: clamp(26px, 4vw, 48px); background: #191a16; }
.contact-page .inquiry-form h2 { margin: 0 0 30px; font: 500 clamp(2rem, 4vw, 3rem)/1.08 var(--serif); }
.contact-page-aside { position: sticky; top: 112px; padding: clamp(26px, 3vw, 38px); border: 1px solid rgba(200,167,106,.36); background: rgba(9,10,8,.5); }
.contact-page-aside > h2 { margin: 8px 0 16px; font: 500 clamp(2rem, 4vw, 3.1rem)/1.05 var(--serif); }
.contact-page-aside > p { color: #c9c8bf; line-height: 1.7; }
.contact-direct-link { display: block; margin-top: 26px; padding: 18px 0; border-top: 1px solid rgba(243,240,233,.18); overflow-wrap: anywhere; }
.contact-direct-link span { display: block; margin-bottom: 6px; color: #a9a99f; font-size: .76rem; letter-spacing: .15em; text-transform: uppercase; }
.contact-direct-link strong { color: var(--ivory); font-size: clamp(1rem, 2vw, 1.15rem); font-weight: 500; }
.contact-direct-link:hover strong { color: var(--gold); }
.contact-page-trust { margin-top: 30px; padding-top: 22px; border-top: 1px solid rgba(243,240,233,.18); color: var(--gold) !important; }
.contact-page-aside .contact-qr { margin-top: 32px; text-align: center; }
@media (max-width: 850px) {
  .contact-page { padding: 112px 18px 72px; }
  .contact-page-intro { margin-bottom: 36px; }
  .contact-page-intro .service-back { margin-bottom: 22px; }
  .contact-page-layout { grid-template-columns: 1fr; }
  .contact-page-aside { position: static; }
}
@media (max-width: 620px) {
  .contact-page-intro { text-align: left; }
  .contact-page-intro h1 { font-size: clamp(3rem, 15vw, 4.2rem); }
  .contact-page-intro > p:last-child { margin: 0; }
  .contact-page .inquiry-form { padding: 28px 18px; scroll-margin-top: 94px; }
  .contact-page .inquiry-fields :is(input, select, textarea) { min-height: 48px; font-size: 16px; }
  .contact-page .inquiry-fields textarea { min-height: 150px; }
  .contact-page .inquiry-form button { width: 100%; min-height: 52px; }
  .contact-page-aside { padding: 28px 20px; }
}

/* White wordmark on the existing dark header and footer. */
.brand { flex-shrink: 0; }
.brand .brand-logo { width: 240px; height: auto; max-height: 74px; object-fit: contain; background: transparent; padding: 4px 10px; border: 0; border-radius: 2px; }
.footer-logo-link { width: min(300px, 100%); }
.footer-logo-link .footer-logo { width: 100%; height: auto; object-fit: contain; background: transparent; padding: 8px 12px; border-radius: 2px; }
@media (max-width: 620px) { .brand .brand-logo { width: min(220px, 66vw); max-height: 58px; padding: 3px 8px; } }
.brand .brand-logo, .footer-logo-link .footer-logo { mix-blend-mode: normal; }

/* Email QR retains a white quiet zone for reliable scanning. */
.contact-qr { margin: 40px auto 0; max-width: 420px; }
.contact-qr > a { display: inline-block; background: #fff; line-height: 0; }
.contact-qr img { width: 216px; height: 216px; }
.contact-qr h3 { margin: 18px 0 8px; font-size: 1.25rem; font-weight: 500; }
.contact-qr p { margin: 0; color: var(--muted); font-size: 1rem; }
.contact-qr > a:focus-visible { outline: 3px solid var(--gold); outline-offset: 6px; }

/* Gentle, one-time entrances; content remains visible without JavaScript. */
.reveal { opacity: 1; transform: none; }
@media (prefers-reduced-motion: no-preference) {
  .motion-ready .reveal:not(.visible) { opacity: 0; transform: translateY(28px); }
  .motion-ready .reveal { transition: opacity .75s ease var(--reveal-delay, 0ms), transform .75s cubic-bezier(.2,.7,.2,1) var(--reveal-delay, 0ms); }
  .hero { overflow: hidden; }
  .hero-image { animation: landscape-settle 1.8s cubic-bezier(.2,.65,.3,1) both; }
  .hero-content > * { animation: entrance-rise .85s cubic-bezier(.2,.7,.2,1) both; }
  .hero-content > :nth-child(2) { animation-delay: .12s; }
  .hero-content > :nth-child(3) { animation-delay: .24s; }
  .hero-content > :nth-child(4) { animation-delay: .36s; }
  .button { transition: transform .25s ease, box-shadow .25s ease, background-color .25s ease; }
  .button:active { transform: translateY(1px); }
  .button span, .text-link span { display: inline-block; transition: transform .25s ease; }
  .inquiry-fields :is(input, select, textarea) { transition: border-color .2s ease, box-shadow .2s ease; }
  .inquiry-fields :is(input, select, textarea):focus { box-shadow: 0 0 0 3px rgba(200,167,106,.18); }
  @media (hover: hover) and (pointer: fine) {
    main figure { overflow: hidden; }
    main figure img { transition: transform .8s cubic-bezier(.2,.7,.2,1); }
    main figure:hover img { transform: scale(1.025); }
    .button:hover { transform: translateY(-3px); box-shadow: 0 8px 24px rgba(0,0,0,.2); }
    .button:hover span { transform: translateX(4px); }
    .text-link:hover span { transform: translateY(4px); }
  }
}
@keyframes entrance-rise { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: none; } }
@keyframes landscape-settle { from { transform: scale(1.035); } to { transform: scale(1); } }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation: none !important; transition: none !important; }
  .reveal, .motion-ready .reveal:not(.visible) { opacity: 1; transform: none; }
  main figure:hover img, .service-card:hover, .button:hover { transform: none; }
}

.service-directory { position: static; display: flex; flex-wrap: wrap; gap: 16px 28px; padding: 28px 0 0; background: transparent; }
.service-directory a { color: var(--gold); text-decoration: underline; font-size: 1rem; padding: 8px 0; }

/* Keep the two primary contact actions available on small screens. */
.mobile-contact-bar { display: none; }
@media (max-width: 750px) {
  body { padding-bottom: calc(78px + env(safe-area-inset-bottom, 0px)); }
  .mobile-contact-bar {
    position: fixed; z-index: 30; inset: auto 0 0; display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.35fr); gap: 10px;
    padding: 10px max(16px, env(safe-area-inset-right, 0px)) calc(10px + env(safe-area-inset-bottom, 0px)) max(16px, env(safe-area-inset-left, 0px));
    background: #10110f; border-top: 1px solid rgba(243,240,233,.22);
    box-shadow: 0 -8px 24px rgba(0,0,0,.28);
  }
  .mobile-contact-bar a {
    display: grid; place-items: center; min-height: 48px; padding: 9px 8px;
    font: 600 clamp(.8rem, 3.5vw, .95rem)/1.2 var(--sans); text-align: center;
    border: 1px solid var(--gold); letter-spacing: .01em;
  }
  .mobile-contact-call { color: var(--ivory); }
  .mobile-contact-estimate { background: var(--gold); color: #10110f; }
  .mobile-contact-bar a:focus-visible { outline: 3px solid #fff; outline-offset: 2px; }
  #inquiry { scroll-margin-top: 74px; }
}

/* Compact black-and-gold navigation. */
.site-header {
  height: 82px;
  padding-inline: clamp(18px, 4vw, 64px);
  background: rgba(6,7,6,.96);
  border-bottom-color: rgba(200,167,106,.2);
}
.brand .brand-logo {
  width: 220px;
  height: 78px;
  max-height: none;
  padding: 0;
  object-fit: contain;
  background: #000;
}
.site-header nav { gap: clamp(18px, 2.1vw, 32px); }
.site-header nav a { font-size: .72rem; letter-spacing: .11em; white-space: nowrap; }
.site-header .nav-call { margin-left: 4px; padding-left: clamp(18px, 2.1vw, 32px); }
.site-header .nav-estimate {
  padding: 11px 15px;
  border: 1px solid var(--gold);
  background: var(--gold);
  color: #10110f;
  font-weight: 600;
}
.site-header .nav-estimate:hover,
.site-header .nav-estimate:focus-visible { background: #ddc084; color: #10110f; }
.menu-button { cursor: pointer; }
.menu-button:focus-visible { outline: 2px solid var(--gold); outline-offset: 4px; }
.footer-logo-link {
  width: min(320px, 100%);
  perspective: 900px;
  isolation: isolate;
}
.footer-logo-link .footer-logo {
  width: 100%;
  height: auto;
  padding: 0;
  background: transparent;
  transform: none;
  will-change: auto;
  filter: drop-shadow(0 0 7px rgba(200,167,106,.22));
  animation: none;
}
.footer-logo-link:hover .footer-logo,
.footer-logo-link:focus-visible .footer-logo {
  filter: drop-shadow(0 0 13px rgba(224,190,116,.58));
}
.footer-logo-link:focus-visible { outline: 1px solid var(--gold); outline-offset: 8px; }

@keyframes prestigeEmblemSpin {
  0%, 12% { transform: rotateY(0deg) scale(1); filter: drop-shadow(0 0 7px rgba(22,96,55,.18)); }
  45% { transform: rotateY(168deg) scale(.94); filter: drop-shadow(0 0 15px rgba(22,96,55,.38)); }
  55% { transform: rotateY(192deg) scale(.94); filter: drop-shadow(0 0 15px rgba(22,96,55,.38)); }
  88%, 100% { transform: rotateY(360deg) scale(1); filter: drop-shadow(0 0 7px rgba(22,96,55,.18)); }
}

/* Aanonsen Affiliated partner mark: transparent, polished, and stationary. */
.marketing-credit .marketing-logo {
  width: 92px;
  height: 92px;
  flex: 0 0 92px;
  padding: 0;
  border: 0;
  background: transparent;
  object-fit: contain;
  transform: none;
  will-change: auto;
  filter: drop-shadow(0 0 7px rgba(200,167,106,.28));
  animation: none;
}
.marketing-credit:hover .marketing-logo {
  filter: brightness(1.1) drop-shadow(0 0 15px rgba(224,190,116,.65));
}
@keyframes aaPrestigeOrbit {
  0%, 14% {
    transform: perspective(900px) rotateX(0deg) rotateY(0deg) rotateZ(0deg) translateY(0) scale(1);
    filter: brightness(1) saturate(1) drop-shadow(0 0 6px rgba(200,167,106,.24));
  }
  28% {
    transform: perspective(900px) rotateX(6deg) rotateY(92deg) rotateZ(-4deg) translateY(-5px) scale(.96);
    filter: brightness(1.18) saturate(1.12) drop-shadow(8px 2px 15px rgba(224,190,116,.48));
  }
  50% {
    transform: perspective(900px) rotateX(-5deg) rotateY(180deg) rotateZ(2deg) translateY(-9px) scale(.92);
    filter: brightness(1.28) saturate(1.18) drop-shadow(0 0 20px rgba(238,205,132,.68));
  }
  72% {
    transform: perspective(900px) rotateX(5deg) rotateY(274deg) rotateZ(4deg) translateY(-4px) scale(.96);
    filter: brightness(1.15) saturate(1.1) drop-shadow(-8px 2px 15px rgba(224,190,116,.46));
  }
  86%, 100% {
    transform: perspective(900px) rotateX(0deg) rotateY(360deg) rotateZ(0deg) translateY(0) scale(1);
    filter: brightness(1) saturate(1) drop-shadow(0 0 6px rgba(200,167,106,.24));
  }
}
@media (max-width: 620px) {
  .marketing-credit .marketing-logo {
    width: 82px;
    height: 82px;
    flex-basis: 82px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .marketing-credit .marketing-logo {
    animation: none;
    transform: none;
  }
}
@media (max-width: 950px) {
  .site-header nav {
    top: 82px;
    gap: 0;
    padding: 18px clamp(20px, 5vw, 48px) 28px;
    border-top: 1px solid rgba(200,167,106,.18);
    box-shadow: 0 18px 40px rgba(0,0,0,.36);
  }
  .site-header nav a { width: 100%; padding: 14px 0; border-bottom: 1px solid rgba(255,255,255,.09); font-size: .82rem; }
  .site-header .nav-call { margin: 8px 0 0; padding-left: 0; border-left: 0; }
  .site-header .nav-estimate { width: auto; margin-top: 14px; padding: 13px 17px; border-bottom: 1px solid var(--gold); }
}
@media (max-width: 620px) {
  .site-header { height: 70px; }
  .site-header nav { top: 70px; }
  .brand .brand-logo { width: 170px; height: 66px; }
}

/* Clean editorial social showcase. */
.social-showcase {
  padding: clamp(76px, 9vw, 132px) clamp(22px, 5.5vw, 88px);
  background: #efede7;
  color: #151612;
}
.social-heading {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(340px, .78fr);
  gap: clamp(42px, 8vw, 118px);
  align-items: start;
  max-width: 1420px;
  margin: 0 auto 52px;
}
.social-heading h2 {
  margin: 12px 0 0;
  font: 500 clamp(2.65rem, 5vw, 5.3rem)/.97 var(--serif);
  letter-spacing: -.045em;
}
.social-heading h2 em { color: #7d622f; font-weight: 500; }
.social-connect > p { margin: 5px 0 24px; max-width: 610px; color: #5d5e57; font-size: 1rem; line-height: 1.7; }
.social-profiles { border-top: 1px solid rgba(21,22,18,.25); }
.social-profile {
  display: grid;
  grid-template-columns: 26px minmax(0,1fr) auto;
  align-items: center;
  gap: 14px;
  min-height: 76px;
  padding: 14px 4px;
  border-bottom: 1px solid rgba(21,22,18,.25);
  color: #151612;
  text-decoration: none;
  transition: color .25s ease, padding .25s ease;
}
.social-profile svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.7; }
.social-profile:nth-child(2) svg { fill: currentColor; stroke: none; }
.social-profile span { display: grid; gap: 2px; }
.social-profile strong { font: 600 .92rem/1.25 var(--sans); letter-spacing: .02em; }
.social-profile small { color: #74766d; font-size: .8rem; }
.social-profile b { color: #8d6f36; font-size: 1rem; transition: transform .25s ease; }
.social-profile:hover, .social-profile:focus-visible { color: #7d622f; padding-left: 8px; padding-right: 8px; }
.social-profile:hover b, .social-profile:focus-visible b { transform: translate(3px,-3px); }
.social-profile:focus-visible { outline: 2px solid #9d7c3e; outline-offset: 3px; }
.social-gallery {
  display: grid;
  grid-template-columns: 1.35fr 1fr 1fr;
  gap: 14px;
  max-width: 1420px;
  margin: 0 auto;
}
.social-tile {
  position: relative;
  min-height: clamp(310px, 31vw, 470px);
  margin: 0;
  overflow: hidden;
  background: #222;
}
.social-tile img { width: 100%; height: 100%; object-fit: cover; transition: transform .8s cubic-bezier(.2,.7,.2,1), filter .35s ease; }
.social-tile::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 50%, rgba(0,0,0,.72)); }
.social-tile figcaption {
  position: absolute;
  z-index: 1;
  left: 20px;
  bottom: 18px;
  color: #fff;
  font: 500 .78rem/1.2 var(--sans);
  letter-spacing: .13em;
  text-transform: uppercase;
}
.social-tile:hover img { transform: scale(1.03); filter: saturate(1.06); }

/* Footer hierarchy and alignment. */
footer {
  grid-template-columns: minmax(190px,1.3fr) minmax(180px,.85fr) auto minmax(210px,1fr);
  gap: clamp(24px,4vw,58px);
  padding-block: 42px;
}
footer > p:nth-child(2) { margin: 0; text-align: left; }
.footer-social { display: flex; flex-direction: column; align-items: flex-start; gap: 8px; margin: 0; }
.footer-social a { color: var(--gold); font-size: .78rem; text-underline-offset: 4px; }
.footer-credit { justify-self: end; }
@media (max-width: 980px) {
  .social-heading { grid-template-columns: 1fr; gap: 30px; }
  .social-connect { max-width: 620px; }
  .social-gallery { grid-template-columns: 1.2fr 1fr; }
  .social-tile { min-height: 340px; }
  .social-tile:last-child { grid-column: 1 / -1; min-height: 300px; }
  footer { grid-template-columns: 1fr 1fr; }
  .footer-credit { justify-self: start; }
}
@media (max-width: 620px) {
  .social-showcase { padding-inline: 18px; }
  .social-gallery { grid-template-columns: 1fr; gap: 10px; }
  .social-tile,
  .social-tile:last-child { grid-column: auto; min-height: 275px; }
  .social-tile figcaption { left: 14px; bottom: 13px; font-size: .72rem; }
  footer { grid-template-columns: 1fr; gap: 24px; }
  .footer-logo-link { width: min(280px, 84vw); }
  .footer-social { flex-direction: row; gap: 20px; }
  .marketing-credit { justify-content: flex-start; }
}

/* Professional motion system */
.site-header {
  transition: background-color .35s ease, box-shadow .35s ease, border-color .35s ease;
}
.site-header::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -1px;
  width: var(--scroll-progress, 0%);
  height: 2px;
  background: linear-gradient(90deg, #8f6a2d, #e4ca8a);
  box-shadow: 0 0 12px rgba(228,202,138,.42);
  transition: width .08s linear;
}
.site-header.is-scrolled {
  background: rgba(4,5,4,.985);
  border-bottom-color: rgba(200,167,106,.34);
  box-shadow: 0 14px 34px rgba(0,0,0,.34);
}

.hero { isolation: isolate; }
.hero-image {
  transform: scale(1.035);
  transform-origin: 55% 50%;
  animation: heroCinematicDrift 18s ease-in-out infinite alternate;
  will-change: transform;
}
.hero .eyebrow,
.hero h1,
.hero-copy,
.hero-actions,
.hero-note {
  opacity: 0;
  animation: heroReveal .9s cubic-bezier(.2,.72,.2,1) forwards;
}
.hero .eyebrow { animation-delay: .12s; }
.hero h1 { animation-delay: .24s; }
.hero-copy { animation-delay: .38s; }
.hero-actions { animation-delay: .5s; }
.hero-note { animation-delay: .64s; }
.hero-note::before {
  content: "";
  position: absolute;
  top: -1px;
  left: 0;
  width: 46%;
  height: 1px;
  background: #f0d79e;
  animation: noteGlide 3.4s ease-in-out 1.2s infinite alternate;
}

.motion-ready .reveal:not(.visible) {
  opacity: 0;
  transform: translateY(34px) scale(.992);
  filter: blur(7px);
}
.motion-ready .reveal.visible {
  opacity: 1;
  transform: none;
  filter: blur(0);
  transition:
    opacity .82s cubic-bezier(.2,.72,.2,1) var(--reveal-delay, 0ms),
    transform .82s cubic-bezier(.2,.72,.2,1) var(--reveal-delay, 0ms),
    filter .7s ease var(--reveal-delay, 0ms);
}

.button { position: relative; overflow: hidden; isolation: isolate; transition: transform .25s ease, box-shadow .25s ease, background-color .25s ease; }
.button::after {
  content: "";
  position: absolute;
  z-index: -1;
  inset: -120% auto -120% -42%;
  width: 28%;
  transform: rotate(16deg);
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.35), transparent);
  transition: left .62s cubic-bezier(.2,.7,.2,1);
}
.button:hover,
.button:focus-visible { transform: translateY(-3px); box-shadow: 0 12px 26px rgba(0,0,0,.24); }
.button:hover::after,
.button:focus-visible::after { left: 118%; }

.service-card { position: relative; overflow: hidden; }
.service-card::before {
  content: "";
  position: absolute;
  inset: 0 auto auto 0;
  width: 100%;
  height: 2px;
  background: linear-gradient(90deg, var(--gold), #e6cc91);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .45s cubic-bezier(.2,.72,.2,1);
}
.service-card:hover::before,
.service-card:focus-within::before { transform: scaleX(1); }
.service-card h3,
.service-card p,
.service-card a { transition: transform .35s ease, color .25s ease; }
.service-card:hover h3,
.service-card:focus-within h3 { transform: translateY(-4px); }
.service-card:hover a,
.service-card:focus-within a { transform: translateX(6px); }

main figure { position: relative; }
main figure img { transition: transform .85s cubic-bezier(.2,.72,.2,1), filter .45s ease; }
main figure:hover img { transform: scale(1.035); filter: saturate(1.06) contrast(1.02); }
.service-intro > div,
.service-intro > img {
  opacity: 0;
  animation: serviceEntrance .85s cubic-bezier(.2,.72,.2,1) forwards;
}
.service-intro > div { animation-delay: .1s; }
.service-intro > img { animation-delay: .24s; }

@keyframes heroReveal {
  from { opacity: 0; transform: translateY(28px); filter: blur(5px); }
  to { opacity: 1; transform: none; filter: blur(0); }
}
@keyframes heroCinematicDrift {
  from { transform: scale(1.035) translate3d(-.45%, 0, 0); }
  to { transform: scale(1.085) translate3d(.65%, -.45%, 0); }
}
@keyframes noteGlide {
  from { transform: translateX(0); opacity: .38; }
  to { transform: translateX(112%); opacity: 1; }
}
@keyframes serviceEntrance {
  from { opacity: 0; transform: translateY(24px); filter: blur(5px); }
  to { opacity: 1; transform: none; filter: blur(0); }
}

@media (hover: none) {
  .button:hover,
  main figure:hover img,
  .service-card:hover,
  .service-card:hover h3,
  .service-card:hover a { transform: none; }
}
@media (prefers-reduced-motion: reduce) {
  .site-header,
  .site-header::after,
  .hero-image,
  .hero .eyebrow,
  .hero h1,
  .hero-copy,
  .hero-actions,
  .hero-note,
  .hero-note::before,
  .motion-ready .reveal,
  .button,
  .button::after,
  .service-card,
  .service-card::before,
  .service-card h3,
  .service-card p,
  .service-card a,
  main figure img,
  .service-intro > div,
  .service-intro > img,
  .footer-logo-link .footer-logo {
    animation: none !important;
    transition: none !important;
  }
  .hero-image,
  .hero .eyebrow,
  .hero h1,
  .hero-copy,
  .hero-actions,
  .hero-note,
  .motion-ready .reveal,
  .service-intro > div,
  .service-intro > img,
  .footer-logo-link .footer-logo {
    opacity: 1 !important;
    transform: none !important;
    filter: none !important;
  }
}

/* Mobile gallery sizing: preserve each photo's natural proportions.
   This avoids Safari resolving percentage heights against auto-sized grid rows. */
@media (max-width: 620px) {
  .robbinsville-gallery figure,
  .outdoor-living-gallery figure,
  .entry-project-gallery figure,
  .project-gallery figure,
  .garden-gallery figure,
  .social-gallery figure {
    height: auto;
    min-height: 0;
  }

  .robbinsville-gallery img,
  .outdoor-living-gallery img,
  .entry-project-gallery img,
  .project-gallery img,
  .garden-gallery img,
  .social-gallery img {
    position: relative;
    inset: auto;
    width: 100%;
    height: auto;
    aspect-ratio: auto;
    object-fit: contain;
  }

}

/* Header logo sizing and presentation. */
.brand {
  width: min(250px, 26vw);
  perspective: 900px;
  isolation: isolate;
  flex-shrink: 0;
}
.brand .brand-logo {
  width: 100%;
  height: auto;
  max-height: 82px;
  padding: 0;
  border: 0;
  border-radius: 0;
  object-fit: contain;
  background: transparent;
  mix-blend-mode: normal;
  transform-origin: center;
  transform-style: preserve-3d;
  will-change: auto;
  filter: drop-shadow(0 0 7px rgba(200,167,106,.22));
  animation: none;
}
.brand:hover .brand-logo,
.brand:focus-visible .brand-logo {
  filter: drop-shadow(0 0 13px rgba(224,190,116,.58));
}
.brand:focus-visible { outline: 1px solid var(--gold); outline-offset: 5px; }

@media (max-width: 950px) {
  .brand { width: min(232px, 58vw); }
}
@media (max-width: 620px) {
  .site-header { height: 76px; }
  .site-header nav { top: 76px; }
  .brand { width: min(190px, 62vw); }
  .brand .brand-logo { width: 100%; height: auto; max-height: 70px; }
}
@media (prefers-reduced-motion: reduce) {
  .brand .brand-logo {
    animation: none !important;
    transition: none !important;
    transform: none !important;
  }
}

/* Classic green-tree identity with stationary header and footer marks. */
.brand {
  width: 158px;
  height: 72px;
  display: grid;
  place-items: center;
  padding: 3px 7px;
  background: #f3f0e9;
  border: 1px solid rgba(22, 96, 55, .34);
  border-radius: 2px;
  overflow: hidden;
}
.brand .brand-logo {
  width: auto;
  height: 66px;
  max-width: 100%;
  max-height: 66px;
  filter: none;
}
.brand:hover .brand-logo,
.brand:focus-visible .brand-logo { filter: drop-shadow(0 0 8px rgba(26, 103, 59, .35)); }
.footer-logo-link {
  width: min(340px, 90vw);
  padding: 14px 18px;
  background: #f3f0e9;
  border: 1px solid rgba(200, 167, 106, .38);
  border-radius: 2px;
}
.footer-logo-link .footer-logo {
  display: block;
  width: 100%;
  height: auto;
  filter: none;
}
.footer-logo-link:hover .footer-logo,
.footer-logo-link:focus-visible .footer-logo { filter: drop-shadow(0 0 8px rgba(26, 103, 59, .28)); }
@media (max-width: 950px) {
  .brand { width: 150px; height: 68px; }
  .brand .brand-logo { height: 62px; max-height: 62px; }
}
@media (max-width: 620px) {
  .brand { width: 138px; height: 64px; padding: 3px 6px; }
  .brand .brand-logo { height: 58px; max-height: 58px; }
  .footer-logo-link { width: min(300px, 86vw); padding: 12px 14px; }
}

/* White-and-forest-green brand chrome. */
.site-header,
.site-header.is-scrolled {
  background: rgba(255, 255, 255, .97);
  border-bottom-color: rgba(22, 96, 55, .22);
  box-shadow: 0 10px 28px rgba(23, 55, 36, .1);
}
.site-header::after {
  background: linear-gradient(90deg, #124a2c, #2f7a4e);
  box-shadow: 0 0 10px rgba(22, 96, 55, .24);
}
.site-header nav a { color: #244b35; }
.site-header nav a:hover,
.site-header nav a:focus-visible,
.site-header nav a[aria-current="page"] { color: #0f6a38; }
.site-header .nav-call {
  color: #145d35;
  border-left-color: rgba(22, 96, 55, .24);
}
.site-header .nav-estimate,
.site-header .nav-estimate:hover,
.site-header .nav-estimate:focus-visible {
  color: #fff;
  background: #165f37;
  border-color: #165f37;
}
.site-header .nav-estimate:hover,
.site-header .nav-estimate:focus-visible { background: #0f4c2b; }
.menu-button span:not(.sr-only) { background: #165f37; }
.menu-button:focus-visible { outline-color: #165f37; }
.brand {
  background: transparent;
  border-color: transparent;
}
.brand:hover .brand-logo,
.brand:focus-visible .brand-logo { filter: drop-shadow(0 0 8px rgba(22, 96, 55, .32)); }

/* Keep the primary brand mark still and crisp across desktop and mobile. */
.brand { perspective: none; }
.brand .brand-logo,
.brand:hover .brand-logo,
.brand:focus-visible .brand-logo {
  animation: none;
  transform: none;
  will-change: auto;
}

footer > p:nth-child(2) strong {
  color: #165f37;
  font-family: var(--serif);
  font-size: .96rem;
  font-weight: 600;
  letter-spacing: .015em;
}

footer {
  background: #fff;
  color: #345642;
  border-top-color: rgba(22, 96, 55, .2);
}
.footer-logo-link {
  background: transparent;
  border-color: transparent;
}
.footer-social a { color: #165f37; }
.footer-social a:hover,
.footer-social a:focus-visible { color: #0c4426; }
.footer-credit { color: #345642; }
.marketing-credit .marketing-logo {
  filter: brightness(0) saturate(100%) invert(28%) sepia(26%) saturate(1180%) hue-rotate(96deg) brightness(88%) contrast(92%);
}
.marketing-credit:hover .marketing-logo {
  filter: brightness(0) saturate(100%) invert(23%) sepia(35%) saturate(1310%) hue-rotate(99deg) brightness(86%) contrast(94%) drop-shadow(0 0 8px rgba(22,96,55,.22));
}
.marketing-credit span { color: #52695a; }
.marketing-credit strong { color: #165f37; }
.footer-copyright { color: #687b6f; }

@media (max-width: 950px) {
  .site-header nav {
    background: #fff;
    border-top-color: rgba(22, 96, 55, .16);
    box-shadow: 0 18px 32px rgba(23, 55, 36, .13);
  }
  .site-header nav a { border-bottom-color: rgba(22, 96, 55, .12); }
  .site-header .nav-estimate { border-bottom-color: #165f37; }
}

/* Keep the footer navigation in the footer. The base mobile navigation rule
   targets generic nav elements, so this explicit reset prevents the social
   links from becoming an absolute bar beneath the header. */
footer .footer-social {
  position: static;
  inset: auto;
  z-index: auto;
  width: auto;
  padding: 0;
  background: transparent;
  border: 0;
  box-shadow: none;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
@media (max-width: 620px) {
  footer .footer-social {
    flex-direction: row;
    flex-wrap: wrap;
    gap: 12px 20px;
  }
}

/* Unified professional palette: forest, warm ivory, and restrained brass. */
:root {
  --ink: #0d1912;
  --ink-2: #14241a;
  --ivory: #f5f2ea;
  --muted: #aeb6b0;
  --gold: #bfa36b;
  --line: rgba(232, 239, 234, .15);
}
body { background: #0d1912; }
.hero-shade {
  background:
    linear-gradient(90deg, rgba(6,18,11,.92) 0%, rgba(7,20,12,.69) 40%, rgba(7,18,11,.18) 72%),
    linear-gradient(0deg, rgba(7,18,11,.64), transparent 48%);
}
.trust-bar { background: #102219; border-top-color: rgba(191,163,107,.5); }
.statement { background: #0f1d15; }
.services { background: #0d1912; }
.service-card,
.service-card.featured { background: transparent; }
.service-card:hover { background: rgba(115, 151, 126, .09); }
.outdoor-living-project { background: #13231a; }
.entry-project { background: #0d1912; }
.materials { background: #102018; }
.contact { background: #0a1710; }
.inquiry-form { background: #14241a; border-color: rgba(191,163,107,.34); }
.contact-page {
  background: radial-gradient(circle at 85% 8%, rgba(86,125,98,.16), transparent 34%), #0d1b14;
}
.contact-page-aside { background: rgba(10,27,18,.72); }
.service-page,
.service-intro,
.service-estimate,
.service-related,
.paver-showcase { background: #0d1b14; }
.testimonials-hero,
.testimonial-proof { background: #0d1b14; }

.robbinsville-project,
.garden-creations,
.washing,
.social-showcase,
.work,
.service-details,
.verified-feedback,
.experience-band,
.testimonial-estimate { background: #f5f2ea; }
.robbinsville-heading h2 em,
.garden-heading h2 em,
.washing h2 em { color: #41684f; }
.robbinsville-project .section-label,
.garden-creations .section-label,
.washing .section-label,
.social-showcase .section-label,
.work .section-label,
.verified-feedback .section-label { color: #326347; }

.button { border-radius: 2px; }
.button-gold {
  background: #bfa36b;
  color: #0d1912;
  box-shadow: 0 8px 24px rgba(4,12,7,.16);
}
.button-gold:hover,
.button-gold:focus-visible { background: #d0b77e; }
.button-dark { background: #165f37; color: #fff; }
.button-dark:hover,
.button-dark:focus-visible { background: #0f4c2b; }
.compare-card:last-child .compare-image > span { background: #165f37; color: #fff; }
.mobile-contact-bar { background: #0d1b14; border-top-color: rgba(191,163,107,.35); }
.mobile-contact-call { border-color: #bfa36b !important; }
.mobile-contact-estimate { background: #bfa36b; border-color: #bfa36b !important; color: #0d1912; }

main figure { background-color: #16241b; }
.work-image span,
.compare-image > span,
.washing-details figcaption { background: rgba(13,25,18,.94); }
@media (max-width: 620px) {
  .hero-shade {
    background: linear-gradient(0deg, rgba(6,18,11,.97) 8%, rgba(7,20,12,.72) 60%, rgba(7,18,11,.22));
  }
}

/* Testimonials page */
.testimonials-page {
  padding-top: 80px;
  background: var(--ivory);
  color: var(--ink);
}

.testimonials-hero {
  min-height: 650px;
  display: grid;
  grid-template-columns: minmax(0, .92fr) minmax(420px, 1.08fr);
  background: #11120f;
  color: var(--ivory);
}

.testimonials-hero-copy {
  align-self: center;
  padding: 74px 7vw;
}

.testimonials-hero-copy .service-back {
  font-size: .72rem;
  text-transform: uppercase;
  letter-spacing: .12em;
  text-underline-offset: 5px;
}

.testimonials-hero-copy h1 {
  margin: 26px 0 28px;
  font: 500 clamp(3.1rem, 5.6vw, 6rem)/.98 var(--serif);
  letter-spacing: -.045em;
}

.testimonials-hero-copy h1 em {
  color: var(--gold);
  font-weight: 500;
}

.testimonials-hero-copy > p:not(.eyebrow) {
  max-width: 520px;
  color: #c2c0b8;
  font-size: 1rem;
  line-height: 1.8;
}

.testimonials-actions {
  display: flex;
  align-items: center;
  gap: 28px;
  margin-top: 38px;
}

.testimonials-hero-image {
  position: relative;
  min-height: 650px;
  margin: 0;
  overflow: hidden;
}

.testimonials-hero-image::after {
  content: "";
  position: absolute;
  inset: 45% 0 0;
  background: linear-gradient(transparent, rgba(7, 8, 6, .82));
}

.testimonials-hero-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.testimonials-hero-image figcaption,
.testimonial-proof-grid figcaption {
  position: absolute;
  z-index: 1;
  left: 28px;
  right: 28px;
  bottom: 24px;
  display: flex;
  flex-direction: column;
}

.testimonials-hero-image figcaption strong,
.testimonial-proof-grid figcaption strong {
  color: #fff;
  font: 500 1.2rem var(--serif);
}

.testimonials-hero-image figcaption span,
.testimonial-proof-grid figcaption span {
  color: #d2d0c8;
  font-size: .68rem;
  text-transform: uppercase;
  letter-spacing: .12em;
}

.experience-band {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  padding: 0 6vw;
  border-bottom: 1px solid #d3cec3;
}

.experience-band article {
  min-height: 210px;
  padding: 42px 4vw 38px 0;
  border-right: 1px solid #d3cec3;
}

.experience-band article + article { padding-left: 4vw; }
.experience-band article:last-child { border-right: 0; }
.experience-band span { color: #8d7448; font-size: .68rem; letter-spacing: .15em; }
.experience-band h2 { margin: 28px 0 10px; font: 500 1.5rem var(--serif); }
.experience-band p { max-width: 310px; margin: 0; color: #606159; font-size: .88rem; }

.verified-feedback {
  padding: 112px 9vw;
}

.verified-feedback-heading {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, .7fr);
  gap: 7vw;
  align-items: end;
  margin-bottom: 48px;
}

.verified-feedback-heading .section-label { grid-column: 1 / -1; margin-bottom: -12px; }

.verified-feedback h2,
.testimonial-proof-heading h2 {
  margin: 0;
  font: 500 clamp(2.6rem, 4.8vw, 5rem)/1.04 var(--serif);
  letter-spacing: -.04em;
}

.verified-feedback-heading > p:last-child {
  max-width: 560px;
  margin: 0;
  color: #606159;
  line-height: 1.75;
}

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

.testimonial-card {
  position: relative;
  min-height: 340px;
  padding: 45px 42px 38px;
  background: #e8e1d3;
  border-top: 3px solid var(--gold);
  display: flex;
  flex-direction: column;
}

.feedback-mark {
  position: absolute;
  top: 4px;
  right: 30px;
  color: rgba(125, 100, 54, .18);
  font: 500 7rem/1 var(--serif);
}

.testimonial-card blockquote {
  position: relative;
  max-width: 610px;
  margin: 0 0 34px;
  color: #343730;
  font: 500 clamp(1.18rem, 1.65vw, 1.55rem)/1.5 var(--serif);
}

.testimonial-card > div {
  display: flex;
  flex-direction: column;
  margin-top: auto;
  padding-top: 24px;
  border-top: 1px solid rgba(91, 75, 47, .22);
}

.testimonial-card > div strong { font: 500 1.05rem var(--serif); }
.testimonial-card > div span { color: #6b685e; font-size: .75rem; text-transform: uppercase; letter-spacing: .1em; }

.testimonial-card a {
  margin-top: 24px;
  color: #705c37;
  font-size: .66rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .11em;
}

.testimonial-proof {
  padding: 100px 5vw 110px;
  background: #11120f;
  color: var(--ivory);
}

.testimonial-proof-heading {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, .65fr);
  gap: 6vw;
  align-items: end;
  margin: 0 4vw 50px;
}

.testimonial-proof-heading .section-label { grid-column: 1 / -1; margin-bottom: -10px; }
.testimonial-proof-heading > p:last-child { margin: 0; color: var(--muted); line-height: 1.75; }
.testimonial-proof-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.testimonial-proof-grid figure { position: relative; aspect-ratio: 4 / 5; margin: 0; overflow: hidden; background: #24251f; }
.testimonial-proof-grid figure::after { content: ""; position: absolute; inset: 45% 0 0; background: linear-gradient(transparent, rgba(7, 8, 6, .85)); }
.testimonial-proof-grid img { width: 100%; height: 100%; object-fit: cover; }
.testimonial-estimate { background: var(--ivory); color: var(--ink); }
.testimonial-estimate .eyebrow::before { display: inline-block; }
.testimonial-estimate .service-call { color: #6b5a39; text-decoration: underline; text-underline-offset: 5px; }

nav a[aria-current="page"] { color: var(--gold); }

@media (max-width: 950px) {
  .testimonials-page { padding-top: 76px; }
  .testimonials-hero { grid-template-columns: 1fr; }
  .testimonials-hero-copy { padding: 70px 7vw; }
  .testimonials-hero-image { min-height: 520px; }
  .verified-feedback { padding: 88px 7vw; }
  .verified-feedback-heading { grid-template-columns: 1fr; gap: 22px; }
  .testimonial-proof-heading { grid-template-columns: 1fr; }
}

@media (max-width: 620px) {
  .testimonials-page { padding-top: 76px; }
  .testimonials-hero-copy { padding: 50px 6vw 58px; }
  .testimonials-hero-copy h1 { font-size: clamp(3rem, 14vw, 4.25rem); }
  .testimonials-actions { align-items: flex-start; flex-direction: column; }
  .testimonials-hero-image { min-height: 0; aspect-ratio: 4 / 5; }
  .experience-band { grid-template-columns: 1fr; }
  .experience-band article,
  .experience-band article + article { min-height: 0; padding: 34px 0; border-right: 0; border-bottom: 1px solid #d3cec3; }
  .experience-band article:last-child { border-bottom: 0; }
  .experience-band h2 { margin-top: 18px; }
  .verified-feedback { padding: 76px 6vw; }
  .verified-feedback-heading { margin-bottom: 34px; }
  .testimonial-cards { grid-template-columns: 1fr; gap: 14px; }
  .testimonial-card { min-height: 310px; padding: 38px 25px 32px; }
  .testimonial-proof { padding: 76px 18px 88px; }
  .testimonial-proof-heading { margin: 0 0 34px; }
  .testimonial-proof-grid { grid-template-columns: 1fr; gap: 12px; }
  .testimonial-proof-grid figure { aspect-ratio: 4 / 5; }
}
