/* Site-wide search overlay — injected pages; requires topnav.css :root font vars. */
html.home-site-search-active,
        body.home-site-search-active,
        html.search-open,
        body.search-open {
            overflow: hidden;
        }
        .home-site-search {
            position: fixed;
            inset: 0;
            z-index: 10000025;
            background: #f0efeb;
            overflow-y: auto;
            overflow-x: hidden;
            -webkit-overflow-scrolling: touch;
            visibility: hidden;
            opacity: 0;
            pointer-events: none;
            transition: opacity 0.18s ease, visibility 0.18s ease;
        }
        .home-site-search.is-open {
            visibility: visible;
            opacity: 1;
            pointer-events: auto;
        }
        .home-site-search__surface {
            width: 100%;
            min-height: 100%;
            min-height: 100dvh;
            box-sizing: border-box;
        }
        .home-site-search__panel {
            max-width: 720px;
            margin: 0 auto;
            padding: clamp(20px, 4vw, 40px) clamp(18px, 4vw, 32px) 56px;
            box-sizing: border-box;
            min-height: 100%;
            min-height: 100dvh;
        }
        .home-site-search__top {
            display: flex;
            align-items: baseline;
            justify-content: space-between;
            gap: 16px;
            padding-bottom: 14px;
        }
        .home-site-search__title {
            margin: 0;
            font-family: var(--site-mono);
            font-size: 11px;
            font-weight: 500;
            letter-spacing: 0.18em;
            text-transform: uppercase;
            color: rgba(26, 26, 26, 0.85);
        }
        .home-site-search__close {
            flex-shrink: 0;
            width: 44px;
            height: 44px;
            margin: -10px -10px -10px 0;
            padding: 0;
            border: 0;
            background: transparent;
            font-size: 26px;
            line-height: 1;
            color: #1a1a1a;
            cursor: pointer;
            opacity: 0.55;
            transition: opacity 0.15s ease;
            -webkit-tap-highlight-color: transparent;
            touch-action: manipulation;
        }
        .home-site-search__close:hover {
            opacity: 0.95;
        }
        .home-site-search__rule {
            height: 1px;
            background: rgba(26, 26, 26, 0.14);
            margin: 0 0 22px;
        }
        .home-site-search__visually-hidden {
            position: absolute;
            width: 1px;
            height: 1px;
            padding: 0;
            margin: -1px;
            overflow: hidden;
            clip: rect(0, 0, 0, 0);
            white-space: nowrap;
            border: 0;
        }
        .home-site-search__field {
            display: flex;
            align-items: flex-end;
            gap: 4px;
            width: 100%;
        }
        .home-site-search__field .home-site-search__input {
            flex: 1;
            min-width: 0;
        }
        .home-site-search__close--field {
            flex-shrink: 0;
            align-self: flex-end;
            margin: 0 0 10px;
        }
        .home-site-search__input {
            display: block;
            width: 100%;
            box-sizing: border-box;
            padding: 10px 2px 12px;
            border: 0;
            border-bottom: 1px solid rgba(26, 26, 26, 0.22);
            background: transparent;
            font-family: var(--site-body);
            font-size: clamp(14px, 2.4vw, 17px);
            font-weight: 400;
            letter-spacing: -0.02em;
            color: #1a1a1a;
            border-radius: 0;
            outline: none;
        }
        .home-site-search__input::placeholder {
            color: rgba(26, 26, 26, 0.38);
        }
        .home-site-search__input:focus {
            border-bottom-color: rgba(26, 26, 26, 0.42);
        }
        .home-site-search__results {
            margin-top: 28px;
        }
        .home-site-search__group {
            margin: 0 0 28px;
        }
        .home-site-search__group-label {
            margin: 0 0 12px;
            font-family: var(--site-mono);
            font-size: 10px;
            font-weight: 500;
            letter-spacing: 0.16em;
            text-transform: uppercase;
            color: rgba(26, 26, 26, 0.48);
            padding-bottom: 8px;
            border-bottom: 1px solid rgba(26, 26, 26, 0.1);
        }
        .home-site-search__list {
            list-style: none;
            margin: 0;
            padding: 0;
        }
        .home-site-search__hit-li {
            border-bottom: 1px solid rgba(26, 26, 26, 0.06);
            margin: 0;
            padding: 0;
            list-style: none;
        }
        .home-site-search__hit-li .home-site-search__hit {
            border-bottom: none;
        }
        .home-site-search__quick-links {
            display: flex;
            flex-wrap: wrap;
            align-items: center;
            gap: 10px 14px;
            padding: 0 0 12px 0;
            margin-top: -2px;
        }
        .home-site-search__hit-li:has(.home-site-search__hit--rich) .home-site-search__quick-links {
            padding-left: 58px;
        }
        .home-site-search__quick-link {
            font-family: var(--site-mono);
            font-size: 10px;
            letter-spacing: 0.1em;
            text-transform: uppercase;
            text-decoration: none;
            color: rgba(26, 26, 26, 0.52);
            border-bottom: 1px solid rgba(26, 26, 26, 0.14);
            padding-bottom: 2px;
        }
        .home-site-search__quick-link:hover {
            color: rgba(26, 26, 26, 0.85);
            border-bottom-color: rgba(26, 26, 26, 0.35);
        }
        .home-site-search__featured {
            margin-bottom: 28px;
            padding-bottom: 6px;
            border-bottom: 1px solid rgba(26, 26, 26, 0.08);
        }
        .home-site-search__featured .home-site-search__list {
            margin-top: 4px;
        }
        .home-site-search__hit {
            display: block;
            padding: 14px 0;
            text-decoration: none;
            color: inherit;
            border-bottom: 1px solid rgba(26, 26, 26, 0.06);
            transition: opacity 0.12s ease;
        }
        .home-site-search__hit--rich {
            display: flex;
            align-items: flex-start;
            gap: 14px;
            padding: 14px 0;
        }
        .home-site-search__hit-thumb {
            flex-shrink: 0;
            width: 44px;
            height: 44px;
            border-radius: 1px;
            overflow: hidden;
            background: rgba(26, 26, 26, 0.06);
            border: 1px solid rgba(26, 26, 26, 0.08);
            box-sizing: border-box;
        }
        .home-site-search__hit-thumb img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            display: block;
        }
        .home-site-search__hit-thumb--contain {
            display: flex;
            align-items: center;
            justify-content: center;
            background: #fafafa;
        }
        .home-site-search__hit-thumb--contain img {
            width: 100%;
            height: 100%;
            object-fit: contain;
            object-position: center;
            display: block;
            flex-shrink: 1;
            min-width: 0;
            min-height: 0;
        }
        .home-site-search__hit-thumb--cover img {
            object-fit: cover;
        }
        .home-site-search__view-more {
            margin: 10px 0 0;
            padding-bottom: 4px;
            font-family: var(--site-mono);
            font-size: 11px;
            letter-spacing: 0.02em;
            color: rgba(26, 26, 26, 0.52);
        }
        .home-site-search__view-more-link:any-link {
            color: inherit;
            text-decoration: underline;
            text-underline-offset: 2px;
        }
        .home-site-search__hit-thumb--mono {
            display: flex;
            align-items: center;
            justify-content: center;
            font-family: var(--site-mono);
            font-size: 15px;
            font-weight: 600;
            color: rgba(26, 26, 26, 0.42);
            letter-spacing: 0.02em;
        }
        .home-site-search__hit-body {
            flex: 1;
            min-width: 0;
            display: flex;
            flex-direction: column;
            gap: 6px;
        }
        .home-site-search__hit-pill {
            align-self: flex-start;
            font-family: var(--site-mono);
            font-size: 9px;
            letter-spacing: 0.12em;
            text-transform: uppercase;
            color: rgba(26, 26, 26, 0.42);
            padding-bottom: 2px;
            border-bottom: 1px solid rgba(26, 26, 26, 0.14);
        }
        .home-site-search__hit-pill--quiet {
            opacity: 0.85;
            border-bottom-color: rgba(26, 26, 26, 0.09);
        }
        .home-site-search__hit:hover {
            opacity: 0.55;
        }
        .home-site-search__hit-title {
            display: block;
            font-family: var(--site-body);
            font-size: 15px;
            font-weight: 600;
            letter-spacing: -0.01em;
            color: #141413;
            margin-bottom: 0;
        }
        .home-site-search__hit--rich .home-site-search__hit-title {
            font-size: 15.5px;
        }
        .home-site-search__hit:not(.home-site-search__hit--rich) .home-site-search__hit-title {
            margin-bottom: 6px;
        }
        .home-site-search__hit-meta {
            display: block;
            font-family: var(--site-mono);
            font-size: 11px;
            letter-spacing: 0.06em;
            text-transform: uppercase;
            color: rgba(26, 26, 26, 0.48);
            line-height: 1.45;
        }
        .home-site-search__hit-desc {
            display: block;
            font-family: var(--site-body);
            font-size: 13px;
            line-height: 1.52;
            color: rgba(26, 26, 26, 0.62);
            font-weight: 400;
            max-width: 52ch;
        }
        .home-site-search__empty {
            margin-top: 32px;
            padding-top: 8px;
            border-top: 1px solid rgba(26, 26, 26, 0.08);
        }
        .home-site-search__suggested-panel {
            margin-top: 32px;
            padding-top: 8px;
            border-top: 1px solid rgba(26, 26, 26, 0.08);
        }
        .home-site-search__empty-lead {
            margin: 0 0 10px;
            font-family: var(--site-body);
            font-size: 15px;
            font-weight: 600;
            color: #1a1a1a;
        }
        .home-site-search__empty-sub {
            margin: 0 0 20px;
            font-family: var(--site-body);
            font-size: 13px;
            line-height: 1.55;
            color: rgba(26, 26, 26, 0.58);
            max-width: 42ch;
        }
        .home-site-search__empty-label {
            font-family: var(--site-mono);
            font-size: 10px;
            letter-spacing: 0.14em;
            text-transform: uppercase;
            color: rgba(26, 26, 26, 0.45);
            margin-bottom: 12px;
        }
        .home-site-search__chips {
            display: flex;
            flex-wrap: wrap;
            gap: 8px 10px;
        }
        .home-site-search__chip {
            appearance: none;
            padding: 10px 14px;
            border: 1px solid rgba(26, 26, 26, 0.18);
            background: transparent;
            font-family: var(--site-mono);
            font-size: 10px;
            letter-spacing: 0.12em;
            text-transform: uppercase;
            color: #1a1a1a;
            cursor: pointer;
            transition: opacity 0.12s ease, border-color 0.12s ease;
            -webkit-tap-highlight-color: transparent;
            touch-action: manipulation;
        }
        .home-site-search__chip:hover {
            opacity: 0.55;
            border-color: rgba(26, 26, 26, 0.28);
        }

        .home-site-search__explore {
            margin-top: 36px;
            padding-top: 28px;
            border-top: 1px solid rgba(26, 26, 26, 0.1);
            display: flex;
            flex-direction: column;
            gap: 28px;
        }
        .home-site-search__explore-section {
            margin: 0;
        }
        .home-site-search__explore-label {
            margin: 0 0 12px;
            font-family: var(--site-mono);
            font-size: 10px;
            font-weight: 500;
            letter-spacing: 0.16em;
            text-transform: uppercase;
            color: rgba(26, 26, 26, 0.48);
        }
        .home-site-search__explore-list {
            display: flex;
            flex-direction: column;
            gap: 0;
            border-top: 1px solid rgba(26, 26, 26, 0.08);
        }
        .home-site-search__explore-row {
            display: flex;
            align-items: baseline;
            justify-content: space-between;
            gap: 12px;
            padding: 10px 0;
            border-bottom: 1px solid rgba(26, 26, 26, 0.06);
            text-decoration: none;
            color: inherit;
            transition: opacity 0.12s ease;
        }
        .home-site-search__explore-row:hover {
            opacity: 0.55;
        }
        .home-site-search__explore-row-title {
            font-family: var(--site-body);
            font-size: 14px;
            font-weight: 600;
            color: #141413;
            letter-spacing: -0.01em;
            flex: 1;
            min-width: 0;
        }
        .home-site-search__explore-row-meta {
            flex-shrink: 0;
            font-family: var(--site-mono);
            font-size: 9px;
            letter-spacing: 0.08em;
            text-transform: uppercase;
            color: rgba(26, 26, 26, 0.42);
            max-width: 44%;
            text-align: right;
        }
        .home-site-search__explore-row--product {
            align-items: center;
            gap: 12px;
        }
        .home-site-search__explore-row--product .home-site-search__explore-row-title {
            flex: 1;
            min-width: 0;
        }
        .home-site-search__explore-thumb {
            flex-shrink: 0;
            width: 40px;
            height: 40px;
            border-radius: 1px;
            overflow: hidden;
            background: rgba(26, 26, 26, 0.06);
            border: 1px solid rgba(26, 26, 26, 0.08);
        }
        .home-site-search__explore-thumb img {
            width: 100%;
            height: 100%;
            object-fit: contain;
            object-position: center;
            display: block;
        }
        .home-site-search__explore-thumb--mono {
            display: flex;
            align-items: center;
            justify-content: center;
            font-family: var(--site-mono);
            font-size: 13px;
            font-weight: 600;
            color: rgba(26, 26, 26, 0.38);
        }

