.site-search-sr { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.site-search-actions { position:relative; min-height:48px; }
#siteHeader .site-search-toggle, #siteHeader .site-search-close, #siteHeader .site-search-submit { display:inline-flex; align-items:center; justify-content:center; flex-shrink:0; width:44px; height:44px; min-width:44px; margin:0; padding:0; border:0; border-radius:50%; background:transparent; color:#0e7490; box-shadow:none; cursor:pointer; }
#siteHeader .site-search-toggle:hover, #siteHeader .site-search-close:hover { background:#ecfeff; }
#siteHeader .site-search-toggle:focus-visible, #siteHeader .site-search-close:focus-visible, #siteHeader .site-search-submit:focus-visible { outline:2px solid #0891b2; outline-offset:3px; }
#siteHeader .site-search-submit { color:white; background:#0e7490; }
#siteHeader .site-search-submit:hover { background:#155e75; }
.site-search-form { display:flex; align-items:center; gap:4px; width:100%; padding:4px; border:1px solid #cbd5e1; border-radius:999px; background:white; box-shadow:0 4px 20px #0e74900d; }
#siteHeader .site-search-form input { flex:1; min-width:0; width:100%; margin:0; padding:10px 8px 10px 16px; border:0; outline:0; border-radius:999px; background:transparent; box-shadow:none; font:inherit; font-size:16px; color:#334155; }
.site-search-form:focus-within { border-color:#0891b2; box-shadow:0 0 0 3px #0891b218; }
.site-search-form input::-webkit-search-cancel-button { display:none; }
.site-search-desktop { position:absolute; inset:-4px -4px; left:auto; width:calc(100% + 8px); min-width:360px; z-index:3; display:flex; align-items:center; background:white; opacity:0; transform:translateX(16px) scaleX(.9); transform-origin:right center; transition:opacity .2s ease,transform .25s cubic-bezier(.2,.8,.2,1); }
.site-search-desktop.is-open { opacity:1; transform:translateX(0) scaleX(1); }
.site-search-mobile-actions { display:flex; align-items:center; gap:8px; margin-left:auto; }
.site-search-mobile { position:fixed; inset:0; z-index:100; height:100dvh; overflow:auto; background:linear-gradient(160deg,#f0fdfa,#fff 65%); opacity:0; transition:opacity .2s ease; }
.site-search-mobile.is-open { opacity:1; }
#siteHeader .site-search-mobile-close { position:absolute; top:max(20px,env(safe-area-inset-top)); right:20px; width:48px; height:48px; color:#475569; border:1px solid #cbd5e1; background:white; }
.site-search-mobile-content { width:min(100% - 40px,560px); margin:max(76px,calc(env(safe-area-inset-top) + 64px)) auto 24px; transform:translateY(12px); transition:transform .25s ease; }
.is-open .site-search-mobile-content { transform:translateY(0); }
.site-search-eyebrow { color:#0e7490; font-size:11px; font-weight:600; letter-spacing:.16em; margin:0 0 16px; }
#siteHeader .site-search-mobile h2 { margin:0 0 16px; color:#164e63; font-size:clamp(25px,6vw,34px); font-weight:500; line-height:1.3; }
.site-search-mobile-hint { margin:18px 4px; color:#64748b; font-size:13px; line-height:1.7; }
body.site-search-locked { overflow:hidden; }
.site-search-desktop[hidden], .site-search-mobile[hidden] { display:none; }
@media(min-width:1024px) { .site-search-mobile-actions { display:none; } }
@media(max-width:1023px) { #siteHeader nav > a { min-width:0; flex-shrink:1; } #siteHeader nav > a > img { width:clamp(132px,calc(100vw - 176px),240px); max-width:100%; } }
@media(prefers-reduced-motion:reduce) { .site-search-desktop,.site-search-mobile,.site-search-mobile-content { transition:none; transform:none; } }
