/* Reflections Guides — local guide pages on Living Richmond Hill.
   Magazine look, matched to the site's feature articles (e.g. /the-spirit-of-ossabaw/):
   Garamond body in a narrow column, a photo hero with the title set over it, caps byline,
   photos spread through the text. EB Garamond is loaded so every visitor gets a real Garamond. */
.rg-guide {
	--rg-navy: #212934;
	--rg-ink: #1b1b1b;
	--rg-muted: #5f6670;
	--rg-line: #e4e1da;
	--rg-soft: #f7f4ee;
	--rg-accent: #9b6b2f;
	--rg-serif: "EB Garamond", Garamond, Georgia, serif;
	--rg-sans: Inter, Arial, Helvetica, sans-serif;
	max-width: 732px;
	margin: 0 auto 64px;
	padding: 0 16px;
	color: var(--rg-ink);
	font-family: var(--rg-serif);
	font-size: 20px;
	line-height: 1.7;
}
.rg-guide * { box-sizing: border-box; }
.rg-guide p { margin: 0 0 1.05em; }

/* Title: plain (no photo) — centered serif, like the feature articles */
.rg-band {
	text-align: center;
	margin: 36px 0 18px;
	padding: 0;
}
.rg-guide .rg-band .rg-band__kicker {
	font-family: var(--rg-sans);
	font-size: 12px;
	letter-spacing: .16em;
	text-transform: uppercase;
	margin: 0 0 14px !important;
}
.rg-guide .rg-band .rg-band__kicker a { color: var(--rg-accent) !important; text-decoration: none; }
.rg-guide .rg-band h1 {
	color: #000;
	font-family: var(--rg-serif);
	font-weight: 400;
	font-size: clamp(34px, 5.4vw, 54px);
	line-height: 1.12;
	margin: 0 auto;
	max-width: 860px;
}
.rg-guide .rg-band p.rg-band__dek {
	color: #333 !important;
	font-style: italic;
	font-size: 22px;
	line-height: 1.5;
	max-width: 620px;
	margin: 18px auto 0 !important;
}

