:root {
  --color-bg: #f2f4ee;
  --color-text: #17211e;
  --color-accent: #0c6a51;
  --font-sans: Calibri, "Segoe UI", "Helvetica Neue", Roboto, "Noto Sans", Arial, sans-serif;
  --font-display: Candara, Seravek, "Avenir Next", Corbel, "Noto Sans", sans-serif;
  --space-section: 2.25rem;
  --al-paper: #ffffff;
  --al-ink-2: #34413c;
  --al-muted: #5a6762;
  --al-line: #d8dfd5;
  --al-line-strong: #a7b4ab;
  --al-accent-deep: #084c3a;
  --al-accent-soft: #e3efe8;
  --al-accent-hover: #f1f7f3;
  --al-on-deep: #dbe8e1;
  --al-tram: #f3c318;
  --al-tram-soft: #fdf3c4;
  --al-tram-edge: #c99a00;
  --al-clay: #a8432a;
  --al-clay-soft: #f8e6df;
  --al-amber: #8a5d00;
  --al-amber-soft: #fbefd2;
  --al-sky: #2d5d8f;
  --al-sky-soft: #e4edf6;
  --al-grey-soft: #eceeea;
  --al-radius: .75rem;
  --al-radius-s: .4rem;
  --al-pill: 999px;
  --al-shadow: 0 1px 0 rgba(23, 33, 30, .04), 0 8px 22px -16px rgba(23, 33, 30, .45);
  --al-gutter: 1rem;
  --al-cols: minmax(0, 1.2fr) minmax(0, .75fr) minmax(0, 1fr);
}

*, *::before, *::after { box-sizing: border-box; }
[hidden]:not(.al-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(--al-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(--al-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.75rem, 1.3rem + 1.9vw, 2.625rem); letter-spacing: -.012em; }
h2 { margin-top: var(--space-section); font-size: 1.4375rem; }
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; }

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

.al-header { position: relative; z-index: 5; background: var(--al-tram); color: var(--color-text); }
.al-header::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 100%;
  height: .55rem;
  background: radial-gradient(circle at .55rem 0, var(--al-tram) .5rem, transparent .55rem) 0 0 / 1.1rem .55rem repeat-x;
  pointer-events: none;
}
.al-header .al-wrap { display: flex; flex-wrap: wrap; align-items: center; gap: .35rem 1rem; padding-top: .7rem; padding-bottom: .5rem; }
.al-brand { display: inline-flex; align-items: center; gap: .5rem; font-family: var(--font-display); font-size: 1.375rem; font-weight: 700; letter-spacing: -.01em; color: var(--color-text); text-decoration: none; }
.al-brand::before { content: ""; width: 1.05rem; height: 1.05rem; border-radius: .3rem; background: var(--color-accent); box-shadow: inset 0 -.34rem 0 var(--al-accent-deep); }
.al-brand:hover { color: var(--color-text); }
.al-nav { order: 3; flex: 1 1 100%; }
.al-nav ul { list-style: none; margin: 0; padding: 0; }
.al-nav > ul { display: flex; flex-wrap: wrap; gap: .1rem .2rem; margin: 0 -.55rem; }
.al-nav > ul > li > a { display: block; padding: .3rem .6rem; border-radius: var(--al-pill); color: var(--color-text); font-weight: 700; text-decoration: none; }
.al-nav > ul > li > a:hover, .al-has-sub:focus-within > a { background: rgba(23, 33, 30, .09); color: var(--color-text); }
.al-nav > ul > li > a[aria-current="page"] { background: var(--color-text); color: var(--al-tram); }
.al-has-sub { position: relative; }
.al-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(--al-paper);
  border: 1px solid var(--al-line);
  border-radius: var(--al-radius);
  box-shadow: 0 16px 32px -16px rgba(23, 33, 30, .5);
}
.al-nav > ul > li:nth-last-child(-n+2) > .al-sub { left: auto; right: 0; }
.al-has-sub:focus-within > .al-sub { display: block; }
@media (hover: hover) {
  .al-has-sub:hover > .al-sub { display: block; }
}
.al-sub a { display: block; padding: .3rem .6rem; border-radius: var(--al-radius-s); color: var(--color-text); text-decoration: none; }
.al-sub a:hover { background: var(--al-accent-soft); color: var(--al-accent-deep); }
.al-sub a[aria-current="page"] { background: var(--al-accent-soft); color: var(--al-accent-deep); font-weight: 700; }
.al-langs { display: flex; gap: .3rem; margin: 0 0 0 auto; padding: 0; list-style: none; font-size: .875rem; }
.al-langs a { display: block; padding: .15rem .65rem; border: 1.5px solid rgba(23, 33, 30, .4); border-radius: var(--al-pill); color: var(--color-text); font-weight: 700; text-decoration: none; }
.al-langs a:hover { background: rgba(23, 33, 30, .09); color: var(--color-text); }
.al-langs a[aria-current] { background: var(--color-text); border-color: var(--color-text); color: var(--al-tram); }
@media (max-width: 39.99rem) {
  h1 { font-size: 1.625rem; margin-bottom: .4em; }
  .al-main { padding-top: .75rem; }
  .al-numbers { margin-bottom: .5rem; font-size: .875rem; line-height: 1.45; }
  .al-main .al-lead { margin-bottom: .6rem; font-size: .9375rem; line-height: 1.45; }
  .al-filters-slot { margin: .6rem 0; }
  .al-header .al-wrap { gap: .2rem .75rem; padding-top: .45rem; padding-bottom: .3rem; }
  .al-nav > ul { margin: 0 -.45rem; }
  .al-nav > ul > li > a { padding: .25rem .45rem; font-size: .9375rem; }
}
@media (min-width: 60rem) {
  .al-header .al-wrap { flex-wrap: nowrap; gap: 1.5rem; padding-top: .75rem; padding-bottom: .75rem; }
  .al-nav { order: 0; flex: 0 1 auto; }
}

.al-main { padding: 1.9rem 0 var(--space-section); }
.al-main:focus { outline: none; }
.al-crumbs { margin-bottom: .75rem; font-size: .875rem; color: var(--al-muted); }
.al-crumbs ol { display: flex; flex-wrap: wrap; align-items: center; margin: 0; padding: 0; list-style: none; }
.al-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); }
.al-crumbs a { color: var(--al-ink-2); }

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

.al-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(--al-pill);
  background: var(--al-paper);
  color: var(--al-accent-deep);
  font: inherit;
  font-weight: 700;
  line-height: 1.2;
  text-decoration: none;
  cursor: pointer;
}
.al-btn:hover { background: var(--color-accent); color: var(--al-paper); }

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

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

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

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

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

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

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

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

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

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

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

@media print {
  .al-header, .al-footer, .al-filters-slot, .al-filters, .al-near, .al-data-links { display: none; }
  body { background: #fff; }
  .al-list > thead { position: static; }
  .al-card-side { position: static; box-shadow: none; }
}
