/* Use proportional tracking instead of inherited fixed negative spacing. */
h1,h2,h3{word-break:normal;overflow-wrap:break-word!important;hyphens:none}
main h1{letter-spacing:-.025em!important;line-height:1.15!important}
main h2{letter-spacing:-.015em!important;line-height:1.25}
main h3{letter-spacing:0;line-height:1.35}
body:has(.packages-title) h1.packages-title{font-size:clamp(26px,2.6vw,36px);font-weight:600;letter-spacing:-.015em!important;line-height:1.3!important;margin:0 auto;padding:28px 5vw 0;color:#123b43;white-space:normal}
body:has(.packages-title) .package-card h2{letter-spacing:-.01em;line-height:1.3;min-height:65px;overflow:visible}
body:has(.packages-title) .package-card .eyebrow{line-height:1.55;overflow:visible}
p,li,figcaption,summary,button,.button{word-break:normal;overflow-wrap:break-word}
.ip-cta .button,.screen-bar a,.tour-explanation .text-link{white-space:normal}
.reference-footer .rf-parent p{line-height:1.6;letter-spacing:1px}
.viewer-refined .bm-header{gap:16px;flex-wrap:wrap}
.viewer-refined .bm-capture-date{font-size:16px;letter-spacing:0;color:#123b43}
.viewer-refined .bm-layer-group{display:flex;flex-wrap:wrap;align-items:center;gap:12px}
.viewer-refined .bm-layers{display:flex;flex-wrap:wrap;gap:8px}
.viewer-refined .bm-layers button{min-height:44px;padding:10px 14px;white-space:normal}
.viewer-layer-actions{display:flex;gap:8px;margin-left:auto}
.viewer-layer-actions button{background:#fff;color:#123b43;border:1px solid #6a8985;border-radius:6px;padding:8px 12px;min-height:44px;font-size:13px}
.viewer-refined button:disabled{cursor:wait;opacity:.65}
.viewer-refined .pano-status{position:static!important;width:auto!important;height:auto!important;margin:12px 0 0!important;clip-path:none!important;white-space:normal!important;overflow:visible!important;font-size:13px;line-height:1.6;font-weight:400;color:#425e66}
.viewer-refined .swipe-canvas{height:auto;min-height:0;aspect-ratio:8/5;touch-action:pan-y}
.viewer-refined .swipe-divider{pointer-events:auto;touch-action:none}
.viewer-refined .pano-look-buttons{flex-wrap:wrap}
.viewer-refined .synthetic-disclosure{font-size:13px;line-height:1.6}
@media(max-width:600px){main h1{letter-spacing:-.02em!important}.viewer-layer-actions{margin-left:0}.viewer-refined .bm-layers{display:grid;grid-template-columns:1fr 1fr;width:100%}.viewer-refined .bm-layer-group{width:100%}.viewer-refined .swipe-canvas{aspect-ratio:1/1}.viewer-refined .bm-modes{display:flex;flex-wrap:wrap}.viewer-refined .bm-capture-date{width:100%}body:has(.packages-title) .package-card h2{min-height:0}}

/* One edge-to-edge viewport: no inherited height caps or canvas letterboxing. */
.real-foyer.viewer-refined .swipe-canvas{position:relative;width:100%;height:auto;min-height:0;max-height:none;aspect-ratio:16/9;padding:0;margin:0;overflow:hidden;background:#f7f9f9}
.real-foyer.viewer-refined .pano-render{position:absolute;inset:0;width:100%!important;height:100%!important;max-width:none;max-height:none;margin:0;padding:0;border:0;object-fit:fill}
.real-foyer.viewer-refined .swipe-layer{inset:0;background-size:cover;background-position:center}
@media(max-width:600px){.real-foyer.viewer-refined .swipe-canvas{aspect-ratio:4/3}}

/* Keep touch gestures inside the camera; preserve page scrolling outside it. */
.real-foyer.viewer-refined .swipe-canvas{touch-action:none;cursor:grab}
.real-foyer.viewer-refined .swipe-canvas:active{cursor:grabbing}
.real-foyer.viewer-refined .swipe-divider{cursor:ew-resize;min-width:44px}
.viewer-layer-actions{flex-wrap:wrap}
.viewer-layer-actions [aria-pressed=true]{background:#123b43;color:#fff;border-color:#123b43}
