/* Portrait fracture: full-width overlapping polygons with shared moving joints. */
#collection{grid-template-columns:1fr;--row:36dvh}
.collection-facet,.collection-facet:nth-child(n){width:100%;grid-column:1;isolation:isolate;touch-action:pan-y}
.collection-facet img{position:absolute;left:0;top:0;width:62%;height:100%;object-fit:cover}
.collection-facet:nth-child(even) img{left:auto;right:0}
.collection-facet span{left:0;right:50%;padding:10%;font-size:clamp(14px,1.45vw,23px)}
.collection-facet:nth-child(even) span{left:50%;right:0}
.collection-facet:last-child:nth-child(odd) img{width:100%}.collection-facet:last-child:nth-child(odd) span{left:0;right:0}
/* Dedicated contact card, independent of the editorial layout. */
#reservation{left:50%;top:50%;bottom:auto;transform:translate(-50%,-50%);width:min(740px,calc(100vw - 40px));height:auto;max-height:calc(100dvh - 40px);padding:38px 44px 30px;background:#0b0c0e;border:1px solid #f28b5f55;box-shadow:0 24px 100px #061b2970;overflow:auto}
#reservation::backdrop{background:#071b25aa;backdrop-filter:blur(6px)}
#reservation .contact-logo{position:relative;left:auto;top:auto;--logo-width:38px;margin-bottom:20px}
#reservation h2{font:400 34px/1.12 Georgia,serif;margin:10px 0 14px}#reservation>p:not(.eyebrow){font-size:13px;line-height:1.6}
#reservation #close-reservation{top:16px;right:16px}#reservation .eyebrow{font-size:9px}
body.contact-open #signature,body.contact-open .world-copy,body.contact-open #route-trail,body.contact-open #contact-footer,body.contact-open #gallery-trigger{visibility:visible}
#travel-request{margin-top:24px}.request-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px 22px}
#travel-request label{display:block;font:11px/1.5 Arial,sans-serif;color:#e3e8e0;letter-spacing:.02em}#travel-request label span{opacity:.6;font-size:10px}
#travel-request input,#travel-request textarea{display:block;width:100%;border:0;border-bottom:1px solid #78909a;background:#102f3b;color:#fff5e8;border-radius:0;padding:11px 10px;margin:6px 0 0;font:16px/1.4 Arial,sans-serif;box-sizing:border-box}
#travel-request>label{margin-top:18px}#travel-request textarea{resize:vertical;min-height:98px}#travel-request input::placeholder,#travel-request textarea::placeholder{color:#afc0c4;font-size:12px}
#travel-request input:focus,#travel-request textarea:focus{outline:2px solid #f28b5f;outline-offset:2px}
.request-submit{margin-top:22px;padding:13px 18px;border:1px solid #f28b5f;background:#f28b5f;color:#0b0c0e;font:12px Arial,sans-serif}.request-submit span{margin-left:28px}.request-copy{background:none;border:0;color:#f6b38c;padding:14px;font:11px Arial,sans-serif}
#reservation .request-help,#reservation #request-status{font:11px/1.6 Arial,sans-serif;color:#c2d0d2;margin-top:12px}#reservation #return-reservation{font-size:12px;margin-top:20px;display:inline-flex;margin-right:24px}#reservation .phone-contact{display:inline-flex;font-size:12px}#reservation .contact-note{margin-top:6px}
#experience-photo{position:fixed;inset:0;width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;border:0;padding:0;background:#0b202b;overflow:hidden;color:#fff5e8}
#experience-photo::backdrop{background:#0b202b}#experience-photo img{width:100%;height:100%;object-fit:contain}#experience-photo button{position:absolute;z-index:1;background:#0b0c0ee8;border:1px solid #ffffff45;color:#fff5e8;min-width:44px;min-height:44px;font:14px Arial,sans-serif}
#photo-close{top:max(16px,env(safe-area-inset-top));right:20px}#photo-prev{left:20px;top:50%}#photo-next{right:20px;top:50%}#experience-photo button[hidden]{display:none}
#photo-caption{position:absolute;left:20px;right:20px;bottom:20px;text-align:center;padding:10px;background:#102a34dc;font:12px/1.5 Arial,sans-serif;margin:0;pointer-events:none}
.photo-sequence img{cursor:zoom-in}
@media(max-width:650px){#collection{--row:28dvh}.collection-facet span{font-size:13px;padding:8%}#reservation{width:calc(100vw - 24px);max-height:calc(100dvh - 24px);padding:24px 22px;height:auto;top:50%;left:50%;transform:translate(-50%,-50%)}#reservation h2{font-size:29px}.request-grid{grid-template-columns:1fr;gap:12px}#reservation .contact-logo{--logo-width:30px;margin-bottom:12px}#photo-prev{left:10px}#photo-next{right:10px}}
