@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Oswald:wght@400;500&display=swap');

:root {
  --paper: #ffffff;
  --ink: #000000;
  --muted: #55514d;
  --green: #b00e2f;
  --green-dark: #b00e2f;
  --lime: #fee5ca;
  --orange: #b00e2f;
  --line: #b00e2f;
  --serif: "Oswald", Impact, sans-serif;
  --sans: "DM Sans", Arial, sans-serif;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--paper); font-family: var(--sans); -webkit-font-smoothing: antialiased; }
button, input, select { font: inherit; }
a { color: inherit; text-decoration: none; }
.site-header { height: 84px; padding: 0 7.2%; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid rgba(32,44,37,.08); }
.wordmark { display: flex; align-items: center; gap: 10px; font-family: var(--serif); font-size: 23px; line-height: .86; letter-spacing: -.7px; }
.wordmark-icon { width: 36px; height: 36px; border-radius: 50%; display: grid; place-items: center; background: var(--green); color: white; font: 27px var(--serif); }
.wordmark-icon span,.footer-wordmark span { color: var(--orange); }
.wordmark small { display: block; margin-top: 6px; font: 8px var(--sans); letter-spacing: 1.6px; text-transform: uppercase; color: var(--muted); }
.header-nav { display: flex; gap: 34px; font-size: 12px; font-weight: 600; color: #626b61; }
.header-nav a:hover,.header-social:hover { color: var(--orange); }
.header-social { border: 1px solid #d9d6cb; border-radius: 28px; padding: 12px 17px; font-size: 11px; font-weight: 700; }
.header-social span { margin-left: 10px; color: var(--orange); }
.preview-banner { position: relative; padding: 10px 7%; background: #fff1e9; color: #78412f; text-align: center; font-size: 10px; }.preview-banner>span { margin-right: 7px; font-weight: 700; }.preview-banner button { position: absolute; top: 5px; right: 5%; border: 0; background: transparent; color: #78412f; font-size: 18px; cursor: pointer; }
.hero { min-height: 610px; position: relative; isolation: isolate; padding: 86px 12% 38px; display: grid; grid-template-columns: 1fr; grid-template-rows: 1fr auto; align-items: center; overflow: hidden; background: #1d2c25; color: #fff; }
.hero-backdrop,.hero-backdrop-image { position: absolute; z-index: -2; inset: 0; }
.hero-backdrop-image { background-position: center 48%; background-size: cover; opacity: 0; transform: scale(1.035); transition: opacity 1.5s ease, transform 7s ease; }
.hero-backdrop-image.active { opacity: 1; transform: scale(1); }
.hero:after { position: absolute; z-index: -1; inset: 0; content: ""; background: linear-gradient(90deg,rgba(15,28,22,.86) 0%,rgba(15,28,22,.69) 40%,rgba(15,28,22,.30) 100%),linear-gradient(0deg,rgba(15,28,22,.50),transparent 33%); }
.hero-copy { position: relative; z-index: 1; max-width: 500px; }
.eyebrow { display: flex; align-items: center; gap: 9px; color: #747b70; font-size: 9px; font-weight: 700; letter-spacing: 1.6px; text-transform: uppercase; }
.hero .eyebrow { color: rgba(255,255,255,.78); }
.eyebrow-dot,.live-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--orange); display: inline-block; }
h1,h2,p { margin-top: 0; }
.hero h1 { margin: 24px 0 16px; font: 76px/.98 var(--serif); letter-spacing: -2.5px; color: #fff; }
h1 em,h2 em { color: var(--orange); font-weight: 400; }
.hero h1 em { color: var(--lime); }
.hero-copy>p { max-width: 330px; color: rgba(255,255,255,.83); font-size: 13px; line-height: 1.8; }
.hero-link { display: inline-flex; align-items: center; gap: 17px; margin-top: 15px; padding-bottom: 6px; border-bottom: 1px solid rgba(255,255,255,.58); color: white; font-size: 11px; font-weight: 700; }
.hero-link span { color: var(--lime); font-size: 16px; }
.hero-stats { grid-column: 1/-1; display: flex; align-items: center; gap: 50px; margin-top: 42px; padding-top: 22px; border-top: 1px solid rgba(255,255,255,.35); }
.hero-stats div { display: flex; align-items: baseline; gap: 10px; }.hero-stats strong { font: 23px var(--serif); }.hero-stats span:not(.hero-stamp) { color: rgba(255,255,255,.74); font-size: 10px; }
.hero-stamp { margin-left: auto; border: 1px solid rgba(213,230,141,.8); border-radius: 50%; width: 57px; height: 57px; display: grid; place-items: center; text-align: center; color: var(--lime); font-size: 8px; font-weight: 700; letter-spacing: 1px; transform: rotate(12deg); }
.hero-photo-credit { position: absolute; z-index: 2; top: 25px; right: 7.2%; display: flex; align-items: center; gap: 12px; color: rgba(255,255,255,.86); font-size: 9px; }
.hero-photo-credit[hidden] { display: none; }.hero-photo-credit>span:before { content: "⌖"; margin-right: 6px; color: var(--lime); }
.filter-utensils svg { width: 12px; height: 12px; display: block; }
.photo-loop-toggle { display: flex; align-items: center; gap: 6px; padding: 7px 10px; border: 1px solid rgba(255,255,255,.48); border-radius: 25px; background: rgba(15,28,22,.42); color: white; font-size: 10px; cursor: pointer; backdrop-filter: blur(5px); }.photo-loop-toggle span { font: 9px var(--sans); }.photo-loop-toggle[hidden] { display: none; }
.discover { background: #fff; padding: 96px 7.2% 110px; }
.section-heading { display: flex; justify-content: space-between; align-items: end; max-width: 1240px; margin: 0 auto 32px; }
.section-heading h2,.closing-note h2 { margin: 15px 0 0; font: 52px/.99 var(--serif); letter-spacing: -1px; }
.section-heading>p { max-width: 270px; margin: 0 4% 4px 15px; color: var(--muted); font-size: 12px; line-height: 1.8; }
.filter-strip { max-width: 1240px; margin: 0 auto 20px; display: flex; gap: 8px; overflow-x: auto; scrollbar-width: none; }.filter-strip::-webkit-scrollbar { display: none; }
.filter-chip { flex: 0 0 auto; border: 1px solid var(--line); background: transparent; border-radius: 30px; padding: 10px 15px; color: #656e64; font-size: 10px; font-weight: 600; cursor: pointer; transition: .2s; }
.filter-chip:hover,.filter-chip.active { background: var(--green); border-color: var(--green); color: #fff; }.filter-chip span { margin-left: 6px; color: var(--lime); }.filter-chip .filter-utensils { display: inline-grid; place-items: center; width: 12px; height: 12px; font-size: 11px; }
.explorer { max-width: 1240px; height: 610px; margin: 0 auto; display: grid; grid-template-columns: minmax(340px, .84fr) 1.16fr; background: var(--paper); border: 1px solid var(--line); border-radius: 8px; overflow: hidden; }
.places-panel { min-height: 0; display: flex; flex-direction: column; padding: 20px 19px 0; border-right: 1px solid var(--line); }
.search-box { height: 43px; display: flex; align-items: center; gap: 9px; padding: 0 11px; background: #fff; border: 1px solid var(--line); border-radius: 4px; color: var(--muted); }
.search-box>span { color: var(--green); font-size: 24px; }.search-box input { width: 100%; border: 0; outline: 0; background: transparent; color: var(--ink); font-size: 10px; }.search-box input::placeholder { color: #95988e; }
kbd { padding: 3px 5px; border: 1px solid #e7e5dd; border-radius: 3px; color: #999b93; font: 9px var(--sans); white-space: nowrap; }
.select-row { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 11px; }.select-row label { min-width: 0; position: relative; padding: 7px 9px 5px; border: 1px solid var(--line); background: #fff; border-radius: 4px; }
.select-row label span { display: block; color: #898e83; font-size: 8px; }.select-row select { width: 100%; border: 0; outline: 0; background: transparent; color: var(--ink); font-size: 10px; cursor: pointer; }
.results-heading { display: flex; justify-content: space-between; align-items: center; margin: 19px 0 8px; color: #777d72; font-size: 10px; font-weight: 600; }.results-spark { color: var(--orange); }
.place-list { overflow-y: auto; flex: 1; padding-right: 5px; scrollbar-color: #cbcbbf transparent; scrollbar-width: thin; }
.place-card { width: 100%; display: grid; grid-template-columns: 67px 1fr 18px; align-items: center; gap: 12px; padding: 11px 7px; text-align: left; border: 0; border-top: 1px solid #e8e5dc; background: transparent; cursor: pointer; transition: background .2s; }
.place-card:hover,.place-card.selected { background: #eeede4; }.place-thumb { width: 67px; height: 67px; border-radius: 4px; display: grid; place-items: center; color: #f7f5ef; font: 24px var(--serif); background: var(--green); }.place-card:nth-child(3n) .place-thumb { background: #c36c4c; }.place-card:nth-child(3n+1) .place-thumb { background: #b29353; }
.place-copy { min-width: 0; }.place-meta { display: block; margin-bottom: 5px; color: #858a80; font-size: 8px; letter-spacing: .2px; }.place-copy strong { display: block; margin-bottom: 5px; overflow: hidden; color: var(--ink); font: 17px var(--serif); text-overflow: ellipsis; white-space: nowrap; }.place-address { display: block; overflow: hidden; color: #747b70; font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
.place-arrow { color: var(--orange); font-size: 16px; }.empty-state { padding: 40px 15px; text-align: center; }.empty-state span { font-size: 25px; }.empty-state strong { display: block; margin-top: 10px; font: 19px var(--serif); }.empty-state p { color: var(--muted); font-size: 11px; }
.map-panel { min-width: 0; position: relative; background: #e6e5dc; }.map-topline { position: absolute; z-index: 500; top: 15px; left: 15px; display: flex; align-items: center; gap: 8px; padding: 8px 11px; border-radius: 3px; background: rgba(255,255,255,.94); font-size: 9px; font-weight: 700; box-shadow: 0 2px 9px #2336261a; }.live-dot { width: 6px; height: 6px; background: #75976e; }.map-topline button { margin-left: 13px; border: 0; background: transparent; color: var(--green); font-size: 15px; cursor: pointer; }.map-topline button span { font: 9px var(--sans); }
#map { height: 100%; width: 100%; background: #e7e6dc; }.leaflet-container { font-family: var(--sans); }.leaflet-control-attribution { font-size: 8px!important; }.leaflet-popup-content-wrapper { border-radius: 5px!important; }.leaflet-popup-content { margin: 11px 14px!important; }.popup-name { font: 18px var(--serif); }.popup-meta { margin-top: 4px; color: #767d72; font-size: 10px; }
.custom-pin { width: 34px; height: 34px; border: 2px solid #fff; border-radius: 50% 50% 50% 0; transform: rotate(-45deg); display: grid; place-items: center; background: var(--orange); box-shadow: 0 3px 10px #26382c45; color: white; }.custom-pin span { display: block; font: 700 13px/1 var(--sans); transform: rotate(45deg); }.custom-pin.selected-pin { background: var(--green); transform: rotate(-45deg) scale(1.2); }
.map-caption { position: absolute; z-index: 500; bottom: 17px; right: 16px; display: flex; align-items: center; gap: 10px; padding: 11px 14px; border-radius: 4px; background: var(--green-dark); color: white; font: 14px/1.15 var(--serif); box-shadow: 0 5px 20px #13281e36; }.map-caption-pin { color: var(--lime); font: 20px var(--sans); }.caption-arrow { margin-left: 8px; color: var(--lime); }
.map-panel.has-selected-place .map-caption { display: none; }
.map-fallback { height: 100%; display: grid; place-items: center; padding: 25px; color: var(--muted); text-align: center; font-size: 12px; }
.map-place-card { position: absolute; z-index: 600; top: 14px; right: 14px; bottom: 14px; width: min(350px, calc(100% - 28px)); overflow-y: auto; border: 1px solid rgba(32,44,37,.12); border-radius: 10px; background: #fbfaf6; box-shadow: 0 12px 40px rgba(28,38,30,.24); scrollbar-width: thin; }
.map-place-card[hidden] { display: none; }.map-place-cover { height: 190px; position: relative; display: flex; justify-content: flex-end; align-items: flex-start; gap: 8px; padding: 12px; background: linear-gradient(135deg,#d7d9c3,#eee5d2 48%,#aeb79d); background-size: cover; background-position: center; }.map-place-cover:not(.has-photo):after { content: "⌖"; position: absolute; inset: 0; display: grid; place-items: center; color: rgba(36,75,57,.32); font-size: 76px; }
.share-place,.close-place { position: relative; z-index: 1; min-height: 32px; border: 1px solid rgba(255,255,255,.45); border-radius: 24px; background: rgba(22,28,24,.77); color: white; cursor: pointer; }.share-place { margin-right: auto; padding: 0 12px; font-size: 13px; }.share-place span { margin-left: 5px; font-size: 9px; font-weight: 700; }.close-place { width: 32px; padding: 0; font-size: 21px; line-height: 1; }
.map-place-body { position: relative; padding: 0 13px 13px; }.map-place-title { position: relative; display: grid; grid-template-columns: 60px 1fr; align-items: center; gap: 10px; min-height: 63px; margin: -23px 0 12px; }.map-place-title>div:last-child { min-width: 0; padding: 10px 11px; border: 1px solid var(--line); border-radius: 9px; background: white; box-shadow: 0 3px 12px #26382c12; }.map-place-title h3 { margin: 0 0 4px; overflow: hidden; font: 19px/1.05 var(--serif); text-overflow: ellipsis; white-space: nowrap; }.map-place-title>div:last-child>span { display: block; overflow: hidden; color: var(--orange); font-size: 8px; font-weight: 700; letter-spacing: .7px; text-overflow: ellipsis; text-transform: uppercase; white-space: nowrap; }
.map-place-logo { z-index: 1; width: 60px; height: 60px; display: grid; place-items: center; overflow: hidden; border: 3px solid white; border-radius: 9px; background: #fff; box-shadow: 0 3px 12px #26382c20; color: var(--green); font: 23px var(--serif); }.map-place-logo img { width: 100%; height: 100%; object-fit: contain; }
.map-place-address { min-height: 39px; display: grid; grid-template-columns: 17px 1fr 14px; align-items: center; gap: 5px; margin: 0 0 9px; padding: 8px 10px; border: 1px solid var(--line); border-radius: 8px; background: #f8f6f0; color: #656c63; font-size: 9px; line-height: 1.4; }.map-place-address>span:first-child { color: var(--orange); }.map-place-address>span:last-child { color: var(--green); }
.map-place-actions { display: grid; gap: 7px; margin-bottom: 10px; }.place-action { min-height: 39px; display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 0 12px; border-radius: 9px; color: white; font-size: 10px; font-weight: 700; }.place-action span { font-size: 12px; }.video-action { background: #bd171d; }.directions-action { background: #1f211f; }
.map-place-links { display: grid; gap: 6px; padding-top: 8px; border-top: 1px solid var(--line); }.map-place-links[hidden] { display: none; }.map-place-links a { min-height: 38px; display: grid; grid-template-columns: 19px 1fr 14px; align-items: center; gap: 6px; padding: 0 10px; border: 1px solid var(--line); border-radius: 8px; background: #f8f6f0; font-size: 9px; font-weight: 600; }.map-place-links a>span { color: var(--green); }.map-place-links a>b { color: var(--muted); font-size: 11px; }
.map-place-description { margin: 10px 2px 0; color: var(--muted); font-size: 10px; line-height: 1.6; }
.closing-note { min-height: 325px; position: relative; display: flex; align-items: center; justify-content: space-between; padding: 65px 13%; background: var(--green); color: white; overflow: hidden; }.closing-note:after { content: "⌖"; position: absolute; right: 27%; top: -100px; color: rgba(255,255,255,.045); font-size: 400px; line-height: 1; }.closing-mark { font: 94px/.8 var(--serif); color: #f3f0e6; }.closing-mark span { color: var(--lime); }.closing-note .eyebrow { color: #bac9ba; }.closing-note h2 { font-size: 54px; }.closing-note h2 em { color: var(--lime); }.closing-note>p { max-width: 200px; margin: 28px 0 0; color: #cfdbd0; font-size: 11px; line-height: 1.8; }.round-link { z-index: 1; width: 45px; height: 45px; display: grid; place-items: center; border: 1px solid #789080; border-radius: 50%; color: var(--lime); font-size: 18px; }
.site-footer { min-height: 76px; padding: 15px 7.2%; display: flex; align-items: center; justify-content: space-between; background: #173629; color: #bdc9bd; font-size: 9px; }.footer-wordmark { color: white; font: 22px var(--serif); }.site-footer>a:last-child { color: white; }
.place-dialog { width: min(490px, calc(100% - 30px)); padding: 0; border: 0; border-radius: 9px; color: var(--ink); overflow: visible; box-shadow: 0 20px 90px #13281e55; }.place-dialog::backdrop { background: #17271f9c; backdrop-filter: blur(4px); }.dialog-close { position: absolute; z-index: 2; top: 12px; right: 12px; width: 32px; height: 32px; border: 0; border-radius: 50%; background: white; font-size: 23px; cursor: pointer; }.dialog-image { height: 205px; display: grid; place-items: center; background: #e7e5d7; }.dialog-illustration { color: var(--orange); font-size: 75px; }.dialog-image.has-photo { background-position: center; background-size: cover; }.dialog-image.has-photo .dialog-illustration { display: none; }.dialog-content { padding: 23px 27px 28px; }.dialog-kicker { color: var(--orange); font-size: 9px; font-weight: 700; letter-spacing: 1.4px; text-transform: uppercase; }.dialog-content h2 { margin: 7px 0; font: 34px var(--serif); }.dialog-address,.dialog-description { color: #72796f; font-size: 11px; line-height: 1.7; }.dialog-description { margin: 17px 0; color: #414a41; font-size: 12px; }.dialog-actions { display: flex; flex-wrap: wrap; gap: 8px; }.dialog-actions a { padding: 10px 14px; border-radius: 24px; background: var(--green); color: white; font-size: 10px; font-weight: 700; }.dialog-actions a.secondary { background: #eeede4; color: var(--green); }
.toast { position: fixed; z-index: 1000; bottom: 20px; left: 50%; transform: translate(-50%, 20px); opacity: 0; padding: 10px 15px; border-radius: 5px; background: var(--green-dark); color: white; font-size: 11px; transition: .2s; pointer-events: none; }.toast.visible { opacity: 1; transform: translate(-50%, 0); }
@media(prefers-reduced-motion: reduce) { html { scroll-behavior: auto; }.hero-backdrop-image { transition: none; transform: none; } }
@media(max-width: 800px) {
  .site-header { height: 70px; padding: 0 5%; }.header-nav { gap: 16px; }.header-social { padding: 10px 12px; font-size: 9px; }
  .hero { min-height: 570px; padding: 70px 8% 30px; }.hero h1 { font-size: 60px; }.hero-photo-credit { top: 17px; right: 8%; }.hero-stats { margin-top: 28px; gap: 20px; }
  .discover { padding: 70px 5% 75px; }  .explorer { grid-template-columns: minmax(285px, .9fr) 1.1fr; height: 570px; }.places-panel { padding: 14px 12px 0; }.map-place-card { top: 10px; right: 10px; bottom: 10px; width: min(320px, calc(100% - 20px)); }.map-place-cover { height: 155px; }
  .section-heading h2 { font-size: 44px; }.closing-note { padding: 55px 8%; }.closing-mark { font-size: 68px; }
}
@media(max-width: 600px) {
  .site-header { height: 64px; }.wordmark { font-size: 20px; }.wordmark-icon { width: 32px; height: 32px; }.header-nav { display: none; }.header-social { padding: 9px 11px; }
  .hero { min-height: 610px; padding: 58px 7% 24px; display: grid; grid-template-rows: 1fr auto; }.hero h1 { margin-top: 19px; font-size: clamp(53px, 15vw, 71px); }.hero-copy>p { max-width: 270px; }.hero-backdrop-image { background-position: 58% center; }.hero:after { background: linear-gradient(90deg,rgba(15,28,22,.82),rgba(15,28,22,.45)),linear-gradient(0deg,rgba(15,28,22,.52),transparent 40%); }.hero-photo-credit { top: 13px; right: 7%; }.hero-stats { position: relative; z-index: 1; margin-top: 22px; padding-top: 17px; gap: 18px; }.hero-stats div { display: block; }.hero-stats strong { display: block; font-size: 20px; }.hero-stats span:not(.hero-stamp) { display: block; max-width: 110px; margin-top: 3px; font-size: 8px; }.hero-stamp { width: 48px; height: 48px; font-size: 7px; }
  .discover { padding: 57px 0 58px; }.section-heading { display: block; padding: 0 7%; }.section-heading h2 { font-size: 44px; }.section-heading>p { max-width: 300px; margin: 14px 0 24px; }.filter-strip { padding: 0 7%; margin-bottom: 14px; }
  .explorer { height: auto; display: flex; flex-direction: column-reverse; border-left: 0; border-right: 0; border-radius: 0; }.map-panel { height: 520px; flex: 0 0 520px; }.places-panel { min-height: 460px; border-right: 0; padding: 17px 7% 0; }.place-list { max-height: 395px; }.map-caption { bottom: 12px; right: 12px; }.map-topline { top: 11px; left: 11px; }.map-place-card { top: 58px; right: 10px; bottom: 10px; width: min(350px, calc(100% - 20px)); }.map-place-cover { height: 150px; }
  .closing-note { min-height: 260px; padding: 43px 7%; gap: 13px; }.closing-mark { align-self: flex-start; margin-top: 9px; font-size: 48px; }.closing-note h2 { font-size: 44px; }.closing-note>p { display: none; }.closing-note:after { right: 10%; font-size: 300px; }.round-link { width: 38px; height: 38px; align-self: flex-end; margin-bottom: 6px; }.site-footer { padding: 16px 6%; }.site-footer>span { max-width: 135px; text-align: center; line-height: 1.5; }
}

/* Cherry-and-cream editorial treatment, adapted for the restaurant guide. */
body { background: #fff; color: #000; font-family: var(--sans); }
.site-header { border-bottom: 1px solid #000; }
.wordmark { color: #b00e2f; font-family: var(--serif); font-size: 25px; letter-spacing: .05em; text-transform: uppercase; }
.wordmark-icon { border-radius: 50%; background: #fff; border: 1px solid #b00e2f; color: #b00e2f; }
.wordmark-icon span,.footer-wordmark span { color: #b00e2f; }
.wordmark small { color: #000; }
.header-nav { gap: 12px; }
.header-nav a,.header-social { border: 1px solid #000; border-radius: 300px; padding: 10px 17px; color: #000; }
.header-social span,.hero-link span { color: #b00e2f; }
.preview-banner { border-bottom: 1px solid #b00e2f; background: #fee5ca; color: #000; }
.hero { min-height: 650px; padding: 75px 8% 34px; background: #fee5ca; color: #000; }
.hero:after { display: none; }
.hero-backdrop-image { transform: none; transition: opacity 1.3s ease; }
.hero-copy { max-width: 760px; padding: clamp(24px, 4vw, 48px); border: 1px solid #b00e2f; border-radius: 40px; background: rgba(254,229,202,.94); }
.hero .eyebrow { color: #000; }
.eyebrow-dot,.live-dot { background: #b00e2f; }
.hero h1 { color: #000; font-family: var(--serif); font-size: clamp(58px, 7.2vw, 96px); font-weight: 400; line-height: .88; letter-spacing: .035em; text-transform: uppercase; }
.hero h1 em { color: #b00e2f; }
.hero-copy>p { color: #000; font-size: 15px; line-height: 1.4; }
.hero-link { border-bottom: 1px solid #b00e2f; color: #b00e2f; }
.hero-stats { gap: 30px; margin-top: 24px; padding: 18px 22px; border: 1px solid #b00e2f; border-radius: 300px; background: rgba(255,255,255,.94); color: #000; }
.hero-stats strong { font-family: var(--serif); font-size: 26px; font-weight: 400; letter-spacing: .05em; text-transform: uppercase; }
.hero-stats span:not(.hero-stamp) { color: #000; font-size: 11px; }
.hero-stamp { width: 55px; height: 55px; border-color: #b00e2f; color: #b00e2f; }
.hero-photo-credit { top: 20px; right: 8%; color: #000; }
.hero-photo-credit>span:before { color: #b00e2f; }
.photo-loop-toggle { border-color: #b00e2f; background: #fff; color: #b00e2f; backdrop-filter: none; }
.discover { background: #fff; }
.eyebrow { color: #000; }
.section-heading h2,.closing-note h2 { font-family: var(--serif); font-weight: 400; letter-spacing: .035em; text-transform: uppercase; }
.section-heading h2 { font-size: clamp(42px, 5vw, 64px); line-height: .92; }
.section-heading>p { color: #000; font-size: 15px; line-height: 1.4; }
.filter-chip { border: 1px solid #b00e2f; border-radius: 300px; background: #fff; color: #b00e2f; padding: 11px 18px; }
.filter-chip:hover,.filter-chip.active { border-color: #b00e2f; background: #fff; color: #b00e2f; }
.filter-chip .filter-utensils { color: #b00e2f; }
.explorer { grid-template-columns: minmax(340px,.84fr) 1.16fr; border: 1px solid #000; border-radius: 40px; background: #fee5ca; }
.places-panel { border-right: 1px solid #000; background: #fff; padding: 22px 20px 0; }
.search-box,.select-row label { border: 1px solid #000; border-radius: 5px; background: #fff; color: #000; }
.search-box>span,.select-row label span { color: #b00e2f; }
.search-box input,.select-row select { color: #000; font-size: 12px; }
.search-box input::placeholder { color: #777; }
.results-heading { color: #000; }
.results-spark { color: #b00e2f; }
.place-card { border-top: 1px solid #ded6cd; }
.place-card:hover,.place-card.selected { border-radius: 20px; background: #fee5ca; }
.place-thumb { border-radius: 15px; }
.place-copy strong { font-family: var(--serif); font-size: 20px; font-weight: 400; letter-spacing: .025em; }
.place-meta { color: #b00e2f; font-size: 9px; font-weight: 600; text-transform: uppercase; }
.place-address { color: #000; }
.place-arrow { color: #b00e2f; }
.map-panel { background: #fee5ca; }
.map-topline { border: 1px solid #000; border-radius: 300px; color: #000; box-shadow: none; }
.map-topline button,.live-dot { color: #b00e2f; }
.custom-pin { background: #b00e2f; box-shadow: none; }
.custom-pin.selected-pin { background: #000; }
.map-caption { border: 1px solid #b00e2f; border-radius: 300px; background: #fff; color: #000; box-shadow: none; }
.map-caption-pin,.caption-arrow { color: #b00e2f; }
.map-place-card { border: 1px solid #000; border-radius: 30px; background: #fff; box-shadow: none; }
.map-place-cover { border-radius: 29px 29px 0 0; }
.share-place,.close-place { border: 1px solid #b00e2f; border-radius: 300px; background: #fff; color: #b00e2f; }
.map-place-title>div:last-child { border: 1px solid #b00e2f; border-radius: 20px; box-shadow: none; }
.map-place-title h3 { font-family: var(--serif); font-size: 21px; font-weight: 400; letter-spacing: .025em; }
.map-place-address,.map-place-links a { border: 1px solid #000; border-radius: 300px; background: #fff; color: #000; }
.map-place-address>span:first-child,.map-place-address>span:last-child,.map-place-links a>span,.map-place-links a>b { color: #b00e2f; }
.map-place-actions { gap: 8px; }
.place-action { border: 1px solid #b00e2f; border-radius: 300px; background: #fff; color: #b00e2f; }
.video-action,.directions-action { background: #fff; color: #b00e2f; }
.map-place-links { border-color: #b00e2f; }
.map-place-description,.dialog-address,.dialog-description { color: #000; }
.closing-note { min-height: 290px; margin: 0 7.2% 40px; padding: 50px 7%; border: 1px solid #b00e2f; border-radius: 60px; background: #fee5ca; color: #000; }
.closing-note:after { display: none; }
.closing-mark { color: #b00e2f; font-family: var(--serif); }
.closing-mark span,.closing-note h2 em { color: #b00e2f; }
.closing-note .eyebrow,.closing-note>p { color: #000; }
.round-link { border-color: #b00e2f; color: #b00e2f; }
.site-footer { min-height: 90px; border-top: 1px solid #000; background: #fff; color: #000; }
.footer-wordmark,.site-footer>a:last-child { color: #b00e2f; }
.toast { border: 1px solid #b00e2f; border-radius: 300px; background: #fff; color: #000; }
button,.round-link,.header-social,.hero-link { box-shadow: none; }
@media(max-width:800px) {
  .hero { min-height: 570px; padding: 65px 7% 28px; }
  .hero-copy { max-width: 660px; }
  .hero h1 { font-size: clamp(56px, 8.5vw, 76px); }
  .explorer { border-radius: 30px; }
}
@media(max-width:600px) {
  .site-header { border-bottom: 1px solid #000; }
  .hero { min-height: 650px; padding: 76px 6% 23px; }
  .hero-copy { padding: 24px 20px; border-radius: 30px; }
  .hero h1 { font-size: clamp(51px, 14vw, 66px); line-height: .92; }
  .hero-photo-credit { top: 17px; right: 6%; }
  .hero-stats { justify-content: flex-start; gap: 15px; padding: 13px 17px; border-radius: 25px; }
  .hero-stamp { margin-left: auto; }
  .explorer { border-radius: 0; border-left: 0; border-right: 0; }
  .places-panel { border-right: 0; }
  .map-place-card { border-radius: 25px; }
  .closing-note { margin: 0 5% 25px; padding: 36px 7%; border-radius: 40px; }
  .site-footer { border-top: 1px solid #000; }
}
