/* A shared search control and a panel that opens from the top. */
.header .site-search-toggle { order:3; display:inline-flex; flex:0 0 44px; width:44px; height:48px; align-items:center; justify-content:center; padding:0; border:1px solid #ffffff50; border-radius:7px; background:#10212bd9; color:#fff; cursor:pointer; }
.header .site-search-toggle:hover { background:#195f96; border-color:#b9daee; }
.header .site-search-toggle:focus-visible { outline:3px solid #8ec4ed; outline-offset:4px; }
.header .nav-shell { gap:14px; }
.header .brand { order:0; }
.header #navigation { order:1; }
.header .menu-toggle { order:4; }
html.site-search-open { overflow:hidden; }
.search-sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }
dialog.site-search { position:fixed; inset:0 0 auto; margin:0; width:100%; max-width:none; max-height:min(85dvh,760px); padding:0; border:0; border-bottom:3px solid #1763a0; border-radius:0 0 14px 14px; background:#fff; color:#142a38; box-shadow:0 22px 60px #03111e45; overflow:auto; overscroll-behavior:contain; }
.site-search[open] { animation:site-search-arrive .24s ease-out both; }
.site-search::backdrop { background:#061521b3; backdrop-filter:blur(3px); }
.site-search-inner { width:min(100%,1000px); margin:auto; padding:30px 40px 26px; box-sizing:border-box; }
.site-search-top { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:22px; }
.site-search .site-search-top h2 { margin:0; font-size:clamp(24px,2.6vw,36px); line-height:1.15; letter-spacing:-.03em; font-weight:500; color:#142a38; }
.site-search-close { display:flex; align-items:center; justify-content:center; flex:0 0 44px; width:44px; height:44px; padding:0; background:#f0f5f8; border:1px solid #d0dde5; border-radius:50%; color:#142a38; cursor:pointer; }
.site-search-close:hover { background:#dbeaf4; }
.site-search-field { display:flex; align-items:center; gap:15px; padding:6px 6px 6px 20px; border:1px solid #8ca8bc; border-radius:7px; }
.site-search-field:focus-within { outline:2px solid #1964a5; outline-offset:3px; }
.site-search-field > svg { color:#23689c; flex-shrink:0; }
.site-search input { appearance:none; flex:1; min-width:0; width:100%; border:0; border-radius:0; outline:0; box-shadow:none; padding:12px 0; background:transparent; color:#142a38; font:inherit; font-size:18px; }
.site-search input::placeholder { color:#607580; opacity:1; }
.site-search-field > button { border:0; border-radius:4px; background:#155c9a; color:#fff; min-height:48px; padding:12px 22px; font:inherit; font-weight:600; cursor:pointer; }
.site-search button:focus-visible,.site-search a:focus-visible { outline:3px solid #1872bc; outline-offset:3px; }
.site-search .site-search-status { font-size:13px; color:#536b7c; margin:24px 0 8px; line-height:1.6; }
.site-search .site-search-results { margin:0; padding:0; list-style:none; display:grid; grid-template-columns:1fr 1fr; column-gap:28px; }
.site-search-results li { min-width:0; border-bottom:1px solid #dce5eb; }
.site-search-results a { display:flex; flex-direction:column; gap:6px; padding:16px 10px 16px 0; color:#142a38; text-decoration:none; }
.site-search-results a:hover { background:#f3f7fa; }
.site-search-result-title { color:#145d99; font-size:17px; font-weight:600; line-height:1.3; }
.site-search-result-description { color:#526b7b; font-size:14px; line-height:1.5; }
.site-search .site-search-contact { margin:24px 0 0; color:#536b7c; font-size:13px; line-height:1.6; }
.site-search-contact a { color:#145d99; text-decoration:underline; text-underline-offset:3px; }
@keyframes site-search-arrive { from { opacity:0; transform:translateY(-35px); } to { opacity:1; transform:translateY(0); } }
@media(min-width:1341px) and (max-width:1560px) { .header .nav-shell { gap:8px; } .header .brand { width:210px; } .header #navigation > a,.header #navigation > div > a { padding-inline:8px; } .header .site-quote { width:155px; padding-inline:12px; } }
@media(max-width:1340px) { .header .site-search-toggle { margin-left:auto; } }
@media(max-width:580px) { .header .nav-shell { gap:7px; } .header .site-search-toggle { flex-basis:40px; width:40px; height:46px; } .site-search-inner { padding:22px 20px; } .site-search-top { gap:12px; } .site-search-field { gap:8px; padding-left:12px; } .site-search-field > svg { display:none; } .site-search input { font-size:16px; } .site-search-field > button { padding-inline:14px; font-size:14px; } .site-search .site-search-results { grid-template-columns:1fr; } dialog.site-search { max-height:90dvh; } }
@media(prefers-reduced-motion:reduce) { .site-search[open] { animation:none; } }
