:root {
  --color-bg: #f1f5f5;
  --color-text: #14222b;
  --color-accent: #1a5b85;
  --font-sans: "Avenir Next", Avenir, Corbel, "Segoe UI", Roboto, "Noto Sans", sans-serif;
  --font-display: Rockwell, "Roboto Slab", "Sitka Heading", "Zilla Slab", Georgia, serif;
  --space-section: 2.625rem;
  --ak-paper: #ffffff;
  --ak-ink-2: #34434d;
  --ak-muted: #536570;
  --ak-line: #d2dee1;
  --ak-line-strong: #84979f;
  --ak-accent-deep: #0f405f;
  --ak-accent-soft: #dcebf4;
  --ak-accent-hover: #f0f6fa;
  --ak-band: #0e2e3f;
  --ak-on-band: #f1f5f5;
  --ak-on-band-soft: #b8ccd5;
  --ak-kowhai: #efb526;
  --ak-kowhai-soft: #fbefcb;
  --ak-kowhai-edge: #8c6300;
  --ak-red: #b0271f;
  --ak-red-soft: #f9e1de;
  --ak-amber: #765000;
  --ak-amber-soft: #f6ecd1;
  --ak-fern: #2c6a3a;
  --ak-fern-soft: #e0efe1;
  --ak-grey: #e6eced;
  --ak-radius: .375rem;
  --ak-radius-s: .25rem;
  --ak-chip: .3rem;
  --ak-shadow: 0 1px 2px rgba(20, 34, 43, .08), 0 8px 20px -14px rgba(20, 34, 43, .4);
  --ak-gutter: 1rem;
  --ak-cols: minmax(0, 1.05fr) minmax(0, .9fr) minmax(0, 1fr);
}

*, *::before, *::after { box-sizing: border-box; }
[hidden]:not(.ak-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.55;
  overflow-wrap: break-word;
}
a { color: var(--ak-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(--ak-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.45rem + 1.7vw, 2.65rem); letter-spacing: 0; }
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; }

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

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

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

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

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

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

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

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

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

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

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

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

.ak-para { margin: 0 0 1rem; }
.ak-src-more { display: inline; margin: 0; }
.ak-src-more::details-content { display: none; }
.ak-src-more[open]::details-content { display: inline; }
.ak-src-more > summary { display: inline-block; min-width: 1.5em; margin-left: .2rem; padding: 0 .32em; border-radius: var(--ak-chip); background: var(--ak-grey); color: var(--ak-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; }
.ak-src-more > summary::-webkit-details-marker { display: none; }
.ak-src-more > summary:hover { background: var(--ak-ink-2); color: var(--ak-paper); }
.ak-location, .ak-contacts { margin-bottom: 1.1rem; }
.ak-location .ak-btn { width: 100%; }
.ak-location > .ak-note { margin: .35rem 0 0; }

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

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

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

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

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

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

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