/* Developer portraits: architectural imagery, an inset frame and a quiet gold action. */
.merade-directory-grid.merade-developer-grid,
.merade-city-page .merade-developer-grid {
 display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px;
}
.merade-developer-card { min-width: 0; margin: 0; }
.merade-developer-card .merade-developer-card-link,
.merade-developer-card .merade-developer-card-link:visited {
 position: relative; isolation: isolate; display: flex; flex-direction: column; justify-content: flex-end;
 width: 100%; min-width: 0; min-height: 380px; aspect-ratio: 1.12; overflow: hidden; border-radius: 4px;
 background: var(--merade-navy); color: var(--merade-white); text-decoration: none;
}
.merade-developer-card-link::before {
 content: ''; position: absolute; z-index: 1; inset: 0; pointer-events: none;
 background: linear-gradient(180deg, rgb(16 27 44 / 5%) 15%, rgb(16 27 44 / 30%) 38%, rgb(16 27 44 / 88%) 72%, #101b2c 100%);
}
.merade-developer-card-link::after {
 content: ''; position: absolute; z-index: 2; inset: 14px; pointer-events: none;
 border: 1px solid rgb(230 182 92 / 38%);
}
.merade-developer-card-media { position: absolute; inset: 0; display: block; }
.merade-developer-card .merade-developer-card-image {
 display: block; width: 100%; height: 100%; object-fit: cover;
 transition: transform 700ms var(--ease-out, cubic-bezier(.23, 1, .32, 1));
}
.merade-developer-card-body {
 position: relative; z-index: 3; display: flex; flex-direction: column; align-items: flex-start;
 min-width: 0; gap: 22px; padding: 72px 32px 32px;
}
.merade-developer-card .merade-developer-card-link .merade-developer-card-title {
 margin: 0; color: var(--merade-white); font: 500 clamp(28px, 2.8vw, 38px)/1.08 var(--merade-font-heading);
 font-optical-sizing: auto; letter-spacing: -.02em; overflow-wrap: anywhere;
}
.merade-developer-card-button {
 display: flex; align-items: center; justify-content: space-between; align-self: stretch; gap: 20px;
 min-height: 44px; padding-top: 14px; border-top: 1px solid rgb(230 182 92 / 40%);
 color: var(--merade-gold); font: 500 13px/1.5 var(--merade-font-body);
}
.merade-developer-card-button svg { display: block; flex-shrink: 0; transition: transform 160ms var(--ease-out, cubic-bezier(.23, 1, .32, 1)); }
.merade-developer-card-link:focus-visible { outline: 2px solid var(--merade-gold); outline-offset: 4px; }
@media (hover: hover) and (pointer: fine) {
 .merade-developer-card-link:hover .merade-developer-card-image { transform: scale(1.04); }
 .merade-developer-card-link:hover .merade-developer-card-button svg { transform: translateX(3px); }
}
@media (max-width: 1000px) {
 .merade-directory-grid.merade-developer-grid,
 .merade-city-page .merade-developer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
}
@media (max-width: 600px) {
 .merade-directory-grid.merade-developer-grid,
 .merade-city-page .merade-developer-grid { grid-template-columns: 1fr; }
 .merade-developer-card .merade-developer-card-link { min-height: 340px; aspect-ratio: 1.05; }
 .merade-developer-card-body { padding: 64px 28px 28px; gap: 18px; }
 .merade-developer-card .merade-developer-card-link .merade-developer-card-title { font-size: 32px; }
}
@media (prefers-reduced-motion: reduce) {
 .merade-developer-card .merade-developer-card-image,
 .merade-developer-card-button svg { transition: none; }
 .merade-developer-card-link:hover .merade-developer-card-image,
 .merade-developer-card-link:hover .merade-developer-card-button svg { transform: none; }
}
