
.shore-slides{position:relative;aspect-ratio:1021/390;overflow:hidden;background:#edf3f7}
.shore-slides .shore-slide{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;object-position:center;opacity:0;transition:opacity 900ms ease}
.shore-slides .shore-slide.is-visible{opacity:1}
.shore-slide-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:9px}
.shore-slide-footer .photo-caption{margin:0}
.shore-slide-controls{display:flex;align-items:center;gap:5px;flex-shrink:0}
.shore-slide-controls button{cursor:pointer;font:600 12px/1.2 Arial,sans-serif;color:var(--blue);background:white;border:1px solid var(--line);border-radius:4px;padding:8px;min-width:34px;min-height:34px}
.shore-slide-controls button:focus-visible{outline:3px solid var(--orange);outline-offset:2px}
@media(max-width:720px){.shore-slides{aspect-ratio:4/3}.shore-slide-footer{align-items:flex-start;flex-wrap:wrap}.shore-slide-controls button{min-height:44px;min-width:44px}}
@media(prefers-reduced-motion:reduce){.shore-slides .shore-slide{transition:none}}

/* Keep supplied property photos compact and uncropped instead of enlarging them
   behind the headline. The 1080px Clarence crop displays at most 540 CSS pixels. */
.shore-photo{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);grid-template-areas:"photo intro" "caption intro";gap:12px 32px;max-width:1040px;margin-inline:auto;padding-bottom:20px;align-items:center}
.shore-slides{grid-area:photo;width:100%;max-width:540px;aspect-ratio:1080/565;align-self:end;background:#f5f8fa}
.shore-slides .shore-slide{object-fit:contain;object-position:center}
.shore-panel{grid-area:intro;position:static;width:auto;max-width:100%;margin:0;padding:26px 28px;box-shadow:none;border-left:1px solid var(--line);border-right:1px solid var(--line)}
.shore-panel h1{font-size:clamp(32px,3.4vw,42px)}
.shore-slide-footer{grid-area:caption;margin:0;align-self:start;flex-wrap:wrap}
@media(max-width:800px){
 .shore-photo{grid-template-columns:minmax(0,1fr);grid-template-areas:"photo" "caption" "intro";gap:12px;max-width:540px}
 .shore-slides{aspect-ratio:1080/565}
 .shore-panel{padding:24px;margin-top:6px}
 .shore-panel h1{font-size:37px}
}
