/* V3 — color as navigation; motion only in response to an action. */
:root{--motion-out:cubic-bezier(.23,1,.32,1)}
.hero-context{display:grid;grid-template-columns:minmax(0,1fr) 188px;align-items:center;gap:24px;align-self:center;padding:0}
.hero-details>p{font-size:14px;line-height:1.65;color:#a5a5a8;margin:0 0 19px;letter-spacing:-.2px}
.hero-details>p br{display:none}.hero-details .collection-stats{gap:22px}.hero-details .collection-stats strong{font-size:28px}
.category-orbit{width:188px;height:188px;border-radius:37px;background:#1f1f20;position:relative;display:grid;place-items:center;padding-bottom:15px}
.dot-cluster{display:grid;grid-template-columns:repeat(4,38px);grid-template-rows:repeat(2,38px)}
.dot-button{width:38px;height:38px;position:relative;padding:0;border-radius:50%;display:grid;place-items:center;outline-offset:0}
.orbit-dot{width:21px;height:21px;background:var(--dot-color);border-radius:50%;display:block;position:relative;transition:transform 220ms var(--motion-out),opacity 160ms ease;transform:translate(0,0) scale(1)}
.orbit-dot:after{content:'';position:absolute;inset:-5px;border-radius:50%;border:1px solid var(--dot-color);opacity:0;transform:scale(.9);transition:opacity 160ms ease,transform 220ms var(--motion-out)}
.dot-button[aria-pressed=true] .orbit-dot:after{opacity:.8;transform:scale(1)}
.dot-button.is-preview .orbit-dot{transform:translate(0,-2px) scale(1.12)}
.dot-caption{position:absolute;bottom:23px;left:10px;right:10px;text-align:center;font-size:10px;color:#9b9b9e;line-height:1.3;pointer-events:none}
.dot-button:focus-visible{outline:1px solid var(--dot-color)}
.directory-layout{grid-template-columns:270px minmax(0,1fr);gap:30px}.filters{padding-right:20px}.filter-heading{height:38px;margin-bottom:10px}.filter-heading h3{font-size:16px;color:var(--white);font-weight:400;display:flex;align-items:center;gap:16px}.filter-letter{font-size:13px;color:#68686c}.filter-option{font-size:13px;line-height:1.5;align-items:center;gap:13px;padding:10px 0;color:#99999f;border-radius:0;transition:color 140ms ease}.filter-option:hover{background:transparent}.filter-option>span:not(.filter-count){flex:1;min-width:0}.filter-option .filter-count{font-size:12px;color:#68686c;margin-left:0;font-variant-numeric:tabular-nums}.filter-option input{appearance:none;position:relative;display:block;width:17px;height:17px;flex:0 0 17px;border:2px solid var(--cat-color);border-radius:50%;background:transparent;margin:0;box-shadow:none;cursor:pointer}.filter-option input:checked{background:transparent;border-color:var(--cat-color);box-shadow:none}.filter-option input:before{content:'';position:absolute;inset:3px;background:var(--cat-color);border-radius:50%;transform:scale(.65);opacity:0;transition:transform 180ms var(--motion-out),opacity 140ms ease}.filter-option input:checked:before{transform:scale(1);opacity:1}.filter-option:has(input:checked){color:var(--white)}.filter-option input:focus-visible{outline:2px solid var(--cat-color);outline-offset:5px}.all-category{padding:11px 9px;margin-bottom:9px}.all-category.selected{background:#1b1b1c}.advanced{margin-top:21px}.filter-foot{margin-top:16px}
.home-categories .category-card{transition:transform 200ms var(--motion-out),filter 160ms ease;transform:translateY(0);will-change:auto}
.category-arrow{display:block;transition:transform 200ms var(--motion-out)}
.home-categories .category-card[aria-pressed=true]{box-shadow:inset 0 0 0 2px #f1f1f4}
.category-check{opacity:0;transform:translateY(2px);transition:opacity 150ms ease,transform 180ms var(--motion-out)}
.category-card[aria-pressed=true] .category-check{opacity:1;transform:translateY(0)}
.category-card.is-preview:not([aria-pressed=true]){box-shadow:inset 0 0 0 1px #12121355}
.home-search button{transition:transform 140ms var(--motion-out),background-color 140ms ease}.home-search button span{display:inline-block;transition:transform 180ms var(--motion-out)}
.home-search button:active,.view-toggle button:active,.pagination button:active:not(:disabled),.share-button:active{transform:scale(.97)}
.home-categories .category-card:active{transform:translateY(0) scale(.99)}
.dot-button:active .orbit-dot{transform:scale(.91)}
.brand .flower{transform:rotate(0deg);transition:transform 240ms var(--motion-out)}
.site-icon{transition:transform 180ms var(--motion-out)}
.external-arrow{transition:transform 180ms var(--motion-out),color 120ms ease}
.view-toggle button,.pagination button,.share-button{transition:transform 140ms var(--motion-out)}
.toast{transition:opacity 180ms ease,transform 220ms var(--motion-out)}
@media(hover:hover) and (pointer:fine){
  .category-orbit:hover .orbit-dot{transform:translate(var(--dx),var(--dy))}
  .category-orbit .dot-button.is-preview .orbit-dot{transform:translate(var(--dx),calc(var(--dy) - 2px)) scale(1.14)}
  .home-categories .category-card:hover{transform:translateY(-2px);filter:brightness(1.035)}
  .home-categories .category-card:hover .category-arrow{transform:translateX(2px)}
  .home-search button:hover span{transform:translate(2px,-2px)}
  .brand:hover .flower{transform:rotate(90deg)}
  .filter-option:hover{color:#e0e0e4}
  .listing-main:hover .site-icon{transform:translateY(-1px)}
}
@media(max-width:1100px){
 .hero-context{grid-template-columns:minmax(0,1fr) 160px;gap:18px}.category-orbit{width:160px;height:160px;border-radius:31px;padding-bottom:14px}.dot-cluster{grid-template-columns:repeat(4,32px);grid-template-rows:repeat(2,32px)}.dot-button{width:32px;height:32px}.orbit-dot{width:19px;height:19px}.dot-caption{font-size:9px;bottom:18px}.hero-details>p{font-size:12px}.hero-details .collection-stats{gap:12px}.hero-details .collection-stats>span{display:block}.hero-details .collection-stats strong{font-size:25px;margin-right:4px}.directory-layout{grid-template-columns:240px minmax(0,1fr);gap:24px}.filters{padding-right:8px}.filter-option{font-size:12px;gap:11px}.filter-option .filter-count{font-size:11px}
}
@media(max-width:900px) and (min-width:761px){.home-intro{column-gap:30px}.hero-context{grid-template-columns:1fr 136px;gap:14px}.category-orbit{width:136px;height:150px;border-radius:28px}.dot-cluster{grid-template-columns:repeat(4,29px);grid-template-rows:repeat(2,33px)}.dot-button{width:29px;height:33px}.orbit-dot{width:17px;height:17px}.hero-details .collection-stats{gap:9px;font-size:9px}.hero-details>p{font-size:11px}}
@media(max-width:760px){
 .home-intro{display:block}.hero-copy h1{font-size:51px}.hero-context{display:flex;justify-content:space-between;align-items:center;gap:25px;margin-top:20px}.hero-details{max-width:330px;flex:1}.hero-details>p{font-size:13px;margin:0 0 15px}.hero-details .collection-stats{display:flex;font-size:10px}.hero-details .collection-stats>span{display:flex}.hero-details .collection-stats strong{font-size:24px}.category-orbit{flex-shrink:0}.directory-layout{grid-template-columns:1fr;gap:14px}.filters{padding:0}.filters.mobile-open #category-filters{column-gap:18px}.filter-option{font-size:11px;padding:9px 0;gap:9px;min-height:44px}.filter-option input{width:16px;height:16px;flex-basis:16px}.filter-option .filter-count{display:none}.filter-heading h3{font-size:14px}.home-categories .category-card:active{transform:scale(.99)}
}
@media(max-width:480px){
 .hero-context{margin-top:20px;gap:22px}.hero-details>p{font-size:12px;line-height:1.7;margin:0}.hero-details .collection-stats{display:none}.category-orbit{width:144px;height:144px;border-radius:29px;padding-bottom:14px}.dot-cluster{grid-template-columns:repeat(4,30px);grid-template-rows:repeat(2,32px)}.dot-button{width:30px;height:32px}.orbit-dot{width:18px;height:18px}.dot-caption{font-size:8px;bottom:17px}.home-intro{padding-top:28px}.hero-discovery{margin-top:23px}.home-search button span{display:none}.filters.mobile-open #category-filters{gap:0 16px}.filter-option{font-size:11px;line-height:1.45}.filter-option input{flex-basis:15px;width:15px;height:15px}.filter-option input:before{inset:2px}
}
@media(max-width:350px){.hero-context{gap:14px}.category-orbit{width:130px;height:136px}.dot-cluster{grid-template-columns:repeat(4,28px)}.dot-button{width:28px}.orbit-dot{width:17px;height:17px}.hero-details>p{font-size:11px}.dot-caption{font-size:8px;bottom:15px}}
/* Keyboard navigation and reduced-motion settings stay immediate. */
html[data-input=keyboard]{scroll-behavior:auto}
html[data-input=keyboard] *,html[data-input=keyboard] *:before,html[data-input=keyboard] *:after{animation:none!important;transition:none!important}
html[data-input=keyboard] .orbit-dot,html[data-input=keyboard] .brand .flower,html[data-input=keyboard] .category-card,html[data-input=keyboard] .category-arrow,html[data-input=keyboard] .site-icon,html[data-input=keyboard] .home-search button span{transform:none!important}
@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto}
 *,*:before,*:after{animation:none!important;transition:none!important}
 .orbit-dot,.brand .flower,.category-card,.category-arrow,.site-icon,.home-search button span{transform:none!important}
}

/* Clear labels for first-time visitors; preserve the original visual rhythm. */
.share-button{width:auto;min-width:66px;padding:0 10px;font-size:11px;white-space:nowrap}
.filter-guidance{font-size:11px;color:#96969b;margin:0 0 8px 9px}
.results-toolbar{flex-wrap:wrap;row-gap:12px}.result-controls{margin-left:auto}
@media(max-width:760px){.filter-guidance{display:none}.filters.mobile-open .filter-guidance{display:block;grid-column:1/-1;grid-row:2;margin:0;padding-top:8px}.filters.mobile-open #category-filters{grid-row:3}.home-section-heading{gap:20px}.home-section-heading>span{text-align:right}}
@media(max-width:480px){.results-toolbar>p{width:100%}.result-controls{width:100%;justify-content:space-between}.sort-wrap{font-size:10px}.sort-wrap select{max-width:126px}.home-section-heading>span{max-width:115px;line-height:1.5}.share-button{font-size:10px;min-width:62px;padding:0 8px}.dot-caption{font-size:9px}}
@media(max-width:350px){.sort-wrap{gap:2px}.sort-wrap select{max-width:114px}.result-controls{gap:5px}}

/* Real brand marks inherit the existing category color and tile treatment. */
.site-logo{display:block;width:23px;height:23px;flex:none;background:currentColor;-webkit-mask:var(--logo) center/contain no-repeat;mask:var(--logo) center/contain no-repeat}
@media(max-width:760px){.site-logo{width:21px;height:21px}}

/* Five-column directory, with readable cards at narrower widths. */
.results.grid{grid-template-columns:repeat(5,minmax(0,1fr))}
.results.grid .directory-row{min-width:0}
@media(max-width:1200px){.results.grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:900px){.results.grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.results.grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:560px){.results.grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Eighteen categories: a six-by-three palette and matching navigation dots. */
.home-categories .category-grid{grid-template-columns:repeat(6,minmax(0,1fr))}
.home-categories .category-card{min-height:114px;padding:15px 16px 13px}
.home-categories .category-name{font-size:16px}
.home-categories .category-description{min-height:32px}
.home-categories .category-bottom{margin-top:12px}
.dot-cluster{grid-template-columns:repeat(6,28px);grid-template-rows:repeat(3,30px)}
.dot-button{width:28px;height:30px}.orbit-dot{width:17px;height:17px}
.filter-option{padding-top:8px;padding-bottom:8px}
@media(max-width:1100px){
 .hero-context{grid-template-columns:minmax(0,1fr) 160px}
 .category-orbit{width:160px;height:160px}
 .dot-cluster{grid-template-columns:repeat(6,24px);grid-template-rows:repeat(3,28px)}
 .dot-button{width:24px;height:28px}.orbit-dot{width:14px;height:14px}
 .home-categories .category-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:600px){
 .home-categories .category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .home-categories .category-card{min-height:108px;padding:13px}
 .home-categories .category-name{font-size:14px}
 .home-categories .category-description{min-height:29px}
 .home-categories .category-bottom{margin-top:8px}
 .category-orbit{width:160px;height:160px;flex-shrink:0}
 .dot-caption{bottom:17px;font-size:9px}
}

/* Eight expertise areas keep the reference's column-color rhythm. */
.home-categories .category-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.dot-cluster{grid-template-columns:repeat(4,38px);grid-template-rows:repeat(2,38px)}
.dot-button{width:38px;height:38px}.orbit-dot{width:21px;height:21px}
.person-avatar{display:block;width:100%;height:100%;object-fit:cover;filter:grayscale(1);mix-blend-mode:luminosity;border-radius:inherit}
.site-icon{overflow:hidden;background:var(--cat-color);isolation:isolate}
.site-icon::after{content:'';position:absolute;inset:0;background:var(--cat-color);mix-blend-mode:color;opacity:.45;pointer-events:none;border-radius:inherit}
.site-icon{position:relative}
.person-description{font-size:11px;line-height:1.55;color:#a5a5aa;margin:0;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;width:100%}
.person-publishes{font-size:10px;color:#96969b;line-height:1.4}
.profile-details{font-size:10px;color:#96969b;text-align:left;padding:3px 0;white-space:nowrap}
.profile-details:hover{color:var(--cat-color)}
.results.grid .directory-row{gap:10px;min-height:250px;align-content:start;position:relative}
.grid .listing-main{display:block}.grid .site-icon{margin-bottom:10px}.grid .row-category{width:100%;flex:auto;line-height:1.4;margin-top:auto;padding-right:12px}
.grid .bookmark{position:absolute;right:8px;top:15px}
.grid .profile-details{margin-right:0}.grid .person-publishes{width:100%}
.results:not(.grid) .directory-row{grid-template-columns:minmax(0,1fr) 195px 55px 34px;gap:15px}
.results:not(.grid) .person-description,.results:not(.grid) .person-publishes{display:none}
#profile{max-width:620px;width:calc(100% - 36px);max-height:85vh;overflow:auto}
#profile h2{font-size:38px;line-height:1.1;margin:25px 0;letter-spacing:-1.5px}
#profile h3{font-size:15px;margin-top:28px;color:var(--white)}
#profile .eyebrow{display:block;padding-right:20px;line-height:1.6}
.profile-links{display:flex;flex-wrap:wrap;gap:16px;font-size:12px;color:var(--green);margin:24px 0}
.source-list{padding-left:18px;color:#aaaab0;font-size:12px;line-height:1.6}.source-list a{color:var(--white);text-decoration:underline;text-underline-offset:3px}.source-list p{font-size:12px;margin:6px 0 18px}
#profile .verified-note{font-size:11px;color:#89898e}
@media(max-width:1100px){.dot-cluster{grid-template-columns:repeat(4,32px);grid-template-rows:repeat(2,32px)}.dot-button{width:32px;height:32px}.orbit-dot{width:19px;height:19px}}
@media(max-width:900px){.results:not(.grid) .directory-row{grid-template-columns:minmax(0,1fr) 150px 48px 30px;gap:10px}}
@media(max-width:760px){.home-categories .category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.header .about-link{margin-left:0}.header nav{gap:16px}.header .brand{font-size:22px}.results:not(.grid) .directory-row{grid-template-columns:minmax(0,1fr) 110px 48px 28px;gap:8px}}
@media(max-width:600px){.dot-cluster{grid-template-columns:repeat(4,32px);grid-template-rows:repeat(2,32px)}.dot-button{width:32px;height:32px}.orbit-dot{width:19px;height:19px}}
@media(max-width:480px){.header .brand{font-size:19px}.header .flower{width:21px;height:21px}.header nav{gap:13px}.header .brand{gap:6px}.header .nav-link,.header .about-link{font-size:10px}.header nav .nav-link:first-child{display:none}.results.grid .directory-row{padding:13px;min-height:265px}.grid .bookmark{top:11px;right:6px}.grid .row-category{padding-left:0;line-height:1.4}.grid .person-description{font-size:11px}.results:not(.grid) .directory-row{grid-template-columns:minmax(0,1fr) 48px 28px;position:relative}.results:not(.grid) .row-category{grid-row:2;grid-column:1;padding-left:43px}.results:not(.grid) .profile-details{grid-column:2;grid-row:1/3}.results:not(.grid) .bookmark{grid-column:3;grid-row:1/3}.results:not(.grid) .site-domain{max-width:180px}.results:not(.grid) .site-name{font-size:13px}}

/* List headings follow the same columns as their result rows. */
.list-head{grid-template-columns:minmax(0,1fr) 195px 55px 34px;gap:15px}
@media(max-width:900px){.list-head{grid-template-columns:minmax(0,1fr) 150px 48px 30px;gap:10px}}
@media(max-width:760px){.list-head{grid-template-columns:minmax(0,1fr) 110px 48px 28px;gap:8px}}
@media(max-width:480px){.list-head{grid-template-columns:minmax(0,1fr) 48px 28px}.list-head span:nth-child(2){display:none}}
