:root {
  --color-bg: #f6f2ec;
  --color-text: #221c1a;
  --color-accent: #9e3a1b;
  --font-sans: "Trebuchet MS", "Lucida Grande", "Lucida Sans Unicode", Ubuntu, "Noto Sans", Roboto, sans-serif;
  --font-display: "Iowan Old Style", "Palatino Linotype", Palatino, "Book Antiqua", Georgia, "Noto Serif", serif;
  --space-section: 2.5rem;
  --cm-paper: #ffffff;
  --cm-ink-2: #463c36;
  --cm-muted: #675c55;
  --cm-line: #e2d9cf;
  --cm-line-strong: #b3a597;
  --cm-accent-deep: #74290f;
  --cm-accent-soft: #f6e3da;
  --cm-accent-hover: #fbf4f0;
  --cm-band: #213a5c;
  --cm-on-band: #f6f2ec;
  --cm-on-band-soft: #c9d3e2;
  --cm-sand: #ddb874;
  --cm-sand-soft: #f6ead1;
  --cm-sand-edge: #a87a2c;
  --cm-crimson: #9a1f3c;
  --cm-crimson-soft: #f8e1e6;
  --cm-amber: #7f5600;
  --cm-amber-soft: #f7ecd2;
  --cm-sky: #2a5a8c;
  --cm-sky-soft: #e3ebf4;
  --cm-grey: #eeeae5;
  --cm-radius: .3rem;
  --cm-radius-s: .2rem;
  --cm-chip: .25rem;
  --cm-shadow: 0 1px 2px rgba(34, 28, 26, .06), 0 6px 18px -12px rgba(34, 28, 26, .42);
  --cm-gutter: 1rem;
  --cm-cols: minmax(0, 1.15fr) minmax(0, .8fr) minmax(0, 1fr);
}

*, *::before, *::after { box-sizing: border-box; }
[hidden]:not(.cm-sprite) { display: none !important; }
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; color-scheme: light; scroll-padding-top: 1rem; }
body {
  margin: 0;
  background: var(--color-bg);
  color: var(--color-text);
  font-family: var(--font-sans);
  font-size: 1rem;
  font-size-adjust: .5;
  line-height: 1.5;
  overflow-wrap: break-word;
}
a { color: var(--cm-accent-deep); text-decoration-thickness: .08em; text-underline-offset: .18em; }
a:hover { color: var(--color-accent); text-decoration-thickness: .14em; }
:focus-visible { outline: 3px solid var(--cm-accent-deep); outline-offset: 2px; }
h1, h2, h3 { margin: 0 0 .5em; font-family: var(--font-display); font-weight: 700; line-height: 1.15; color: var(--color-text); }
h1 { font-size: clamp(1.8rem, 1.35rem + 1.8vw, 2.7rem); letter-spacing: -.005em; }
h2 { margin-top: var(--space-section); font-size: 1.5rem; }
h3 { font-size: 1.125rem; }
p, ul, ol, table, details { margin: 0 0 1rem; }
img, svg { max-width: 100%; height: auto; }
button, input, select, textarea { font: inherit; color: inherit; }
table { border-collapse: collapse; }
th { text-align: left; }
summary { cursor: pointer; }

.cm-sprite { position: absolute; width: 0; height: 0; overflow: hidden; }
.cm-sprite symbol { stroke-width: 2.1; }
.cm-icon { flex: none; width: 1.2em; height: 1.2em; vertical-align: -.24em; }
.cm-skip { position: absolute; left: -999rem; top: .5rem; z-index: 30; padding: .5rem .9rem; border-radius: var(--cm-radius-s); background: var(--color-text); color: var(--cm-paper); font-weight: 700; }
.cm-skip:focus { left: .75rem; }
.cm-wrap { max-width: 75rem; margin: 0 auto; padding: 0 var(--cm-gutter); }
@media (min-width: 40rem) {
  .cm-wrap { --cm-gutter: 1.5rem; }
}

