:root {
  --pomegranate: #7a1f2b;
  --saffron: #c4a15a;
  --clay: #e8d5c4;
  --parchment: #f8f1e7;
  --charcoal: #2a211c;
  --muted: #6a5b50;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--parchment);
  color: var(--charcoal);
  font-family: Georgia, "Iowan Old Style", Palatino, serif;
  line-height: 1.65;
}
.skip { position: absolute; left: -999px; }
.skip:focus { left: 1rem; top: 1rem; background: #fff; padding: .5rem; z-index: 3; }
.preview-ribbon {
  text-align: center;
  font-family: "Gill Sans", "Trebuchet MS", sans-serif;
  letter-spacing: .18em;
  text-transform: uppercase;
  font-size: .7rem;
  background: var(--pomegranate);
  color: #f8f1e7;
  padding: .5rem;
  position: relative;
  z-index: 2;
}
.pattern {
  position: fixed; inset: 0;
  pointer-events: none;
  opacity: 0.07;
  background-image:
    linear-gradient(30deg, var(--pomegranate) 12%, transparent 12.5%, transparent 87%, var(--pomegranate) 87.5%, var(--pomegranate)),
    linear-gradient(150deg, var(--pomegranate) 12%, transparent 12.5%, transparent 87%, var(--pomegranate) 87.5%, var(--pomegranate)),
    linear-gradient(30deg, var(--pomegranate) 12%, transparent 12.5%, transparent 87%, var(--pomegranate) 87.5%, var(--pomegranate)),
    linear-gradient(150deg, var(--pomegranate) 12%, transparent 12.5%, transparent 87%, var(--pomegranate) 87.5%, var(--pomegranate));
  background-size: 28px 49px;
  background-position: 0 0, 0 0, 14px 24.5px, 14px 24.5px;
  z-index: 0;
}
.page { position: relative; z-index: 1; width: min(760px, calc(100% - 2rem)); margin: 0 auto; padding-bottom: 3.5rem; }
.mast { padding: 1.8rem 0 1rem; text-align: center; }
.wordmark { color: inherit; text-decoration: none; font-size: clamp(2rem, 6vw, 3rem); }
.eyebrow { letter-spacing: .2em; text-transform: uppercase; font-family: "Gill Sans", "Trebuchet MS", sans-serif; font-size: .72rem; color: var(--pomegranate); }
nav { display: flex; justify-content: center; gap: 1.3rem; margin-top: .9rem; font-family: "Gill Sans", "Trebuchet MS", sans-serif; }
nav a { color: inherit; text-decoration: none; border-bottom: 1px solid var(--saffron); }
h1 { font-weight: 400; font-size: clamp(2rem, 6vw, 3.1rem); line-height: 1.2; margin: 1.4rem 0 .8rem; }
.lede { font-size: 1.12rem; color: #3d312a; }
h2 { font-weight: 400; font-size: 2rem; margin: 2.6rem 0 .7rem; }
.menu { list-style: none; padding: 0; margin: 1.4rem 0 0; }
.menu li {
  background: #fffdf8;
  border: 1px solid var(--clay);
  padding: 1.1rem 1.2rem 1rem;
  margin: 0 0 .8rem;
}
.menu h3 { margin: 0 0 .25rem; font-size: 1.25rem; }
.menu p { margin: 0; color: var(--muted); }
.photo-slot {
  margin: 1.8rem 0;
  min-height: 200px;
  display: grid; place-items: center;
  border: 1px solid var(--clay);
  background:
    linear-gradient(180deg, rgba(122,31,43,.08), rgba(196,161,90,.16));
  letter-spacing: .12em;
  text-transform: uppercase;
  font-family: "Gill Sans", "Trebuchet MS", sans-serif;
  font-size: .72rem;
  color: var(--pomegranate);
}
.split { display: grid; gap: 1rem; }
@media (min-width: 720px) { .split { grid-template-columns: minmax(0,1fr) 200px; } }
.rating { font-size: 1.25rem; }
.source { color: var(--muted); }
.note { background: var(--clay); padding: .8rem 1rem; }
.facts { display: grid; gap: 1rem; }
dt { font-family: "Gill Sans", "Trebuchet MS", sans-serif; font-size: .72rem; letter-spacing: .14em; text-transform: uppercase; color: var(--pomegranate); }
dd { margin: .2rem 0 0; }
.btn {
  display: inline-block;
  margin-top: .6rem;
  padding: .75rem 1.2rem;
  background: var(--pomegranate);
  color: var(--parchment);
  text-decoration: none;
  font-family: "Gill Sans", "Trebuchet MS", sans-serif;
  letter-spacing: .08em;
  text-transform: uppercase;
  font-size: .78rem;
}
a { color: inherit; }
.ad-slot {
  border: 1px dashed #d3b89a;
  background: rgba(255,255,255,.55);
  padding: .9rem 1rem;
  display: grid;
  gap: .2rem;
  font-family: "Gill Sans", "Trebuchet MS", sans-serif;
}
.ad-kicker { font-size: .68rem; letter-spacing: .14em; text-transform: uppercase; color: var(--pomegranate); }
.ad-slot--banner { margin: .4rem 0 1rem; }
.ad-slot--card, .ad-slot--strip { margin: 1.6rem 0; }
.site-foot { color: var(--muted); font-size: .92rem; }

.map-frame {
  margin: 1.6rem 0 0;
  border: 1px solid var(--clay);
  background: #fffdf8;
  overflow: hidden;
}
.map-frame iframe {
  display: block;
  width: 100%;
  height: 240px;
  border: 0;
}
.map-frame figcaption {
  padding: .7rem 1rem .85rem;
  font-family: "Gill Sans", "Trebuchet MS", sans-serif;
  font-size: .78rem;
  letter-spacing: .1em;
  text-transform: uppercase;
  border-top: 1px solid var(--clay);
}
.map-frame figcaption a { text-decoration: none; border-bottom: 1px solid var(--saffron); }
@media (min-width: 700px) {
  .map-frame iframe { height: 380px; }
}
