/* Search uses the site's established navy/gold system and user-relative sizing. */
.header-controls{display:flex;align-items:center;gap:.5rem;flex:0 0 auto;margin-left:auto}
.header-controls .menu-toggle{margin-left:0}
.search-toggle{display:inline-flex;align-items:center;justify-content:center;padding:.5rem;min-width:max(44px,2.75rem);min-height:max(44px,2.75rem);border:0;background:transparent;color:#fff;box-shadow:none;font:inherit;cursor:pointer}
.search-toggle[hidden]{display:none}
.search-toggle svg{fill:none;stroke:currentColor;stroke-width:2;flex-shrink:0}
.search-toggle:hover{color:#ffe19a;background:#ffffff12}
.search-toggle:focus-visible{outline:3px solid #ffe19a;outline-offset:2px}
.banner-patent{display:inline-flex;align-items:center;min-height:44px;padding:.5rem .6rem;color:#f4cd6b;border:1px solid #c49a2e;text-decoration:none;font-size:.8125rem;line-height:1.4}
.banner-patent:hover{text-decoration:underline}
.search-open{overflow:hidden}
.search-dialog{position:fixed;inset:var(--search-viewport-top,0px) 0 auto;margin:1rem auto;width:min(46rem,calc(100% - 2rem));max-width:calc(100% - 2rem);max-height:calc(var(--search-viewport-height,100dvh) - 2rem);padding:0 1.25rem 1.25rem;overflow:auto;overscroll-behavior:contain;border:1px solid #bc8c27;border-radius:.35rem;background:#fff;color:var(--ink);box-shadow:0 1rem 3rem #061a2a55;scroll-padding-top:5rem}
.search-dialog::backdrop{background:#061a2ac9}
.search-heading{position:sticky;top:0;z-index:1;display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;background:#fff;padding:1rem 0 .75rem;border-bottom:1px solid var(--line)}
.search-heading h2{font:1.5rem/1.3 var(--serif);flex:1 1 10ch;margin:0}
.search-dialog button{min-height:44px;padding:.5rem .8rem;border:1px solid var(--gold);border-radius:.2rem;background:var(--navy);color:#fff;font:inherit;cursor:pointer}
.search-close{margin-left:auto}
.search-form{margin-top:1rem}
.search-form label{display:block;margin-bottom:.5rem;font-weight:600;font-size:1rem}
.search-input-row{display:flex;gap:.5rem;flex-wrap:wrap}
.search-input-row input{flex:1 1 12rem;min-width:0;width:100%;min-height:44px;border:1px solid #607080;border-radius:.2rem;padding:.6rem .75rem;font:inherit;font-size:1rem;background:#fff;color:var(--ink)}
.search-input-row button{flex:0 0 auto}
.search-status{font-size:1rem;margin:1rem 0;line-height:1.5}
.search-results{list-style:none;margin:0;padding:0}
.search-results li{border-top:1px solid var(--line);padding:1rem 0}
.search-results h3{font:1.15rem/1.4 var(--serif);margin:0 0 .4rem;overflow-wrap:anywhere}
.search-results a{color:#123c62;text-decoration:underline;display:inline-block;padding:.2rem 0}
.search-results p{font-size:1rem;line-height:1.6;margin:0;overflow-wrap:anywhere}
.search-dialog :focus-visible{outline:3px solid #91690c;outline-offset:3px}
@media(max-width:40rem){.header-controls{gap:.4rem}}
@media(max-height:30rem){.search-dialog{margin:.5rem auto;max-height:calc(var(--search-viewport-height,100dvh) - 1rem)}.search-heading{padding-block:.5rem}}
@media(prefers-reduced-motion:reduce){.search-dialog,.search-dialog *{scroll-behavior:auto;animation:none;transition:none}}