.cm-header { position: relative; z-index: 5; background: var(--cm-band); color: var(--cm-on-band); }
.cm-header::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 100%;
  height: .4rem;
  background: repeating-linear-gradient(90deg, var(--color-accent) 0 1.6rem, var(--cm-accent-deep) 1.6rem 1.72rem);
  pointer-events: none;
}
.cm-header :focus-visible { outline-color: var(--cm-sand); }
.cm-header .cm-wrap { display: flex; flex-wrap: wrap; align-items: center; gap: .35rem 1rem; padding-top: .7rem; padding-bottom: .55rem; }
.cm-brand { display: inline-flex; align-items: center; gap: .55rem; font-family: var(--font-display); font-size: 1.4rem; font-weight: 700; letter-spacing: 0; color: var(--cm-on-band); text-decoration: none; }
.cm-brand::before { content: ""; width: 1.25rem; height: .8rem; border-radius: .1rem; background: var(--color-accent); box-shadow: inset 0 -.2rem 0 var(--cm-accent-deep), 0 0 0 2px var(--cm-on-band); }
.cm-brand:hover { color: var(--cm-sand); }
.cm-nav { order: 3; flex: 1 1 100%; }
.cm-nav ul { list-style: none; margin: 0; padding: 0; }
.cm-nav > ul { display: flex; flex-wrap: wrap; gap: .1rem .2rem; margin: 0 -.55rem; }
.cm-nav > ul > li > a { display: block; padding: .3rem .6rem; border-radius: var(--cm-chip); color: var(--cm-on-band); font-weight: 700; text-decoration: none; }
.cm-nav > ul > li > a:hover, .cm-has-sub:focus-within > a { background: rgba(246, 242, 236, .14); color: var(--cm-on-band); }
.cm-nav > ul > li > a[aria-current="page"] { background: var(--cm-on-band); color: var(--cm-band); }
.cm-has-sub { position: relative; }
.cm-sub {
  display: none;
  position: absolute;
  left: 0;
  top: 100%;
  z-index: 20;
  min-width: 13rem;
  max-height: 70vh;
  overflow-y: auto;
  padding: .4rem;
  background: var(--cm-paper);
  border: 1px solid var(--cm-line);
  border-radius: var(--cm-radius);
  box-shadow: 0 16px 32px -16px rgba(34, 28, 26, .5);
}
.cm-nav > ul > li:nth-last-child(-n+2) > .cm-sub { left: auto; right: 0; }
.cm-has-sub:focus-within > .cm-sub { display: block; }
@media (hover: hover) {
  .cm-has-sub:hover > .cm-sub { display: block; }
}
.cm-sub a { display: block; padding: .3rem .6rem; border-radius: var(--cm-radius-s); color: var(--color-text); text-decoration: none; }
.cm-sub a:hover { background: var(--cm-accent-soft); color: var(--cm-accent-deep); }
.cm-sub a[aria-current="page"] { background: var(--cm-accent-soft); color: var(--cm-accent-deep); font-weight: 700; }
.cm-langs { display: flex; gap: .3rem; margin: 0 0 0 auto; padding: 0; list-style: none; font-size: .875rem; }
.cm-langs a { display: block; padding: .15rem .65rem; border: 1.5px solid rgba(246, 242, 236, .55); border-radius: var(--cm-chip); color: var(--cm-on-band); font-weight: 700; text-decoration: none; }
.cm-langs a:hover { background: rgba(246, 242, 236, .14); color: var(--cm-on-band); }
.cm-langs a[aria-current] { background: var(--cm-on-band); border-color: var(--cm-on-band); color: var(--cm-band); }
@media (max-width: 39.99rem) {
  h1 { font-size: 1.625rem; margin-bottom: .4em; }
  .cm-main { padding-top: .75rem; }
  .cm-numbers { margin-bottom: .5rem; font-size: .875rem; line-height: 1.45; }
  .cm-main .cm-lead { margin-bottom: .6rem; font-size: .9375rem; line-height: 1.45; }
  .cm-filters-slot { margin: .6rem 0; }
  .cm-header .cm-wrap { gap: .2rem .75rem; padding-top: .45rem; padding-bottom: .3rem; }
  .cm-nav > ul { margin: 0 -.45rem; }
  .cm-nav > ul > li > a { padding: .25rem .45rem; font-size: .9375rem; }
}
@media (min-width: 40rem) {
  .cm-brand { white-space: nowrap; }
}
@media (min-width: 60rem) {
  .cm-header .cm-wrap { row-gap: .5rem; padding-top: .9rem; padding-bottom: .6rem; }
  .cm-brand { font-size: 1.55rem; }
}

.cm-main { padding: 1.9rem 0 var(--space-section); }
.cm-main:focus { outline: none; }
.cm-crumbs { margin-bottom: .75rem; font-size: .875rem; color: var(--cm-muted); }
.cm-crumbs ol { display: flex; flex-wrap: wrap; align-items: center; margin: 0; padding: 0; list-style: none; }
.cm-crumbs li + li::before { content: ""; display: inline-block; width: .38em; height: .38em; margin: 0 .6em .1em .4em; border-top: 1.5px solid currentColor; border-right: 1.5px solid currentColor; transform: rotate(45deg); }
.cm-crumbs a { color: var(--cm-ink-2); }

.cm-numbers { margin-bottom: .75rem; font-size: 1.0625rem; color: var(--cm-ink-2); }
.cm-num { padding: 0 .1em; background: linear-gradient(transparent 60%, var(--cm-sand) 60%); color: var(--color-text); font-weight: 700; font-variant-numeric: lining-nums tabular-nums; }
.cm-lead, .cm-intro { font-size: 1.125rem; color: var(--cm-ink-2); }
.cm-note { font-size: .875rem; color: var(--cm-muted); }
.cm-weak { color: var(--cm-muted); }
.cm-count { display: inline-block; min-width: 1.7rem; padding: .05rem .45rem; border-radius: var(--cm-chip); background: var(--cm-sand-soft); color: var(--color-text); font-size: .8125rem; font-weight: 700; text-align: center; font-variant-numeric: tabular-nums; }
.cm-noscript { padding: .6rem .9rem; border-radius: var(--cm-radius-s); background: var(--cm-sand-soft); font-size: .875rem; }
.cm-empty { padding: 1.5rem; border: 2px dashed var(--cm-line-strong); border-radius: var(--cm-radius); background: var(--cm-paper); color: var(--cm-ink-2); }

.cm-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .45rem;
  min-height: 2.5rem;
  padding: .45rem 1rem;
  border: 2px solid var(--color-accent);
  border-radius: var(--cm-chip);
  background: var(--cm-paper);
  color: var(--cm-accent-deep);
  font: inherit;
  font-weight: 700;
  line-height: 1.2;
  text-decoration: none;
  cursor: pointer;
}
.cm-btn:hover { background: var(--color-accent); color: var(--cm-paper); }

