.guest-photos { padding-top: 3rem; margin-top: 3rem; border-top: 1px solid #c5cdc0; }
.guest-photos-heading { display: flex; gap: 1.5rem; justify-content: space-between; align-items: end; margin-bottom: 1.75rem; }
.guest-photos h3 { font: 400 clamp(1.3rem, 2.2vw, 2rem)/1.3 var(--display); max-width: 700px; }
.guest-photos-heading p { color: #536154; font-size: .875rem; margin-top: .6rem; max-width: 660px; }
.gmp-attribution { font: 400 14px/1.5 var(--body); font-style: normal; letter-spacing: normal; color: #1f1f1f; white-space: nowrap; }
.guest-photos > .gmp-attribution { margin-bottom: .75rem; }
.guest-photo-track { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.5rem; }
.guest-photo-track[hidden], .photo-controls[hidden] { display: none; }
.guest-photo-track::-webkit-scrollbar { display: none; }
.guest-photo-card { min-width: 0; margin: 0; }
.photo-open { display: block; position: relative; padding: 0; border: 0; background: #122b1c; width: 100%; overflow: hidden; }
.photo-open .guest-photo { width: 100%; height: auto; aspect-ratio: 16/9; object-fit: contain; }
.photo-expand { display: grid; place-items: center; position: absolute; right: 1rem; bottom: 1rem; width: 40px; height: 40px; border-radius: 50%; background: #f4f0e6; color: #122b1c; font-size: 1.4rem; }
.photo-open:hover .photo-expand { background: #e8c97a; }
.photo-credit { padding: .85rem 0; display: flex; align-items: baseline; justify-content: space-between; flex-wrap: wrap; gap: .65rem 1rem; font-size: .75rem; line-height: 1.5; }
.photo-credit a { text-underline-offset: 3px; }
.photo-authors { display: flex; gap: .65rem; flex-wrap: wrap; }
.photo-author { display: inline-flex; align-items: center; gap: .5rem; }
.photo-author img { width: 24px; height: 24px; border-radius: 50%; }
.photo-date { color: #536154; }
.photo-title { font-size: .875rem; flex-basis: 100%; }
.gallery-section .gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.gallery-section .shot:nth-child(2) { margin-top: 0; }
.gallery-section .shot picture, .about-img-wrap picture { aspect-ratio: 16/9; }
.gallery-section .room-link { color: #224528; }
.photo-dialog .photo-date { color: var(--muted); }
.photo-controls { display: flex; justify-content: space-between; align-items: center; gap: 1rem; margin-top: 1.25rem; }
.photo-control-buttons { display: flex; gap: .65rem; }
.photo-control-buttons button { display: grid; place-items: center; height: 44px; width: 44px; border: 1px solid #a5b29b; border-radius: 50%; background: transparent; color: var(--ink); font-size: 1.2rem; }
.photo-control-buttons button:hover { background: var(--gold-light); }
.photo-counter { font-size: .85rem; font-variant-numeric: tabular-nums; }
.photo-links { display: flex; gap: 1rem 1.5rem; flex-wrap: wrap; align-items: center; margin-top: 1.5rem; }
.photo-links a, .photo-links button { font-size: .875rem; color: var(--ink); text-underline-offset: 4px; }
.photo-links button { padding: .6rem 1rem; min-height: 44px; border: 1px solid #a5b29b; border-radius: 30px; background: transparent; }
.photo-links button:disabled { opacity: .5; cursor: wait; }
.photo-status { color: #536154; font-size: .875rem; margin: 1rem 0; }
.photo-dialog { position: fixed; inset: 0; margin: auto; padding: 1rem; border: 1px solid var(--line); max-width: min(1080px, calc(100vw - 2rem)); max-height: calc(100svh - 2rem); width: fit-content; background: var(--dark); color: var(--white); overflow: auto; }
.photo-dialog::backdrop { background: #07120deb; }
.photo-dialog form { display: flex; justify-content: flex-end; margin-bottom: .8rem; }
.photo-dialog form button { border: 1px solid var(--line); border-radius: 30px; padding: .5rem 1rem; min-height: 44px; background: transparent; color: var(--white); }
.photo-dialog .guest-photo { max-width: 100%; max-height: 70svh; width: auto; height: auto; margin: auto; object-fit: contain; }
.photo-dialog .gmp-attribution { color: #fff; }
@media (max-width: 700px) {
  .guest-photos { margin-top: 2.5rem; padding-top: 2rem; }
  .guest-photos-heading { display: block; }
  .guest-photos h3 { font-size: 1.35rem; }
  .guest-photo-track { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .8rem; }
  .photo-title { font-size: .75rem; }
  .photo-expand { right: .45rem; bottom: .45rem; width: 30px; height: 30px; font-size: 1.1rem; }
  .photo-credit { display: block; }
  .photo-credit > a { display: inline-block; margin-top: .5rem; }
  .photo-dialog { max-width: calc(100vw - 1rem); padding: .75rem; }
}

.prose-intro { display: grid; grid-template-columns: 1.1fr 1fr; align-items: center; gap: 2rem; margin-bottom: 2rem; }
.prose-intro h2 { margin-top: 0; }
.prose-team-photo { display: block; }
.prose-team-photo img { display: block; width: 100%; height: auto; }
@media (max-width: 700px) { .prose-intro { grid-template-columns: 1fr; gap: 1rem; } }
