.hey { background: var(--surface); }
.hey-in { text-align: center; max-width: 46em; }
.hey h2 { font-size: clamp(2rem, 3.2vw, 2.7rem); color: var(--ink); }
.hey p { margin: 14px auto 0; max-width: 40em; font-size: 1.15rem; line-height: 1.6; color: var(--soft); }
.hey p strong { color: var(--ink); font-weight: 600; }
.hey .btn { margin-top: 24px; }

.abp-b-top { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
.abp-b-text { padding: clamp(44px, 5vw, 72px) clamp(28px, 5vw, 72px) clamp(56px, 7vw, 104px) var(--edge); display: flex; flex-direction: column; justify-content: flex-start; }
.ab-h { font-family: var(--display); font-weight: 500; font-size: clamp(2.4rem, 4.2vw, 3.6rem); line-height: 1.06; color: var(--on-field); }
.ab-h em { font-style: italic; color: var(--mark); }
.abp-b .ab-cred { list-style: none; margin: 24px 0 0; padding: 0; display: grid; gap: 10px; }
.abp-b .ab-cred li { position: relative; padding-left: 20px; color: var(--on-field-soft); font-size: 1.08rem; line-height: 1.5; max-width: 34em; }
.abp-b .ab-cred li::before { content: ""; position: absolute; left: 0; top: 0.65em; width: 6px; height: 6px; border-radius: 50%; background: var(--on-field-soft); }
.ab-build { margin-top: 22px; font-family: var(--display); font-size: clamp(1.4rem, 2vw, 1.75rem); line-height: 1.3; color: var(--on-field); max-width: 30em; }
.abp-b-photo { position: relative; margin: 0; min-height: 520px; }
.abp-b-photo img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 0%; }
.abp-b-letter { padding-top: 8px; }
.abp-col { max-width: calc(38em + 2 * var(--gutter)); }
.abp-story { padding-block: clamp(32px, 4vw, 56px) clamp(64px, 8vw, 104px); }
.abp-story p { font-size: 1.15rem; line-height: 1.75; color: var(--ink); max-width: none; }
.abp-story p + p { margin-top: 1.1em; }
.abp-story .ab-tue { padding-left: 22px; border-left: 2px solid var(--hair); }
.abp-story strong { font-weight: 600; color: var(--ink); }
.ab-sig { margin-top: 32px; font-family: var(--display); font-size: 1.6rem; color: var(--ink); }
@media (max-width: 900px) {
  .abp-b-top { grid-template-columns: minmax(0, 1fr); }
  .abp-b-text { padding-right: var(--gutter); }
  .abp-b-photo { min-height: 0; aspect-ratio: 4 / 5; }
}

@media (min-width: 1600px) {
  .abp-b-top { grid-template-columns: minmax(0, 1fr) min(40vw, 760px); min-height: min(78vh, 900px); }
  .abp-b-text { justify-content: center; padding-left: max(var(--gutter), calc((100% - 660px) / 2)); padding-right: max(var(--gutter), calc((100% - 660px) / 2)); }
}
