.routes-lab{width:100%;padding:.25rem 0 1rem}.routes-lab__head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1.35rem}.routes-lab__title{margin:0 0 .35rem;font-family:var(--hl-font-display);font-weight:700;font-size:clamp(1.45rem,2.6vw,1.9rem);letter-spacing:-.02em;color:var(--hl-heading)}.routes-lab__subtitle{margin:0;max-width:42rem;font-size:.95rem;line-height:1.5;color:var(--hl-fg-muted)}.routes-lab__home{flex-shrink:0;margin-top:.35rem;font-family:var(--hl-font-body);font-size:.9rem;font-weight:600;color:var(--hl-primary);text-decoration:none}.routes-lab__home:hover{color:var(--hl-link)}.catalog-filter-toolbar{display:flex;flex-direction:column;gap:.55rem;margin:0 0 .85rem;min-width:0}.catalog-filter-toolbar__row{display:flex;flex-wrap:wrap;align-items:flex-end;gap:.55rem .65rem;min-width:0}.catalog-filter-toolbar__field{display:flex;flex-direction:column;gap:.28rem;flex:1 1 8.5rem;min-width:7.5rem;max-width:12rem;box-sizing:border-box}.catalog-filter-toolbar__field--search{flex:2 1 16rem;max-width:none;min-width:12rem}.catalog-filter-toolbar__field--extra{max-width:14rem}.catalog-filter-toolbar__label{display:inline-flex;align-items:center;gap:.35rem;margin:0;font-size:.7rem;font-weight:650;letter-spacing:.02em;line-height:1.2;text-transform:uppercase;color:var(--hl-fg-muted)}.catalog-filter-toolbar__label .fas{font-size:.65rem;opacity:.85}.catalog-filter-toolbar__control{display:block;width:100%;min-width:0;margin:0;padding:.5rem .7rem;box-sizing:border-box;border:1px solid var(--hl-border);border-radius:10px;background:var(--hl-surface);color:var(--hl-fg);font-family:var(--hl-font-body);font-size:.875rem;line-height:1.25;outline:none;transition:border-color .15s ease,box-shadow .15s ease}.catalog-filter-toolbar__control:focus{border-color:color-mix(in srgb,var(--hl-primary) 55%,var(--hl-border));box-shadow:0 0 0 3px rgba(0,182,122,.18)}.catalog-filter-toolbar__control::placeholder{color:color-mix(in srgb,var(--hl-fg-muted) 75%,#fff)}.catalog-filter-toolbar__more{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;flex:0 0 auto;align-self:flex-end;min-height:2.4rem;padding:.5rem .85rem;border:1px solid var(--hl-border);border-radius:10px;background:var(--hl-surface);color:var(--hl-heading);font-family:var(--hl-font-body);font-size:.82rem;font-weight:600;cursor:pointer;white-space:nowrap;transition:border-color .15s ease,background .15s ease,color .15s ease}.catalog-filter-toolbar__more.is-open,.catalog-filter-toolbar__more:hover{border-color:color-mix(in srgb,var(--hl-primary) 45%,var(--hl-border));color:var(--hl-primary)}.catalog-filter-toolbar__more.has-active{border-color:color-mix(in srgb,var(--hl-primary) 50%,var(--hl-border));background:color-mix(in srgb,var(--hl-primary) 8%,var(--hl-surface))}.catalog-filter-toolbar__more-dot{width:.45rem;height:.45rem;border-radius:999px;background:var(--hl-primary)}.catalog-filter-toolbar__extra{display:flex;flex-wrap:wrap;align-items:flex-end;gap:.55rem .65rem;padding-top:.15rem}.catalog-filter-toolbar__meta{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem .85rem;min-height:1.25rem}.catalog-filter-toolbar__count{margin:0;font-size:.85rem;color:var(--hl-fg-muted)}.catalog-filter-toolbar__clear{margin:0;padding:0;border:0;background:transparent;color:var(--hl-primary);font-family:var(--hl-font-body);font-size:.8rem;font-weight:600;cursor:pointer;text-decoration:underline;text-underline-offset:.15em}.catalog-filter-toolbar__clear:hover{color:var(--hl-link)}.catalog-filter-toolbar__chip-row{display:flex;align-items:center;gap:.5rem;min-height:2.4rem;flex-wrap:wrap}.catalog-filter-toolbar__chip{display:inline-flex;align-items:center;max-width:14rem;padding:.3rem .65rem;border-radius:999px;background:color-mix(in srgb,var(--hl-primary) 12%,#fff);color:var(--hl-heading);font-size:.8rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.catalog-filter-toolbar__chip-clear{margin:0;padding:.25rem .5rem;border:0;background:transparent;color:var(--hl-primary);font:inherit;font-size:.78rem;font-weight:600;cursor:pointer;text-decoration:underline}@media (max-width:719px){.catalog-filter-toolbar__row{flex-direction:column;align-items:stretch}.catalog-filter-toolbar__field,.catalog-filter-toolbar__field--extra,.catalog-filter-toolbar__field--search{flex:1 1 auto;width:100%;max-width:none;min-width:0}.catalog-filter-toolbar__more{width:100%;align-self:stretch}}.routes-lab .catalog-list-filters,.routes-lab .routes-blog-filters{margin-bottom:1.5rem;padding:1.15rem 1.25rem 1rem;border-radius:var(--hl-radius);border:1px solid var(--hl-border);background:var(--hl-surface);box-shadow:0 10px 28px rgba(20,50,74,.06)}.routes-lab .catalog-list-filters-shell{margin-bottom:1.5rem}.routes-lab .catalog-list-filters__apply,.routes-lab .catalog-list-filters__backdrop,.routes-lab .catalog-list-filters__close,.routes-lab .catalog-list-filters__toolbar{display:none}.routes-lab .catalog-list-filters__drawer-head{display:contents}.routes-lab .catalog-list-filters-shell .catalog-list-filters,.routes-lab .catalog-list-filters-shell .routes-blog-filters{margin-bottom:0}.routes-lab .catalog-list-filters__title{margin:0 0 .85rem;font-family:var(--hl-font-display);font-size:1rem;font-weight:700;color:var(--hl-heading)}.routes-lab .routes-blog-filters-row--selects{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,12.5rem),1fr));grid-gap:.85rem 1.15rem;gap:.85rem 1.15rem;align-items:start;margin-top:0}.routes-lab .routes-blog-filter{display:flex;flex-direction:column;align-items:stretch;gap:.35rem;flex:none;width:100%;min-width:0;max-width:100%;box-sizing:border-box}.routes-lab .routes-blog-filter-label{display:block;margin:0;font-size:.75rem;font-weight:650;letter-spacing:.02em;line-height:1.2;text-transform:uppercase;color:var(--hl-fg-muted)}.routes-lab .routes-blog-filter-input,.routes-lab .routes-blog-filter-select{display:block;width:100%;max-width:100%;min-width:0;flex:none;margin:0;padding:.55rem .7rem;box-sizing:border-box;border:1px solid var(--hl-border);border-radius:10px;background:#fafbfc;color:var(--hl-fg);font-family:var(--hl-font-body);font-size:.9rem;outline:none;transition:border-color .15s ease,box-shadow .15s ease}.routes-lab .routes-blog-filter-input:focus,.routes-lab .routes-blog-filter-select:focus{border-color:color-mix(in srgb,var(--hl-primary) 55%,var(--hl-border));box-shadow:0 0 0 3px rgba(0,182,122,.18)}.routes-lab .routes-blog-filter-input::placeholder{color:color-mix(in srgb,var(--hl-fg-muted) 75%,#fff)}.routes-lab .routes-blog-filter-chip-row{display:flex;align-items:center;gap:.5rem;min-height:2.4rem;flex-wrap:wrap}.routes-lab .routes-blog-filter-chip{display:inline-flex;align-items:center;max-width:14rem;padding:.3rem .65rem;border-radius:999px;background:color-mix(in srgb,var(--hl-primary) 12%,#fff);color:var(--hl-heading);font-size:.8rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.routes-lab .routes-blog-filter-chip-clear{margin:0;padding:.25rem .5rem;border:0;background:transparent;color:var(--hl-primary);font:inherit;font-size:.78rem;font-weight:600;cursor:pointer;text-decoration:underline}.routes-lab .catalog-list-filters__footer{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem 1rem;margin-top:.95rem}.routes-lab .routes-blog-filter-clear{margin:0;padding:.4rem .85rem;border:1px solid color-mix(in srgb,var(--hl-primary) 42%,var(--hl-border));border-radius:999px;background:transparent;color:var(--hl-primary);font-family:var(--hl-font-body);font-size:.82rem;font-weight:600;cursor:pointer}.routes-lab .routes-blog-filter-clear:hover{border-color:var(--hl-primary);background:color-mix(in srgb,var(--hl-primary) 10%,transparent);color:var(--hl-primary)}.routes-lab .routes-blog-filter-count{margin:0;font-size:.85rem;color:var(--hl-fg-muted)}.routes-lab__status{margin:0;padding:1.75rem 1.25rem;border-radius:var(--hl-radius);border:1px solid var(--hl-border);background:var(--hl-surface);box-shadow:0 8px 24px rgba(20,50,74,.06);color:var(--hl-fg-muted);font-size:.95rem;text-align:center}.routes-lab__grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:1rem;gap:1rem}.routes-lab__grid>li{min-width:0;height:100%}.routes-lab__grid .hl-point-card,.routes-lab__grid .hl-route-card{height:100%}.routes-lab .catalog-pagination{margin-top:1.75rem;padding-top:1.25rem;border-top:1px solid var(--hl-border);display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.85rem 1.25rem}.routes-lab .catalog-pagination__meta{margin:0;font-size:.85rem;color:var(--hl-fg-muted)}.routes-lab .catalog-pagination__links{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem}.routes-lab .catalog-pagination__item{display:inline-flex;align-items:center;gap:.45rem}.routes-lab .catalog-pagination__ellipsis{color:var(--hl-fg-muted);opacity:.65}.routes-lab .catalog-pagination__btn{display:inline-flex;align-items:center;justify-content:center;min-width:2.35rem;padding:.45rem .75rem;border:1px solid var(--hl-border);border-radius:999px;background:var(--hl-surface);color:var(--hl-heading);font-family:var(--hl-font-body);font-size:.85rem;font-weight:600;text-decoration:none;cursor:pointer;box-shadow:0 4px 12px rgba(20,50,74,.05);transition:border-color .15s ease,color .15s ease,background .15s ease}.routes-lab .catalog-pagination__btn:hover{border-color:var(--hl-primary);color:var(--hl-primary)}.routes-lab .catalog-pagination__btn--active{border-color:var(--hl-primary);background:var(--hl-primary);color:#fff;cursor:default;box-shadow:0 6px 16px rgba(0,182,122,.28)}.routes-lab .catalog-pagination__btn--active:hover{border-color:var(--hl-primary);color:#fff}@media (max-width:899px){.routes-lab__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.routes-lab__hub-section{margin-bottom:2rem}.routes-lab__hub-section-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.5rem 1rem;margin-bottom:.85rem}.routes-lab__hub-section-title{margin:0;font-family:var(--hl-font-display);font-size:1.15rem;font-weight:700;letter-spacing:-.01em;color:var(--hl-heading)}.routes-lab__hub-card{display:flex;flex-direction:column;gap:.35rem;height:100%;padding:1.15rem 1.2rem 1.25rem;border-radius:var(--hl-radius);border:1px solid var(--hl-border);background:var(--hl-surface);box-shadow:0 10px 28px rgba(20,50,74,.06);text-decoration:none;color:inherit;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}.routes-lab__hub-card:hover{border-color:color-mix(in srgb,var(--hl-primary) 45%,var(--hl-border));box-shadow:0 14px 32px rgba(20,50,74,.1);transform:translateY(-2px)}.routes-lab__hub-card-title{font-family:var(--hl-font-display);font-size:1.05rem;font-weight:700;letter-spacing:-.01em;color:var(--hl-heading);line-height:1.3}.routes-lab__hub-card-meta{font-size:.85rem;color:var(--hl-fg-muted)}.routes-lab__hub-card-cta{margin-top:auto;padding-top:.55rem;font-size:.85rem;font-weight:650;color:var(--hl-primary)}.routes-lab__hub-footer{margin:1.75rem 0 0;font-size:.9rem;color:var(--hl-fg-muted)}.routes-lab__hub-footer a{color:var(--hl-primary);font-weight:600;text-decoration:none}.routes-lab__hub-footer a:hover{color:var(--hl-link);text-decoration:underline;text-underline-offset:2px}@media (max-width:899px){.routes-lab .catalog-list-filters-shell{margin-bottom:1rem}.routes-lab .catalog-list-filters__toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:.65rem .85rem}.routes-lab .catalog-list-filters__toggle{display:inline-flex;align-items:center;gap:.45rem;margin:0;padding:.55rem .9rem;border:1px solid var(--hl-border);border-radius:999px;background:var(--hl-surface);color:var(--hl-heading);font-family:var(--hl-font-display);font-size:.9rem;font-weight:700;cursor:pointer;-moz-appearance:none;appearance:none;-webkit-appearance:none;box-shadow:0 6px 16px rgba(20,50,74,.06)}.routes-lab .catalog-list-filters__toggle.has-active{border-color:color-mix(in srgb,var(--hl-primary) 45%,var(--hl-border));color:var(--hl-primary)}.routes-lab .catalog-list-filters__toggle-dot{width:.45rem;height:.45rem;border-radius:50%;background:var(--hl-primary)}.routes-lab .catalog-list-filters__toolbar-count{margin:0;flex:1 1 auto;min-width:0;font-size:.82rem;color:var(--hl-fg-muted)}.routes-lab .catalog-list-filters__backdrop{display:block;position:fixed;inset:0;z-index:90;margin:0;padding:0;border:0;background:rgba(15,23,42,.34);cursor:pointer;-moz-appearance:none;appearance:none;-webkit-appearance:none}.routes-lab .catalog-list-filters-shell .catalog-list-filters,.routes-lab .catalog-list-filters-shell .routes-blog-filters{position:fixed;top:0;left:0;bottom:0;z-index:95;width:min(20.5rem,88vw);max-width:100%;margin:0;padding:1rem 1.1rem 1.25rem;border-radius:0;border:0;border-right:1px solid var(--hl-border);box-shadow:12px 0 32px rgba(15,23,42,.14);transform:translateX(-105%);transition:transform .28s ease;overflow-y:auto;-webkit-overflow-scrolling:touch;pointer-events:none}.routes-lab .catalog-list-filters-shell .catalog-list-filters.is-open,.routes-lab .catalog-list-filters-shell .routes-blog-filters.is-open{transform:translateX(0);pointer-events:auto}.routes-lab .catalog-list-filters__drawer-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.85rem}.routes-lab .catalog-list-filters__drawer-head .catalog-list-filters__title{margin:0}.routes-lab .catalog-list-filters__close{width:2.25rem;height:2.25rem;margin:0;padding:0;border:1px solid var(--hl-border);border-radius:8px;background:#fafbfc;color:var(--hl-heading);font-size:1.35rem;line-height:1}.routes-lab .catalog-list-filters__apply,.routes-lab .catalog-list-filters__close{display:inline-flex;align-items:center;justify-content:center;cursor:pointer;-moz-appearance:none;appearance:none;-webkit-appearance:none}.routes-lab .catalog-list-filters__apply{margin-left:auto;padding:.5rem 1rem;border:0;border-radius:999px;background:var(--hl-primary);color:#fff;font-family:var(--hl-font-display);font-size:.88rem;font-weight:700}.routes-lab .catalog-list-filters__footer .routes-blog-filter-count{display:none}}@media (max-width:560px){.routes-lab__head{flex-direction:column;align-items:flex-start;gap:.5rem}.routes-lab__grid{grid-template-columns:1fr}.routes-lab .routes-blog-filters-row--selects{grid-template-columns:1fr;gap:.75rem}}