.service-hero {
  min-height: 570px;
  max-height: 640px;
}

.service-hero .hero-media {
  background-position: center;
}

.service-hero--shops .hero-media {
  background-image: url("../images/hero-shop.jpg");
}

.service-hero--pvz .hero-media {
  background-image: url("../images/hero-pvz.jpg");
}

.service-hero--cafe .hero-media {
  background-image: url("../images/hero-cafe.jpg");
}

.service-hero--warehouse .hero-media {
  background-image: url("../images/hero-warehouse.jpg");
}

.service-hero .hero-shade {
  background: rgba(10, 20, 16, 0.67);
}

.service-situations,
.service-specific,
.service-links,
.service-faq {
  padding-top: 72px;
  padding-bottom: 72px;
}

.service-situations {
  background: var(--paper);
}

.service-specific {
  background: #edf0ed;
}

.specific-table {
  border-top: 1px solid #aeb9b2;
}

.specific-table > div {
  display: grid;
  grid-template-columns: 0.62fr 1.38fr;
  gap: 28px;
  padding: 20px 0;
  border-bottom: 1px solid #aeb9b2;
}

.specific-table span {
  color: var(--muted);
}

.service-proof {
  padding: 72px 0;
  background: var(--ink);
}

.service-proof-layout {
  display: grid;
  grid-template-columns: 1.1fr 0.9fr;
  gap: 56px;
  align-items: center;
}

.service-proof-media {
  min-height: 440px;
  overflow: hidden;
}

.service-proof-media img {
  height: 100%;
  min-height: 440px;
  object-fit: cover;
}

.service-proof-copy {
  color: #fff;
}

.service-proof-copy h2 {
  margin-top: 0;
  font-size: clamp(34px, 4vw, 56px);
}

.service-proof-copy > p:not(.eyebrow) {
  color: rgba(255, 255, 255, 0.7);
}

.proof-facts {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin: 30px 0;
  border-top: 1px solid rgba(255, 255, 255, 0.18);
  border-bottom: 1px solid rgba(255, 255, 255, 0.18);
}

.proof-facts > div {
  padding: 18px 18px 18px 0;
}

.proof-facts > div + div {
  padding-left: 18px;
  border-left: 1px solid rgba(255, 255, 255, 0.18);
}

.proof-facts dt {
  font-size: 24px;
  font-weight: 900;
}

.proof-facts dd {
  margin: 2px 0 0;
  color: rgba(255, 255, 255, 0.62);
}

.service-proof .text-link {
  color: #ffc071;
  text-decoration: none;
  font-weight: 800;
}

.service-inputs {
  margin-top: 52px;
}

.service-process {
  padding-top: 72px;
  padding-bottom: 72px;
}

.service-links {
  background: var(--paper);
}

.service-faq {
  background: #edf0ed;
}

.projects-hero {
  padding: 76px 0 64px;
  color: #fff;
  background: var(--green-deep);
}

.projects-hero-inner {
  display: grid;
  grid-template-columns: 1.1fr 0.9fr;
  gap: 72px;
  align-items: end;
}

.projects-hero h1 {
  margin: 0;
  font-size: clamp(50px, 7vw, 92px);
  line-height: 0.98;
}

.projects-hero p:not(.eyebrow) {
  margin: 0;
  color: rgba(255, 255, 255, 0.72);
  font-size: var(--type-lead);
}

.projects-list {
  padding: 72px 0;
}

.project-card {
  display: grid;
  grid-template-columns: 1.15fr 0.85fr;
  background: var(--paper);
  border: 1px solid var(--line);
}

.project-card-media {
  min-height: 520px;
  overflow: hidden;
}

.project-card-media img {
  height: 100%;
  object-fit: cover;
}

.project-card-copy {
  padding: 52px;
}

.project-card-copy h2 {
  margin: 0 0 18px;
  font-size: clamp(34px, 4vw, 54px);
  line-height: 1.03;
}

.project-card-copy h2 a,
.project-card-copy .text-link {
  text-decoration: none;
}

.project-card-copy > p:not(.eyebrow) {
  color: var(--muted);
}

.project-card-copy .proof-facts {
  color: var(--ink);
  border-color: var(--line);
}

.project-card-copy .proof-facts > div + div {
  border-color: var(--line);
}

.project-card-copy .proof-facts dd {
  color: var(--muted);
}

.projects-request {
  padding-top: 72px;
  padding-bottom: 72px;
}

.projects-request-actions {
  display: grid;
  align-content: center;
  gap: 14px;
}

.projects-request-actions .button-ghost {
  color: #fff;
  border-color: rgba(255, 255, 255, 0.45);
}

