/* site search */
.search-btn { background: none; border: 0; color: inherit; font: inherit; cursor: pointer; padding: 0; margin-left: 28px; color: var(--ink-2, rgba(236,235,230,.62)); transition: color .2s; }
.search-btn:hover, .search-btn:focus-visible { color: var(--ink, #ecebe6); }
.srch { position: fixed; inset: 0; z-index: 60; background: rgba(6,6,6,.94); backdrop-filter: blur(6px); display: none; overflow-y: auto; }
.srch.open { display: block; } html.srch-open { overflow: hidden; }
.srch-in { max-width: 860px; margin: 0 auto; padding: clamp(24px, 8vh, 96px) 20px 80px; }
.srch-bar { display: flex; gap: 14px; align-items: center; border-bottom: 1px solid rgba(236,235,230,.3); padding-bottom: 10px; }
.srch-bar input { flex: 1; background: none; border: 0; outline: 0; color: #ecebe6; font: 300 clamp(22px, 3vw, 32px)/1.2 Geist, -apple-system, sans-serif; letter-spacing: -.01em; }
.srch-bar input::placeholder { color: rgba(236,235,230,.35); }
.srch-bar input::-webkit-search-cancel-button { display: none; }
.srch-x { background: none; border: 1px solid rgba(236,235,230,.2); color: rgba(236,235,230,.7); font: 400 11px/1 "Geist Mono", ui-monospace, monospace; letter-spacing: .1em; text-transform: uppercase; padding: 7px 10px; cursor: pointer; }
.srch-n { margin: 14px 0 6px; color: rgba(236,235,230,.45); font: 400 11px/1.5 "Geist Mono", ui-monospace, monospace; letter-spacing: .1em; text-transform: uppercase; min-height: 1.5em; }
.srch-r { list-style: none; margin: 0; padding: 0; }
.srch-r > li { border-bottom: 1px solid rgba(236,235,230,.1); padding: 14px 0; }
.srch-hit { display: grid; grid-template-columns: 120px 1fr; gap: 18px; align-items: start; color: inherit; text-decoration: none; }
.srch-hit .th { aspect-ratio: 4 / 3; background: #111; overflow: hidden; }
.srch-hit .th img { width: 100%; height: 100%; object-fit: cover; filter: brightness(.85); transition: filter .3s; }
.srch-hit:hover .th img, .srch-hit:focus-visible .th img { filter: none; }
.srch-hit .t { display: block; font-size: 17px; color: #ecebe6; margin-bottom: 4px; }
.srch-hit .e, .srch-sub .se { display: block; font-size: 13.5px; line-height: 1.5; color: rgba(236,235,230,.62); }
.srch-r mark { background: none; color: #ecebe6; border-bottom: 1px solid rgba(236,235,230,.6); }
.srch-subs { margin: 8px 0 0 138px; display: grid; gap: 6px; }
.srch-sub { display: block; color: inherit; text-decoration: none; padding-left: 12px; border-left: 1px solid rgba(236,235,230,.15); }
.srch-sub .st { font-size: 13px; color: #ecebe6; } .srch-sub .se { font-size: 12.5px; }
.srch-hit:focus-visible, .srch-sub:focus-visible { outline: 1px solid rgba(236,235,230,.5); outline-offset: 4px; }
.srch-sub:hover .st, .srch-hit:hover .t { text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 640px) { .srch-hit { grid-template-columns: 72px 1fr; gap: 12px; } .srch-subs { margin-left: 84px; } .search-btn { margin-left: 0; margin-right: 20px; font-size: 14px; color: var(--ink, #ecebe6); } }
/* filters: behind a toggle on phones */
.srch-ft { display: none; background: none; border: 1px solid rgba(236,235,230,.2); color: rgba(236,235,230,.75); font: 400 11px/1 "Geist Mono", ui-monospace, monospace; letter-spacing: .1em; text-transform: uppercase; padding: 7px 10px; margin-top: 12px; cursor: pointer; }
@media (max-width: 640px) { .srch-ft { display: inline-block; } .srch-f { display: none; } .srch.show-f .srch-f { display: grid; } .srch.show-f .srch-ft { color: #ecebe6; border-color: rgba(236,235,230,.5); } }
/* filter chips */
.srch-f { display: grid; gap: 8px; margin: 16px 0 4px; }
.srch-fg { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
.srch-fg > .label { width: 74px; color: rgba(236,235,230,.4); font: 400 10px/1 "Geist Mono", ui-monospace, monospace; letter-spacing: .1em; text-transform: uppercase; }
.chip { background: none; border: 1px solid rgba(236,235,230,.18); color: rgba(236,235,230,.75); border-radius: 14px; padding: 5px 11px; font: 400 12.5px/1 Geist, -apple-system, sans-serif; cursor: pointer; display: inline-flex; gap: 7px; align-items: center; transition: border-color .2s, color .2s, background-color .2s; }
.chip span { color: rgba(236,235,230,.4); font: 400 10.5px/1 "Geist Mono", ui-monospace, monospace; }
.chip:hover { border-color: rgba(236,235,230,.5); color: #ecebe6; }
.chip.on { background: #ecebe6; color: #0b0b0b; border-color: #ecebe6; } .chip.on span { color: rgba(11,11,11,.55); }
.chip:disabled { opacity: .3; cursor: default; }
@media (max-width: 640px) { .srch-fg > .label { width: 100%; } }
.srch-hit .ctx { color: rgba(236,235,230,.45); font-size: 14px; }
/* image results */
.srch-imgs:empty { display: none; }
.srch-il { margin: 10px 0 8px; color: rgba(236,235,230,.45); font: 400 11px/1.5 "Geist Mono", ui-monospace, monospace; letter-spacing: .1em; text-transform: uppercase; }
.srch-ig { display: grid; grid-template-columns: repeat(auto-fill, minmax(118px, 1fr)); gap: 10px; margin-bottom: 18px; }
.srch-ig a { display: block; color: inherit; text-decoration: none; }
.srch-ig img { width: 100%; aspect-ratio: 1; object-fit: cover; background: #111; filter: brightness(.85); transition: filter .3s; }
.srch-ig a:hover img, .srch-ig a:focus-visible img { filter: none; }
.srch-ig span { display: block; margin-top: 5px; font-size: 11.5px; line-height: 1.3; color: rgba(236,235,230,.6); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.srch-ig a:focus-visible { outline: 1px solid rgba(236,235,230,.5); outline-offset: 3px; }
.srch-about { color: rgba(236,235,230,.5); font-style: italic; }
.srch-imgs { margin-top: 26px; }
@media (max-width: 640px) { .srch .srch-f { display: none; } .srch.show-f .srch-f { display: grid; } }
