/* OTL Experiences — Noir Heritage (same tokens as OTL Venues / Home / What's On). */
body.otle-page { background: #ece3d4 !important; overflow-x: hidden !important; }
.otle { 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; }
.otle *, .otle *::before, .otle *::after { box-sizing: border-box !important; }
.otle a { color: #1e1910 !important; text-decoration: none !important; }
.otle a:focus-visible, .otle button:focus-visible, .otle summary:focus-visible { outline: 2px solid #8d732b !important; outline-offset: 3px !important; }
.otle :where(p, h1, h2, h3, ul, ol, li, dl, dt, dd) { margin: 0 !important; padding: 0 !important; }
.otle :where(ul, ol) { list-style: none !important; }
.otle :where(h1, h2, h3) { color: #1e1910 !important; letter-spacing: 0 !important; text-transform: none !important; }
.otle :where(img) { display: block !important; max-width: 100% !important; height: auto !important; border: 0 !important; }
.otle-ico { display: inline-block !important; vertical-align: -3px !important; flex: none !important; }

.otle-wrap { max-width: 1240px !important; margin: 0 auto !important; padding: 0 32px !important; }
.otle-narrow { max-width: 880px !important; }
.otle-sec { padding-top: 96px !important; padding-bottom: 96px !important; }
.otle-sec-tight { padding-top: 48px !important; }
.otle-band { background: #e8decd !important; border-top: 1px solid #e1d4bd !important; border-bottom: 1px solid #e1d4bd !important; }
.otle-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; }
.otle-h1 { font-family: "Cormorant Garamond", Georgia, serif !important; font-weight: 500 !important; font-size: clamp(46px, 6.4vw, 92px) !important; line-height: .98 !important; letter-spacing: -.015em !important; margin-top: 18px !important; max-width: 16ch !important; }
.otle-h2 { font-family: "Cormorant Garamond", Georgia, serif !important; font-weight: 500 !important; font-size: clamp(32px, 3.6vw, 48px) !important; line-height: 1.06 !important; margin-top: 12px !important; margin-bottom: 36px !important; }
.otle-h3 { font-family: "Cormorant Garamond", Georgia, serif !important; font-weight: 500 !important; font-size: 28px !important; line-height: 1.15 !important; margin: 40px 0 14px !important; }
.otle-side .otle-h3:first-child, .otle-prose .otle-h3:first-child { margin-top: 0 !important; }
.otle-lede { font-size: 19px !important; line-height: 1.6 !important; color: #393223 !important; margin-top: 24px !important; max-width: 60ch !important; }
.otle-sub { color: #736a58 !important; margin-top: -20px !important; margin-bottom: 36px !important; max-width: 64ch !important; }
.otle-small { color: #736a58 !important; font-size: 14px !important; margin-top: 18px !important; }
.otle a.otle-link, .otle .otle-small a { color: #8d732b !important; font-weight: 500 !important; display: inline-flex !important; align-items: center !important; gap: 6px !important; }
.otle a.otle-link:hover { color: #977a20 !important; }
.otle-disclaimer { color: #817969 !important; font-size: 13px !important; border-top: 1px solid #e1d4bd !important; padding-top: 24px !important; max-width: 80ch !important; }

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

.otle-actions { display: flex !important; flex-wrap: wrap !important; gap: 12px !important; margin-top: 32px !important; }
.otle a.otle-btn { display: inline-flex !important; align-items: center !important; justify-content: center !important; gap: 10px !important; min-height: 50px !important; padding: 12px 24px !important; background: #8d732b !important; color: #ece3d4 !important; border: 1px solid #8d732b !important; border-radius: 2px !important; font-size: 15px !important; font-weight: 600 !important; letter-spacing: .02em !important; transition: background .2s ease, border-color .2s ease, color .2s ease !important; }
.otle a.otle-btn:hover { background: #977a20 !important; border-color: #977a20 !important; color: #ece3d4 !important; }
.otle a.otle-btn-ghost { background: transparent !important; color: #1e1910 !important; border-color: #decfb6 !important; }
.otle a.otle-btn-ghost:hover { background: transparent !important; border-color: #8d732b !important; color: #977a20 !important; }

.otle-hero { padding-top: 56px !important; padding-bottom: 8px !important; }
.otle-chips { display: flex !important; flex-wrap: wrap !important; gap: 8px !important; margin-bottom: 36px !important; }
.otle-chips button { appearance: none !important; cursor: pointer !important; font: 500 14px "DM Sans", sans-serif !important; color: #393223 !important; background: transparent !important; border: 1px solid #e1d4bd !important; border-radius: 999px !important; padding: 8px 16px !important; min-height: 40px !important; transition: border-color .2s ease, color .2s ease, background .2s ease !important; }
.otle-chips button:hover { border-color: #8d732b !important; color: #977a20 !important; }
.otle-chips button.is-on { background: #8d732b !important; border-color: #8d732b !important; color: #ece3d4 !important; }

.otle-grid { display: grid !important; grid-template-columns: repeat(auto-fill, minmax(340px, 1fr)) !important; gap: 24px !important; }
.otle-card[hidden] { display: none !important; }
.otle-card a { display: flex !important; flex-direction: column !important; gap: 10px !important; height: 100% !important; padding: 32px !important; border: 1px solid #e1d4bd !important; background: #ece3d4 !important; transition: border-color .2s ease, background .2s ease !important; }
.otle-band .otle-card a { background: #ece3d4 !important; }
.otle-card a:hover { border-color: #8d732b !important; background: #e9e0cf !important; }
.otle-card-top { display: flex !important; justify-content: space-between !important; align-items: baseline !important; gap: 16px !important; }
.otle-card-price { font-family: "Cormorant Garamond", Georgia, serif !important; font-size: 30px !important; line-height: 1 !important; color: #953e22 !important; white-space: nowrap !important; }
.otle-card-price small { font-family: "DM Sans", sans-serif !important; font-size: 12px !important; color: #736a58 !important; letter-spacing: .04em !important; }
.otle-card-title { font-family: "Cormorant Garamond", Georgia, serif !important; font-size: 32px !important; line-height: 1.08 !important; margin-top: 18px !important; transition: color .2s ease !important; }
.otle-card a:hover .otle-card-title { color: #977a20 !important; }
.otle-card-op { color: #393223 !important; font-size: 15px !important; }
.otle-card-meta { display: flex !important; flex-direction: column !important; gap: 6px !important; color: #736a58 !important; font-size: 14px !important; flex: 1 !important; margin-top: 6px !important; }
.otle-card-meta span { display: inline-flex !important; gap: 8px !important; align-items: flex-start !important; }
.otle-card .otle-link { margin-top: 16px !important; color: #8d732b !important; font-size: 14px !important; font-weight: 500 !important; display: inline-flex !important; gap: 6px !important; align-items: center !important; }

.otle-cta { display: flex !important; justify-content: space-between !important; align-items: center !important; gap: 40px !important; }
.otle-cta .otle-h2 { margin-bottom: 30px !important; }
.otle-cta .otle-sub { margin-bottom: 0 !important; }

/* Single */
.otle-s-hero { display: grid !important; grid-template-columns: minmax(0, 1fr) 340px !important; gap: 72px !important; align-items: start !important; padding-top: 48px !important; padding-bottom: 32px !important; }
.otle-op { margin-top: 16px !important; font-family: "Cormorant Garamond", Georgia, serif !important; font-style: italic !important; font-size: 26px !important; color: #8d732b !important; }
.otle-offer { margin-top: 24px !important; padding: 14px 18px !important; border: 1px solid #953e22 !important; color: #1e1910 !important; font-size: 15px !important; max-width: 60ch !important; }
.otle-offer span { display: block !important; font-size: 11px !important; font-weight: 600 !important; letter-spacing: .16em !important; text-transform: uppercase !important; color: #953e22 !important; margin-bottom: 4px !important; }
.otle-offer code { background: #e4d7c2 !important; color: #977a20 !important; padding: 2px 8px !important; font-size: 14px !important; }
.otle-pass { border: 1px solid #decfb6 !important; background: #e8decd !important; border-radius: 170px 170px 2px 2px !important; padding: 64px 32px 28px !important; text-align: center !important; position: sticky !important; top: 24px !important; }
.otle-pass-k { font-size: 12px !important; font-weight: 600 !important; letter-spacing: .18em !important; text-transform: uppercase !important; color: #736a58 !important; }
.otle-pass-price { font-family: "Cormorant Garamond", Georgia, serif !important; font-size: 88px !important; line-height: .95 !important; color: #1e1910 !important; margin-top: 6px !important; }
.otle-pass-unit { font-size: 13px !important; color: #8d732b !important; letter-spacing: .08em !important; text-transform: uppercase !important; margin-top: 8px !important; font-weight: 600 !important; }
.otle-pass-rule { width: 48px !important; height: 2px !important; background: #8d732b !important; margin: 22px auto 8px !important; }
.otle-pass dl { text-align: left !important; }
.otle-pass dl > div { padding: 14px 0 !important; border-bottom: 1px solid #e1d4bd !important; }
.otle-pass dl > div:last-child { border-bottom: 0 !important; }
.otle-pass dt, .otle-rows dt { font-size: 11px !important; font-weight: 600 !important; letter-spacing: .16em !important; text-transform: uppercase !important; color: #736a58 !important; }
.otle-pass dd { margin-top: 4px !important; font-size: 15px !important; }

.otle-s-body { display: grid !important; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr) !important; gap: 80px !important; }
.otle-prose { max-width: 68ch !important; }
.otle-prose .otle-kicker { margin-bottom: 18px !important; }
.otle-prose p { margin: 0 0 18px !important; line-height: 1.75 !important; color: #393223 !important; }
.otle-prose p:first-of-type { font-size: 19px !important; color: #1e1910 !important; }
.otle-high li { padding: 12px 0 12px 28px !important; border-bottom: 1px solid #e1d4bd !important; position: relative !important; }
.otle-high li::before { content: "" !important; position: absolute !important; left: 0 !important; top: 22px !important; width: 14px !important; height: 2px !important; background: #8d732b !important; }
.otle-high em { color: #736a58 !important; font-style: normal !important; }
.otle-side { border-left: 1px solid #e1d4bd !important; padding-left: 48px !important; }
.otle-rows > div { display: flex !important; justify-content: space-between !important; gap: 16px !important; padding: 12px 0 !important; border-bottom: 1px solid #e1d4bd !important; }
.otle-rows dt { padding-top: 3px !important; flex: none !important; max-width: 45% !important; }
.otle-rows dd { text-align: right !important; font-size: 15px !important; }
.otle-note { color: #736a58 !important; font-size: 14px !important; margin-top: 12px !important; }
.otle-where { font-size: 15px !important; color: #393223 !important; margin-bottom: 10px !important; }
.otle-where strong { color: #1e1910 !important; font-weight: 600 !important; }

.otle-dining { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: 32px 24px !important; }
.otle-dining a { display: flex !important; flex-direction: column !important; gap: 6px !important; }
.otle-dine-img { display: block !important; aspect-ratio: 4 / 3 !important; overflow: hidden !important; background: #e4d7c2 !important; border: 1px solid #e1d4bd !important; margin-bottom: 10px !important; }
.otle-dine-img img, .otle-dine-img svg { width: 100% !important; height: 100% !important; object-fit: cover !important; }
.otle-dine-name { font-family: "Cormorant Garamond", Georgia, serif !important; font-size: 26px !important; line-height: 1.1 !important; }
.otle-dining a:hover .otle-dine-name { color: #977a20 !important; }
.otle-dine-meta { color: #736a58 !important; font-size: 14px !important; }

.otle-faq { border-top: 1px solid #e1d4bd !important; }
.otle-faq details { border-bottom: 1px solid #e1d4bd !important; }
.otle-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; }
.otle-faq summary::-webkit-details-marker { display: none !important; }
.otle-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; }
.otle-faq details[open] summary::after { content: "–" !important; }
.otle-faq details p { padding: 0 0 24px !important; color: #393223 !important; max-width: 70ch !important; }

.otle-embed { padding: 48px 0 !important; background: transparent !important; }
.otle-events { margin-top: 0 !important; }

@media (max-width: 1024px) {
	.otle-s-hero, .otle-s-body { grid-template-columns: 1fr !important; gap: 48px !important; }
	.otle-pass { position: static !important; max-width: 420px !important; }
	.otle-side { border-left: 0 !important; padding-left: 0 !important; }
	.otle-dining { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
	.otle-cta { flex-direction: column !important; align-items: flex-start !important; }
}
@media (max-width: 640px) {
	.otle-wrap { padding-left: 16px !important; padding-right: 16px !important; }
	.otle-sec { padding-top: 64px !important; padding-bottom: 64px !important; }
	.otle-grid { grid-template-columns: 1fr !important; }
	.otle-card a { padding: 24px !important; }
	.otle-dining { grid-template-columns: 1fr !important; }
	.otle-pass-price { font-size: 72px !important; }
	.otle-actions .otle-btn { width: 100% !important; }
}
@media (prefers-reduced-motion: reduce) {
	.otle *, .otle *::before, .otle *::after { transition: none !important; }
}

/* 1.0.1 */
.otle-byline { margin-top: 16px !important; font-size: 13px !important; color: #817969 !important; }
.otle-nearby { padding: 0 !important; }

/* 1.1 history */
.otle-hist { display: grid !important; grid-template-columns: minmax(0, 6fr) minmax(0, 6fr) !important; gap: 56px !important; align-items: start !important; }
.otle-hist .otle-h2 { margin-bottom: 0 !important; }
.otle-hist .otle-lede { margin-bottom: 28px !important; }
.otle-hist .otl-meter { grid-template-columns: 100px minmax(0, 1fr) !important; padding: 28px !important; }
.otle-timeline { display: flex !important; flex-direction: column !important; gap: 18px !important; border-left: 1px solid #decfb6 !important; padding-left: 26px !important; }
.otle-timeline li { display: grid !important; grid-template-columns: 76px minmax(0, 1fr) !important; gap: 14px !important; align-items: baseline !important; position: relative !important; }
.otle-timeline li::before { content: "" !important; position: absolute !important; left: -31px !important; top: 10px !important; width: 9px !important; height: 9px !important; border-radius: 50% !important; background: #8d732b !important; }
.otle-timeline span { font-family: "Cormorant Garamond", Georgia, serif !important; font-size: 24px !important; line-height: 1 !important; color: #953e22 !important; white-space: nowrap !important; }
.otle-timeline p { color: #393223 !important; font-size: 15px !important; }
@media (max-width: 1024px) { .otle-hist { grid-template-columns: 1fr !important; } }
