/* The Method page layout. Typography and shared components come from style.css. */
.method-page {
  padding-bottom: 96px;
  background: var(--paper);
}

.method-intro {
  display: block;
  min-height: 0;
  padding-top: 68px;
  padding-bottom: 52px;
  border: 0;
}

.method-intro h1 {
  max-width: 850px;
  margin-bottom: 20px;
}

.method-subtitle {
  max-width: 680px;
  margin: 0;
  color: var(--ink);
  font-size: var(--intro-subtitle-size);
  font-weight: 500;
  line-height: 1.3;
  letter-spacing: -.02em;
  text-align: left;
}

.method-feature-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  grid-template-areas: "copy photo";
  align-items: stretch;
  column-gap: 64px;
}

.method-photo {
  grid-area: photo;
  position: relative;
  display: block;
  width: 100%;
  height: auto;
  min-height: 0;
  aspect-ratio: auto;
  margin: 0;
  overflow: hidden;
  align-self: stretch;
}

.method-photo img {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  max-height: 100%;
  object-fit: cover;
  object-position: center 56%;
}

.method-feature-copy {
  grid-area: copy;
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 40px;
}

.method-pillar {
  min-width: 0;
  margin: 0;
  padding: 0;
}

.method-pillar h2,
.method-culture-content h2 {
  margin: 0 0 8px;
  color: var(--ink);
  font-size: 24px;
  font-weight: 600;
  line-height: 1.3;
  letter-spacing: -.02em;
  text-align: left;
}

.method-pillar p,
.method-culture-content p {
  width: 100%;
  max-width: none;
  margin: 0;
  color: var(--muted);
  font-size: 18px;
  line-height: 1.6;
  text-align: justify;
}

.method-culture-band {
  margin-top: 56px;
  padding: 52px 0 56px;
  background: #f2eee9;
}

.method-culture-content h2 {
  margin-bottom: 10px;
}

.method-culture-content p {
  max-width: none;
}

.method-bottom-band {
  padding-top: 64px;
  background: var(--paper);
}

.method-bottom-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  column-gap: 64px;
  row-gap: 0;
}

.method-cta {
  margin-top: 32px;
}

.method-cta .button {
  min-height: 56px;
  font-size: 17px;
}

@media (max-width: 900px) {
  .method-page {
    padding-bottom: 80px;
  }

  .method-intro {
    padding-top: 56px;
    padding-bottom: 48px;
  }

  .method-feature-grid {
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas:
      "photo"
      "copy";
    row-gap: 36px;
    column-gap: 0;
    align-items: start;
  }

  .method-photo {
    position: static;
    height: auto;
    aspect-ratio: auto;
    overflow: visible;
    align-self: start;
  }

  .method-photo img {
    position: static;
    height: auto;
    max-height: none;
    object-fit: contain;
  }

  .method-feature-copy {
    height: auto;
    justify-content: flex-start;
    gap: 32px;
  }

  .method-culture-band {
    margin-top: 56px;
    padding: 44px 0 48px;
  }

  .method-bottom-band {
    padding-top: 48px;
  }

  .method-bottom-grid {
    grid-template-columns: minmax(0, 1fr);
    row-gap: 32px;
    column-gap: 0;
  }
}

@media (max-width: 550px) {
  .method-page {
    padding-bottom: 64px;
  }

  .method-intro {
    padding-top: 48px;
    padding-bottom: 40px;
  }

  .method-intro h1 {
    max-width: 100%;
    font-size: var(--intro-title-size);
  }

  .method-subtitle {
    font-size: 19px;
    line-height: 1.45;
  }

  .method-pillar p,
  .method-culture-content p {
    font-size: 17px;
  }

  .method-feature-copy {
    gap: 32px;
  }

  .method-culture-band {
    margin-top: 56px;
    padding: 36px 0 40px;
  }

  .method-bottom-band {
    padding-top: 40px;
  }

  .method-cta {
    margin-top: 30px;
  }

  .method-cta .button {
    width: 100%;
    padding-inline: 18px;
    text-align: center;
  }
}
