body.home-page {height: auto; min-height: 100vh; background: var(--site-bg, #fafbfd); color: var(--site-text, #172033);}
.home-page [hidden] {display: none !important;}
.home-page .site-navbar {position: relative; inset: auto; width: 100%; min-height: 68px; height: auto; padding: 12px max(24px, calc((100% - var(--site-content-max)) / 2)); gap: 12px; border-bottom: 1px solid var(--site-border, #e1e7ef); background: var(--site-surface, #fff);}
.home-page .site-brand {color: var(--site-text, #172033); font-size: 22px; line-height: 44px;}
.home-page .language-control {height: 44px; width: 158px;}
.home-page .language-switcher {height: 44px;}
.home-page .language-control-icon {top: 13px;}
.home-page .site-theme-toggle {height: 44px;}
.home-main {max-width: calc(var(--site-content-max) + 2 * var(--site-page-gutter)); margin: 0 auto; padding: 0 var(--site-page-gutter) 40px;}
.home-hero {padding: 40px 0 28px; text-align: center;}
.home-page .home-hero h1 {margin: 0 0 10px !important; font-size: 34px !important; line-height: 1.3; font-weight: 700; letter-spacing: -.6px;}
.home-summary {font-size: 15px; line-height: 1.65; margin: 0 0 22px; color: var(--site-muted, #667085);}
.home-search {display: flex; align-items: stretch; max-width: 690px; margin: 0 auto; padding: 0 4px 0 16px; border: 1px solid var(--site-border, #d1d5db); border-radius: 10px; background: var(--site-surface, #fff); box-shadow: var(--site-shadow, 0 3px 14px #193e7210);}
.home-search:focus-within {border-color: var(--site-accent, #2563eb); box-shadow: 0 0 0 3px var(--site-accent-soft, #eff6ff);}
.home-search input {flex: 1; min-width: 0; width: 100%; height: 56px; margin: 0; padding: 0; background: transparent; border: 0; color: var(--site-text, #172033); font-size: 16px; outline: 0; box-shadow: none; border-radius: 0;}
.home-search input::placeholder {color: var(--site-muted, #667085); opacity: 1;}
.home-search input::-webkit-search-cancel-button {display: none;}
.home-search button {flex: 0 0 48px; width: 48px; height: 56px; padding: 0; display: grid; place-items: center; border: 0; border-radius: 7px; background: transparent; color: var(--site-muted, #667085); cursor: pointer;}
.home-search-submit {color: var(--site-accent, #2563eb) !important;}
.home-search button:hover {background: var(--site-accent-soft, #eff6ff);}
.home-search svg {width: 21px; height: 21px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round;}
.home-shortcuts {max-width: 1000px; margin: 14px auto 0; font-size: 13px; color: var(--site-muted, #667085);}
.home-shortcuts-heading {display: flex; justify-content: center; align-items: center; flex-wrap: wrap; gap: 8px 16px;}
.home-shortcuts-heading button {border: 0; background: transparent; color: var(--site-muted, #667085); text-decoration: underline; text-underline-offset: 3px; cursor: pointer; min-height: 32px; padding: 0 4px;}
.home-shortcuts-items {display: flex; justify-content: center; flex-wrap: wrap; gap: 4px 12px; margin-top: 4px;}
.home-shortcut-item {display: inline-flex; align-items: center; gap: 2px; min-width: 0; max-width: 100%;}
.home-shortcut-link {min-width: 0; padding: 6px 0; color: var(--site-accent, #2563eb); font-size: 13px; line-height: 1.5; overflow-wrap: anywhere; text-align: left; text-decoration: none;}
.home-shortcut-link:hover {text-decoration: underline; text-underline-offset: 4px;}
.home-directory {border-top: 1px solid var(--site-border, #e1e7ef); padding-top: 24px;}
.home-directory-heading {display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 12px 18px; margin-bottom: 16px;}
.home-directory-heading h2, .home-faq h2 {font-size: 20px; font-weight: 650; margin: 0; line-height: 1.4;}
#home-results-count {font-size: 13px; margin: 4px 0 0; color: var(--site-muted, #667085);}
.home-filter {display: flex; align-items: center; gap: 10px; font-size: 13px; color: var(--site-muted, #667085); max-width: 100%;}
.home-filter select {height: 44px; max-width: 220px; min-width: 0; padding: 0 32px 0 12px; border: 1px solid var(--site-border, #d1d5db); border-radius: 7px; background-color: var(--site-surface, #fff); color: var(--site-text, #172033); font-size: 13px; text-overflow: ellipsis;}
.home-search-results {display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; align-items: start;}
.home-search-result-item {display: flex; align-items: center; min-width: 0; border: 1px solid var(--site-border, #e1e7ef); border-radius: 8px; background: var(--site-surface, #fff);}
.home-search-result {flex: 1; min-width: 0; padding: 17px; display: flex; flex-direction: column; gap: 5px; color: var(--site-text, #172033); text-decoration: none; border-radius: 8px; overflow-wrap: anywhere;}
.home-search-result-item:has(> .home-search-result:hover), .home-search-result-item:has(> .home-search-result.is-active) {border-color: var(--site-accent, #2563eb); background: var(--site-accent-soft, #eff6ff);}
.home-result-title {font-size: 14px; line-height: 1.5; font-weight: 600;}
.home-result-category {font-size: 12px; line-height: 1.5; color: var(--site-muted, #667085);}
.home-search-empty {padding: 45px 16px; text-align: center; background: var(--site-surface-muted, #f1f5f9); border-radius: 9px;}
.home-search-empty h3 {font-size: 18px; font-weight: 600; margin: 0 0 9px;}
.home-search-empty p {font-size: 14px; color: var(--site-muted, #667085);}
.home-reset {display: block; margin: 18px auto 0; padding: 10px 16px; min-height: 44px; border: 1px solid var(--site-border, #d1d5db); border-radius: 7px; background: var(--site-surface, #fff); color: var(--site-accent, #2563eb); cursor: pointer; font-size: 13px;}
.home-faq {margin-top: 30px; padding-top: 26px; border-top: 1px solid var(--site-border, #e1e7ef);}
.home-faq h2 {margin-bottom: 14px;}
.home-faq-item {border-bottom: 1px solid var(--site-border, #e1e7ef);}
.home-faq-item summary {padding: 15px 0; font-size: 14px; font-weight: 600; cursor: pointer; line-height: 1.65;}
.home-faq-item p {margin: 0; padding: 0 0 17px; font-size: 13px; color: var(--site-muted, #667085); line-height: 1.85;}
.home-page .footer {position: relative; bottom: auto; height: auto; min-height: 54px; padding: 16px 20px !important; line-height: 1.8; font-size: 12px; border-top: 1px solid var(--site-border, #e1e7ef);}
.home-page .footer a {font-size: inherit; color: var(--site-muted, #667085);}
.home-page :is(button, select, a, summary):focus-visible {outline: 2px solid var(--site-accent, #2563eb); outline-offset: 3px;}
@media (max-width: 1079px) {
    .home-search-results {grid-template-columns: repeat(3, minmax(0, 1fr));}
}
@media (max-width: 760px) {
    .home-page .site-navbar {padding: 10px 18px; min-height: 64px;}
    .home-main {padding: 0 18px 30px;}
    .home-hero {padding: 30px 0 24px;}
    .home-page .home-hero h1 {font-size: 28px !important;}
    .home-search-results {grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px;}
}
@media (max-width: 520px) {
    .home-page .site-navbar {padding: 8px 14px; min-height: 60px; gap: 8px;}
    .home-page .site-brand {font-size: 18px;}
    .home-page .language-control {width: 120px;}
    .home-main {padding: 0 14px 26px;}
    .home-summary {font-size: 13px; margin-bottom: 18px;}
    .home-search {padding-left: 12px;}
    .home-search input, .home-search button {height: 50px;}
    .home-search button {flex-basis: 44px; width: 44px;}
    .home-shortcuts-items {gap: 0 10px;}
    .home-shortcuts-heading button, .home-shortcut-link {min-height: 44px;}
    .home-shortcut-link {display: inline-flex; align-items: center; font-size: 12px; padding: 8px 0;}
    .home-directory {padding-top: 20px;}
    .home-directory-heading {gap: 10px;}
    .home-directory-heading h2, .home-faq h2 {font-size: 18px;}
    .home-filter > span {display: none;}
    .home-filter select {max-width: 154px;}
    .home-search-results {gap: 10px;}
    .home-search-result {padding: 13px;}
    .home-result-title {font-size: 13px;}
}
@media (max-width: 350px) {
    .home-page .site-brand {font-size: 17px;}
    .home-page .language-control {width: 88px;}
    .home-search-results {grid-template-columns: minmax(0, 1fr);}
    .home-filter {width: 100%;}
    .home-filter select {max-width: 100%; width: 100%;}
}
@media (pointer: coarse) {
    .home-shortcut-link, .home-shortcuts-heading button {min-height: 44px;}
}
