.gallerylane-card { color: #302a24; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Arial, sans-serif; }
.gallerylane-card__surface { display: block; overflow: hidden; color: inherit; border: 1px solid rgba(83,66,48,.12); border-radius: 13px; background: #fffdf9; box-shadow: 0 15px 34px rgba(58,43,29,.15), 0 2px 7px rgba(58,43,29,.08); transition: box-shadow 220ms ease, translate 220ms ease; }
a.gallerylane-card__surface { cursor: pointer; text-decoration: none; }
a.gallerylane-card__surface:focus-visible { outline: 3px solid #9b7045; outline-offset: 4px; }
.gallerylane-card__media { position: relative; aspect-ratio: 4 / 3; margin: .65rem .65rem 0; overflow: hidden; border-radius: 8px; background: #eee6da; }
.gallerylane-card__media img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform 320ms ease; }
.gallerylane-card__media img[hidden] { display: none; }
.gallerylane-card__placeholder { display: grid; width: 100%; height: 100%; place-items: center; color: rgba(83,70,57,.42); background: linear-gradient(145deg, #f1e9dd, #e5d9c9); }
.gallerylane-card__placeholder[hidden] { display: none; }
.gallerylane-card__placeholder span { font: 500 3rem/1 'GalleryLane Editorial', Georgia, 'Times New Roman', serif; letter-spacing: -.05em; }
.gallerylane-card__copy { min-height: 8.5rem; padding: 1rem 1.05rem 1.15rem; }
.gallerylane-card__copy h2 { margin: 0; color: #302a24; font: 500 clamp(1.25rem, 1.55vw, 1.65rem)/1.12 'GalleryLane Editorial', Georgia, 'Times New Roman', serif; letter-spacing: -.006em; }
.gallerylane-card__copy p { margin: .45rem 0 0; overflow: hidden; color: #6c6156; font-size: clamp(.7rem, .72vw, .8rem); line-height: 1.4; }
.gallerylane-card__descriptor { min-height: 1.4em; }
.gallerylane-card__location { display: flex; gap: .42rem; align-items: center; }
.gallerylane-card__location span { color: #91724e; font-size: .5rem; }

@media (hover: hover) {
  .gallerylane-card.is-interactive .gallerylane-card__surface:hover { translate: 0 -5px; box-shadow: 0 23px 44px rgba(58,43,29,.2), 0 3px 9px rgba(58,43,29,.1); }
  .gallerylane-card.is-interactive .gallerylane-card__surface:hover .gallerylane-card__media img { transform: scale(1.025); }
}

@media (prefers-reduced-motion: reduce) {
  .gallerylane-card__surface, .gallerylane-card__media img { transition: none !important; }
}
