.hubs-index{--tc-navy:#0c1a40;--tc-navy-soft:#243976;--tc-teal:#00b3ac;--tc-teal-deep:#007f85;--tc-pink:#dc195c;--tc-ink:#2b3033;--tc-line:rgba(12,26,64,.14);--tc-surface:#f7f9fb;color:var(--tc-navy);font-family:HelveticaNeue,Helvetica Neue,Arial,sans-serif}.hubs-index__intro{margin-bottom:2rem;max-width:46rem}.hubs-index__heading{color:var(--tc-navy);font-family:var(--h1-font-family,HelveticaNeue,"Helvetica Neue",Arial,sans-serif);font-size:var(--h1-font-size,clamp(2rem,4vw,3rem));font-weight:var(--h1-font-weight,700);letter-spacing:var(--h1-letter-spacing,-.01em);line-height:var(--h1-line-height,1.1);margin:0 0 .75rem;text-transform:var(--h1-text-transform,none)}.hubs-index__lede{color:var(--tc-navy-soft);font-size:var(--font-body-large-size,1.125rem);line-height:var(--font-body-large-line-height,1.6)}.hubs-index__lede p{margin:0}.hubs-index__controls{align-items:flex-end;display:flex;flex-wrap:wrap;gap:1rem 1.5rem;margin-bottom:.75rem}.hubs-index__search{flex:1 1 20rem;max-width:32rem}.hubs-index__locate{align-items:center;background:#fff;border:1px solid var(--tc-navy);border-radius:0;color:var(--tc-navy);cursor:pointer;display:inline-flex;font-family:Azeret Mono,monospace;font-size:.9rem;font-weight:400;gap:.5rem;min-height:52px;padding:.75rem 1.25rem;transition:background .2s ease,color .2s ease}.hubs-index__locate svg{height:1.1rem;width:1.1rem}.hubs-index__locate:hover{background:var(--tc-navy);color:#fff}.hubs-index__locate:disabled{cursor:wait;opacity:.6}.hubs-index__locate--done{border-color:var(--tc-teal-deep);color:var(--tc-teal-deep)}.hubs-index__locate--done:hover{background:#fff;color:var(--tc-teal-deep)}.hubs-index__locate[hidden]{display:none}.hubs-index__count{color:var(--tc-navy-soft);font-size:.9rem;margin:0 0 1.25rem}.hubs-index__search-label{display:block;font-size:.95rem;font-weight:700;margin-bottom:.5rem}.hubs-index__search-field{position:relative}.hubs-index__search-icon{color:var(--tc-navy-soft);height:1.15rem;left:.9rem;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%);width:1.15rem}.hubs-index__search-input{background:var(--tc-surface);border:1px solid var(--tc-line);border-radius:0;color:var(--tc-ink);font-size:1rem;line-height:1.4;min-height:52px;padding:.75rem 1rem .75rem 2.85rem;width:100%}.hubs-index__search-input:focus{border-color:var(--tc-teal);outline:3px solid rgba(0,179,172,.2);outline-offset:2px}.hubs-index__search-input::placeholder{color:rgba(43,48,51,.55)}.hubs-index__map{background:#e9eef3;border:1px solid var(--tc-line);height:420px;margin-bottom:2rem;width:100%;z-index:0}.hub-pin__dot{background:var(--tc-teal);border:3px solid #fff;border-radius:999px;box-shadow:0 2px 6px rgba(12,26,64,.35);display:block;height:16px;transition:transform .15s ease,background .15s ease;width:16px}.hub-pin--active .hub-pin__dot,.hub-pin:focus .hub-pin__dot{background:var(--tc-pink);transform:scale(1.35)}.hub-pin--user .hub-pin__dot{background:var(--tc-navy);box-shadow:0 0 0 6px rgba(12,26,64,.15),0 2px 6px rgba(12,26,64,.35)}.leaflet-popup-content-wrapper{border-radius:0}.leaflet-popup-content{font-family:HelveticaNeue,Helvetica Neue,Arial,sans-serif}.hub-popup__name{color:var(--tc-navy);font-weight:700}.hub-popup__link{align-items:center;color:var(--tc-teal-deep);display:inline-flex;font-weight:600;gap:.3rem;margin-top:.35rem;text-decoration:none}.hubs-index__grid{display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.hub-card{background:#fff;border:1px solid var(--tc-line);transition:box-shadow .2s ease,transform .2s ease}.hub-card:hover{box-shadow:0 12px 28px rgba(12,26,64,.12);transform:translateY(-2px)}.hub-card--active{outline:2px solid var(--tc-teal);outline-offset:2px}.hub-card[hidden]{display:none}.hub-card__link{color:inherit;display:flex;flex-direction:column;height:100%;text-decoration:none}.hub-card__media{aspect-ratio:16/10;background:var(--tc-surface);overflow:hidden}.hub-card__media img{display:block;height:100%;object-fit:cover;width:100%}.hub-card__media-fallback{background:linear-gradient(135deg,#e6f7f5,#d8eef1);display:block;height:100%;width:100%}.hub-card__body{display:flex;flex:1 1 auto;flex-direction:column;gap:.5rem;padding:1.15rem 1.25rem 1.35rem}.hub-card__place{color:var(--tc-teal-deep);font-size:.8rem;font-weight:600;letter-spacing:.02em;text-transform:uppercase}.hub-card__region{color:var(--tc-navy-soft)}.hub-card__title{color:var(--tc-navy);font-size:1.2rem;line-height:1.25;margin:0}.hub-card__summary{color:var(--tc-navy-soft);display:-webkit-box;font-size:.95rem;-webkit-line-clamp:3;line-height:1.5;margin:0;-webkit-box-orient:vertical;overflow:hidden}.hub-card__distance{color:var(--tc-teal-deep);font-size:.85rem;font-weight:600}.hub-card__distance[hidden]{display:none}.hub-card__cta{align-items:center;color:var(--tc-navy);display:inline-flex;font-family:Azeret Mono,monospace;font-size:.85rem;font-weight:500;gap:.4rem;margin-top:auto;padding-top:.35rem}.hub-card__cta svg{height:.9rem;transition:transform .2s ease;width:.9rem}.hub-card:hover .hub-card__cta svg{transform:translateX(3px)}.hubs-index__empty{color:var(--tc-navy-soft);font-size:1rem;margin:1rem 0 0}.hubs-index.inverted .hubs-index__heading,.hubs-index.inverted .hubs-index__search-label{color:#fff}.hubs-index.inverted .hubs-index__count,.hubs-index.inverted .hubs-index__empty,.hubs-index.inverted .hubs-index__lede{color:hsla(0,0%,100%,.85)}.hubs-index.inverted .hubs-index__locate{background:transparent;border-color:#fff;color:#fff}.hubs-index.inverted .hubs-index__locate:hover{background:#fff;color:var(--tc-navy)}@media (min-width:1024px){.hubs-index__layout--split{align-items:start;display:grid;gap:2rem;grid-template-columns:minmax(0,6fr) minmax(0,5fr)}.hubs-index__map-panel{position:sticky;top:130px}.hubs-index__layout--split .hubs-index__map{height:min(560px,calc(100vh - 160px));margin-bottom:0}.hubs-index__layout--split .hubs-index__grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}}@media (max-width:767px){.hubs-index__map{height:320px}.hubs-index__grid{gap:1rem;grid-template-columns:1fr}.hubs-index__locate{justify-content:center;width:100%}}