.case-hero {
  padding: 58px 0;
  background: var(--paper);
}

.case-hero-grid {
  display: grid;
  grid-template-columns: 0.9fr 1.1fr;
  gap: 52px;
  align-items: center;
}

.case-hero h1 {
  margin: 0 0 22px;
  font-size: clamp(48px, 6.5vw, 86px);
  line-height: 0.98;
}

.case-address {
  color: var(--muted);
  font-size: var(--type-lead);
}

.case-hero-facts {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: 30px 0 0;
  border-top: 1px solid var(--line);
}

.case-hero-facts > div {
  padding: 18px 12px 0 0;
}

.case-hero-facts dt {
  font-size: 20px;
  font-weight: 900;
}

.case-hero-facts dd {
  margin: 4px 0 0;
  color: var(--muted);
  font-size: var(--type-meta);
}

.case-hero-media {
  margin: 0;
}

.case-hero-media img {
  height: 580px;
  object-fit: cover;
}

.case-hero-media figcaption,
.case-gallery figcaption {
  padding-top: 9px;
  color: var(--muted);
  font-size: var(--type-meta);
}

.case-summary,
.case-scope-band,
.case-challenge,
.case-gallery {
  padding: 72px 0;
}

.case-summary {
  background: #edf0ed;
}

.case-summary-grid,
.case-scope-grid {
  display: grid;
  grid-template-columns: 0.7fr 1.3fr;
  gap: 72px;
}

.case-summary h2,
.case-scope-band h2,
.case-challenge h2,
.case-gallery h2 {
  margin-top: 0;
  font-size: clamp(34px, 4.4vw, 60px);
}

.case-summary-grid > div:last-child {
  color: var(--muted);
  font-size: var(--type-lead);
}

.case-scope-band {
  color: #fff;
  background: var(--ink);
}

.case-scope-band ul {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin: 0;
  padding: 0;
  list-style: none;
  border-top: 1px solid rgba(255, 255, 255, 0.18);
}

.case-scope-band li {
  padding: 17px 18px 17px 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.18);
}

.case-scope-band li:nth-child(even) {
  padding-left: 18px;
  border-left: 1px solid rgba(255, 255, 255, 0.18);
}

.case-challenge {
  background: #f2c766;
}

.case-challenge-grid {
  display: grid;
  grid-template-columns: 0.35fr 1.65fr;
  gap: 48px;
}

.case-challenge-number {
  color: rgba(23, 32, 29, 0.18);
  font-size: clamp(90px, 13vw, 170px);
  font-weight: 900;
  line-height: 0.8;
}

.case-challenge-grid > div:last-child {
  max-width: 820px;
}

.case-gallery {
  background: var(--paper);
}

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

.case-gallery figure {
  margin: 0;
}

.case-gallery img {
  height: 580px;
  object-fit: cover;
}

@media (max-width: 920px) {
  .service-proof-layout,
  .projects-hero-inner,
  .project-card,
  .case-hero-grid,
  .case-summary-grid,
  .case-scope-grid {
    grid-template-columns: 1fr;
    gap: 32px;
  }

  .project-card-media,
  .case-hero-media img {
    min-height: 0;
    height: 480px;
  }

  .project-card-copy {
    padding: 36px;
  }
}

@media (max-width: 640px) {
  .service-hero {
    min-height: 560px;
    max-height: none;
  }

  .service-situations,
  .service-specific,
  .service-proof,
  .service-process,
  .service-links,
  .service-faq,
  .projects-list,
  .projects-request,
  .case-summary,
  .case-scope-band,
  .case-challenge,
  .case-gallery {
    padding-top: 56px;
    padding-bottom: 56px;
  }

  .specific-table > div {
    grid-template-columns: 1fr;
    gap: 5px;
  }

  .service-proof-media,
  .service-proof-media img {
    min-height: 0;
    height: 330px;
  }

  .projects-hero {
    padding: 52px 0;
  }

  .project-card-media,
  .case-hero-media img,
  .case-gallery img {
    height: 350px;
  }

  .project-card-copy {
    padding: 26px;
  }

  .case-hero {
    padding: 38px 0 52px;
  }

  .case-hero-facts,
  .case-gallery-grid,
  .case-scope-band ul {
    grid-template-columns: 1fr;
  }

  .case-scope-band li:nth-child(even) {
    padding-left: 0;
    border-left: 0;
  }

  .case-challenge-grid {
    grid-template-columns: 1fr;
    gap: 18px;
  }

  .case-challenge-number {
    font-size: 74px;
  }
}
