/*
 * Client polish release 1.3.5.
 * This layer keeps the verified content intact and resolves the remaining
 * composition, reading-flow, and motion issues without changing ownership.
 */

/* Continuous organic motion: every visible path remains a complete stroke. */
body.lhs-design-v135 :is(.lhs-v130-wave, .lhs-v130-scroll-trails path) {
  stroke-dasharray: none !important;
  stroke-dashoffset: 0 !important;
}

@media (prefers-reduced-motion: no-preference) {
  body.lhs-design-v135 .lhs-v130-flow-divider.is-revealed .lhs-v130-wave-main {
    animation: lhs-v135-wave-rock 7.4s ease-in-out infinite alternate !important;
  }

  body.lhs-design-v135 .lhs-v130-flow-divider.is-revealed .lhs-v130-wave-gold {
    animation: lhs-v135-wave-glide 9.2s ease-in-out -2.6s infinite alternate !important;
  }

  body.lhs-design-v135 .lhs-v130-flow-divider.is-revealed .lhs-v130-wave-light {
    animation: lhs-v135-wave-lift 6.1s ease-in-out -1.2s infinite alternate !important;
  }

  body.lhs-design-v135 .lhs-v130-scroll-trails path {
    animation: lhs-v135-trail-breathe 8.6s ease-in-out infinite alternate !important;
  }

  @keyframes lhs-v135-wave-rock {
    from { transform: translate3d(-1.8%, -5px, 0) rotate(-.35deg) scaleX(1.018); }
    to { transform: translate3d(1.7%, 7px, 0) rotate(.45deg) scaleX(.992); }
  }

  @keyframes lhs-v135-wave-glide {
    from { transform: translate3d(2.2%, 6px, 0) rotate(.35deg) scaleX(.988); }
    to { transform: translate3d(-2.4%, -7px, 0) rotate(-.5deg) scaleX(1.022); }
  }

  @keyframes lhs-v135-wave-lift {
    from { transform: translate3d(-1.1%, 7px, 0) rotate(.2deg) scaleX(1.01); opacity: .72; }
    to { transform: translate3d(1.6%, -6px, 0) rotate(-.4deg) scaleX(.995); opacity: 1; }
  }

  @keyframes lhs-v135-trail-breathe {
    from { transform: translate3d(0, calc(var(--lhs-v130-scroll-shift, 0) * -1px), 0); opacity: .48; }
    to { transform: translate3d(10px, calc(var(--lhs-v130-scroll-shift, 0) * -1px + 8px), 0); opacity: .86; }
  }
}

/* Keep the landscape figure clear of the desktop hero copy. */
@media (min-width: 761px) {
  body.lhs-design-v135.home .lhs-v121-hero-background img {
    transform: translateX(13%) scale(1.1);
    transform-origin: center;
  }

  body.lhs-design-v135.home .lhs-v121-hero-copy {
    width: 100%;
    max-width: 760px;
    justify-self: end;
  }

  body.lhs-design-v135.home .lhs-v121-hero h1 {
    max-width: 760px;
    font-size: clamp(40px, 3.35vw, 48px);
    white-space: normal;
  }

  body.lhs-design-v135.home :is(.lhs-v130-hero-lead, .lhs-v130-hero-lower, .lhs-v130-business-card) {
    max-width: 760px;
  }
}

/* Home about: portrait on the physical left and an open, asymmetric reading plane. */
body.lhs-design-v135.home .lhs-v121-about-grid {
  grid-template-columns: minmax(300px, 360px) minmax(0, 1fr);
  grid-template-areas: "image copy";
  gap: clamp(34px, 5vw, 72px);
}

body.lhs-design-v135.home .lhs-v121-about-copy {
  position: relative;
  z-index: 1;
  grid-area: copy;
  padding: clamp(32px, 4vw, 52px);
  isolation: isolate;
}

body.lhs-design-v135.home .lhs-v121-about-copy::before {
  position: absolute;
  z-index: -1;
  inset: 8px -18px 2px 0;
  border: 1px solid rgb(200 93 45 / 25%);
  border-radius: 11% 2% 14% 3% / 5% 17% 6% 15%;
  background: rgb(255 249 243 / 78%);
  box-shadow: 0 20px 46px rgb(113 51 31 / 8%);
  content: '';
  transform: rotate(-.55deg);
}

body.lhs-design-v135.home .lhs-v121-about-image {
  grid-area: image;
  justify-self: start;
}

/* Five stations: each number, heading, lead, and approved paragraph align together. */
body.lhs-design-v135.home .lhs-v130-station-card,
body.lhs-design-v135.home .lhs-v130-station-card header,
body.lhs-design-v135.home .lhs-v127-station-title {
  justify-items: center;
  text-align: center;
}

body.lhs-design-v135.home .lhs-v127-station-lead,
body.lhs-design-v135.home .lhs-v130-station-card > p {
  width: 100%;
  text-align: center;
}

/* Services: the flagship title sits above its copy and every CTA rests at card foot. */
body.lhs-design-v135.lhs-page-services .lhs-services-featured-grid .lhs-service-catalog-card {
  min-height: 218px !important;
  grid-template-columns: 150px minmax(0, 1fr) 76px;
  grid-template-rows: auto minmax(0, 1fr);
  grid-template-areas:
    "title title icon"
    "more summary icon";
  align-items: start;
  gap: 10px 18px;
  padding: 20px 22px;
}

