.search a.visual-camera,.so-form a.visual-camera{display:inline-flex;align-items:center;justify-content:center;flex:0 0 36px;align-self:center;height:36px;background:transparent;color:inherit;border-radius:6px;text-decoration:none}
.visual-camera:hover,.visual-camera:focus-visible{outline:2px solid currentColor;outline-offset:-3px}
.visual-camera svg{width:21px;height:21px}
.visual-search{padding-block:clamp(2rem,5vw,4rem);max-width:1080px}
.visual-search h1{font-size:clamp(2rem,4vw,3.25rem);margin:0 0 .65rem}
.visual-form{display:grid;gap:.75rem;max-width:40rem;margin:1.75rem 0 2.5rem}
.visual-form label,.visual-grid span{font-weight:650}
.visual-drop{padding:1rem;border:1px dashed #777;border-radius:8px;display:grid;gap:1rem}
.visual-drop input{max-width:100%}
.visual-preview:not([hidden]){display:block;height:6rem;max-width:100%;object-fit:contain}
.visual-form button{justify-self:start}
.visual-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(155px,100%),1fr));gap:1.25rem}
.visual-grid a{color:inherit;text-decoration:none}
.visual-grid img{display:block;width:100%;aspect-ratio:1;background:#fff;object-fit:contain;margin-bottom:.6rem}
