@font-face {
  font-family: "Archivo";
  src: url("/fonts/archivo-var.woff2") format("woff2");
  font-weight: 400 800;
  font-stretch: 100% 125%;
  font-display: swap;
}
@font-face {
  font-family: "Atkinson Hyperlegible";
  src: url("/fonts/atkinson-400.woff2") format("woff2");
  font-weight: 400;
  font-display: swap;
}
@font-face {
  font-family: "Atkinson Hyperlegible";
  src: url("/fonts/atkinson-700.woff2") format("woff2");
  font-weight: 700;
  font-display: swap;
}
:root {
  --rv-ink: #13282a;
  --rv-ink-2: #4a5f60;
  --rv-paper: #f3f6f4;
  --rv-card: #ffffff;
  --rv-rule: #d3ddda;
  --rv-river: #2f6f78;
  --rv-river-soft: #e1eeee;
  --rv-berry: #6e2a5c;
  --rv-berry-dark: #531f45;
  --rv-berry-soft: #f4e9f0;
  --rv-berry-ink: #6e2a5c;
  --rv-cta: #c2368f;
  --rv-cta-dark: #a32a76;
  --rv-on-berry: #ffffff;
  --rv-band: #13282a;
  --rv-on-band: #e3ecea;
  --rv-on-band-2: #a9bcb9;
  --rv-open: #1d6b45;
  --rv-open-soft: #dcefe4;
  --rv-soon: #8a5d0c;
  --rv-soon-soft: #f5ead2;
  --rv-shut: #7d4a4a;
  --rv-shut-soft: #f1e6e6;
  --rv-display: "Archivo", "Arial Narrow", Arial, sans-serif;
  --rv-text: "Atkinson Hyperlegible", Verdana, sans-serif;
  color-scheme: light;
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --rv-ink: #e4eeec; --rv-ink-2: #9fb4b1; --rv-paper: #0f1b1c; --rv-card: #162728; --rv-rule: #2b4243;
    --rv-river: #78c0c8; --rv-river-soft: #1b3436; --rv-berry: #9a3f80; --rv-berry-dark: #b2549a; --rv-berry-soft: #211720; --rv-berry-ink: #e8a6d6;
    --rv-on-berry: #ffffff; --rv-band: #091314; --rv-on-band: #dce7e5; --rv-on-band-2: #93a8a5;
    --rv-open: #7fd6a6; --rv-open-soft: #163024; --rv-soon: #e8bd62; --rv-soon-soft: #2f2611; --rv-shut: #dba8a8; --rv-shut-soft: #2c1d1d;
    color-scheme: dark;
  }
}
:root[data-theme="dark"] {
  --rv-ink: #e4eeec; --rv-ink-2: #9fb4b1; --rv-paper: #0f1b1c; --rv-card: #162728; --rv-rule: #2b4243;
  --rv-river: #78c0c8; --rv-river-soft: #1b3436; --rv-berry: #9a3f80; --rv-berry-dark: #b2549a; --rv-berry-soft: #211720; --rv-berry-ink: #e8a6d6;
  --rv-on-berry: #ffffff; --rv-band: #091314; --rv-on-band: #dce7e5; --rv-on-band-2: #93a8a5;
  --rv-open: #7fd6a6; --rv-open-soft: #163024; --rv-soon: #e8bd62; --rv-soon-soft: #2f2611; --rv-shut: #dba8a8; --rv-shut-soft: #2c1d1d;
  color-scheme: dark;
}
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body { margin: 0; background: var(--rv-paper); color: var(--rv-ink); font: 400 1.0625rem/1.6 var(--rv-text); overflow-wrap: break-word; }
img { max-width: 100%; height: auto; display: block; }
a { color: var(--rv-river); text-underline-offset: 3px; }
a:hover { color: var(--rv-ink); }
:focus-visible { outline: 3px solid var(--rv-river); outline-offset: 3px; border-radius: 4px; }
h1, h2, h3 { font-family: var(--rv-display); margin: 0; line-height: 1.12; font-stretch: 112%; text-wrap: balance; }
p { margin: 0 0 1em; }
table { border-collapse: collapse; }
[id] { scroll-margin-top: 96px; }
.rv-skip { position: absolute; left: -999px; top: 8px; background: var(--rv-card); padding: 8px 12px; z-index: 30; }
.rv-skip:focus { left: 8px; }
.rv-wrap { max-width: 1140px; margin: 0 auto; padding-inline: 20px; }
.rv-num { font-variant-numeric: tabular-nums; }
.rv-ad {
  display: inline-block; vertical-align: middle;
  font: 700 .7rem/1 var(--rv-text); letter-spacing: .02em;
  padding: 3px 5px 2px; border-radius: 3px; border: 1px solid currentColor; opacity: .85;
}
.rv-disclose { background: var(--rv-band); color: var(--rv-on-band); font-size: .86rem; }
.rv-disclose .rv-wrap { padding-block: 8px; }
.rv-disclose a { color: var(--rv-on-band); }
.rv-head { background: var(--rv-card); border-bottom: 1px solid var(--rv-rule); position: sticky; top: 0; z-index: 10; }
.rv-head-in { display: flex; align-items: center; gap: 10px 26px; min-height: 70px; padding-block: 10px; }
.rv-brand { display: flex; align-items: center; gap: 11px; color: var(--rv-ink); text-decoration: none; margin-right: auto; min-width: 0; }
.rv-brand svg { flex: none; width: 44px; height: 44px; }
.rv-brand-name { font: 800 1.12rem/1.02 var(--rv-display); font-stretch: 118%; }
.rv-brand-name small { display: block; font: 700 .72rem/1.3 var(--rv-text); letter-spacing: .08em; text-transform: uppercase; color: var(--rv-ink-2); font-stretch: 100%; }
.rv-nav { display: flex; align-items: center; gap: 20px; font-weight: 700; font-size: .95rem; }
.rv-burger { display: none; }
.rv-nav a { color: var(--rv-ink); text-decoration: none; white-space: nowrap; padding-block: 6px; }
.rv-nav a:hover, .rv-nav a[aria-current="page"] { text-decoration: underline; text-decoration-thickness: 2px; }
.rv-paid { display: inline-flex; align-items: center; gap: 8px; }
.rv-play {
  display: inline-flex; align-items: center; gap: 10px;
  background: var(--rv-cta); color: #fff; text-decoration: none;
  font: 800 1.05rem/1 var(--rv-display); font-stretch: 110%;
  padding: 15px 22px 14px; border-radius: 10px; white-space: nowrap;
  box-shadow: 0 6px 18px rgba(194, 54, 143, .35);
}
.rv-play:hover { background: var(--rv-cta-dark); color: #fff; }
.rv-paid .rv-ad { color: var(--rv-ink-2); }
.rv-online-link { font-weight: 700; font-size: .95rem; color: var(--rv-berry-ink); white-space: nowrap; }
.rv-hero { padding-block: 40px 48px; }
.rv-hero h1 { font-weight: 800; font-size: clamp(2.05rem, 4.4vw, 3.3rem); letter-spacing: -.01em; margin-bottom: 14px; max-width: 21ch; }
.rv-lede { font-size: 1.15rem; max-width: 58ch; color: var(--rv-ink-2); margin-bottom: 24px; }
.rv-hero-grid { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px 32px; align-items: end; }
.rv-hero-text { padding-bottom: 26px; }
.rv-erin-home { --rv-erin-h: 440px; margin: 0 2% -1px 0; justify-self: end; }
.rv-page-hero { padding-block: 30px 0; border-bottom: 1px solid var(--rv-rule); background: var(--rv-card); }
.rv-page-hero-grid { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px 32px; align-items: end; }
.rv-page-hero-text { padding-bottom: 30px; }
.rv-erin-hero { --rv-erin-h: 350px; margin: 0 2% -1px 0; justify-self: end; }
.rv-byline { display: flex; align-items: center; gap: 10px; margin: 16px 0 0; font-size: .92rem; color: var(--rv-ink-2); }
.rv-byline-pic { width: 36px; height: 36px; border-radius: 50%; object-fit: cover; flex: none; }
.rv-byline a { font-weight: 700; }
.rv-theme { appearance: none; display: inline-flex; align-items: center; gap: 6px; font: 700 .82rem/1 var(--rv-text); color: var(--rv-ink-2); background: transparent; border: 1px solid var(--rv-rule); border-radius: 999px; padding: 8px 12px; cursor: pointer; white-space: nowrap; }
.rv-theme svg { width: 15px; height: 15px; fill: currentColor; }
.rv-theme:hover { color: var(--rv-ink); border-color: var(--rv-ink-2); }
.rv-page-hero h1 { font-weight: 800; font-size: clamp(1.9rem, 3.8vw, 2.8rem); max-width: 24ch; margin-bottom: 12px; }
.rv-page-hero .rv-lede { margin-bottom: 0; }
.rv-crumbs { font-size: .88rem; color: var(--rv-ink-2); margin-bottom: 10px; }
.rv-crumbs a { color: var(--rv-ink-2); }
.rv-kicker { font: 800 .8rem/1 var(--rv-display); color: var(--rv-river); letter-spacing: .04em; text-transform: uppercase; margin-bottom: 10px; }
.rv-planner { background: var(--rv-card); border: 1px solid var(--rv-rule); border-radius: 14px; overflow: hidden; }
.rv-controls {
  display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr) minmax(0, 1fr);
  gap: 18px 22px; padding: 20px 22px; border-bottom: 1px solid var(--rv-rule); background: var(--rv-river-soft);
}
.rv-field { display: flex; flex-direction: column; gap: 7px; min-width: 0; }
.rv-field > span, .rv-field > label { font: 800 .74rem/1 var(--rv-display); letter-spacing: .06em; text-transform: uppercase; color: var(--rv-ink-2); }
.rv-row { display: flex; gap: 8px; flex-wrap: wrap; }
.rv-tool select, .rv-tool input[type="number"], .rv-tool input[type="time"] {
  font: 700 1rem/1.2 var(--rv-text); color: var(--rv-ink); background: var(--rv-card);
  border: 1px solid var(--rv-rule); border-radius: 8px; padding: 10px 12px; min-width: 0; flex: 1 1 auto; max-width: 100%;
}
.rv-field > select, .rv-field > input { flex: none; }
.rv-now {
  font: 800 .9rem/1 var(--rv-display); color: var(--rv-river); background: var(--rv-card);
  border: 1.5px solid var(--rv-river); border-radius: 8px; padding: 10px 13px; cursor: pointer;
}
.rv-now[aria-pressed="true"] { background: var(--rv-river); color: var(--rv-card); }
.rv-seg { display: flex; border: 1.5px solid var(--rv-river); border-radius: 8px; overflow: hidden; }
.rv-seg label { flex: 1; text-align: center; cursor: pointer; position: relative; }
.rv-seg input { position: absolute; opacity: 0; pointer-events: none; }
.rv-seg span { display: block; padding: 10px 8px; font: 800 .95rem/1.2 var(--rv-display); color: var(--rv-river); }
.rv-seg input:checked + span { background: var(--rv-river); color: var(--rv-card); }
.rv-seg input:focus-visible + span { outline: 3px solid var(--rv-ink); outline-offset: -3px; }
.rv-clock { font-size: .85rem; color: var(--rv-ink-2); }
.rv-results { list-style: none; margin: 0; padding: 0; }
.rv-res {
  display: grid; grid-template-columns: 11.5rem minmax(0, 1fr) auto;
  gap: 6px 18px; align-items: center; padding: 14px 22px; border-bottom: 1px solid var(--rv-rule);
}
.rv-res:last-child { border-bottom: 0; }
.rv-res.rv-is-shut .rv-res-name { color: var(--rv-ink-2); }
.rv-pill {
  justify-self: start; display: inline-flex; align-items: center; gap: 7px;
  font: 700 .84rem/1.2 var(--rv-text); padding: 6px 10px; border-radius: 999px; font-variant-numeric: tabular-nums;
}
.rv-pill::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: currentColor; flex: none; }
.rv-pill.rv-open { color: var(--rv-open); background: var(--rv-open-soft); }
.rv-pill.rv-soon { color: var(--rv-soon); background: var(--rv-soon-soft); }
.rv-pill.rv-shut { color: var(--rv-shut); background: var(--rv-shut-soft); }
.rv-res-name { font: 800 1.08rem/1.25 var(--rv-display); font-stretch: 106%; color: var(--rv-ink); text-decoration: none; }
.rv-res-name:hover { text-decoration: underline; }
.rv-res-area { display: block; font-size: .88rem; color: var(--rv-ink-2); }
.rv-res-km { font: 800 1.05rem/1 var(--rv-display); color: var(--rv-ink); text-align: right; font-variant-numeric: tabular-nums; }
.rv-res-km small { display: block; font: 400 .74rem/1.3 var(--rv-text); color: var(--rv-ink-2); }
.rv-tool-note { padding: 14px 22px; font-size: .84rem; color: var(--rv-ink-2); background: var(--rv-paper); border-top: 1px solid var(--rv-rule); margin: 0; }
.rv-card-tip { margin-top: 18px; display: flex; gap: 6px 14px; align-items: baseline; flex-wrap: wrap; padding: 14px 18px; border-radius: 10px; background: var(--rv-berry-soft); }
.rv-card-tip b { font: 800 1rem/1.3 var(--rv-display); font-stretch: 106%; }
.rv-card-tip p { margin: 0; flex: 1 1 32ch; }
.rv-block { padding-block: 56px; border-top: 1px solid var(--rv-rule); }
.rv-block h2 { font-size: clamp(1.7rem, 3.2vw, 2.3rem); font-weight: 800; margin-bottom: 14px; }
.rv-prose { max-width: 68ch; }
.rv-intro { color: var(--rv-ink-2); max-width: 66ch; }
.rv-online { background: var(--rv-berry-soft); }
.rv-online-grid { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); gap: 40px; align-items: start; }
.rv-partner { background: var(--rv-card); border: 2px solid var(--rv-berry); border-radius: 14px; padding: 26px; }
.rv-partner h3 { font-size: 1.3rem; font-weight: 800; margin-bottom: 10px; display: flex; gap: 10px; align-items: center; flex-wrap: wrap; }
.rv-partner ul { margin: 0 0 20px; padding-left: 1.1em; }
.rv-partner li { margin-bottom: 6px; }
.rv-partner .rv-play { width: 100%; justify-content: center; font-size: 1.08rem; padding: 17px 18px 15px; white-space: normal; text-align: center; }
.rv-partner-small { font-size: .86rem; color: var(--rv-ink-2); margin: 14px 0 0; }
.rv-rg { font-size: .9rem; margin: 14px 0 0; padding-top: 12px; border-top: 1px solid var(--rv-rule); }
.rv-topad { margin-top: -20px; }
.rv-partner-top { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px 32px; align-items: center; padding: 20px 26px; background: var(--rv-berry-soft); }
.rv-partner-top h2 { font-size: clamp(1.3rem, 2.2vw, 1.6rem); font-weight: 800; margin: 0 0 6px; display: flex; gap: 10px; align-items: center; flex-wrap: wrap; }
.rv-partner-top .rv-top-copy p { margin: 0; color: var(--rv-ink-2); max-width: 64ch; }
.rv-partner .rv-play-top { width: auto; font-size: 1.2rem; padding: 18px 34px 16px; white-space: nowrap; }
.rv-partner-top .rv-rg { grid-column: 1 / -1; margin-top: 6px; font-size: .84rem; color: var(--rv-ink-2); }
.rv-cat-head { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 22rem); gap: 36px; align-items: start; }
.rv-compass { background: var(--rv-card); border: 1px solid var(--rv-rule); border-radius: 12px; padding: 16px; }
.rv-compass h3 { font-size: .98rem; font-stretch: 105%; margin-bottom: 2px; }
.rv-compass p { font-size: .82rem; color: var(--rv-ink-2); margin-bottom: 12px; }
.rv-grid9 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 5px; }
.rv-cell { min-height: 74px; border-radius: 7px; padding: 7px 8px; background: var(--rv-river-soft); font-size: .78rem; line-height: 1.25; display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.rv-cell.rv-empty { background: transparent; border: 1px dashed var(--rv-rule); }
.rv-cell.rv-center { background: var(--rv-band); color: var(--rv-on-band); }
.rv-cell b { font: 800 .66rem/1 var(--rv-display); color: var(--rv-ink-2); letter-spacing: .04em; text-transform: uppercase; }
.rv-cell.rv-center b { color: var(--rv-on-band-2); }
.rv-cell a { color: var(--rv-ink); font-weight: 700; text-decoration: none; }
.rv-cell.rv-center a { color: var(--rv-on-band); }
.rv-venues { list-style: none; margin: 32px 0 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.rv-venue { background: var(--rv-card); border: 1px solid var(--rv-rule); border-radius: 12px; padding: 20px 22px; display: flex; flex-direction: column; min-width: 0; }
.rv-venue-area { font: 800 .8rem/1 var(--rv-display); color: var(--rv-river); margin-bottom: 8px; }
.rv-venue h3 { font-size: 1.32rem; font-weight: 800; margin-bottom: 4px; }
.rv-venue h3 a { color: var(--rv-ink); text-decoration: underline; text-decoration-color: var(--rv-river); text-decoration-thickness: 2px; text-underline-offset: 4px; }
.rv-venue h3 a:hover, .rv-venue h3 a:focus-visible { color: var(--rv-river); }
.rv-cell a { text-decoration: underline; text-decoration-color: var(--rv-rule); text-underline-offset: 3px; }
.rv-venue-kind { color: var(--rv-ink-2); font-size: .95rem; margin-bottom: 14px; }
.rv-facts { margin: 0 0 16px; display: grid; grid-template-columns: 7ch minmax(0, 1fr); gap: 6px 14px; font-size: .95rem; }
.rv-facts dt { color: var(--rv-ink-2); }
.rv-facts dd { margin: 0; min-width: 0; overflow-wrap: anywhere; }
.rv-venue-links { margin-top: auto; display: flex; gap: 18px; flex-wrap: wrap; font-weight: 700; font-size: .95rem; }
.rv-tips { list-style: none; margin: 24px 0 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.rv-tips li { border-left: 4px solid var(--rv-river); padding-left: 16px; }
.rv-tips h3 { font-size: 1.1rem; font-stretch: 105%; margin-bottom: 6px; }
.rv-tips p { font-size: 1rem; margin: 0; }
.rv-phone { font: 800 1.6rem/1.2 var(--rv-display); color: var(--rv-ink); font-variant-numeric: tabular-nums; }
.rv-page { padding-block: 34px 56px; }
.rv-body { max-width: 72ch; min-width: 0; }
.rv-grid { display: grid; grid-template-columns: minmax(0, 72ch) minmax(0, 300px); gap: 28px 56px; justify-content: space-between; align-items: start; }
.rv-grid > .rv-body { grid-column: 1; grid-row: 1; }
.rv-grid > .rv-aside { grid-column: 2; grid-row: 1; position: sticky; top: 96px; display: grid; gap: 16px; }
.rv-aside .rv-side-facts { margin: 0; }
.rv-aside .rv-related { flex-direction: column; align-items: stretch; }
.rv-aside .rv-today-strip { flex-direction: column; align-items: flex-start; margin: 0; }
.rv-aside .rv-facts { grid-template-columns: 1fr; gap: 2px; }
.rv-aside .rv-facts dd { margin-bottom: 8px; }
.rv-sec { margin-bottom: 38px; }
.rv-sec::after { content: ""; display: table; clear: both; }
.rv-sec h2 { font-size: clamp(1.45rem, 2.6vw, 1.85rem); font-weight: 800; margin-bottom: 12px; }
.rv-sec ul, .rv-sec ol { padding-left: 1.2em; margin: 0 0 1em; }
.rv-sec li { margin-bottom: .4em; }
.rv-table-wrap { overflow-x: auto; margin: 0 0 1.2em; border: 1px solid var(--rv-rule); border-radius: 10px; background: var(--rv-card); }
.rv-table-wrap table { width: 100%; font-size: .95rem; }
.rv-table-wrap th, .rv-table-wrap td { text-align: left; padding: 10px 12px; border-bottom: 1px solid var(--rv-rule); vertical-align: top; }
.rv-table-wrap thead th { font: 800 .8rem/1.2 var(--rv-display); letter-spacing: .04em; text-transform: uppercase; color: var(--rv-ink-2); background: var(--rv-river-soft); }
.rv-table-wrap tr:last-child td { border-bottom: 0; }
.rv-erin { margin: 0; }
.rv-erin-in { position: relative; display: inline-block; vertical-align: bottom; }
.rv-erin-in img { display: block; height: var(--rv-erin-h, 330px); width: auto; max-width: none; }
.rv-sign-text { position: absolute; display: grid; place-items: center; padding: 3% 4%; text-align: center; color: #13282a; font: 800 calc(var(--rv-erin-h, 330px) * var(--r, .6) * var(--k, .12))/1.02 var(--rv-display); font-stretch: 108%; letter-spacing: -.01em; overflow-wrap: normal; hyphens: none; pointer-events: none; }
.rv-erin-float { float: right; margin: 4px 0 14px 28px; shape-outside: margin-box; }
.rv-erin-float { --rv-erin-h: clamp(260px, 28vw, 320px); }
.rv-faq-grid { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 24px 40px; align-items: end; }
.rv-erin-side { --rv-erin-h: 380px; }
.rv-foot-author { display: flex; gap: 14px; align-items: center; margin-bottom: 16px; }
.rv-foot-pic { width: 64px; height: 64px; border-radius: 50%; object-fit: cover; flex: none; }
.rv-foot-author p { margin: 0; }
.rv-photo { margin: 0 0 30px; }
.rv-photo img { width: 100%; border-radius: 12px; aspect-ratio: 16 / 9; object-fit: cover; background: var(--rv-river-soft); }
.rv-photo figcaption, .rv-credit { font-size: .8rem; color: var(--rv-ink-2); margin-top: 6px; }
.rv-photo figcaption a, .rv-credit a { color: var(--rv-ink-2); }
.rv-tool { margin: 6px 0 38px; }
.rv-tool-box { background: var(--rv-card); border: 1px solid var(--rv-rule); border-radius: 14px; overflow: hidden; }
.rv-tool-head { padding: 16px 20px; background: var(--rv-river-soft); border-bottom: 1px solid var(--rv-rule); }
.rv-tool-head h2, .rv-tool-head h3 { font-size: 1.12rem; font-weight: 800; margin: 0 0 4px; }
.rv-tool-head p { margin: 0; font-size: .9rem; color: var(--rv-ink-2); }
.rv-tool-body { padding: 18px 20px; }
.rv-form { display: grid; grid-template-columns: repeat(auto-fit, minmax(12rem, 1fr)); gap: 14px 18px; margin-bottom: 16px; }
.rv-answer { border-radius: 10px; padding: 14px 16px; background: var(--rv-paper); }
.rv-answer p:last-child { margin: 0; }
.rv-answer.rv-yes { background: var(--rv-open-soft); }
.rv-answer.rv-no { background: var(--rv-shut-soft); }
.rv-heat { width: 100%; font-size: .86rem; font-variant-numeric: tabular-nums; }
.rv-heat th, .rv-heat td { padding: 8px 6px; text-align: center; border-bottom: 1px solid var(--rv-rule); }
.rv-heat th:first-child, .rv-heat td:first-child { text-align: left; white-space: nowrap; }
.rv-heat td.rv-h24 { background: var(--rv-open-soft); color: var(--rv-open); font-weight: 700; }
.rv-heat td.rv-h4 { background: var(--rv-river-soft); }
.rv-heat td.rv-h3 { background: transparent; }
.rv-heat td.rv-today { outline: 2px solid var(--rv-river); outline-offset: -2px; }
.rv-legend { display: flex; flex-wrap: wrap; gap: 6px 16px; font-size: .82rem; color: var(--rv-ink-2); padding: 10px 0 0; }
.rv-legend i { display: inline-block; width: 12px; height: 12px; border-radius: 3px; vertical-align: -1px; margin-right: 6px; border: 1px solid var(--rv-rule); }
.rv-today-strip { display: flex; flex-wrap: wrap; gap: 10px 14px; align-items: center; padding: 14px 18px; border-radius: 12px; background: var(--rv-card); border: 1px solid var(--rv-rule); margin-bottom: 28px; }
.rv-today-strip b { font: 800 .82rem/1 var(--rv-display); letter-spacing: .05em; text-transform: uppercase; color: var(--rv-ink-2); }
.rv-week { font-size: .92rem; }
.rv-week td:first-child { white-space: nowrap; color: var(--rv-ink-2); }
.rv-week tr.rv-today td { font-weight: 700; color: var(--rv-ink); }
.rv-side-facts { background: var(--rv-card); border: 1px solid var(--rv-rule); border-radius: 12px; padding: 18px 20px; margin-bottom: 30px; }
.rv-side-facts h2 { font-size: 1.1rem; margin-bottom: 12px; }
.rv-side-facts .rv-facts { margin-bottom: 0; }
.rv-faq { margin-top: 8px; }
.rv-faq details { border-top: 1px solid var(--rv-rule); }
.rv-faq details:last-child { border-bottom: 1px solid var(--rv-rule); }
.rv-faq summary { cursor: pointer; list-style: none; font: 800 1.06rem/1.35 var(--rv-display); font-stretch: 104%; padding: 18px 36px 18px 0; position: relative; }
.rv-faq summary::-webkit-details-marker { display: none; }
.rv-faq summary::after { content: "+"; position: absolute; right: 4px; top: 14px; font: 400 1.6rem/1 var(--rv-display); color: var(--rv-ink-2); }
.rv-faq details[open] summary::after { content: "\2212"; }
.rv-faq .rv-faq-a { padding-bottom: 14px; }
.rv-checked { font-size: .86rem; color: var(--rv-ink-2); border-top: 1px solid var(--rv-rule); padding-top: 14px; margin-top: 30px; }
.rv-related { display: flex; flex-wrap: wrap; gap: 10px; list-style: none; padding: 0; margin: 12px 0 0; }
.rv-related a { display: inline-block; padding: 8px 12px; border: 1px solid var(--rv-rule); border-radius: 8px; background: var(--rv-card); text-decoration: none; color: var(--rv-ink); font-weight: 700; font-size: .92rem; }
.rv-related a:hover { border-color: var(--rv-river); }
.rv-author { display: grid; grid-template-columns: 96px minmax(0, 1fr); gap: 18px; align-items: center; background: var(--rv-card); border: 1px solid var(--rv-rule); border-radius: 12px; padding: 16px 18px; margin: 0 0 30px; }
.rv-author img { width: 96px; height: 96px; border-radius: 50%; object-fit: cover; object-position: top; background: var(--rv-river-soft); }
.rv-author p { margin: 0; }
.rv-author b { font-family: var(--rv-display); }
.rv-foot { background: var(--rv-band); color: var(--rv-on-band); padding-block: 44px 34px; font-size: .95rem; }
.rv-foot a { color: var(--rv-on-band); }
.rv-foot-grid { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr) minmax(0, 1fr); gap: 36px; }
.rv-foot h2 { font: 800 .8rem/1 var(--rv-display); letter-spacing: .06em; text-transform: uppercase; color: var(--rv-on-band-2); margin-bottom: 12px; }
.rv-foot-links { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.rv-foot-help { color: var(--rv-on-band-2); font-size: .9rem; margin: 18px 0 0; }
.rv-hop { min-height: 60vh; display: grid; place-items: center; text-align: center; padding: 40px 20px; }
@media (max-width: 900px) {
  .rv-controls { grid-template-columns: 1fr 1fr; }
  .rv-controls .rv-field:first-child { grid-column: 1 / -1; }
  .rv-cat-head, .rv-online-grid { grid-template-columns: 1fr; gap: 28px; }
  .rv-foot-grid { grid-template-columns: 1fr 1fr; }
  .rv-foot-grid > :first-child { grid-column: 1 / -1; }
  .rv-venues, .rv-tips { grid-template-columns: 1fr; }
  .rv-hero-grid { grid-template-columns: 1fr; }
  .rv-grid { grid-template-columns: minmax(0, 1fr); }
  .rv-grid > .rv-body, .rv-grid > .rv-aside { grid-column: 1; grid-row: auto; position: static; }
  .rv-erin-home { --rv-erin-h: 330px; justify-self: center; margin: 0 auto -1px; }
  .rv-faq-grid { grid-template-columns: 1fr; }
  .rv-erin-side { display: none; }
  .rv-nav { gap: 14px; }
  .rv-head-in { column-gap: 16px; }
}
@media (min-width: 761px) and (max-width: 960px) {
  .rv-brand-name { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
}
@media (max-width: 760px) {
  .rv-head-in { gap: 8px; min-height: 60px; padding-block: 8px; }
  .rv-brand-name small { display: none; }
  .rv-paid { gap: 6px; }
  .rv-burger { display: inline-grid; place-content: center; gap: 4px; flex: none; width: 42px; height: 42px; padding: 0; border: 1px solid var(--rv-rule); border-radius: 10px; background: transparent; color: var(--rv-ink); cursor: pointer; }
  .rv-burger span { display: block; width: 18px; height: 2px; border-radius: 2px; background: currentColor; transition: transform .2s, opacity .2s; }
  .rv-open .rv-burger span:nth-child(1) { transform: translateY(6px) rotate(45deg); }
  .rv-open .rv-burger span:nth-child(2) { opacity: 0; }
  .rv-open .rv-burger span:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }
  .rv-js .rv-nav { display: none; }
  .rv-js .rv-open .rv-nav { display: flex; flex-direction: column; align-items: stretch; gap: 0; position: absolute; left: 0; right: 0; top: 100%; padding: 6px 16px 18px; background: var(--rv-card); border-bottom: 1px solid var(--rv-rule); box-shadow: 0 14px 24px rgb(0 0 0 / .14); max-height: calc(100dvh - 64px); overflow-y: auto; }
  .rv-open .rv-nav a { padding: 13px 0; border-bottom: 1px solid var(--rv-rule); font-size: 1.05rem; }
  .rv-open .rv-nav .rv-theme { margin-top: 14px; align-self: flex-start; }
  .rv-nav .rv-theme span { display: inline; }
}
@media (max-width: 360px) {
  .rv-brand-name { display: none; }
}
@media (max-width: 640px) {
  .rv-partner-top { grid-template-columns: 1fr; padding: 16px 18px; }
  .rv-partner .rv-play-top { width: 100%; white-space: normal; }
  .rv-wrap { padding-inline: 16px; }
  .rv-brand svg { width: 38px; height: 38px; }
  .rv-brand-name { font-size: 1rem; }
  .rv-play { padding: 11px 12px 10px; font-size: .9rem; }
  .rv-hero { padding-block: 28px 38px; }
  .rv-controls { grid-template-columns: 1fr; padding: 16px; }
  .rv-res { grid-template-columns: minmax(0, 1fr) auto; padding: 13px 16px; }
  .rv-res .rv-pill { grid-column: 1 / -1; }
  .rv-tool-note { padding: 12px 16px; }
  .rv-block { padding-block: 44px; }
  .rv-erin-float { float: none; margin: 0 0 18px; display: flex; justify-content: center; }
  .rv-erin-float { --rv-erin-h: 240px; }
  .rv-page-hero-grid { grid-template-columns: 1fr; }
  .rv-page-hero-text { padding-bottom: 8px; }
  .rv-erin-hero { --rv-erin-h: 250px; justify-self: center; margin: 0 auto -1px; }
  .rv-erin-home { --rv-erin-h: 240px; }
  .rv-theme span { display: none; }
  .rv-foot-grid { grid-template-columns: 1fr; }
  .rv-author { grid-template-columns: 72px minmax(0, 1fr); }
  .rv-author img { width: 72px; height: 72px; }
  .rv-heat { font-size: .78rem; }
  .rv-heat th, .rv-heat td { padding: 7px 3px; }
}
@media (prefers-reduced-motion: reduce) { * { transition: none !important; animation: none !important; } }
