/* One frame for every content image, independent of page or language. */
:root{--photo-border:6px;--photo-paper:#f7f5ed;--photo-line:#9eb5b1;--photo-radius:4px;--photo-shadow:0 8px 24px rgb(20 60 65 / 7%)}
html body img.coast-photo{display:block;box-sizing:border-box;max-width:100%;border:var(--photo-border) solid var(--photo-paper)!important;padding:1px!important;background:var(--photo-line)!important;border-radius:var(--photo-radius)!important;outline:1px solid var(--photo-line)!important;outline-offset:0!important;box-shadow:var(--photo-shadow)!important;transform:none!important;object-fit:cover;object-position:center}
/* The image owns its frame; wrappers never add a second border or crop it. */
html body .card figure,html body .card:nth-child(n) figure,html body .story-photo,html body .local figure{height:auto;min-height:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;overflow:visible;transform:none}
html body .card img.coast-photo,html body .editorial-card img.coast-photo,html body .island-info article>img.coast-photo{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}
html body .page-hero>img.coast-photo{box-sizing:border-box;width:calc(100% - 48px);height:auto;min-height:0;max-height:none;aspect-ratio:4/3;margin:24px;align-self:center;object-fit:cover}
html body .story-photo img.coast-photo,html body .gallery img.coast-photo,html body .english-gallery img.coast-photo,html body .local img.coast-photo{width:100%;height:auto;min-height:0;max-height:none;aspect-ratio:auto}
html body .gallery,html body .english-gallery{align-items:start}
/* Preserve the full composition of tall images and graphics. */
html body img.coast-photo.frame-portrait,html body img.coast-photo.frame-contain{object-fit:contain;background:var(--photo-paper)!important;object-position:center}
html body .story-photo img.coast-photo.frame-contain{max-height:480px;object-fit:contain}
html body .people-grid img.coast-photo{object-position:center 35%}
html body .card:hover img.coast-photo{transform:none!important;box-shadow:var(--photo-shadow)!important}
/* Map frame follows the same system without changing its coordinate plane. */
html body .island-map{border:var(--photo-border) solid var(--photo-paper);border-radius:var(--photo-radius);box-shadow:var(--photo-shadow);outline:1px solid var(--photo-line);max-height:none;overflow:hidden}
html body .island-map>img{display:block;width:100%;height:auto;max-height:none;object-fit:contain}
@media(max-width:700px){:root{--photo-border:4px}html body .page-hero>img.coast-photo{width:calc(100% - 40px);margin:22px 20px 0;height:auto;min-height:0;max-height:none;aspect-ratio:4/3}}
/* Natural image proportions without empty grid cells between portraits. */
html body .gallery,html body .english-gallery{display:block;columns:2;column-gap:20px}
html body .gallery>a,html body .english-gallery>img{display:block;break-inside:avoid;margin:0 0 20px}
@media(max-width:600px){html body .gallery,html body .english-gallery{columns:1}}
