
.ct-search,.ct-search-results{--cts-ink:#203d39;--cts-muted:#5e756c;--cts-line:#d8d2c6;--cts-paper:#faf8f1;--cts-soft:#f5f2e9;--cts-teal:#1b594c;--cts-coral:#d9785b;position:relative;font-family:"Geist","DM Sans",ui-sans-serif,system-ui,sans-serif;color:var(--cts-ink);min-width:0;line-height:1.4}
.ct-search *{box-sizing:border-box}
.ct-search-form{display:flex;gap:6px;align-items:stretch;margin:0}
.ct-search-label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.ct-search-input{flex:1;min-width:0;border:1px solid var(--cts-line);background:var(--cts-paper);color:var(--cts-ink);font:inherit;border-radius:999px;outline:none;-webkit-appearance:none;appearance:none}
.ct-search-input:focus{border-color:var(--cts-teal);box-shadow:0 0 0 3px rgba(27,89,76,.16)}
.ct-search-submit{border:0;border-radius:999px;background:var(--cts-teal);color:#f7f3e9;font:700 13px/1 system-ui,sans-serif;font-family:inherit;cursor:pointer;white-space:nowrap}
.ct-search-submit:hover{background:#17473d}.ct-search-submit:focus-visible{outline:2px solid var(--cts-coral);outline-offset:2px}
.ct-search--header{width:260px;max-width:100%}
.ct-search--header .ct-search-input{padding:8px 14px;font-size:13px}
.ct-search--header .ct-search-submit{padding:0 14px;font-size:12px}
.ct-search--hero{width:100%;max-width:640px}
.ct-search--hero .ct-search-form{background:var(--cts-paper);border:1px solid var(--cts-line);border-radius:999px;padding:6px;box-shadow:0 10px 30px -18px rgba(20,61,54,.45)}
.ct-search--hero .ct-search-input{border:0;background:transparent;padding:14px 18px;font-size:clamp(16px,2.2vw,19px);box-shadow:none}
.ct-search--hero .ct-search-form:focus-within{border-color:var(--cts-teal);box-shadow:0 0 0 3px rgba(27,89,76,.16)}
.ct-search--hero .ct-search-submit{padding:0 26px;font-size:14px}
.ct-search-hint{margin:8px 4px 0;font-size:12px;color:var(--cts-muted)}
.ct-search-panel{position:absolute;z-index:60;left:0;right:0;top:calc(100% + 6px);background:#fffdf7;border:1px solid var(--cts-line);border-radius:12px;box-shadow:0 18px 40px -20px rgba(20,61,54,.5);max-height:min(70vh,520px);overflow:auto;padding:6px 0}
.ct-search--header .ct-search-panel{left:auto;right:0;min-width:min(360px,92vw)}
.ct-search-panel[hidden]{display:none}
.ct-search-status{padding:12px 16px;font-size:13px;color:var(--cts-muted)}
.ct-search-status button{border:0;background:none;color:var(--cts-teal);font:inherit;font-weight:600;text-decoration:underline;cursor:pointer;padding:0}
.ct-search-skel{display:block;height:12px;border-radius:6px;background:linear-gradient(90deg,#ece7da,#f5f2e9,#ece7da);background-size:200% 100%;animation:ct-search-shim 1.1s linear infinite;margin:8px 0}
@keyframes ct-search-shim{to{background-position:-200% 0}}
@media (prefers-reduced-motion:reduce){.ct-search-skel{animation:none}}
.ct-search-group{margin:0;padding:0;list-style:none}
.ct-search-ghead{padding:10px 16px 4px;font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--cts-muted);font-weight:600}
.ct-search-row{display:flex;align-items:center;gap:10px;padding:2px 10px}
.ct-search-opt{display:block;flex:1;min-width:0;padding:8px 8px;border-radius:8px;text-decoration:none;color:var(--cts-ink)}
.ct-search-opt strong{display:block;font-weight:600;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ct-search-opt small{display:block;font-size:12px;color:var(--cts-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ct-search-chip{flex:none;display:inline-flex;align-items:center;gap:4px;padding:5px 10px;border-radius:999px;border:1px solid var(--cts-teal);color:var(--cts-teal);font-size:12px;font-weight:700;text-decoration:none;font-variant-numeric:tabular-nums;white-space:nowrap}
.ct-search-opt:hover,.ct-search-opt.is-active{background:#efe9dc}
.ct-search-chip:hover,.ct-search-chip.is-active{background:var(--cts-teal);color:#f7f3e9}
.ct-search-opt.is-active,.ct-search-chip.is-active{outline:2px solid var(--cts-teal);outline-offset:-2px}
.ct-search-foot{border-top:1px solid #ebe5d8;margin-top:6px;padding:8px 16px 4px;display:flex;flex-wrap:wrap;gap:6px 16px;font-size:12px}
.ct-search-foot a{color:var(--cts-teal);font-weight:600;text-underline-offset:3px}
.ct-search-foot a.is-active{outline:2px solid var(--cts-teal);outline-offset:2px;border-radius:4px}
@media (max-width:767px){.ct-search--header{width:100%;flex-basis:100%;order:10}.ct-search--header .ct-search-input{font-size:16px;min-height:44px}.ct-search-chip{min-height:40px;align-items:center}.ct-search--hero .ct-search-submit{padding:0 18px}}
.ct-search-results{max-width:860px;margin:0 auto}
.ct-search-results h1{margin:6px 0 4px;font-family:inherit;overflow-wrap:anywhere}
.ct-search-results-meta{color:#546660;margin:0 0 20px}
.ct-search-results section{margin:28px 0}
.ct-search-results h2{font-size:1.15rem;margin:0 0 10px;display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.ct-search-results h2 small{display:inline;font-weight:500;font-size:.85rem;color:#61716b}
.ct-search-rlist{list-style:none;margin:0;padding:0;border:1px solid #dde5e2;border-radius:10px;overflow:hidden}
.ct-search-rlist li{margin:0;border-top:1px solid #dde5e2;display:flex;gap:14px;align-items:center;justify-content:space-between;padding:12px 16px}
.ct-search-rlist li:first-child{border-top:0}
.ct-search-rlist li>span{min-width:0;overflow-wrap:anywhere}
.ct-search-rlist a.ct-search-rtitle{font-weight:600;text-decoration:none;color:#25312f}
.ct-search-rlist a.ct-search-rtitle:hover{text-decoration:underline}
.ct-search-rlist small{display:block;color:#61716b;font-size:.85rem}
.ct-search-rlist .ct-search-chip{border-color:#276658;color:#276658}
.ct-search-rlist .ct-search-chip:hover{background:#276658;color:#fff}
.ct-search-empty{border:1px dashed #dde5e2;border-radius:10px;padding:28px;background:#f5f8f7;text-align:center}
.ct-search-browse{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;list-style:none;padding:0;margin:14px 0 0}
.ct-search-browse li{margin:0}.ct-search-browse a{display:inline-block;border:1px solid #dde5e2;border-radius:999px;padding:6px 14px;text-decoration:none;background:#fff}