.cm-filters-slot { margin: 1.25rem 0; }
.cm-filters {
  padding: .5rem .9rem .2rem;
  background: var(--cm-paper);
  border: 1px solid var(--cm-line);
  border-top: 4px solid var(--color-accent);
  border-radius: var(--cm-radius);
  box-shadow: var(--cm-shadow);
  font-size: .9375rem;
  line-height: 1.4;
}
.cm-filters-box { margin: 0; }
.cm-filters-box > summary, .cm-filters-more > summary { padding: .3rem 0; color: var(--cm-accent-deep); font-weight: 700; }
.cm-filters-more { display: block; margin: 0 0 .3rem; }
.cm-filters-more:not([open]) { display: inline-block; margin-right: 1.1rem; }
.cm-filters-more[open] > summary { margin-bottom: .4rem; }
.cm-frow { display: inline-flex; flex-wrap: wrap; align-items: center; gap: .25rem .45rem; min-width: 0; margin: 0 1.1rem .45rem 0; vertical-align: middle; }
.cm-frow label { overflow-wrap: anywhere; }
.cm-frow > label[for]:first-child, .cm-frow > span[aria-hidden]:first-child { color: var(--cm-ink-2); font-size: .8125rem; font-weight: 700; line-height: 1.2; }
.cm-frow select, .cm-frow input[type="number"], .cm-frow input[type="text"], .cm-frow input[type="time"] {
  flex: 0 1 auto;
  min-width: 0;
  min-height: 2.1rem;
  padding: .15rem .45rem;
  border: 1.5px solid var(--cm-line-strong);
  border-radius: var(--cm-radius-s);
  background: var(--cm-paper);
}
.cm-frow select:focus, .cm-frow input:focus { border-color: var(--color-accent); }
.cm-frow select:disabled, .cm-frow input:disabled { border-style: dashed; background: var(--cm-grey); color: var(--cm-ink-2); }
.cm-frow input[type="checkbox"] { flex: none; width: 1.1rem; height: 1.1rem; margin: 0; accent-color: var(--color-accent); }
.cm-frow label:has(> input[type="checkbox"]) { display: inline-flex; align-items: center; gap: .45rem; min-height: 1.9rem; cursor: pointer; }
.cm-frow[role="group"] label:has(> input) { position: relative; min-height: 1.85rem; padding: .2rem .6rem; font-size: .875rem; border: 1.5px solid var(--cm-line-strong); border-radius: var(--cm-chip); background: var(--cm-paper); }
.cm-frow[role="group"] label > input[type="checkbox"] { position: absolute; left: 50%; top: 50%; width: 1px; height: 1px; opacity: 0; }
.cm-frow[role="group"] label:hover { border-color: var(--color-accent); }
.cm-frow[role="group"] label:has(> input:checked) { border-color: var(--color-accent); background: var(--color-accent); color: var(--cm-paper); font-weight: 700; }
.cm-frow[role="group"] label:has(> input:focus-visible) { outline: 3px solid var(--cm-accent-deep); outline-offset: 2px; }
.cm-frow[role="group"] label:has(> input:disabled) { border-style: dashed; cursor: default; }
@media (forced-colors: active) {
  .cm-frow[role="group"] label > input[type="checkbox"] { position: static; width: 1.1rem; height: 1.1rem; opacity: 1; }
}
.cm-frow[role="group"] label[for] { color: var(--cm-ink-2); font-size: .8125rem; }
.cm-frow:has(> [name="pu"]) > label[for]:not(:first-child) { color: var(--cm-ink-2); font-size: .8125rem; }
.cm-frow[role="group"] { gap: .35rem .3rem; }
.cm-frow:has([name="d"]) label:has(> input) { justify-content: center; padding: .2rem .5rem; font-size: .8125rem; }
.cm-unlock { font-size: .8125rem; font-weight: 700; }
.cm-origin .cm-hint { display: inline; color: var(--cm-muted); font-weight: 400; }
.cm-origin input[type="text"] { flex: 0 1 11rem; width: 11rem; }
.cm-origin .cm-btn { min-height: 2.1rem; padding: .15rem .8rem; font-size: .875rem; }
.cm-map { flex: 0 1 auto; margin: 0; }
.cm-map[open] { flex: 0 0 100%; }
.cm-map > summary { color: var(--cm-accent-deep); font-size: .875rem; font-weight: 700; }
.cm-map-box { position: relative; width: fit-content; margin-top: .5rem; border-radius: var(--cm-radius-s); outline: 1px solid var(--cm-line-strong); line-height: 0; cursor: crosshair; }
.cm-map-img { display: block; width: 30rem; height: auto; border-radius: var(--cm-radius-s); }
.cm-map-box img { max-width: 100%; }
.cm-map-pin { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; }
.cm-map-pin circle { fill: var(--color-accent); stroke: var(--cm-paper); stroke-width: 3; }
.cm-map-box[data-cm-live] { width: 100%; }
.cm-map-box[data-cm-live] .cm-map-img { width: 100%; height: min(60vh, 30rem); object-fit: cover; }
.cm-map-box[data-cm-live] .cm-map-pin { pointer-events: auto; touch-action: none; }
.cm-map-box[data-cm-live] .cm-map-pin g circle { fill: var(--color-accent); stroke: none; opacity: .75; }
.cm-map-box[data-cm-live] .cm-map-pin > circle { fill: #1d1d1b; stroke: #fff; stroke-width: 3; }
.cm-map-box[data-cm-live] > a { display: inline-block; margin-top: .3rem; font-size: .75rem; line-height: 1.4; }
.cm-out { display: inline-block; margin: 0 1rem .45rem 0; color: var(--cm-accent-deep); font-weight: 700; }
.cm-filters button[type="reset"] { margin: 0 0 .45rem; min-height: 2.1rem; padding: .15rem .85rem; border-color: var(--cm-line-strong); color: var(--cm-ink-2); font-size: .875rem; }
.cm-filters button[type="reset"]:hover { border-color: var(--cm-crimson); background: var(--cm-crimson); color: var(--cm-paper); }
@media (min-width: 40rem) {
  @supports selector(::details-content) {
    .cm-filters-box > summary { display: none; }
    .cm-filters-box::details-content { content-visibility: visible; }
  }
}

.cm-table-wrap { margin: 0 0 1.5rem; overflow-x: auto; }
.cm-table-wrap:has(> .cm-list) { overflow: visible; }
.cm-list { width: 100%; margin: 0; font-size: .9375rem; line-height: 1.4; font-variant-numeric: lining-nums tabular-nums; }
.cm-order-note { caption-side: top; padding: 0 0 .9rem; color: var(--cm-ink-2); font-size: .9375rem; font-weight: 700; text-align: left; }
.cm-legend { margin: .5rem 0 1.25rem; color: var(--cm-muted); font-size: .8125rem; line-height: 1.5; }
.cm-legend > summary { cursor: pointer; color: var(--cm-ink-2); font-weight: 700; }
.cm-legend > p { margin: .4rem 0 0; }
.cm-list td:first-child > a { color: var(--cm-accent-deep); font-weight: 700; text-decoration: none; }
.cm-list td:first-child > a:hover { color: var(--color-accent); text-decoration: underline; }
.cm-tags { color: var(--cm-muted); font-size: .8125rem; }
.cm-tags:empty { display: none; }
.cm-list td:first-child > time { color: var(--cm-muted); font-size: .75rem; white-space: nowrap; }
.cm-tags:not(:empty) + time::before { content: ""; display: inline-block; width: .3em; height: .3em; margin: 0 .45em .2em .2em; border-radius: 50%; background: currentColor; }
.cm-list td:nth-child(5) { color: var(--cm-ink-2); font-size: .875rem; }
.cm-list td:nth-child(7) { font-size: .8125rem; letter-spacing: .03em; }
.cm-list q { color: var(--cm-ink-2); font-size: .875rem; font-style: italic; }
.cm-dist { display: block; margin-top: .15rem; color: var(--color-accent); font-size: .8125rem; font-weight: 700; }
.cm-has-origin .cm-dist { color: var(--cm-accent-deep); }
.cm-tail-h > th { padding: 1.1rem .65rem .5rem; border-top: 3px solid var(--cm-sand-edge); background: var(--cm-sand-soft); color: var(--color-text); font-family: var(--font-display); font-size: 1.0625rem; font-weight: 700; text-align: left; }
.cm-tail > tr > td, .cm-is-tail > td { color: var(--cm-ink-2); }
.cm-is-tail > td:first-child { box-shadow: inset 3px 0 0 var(--cm-sand); }
.cm-is-out { display: none; }
.cm-is-filtered > caption { color: var(--cm-accent-deep); }

@media (min-width: 56rem) {
  .cm-list { table-layout: fixed; border-collapse: separate; border-spacing: 0; background: var(--cm-paper); border: 1px solid var(--cm-line); border-radius: var(--cm-radius); box-shadow: var(--cm-shadow); }
  .cm-list > thead { position: sticky; top: 0; z-index: 3; }
  .cm-list > thead th { padding: .5rem .65rem; background: var(--cm-band); color: var(--cm-paper); font-family: var(--font-sans); font-size: .8125rem; font-weight: 700; letter-spacing: .03em; vertical-align: bottom; overflow-wrap: break-word; }
  .cm-list > thead tr:first-child > th:nth-child(1) { width: 20%; border-top-left-radius: calc(var(--cm-radius) - 1px); }
  .cm-list > thead tr:first-child > th:nth-child(2) { width: 11%; }
  .cm-list > thead tr:first-child > th:nth-child(3) { width: 7%; }
  .cm-list > thead tr:first-child > th:nth-child(4) { width: 16%; }
  .cm-list > thead tr:first-child > th:nth-child(5) { width: 16%; }
  .cm-list > thead tr:first-child > th:nth-child(6) { width: 11%; }
  .cm-list > thead tr:first-child > th:nth-child(7) { width: 9%; }
  .cm-list > thead tr:first-child > th:nth-child(8) { width: 10%; border-top-right-radius: calc(var(--cm-radius) - 1px); }
  .cm-list td { padding: .6rem .65rem; border-top: 1px solid var(--cm-line); vertical-align: top; }
  .cm-rows > tr:first-child > td { border-top: 0; }
  .cm-list > tbody > tr:hover > td { background: var(--cm-accent-hover); }
  .cm-list td:first-child > a { display: block; font-size: 1rem; line-height: 1.3; }
  .cm-tail:last-child > tr:last-child > td:first-child { border-bottom-left-radius: calc(var(--cm-radius) - 1px); }
}

@media (max-width: 55.99rem) {
  .cm-table-wrap:has(> .cm-list) { margin-left: calc(-1 * var(--cm-gutter)); margin-right: calc(-1 * var(--cm-gutter)); }
  .cm-list, .cm-list > caption, .cm-list > tbody { display: block; }
  .cm-list { display: flex; flex-direction: column; }
  .cm-list { border-bottom: 1px solid var(--cm-line); background: var(--cm-paper); }
  .cm-list > caption { order: 3; padding: .8rem var(--cm-gutter) .9rem; background: var(--color-bg); }
  .cm-list > thead {
    display: grid;
    grid-template-columns: var(--cm-cols);
    grid-template-areas: "area ages price" "grp hrs hrs" "lang lang trial";
    gap: .15rem .75rem;
    position: sticky;
    top: 0;
    z-index: 3;
    padding: .45rem var(--cm-gutter) .5rem;
    background: var(--cm-band);
    color: var(--cm-paper);
    font-family: var(--font-sans);
    font-size: .6875rem;
    line-height: 1.3;
    letter-spacing: .06em;
    text-transform: uppercase;
  }
  .cm-list > thead > tr { display: contents; }
  .cm-list > thead th { display: block; padding: 0; font-weight: 700; }
  .cm-list > thead tr:first-child > th:nth-child(1) { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
  .cm-list > thead tr:first-child > th:nth-child(2) { grid-area: area; }
  .cm-list > thead tr:first-child > th:nth-child(3) { grid-area: ages; }
  .cm-list > thead tr:first-child > th:nth-child(4) { grid-area: grp; }
  .cm-list > thead tr:first-child > th:nth-child(5) { grid-area: hrs; }
  .cm-list > thead tr:first-child > th:nth-child(6) { grid-area: price; }
  .cm-list > thead tr:first-child > th:nth-child(7) { grid-area: lang; }
  .cm-list > thead tr:first-child > th:nth-child(8) { grid-area: trial; }
  .cm-list > tbody > tr {
    display: grid;
    grid-template-columns: var(--cm-cols);
    grid-template-areas: "name name name" "area ages price" "grp grp grp" "hrs hrs hrs" "lang lang trial";
    gap: .2rem .75rem;
    padding: .7rem var(--cm-gutter) .75rem;
    border-top: 1px solid var(--cm-line);
  }
  .cm-list > thead + tbody > tr:first-child { border-top: 0; }
  .cm-list > tbody > tr > td { display: block; min-width: 0; padding: 0; }
  .cm-list td:nth-child(1) { grid-area: name; display: flex; flex-wrap: wrap; align-items: baseline; column-gap: .45rem; margin-bottom: .2rem; }
  .cm-list td:nth-child(1) > a { flex: 1 1 100%; font-size: 1.0625rem; line-height: 1.25; }
  .cm-list td:nth-child(2) { grid-area: area; }
  .cm-list td:nth-child(3) { grid-area: ages; }
  .cm-list td:nth-child(4) { grid-area: grp; }
  .cm-list td:nth-child(5) { grid-area: hrs; }
  .cm-list td:nth-child(6) { grid-area: price; }
  .cm-list td:nth-child(7) { grid-area: lang; }
  .cm-list td:nth-child(8) { grid-area: trial; }
  .cm-list td:nth-child(4), .cm-list td:nth-child(5) { padding-left: 1.1em; text-indent: -1.1em; }
  .cm-list td:nth-child(4)::before, .cm-list td:nth-child(5)::before, .cm-list > thead th:nth-child(4)::before, .cm-list > thead th:nth-child(5)::before {
    content: "";
    display: inline-block;
    width: .62em;
    height: .62em;
    margin-right: .48em;
    border-radius: 50%;
    vertical-align: .02em;
    text-indent: 0;
  }
  .cm-list td:nth-child(4)::before, .cm-list > thead th:nth-child(4)::before { background: var(--cm-sand); box-shadow: 0 0 0 1.5px var(--cm-sand-edge); }
  .cm-list td:nth-child(5)::before { border: 2px solid var(--cm-muted); }
  .cm-list > thead th:nth-child(5)::before { border: 2px solid var(--cm-on-band-soft); }
  .cm-list td:nth-child(3)::before, .cm-list td:nth-child(6)::before, .cm-list td:nth-child(7)::before, .cm-list td:nth-child(8)::before { margin-right: .35em; color: var(--cm-muted); font-size: .6875rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
  .cm-list td:nth-child(3)::before { content: "Edades"; }
  .cm-list td:nth-child(6)::before { content: "Precio"; }
  .cm-list td:nth-child(7)::before { content: "Idiomas"; }
  .cm-list td:nth-child(8)::before { content: "Prueba"; }
  .cm-list td:nth-child(3):lang(en)::before { content: "Ages"; }
  .cm-list td:nth-child(6):lang(en)::before { content: "Price"; }
  .cm-list td:nth-child(7):lang(en)::before { content: "Languages"; }
  .cm-list td:nth-child(8):lang(en)::before { content: "Trial"; }
  .cm-list > tbody > tr.cm-tail-h { display: block; padding: 0; border-top: 0; }
  .cm-tail-h > th { display: block; padding: 1rem var(--cm-gutter) .5rem; }
  .cm-is-tail { box-shadow: inset 4px 0 0 var(--cm-sand); }
  .cm-is-tail > td:first-child { box-shadow: none; }
}

@media (min-width: 40rem) and (max-width: 55.99rem) {
  .cm-list { --cm-cols: minmax(0, 1.3fr) minmax(0, .7fr) minmax(0, 1fr) minmax(0, .9fr) minmax(0, .55fr); }
  .cm-list > thead { grid-template-areas: "area ages price lang trial" "grp grp hrs hrs hrs"; }
  .cm-list > tbody > tr { grid-template-areas: "name name name name name" "area ages price lang trial" "grp grp hrs hrs hrs"; }
}

.cm-near { margin-top: var(--space-section); column-gap: 2.25rem; }
.cm-near > h2 { margin: 0 0 1.25rem; }
.cm-near-group { scroll-margin-top: 1rem; break-inside: avoid; padding-bottom: 1.25rem; }
.cm-near-group h3 { margin: 0 0 .55rem; color: var(--cm-ink-2); font-size: .9375rem; letter-spacing: .06em; text-transform: uppercase; }
.cm-near-group > h2 { margin: 0 0 .6rem; font-size: 1.25rem; }
.cm-near-group ul { display: flex; flex-wrap: wrap; gap: .45rem; margin: 0; padding: 0; list-style: none; }
.cm-near-group li { display: inline-flex; align-items: center; gap: .4rem; padding: .2rem .3rem .2rem .8rem; border: 1.5px solid var(--cm-line-strong); border-radius: var(--cm-chip); background: var(--cm-paper); font-weight: 700; }
.cm-near-group li[aria-current] { border-color: var(--color-text); background: var(--color-text); color: var(--cm-paper); }
.cm-near-group li[aria-current] .cm-count { background: var(--cm-sand); }
.cm-near-group a { color: var(--color-text); text-decoration: none; }
.cm-near-group a:hover { color: var(--color-accent); text-decoration: underline; }
@media (min-width: 56rem) {
  .cm-near { column-count: 2; }
  .cm-near > h2 { column-span: all; }
}
.cm-about { margin-top: var(--space-section); padding: .9rem 1.1rem; border: 1px solid var(--cm-line); border-radius: var(--cm-radius); background: var(--cm-paper); }
.cm-about > summary { color: var(--cm-accent-deep); font-family: var(--font-display); font-size: 1.125rem; font-weight: 700; }
.cm-about > summary::marker { color: var(--cm-sand-edge); }
.cm-about-body { margin-top: .75rem; color: var(--cm-ink-2); }
.cm-about-body > p:last-child { margin-bottom: 0; }
.cm-data-links { margin-top: 1.25rem; color: var(--cm-muted); font-size: .875rem; }
.cm-data-links a { margin-right: .9rem; font-weight: 700; }

.cm-card { display: block; }
.cm-card-head { margin-bottom: 1.5rem; padding-bottom: 1.1rem; border-bottom: 3px solid var(--color-accent); }
.cm-card-head h1 { margin-bottom: .35rem; }
.cm-name-local { margin: 0 0 .35rem; color: var(--cm-ink-2); font-size: 1.125rem; }
.cm-kind-line { margin: 0; color: var(--cm-ink-2); font-weight: 700; }
.cm-status-line { display: inline-block; margin: .65rem 0 0; padding: .2rem .8rem; border-radius: var(--cm-chip); background: var(--cm-grey); color: var(--cm-ink-2); font-size: .875rem; font-weight: 700; }
.cm-st-closed { background: var(--cm-crimson-soft); color: var(--cm-crimson); }
.cm-st-temporarily_closed { background: var(--cm-amber-soft); color: var(--cm-amber); }
.cm-st-unknown { background: var(--cm-grey); color: var(--cm-ink-2); }
.cm-card-body { display: flex; flex-direction: column; gap: 1.75rem; }
.cm-card-main { display: contents; }
.cm-card-main > * { order: 3; min-width: 0; margin-top: 0; }
.cm-card-main > .cm-facts-sec, .cm-card-main > :first-child { order: 1; }
.cm-card-side { order: 2; min-width: 0; padding: 1.1rem; border: 1px solid var(--cm-line); border-radius: var(--cm-radius); background: var(--cm-paper); box-shadow: var(--cm-shadow); }
.cm-card-main h2 { margin-top: 0; }
@media (min-width: 60rem) {
  .cm-card-body { display: grid; grid-template-columns: minmax(0, 1fr) 19rem; align-items: start; gap: 2.75rem; }
  .cm-card-main { display: block; grid-column: 1; grid-row: 1; }
  .cm-card-main > * + * { margin-top: var(--space-section); }
  .cm-card-side { grid-column: 2; grid-row: 1; }
}
@media (min-width: 60rem) and (min-height: 44rem) {
  .cm-card-side { position: sticky; top: 1rem; }
}
.cm-facts { width: 100%; border-top: 2px solid var(--color-text); }
.cm-facts > tbody > tr > th, .cm-facts > tbody > tr > td { padding: .6rem .75rem .6rem 0; border-bottom: 1px solid var(--cm-line); text-align: left; vertical-align: top; }
.cm-facts > tbody > tr > th { width: 34%; color: var(--cm-ink-2); font-size: .875rem; font-weight: 700; }
.cm-facts > tbody > tr > td[colspan] { color: var(--cm-muted); font-style: italic; }
.cm-slots, .cm-hours { width: auto; margin: 0; font-variant-numeric: lining-nums tabular-nums; }
.cm-slots th, .cm-slots td, .cm-hours th, .cm-hours td { padding: .1rem 1rem .1rem 0; border: 0; text-align: left; vertical-align: top; font-size: .9375rem; }
.cm-slots th, .cm-hours th { color: var(--cm-ink-2); font-weight: 700; }
.cm-hours { margin: .5rem 0 .75rem; }
.cm-hours caption { caption-side: top; padding-bottom: .25rem; color: var(--cm-ink-2); font-size: .875rem; font-weight: 700; text-align: left; }
.cm-prog { padding-top: 1.25rem; border-top: 2px dotted var(--cm-line-strong); }
.cm-prog-h { font-size: 1.25rem; }
.cm-branches > h3 { margin: 1.25rem 0 .35rem; }
.cm-branches .cm-icon { margin-right: .3rem; color: var(--color-accent); }
.cm-corrections { padding: 1rem 1.1rem; border-radius: var(--cm-radius); background: var(--cm-sand-soft); }
.cm-sources { margin: 0; padding: 0; list-style: none; font-size: .9375rem; }
.cm-src-group { margin-bottom: .9rem; padding-bottom: .8rem; border-bottom: 1px solid var(--cm-line); }
.cm-src-link { font-weight: 700; word-break: break-all; }
.cm-src-group > ol { margin: .35rem 0 0; padding-left: 1.75rem; }
.cm-src-item { margin: .25rem 0; color: var(--cm-ink-2); }
.cm-src-item::marker { color: var(--cm-accent-deep); font-weight: 700; }
.cm-src-item:target { border-radius: var(--cm-radius-s); background: var(--cm-sand-soft); }
.cm-src-time { color: var(--cm-muted); font-size: .875rem; white-space: nowrap; }
.cm-src-quote { color: var(--color-text); font-style: italic; }
.cm-flag-place { --cm-f: var(--cm-accent-deep); --cm-f-soft: var(--cm-accent-soft); }
.cm-flag-google { --cm-f: var(--cm-amber); --cm-f-soft: var(--cm-amber-soft); }
.cm-flag-federation { --cm-f: var(--cm-sky); --cm-f-soft: var(--cm-sky-soft); }
.cm-flag { display: inline-block; padding: .05rem .5rem; border-radius: var(--cm-chip); background: var(--cm-f-soft, var(--cm-grey)); color: var(--cm-f, var(--cm-ink-2)); font-size: .75rem; font-weight: 700; letter-spacing: .02em; }
.cm-src-ref { display: inline-block; min-width: 1.5em; margin-left: .2rem; padding: 0 .32em; border-radius: var(--cm-chip); background: var(--cm-f-soft, var(--cm-grey)); color: var(--cm-f, var(--cm-ink-2)); font-size: .6875rem; font-weight: 700; line-height: 1.5; text-align: center; text-decoration: none; vertical-align: .3em; font-variant-numeric: tabular-nums; }
.cm-src-ref:hover { background: var(--cm-f, var(--cm-ink-2)); color: var(--cm-paper); }

.cm-para { margin: 0 0 1rem; }
.cm-src-more { display: inline; margin: 0; }
.cm-src-more::details-content { display: none; }
.cm-src-more[open]::details-content { display: inline; }
.cm-src-more > summary { display: inline-block; min-width: 1.5em; margin-left: .2rem; padding: 0 .32em; border-radius: var(--cm-chip); background: var(--cm-grey); color: var(--cm-ink-2); font-size: .6875rem; font-weight: 700; line-height: 1.5; text-align: center; vertical-align: .3em; list-style: none; font-variant-numeric: tabular-nums; }
.cm-src-more > summary::-webkit-details-marker { display: none; }
.cm-src-more > summary:hover { background: var(--cm-ink-2); color: var(--cm-paper); }
.cm-location, .cm-contacts { margin-bottom: 1.1rem; }
.cm-location .cm-btn { width: 100%; }
.cm-location > .cm-note { margin: .35rem 0 0; }

.cm-minimap { margin: 0 0 .75rem; }
.cm-minimap svg { display: block; width: 100%; height: auto; border: 1px solid var(--cm-line); border-radius: var(--cm-radius-s); background: #f1ece4; }
.cm-minimap path, .cm-minimap circle { fill: var(--color-accent); }
.cm-minimap figcaption { margin: .35rem 0 0; }

.cm-contact-list { display: grid; gap: .5rem; margin: 0 0 .75rem; padding: 0; list-style: none; }
.cm-contact { width: 100%; border-color: var(--color-accent); background: var(--color-accent); color: var(--cm-paper); }
.cm-contact:hover { border-color: var(--cm-accent-deep); background: var(--cm-accent-deep); color: var(--cm-paper); }
.cm-contacts > p { margin: 0 0 .6rem; font-size: .9375rem; overflow-wrap: anywhere; }
.cm-report { margin: 0; }
.cm-report .cm-btn { width: 100%; border-color: var(--cm-line-strong); color: var(--cm-ink-2); }
.cm-report .cm-btn:hover { border-color: var(--cm-crimson); background: var(--cm-crimson); color: var(--cm-paper); }
.cm-partner { margin-top: 1.1rem; padding: .85rem 1rem; border: 1.5px dashed var(--cm-line-strong); border-radius: var(--cm-radius-s); color: var(--cm-ink-2); font-size: .875rem; }
.cm-partner p { margin: 0 0 .4rem; }
.cm-partner-link { font-weight: 700; }

.cm-doc-section { margin-top: var(--space-section); font-size: 1.0625rem; }
.cm-doc-section h2 { margin-top: 0; }
.cm-doc-section ul { padding-left: 1.25rem; }
.cm-doc-section li::marker { color: var(--color-accent); }
@media (min-width: 60rem) {
  .cm-doc-section { display: grid; grid-template-columns: 15rem minmax(0, 1fr); column-gap: 2.5rem; }
  .cm-doc-section > h2 { grid-column: 1; grid-row: 1 / span 12; }
  .cm-doc-section > :not(h2) { grid-column: 2; }
}

.cm-form { max-width: 40rem; }
.cm-fieldset { margin: 0 0 1.25rem; padding: 1.1rem 1.1rem .3rem; border: 1px solid var(--cm-line); border-radius: var(--cm-radius); background: var(--cm-paper); }
.cm-modes legend { padding: 0 .4rem; font-family: var(--font-display); font-size: 1.0625rem; font-weight: 700; }
.cm-modes .cm-label { display: flex; align-items: center; gap: .55rem; font-weight: 400; }
.cm-field { margin-bottom: .9rem; }
.cm-label { display: block; margin-bottom: .25rem; font-weight: 700; }
.cm-hint { display: block; margin-top: .2rem; color: var(--cm-muted); font-size: .8125rem; }
.cm-input, .cm-textarea { width: 100%; min-height: 2.6rem; padding: .45rem .7rem; border: 1.5px solid var(--cm-line-strong); border-radius: var(--cm-radius-s); background: var(--cm-paper); color: inherit; font: inherit; }
.cm-input:focus, .cm-textarea:focus { border-color: var(--color-accent); }
.cm-input[type="radio"], .cm-input[type="checkbox"] { flex: none; width: 1.15rem; height: 1.15rem; min-height: 0; margin: 0; padding: 0; accent-color: var(--color-accent); }
.cm-textarea { resize: vertical; }
.cm-hp { position: absolute; left: -999rem; width: 1px; height: 1px; overflow: hidden; }
.cm-submit { min-height: 2.9rem; padding: .55rem 1.6rem; border: 0; border-radius: var(--cm-chip); background: var(--color-accent); color: var(--cm-paper); font: inherit; font-weight: 700; cursor: pointer; }
.cm-submit:hover { background: var(--cm-accent-deep); }
.cm-notice { margin-top: 1rem; padding: .8rem 1rem; border-left: 5px solid var(--cm-line-strong); border-radius: var(--cm-radius-s); background: var(--cm-paper); }
.cm-notice-ok { border-left-color: var(--color-accent); background: var(--cm-accent-soft); }
.cm-notice-fail { border-left-color: var(--cm-crimson); background: var(--cm-crimson-soft); }
.cm-notice-sending { opacity: .75; }

.cm-log { width: 100%; background: var(--cm-paper); font-size: .9375rem; }
.cm-log th, .cm-log td { padding: .55rem .7rem; border-bottom: 1px solid var(--cm-line); text-align: left; vertical-align: top; }
.cm-log thead th { border-bottom: 2px solid var(--color-text); font-family: var(--font-display); }
.cm-log-type { border-left: 4px solid var(--cm-line-strong); font-size: .8125rem; font-weight: 700; white-space: nowrap; }
.cm-type-launch { border-left-color: var(--cm-sand-edge); }
.cm-type-data { border-left-color: var(--color-accent); color: var(--cm-accent-deep); }
.cm-type-fix { border-left-color: var(--cm-crimson); color: var(--cm-crimson); }
.cm-type-copy { border-left-color: var(--cm-line-strong); color: var(--cm-ink-2); }
.cm-type-method { border-left-color: var(--cm-sky); color: var(--cm-sky); }
.cm-notfound { padding: var(--space-section) 0; }

.cm-footer { padding: 2rem 0 2.5rem; border-top: 5px solid var(--color-accent); background: var(--cm-band); color: var(--cm-on-band-soft); font-size: .9375rem; }
.cm-footer a { color: var(--cm-paper); }
.cm-footer a:hover { color: var(--cm-sand); }
.cm-footer :focus-visible { outline-color: var(--cm-sand); }
.cm-footer-nav { display: flex; flex-wrap: wrap; gap: .4rem 1.4rem; margin: 0 0 1rem; padding: 0; list-style: none; font-weight: 700; }
.cm-asof { color: var(--cm-sand-soft); }

@media print {
  .cm-header, .cm-footer, .cm-filters-slot, .cm-filters, .cm-near, .cm-data-links { display: none; }
  body { background: #fff; }
  .cm-list > thead { position: static; }
  .cm-card-side { position: static; box-shadow: none; }
}
.cm-branches > details > summary { padding: .4rem 0; color: var(--cm-accent-deep); font-weight: 700; }
.cm-src-ref { position: relative; }
.cm-src-ref::after { position: absolute; inset: -.15rem -.1rem; content: ""; }
.cm-contacts > details > summary { color: var(--cm-accent-deep); font-weight: 700; }
