/* OTL Local Guides — Noir Heritage (same tokens as the other OTL plugins). */
body.otll-page { background: #ece3d4 !important; overflow-x: hidden !important; }
.otll { width: 100% !important; background: #ece3d4 !important; color: #1e1910 !important; font-family: "DM Sans", system-ui, -apple-system, "Segoe UI", sans-serif !important; font-size: 17px !important; line-height: 1.6 !important; -webkit-font-smoothing: antialiased !important; box-sizing: border-box !important; padding: 0 0 40px !important; }
.otll *, .otll *::before, .otll *::after { box-sizing: border-box !important; }
.otll a { color: #1e1910 !important; text-decoration: none !important; }
.otll a:focus-visible, .otll summary:focus-visible { outline: 2px solid #8d732b !important; outline-offset: 3px !important; }
.otll :where(p, h1, h2, h3, ul, ol, li, dl, dt, dd, figure) { margin: 0 !important; padding: 0 !important; }
.otll :where(ul, ol) { list-style: none !important; }
.otll :where(h1, h2, h3) { color: #1e1910 !important; letter-spacing: 0 !important; text-transform: none !important; }
.otll :where(img) { display: block !important; max-width: 100% !important; height: auto !important; border: 0 !important; }
.otll-ico { display: inline-block !important; vertical-align: -3px !important; flex: none !important; }

.otll-wrap { max-width: 1240px !important; margin: 0 auto !important; padding: 0 32px !important; }
.otll-narrow { max-width: 880px !important; }
.otll-sec { padding-top: 88px !important; padding-bottom: 88px !important; }
.otll-sec-tight { padding-top: 56px !important; padding-bottom: 56px !important; }
.otll-band { background: #e8decd !important; border-top: 1px solid #e1d4bd !important; border-bottom: 1px solid #e1d4bd !important; }
.otll-kicker { display: block !important; font-size: 12px !important; line-height: 16px !important; font-weight: 600 !important; letter-spacing: .18em !important; text-transform: uppercase !important; color: #8d732b !important; }
.otll-h1 { font-family: "Cormorant Garamond", Georgia, serif !important; font-weight: 500 !important; font-size: clamp(44px, 6vw, 88px) !important; line-height: .98 !important; letter-spacing: -.015em !important; margin-top: 18px !important; }
.otll-h2 { font-family: "Cormorant Garamond", Georgia, serif !important; font-weight: 500 !important; font-size: clamp(30px, 3.4vw, 46px) !important; line-height: 1.08 !important; margin: 12px 0 32px !important; }
.otll-lede { font-size: 19px !important; line-height: 1.6 !important; color: #393223 !important; margin-top: 22px !important; max-width: 62ch !important; }
.otll-sub { color: #736a58 !important; margin-top: 8px !important; max-width: 60ch !important; }
.otll a.otll-link { color: #8d732b !important; font-weight: 500 !important; display: inline-flex !important; align-items: center !important; gap: 6px !important; margin-top: 20px !important; }
.otll a.otll-link:hover { color: #977a20 !important; }
.otll-byline { margin-top: 22px !important; font-size: 13px !important; color: #817969 !important; }
.otll-preview { margin-top: 16px !important; padding: 10px 14px !important; border: 1px dashed #953e22 !important; color: #953e22 !important; font-size: 14px !important; }
.otll-note { color: #817969 !important; font-size: 13px !important; margin-top: 18px !important; max-width: 80ch !important; }
.otll-sources { color: #817969 !important; font-size: 13px !important; border-top: 1px solid #e1d4bd !important; padding-top: 24px !important; max-width: 90ch !important; }
.otll-sources a { color: #736a58 !important; text-decoration: underline !important; text-underline-offset: 2px !important; }

.otll-crumbs ol { display: flex !important; flex-wrap: wrap !important; gap: 10px !important; padding-top: 22px !important; font-size: 13px !important; color: #736a58 !important; }
.otll-crumbs li + li::before { content: "/" !important; margin-right: 10px !important; color: #847a67 !important; }
.otll-crumbs a, .otll-crumbs span { color: #736a58 !important; }
.otll-crumbs [aria-current] { color: #1e1910 !important; }

.otll-hero { display: grid !important; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr) !important; gap: 64px !important; align-items: start !important; padding-top: 48px !important; padding-bottom: 24px !important; }
.otll-hero-solo { display: block !important; }
.otll-stats { display: flex !important; flex-wrap: wrap !important; margin-top: 32px !important; border-top: 1px solid #e1d4bd !important; }
.otll-stats > div { padding: 18px 26px 0 0 !important; margin-right: 26px !important; border-right: 1px solid #e1d4bd !important; }
.otll-stats > div:last-child { border-right: 0 !important; margin-right: 0 !important; }
.otll-stats dt { font-size: 11px !important; font-weight: 600 !important; letter-spacing: .14em !important; text-transform: uppercase !important; color: #736a58 !important; }
.otll-stats dd { font-family: "Cormorant Garamond", Georgia, serif !important; font-size: 44px !important; line-height: 1.1 !important; color: #8d732b !important; margin-top: 4px !important; }
.otll-stats small { font-size: 20px !important; }
.otll-map { border: 1px solid #decfb6 !important; border-radius: 160px 160px 2px 2px !important; overflow: hidden !important; background: #e8decd !important; }
.otll-map iframe { display: block !important; width: 100% !important; height: 420px !important; border: 0 !important; filter: grayscale(.35) contrast(1.05) !important; }
.otll-map figcaption { padding: 10px 16px !important; font-size: 12px !important; color: #817969 !important; background: #e8decd !important; }
.otll-map figcaption a { color: #736a58 !important; text-decoration: underline !important; }

.otll-cards { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: 32px 24px !important; }
.otll-cards a { display: flex !important; flex-direction: column !important; gap: 6px !important; }
.otll-card-img { position: relative !important; display: block !important; aspect-ratio: 4 / 3 !important; overflow: hidden !important; background: #e4d7c2 !important; border: 1px solid #e1d4bd !important; margin-bottom: 10px !important; }
.otll-card-img img, .otll-card-img svg { width: 100% !important; height: 100% !important; object-fit: cover !important; transition: transform .5s ease !important; }
.otll-cards a:hover img { transform: scale(1.03) !important; }
.otll-badge { position: absolute !important; left: 12px !important; top: 12px !important; background: #953e22 !important; color: #ece3d4 !important; font-size: 11px !important; font-weight: 600 !important; letter-spacing: .14em !important; text-transform: uppercase !important; padding: 6px 10px !important; border-radius: 2px !important; }
.otll-cards .is-partner .otll-card-img { border-color: #953e22 !important; }
.otll-card-name { font-family: "Cormorant Garamond", Georgia, serif !important; font-size: 26px !important; line-height: 1.1 !important; transition: color .2s ease !important; }
.otll-cards a:hover .otll-card-name { color: #977a20 !important; }
.otll-card-meta { color: #736a58 !important; font-size: 14px !important; }
.otll-card-her { color: #953e22 !important; font-size: 13px !important; }

.otll-spot { display: grid !important; grid-template-columns: minmax(0, 6fr) minmax(0, 6fr) !important; gap: 72px !important; align-items: start !important; }
.otll-timeline { display: flex !important; flex-direction: column !important; gap: 20px !important; border-left: 1px solid #decfb6 !important; padding-left: 28px !important; }
.otll-timeline li { display: grid !important; grid-template-columns: 112px minmax(0, 1fr) !important; gap: 16px !important; align-items: baseline !important; position: relative !important; }
.otll-timeline li::before { content: "" !important; position: absolute !important; left: -33px !important; top: 12px !important; width: 9px !important; height: 9px !important; border-radius: 50% !important; background: #8d732b !important; }
.otll-timeline span { font-family: "Cormorant Garamond", Georgia, serif !important; font-size: 24px !important; white-space: nowrap !important; line-height: 1 !important; color: #953e22 !important; }
.otll-timeline p { color: #393223 !important; font-size: 15px !important; line-height: 1.55 !important; }

.otll-rows { border-top: 1px solid #e1d4bd !important; }
.otll-rows li { display: grid !important; grid-template-columns: 40px minmax(0, 1fr) 90px 260px !important; gap: 20px !important; align-items: center !important; padding: 16px 0 !important; border-bottom: 1px solid #e1d4bd !important; }
.otll-n { font-family: "Cormorant Garamond", Georgia, serif !important; font-size: 22px !important; color: #847a67 !important; }
.otll-row-main { display: flex !important; flex-direction: column !important; gap: 2px !important; min-width: 0 !important; }
.otll-row-name { font-size: 17px !important; font-weight: 500 !important; }
.otll-row-name a { color: #977a20 !important; }
.otll-row-addr { color: #736a58 !important; font-size: 14px !important; }
.otll-tag { font-style: normal !important; font-size: 10px !important; font-weight: 600 !important; letter-spacing: .12em !important; text-transform: uppercase !important; color: #8d732b !important; border: 1px solid #decfb6 !important; padding: 2px 6px !important; margin-left: 6px !important; vertical-align: 2px !important; }
.otll-tag.is-feat { color: #953e22 !important; border-color: #953e22 !important; }
.otll-row-walk { color: #393223 !important; font-size: 14px !important; display: inline-flex !important; gap: 6px !important; align-items: center !important; }
.otll-row-fsa { color: #393223 !important; font-size: 14px !important; }
.otll-row-fsa span { display: block !important; font-size: 10px !important; font-weight: 600 !important; letter-spacing: .12em !important; text-transform: uppercase !important; color: #817969 !important; }
.otll-row-fsa small { color: #817969 !important; }

.otll-more { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 64px !important; }
.otll-links { margin-top: 16px !important; border-top: 1px solid #e1d4bd !important; }
.otll-links a { display: flex !important; justify-content: space-between !important; gap: 16px !important; padding: 14px 0 !important; border-bottom: 1px solid #e1d4bd !important; font-family: "Cormorant Garamond", Georgia, serif !important; font-size: 22px !important; }
.otll-links a:hover { color: #977a20 !important; }
.otll-links span { font-family: "DM Sans", sans-serif !important; font-size: 13px !important; color: #736a58 !important; align-self: center !important; }

.otll-faq { border-top: 1px solid #e1d4bd !important; }
.otll-faq details { border-bottom: 1px solid #e1d4bd !important; }
.otll-faq summary { cursor: pointer !important; list-style: none !important; padding: 22px 40px 22px 0 !important; position: relative !important; font-family: "Cormorant Garamond", Georgia, serif !important; font-size: 24px !important; line-height: 1.25 !important; }
.otll-faq summary::-webkit-details-marker { display: none !important; }
.otll-faq summary::after { content: "+" !important; position: absolute !important; right: 4px !important; top: 18px !important; font-family: "DM Sans", sans-serif !important; font-size: 24px !important; color: #8d732b !important; }
.otll-faq details[open] summary::after { content: "–" !important; }
.otll-faq details p { padding: 0 0 24px !important; color: #393223 !important; max-width: 70ch !important; }

.otll-cta { display: flex !important; justify-content: space-between !important; align-items: center !important; gap: 32px !important; border: 1px solid #decfb6 !important; padding: 36px 40px !important; }
.otll-cta-t { font-family: "Cormorant Garamond", Georgia, serif !important; font-size: 32px !important; line-height: 1.1 !important; margin-top: 10px !important; }
.otll a.otll-btn { display: inline-flex !important; align-items: center !important; justify-content: center !important; min-height: 50px !important; padding: 12px 26px !important; background: #8d732b !important; color: #ece3d4 !important; border-radius: 2px !important; font-size: 15px !important; font-weight: 600 !important; white-space: nowrap !important; }
.otll a.otll-btn:hover { background: #977a20 !important; }

/* Place page */
.otll-chips { display: flex !important; flex-wrap: wrap !important; gap: 8px !important; margin-top: 28px !important; }
.otll-chips a { display: inline-flex !important; gap: 8px !important; align-items: center !important; padding: 9px 16px !important; border: 1px solid #decfb6 !important; border-radius: 999px !important; font-size: 14px !important; color: #393223 !important; }
.otll-chips a:hover { border-color: #8d732b !important; color: #977a20 !important; }
.otll-chips span { color: #8d732b !important; font-weight: 600 !important; }
.otll-facts > div { padding: 14px 0 !important; border-bottom: 1px solid #e1d4bd !important; }
.otll-facts > div:first-child { border-top: 1px solid #e1d4bd !important; }
.otll-facts dt { font-size: 11px !important; font-weight: 600 !important; letter-spacing: .14em !important; text-transform: uppercase !important; color: #736a58 !important; }
.otll-facts dd { margin-top: 4px !important; font-size: 16px !important; }
.otll-story { display: grid !important; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr) !important; gap: 72px !important; }
.otll-story .otll-map { margin-top: 40px !important; }
.otll-prose { max-width: 68ch !important; }
.otll-prose .otll-kicker { margin-bottom: 18px !important; }
.otll-prose p { margin: 0 0 18px !important; line-height: 1.75 !important; color: #393223 !important; }
.otll-prose p:first-of-type { font-size: 19px !important; color: #1e1910 !important; }
.otll-prose h2 { font-family: "Cormorant Garamond", Georgia, serif !important; font-weight: 500 !important; font-size: 32px !important; margin: 36px 0 14px !important; }

/* Index */
.otll-places { display: grid !important; grid-template-columns: repeat(auto-fill, minmax(340px, 1fr)) !important; gap: 24px !important; }
.otll-places a { display: flex !important; flex-direction: column !important; gap: 10px !important; height: 100% !important; padding: 32px !important; border: 1px solid #e1d4bd !important; transition: border-color .2s ease, background .2s ease !important; }
.otll-places a:hover { border-color: #8d732b !important; background: #e9e0cf !important; }
.otll-place-name { font-family: "Cormorant Garamond", Georgia, serif !important; font-size: 32px !important; line-height: 1.08 !important; margin-top: 6px !important; }
.otll-place-spot { color: #736a58 !important; font-size: 15px !important; flex: 1 !important; }
.otll-place-g { color: #8d732b !important; font-size: 13px !important; }

@media (max-width: 1024px) {
	.otll-hero, .otll-spot, .otll-story, .otll-more { grid-template-columns: 1fr !important; gap: 40px !important; }
	.otll-cards { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
	.otll-rows li { grid-template-columns: 32px minmax(0, 1fr) 80px !important; }
	.otll-row-fsa { grid-column: 2 / -1 !important; }
}
@media (max-width: 640px) {
	.otll-wrap { padding-left: 16px !important; padding-right: 16px !important; }
	.otll-sec { padding-top: 56px !important; padding-bottom: 56px !important; }
	.otll-cards { grid-template-columns: 1fr !important; }
	.otll-map iframe { height: 300px !important; }
	.otll-map { border-radius: 110px 110px 2px 2px !important; }
	.otll-stats > div { padding-right: 16px !important; margin-right: 16px !important; }
	.otll-stats dd { font-size: 34px !important; }
	.otll-rows li { grid-template-columns: 28px minmax(0, 1fr) !important; gap: 4px 12px !important; }
	.otll-row-walk, .otll-row-fsa { grid-column: 2 !important; }
	.otll-timeline li { grid-template-columns: 72px minmax(0, 1fr) !important; }
	.otll-cta { flex-direction: column !important; align-items: flex-start !important; padding: 28px 22px !important; }
	.otll-places a { padding: 24px !important; }
}
@media (prefers-reduced-motion: reduce) { .otll *, .otll *::before, .otll *::after { transition: none !important; } }

/* 1.1 */
.otll-method .otll-n { color: #8d732b !important; font-size: 30px !important; }
.otll-method li { grid-template-columns: 56px minmax(0, 1fr) !important; }
.otll-meterpage .otll-lede { max-width: 72ch !important; }
