/* Shared Services and About layouts. */
.amy-services, .amy-about { padding: 0; background: #fff; border: 0; }
.amy-page-cover { position: relative; display: flex; align-items: flex-end; min-height: 490px; padding: 74px 0; overflow: hidden; isolation: isolate; background: #293536; }
.amy-page-cover > img { position: absolute; z-index: -2; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 54%; }
.amy-page-cover::before { position: absolute; z-index: -1; inset: 0; content: ""; background: rgb(9 18 22 / 38%); }
.amy-cover-content { display: block; }
.amy-cover-brand { display: block; margin-bottom: 18px; color: #fff; font-size: 12px; font-weight: 650; letter-spacing: 0; }
.amy-cover-content h1, .amy-cover-content h2 { max-width: 19ch; margin: 0 0 20px; color: #fff; font-size: 48px; font-weight: 650; line-height: 1.25; text-align: left; overflow-wrap: anywhere; }
.amy-cover-content p { max-width: 47ch; margin: 0; color: #fff; font-size: 18px; font-weight: 400; line-height: 1.75; }
.amy-services-body { padding-top: 70px; padding-bottom: 76px; }
.amy-services-section-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 32px; margin-bottom: 30px; }
.amy-services-section-heading h2, .amy-planning-heading h2, .amy-about-values-band h2 { max-width: 30ch; margin: 0; color: var(--amy-ink); font-size: 30px; font-weight: 650; line-height: 1.4; }
.amy-services-section-heading > p { max-width: 43ch; margin: 0; color: var(--amy-muted); font-size: 15px; line-height: 1.75; }
.amy-services-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; margin: 0; }
.amy-service-card, .amy-service-card:nth-child(4), .amy-service-card:nth-child(5) { display: block; grid-column: auto; min-height: 270px; padding: 0; overflow: hidden; border: 1px solid #e0e4e4; border-radius: 6px; background: #fff; text-align: left; box-shadow: none; transform: none; }
.amy-service-card:hover { border-color: #c5cdcd; background: #fff; box-shadow: none; transform: none; }
.amy-service-card::after { display: none; }
.amy-service-card.is-featured { display: grid; grid-column: span 2; grid-template-columns: minmax(0, 1fr) minmax(0, .9fr); border-color: #dde4e2; background: #f2f6f4; }
.amy-service-card:nth-child(2) { background: #f6f7f8; }
.amy-service-content { min-width: 0; padding: 28px; }
.amy-service-card-top { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 28px; }
.amy-service-icon { position: static; display: inline-flex; align-items: center; justify-content: flex-start; width: 36px; height: 36px; border: 0; border-radius: 0; color: var(--amy-navy); background: transparent; box-shadow: none; transform: none; }
.amy-service-icon svg { width: 32px; height: 32px; stroke-width: 2; }
.amy-service-card:hover .amy-service-icon { border: 0; background: transparent; }
.amy-service-index { position: static; color: #798482; font-size: 12px; font-weight: 500; line-height: 1.4; letter-spacing: 0; }
.amy-service-card h3 { max-width: none; margin: 0 0 12px; padding: 0; color: var(--amy-ink); font-size: 18px; font-weight: 650; line-height: 1.5; overflow-wrap: anywhere; }
.amy-service-card p { margin: 0; color: var(--amy-muted); font-size: 14px; line-height: 1.75; }
.amy-service-photo { width: 100%; height: 100%; min-height: 280px; object-fit: cover; }
.amy-planning-band { padding: 62px 0 76px; background: #f5f7f7; }
.amy-planning-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 28px; margin-bottom: 38px; }
.amy-text-link { display: inline-flex; align-items: center; justify-content: space-between; gap: 20px; min-height: 44px; padding: 9px 0; border-bottom: 1px solid #9ba7a5; color: var(--amy-navy); font-size: 14px; font-weight: 650; line-height: 1.5; }
.amy-text-link > span { flex-shrink: 0; font-size: 20px; }
.amy-text-link:hover { color: var(--amy-gold-dark); border-bottom-color: var(--amy-gold-dark); }
.amy-planning-steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 42px; padding: 0; margin: 0; list-style: none; }
.amy-planning-steps li { min-width: 0; padding-top: 20px; border-top: 1px solid #cbd4d1; }
.amy-planning-steps li > span, .amy-value-number { display: block; margin-bottom: 20px; color: #7b6023; font-size: 13px; }
.amy-planning-steps h3, .amy-about-values h3 { margin: 0 0 12px; color: var(--amy-ink); font-size: 18px; font-weight: 650; line-height: 1.5; }
.amy-planning-steps p, .amy-about-values p { margin: 0; color: var(--amy-muted); font-size: 15px; line-height: 1.75; }
.amy-about-cover > img { object-position: center 56%; }
.amy-about-cover::before { background: rgb(7 27 31 / 43%); }
.amy-about-story { display: grid; grid-template-columns: minmax(0, .65fr) minmax(0, 1fr); align-items: start; gap: 10%; padding-top: 76px; padding-bottom: 76px; }
.amy-about-story h2 { margin: 0; color: var(--amy-ink); font-size: 30px; font-weight: 650; line-height: 1.4; }
.amy-about-story p { max-width: 48ch; margin: 0 0 24px; color: var(--amy-ink); font-size: 20px; line-height: 1.8; }
.amy-about-values-band { padding: 64px 0 80px; background: #f5f7f7; }
.amy-about-values { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 42px; margin-top: 38px; }
.amy-about-values article { padding-top: 22px; border-top: 1px solid #cbd4d1; }
.amy-services.is-preview { border-top: 1px solid #e5e9e7; }
.amy-about.is-preview .amy-page-cover { min-height: 380px; }
@media (max-width: 1024px) {
  .amy-service-content { padding: 22px; }
  .amy-services-grid { gap: 14px; }
  .amy-service-card h3 { font-size: 17px; }
  .amy-planning-steps, .amy-about-values { gap: 26px; }
}
@media (max-width: 760px) {
  .amy-page-cover { min-height: 420px; padding: 50px 0; }
  .amy-cover-content h1, .amy-cover-content h2 { max-width: 20ch; font-size: 32px; line-height: 1.35; }
  .amy-cover-content p { font-size: 16px; line-height: 1.75; }
  .amy-services-body { padding-top: 42px; padding-bottom: 46px; }
  .amy-services-section-heading, .amy-planning-heading { display: grid; gap: 16px; }
  .amy-services-section-heading h2, .amy-planning-heading h2, .amy-about-values-band h2, .amy-about-story h2 { font-size: 25px; }
  .amy-services-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .amy-service-card.is-featured { grid-column: 1 / -1; }
  .amy-service-card:last-child { grid-column: 1 / -1; }
  .amy-service-card { min-height: 0; }
  .amy-service-content { padding: 24px; }
  .amy-service-photo { min-height: 240px; }
  .amy-service-card-top { margin-bottom: 20px; }
  .amy-planning-band, .amy-about-values-band { padding: 42px 0 50px; }
  .amy-planning-steps, .amy-about-values { grid-template-columns: 1fr; gap: 28px; }
  .amy-planning-heading { margin-bottom: 26px; }
  .amy-text-link { width: fit-content; max-width: 100%; }
  .amy-about-story { grid-template-columns: 1fr; gap: 22px; padding-top: 44px; padding-bottom: 48px; }
  .amy-about-story p { font-size: 18px; line-height: 1.8; }
  .amy-about-values { margin-top: 28px; }
}
@media (max-width: 480px) {
  .amy-services-grid { grid-template-columns: 1fr; gap: 16px; }
  .amy-service-card.is-featured { display: flex; flex-direction: column; }
  .amy-service-photo { order: -1; height: 190px; min-height: 0; }
  .amy-service-card h3 { font-size: 18px; }
  .amy-service-card-top { margin-bottom: 18px; }
  .amy-service-card p { font-size: 14px; }
}
