.public-services-page .page-hero__title {
  max-width: 14ch;
}

.public-services-page .page-hero__aside {
  align-self: center;
}

.public-services-page .page-hero__aside img {
  object-position: center 38%;
}

.public-services-content {
  padding-top: 1rem;
}

.public-services-logos {
  padding: 0 0 2rem;
}

.public-services-proof {
  display: grid;
  margin: 0 auto 2rem;
  border: 1px solid rgba(21, 35, 29, 0.18);
  border-radius: 0.7rem;
  background: #fffef9;
}

.public-services-proof div {
  padding: 1.15rem;
  border-bottom: 1px solid rgba(21, 35, 29, 0.15);
}

.public-services-proof div:last-child {
  border-bottom: 0;
}

.public-services-proof strong {
  display: block;
  color: #15231d;
  font-size: 0.92rem;
}

.public-services-proof span {
  color: #6b756d;
  font-size: 0.75rem;
}

.public-services-section {
  margin-top: clamp(3rem, 7vw, 7rem);
  padding-top: clamp(2rem, 5vw, 4rem);
  border-top: 1px solid rgba(21, 35, 29, 0.2);
}

.public-services-heading {
  display: grid;
  grid-template-columns: minmax(0, 0.55fr) minmax(0, 1.45fr);
  gap: clamp(1.5rem, 5vw, 5rem);
  margin-bottom: clamp(2rem, 5vw, 4rem);
}

.public-services-heading > span {
  color: #3d8741;
  font-family: 'Fira Code', ui-monospace, monospace;
  font-size: 0.66rem;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.public-services-heading h2 {
  max-width: 16ch;
  color: #15231d;
  font-size: clamp(2.3rem, 5vw, 5rem);
  font-weight: 850;
  line-height: 0.95;
  letter-spacing: -0.06em;
}

.public-services-heading p {
  max-width: 40rem;
  margin-top: 1rem;
  color: #647068;
  line-height: 1.7;
}

/* The three services stack as a StackDeck (public-editorial-deck.css). */

.public-tech-stack {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.public-tech-stack span {
  padding: 0.7rem 0.9rem;
  border: 1px solid rgba(21, 35, 29, 0.18);
  border-radius: 0.4rem;
  background: #fffef9;
  color: #37433b;
  font-family: 'Fira Code', ui-monospace, monospace;
  font-size: 0.72rem;
  font-weight: 700;
}

.public-services-why {
  display: grid;
  overflow: hidden;
  border-radius: 0.8rem;
  background: #15231d;
  color: #fffef9;
}

.public-services-why__image {
  min-height: 24rem;
}

.public-services-why__image img {
  height: 100%;
  object-fit: cover;
}

.public-services-why__content {
  padding: clamp(1.5rem, 5vw, 4rem);
}

.public-services-why__content > span {
  color: #cdea81;
  font-family: 'Fira Code', ui-monospace, monospace;
  font-size: 0.68rem;
  font-weight: 800;
  text-transform: uppercase;
}

.public-services-why h2 {
  margin-top: 1rem;
  color: #fffef9;
  font-size: clamp(2rem, 4vw, 4rem);
  font-weight: 850;
  line-height: 0.98;
  letter-spacing: -0.055em;
}

.public-services-why p {
  margin-top: 1rem;
  color: rgba(255, 254, 249, 0.68);
  line-height: 1.65;
}

.public-services-why ul {
  display: grid;
  gap: 0.75rem;
  margin-top: 1.5rem;
}

.public-services-why li {
  display: flex;
  gap: 0.65rem;
  color: rgba(255, 254, 249, 0.82);
  font-size: 0.86rem;
}

.public-services-why li svg {
  width: 1rem;
  height: 1rem;
  flex: none;
  color: #cdea81;
}

.public-services-why button {
  min-height: 3.2rem;
  margin-top: 2rem;
  padding: 0 1rem;
  border-radius: 0.5rem;
  background: #e1493f;
  color: #fff;
  font-weight: 800;
}

.public-services-page #consultation-booking,
.public-services-page #project-consultation {
  margin-top: 2rem;
  border: 1px solid rgba(21, 35, 29, 0.18);
  border-radius: 0.8rem;
  background: #fffef9;
}

/* The booking block is the page's culmination: it bleeds to the viewport
   edges (.page-bleed, public-editorial-feature.css) as a tinted band with the
   colour rail on top, while the pricing cards inside stay paper white. */
.public-services-page #consultation-booking.page-bleed {
  margin-top: clamp(2rem, 5vw, 4rem);
  border-inline: 0;
  border-radius: 0;
  background: #eef3ea;
}

.consultation-section-intro {
  display: grid;
  grid-template-columns: minmax(0, 0.55fr) minmax(0, 1.45fr);
  gap: 0.75rem 3rem;
  text-align: left;
}

.consultation-section-intro > div,
.consultation-section-intro > h2,
.consultation-section-intro > p {
  grid-column: 2;
}

.consultation-section-intro h2 {
  max-width: 16ch;
  color: #15231d;
  font-size: clamp(2.2rem, 4vw, 4rem);
  font-weight: 850;
  line-height: 0.98;
  letter-spacing: -0.055em;
}

.consultation-section-intro p {
  margin-inline: 0;
  color: #647068;
  font-size: 1rem;
  line-height: 1.7;
}

.consultation-tier {
  overflow: hidden;
  border: 1px solid rgba(21, 35, 29, 0.2);
  border-radius: 0.6rem;
  background: #fffef9;
  box-shadow: none;
}

.consultation-tier:hover,
.consultation-tier--selected {
  border-color: #15231d;
  box-shadow: 0 20px 42px -34px rgba(21, 35, 29, 0.85);
}

.consultation-tier--selected {
  border-top: 0.35rem solid #4cae50;
}

.consultation-calendar {
  border: 1px solid rgba(21, 35, 29, 0.18);
  border-radius: 0.6rem;
  background: #fff;
}

.project-consultation-perks {
  border: 0;
  border-radius: 0.6rem;
  background: #15231d;
  box-shadow: none;
}

.project-consultation-form {
  border: 1px solid rgba(21, 35, 29, 0.2);
  border-radius: 0.6rem;
  box-shadow: none;
}

.project-consultation-form input,
.project-consultation-form textarea {
  border-radius: 0.4rem;
  background: #fff;
}

.project-consultation-form button {
  min-height: 3rem;
  border-radius: 0.45rem;
  font-weight: 800;
}

.public-services-page #consultation-booking .content-surface,
.public-services-page #project-consultation .card {
  border-radius: 0.6rem;
  box-shadow: none;
}

@media (min-width: 768px) {
  .public-services-proof {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .public-services-proof div {
    border-right: 1px solid rgba(21, 35, 29, 0.15);
    border-bottom: 0;
  }

  .public-services-proof div:last-child {
    border-right: 0;
  }

  .public-services-why {
    grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
  }
}

@media (max-width: 767px) {
  .public-services-heading,
  .consultation-section-intro {
    grid-template-columns: 1fr;
  }

  .consultation-section-intro > div,
  .consultation-section-intro > h2,
  .consultation-section-intro > p {
    grid-column: 1;
  }

  .public-services-why__image {
    min-height: 18rem;
  }
}
