/* Preserve each supplied frame, with native captions and the existing photo viewer. */
.hospitality-photo { min-width:0; margin:0; }
.hospitality-photo > .photo-open { display:block; width:100%; height:auto; min-height:0; aspect-ratio:var(--hospitality-aspect); padding:5px; background:#fff9ec; border:1px solid #bba06a8c; border-radius:30px 3px 3px 3px; overflow:hidden; }
.hospitality-photo > .photo-open > img { display:block; width:100%; height:100%; object-fit:contain; border-radius:25px 2px 2px 2px; }
.hospitality-photo > figcaption { display:flex; flex-direction:column; gap:5px; padding:14px 5px 0; line-height:1.5; }
.hospitality-photo > figcaption > strong { font-family:var(--serif); font-size:1.45rem; font-weight:500; }
.hospitality-photo > figcaption > span { font-size:.875rem; color:#74613e; }
.hospitality-photo > .photo-open:focus-visible { outline:3px solid #245b85; outline-offset:4px; }
.reception-chapter { display:grid; grid-template-columns:minmax(0,.65fr) minmax(0,1.35fr); gap:36px; align-items:center; background:#edf0e7; }
.reception-photo-grid { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1fr); gap:19px; align-items:start; }
.reception-welcome-photo { margin-top:45px; }
.reception-copy > p:not(.eyebrow) { max-width:34ch; margin-bottom:23px; }
.reception-copy.kinetic-copy > .kinetic-scene { max-width:150px; margin:10px 0 0 auto; }
.haveli-experience-teaser { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,1fr); gap:45px; align-items:center; }
.experience-teaser-copy > p:not(.eyebrow) { max-width:34ch; }
.experience-teaser-copy.kinetic-copy > .kinetic-scene { max-width:165px; margin:15px 0 0 auto; }
.experience-story-grid,.craft-detail-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-items:start; gap:30px 24px; max-width:1000px; margin:auto; }
.experience-story-grid > .experience-landscape { grid-column:1/-1; }
.haveli-craft-details { background:#f3e9d8; }
.enquiry-side .reception-contact-photo { height:auto; aspect-ratio:1086/1448; width:100%; max-width:320px; margin:0 auto 25px; }
.enquiry-side .reception-contact-photo img { width:100%; height:100%; object-fit:contain; }
@media(max-width:1050px) {
 .reception-chapter { grid-template-columns:minmax(0,1fr); gap:25px; }
 .reception-copy > p:not(.eyebrow) { max-width:56ch; }
 .reception-copy.kinetic-copy > .kinetic-scene { float:right; margin:0 0 15px 18px; }
 .reception-photo-grid { clear:both; max-width:720px; width:100%; margin:auto; }
}
@media(max-width:760px) {
 .haveli-experience-teaser { grid-template-columns:minmax(0,1fr); gap:27px; }
 .experience-teaser-copy { order:-1; }
 .hospitality-photo > figcaption > strong { font-size:1.3rem; }
 .experience-story-grid,.craft-detail-grid { gap:25px 14px; }
 .reception-copy.kinetic-copy > .kinetic-scene { float:none; width:130px; margin:0 0 0 auto; }
 .reception-welcome-photo { margin-top:25px; }
}
@media(max-width:550px) {
 .reception-photo-grid,.craft-detail-grid { grid-template-columns:minmax(0,1fr); gap:28px; }
 .reception-photo-grid { max-width:380px; }
 .reception-welcome-photo { margin-top:0; }
 .hospitality-photo > .photo-open { padding:4px; }
}
@media(max-width:360px) {
 .experience-story-grid { grid-template-columns:minmax(0,1fr); }
}
body[data-route="/contact/"] .enquiry-side .kinetic-enquiry { max-width:150px; margin:0 0 15px auto; }
