/* Small original photographs inhabit the Home gutters without moving its content. */
main.hg-home-with-places { position:relative; isolation:isolate; }
.hg-home-places { position:absolute; inset:0; z-index:1; pointer-events:none; --hg-place-width:clamp(76px,calc((100vw - 1120px)/3),170px); }
.hg-home-places > h2 { position:absolute; width:1px; height:1px; padding:0; margin:-1px; clip-path:inset(50%); overflow:hidden; white-space:nowrap; }
.hg-home-places-rail { position:absolute; top:100px; bottom:120px; width:var(--hg-place-width); display:flex; flex-direction:column; justify-content:space-between; align-items:center; gap:18px; }
.hg-home-places-rail.is-left { left:max(12px,calc((100% - 1440px)/4 + 12px)); }
.hg-home-places-rail.is-right { right:max(12px,calc((100% - 1440px)/4 + 12px)); top:205px; bottom:100px; }
.hg-home-place { width:100%; margin:0; padding:0; pointer-events:auto; transform:rotate(-2deg); }
.hg-home-place:nth-child(even) { transform:rotate(2deg); }
.is-right .hg-home-place { transform:rotate(2deg); }
.is-right .hg-home-place:nth-child(even) { transform:rotate(-2deg); }
.hg-home-place:nth-child(3n+2) { width:92%; align-self:flex-end; transform:rotate(1deg); }
.hg-home-place:nth-child(4n+3) { width:96%; align-self:flex-start; transform:rotate(-1deg); }
main .hg-home-place > a {
 display:block; box-sizing:border-box; padding:5px 5px 0; background:#fffaf0;
 border:1px solid #d7c7a2; border-radius:5px; color:#36572e;
 text-decoration:none; box-shadow:0 5px 16px #243a2620;
 transition:box-shadow .18s ease,transform .18s ease;
}
.hg-home-place img { display:block; width:100%; height:auto; aspect-ratio:4/3; object-fit:cover; border-radius:2px; }
.hg-home-place:nth-child(4n+2) img { aspect-ratio:1; }
.hg-home-place figcaption { display:flex; align-items:center; justify-content:space-between; gap:3px; padding:7px 1px; color:#36572e; font-size:clamp(10px,.65vw,11px); line-height:1.3; overflow-wrap:anywhere; }
.hg-home-place figcaption span { flex-shrink:0; color:#937538; font-size:14px; }
main .hg-home-place > a:hover { transform:translateY(-3px); box-shadow:0 9px 24px #243a2635; }
.hg-home-place a:focus-visible { outline:3px solid #937538; outline-offset:4px; }
.hg-place-dialog {
 position:fixed; inset:0; margin:auto; width:min(1200px,calc(100% - 32px));
 height:min(820px,calc(100dvh - 32px)); max-width:calc(100% - 32px); max-height:calc(100dvh - 32px);
 box-sizing:border-box; padding:0; overflow:hidden; border:1px solid #c5ad78; border-radius:15px;
 background:#fffaf0; color:#243a26; box-shadow:0 20px 80px #071b1080;
}
.hg-place-dialog:not([open]) { display:none; }
.hg-place-dialog[open] { display:grid; grid-template-rows:auto minmax(0,1fr) auto auto; }
.hg-place-dialog::backdrop { background:#06170de0; }
.hg-place-dialog-header { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:17px 22px; }
.hg-place-dialog-kicker { display:block; color:#806b3b; font-size:10px; letter-spacing:.15em; line-height:1.4; text-transform:uppercase; }
.hg-place-dialog-header h2 { margin:3px 0 0; color:#304d2e; font-size:23px; font-weight:600; line-height:1.25; }
.hg-place-dialog button { display:inline-flex; align-items:center; justify-content:center; gap:7px; min-height:44px; padding:9px 14px; border:1px solid #cdbd98; border-radius:7px; background:transparent; color:#36572e; font-size:14px; line-height:1.3; cursor:pointer; }
.hg-place-dialog button:hover { background:#eae3d2; }
.hg-place-dialog button.hg-place-dialog-close { flex-shrink:0; width:44px; padding:0; border:0; border-radius:50%; font-size:30px; }
.hg-place-dialog-stage { position:relative; display:flex; align-items:center; justify-content:center; min-height:0; margin:0; overflow:hidden; background:#102a1e; }
.hg-place-dialog-stage img { display:block; width:100%; height:100%; min-height:0; object-fit:contain; }
.hg-place-dialog-stage[aria-busy="true"] img { visibility:hidden; }
.hg-place-dialog-status { position:absolute; inset:auto 20px; margin:0; color:#fff5de; text-align:center; font-size:14px; }
.hg-place-dialog-status:empty { display:none; }
.hg-place-dialog-story { padding:14px 22px 12px; border-bottom:1px solid #e4d9c2; }
.hg-place-dialog-story p { max-width:900px; margin:0 auto; color:#43563d; font-size:14px; line-height:1.6; }
.hg-place-dialog-story a { display:block; width:fit-content; margin:7px auto 0; color:#5e703f; font-size:11px; text-underline-offset:3px; }
.hg-place-dialog-story a[hidden] { display:none; }
.hg-place-dialog-footer { display:flex; align-items:center; justify-content:space-between; gap:14px; padding:13px 22px; }
.hg-place-dialog-footer > div { display:flex; flex-direction:column; align-items:center; gap:3px; }
.hg-place-dialog-footer [data-hg-place-counter] { color:#36572e; font-size:13px; }
.hg-place-dialog-footer a { color:#5a684a; font-size:11px; text-underline-offset:2px; }
.hg-place-dialog :focus-visible { outline:3px solid #9f813e; outline-offset:3px; }
@media(max-width:1279px) {
 .hg-home-places { position:relative; inset:auto; width:calc(100% - 40px); max-width:1100px; margin:0 auto; padding:0 0 24px; pointer-events:auto; }
 .hg-home-places > h2 { position:static; width:auto; height:auto; margin:0 0 12px; overflow:visible; clip-path:none; color:#68704f; font-size:11px; font-weight:500; letter-spacing:.12em; text-transform:uppercase; }
 .hg-home-places-layout { display:flex; gap:12px; overflow-x:auto; padding:4px 4px 12px; scroll-snap-type:x proximity; scrollbar-width:thin; scrollbar-color:#b99a59 transparent; }
 .hg-home-places-rail { display:contents; }
 .hg-home-place,.is-right .hg-home-place,.hg-home-place:nth-child(even),.is-right .hg-home-place:nth-child(even),.hg-home-place:nth-child(3n+2),.hg-home-place:nth-child(4n+3) { flex:0 0 126px; width:126px; transform:none; scroll-snap-align:start; }
 .hg-home-place img,.hg-home-place:nth-child(4n+2) img { height:94px; aspect-ratio:auto; }
 .hg-home-place figcaption { font-size:11px; }
}
@media(max-width:560px) {
 .hg-place-dialog-header { padding:12px 14px; }
 .hg-place-dialog-header h2 { font-size:20px; }
 .hg-place-dialog-footer { gap:8px; padding:12px; }
 .hg-place-dialog-story { padding:12px 14px; }
 .hg-place-dialog-story p { font-size:13px; line-height:1.5; }
 .hg-place-dialog-footer button { min-width:44px; padding:8px; }
 .hg-place-dialog-footer button span { display:none; }
 .hg-home-places { width:calc(100% - 32px); }
}
@media(prefers-reduced-motion:reduce) { main .hg-home-place > a { transition:none; } }