/* Title over the photo */
.rg-band--photo {
	display: grid;
	grid-template-columns: 1fr;
	grid-template-rows: 1fr auto auto auto auto;
	margin: 28px -110px 18px;
}
.rg-band--photo > .rg-band__img {
	grid-row: 1 / 4; grid-column: 1;
	display: block; width: 100%; height: auto;
	aspect-ratio: 16 / 9; object-fit: cover;
	border-radius: 10px;
}
.rg-band--photo::before {
	content: ""; grid-row: 1 / 4; grid-column: 1; z-index: 1;
	border-radius: 10px;
	background: linear-gradient(180deg, rgba(0,0,0,0) 38%, rgba(0,0,0,.62) 100%);
}
.rg-guide .rg-band--photo .rg-band__kicker { grid-row: 2; grid-column: 1; z-index: 2; padding: 0 24px; }
.rg-guide .rg-band--photo .rg-band__kicker a { color: #fff !important; }
.rg-guide .rg-band--photo h1 {
	grid-row: 3; grid-column: 1; z-index: 2;
	color: #fff;
	padding: 0 28px 30px;
	text-shadow: 0 2px 18px rgba(0,0,0,.35);
}
.rg-guide .rg-band--photo p.rg-band__dek { grid-row: 5; grid-column: 1; margin-top: 18px !important; }
.rg-guide .rg-band--photo .rg-band__credit { grid-row: 4; grid-column: 1; text-align: right; margin: 8px 4px 0 !important; }
.rg-band__credit { font-family: var(--rg-sans); font-size: 12px; line-height: 1.4; color: var(--rg-muted); }
@media (max-width: 960px) { .rg-band--photo { margin-left: 0; margin-right: 0; } }
@media (max-width: 600px) {
	.rg-guide { font-size: 19px; }
	.rg-guide .rg-band p.rg-band__dek { font-size: 19px; }
	.rg-guide h2 { font-size: 28px; }
	.rg-band--photo > .rg-band__img { aspect-ratio: 4 / 5; }
	.rg-guide .rg-band--photo h1 { padding: 0 18px 22px; }
}

/* Byline, as on the feature articles */
.rg-guide .rg-byline {
	font-family: var(--rg-sans);
	font-size: 12px;
	letter-spacing: .14em;
	text-transform: uppercase;
	text-align: center;
	color: #222;
	margin: 0 0 30px;
	padding-bottom: 22px;
	border-bottom: 1px solid var(--rg-line);
}

.rg-guide h2 {
	font-family: var(--rg-serif);
	font-weight: 500;
	font-size: 32px;
	line-height: 1.2;
	margin: 52px 0 14px;
	color: #000;
}
.rg-guide h3 {
	font-family: var(--rg-serif);
	font-size: 24px;
	font-weight: 600;
	margin: 30px 0 8px;
	color: #000;
}
.rg-guide p, .rg-guide li { color: var(--rg-ink); }
.rg-guide a { color: #1f5f8b; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.rg-guide a:hover { color: var(--rg-navy); }
.rg-guide ul, .rg-guide ol { padding-left: 1.2em; margin: 0 0 1.05em; }
.rg-guide li { margin: 0 0 .4em; }

/* At-a-glance box */
.rg-facts {
	background: var(--rg-soft);
	border-radius: 10px;
	padding: 22px 24px;
	margin: 0 0 30px;
	font-size: 18px;
	line-height: 1.5;
}
.rg-facts__title {
	font-family: var(--rg-sans);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--rg-muted);
	margin: 0 0 10px;
}
.rg-facts dl { display: grid; grid-template-columns: max-content 1fr; gap: 8px 18px; margin: 0; }
.rg-facts dt { font-weight: 600; }
.rg-facts dd { margin: 0; }
@media (max-width: 560px) {
	.rg-facts dl { grid-template-columns: 1fr; gap: 2px; }
	.rg-facts dd { margin-bottom: 10px; }
}

/* On this page */
.rg-toc { font-size: 18px; border-left: 2px solid var(--rg-accent); padding: 4px 0 4px 16px; margin: 0 0 28px; }
.rg-toc__title { font-family: var(--rg-sans); font-size: 12px; letter-spacing: .14em; text-transform: uppercase; font-weight: 700; margin: 0 0 6px; }
.rg-toc ol { margin: 0; }

/* Tables */
.rg-table-wrap { overflow-x: auto; margin: 0 0 20px; -webkit-overflow-scrolling: touch; }
.rg-guide table { border-collapse: collapse; width: 100%; font-family: var(--rg-sans); font-size: 15px; line-height: 1.5; min-width: 520px; }
.rg-guide th, .rg-guide td { border-bottom: 1px solid var(--rg-line); padding: 9px 10px; text-align: left; vertical-align: top; }
.rg-guide th { background: var(--rg-soft); font-weight: 700; }
.rg-guide td.num, .rg-guide th.num { text-align: right; white-space: nowrap; }
.rg-guide caption { caption-side: bottom; text-align: left; font-size: 13px; color: var(--rg-muted); padding-top: 6px; }

/* Callouts: the quick answer reads like a standfirst between hairlines */
.rg-note {
	border-top: 1px solid var(--rg-line);
	border-bottom: 1px solid var(--rg-line);
	padding: 18px 0;
	margin: 0 0 30px;
	font-size: 21px;
	line-height: 1.6;
}
.rg-byline + .rg-note { border-top: 0; padding-top: 0; }
.rg-note strong:first-child {
	display: block;
	font-family: var(--rg-sans);
	font-size: 12px;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--rg-accent);
	margin-bottom: 6px;
}

/* Links to other guides */
.rg-cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 14px; margin: 12px 0 24px; padding: 0; list-style: none; }
.rg-cards li { margin: 0; }
.rg-cards a {
	display: block;
	height: 100%;
	border: 1px solid var(--rg-line);
	border-radius: 10px;
	padding: 14px 16px;
	text-decoration: none;
	color: var(--rg-ink);
	background: #fff;
}
.rg-cards a:hover { border-color: var(--rg-navy); }
.rg-cards strong { display: block; font-family: var(--rg-serif); font-weight: 500; font-size: 21px; line-height: 1.25; margin-bottom: 4px; }
.rg-cards span { display: block; font-family: var(--rg-sans); font-size: 13px; line-height: 1.45; color: var(--rg-muted); }

