.avatar{overflow:hidden;vertical-align:middle}.avatar img,img.avatar{width:100%;height:100%;object-fit:cover;display:block}.avatar img{border-radius:inherit}.avatar.large img{width:100%;height:100%}
.profile-photo-section{margin-bottom:28px}.profile-photo-editor{padding:26px;border:1px solid var(--border);border-radius:14px;background:var(--surface);max-width:760px}.photo-choose-row{display:flex;align-items:center;gap:24px}.photo-picker{position:relative;display:block;width:104px;height:104px;flex:0 0 104px;border-radius:50%;cursor:pointer}.photo-picker .avatar.large{width:104px;height:104px}.photo-picker input{position:absolute;inset:0;opacity:0;width:100%;height:100%;cursor:pointer;border-radius:50%}.photo-picker:focus-within{outline:3px solid var(--blue);outline-offset:5px}.photo-picker:hover .avatar{box-shadow:0 0 0 3px var(--soft-blue)}.photo-edit-icon{position:absolute;bottom:0;right:-2px;width:31px;height:31px;padding:6px;background:var(--blue);color:#fff;border:3px solid var(--surface);border-radius:50%;pointer-events:none}.photo-edit-icon svg{fill:none;stroke:currentColor;stroke-width:1.8;stroke-linejoin:round}.photo-placeholder{background:var(--soft-blue)!important;color:var(--blue)!important}.photo-placeholder svg{width:62px;height:62px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}.photo-editor-copy{min-width:0}.photo-editor-copy>strong{display:block;font-size:16px;margin-bottom:5px}.photo-editor-copy .text-link{display:inline-flex;cursor:pointer;font-size:12px}.photo-editor-copy .field-help{margin-top:7px;max-width:440px;font-size:11px}.photo-selection-note{font-size:12px;margin-top:12px}.photo-selection-note:empty{display:none}.photo-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}.photo-actions[hidden],.photo-preview[hidden],.photo-current[hidden]{display:none!important}.photo-remove-form{margin-top:12px;margin-left:128px}.photo-remove-form button{font-size:11px;color:var(--muted);text-decoration:underline;text-underline-offset:3px}.photo-editor-compact{padding:0;background:transparent;border:0;max-width:none}.photo-editor-compact .photo-choose-row{display:block}.photo-editor-compact .photo-editor-copy{max-width:200px;margin-top:10px}.photo-editor-compact .photo-editor-copy>strong,.photo-editor-compact .field-help{display:none}.photo-editor-compact .photo-remove-form{margin-left:0}.profile-top>.photo-editor-compact{flex:0 0 150px}.profile-top .card-rating{margin-top:13px}.profile-top .photo-actions .button{font-size:11px;min-height:35px;padding:8px 12px}.profile-top .photo-selection-note{max-width:160px;font-size:10px}
.category-card.category-card-photo{padding:0;overflow:hidden}.category-card-photo>img{width:100%;height:auto;aspect-ratio:1.65;object-fit:cover;display:block}.category-card-copy{display:block;padding:18px 20px 22px}.category-card-photo .category-arrow{top:16px;right:16px;display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:var(--surface);color:var(--ink)}.category-card-photo h3{padding-right:0}
@media(max-width:600px){.profile-photo-editor{padding:20px}.photo-choose-row{gap:18px;align-items:flex-start}.photo-picker,.photo-picker .avatar.large{width:88px;height:88px;flex-basis:88px}.photo-editor-copy>strong{font-size:14px}.photo-editor-copy .field-help{font-size:10px}.photo-remove-form{margin-left:106px}.photo-editor-compact{padding:0}.profile-top>.photo-editor-compact{flex-basis:106px}.photo-editor-compact .photo-editor-copy{max-width:106px}.category-card-copy{padding:15px}.category-card-photo>img{aspect-ratio:1.3}}

/* Profile cover and overlapping portrait. The two images save independently. */
.profile-cover-card{margin-top:32px;border:1px solid var(--border);border-radius:19px;background:var(--surface);box-shadow:var(--shadow)}
.profile-cover-visual{position:relative;width:100%;min-width:0;aspect-ratio:4/1;min-height:190px;overflow:hidden;background:var(--soft-blue);border-radius:18px 18px 0 0}
.profile-cover-image,.profile-cover-placeholder,.profile-cover-visual>[data-photo-current]{display:block;width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:center}
.profile-cover-placeholder{overflow:hidden;background:linear-gradient(125deg,#10233f 0%,#2855e8 58%,#6f46d9 100%)}
.profile-cover-placeholder:before,.profile-cover-placeholder:after{content:'';position:absolute;width:70%;aspect-ratio:1;border:1px solid #ffffff25;border-radius:50%;right:-12%;top:-80%}.profile-cover-placeholder:after{width:52%;right:-5%;top:-55%;border-width:45px;border-color:#ffffff0c}
.profile-cover-body{display:grid;grid-template-columns:164px minmax(0,1fr) auto;gap:26px;padding:28px 32px 32px;align-items:start}
.profile-cover-avatar{position:relative;margin-top:-100px;z-index:2;min-width:0}.profile-cover-avatar .avatar.large,.profile-cover-avatar .photo-picker,.profile-cover-avatar .photo-picker .avatar.large{width:148px;height:148px;flex-basis:148px}
.profile-cover-avatar .avatar.large{border:6px solid var(--surface);box-shadow:0 3px 12px #10233f12;font-size:38px}.profile-cover-avatar .photo-picker .photo-preview{object-fit:cover}
.profile-cover-avatar .photo-editor-copy{margin-left:7px}.profile-cover-avatar .photo-editor-copy .field-help{display:block;font-size:10px;max-width:155px}.profile-cover-avatar .photo-remove-form{margin-left:7px}.profile-cover-avatar .photo-actions{gap:6px}.profile-cover-avatar .photo-actions .button{font-size:10px;min-height:35px;padding:8px 10px}.profile-cover-avatar .photo-selection-note{font-size:11px}
.profile-cover-info{min-width:0}.profile-cover-info h1{font-size:64px;line-height:1.1;margin:9px 0 12px;overflow-wrap:anywhere}.profile-headline{font-size:17px;line-height:1.6;margin-bottom:8px;overflow-wrap:anywhere}.profile-location{font-size:12px;margin-bottom:15px}.profile-cover-info .card-rating{margin:0}.profile-edit-link{font-size:12px;min-height:41px;padding:10px 15px}
.profile-banner-editor{position:relative}.banner-picker{position:absolute;right:20px;top:20px;display:flex;align-items:center;gap:9px;background:#fff;color:#10233f;border:1px solid #dfe5ef;border-radius:25px;padding:11px 17px;font-size:12px;font-weight:700;cursor:pointer;box-shadow:0 4px 16px #10233f18}
.banner-picker svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linejoin:round}.banner-picker input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.banner-picker:focus-within{outline:3px solid #fff;outline-offset:4px}.banner-picker:hover{background:#edf1ff}
.banner-upload-controls{position:absolute;bottom:18px;right:20px;max-width:calc(100% - 225px);padding:9px 13px;border-radius:10px;background:rgba(255,255,255,.94);color:#10233f}.banner-upload-controls .field-help{font-size:10px;line-height:1.6;margin:0;color:#43536e}.banner-upload-controls .photo-selection-note{font-size:11px;margin-top:7px}.banner-upload-controls .photo-actions{margin-top:8px;gap:8px}.banner-upload-controls .button{font-size:11px;padding:8px 12px;min-height:36px}.banner-upload-controls .button-outline{background:white;color:#10233f;border-color:#cbd4e3}.banner-upload-controls .field-error{color:#a52538}
.banner-remove-form{position:absolute;left:20px;top:20px}.banner-remove-form .text-button{background:#fff;color:#43536e;padding:8px 12px;border-radius:20px;font-size:10px;border:1px solid #dfe5ef}
.profile-media-editor{max-width:900px;border:1px solid var(--border);border-radius:19px;background:var(--surface);overflow:hidden}.profile-media-editor .profile-photo-editor{max-width:none;border:0;border-radius:0}.profile-media-editor .banner-upload-controls{max-width:calc(100% - 40px)}
@media(max-width:750px){.profile-cover-card{margin-top:20px}.profile-cover-body{grid-template-columns:118px minmax(0,1fr);padding:24px 22px;gap:20px}.profile-cover-avatar{margin-top:-78px}.profile-cover-avatar .avatar.large,.profile-cover-avatar .photo-picker,.profile-cover-avatar .photo-picker .avatar.large{width:112px;height:112px;flex-basis:112px}.profile-cover-avatar .avatar.large{border-width:5px;font-size:28px}.profile-cover-info h1{font-size:53px}.profile-headline{font-size:15px}.profile-edit-link{grid-column:2;justify-self:start}.profile-cover-avatar .photo-editor-copy .field-help{max-width:112px}.banner-upload-controls{max-width:calc(100% - 155px);right:14px;bottom:14px}.banner-upload-controls .field-help span{display:none}.banner-picker{right:14px;top:14px;font-size:11px;padding:9px 12px}.banner-remove-form{left:14px;top:14px}}
@media(max-width:480px){.profile-cover-visual{min-height:185px}.profile-cover-body{display:flex;flex-wrap:wrap;padding:20px;gap:18px}.profile-cover-avatar{margin-top:-76px;width:100%}.profile-cover-avatar .profile-photo-editor{padding:0}.profile-cover-avatar .photo-editor-copy .field-help{max-width:100%;font-size:11px}.profile-cover-avatar .photo-editor-copy{max-width:100%;margin-left:0}.profile-cover-avatar .photo-editor-copy .field-help{max-width:230px}.profile-cover-avatar .photo-actions{margin-top:10px}.profile-cover-info{width:100%}.profile-cover-info h1{font-size:52px}.profile-edit-link{width:100%;justify-content:center}.banner-upload-controls{max-width:calc(100% - 135px);padding:8px 10px;right:10px;bottom:10px}.banner-upload-controls .photo-actions{flex-direction:column}.banner-upload-controls .photo-actions .button{width:100%}.banner-upload-controls .photo-selection-note{font-size:10px}.banner-picker{right:10px;top:10px;padding:8px 10px;font-size:10px}.banner-remove-form{left:10px;top:10px}.banner-remove-form .text-button{font-size:9px;padding:7px 9px}.banner-upload-controls:has(.photo-actions:not([hidden])){max-width:calc(100% - 20px)}.profile-media-editor .banner-upload-controls{max-width:calc(100% - 20px)}}
/* Cover controls stay clickable above the portrait overlap, including on phones. */
.banner-picker,.banner-upload-controls,.banner-remove-form{z-index:3}
.profile-cover-avatar{pointer-events:none}.profile-cover-avatar .photo-picker,.profile-cover-avatar .photo-editor-copy,.profile-cover-avatar .photo-actions,.profile-cover-avatar .photo-remove-form{pointer-events:auto}
