/* Page geometry uses the Vercel foundation's public type, color and rhythm tokens. */
.vbg-custom-site-header { display:flex; align-items:baseline; justify-content:space-between; gap:var(--vbg-space-6); padding-block:var(--vbg-space-8); }
.vbg-custom-wordmark { font-size:var(--vbg-type-section); font-weight:var(--vbg-weight-semibold); text-decoration:none; letter-spacing:-.06em; }
.vbg-custom-header-credit { margin:0; font-size:var(--vbg-type-compact); color:var(--vbg-text-secondary); }
.vbg-custom-header-credit a { color:var(--vbg-text-primary); }
.vbg-custom-opening { display:grid; grid-template-columns:1.35fr 1fr; align-items:end; gap:var(--vbg-space-12); padding-block:var(--vbg-space-8) var(--vbg-space-12); }
.vbg-custom-title { margin:0; font-size:var(--vbg-type-display); font-weight:var(--vbg-weight-heading); line-height:var(--vbg-leading-display); letter-spacing:-.05em; }
.vbg-custom-title span { color:var(--vbg-text-secondary); }
.vbg-custom-opening-copy { max-width:30rem; }
.vbg-custom-opening-copy p { margin:0; font-size:var(--vbg-type-body); }
.vbg-custom-layout { display:grid; grid-template-columns:200px minmax(0,1fr); gap:var(--vbg-space-12); align-items:start; }
.vbg-custom-sidebar { position:sticky; top:var(--vbg-space-8); padding-top:var(--vbg-space-2); }
.vbg-custom-day-nav { display:flex; flex-direction:column; gap:var(--vbg-space-6); }
.vbg-custom-day-nav a { display:block; padding-left:var(--vbg-space-4); border-left:2px solid var(--vbg-border-default); text-decoration:none; color:var(--vbg-text-secondary); }
.vbg-custom-day-nav a:hover, .vbg-custom-day-nav a[aria-current="location"] { color:var(--vbg-text-primary); border-color:var(--vbg-text-primary); }
.vbg-custom-nav-detail { display:block; max-width:11rem; font-size:var(--vbg-type-compact); line-height:var(--vbg-leading-compact); margin-top:var(--vbg-space-1); }
.vbg-custom-sidebar-note { color:var(--vbg-text-secondary); font-size:var(--vbg-type-compact); line-height:var(--vbg-leading-body); margin-top:var(--vbg-space-10); }
.vbg-custom-about-link { font-size:var(--vbg-type-compact); }
.vbg-custom-chapters { min-width:0; }
.vbg-custom-chapter { scroll-margin-top:var(--vbg-space-8); }
.vbg-custom-chapter + .vbg-custom-chapter { margin-top:var(--vbg-space-16); padding-top:var(--vbg-space-12); border-top:1px solid var(--vbg-border-default); }
.vbg-custom-chapter-header { margin-bottom:var(--vbg-space-8); }
.vbg-custom-meta { margin:0; font-size:var(--vbg-type-compact); color:var(--vbg-text-secondary); }
.vbg-custom-chapter-title { margin:var(--vbg-space-3) 0; font-size:var(--vbg-type-title); font-weight:var(--vbg-weight-heading); line-height:var(--vbg-leading-title); letter-spacing:-.035em; }
.vbg-custom-intro { max-width:46rem; margin:0; }
.vbg-custom-index { margin-top:var(--vbg-space-4); font-size:var(--vbg-type-compact); }
.vbg-custom-index summary, .vbg-custom-sources summary { cursor:pointer; width:fit-content; padding-block:var(--vbg-space-2); }
.vbg-custom-count { color:var(--vbg-text-secondary); margin-left:var(--vbg-space-2); font-variant-numeric:tabular-nums; }
.vbg-custom-index nav { columns:2; column-gap:var(--vbg-space-6); margin-top:var(--vbg-space-3); }
.vbg-custom-index nav a { display:block; break-inside:avoid; padding-block:var(--vbg-space-2); }
.vbg-custom-places { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:var(--vbg-space-8); row-gap:var(--vbg-space-12); }
.vbg-custom-place { min-width:0; scroll-margin-top:var(--vbg-space-8); }
.vbg-custom-place:first-child { grid-column:1 / -1; display:grid; grid-template-columns:1.15fr 1fr; gap:var(--vbg-space-8); align-items:start; }
.vbg-custom-photo { margin:0 0 var(--vbg-space-4); }
.vbg-custom-photo > a { display:block; }
.vbg-custom-photo img { display:block; width:100%; height:auto; aspect-ratio:25 / 17; object-fit:cover; background:var(--vbg-surface-secondary); }
.vbg-custom-credit { font-size:var(--vbg-type-compact); color:var(--vbg-text-secondary); line-height:var(--vbg-leading-caption); margin-top:var(--vbg-space-2); }
.vbg-custom-credit a { color:inherit; text-decoration:none; }
.vbg-custom-credit a:hover { text-decoration:underline; }
.vbg-custom-place-copy > * { margin:0; }
.vbg-custom-place-copy > h3 { margin-top:var(--vbg-space-2); margin-bottom:var(--vbg-space-3); overflow-wrap:anywhere; }
.vbg-custom-place-copy > p + p { margin-top:var(--vbg-space-3); }
.vbg-custom-tip { color:var(--vbg-text-secondary); }
.vbg-custom-note { font-size:var(--vbg-type-compact); padding-left:var(--vbg-space-3); border-left:2px solid var(--vbg-border-strong); }
.vbg-custom-links { display:flex; flex-wrap:wrap; gap:var(--vbg-space-5); margin-top:var(--vbg-space-4); font-size:var(--vbg-type-compact); font-weight:var(--vbg-weight-medium); }
.vbg-custom-links a { text-decoration:none; border-bottom:1px solid var(--vbg-border-strong); padding-block:var(--vbg-space-2); }
.vbg-custom-sources { margin-top:var(--vbg-space-3); font-size:var(--vbg-type-compact); color:var(--vbg-text-secondary); }
.vbg-custom-sources ul { padding-left:var(--vbg-space-4); margin-block:var(--vbg-space-2); }
.vbg-custom-sources li + li { margin-top:var(--vbg-space-2); }
.vbg-custom-photo-gap { aspect-ratio:25 / 17; background:var(--vbg-surface-secondary); padding:var(--vbg-space-6); display:flex; flex-direction:column; justify-content:center; gap:var(--vbg-space-3); margin-bottom:var(--vbg-space-4); }
.vbg-custom-photo-gap p { margin:0; font-size:var(--vbg-type-section); font-weight:var(--vbg-weight-heading); }
.vbg-custom-photo-gap span { font-size:var(--vbg-type-compact); color:var(--vbg-text-secondary); }
.vbg-custom-about { margin-top:var(--vbg-space-16); padding-top:var(--vbg-space-10); border-top:1px solid var(--vbg-border-default); scroll-margin-top:var(--vbg-space-8); }
.vbg-custom-about-columns { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:var(--vbg-space-8); }
.vbg-custom-about-columns p { color:var(--vbg-text-secondary); font-size:var(--vbg-type-compact); }
.vbg-custom-footer { display:flex; justify-content:space-between; gap:var(--vbg-space-6); padding-block:var(--vbg-space-10); font-size:var(--vbg-type-compact); }
/* The navigation becomes a compact horizontal strip on narrow screens. */
@media (max-width:1000px) {
 .vbg-custom-layout { grid-template-columns:minmax(0,1fr); gap:var(--vbg-space-8); }
 .vbg-custom-sidebar { position:static; }
 .vbg-custom-day-nav { flex-direction:row; justify-content:space-between; gap:var(--vbg-space-4); }
 .vbg-custom-day-nav a { flex:1; border-left:0; border-bottom:2px solid var(--vbg-border-default); padding:0 0 var(--vbg-space-3); }
 .vbg-custom-sidebar-note, .vbg-custom-about-link { display:none; }
}
@media (max-width:640px) {
 .vbg-custom-site-header { padding-block:var(--vbg-space-6); gap:var(--vbg-space-4); }
 .vbg-custom-header-credit { max-width:12rem; text-align:right; }
 .vbg-custom-opening { grid-template-columns:minmax(0,1fr); gap:var(--vbg-space-5); padding-block:var(--vbg-space-5) var(--vbg-space-8); }
 .vbg-custom-title { font-size:var(--vbg-type-page-title); line-height:var(--vbg-leading-page-title); }
 .vbg-custom-day-nav { gap:var(--vbg-space-3); }
 .vbg-custom-day-nav a { font-size:var(--vbg-type-compact); }
 .vbg-custom-nav-detail { display:none; }
 .vbg-custom-chapter-title { font-size:var(--vbg-type-section); line-height:var(--vbg-leading-section); }
 .vbg-custom-places { grid-template-columns:minmax(0,1fr); row-gap:var(--vbg-space-10); }
 .vbg-custom-place:first-child { display:block; }
 .vbg-custom-index nav { columns:1; }
 .vbg-custom-about-columns { grid-template-columns:minmax(0,1fr); gap:0; }
 .vbg-custom-about-columns p { margin-block:var(--vbg-space-3); }
 .vbg-custom-footer { flex-direction:column; gap:var(--vbg-space-3); }
}
@media print {
 .vbg-custom-sidebar, .vbg-custom-index { display:none; }
 .vbg-custom-layout { display:block; }
 .vbg-custom-place { break-inside:avoid; }
 .vbg-custom-sources { display:none; }
}