body.lhs-design-v135.lhs-page-services .lhs-services-featured-grid .lhs-service-symbol {
  grid-area: icon;
  align-self: start;
}

body.lhs-design-v135.lhs-page-services .lhs-services-featured-grid .lhs-service-catalog-card h2 {
  grid-area: title;
  margin: 0 !important;
  font-size: clamp(21px, 1.7vw, 26px) !important;
}

body.lhs-design-v135.lhs-page-services .lhs-services-featured-grid .lhs-service-catalog-summary {
  grid-area: summary;
  max-height: 128px;
}

body.lhs-design-v135.lhs-page-services .lhs-services-featured-grid .lhs-service-catalog-summary::after {
  background: linear-gradient(to bottom, transparent, #fff3e7);
}

body.lhs-design-v135.lhs-page-services .lhs-services-featured-grid .lhs-service-read-more {
  grid-area: more;
  align-self: end;
  justify-self: stretch;
  margin-top: 14px;
}

body.lhs-design-v135.lhs-page-services .lhs-services-primary-grid .lhs-service-catalog-card {
  grid-template-rows: auto minmax(124px, 1fr) auto;
}

body.lhs-design-v135.lhs-page-services :is(.lhs-services-primary-grid, .lhs-services-practical-grid) .lhs-service-catalog-summary {
  max-height: 138px;
}

body.lhs-design-v135.lhs-page-services .lhs-service-catalog-summary p {
  font-size: 15px !important;
  line-height: 1.48 !important;
}

body.lhs-design-v135.lhs-page-services .lhs-service-catalog-summary .lhs-service-catalog-lead {
  font-size: 15.5px !important;
  line-height: 1.48 !important;
}

body.lhs-design-v135.lhs-page-services .lhs-service-read-more {
  align-self: end;
  margin-top: 14px;
}

/* Reviews: bring the verified full-copy cards into view sooner. */
body.lhs-design-v135.lhs-page-reviews .lhs-client-reviews-page {
  padding-block: 28px 42px !important;
}

body.lhs-design-v135.lhs-page-reviews .lhs-hero-reviews-heading {
  margin-block-end: 16px;
}

body.lhs-design-v135 :is(.lhs-v127-reviews, .lhs-page-reviews, .lhs-client-reviews-page) .lhs-google-review-copy {
  display: block !important;
  max-height: none !important;
  overflow: visible !important;
  -webkit-line-clamp: unset !important;
  line-clamp: unset !important;
}

/* FAQ is the one inner page where the client requested a compact visible title. */
body.lhs-design-v135.lhs-page-faq .lhs-faq-client-hero {
  position: relative !important;
  width: auto !important;
  height: auto !important;
  margin: 0 !important;
  padding: 22px 16px 8px !important;
  overflow: visible !important;
  clip: auto !important;
  clip-path: none !important;
  white-space: normal !important;
  background: transparent;
}

body.lhs-design-v135.lhs-page-faq .lhs-faq-client-hero h1 {
  margin: 0;
  color: var(--lhs-v130-orange);
  font-size: clamp(28px, 2.8vw, 36px);
  line-height: 1.16;
}

body.lhs-design-v135.lhs-page-faq .lhs-faq-client-section {
  padding-block-start: 18px !important;
}

@media (max-width: 1100px) {
  body.lhs-design-v135.lhs-page-services .lhs-services-featured-grid .lhs-service-catalog-card {
    grid-template-columns: 140px minmax(0, 1fr) 70px;
    grid-template-areas:
      "title title icon"
      "more summary icon";
  }
}

@media (max-width: 760px) {
  body.lhs-design-v135.home .lhs-v121-about-grid {
    display: grid !important;
    grid-template-columns: 1fr;
    grid-template-areas:
      "copy"
      "image";
    gap: 22px;
  }

  body.lhs-design-v135.home .lhs-v121-about-copy {
    padding: 28px 22px;
  }

  body.lhs-design-v135.home .lhs-v121-about-copy::before {
    inset: 5px -5px 0;
    border-radius: 9% 2% 11% 3% / 4% 12% 5% 10%;
  }

  body.lhs-design-v135.home .lhs-v121-about-image {
    justify-self: center;
  }

  body.lhs-design-v135.lhs-page-services .lhs-services-featured-grid .lhs-service-catalog-card {
    display: flex;
    min-height: 0 !important;
    padding: 18px;
  }

  body.lhs-design-v135.lhs-page-services .lhs-services-featured-grid .lhs-service-catalog-summary,
  body.lhs-design-v135.lhs-page-services :is(.lhs-services-primary-grid, .lhs-services-practical-grid) .lhs-service-catalog-summary {
    max-height: none;
  }

  body.lhs-design-v135.lhs-page-services .lhs-service-catalog-summary::after {
    display: none;
  }

  body.lhs-design-v135.lhs-page-reviews .lhs-client-reviews-page {
    padding-block: 20px 32px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.lhs-design-v135.home .lhs-v121-hero-background img {
    transition: none;
  }
}
