/* Shared controls and category artwork: native forms remain usable without JS. */
:root{--control-shadow:0 3px 0 #28134208,0 7px 18px #28134205;--control-ring:0 0 0 4px #8b5ce11c;--icon-tint:#e4d6ff}
html[data-theme=dark]{--control-shadow:0 3px 0 #0002,0 7px 18px #0001;--control-ring:0 0 0 4px #bd96ff25;--icon-tint:#694592}
.button{border-radius:14px;min-height:48px;gap:9px;font-weight:650;letter-spacing:-.015em;box-shadow:var(--control-shadow);transition:background .18s,border-color .18s,box-shadow .18s,transform .18s}
.button .icon{width:19px;height:19px;flex-shrink:0}
.button.primary,.button.cream{background:#f5ce55;border-color:#e1b83c;box-shadow:0 3px 0 #b98b1b40,inset 0 1px 0 #fff7}
.button.soft{background:var(--lilac);border-color:var(--line);color:var(--green)}
.button.outline{border-color:var(--line);background:var(--white);box-shadow:var(--control-shadow)}
.button:active:not(:disabled){transform:translateY(1px);box-shadow:none}
.button:disabled{transform:none;cursor:not-allowed}
.button:focus-visible,.ui-picker-trigger:focus-visible{outline:3px solid var(--green);outline-offset:3px}
.icon-button{border:1px solid transparent;border-radius:13px;transition:background .18s,border-color .18s}
.icon-button:hover{border-color:var(--line);background:var(--lilac)}
.theme-toggle{background:var(--cream);border-color:var(--line)}
.theme-toggle .icon{width:18px;height:18px}.theme-sun{display:none}html[data-theme=dark] .theme-sun{display:block}html[data-theme=dark] .theme-moon{display:none}
.type-tabs{gap:8px}.type-tabs a{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:10px 16px;border-radius:13px;font-size:12px;font-weight:600;transition:background .18s,border-color .18s}
.type-tabs .icon{width:17px;height:17px;flex-shrink:0}.type-tabs a:hover{border-color:var(--green)}.type-tabs a.selected{box-shadow:var(--control-shadow)}
.gx-view-controls{gap:0;display:inline-flex;padding:4px;background:var(--cream);border:1px solid var(--line);border-radius:15px;float:right;margin:0 0 20px 14px}
.gx-view-controls .button{font-size:12px;min-height:38px;padding:8px 12px;background:transparent;border-color:transparent;box-shadow:none;border-radius:10px}
.gx-view-controls button[aria-pressed=true]{background:var(--white);color:var(--green);border-color:var(--line);box-shadow:0 2px 4px #28134209}
.browse-search{clear:both;border-radius:18px;box-shadow:var(--control-shadow)}
.filter-panel{border-radius:20px;overflow:visible;background:var(--white)}.filter-panel>summary{border-radius:19px;min-height:62px;font-size:14px}.filter-panel[open]>summary{border-radius:19px 19px 0 0;border-bottom:1px solid var(--line)}
.filter-panel>summary>.icon{color:var(--green);width:20px;height:20px}.filter-panel label{font-size:12px;font-weight:600;min-width:0}.filter-panel form{gap:18px;padding:20px}
input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=hidden]),textarea,select{border-radius:12px;transition:border-color .18s,box-shadow .18s}
input:focus-visible,textarea:focus-visible,select:focus-visible{border-color:var(--green);box-shadow:var(--control-ring)}
select:not(.ui-picker-native){appearance:none;padding-right:36px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='%238b72a7' stroke-width='1.8'%3E%3Cpath d='m4 6 4 4 4-4'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center}
input[type=checkbox],input[type=radio]{accent-color:#6d28d9;cursor:pointer}
.gx-home-tools{padding-block:14px;gap:14px;position:relative;z-index:3}.gx-home-tools .inline-form{align-items:center;gap:8px}.gx-home-tools .inline-form>label{font-size:0;min-width:220px;gap:0}.gx-home-tools .inline-form>label .ui-picker{font-size:13px}.gx-home-tools .button{min-height:44px;padding:10px 14px;font-size:12px}.gx-home-tools>a{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:10px 14px;background:var(--cream);border:1px solid var(--line);border-radius:13px;font-size:12px}.gx-home-tools>a .icon{width:18px;height:18px;color:var(--green)}.gx-home-tools>a:hover{border-color:var(--green);background:var(--lilac)}
.hero-city{max-width:300px;margin-top:14px}.hero-city>.ui-picker{width:100%}.hero-city .ui-picker-trigger{background:var(--white);border-color:var(--line);min-height:46px;font-size:12px}.hero-search{border-radius:19px;padding:7px 7px 7px 18px;box-shadow:var(--control-shadow)}.hero-search .button{border-radius:12px}
/* A compact, searchable popup with the original select as the form source. */
.ui-picker{position:relative;display:block;min-width:0;width:100%;text-align:left}
select.ui-picker-native{position:absolute!important;opacity:0!important;width:1px!important;height:1px!important;min-height:0!important;padding:0!important;border:0!important;pointer-events:none;clip-path:inset(50%)}
.ui-picker-trigger{display:flex!important;align-items:center!important;gap:10px;width:100%;min-width:0;min-height:48px;padding:9px 12px;border:1px solid var(--line);border-radius:12px;background:var(--white);color:var(--ink);font:inherit;font-size:13px;font-weight:500;text-align:left;box-shadow:0 2px 3px #28134203;transition:border-color .18s,box-shadow .18s}
.ui-picker-trigger:hover{border-color:var(--green)}.ui-picker-trigger:disabled{cursor:not-allowed;opacity:.5}.ui-picker.is-open .ui-picker-trigger{border-color:var(--green);box-shadow:var(--control-ring)}
.ui-picker-leading{display:grid;place-items:center;width:28px;height:28px;border-radius:8px;flex-shrink:0;background:var(--lilac);color:var(--green)}.ui-picker-leading .icon{width:17px;height:17px}.ui-picker-value{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.5}.ui-picker-chevron{width:16px;height:16px;flex-shrink:0;color:var(--muted);transition:transform .18s}.is-open .ui-picker-chevron{transform:rotate(180deg)}
.ui-picker-panel{position:fixed;z-index:550;display:flex;flex-direction:column;padding:8px;border:1px solid var(--line);border-radius:18px;background:var(--white);color:var(--ink);box-shadow:0 18px 65px #28134230,0 2px 8px #2813420c;overflow:hidden;overscroll-behavior:contain}
.ui-picker-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-shrink:0;padding:2px 5px 8px 9px;font-size:12px;font-weight:700;color:var(--muted)}
.ui-picker-close{display:grid;place-items:center;width:30px;height:30px;border:0;border-radius:9px;background:var(--cream);color:var(--muted);flex-shrink:0}.ui-picker-close .icon{width:16px;height:16px}
.ui-picker-search{display:flex;align-items:center;gap:8px;flex-shrink:0;border:1px solid var(--line);background:var(--cream);border-radius:11px;padding:0 10px;margin:0 2px 7px}.ui-picker-search>.icon{width:17px;flex-shrink:0;color:var(--green)}.ui-picker-search input{min-height:42px;background:transparent;border:0;box-shadow:none;padding:9px 0;font-size:14px}.ui-picker-search input:focus-visible{outline:none;box-shadow:none}.ui-picker-search:focus-within{border-color:var(--green);box-shadow:var(--control-ring)}
.ui-picker-options{overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--line) transparent;min-height:0;outline:none;padding:2px}
.ui-picker-option{display:flex;align-items:center;gap:10px;min-height:46px;padding:7px 9px;border-radius:11px;cursor:pointer;font-size:13px;margin-bottom:2px;border:1px solid transparent;line-height:1.4}
.ui-option-icon{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;flex-shrink:0;background:var(--cream);color:var(--muted)}.ui-option-icon .icon{width:18px;height:18px}.ui-option-text{flex:1;min-width:0;overflow-wrap:anywhere}.ui-option-check{width:16px;height:16px;flex-shrink:0;visibility:hidden;color:var(--green)}
.ui-picker-option[aria-selected=true]{background:var(--lilac);color:var(--green);font-weight:650}.ui-picker-option[aria-selected=true] .ui-option-check{visibility:visible}.ui-picker-option[aria-selected=true] .ui-option-icon{background:var(--white);color:var(--green)}.ui-picker-option.is-active{border-color:var(--green)}.ui-picker-option:hover{background:var(--cream)}
.ui-picker-empty{font-size:13px;color:var(--muted);padding:16px 12px;line-height:1.5;margin:0}.ui-picker-error{display:block;margin-top:7px;font-size:12px;color:#be3541;line-height:1.5}.ui-picker-trigger[aria-invalid=true]{border-color:#be3541}
/* Editorial category cards, with a distinct illustration for each category. */
.category-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.category-tile{position:relative;display:grid;grid-template-columns:76px minmax(0,1fr);column-gap:16px;align-items:center;min-height:138px;text-align:left;padding:23px 22px;border:1px solid var(--line);border-radius:22px;background:var(--white)!important;box-shadow:0 3px 0 #28134203;overflow:hidden;transition:transform .2s,border-color .2s,box-shadow .2s}
.category-tile::after{content:"";position:absolute;width:84px;height:84px;right:-44px;top:-44px;border-radius:50%;background:var(--lilac);transition:transform .25s;pointer-events:none}
.category-tile:hover{transform:translateY(-4px);border-color:var(--green);box-shadow:0 10px 28px #6d28d913}.category-tile:hover::after{transform:scale(1.5)}
.category-symbol{width:76px;height:76px;margin:0;border:1px solid #c7aafc44;border-radius:23px!important;transform:rotate(-5deg);background:var(--lilac)!important;color:var(--green)!important;box-shadow:inset 0 1px 0 #fff6}
.category-symbol .icon{width:43px;height:43px;stroke-width:1.35;transform:rotate(5deg)}.category-symbol .glyph-surface{fill:var(--icon-tint)}
.tone-1 .category-symbol,.tone-3 .category-symbol{background:#fff2be!important;color:#765616!important;border-color:#efd585;--icon-tint:#f4d778}.tone-2 .category-symbol{background:#ece5ff!important;color:#7244ad!important;--icon-tint:#cfbbef}
.category-copy{display:flex;flex-direction:column;align-items:flex-start;gap:10px;min-width:0;padding-bottom:13px}.category-tile strong{display:block;font-size:15px;line-height:1.35;min-height:0;font-weight:700;letter-spacing:-.025em;overflow-wrap:anywhere}
.category-count{display:inline-flex;font-size:11px;color:var(--muted);line-height:1.5}.category-go{position:absolute;bottom:12px;right:16px;display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:var(--cream);color:var(--green)!important;margin:0!important}.category-go .icon{width:15px;height:15px}.category-tile:hover .category-go{background:var(--green);color:var(--white)!important}
.category-intro{display:flex;align-items:center;justify-content:space-between;gap:36px;padding:42px 46px;margin-bottom:40px;border:1px solid var(--line);border-radius:28px;background:var(--lilac);overflow:hidden}.category-intro .page-heading{margin:0;flex:1;min-width:0}.category-intro h1{margin-top:12px}.category-intro .eyebrow{display:flex;align-items:center;gap:8px}.category-intro .eyebrow .icon{width:17px;height:17px}.category-search{display:flex;flex-direction:row;align-items:center;gap:12px;max-width:460px;margin-top:25px;padding:0 16px;border:1px solid var(--line);border-radius:15px;background:var(--white);box-shadow:var(--control-shadow)}.category-search>.icon{flex-shrink:0;color:var(--green);width:20px}.category-search input{min-height:54px;border:0;background:transparent;padding-inline:0;font-size:14px}.category-search input:focus-visible{outline:none;box-shadow:none}.category-search:focus-within{outline:3px solid var(--green);outline-offset:3px}
.category-mosaic{display:grid;grid-template-columns:repeat(2,80px);gap:13px;transform:rotate(9deg);margin:6px 20px}.category-mosaic>span{display:grid;place-items:center;width:80px;height:80px;border-radius:23px;background:var(--white);color:var(--green);box-shadow:0 7px 0 #6d28d914}.category-mosaic>span:nth-child(2),.category-mosaic>span:nth-child(3){background:#f5ce55;color:#62480d;transform:translateY(8px)}.category-mosaic .icon{width:43px;height:43px;stroke-width:1.3}
.category-directory-heading{display:flex;align-items:center;gap:12px;margin-bottom:22px}.category-directory-heading h2{font-size:21px;letter-spacing:-.04em;margin:0}.category-directory-count{display:grid;place-items:center;min-width:30px;height:30px;padding:0 8px;border-radius:10px;background:var(--lilac);color:var(--green);font-size:12px;font-weight:700}.category-no-results{display:flex;gap:12px;align-items:center;justify-content:center;padding:40px;border:1px dashed var(--line);border-radius:20px;color:var(--muted)}
[hidden]{display:none!important}
@media(min-width:1100px){.category-grid{gap:18px}}
@media(max-width:1100px){.category-tile{grid-template-columns:60px minmax(0,1fr);padding:20px 15px;gap:12px}.category-symbol{width:60px;height:60px;border-radius:19px!important}.category-symbol .icon{width:36px;height:36px}.category-tile strong{font-size:13px}}
@media(max-width:900px){.category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.category-tile{min-height:128px;grid-template-columns:72px minmax(0,1fr);padding:22px;gap:20px}.category-symbol{width:72px;height:72px}.category-tile strong{font-size:15px}.category-intro{padding:30px}.category-mosaic{margin:0;grid-template-columns:repeat(2,65px)}.category-mosaic>span{width:65px;height:65px}.category-mosaic .icon{width:36px;height:36px}.gx-home-tools{gap:8px}.gx-home-tools>a{padding:8px 10px}}
@media(max-width:620px){.category-grid{gap:12px}.category-tile{display:flex;align-items:flex-start;flex-direction:column;padding:19px 16px;min-height:185px;gap:15px;border-radius:20px}.category-symbol{width:64px;height:64px;border-radius:19px!important}.category-symbol .icon{width:36px;height:36px}.category-copy{gap:7px;padding:0 8px 0 0}.category-tile strong{font-size:14px;line-height:1.4}.category-count{font-size:11px}.category-go{right:12px;bottom:12px}.category-intro{padding:26px 22px;border-radius:22px;margin-bottom:28px}.category-intro h1{font-size:32px}.category-mosaic{display:none}.category-search{margin-top:20px;padding-inline:12px}.category-search input{font-size:16px}.category-directory-heading h2{font-size:19px}.gx-home-tools{gap:8px;padding-block:12px}.gx-home-tools .inline-form{width:100%;margin:0}.gx-home-tools .inline-form>label{flex:1;min-width:0}.gx-home-tools>a{font-size:11px;flex:1;padding:9px 10px;gap:6px;justify-content:center;line-height:1.4}.gx-home-tools>a .icon{width:16px;flex-shrink:0}.gx-home-tools .button{min-height:48px}.hero-city{max-width:100%}.hero-search .button .icon{display:block;width:16px}.hero-search .button{gap:6px;padding:11px}.type-tabs a{font-size:11px;padding:9px 11px;gap:6px}.type-tabs .icon{width:15px;height:15px}.filter-panel form{padding:16px;gap:16px 12px}.filter-panel .ui-picker-trigger{font-size:12px;padding:9px;gap:6px}.filter-panel .ui-picker-leading{width:24px;height:26px}.filter-panel .ui-picker-leading .icon{width:15px}.filter-panel .ui-picker-chevron{width:13px}.ui-picker-search input{font-size:16px}.ui-picker-panel{border-radius:16px}.ui-picker-option{min-height:48px}.gx-view-controls{float:none;margin:0 0 18px}.theme-toggle{width:34px;height:34px}.category-no-results{padding:25px;font-size:13px}}
@media(prefers-reduced-motion:reduce){.button,.category-tile,.category-tile::after,.ui-picker-chevron{transition:none}.button:hover,.category-tile:hover{transform:none}}
@media(forced-colors:active){.category-symbol,.ui-picker-trigger,.ui-picker-option[aria-selected=true],.button{border:1px solid ButtonText}.ui-picker-option.is-active{outline:2px solid Highlight}.ui-picker-leading,.ui-option-icon{color:ButtonText}}

.desktop-nav a,.mobile-navigation a{display:inline-flex;align-items:center;gap:8px}.desktop-nav .icon,.mobile-navigation .icon{width:17px;height:17px;flex-shrink:0;color:var(--green)}.mobile-navigation a{padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--cream);font-size:12px}.mobile-navigation{gap:8px;padding:16px}.mobile-navigation[hidden]{display:none!important}

.gx-home-tools select:not(.ui-picker-native){font-size:13px}

.ui-picker .ui-picker-leading{flex:0 0 28px}.ui-picker .ui-picker-value{flex:1 1 0}