/* FAQ */
.rg-faq details { border-bottom: 1px solid var(--rg-line); padding: 12px 0; }
.rg-faq summary { cursor: pointer; font-weight: 500; font-size: 21px; }
.rg-faq details p { margin: 8px 0 0; }

/* Sources + freshness */
.rg-sources { font-family: var(--rg-sans); font-size: 13px; line-height: 1.55; color: var(--rg-muted); }
.rg-sources li { color: var(--rg-muted); word-break: break-word; }
.rg-checked { font-family: var(--rg-sans); font-size: 13px; color: var(--rg-muted); border-top: 1px solid var(--rg-line); padding-top: 14px; margin-top: 32px; }

/* Hi sign-up fallback card (the Kit form from Hi Subscribe replaces it when live) */
.rg-hi {
	background: var(--rg-navy);
	color: #fff;
	border-radius: 12px;
	padding: 24px 24px 26px;
	margin: 36px 0;
	text-align: center;
}
.rg-hi__eyebrow { font-family: var(--rg-sans); font-size: 12px; letter-spacing: .12em; text-transform: uppercase; opacity: .75; margin-bottom: 8px; }
.rg-guide .rg-hi__title { color: #fff; font-family: var(--rg-serif); font-size: 27px; line-height: 1.3; margin: 0 0 8px; }
.rg-guide .rg-hi__lede { color: #fff; opacity: .9; margin: 0 auto 16px; max-width: 520px; font-size: 19px; line-height: 1.5; }
.rg-guide .rg-hi__button {
	display: inline-block;
	background: #fff;
	color: var(--rg-navy);
	font-family: var(--rg-sans);
	font-size: 15px;
	font-weight: 700;
	text-decoration: none;
	padding: 11px 26px;
	border-radius: 999px;
}
.rg-guide .rg-hi__button:hover { background: #f1e6d6; color: var(--rg-navy); }

/* Neighborhood Partner slot */
.rg-np {
	border: 1px dashed #c8ced6;
	border-radius: 10px;
	padding: 14px 18px;
	margin: 24px 0;
	font-family: var(--rg-sans);
	font-size: 14px;
	line-height: 1.55;
	background: #fff;
}
.rg-np__label { display: block; font-size: 12px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--rg-muted); margin-bottom: 4px; }
.rg-np p { margin: 0; }
.rg-np--filled { border-style: solid; }

/* Map embed */
.rg-guide .rg-map { margin: 8px 0 28px; }
.rg-map iframe { display: block; width: 100%; height: 360px; border: 0; border-radius: 10px; border: 1px solid var(--rg-line); }
.rg-guide .rg-map figcaption, .rg-guide .rg-figure figcaption { font-family: var(--rg-sans); font-size: 13px; line-height: 1.45; color: var(--rg-muted, #5b6470); margin-top: 8px; }
.rg-guide .rg-map figcaption a { white-space: nowrap; }

/* Photos */
.rg-guide .rg-figure { margin: 12px 0 34px; }
.rg-guide .rg-figure img { display: block; width: 100%; height: auto; border-radius: 10px; aspect-ratio: auto; }
.rg-guide .rg-figure--wide { margin-left: -110px; margin-right: -110px; }
.rg-figure__credit { font-size: 12px; letter-spacing: .04em; text-transform: uppercase; opacity: .75; }
@media (max-width: 960px) { .rg-guide .rg-figure--wide { margin-left: 0; margin-right: 0; } }

.rg-guide p:empty { display: none; }

/* The theme styles .post-content h2/h3 with Domine at higher specificity; the guides keep Garamond. */
.rg-guide h1, .rg-guide h2, .rg-guide h3, .rg-guide h4 { font-family: var(--rg-serif) !important; letter-spacing: 0 !important; }
.rg-guide h2 { font-weight: 500 !important; }
.rg-guide h3 { font-weight: 600 !important; }
.rg-guide .rg-cards { padding: 0; }
