/* Rispri site search: overlay and /search page. Navy #0b2545, brand blue #0b6fa4, cyan #3cc2e6. Nothing under 13px. */
.rs-overlay, .rs-page { --rs-ink:#0b2545; --rs-navy:#071a33; --rs-blue:#0b6fa4; --rs-cyan:#3cc2e6; --rs-paper:#f5f8fb; --rs-mist:#eef4f9; --rs-line:#dde6ef; --rs-muted:#51647a; font-family:Inter, Arial, sans-serif; color:var(--rs-ink); }
.rs-overlay *, .rs-page * { box-sizing:border-box; }
html.rs-locked { overflow:hidden; }
.rs-overlay { position:fixed; inset:0; z-index:2147483000; display:flex; justify-content:center; align-items:flex-start; padding:min(9vh,80px) 16px 16px; }
.rs-overlay[hidden] { display:none; }
.rs-overlay__backdrop { position:absolute; inset:0; background:rgba(7,26,51,.62); }
.rs-dialog { position:relative; width:min(760px,100%); max-height:calc(100dvh - min(9vh,80px) - 16px); display:flex; flex-direction:column; background:#fff; border-radius:18px; box-shadow:0 30px 80px rgba(7,26,51,.35); overflow:hidden; }
.rs-dialog__head { display:flex; gap:10px; align-items:center; padding:16px 16px 12px; border-bottom:1px solid var(--rs-line); }
.rs-dialog__head .rs-box { flex:1; }
.rs-dialog__body { flex:1 1 auto; overflow-y:auto; padding:12px 16px 8px; overscroll-behavior:contain; }
.rs-dialog__foot { display:flex; justify-content:space-between; gap:12px; align-items:center; padding:12px 16px; border-top:1px solid var(--rs-line); background:var(--rs-paper); font-size:13px; color:var(--rs-muted); }
.rs-all { color:var(--rs-blue); font-weight:600; text-decoration:none; }
.rs-all:hover { text-decoration:underline; }
.rs-keys kbd { font:600 13px Inter, Arial, sans-serif; border:1px solid var(--rs-line); border-bottom-width:2px; border-radius:6px; padding:0 6px; background:#fff; color:var(--rs-ink); margin-right:2px; }
.rs-close { border:1px solid var(--rs-line); background:#fff; color:var(--rs-ink); border-radius:999px; padding:10px 16px; font:600 13px Inter, Arial, sans-serif; cursor:pointer; }
.rs-close:hover { border-color:var(--rs-blue); color:var(--rs-blue); }

.rs-box { position:relative; }
.rs-box__icon { position:absolute; left:16px; top:50%; transform:translateY(-50%); color:var(--rs-blue); pointer-events:none; }
.rs-input { width:100%; min-height:52px; padding:12px 16px 12px 46px; border:1.5px solid #c3d2e0; border-radius:999px; font:500 17px Inter, Arial, sans-serif; color:var(--rs-ink); background:#fff; -webkit-appearance:none; appearance:none; }
.rs-input::placeholder { color:#6a7d92; }
.rs-input:focus { outline:none; border-color:var(--rs-blue); box-shadow:0 0 0 4px rgba(60,194,230,.25); }
.rs-input::-webkit-search-cancel-button { cursor:pointer; }

.rs-examples, .rs-facet { display:flex; flex-wrap:wrap; gap:8px; align-items:center; margin:10px 0; }
.rs-examples[hidden] { display:none; }
.rs-facet__title { font:600 13px Inter, Arial, sans-serif; letter-spacing:.06em; text-transform:uppercase; color:var(--rs-muted); margin-right:4px; }
.rs-chip { border:1px solid var(--rs-line); background:#fff; color:var(--rs-ink); border-radius:999px; padding:7px 13px; font:500 14px Inter, Arial, sans-serif; cursor:pointer; min-height:36px; }
.rs-chip:hover { border-color:var(--rs-blue); color:var(--rs-blue); }
.rs-chip[aria-pressed="true"] { background:var(--rs-ink); border-color:var(--rs-ink); color:#fff; }
.rs-chip__n { color:inherit; opacity:.7; font-variant-numeric:tabular-nums; }
.rs-chip:focus-visible, .rs-close:focus-visible, .rs-link:focus-visible, .rs-all:focus-visible { outline:2px solid #1680b8; outline-offset:2px; }

.rs-dym { margin:8px 0; font-size:15px; color:var(--rs-ink); }
.rs-link { border:0; background:none; padding:0; font:700 15px Inter, Arial, sans-serif; color:var(--rs-blue); text-decoration:underline; cursor:pointer; }
.rs-understood { display:flex; flex-wrap:wrap; gap:6px; align-items:center; margin:8px 0; }
.rs-understood__label { font:600 13px Inter, Arial, sans-serif; letter-spacing:.06em; text-transform:uppercase; color:var(--rs-muted); margin-right:4px; }
.rs-tag { font-size:13px; background:var(--rs-mist); border-radius:999px; padding:4px 10px; color:var(--rs-ink); }
.rs-tag b { font-weight:600; color:var(--rs-blue); }
.rs-status { margin:10px 0 6px; font-size:13px; color:var(--rs-muted); }

.rs-list { list-style:none; margin:0; padding:0; }
.rs-result a { display:block; padding:12px 14px; margin:2px -6px; border-radius:10px; color:var(--rs-ink); text-decoration:none; border:1px solid transparent; }
.rs-result[aria-selected="true"] a, .rs-result a:hover { background:var(--rs-paper); border-color:var(--rs-line); }
.rs-result__top { display:flex; flex-wrap:wrap; gap:8px; align-items:center; margin-bottom:4px; }
.rs-type { font:600 13px Inter, Arial, sans-serif; border-radius:999px; padding:2px 9px; background:#e3f1f9; color:#085a86; }
.rs-type--solution { background:#e5f6ee; color:#11603d; }
.rs-type--service { background:#efeafb; color:#4b2f8f; }
.rs-type--guide { background:#fdf1df; color:#7a4a05; }
.rs-type--calculator { background:#e8eef6; color:var(--rs-ink); }
.rs-type--page { background:#f0f2f5; color:#3d4c5e; }
.rs-meta { font-size:13px; color:var(--rs-muted); }
.rs-result__title { display:block; font:700 17px/1.35 Archivo, Inter, Arial, sans-serif; color:var(--rs-ink); }
.rs-result__sum { display:block; margin-top:3px; font-size:15px; line-height:1.5; color:#3d4f64; }
.rs-result[aria-selected="true"] .rs-result__title, .rs-result a:hover .rs-result__title { color:var(--rs-blue); }

/* /search page */
.rs-page { background:var(--rs-paper); padding:clamp(40px,6vw,80px) 0 clamp(56px,6.5vw,96px); min-height:60vh; }
.rs-page__shell { width:min(1100px, 100% - 2 * clamp(16px,4vw,56px)); margin:0 auto; }
.rs-page h1 { font:800 clamp(34px,5vw,52px)/1.08 Archivo, Inter, Arial, sans-serif; letter-spacing:-.02em; margin:0 0 10px; color:var(--rs-ink); }
.rs-page h1 span { color:var(--rs-blue); }
.rs-page__lede { font-size:17px; line-height:1.6; color:#3d4f64; margin:0 0 22px; max-width:720px; }
.rs-page__grid { display:grid; grid-template-columns:260px minmax(0,1fr); gap:28px; margin-top:8px; align-items:start; }
.rs-page__grid > * { min-width:0; }
.rs-page .rs-facets { position:sticky; top:96px; }
.rs-page .rs-facets .rs-facet { flex-direction:column; align-items:flex-start; gap:6px; margin:0 0 18px; }
.rs-page .rs-facets .rs-chip { text-align:left; }
.rs-page .rs-facets:empty { display:none; }
.rs-page .rs-page__grid:has(.rs-facets:empty) { grid-template-columns:1fr; }
.rs-list--page .rs-result a { background:#fff; border:1px solid rgba(11,37,69,.08); margin:0 0 10px; padding:16px 18px; }
.rs-list--page .rs-result[aria-selected="true"] a, .rs-list--page .rs-result a:hover { border-color:var(--rs-blue); background:#fff; box-shadow:0 8px 24px rgba(11,37,69,.08); }
.rs-page__note { margin-top:28px; font-size:15px; color:var(--rs-muted); }
.rs-page__note a { color:var(--rs-blue); font-weight:600; }
@media (max-width:860px) {
  .rs-page__grid { grid-template-columns:minmax(0,1fr); gap:4px; }
  .rs-page .rs-facets { position:static; }
  .rs-page .rs-facets .rs-facet { flex-direction:row; flex-wrap:nowrap; overflow-x:auto; align-items:center; margin:0 0 8px; padding-bottom:4px; scrollbar-width:thin; }
  .rs-page .rs-facets .rs-chip { white-space:nowrap; flex:none; }
}
@media (max-width:560px) {
  .rs-overlay { padding:0; }
  .rs-dialog { width:100%; max-height:100dvh; height:100dvh; border-radius:0; }
  .rs-keys { display:none; }
  .rs-facets--inline .rs-facet { flex-wrap:nowrap; overflow-x:auto; padding-bottom:4px; }
  .rs-facets--inline .rs-chip { white-space:nowrap; flex:none; }
}
@media (prefers-reduced-motion:no-preference) { .rs-dialog { animation:rs-in .16s ease-out; } }
@keyframes rs-in { from { opacity:0; transform:translateY(-6px); } to { opacity:1; transform:none; } }
