.front-person-grid,.front-set-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}.front-person{display:flex;flex-direction:column;overflow:hidden;padding:0;border-radius:16px}.front-person-image{display:block;position:relative;aspect-ratio:3/4;background:var(--white);overflow:hidden}.front-person-image img,.front-set-cover img{width:100%;height:100%;object-fit:cover;transition:transform .2s}.front-person-image:hover img{transform:scale(1.025)}.front-person-image .public-initials{height:100%;display:grid;place-items:center;font-size:64px}.front-person-status{position:absolute;font-size:11px;background:#141414dd;color:#fff;border-radius:6px;padding:6px 8px;left:10px;top:10px}.front-person-status.available{color:#bde4c4}.front-person-stats{position:absolute;inset:auto 8px 8px;display:flex;align-items:center;justify-content:space-between;gap:6px}.front-rating,.front-visits{display:inline-flex;align-items:center;gap:4px;min-height:26px;padding:4px 6px;border-radius:6px;background:#141414dd;color:#fff;font-size:11px;font-weight:600;line-height:1.4;font-variant-numeric:tabular-nums;white-space:nowrap}.front-rating{color:#f4d58e}.front-visits svg{width:15px;height:15px;flex-shrink:0}.front-person-copy{display:flex;flex-direction:column;flex:1;gap:7px;padding:12px}.front-person-copy h2{font-size:20px;line-height:1.25;letter-spacing:-.02em;margin:0;min-width:0}.front-person-copy h2 a{display:block;text-decoration:none;color:inherit;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.front-city{font-size:12px;color:var(--muted);margin:6px 0}.front-day-note{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;font-size:12px;line-height:1.4;height:2.8em;flex-shrink:0;margin:0;overflow:hidden;overflow-wrap:anywhere;color:var(--muted)}.front-person .primary{font-size:12px;padding:10px 8px;gap:6px;min-height:44px;margin-top:auto}.front-profile-head{display:grid;grid-template-columns:minmax(200px,300px) 1fr;gap:40px;align-items:center;margin:26px 0}.front-profile-photo{aspect-ratio:3/4;border-radius:16px;overflow:hidden;background:var(--white)}.front-profile-photo img{width:100%;height:100%;object-fit:cover}.front-profile-head h1{font-size:clamp(34px,4vw,58px);margin:10px 0}.front-main-cta{display:inline-block;margin-top:16px}.front-tabs{display:flex;gap:28px;border-bottom:1px solid var(--line);margin:30px 0 24px}.front-tabs button{border-bottom:3px solid transparent;padding:16px 3px}.front-tabs button[aria-pressed=true]{border-color:var(--gold);color:var(--gold)}.front-filter-chips{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:20px}.front-filter-chips [aria-pressed=true]{border-color:var(--gold);color:var(--gold)}.front-set-card{overflow:hidden;padding:0}.front-set-cover{display:block;width:100%;padding:0;border:0;aspect-ratio:3/4;position:relative;background:var(--white)}.front-set-cover .chip{position:absolute;bottom:10px;left:10px;background:#151515dd;color:#fff;max-width:calc(100% - 20px)}.front-cover-placeholder{display:grid;place-items:center;height:100%;font:64px Georgia,serif;color:var(--gold)}.front-set-card>div{padding:16px}.front-set-card h2{font-size:18px;margin:0 0 8px}.front-album{padding-top:28px}.front-media-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.front-media{padding:0;overflow:hidden}.front-media-open{width:100%;padding:0;border:0;display:block;aspect-ratio:3/4;background:var(--white)}.front-media-open img{width:100%;height:100%;object-fit:cover}.front-reaction{display:flex;justify-content:space-between;align-items:center;padding:4px 12px}.front-reaction button{min-width:44px;min-height:44px}.front-reaction .reacted{color:var(--gold)}.front-reaction-picker{display:flex;gap:10px;flex-wrap:wrap}.front-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.front-facts .panel{display:grid;gap:12px;padding:24px;text-align:center}.front-facts small{color:var(--muted)}.front-bio{padding:32px;margin:24px 0;line-height:1.8;white-space:pre-wrap}.front-quote,.front-experience{padding:24px;margin:16px 0}.front-quote p,.front-experience p{white-space:pre-wrap;overflow-wrap:anywhere}.front-quote small{color:var(--muted)}.front-experience-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:18px}.front-experience details{padding-top:16px}.front-experience summary{margin-bottom:16px}.front-cover-preview{max-width:160px;border-radius:12px;margin:12px auto;display:block}.front-mobile-action{display:none}.front-ad-slot{grid-column:1/-1;min-height:90px}.front-empty{grid-column:1/-1;padding:32px}.front-tab-panel[hidden]{display:none}.front-profile-head,.front-set-card,.front-person{min-width:0}.front-profile-head h1,.front-set-card h2{overflow-wrap:anywhere}
@media(max-width:1100px){.front-person-grid,.front-set-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.front-person-grid,.front-set-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.front-person-copy{padding:10px;gap:6px}.front-person-copy h2{font-size:17px}.front-person-image{aspect-ratio:1/1}.front-person-image img{object-position:center 25%}.front-person .primary{font-size:11px}.front-person-status{font-size:9px;left:6px;top:6px;padding:5px}.front-profile-head{grid-template-columns:110px 1fr;gap:18px;align-items:start}.front-profile-head h1{font-size:30px}.front-profile-head .front-main-cta,.front-album>.front-main-cta{display:none}.front-profile-head .hint{font-size:11px}.front-profile-head .daily-note{font-size:12px}.front-profile-photo{position:sticky;top:15px}.front-tabs{gap:20px}.front-media-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.front-facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.front-mobile-action{display:block;position:sticky;bottom:76px;background:var(--paper);padding:10px 0;z-index:8}.public-directory .front-mobile-action{bottom:0}.front-set-card>div{padding:12px}.front-set-card h2{font-size:16px}.front-set-cover .chip{font-size:10px}.front-bio{padding:20px}.front-quote,.front-experience{padding:18px}}
@media(prefers-reduced-motion:reduce){.front-person-image img{transition:none}}

/* GMX-022.1: a compact, shared search form moves between desktop header and mobile feed. */
.public-directory.front-browsing{max-width:1480px;padding:12px 28px 24px}
.front-browsing .public-header{min-height:72px;padding:0 0 12px;margin-bottom:0;gap:24px}
.front-browsing .public-header .brand{flex-shrink:0}
.front-browsing .public-header>.secondary{flex-shrink:0;white-space:nowrap}
.front-header-controls{flex:1;min-width:0;max-width:620px;margin-left:auto}
.front-header-active #section-label{display:none}
.front-controls{display:grid;grid-template-columns:minmax(115px,.65fr) minmax(155px,1fr);align-items:center;gap:12px;width:100%;margin:0;letter-spacing:normal}
.front-controls label{margin:0;min-width:0}
.front-controls input,.front-controls select{width:100%;height:44px;min-height:44px;border-radius:12px;background:var(--white);font-size:13px;margin:0}
.front-controls select{padding:10px 30px 10px 12px;text-overflow:ellipsis}
.front-search-control{position:relative}
.front-search-control svg{position:absolute;left:12px;top:13px;width:18px;height:18px;color:var(--muted);pointer-events:none}
.front-search-control input{padding:10px 12px 10px 38px}
.front-browsing #page{padding-top:0}
.front-explore{min-width:0}
#front-stories .stories-strip{margin:12px 0 4px}
#front-stories .stories-strip-heading{margin-bottom:4px;font-size:12px}
#front-stories .stories-rail{gap:12px;padding:4px 0 8px}
#front-stories .story-bubble{width:76px;flex-basis:76px}
#front-stories .story-ring{width:64px;height:64px;margin-bottom:5px}
#front-inline-controls{padding:12px 0 2px}
.front-results-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:6px 0 10px;min-height:44px}
.front-results-heading h2{font-size:16px;font-weight:600;letter-spacing:normal;margin:0;overflow-wrap:anywhere}
.front-sort{position:relative;flex-shrink:0;font-size:12px;color:var(--muted);z-index:12}
.front-sort summary{padding:12px 4px;min-height:44px;cursor:pointer}
.front-sort>label{position:absolute;right:0;top:100%;z-index:12;margin:0;padding:14px;background:var(--white);border:1px solid var(--line);border-radius:12px;width:min(265px,calc(100vw - 32px));box-shadow:0 8px 24px #0002;font-size:12px}
.front-sort select{margin-top:8px;font-size:13px}
#front-results[aria-busy=true] .front-person-grid{opacity:.55}
.front-browsing .front-person-grid{gap:16px}
.front-browsing .public-join{margin-top:20px;padding:22px}
@media(min-width:1500px){.front-browsing .front-person-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}
@media(min-width:1024px){.front-browsing .front-person-image{aspect-ratio:4/5}.front-browsing .topbar{gap:16px}.front-header-active .topbar-brand{flex-shrink:0}.front-header-active .front-header-controls{margin-right:auto}}
@media(max-width:1023px){.front-controls{grid-template-columns:minmax(112px,.75fr) minmax(0,1.25fr)}.front-browsing .public-header{gap:12px}}
@media(max-width:760px){
 .public-directory.front-browsing{padding:10px 16px 20px}
 .front-browsing .public-header{min-height:60px;padding-bottom:10px;margin-bottom:0}
 .front-browsing .public-header .brandmark{width:36px;height:36px;font-size:26px}
 .front-browsing .public-header .brand{font-size:14px}
 .front-browsing .public-header>.secondary{padding:9px 11px;font-size:12px;min-height:44px}
 #front-stories .stories-strip{margin:8px 0 0}
 #front-stories .stories-strip-heading{display:none}
 #front-stories .story-ring{width:60px;height:60px}
 #front-stories .story-bubble{width:68px;flex-basis:68px}
 #front-stories .stories-rail{gap:10px;padding-bottom:6px}
 #front-inline-controls{padding-top:10px}
 .front-controls{gap:8px;grid-template-columns:minmax(128px,.9fr) minmax(0,1.1fr)}
 .front-controls select{font-size:14px;padding-left:10px;padding-right:26px}
 .front-search-control input{padding-left:32px;font-size:16px}
 .front-search-control svg{left:9px;width:16px}
 .front-results-heading{margin:3px 0 6px}
 .front-results-heading h2{font-size:14px}
 .front-browsing .front-person-grid{gap:10px}
}
@media(max-width:360px){.front-person .primary{font-size:10px}}
