/* Catalog as a marketplace. Quiet surfaces, one navy, gold only on small marks. */
.rm{--ink:#0d2430;--muted:#55676f;--line:#dbe6ea;--sky:#e8f3f7;--gold:#86663a;background:linear-gradient(180deg,#d9eff8 0,#f4fafc 340px);color:var(--ink);padding-bottom:110px;font-family:Manrope,Arial,sans-serif}
.rm *{box-sizing:border-box}
.rm-shell{width:min(1560px,calc(100% - 56px));margin-inline:auto}
.rm-crumbs{display:flex;gap:8px;padding-top:122px;font-size:13px;color:var(--muted)}.rm-crumbs a{color:inherit;text-decoration:none}.rm-crumbs a:hover{color:var(--ink)}
.rm-intro{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;align-items:end;padding:12px 0 18px}
.rivi-catalog .rm-intro h1{margin:0;font:500 clamp(28px,2.7vw,42px)/1.08 Manrope,Arial,sans-serif;letter-spacing:-.05em;color:var(--ink)}
.rm-intro p{margin:0;max-width:640px;justify-self:end;font-size:14.5px;line-height:1.5;color:var(--muted)}
.rm-layout{display:grid;grid-template-columns:288px minmax(0,1fr);gap:28px;align-items:start}
/* Filters */
.rm-side{position:sticky;top:104px;display:flex;flex-direction:column;max-height:calc(100svh - 124px);border:1px solid var(--line);border-radius:22px;background:#fff;box-shadow:0 26px 50px -44px #0d243066;overflow:hidden}
.rm-side-top{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:62px;padding:0 22px;border-bottom:1px solid var(--line)}
.rm-side-top strong{font-size:17px;font-weight:600;letter-spacing:-.02em}
.rm-clear{border:0;background:none;padding:0;font:600 13px Manrope,Arial,sans-serif;color:var(--gold);cursor:pointer}
.rm-close,.rm-side-go{display:none}
.rm-form{overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#c7d6dc transparent}
.rm-group{margin:0;padding:16px 20px;border:0;border-bottom:1px solid var(--line);min-width:0}
.rm-group:last-child{border-bottom:0}
.rm-group summary{position:relative;list-style:none;cursor:pointer;font-size:14.5px;font-weight:600;color:var(--ink)}
.rm-group summary::-webkit-details-marker{display:none}
.rm-group summary:after{content:"";position:absolute;right:3px;top:5px;width:8px;height:8px;border-right:1.6px solid var(--muted);border-bottom:1.6px solid var(--muted);rotate:-135deg;transition:rotate .3s}
.rm-group:not([open]) summary:after{rotate:45deg;top:2px}
.rm-group-b{padding-top:12px}
.rm-opt{clear:both;display:grid;grid-template-columns:20px minmax(0,1fr) auto;gap:11px;align-items:center;min-height:34px;font-size:15px;line-height:1.25;cursor:pointer;transition:opacity .25s}
.rm-opt input,.rm-cur input{position:absolute;opacity:0;width:1px;height:1px}
.rm-opt-t{grid-column:2}
.rm-opt:before{content:"";grid-column:1;grid-row:1;width:20px;height:20px;border:1.5px solid #b9cad1;border-radius:6px;background:#fff center/12px no-repeat;transition:background-color .2s,border-color .2s}
.rm-opt:has(input:checked):before{background-color:var(--ink);border-color:var(--ink);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m2 6.5 2.8 2.8L10 3.5'/%3E%3C/svg%3E")}
.rm-opt:has(input:focus-visible):before{outline:2px solid var(--ink);outline-offset:2px}
.rm-opt-n{font-size:13px;color:var(--muted)}
.rm-opt.is-off{opacity:.38}
.rm-group.is-pills{display:block}
.rm-group.is-pills .rm-group-b{display:flex;flex-wrap:wrap;gap:6px}
.rm-group.is-pills .rm-opt{clear:none;display:inline-flex;min-height:38px;margin:0;padding:0 14px;border:1.5px solid var(--line);border-radius:999px;transition:background-color .2s,border-color .2s,color .2s,opacity .25s}
.rm-group.is-pills .rm-opt:before,.rm-group.is-pills .rm-opt-n{display:none}
.rm-group.is-pills .rm-opt:has(input:checked){background:var(--ink);border-color:var(--ink);color:#fff}
.rm-cur{clear:both;display:flex;gap:4px;padding:4px;margin-bottom:12px;border-radius:12px;background:var(--sky)}
.rm-cur label{flex:1;cursor:pointer}.rm-cur span{display:block;padding:7px 0;border-radius:9px;text-align:center;font-size:13px;font-weight:600;color:var(--muted);transition:background-color .2s,color .2s}
.rm-cur input:checked+span{background:#fff;color:var(--ink);box-shadow:0 2px 6px -3px #0d243055}
.rm-pair{clear:both;display:grid;grid-template-columns:1fr 1fr;gap:8px}
.rm-pair label{display:flex;align-items:center;gap:6px;height:44px;padding:0 12px;border:1.5px solid var(--line);border-radius:12px;transition:border-color .2s}
.rm-pair label:focus-within{border-color:var(--ink)}
.rm-pair span{flex:none;font-size:13px;color:var(--muted)}
.rm-pair input{width:100%;min-width:0;border:0;outline:0;background:none;padding:0;font:500 15px Manrope,Arial,sans-serif;color:var(--ink);-moz-appearance:textfield}
.rm-pair input::-webkit-outer-spin-button,.rm-pair input::-webkit-inner-spin-button{appearance:none;margin:0}
/* Top of the list */
.rm-bar{display:flex;align-items:center;gap:18px;min-height:56px;margin-bottom:16px}
.rm-modes{display:flex;gap:4px;padding:4px;border-radius:14px;background:#fff;border:1px solid var(--line)}
.rm-modes button{border:0;background:none;padding:9px 18px;border-radius:10px;font:600 14px Manrope,Arial,sans-serif;color:var(--muted);cursor:pointer;transition:background-color .25s,color .25s}
.rm-modes button[aria-selected=true]{background:var(--ink);color:#fff}
.rm-count{margin:0;font-size:15px;color:var(--muted)}.rm-count strong{color:var(--ink);font-weight:600}
.rm-open{display:none}
.rm-sort{display:flex;align-items:center;gap:10px;margin-left:auto;font-size:14px;color:var(--muted)}
.rm-sort select{height:44px;padding:0 34px 0 14px;border:1px solid var(--line);border-radius:12px;background:#fff;font:600 14px Manrope,Arial,sans-serif;color:var(--ink);cursor:pointer}
.rm-chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}
.rm-chip{display:inline-flex;align-items:center;gap:8px;height:36px;padding:0 12px 0 14px;border:0;border-radius:999px;background:var(--ink);font:500 13.5px Manrope,Arial,sans-serif;color:#fff;cursor:pointer}
.rm-chip:after{content:"×";font-size:17px;line-height:1;opacity:.7}
/* Cards */
.rm-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;transition:opacity .2s}
.rm-card{position:relative;display:flex;flex-direction:column;border-radius:20px;overflow:hidden;background:#fff;box-shadow:0 0 0 1px var(--line);transition:box-shadow .45s ease,transform .45s cubic-bezier(.16,1,.3,1);animation:rmIn .55s ease both}
@keyframes rmIn{from{opacity:0;translate:0 12px}}
.rm-card[hidden]{display:none}
.rm-card:hover{transform:translateY(-4px);box-shadow:0 0 0 1px #c5d8df,0 30px 50px -36px #0d243080}
.rm-card-pic{position:relative;display:block;aspect-ratio:4/3;overflow:hidden;background:var(--sky)}
.rm-card-pic img{display:block;width:100%;height:100%;object-fit:cover;transition:transform 1.1s cubic-bezier(.16,1,.3,1)}
.rm-card:hover .rm-card-pic img{transform:scale(1.05)}
.rm-card-none{display:grid;place-items:center;height:100%;padding:20px;text-align:center;font-size:15px;color:var(--muted)}
.rm-card-tags{position:absolute;left:10px;top:10px;right:52px;display:flex;flex-wrap:wrap;gap:5px}
.rm-card-tags span{padding:4px 9px;border-radius:999px;background:#ffffffeb;font-size:11.5px;font-weight:700;color:var(--ink)}
.rm-fav{position:absolute;z-index:2;right:10px;top:10px;display:grid;place-items:center;width:36px;height:36px;border:0;border-radius:50%;background:#ffffffeb;cursor:pointer;transition:transform .25s}
.rm-fav:hover{transform:scale(1.1)}
.rm-fav svg,.rm-favs svg{width:19px;height:19px;fill:none;stroke:var(--ink);stroke-width:1.7}
.rm-fav[aria-pressed=true] svg{fill:#c8483b;stroke:#c8483b}
.rm-card-ask{position:relative;z-index:2;display:flex;align-items:center;justify-content:center;height:42px;margin-top:10px;border:1.5px solid var(--ink);border-radius:11px;font-size:14px;font-weight:600;color:var(--ink);text-decoration:none;transition:background-color .25s,color .25s}
.rm-card-ask:hover{background:var(--ink);color:#fff}
.rm-card-b{display:flex;flex-direction:column;flex:1;gap:7px;padding:14px 15px 15px}
.rm-card-place{margin:0;font-size:12.5px;font-weight:600;line-height:1.35;color:var(--gold)}
.rivi-catalog .rm-card h3{margin:0;font:600 16px/1.28 Manrope,Arial,sans-serif;letter-spacing:-.02em}
.rm-card h3 a{color:var(--ink);text-decoration:none}.rm-card h3 a:after{content:"";position:absolute;inset:0}
.rm-card-facts{display:flex;flex-wrap:wrap;gap:2px 10px;margin:0;padding:0;list-style:none;font-size:13px;line-height:1.4;color:var(--muted)}
.rm-card-low{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:auto;padding-top:12px;border-top:1px solid var(--line)}
.rm-card-low strong{font-size:20px;font-weight:600;letter-spacing:-.03em;color:var(--ink)}
.rm-card-low span{font-size:20px;color:var(--ink);transition:transform .4s cubic-bezier(.16,1,.3,1)}
.rm-card:hover .rm-card-low span{transform:translateX(5px)}
.rm-empty{padding:64px 24px;border:1px dashed #bfd1d8;border-radius:20px;text-align:center}
.rm-empty p{margin:0 auto 18px;max-width:440px;font-size:16px;line-height:1.55;color:var(--muted)}
.rm-empty-btn,.rm-more button,.rm-apply{display:inline-flex;align-items:center;justify-content:center;height:52px;padding:0 28px;border:0;border-radius:12px;background:var(--ink);font:600 15px Manrope,Arial,sans-serif;color:#fff;text-decoration:none;cursor:pointer}
.rm-more{display:grid;justify-items:center;gap:12px;margin-top:36px}
.rm-more p{margin:0;font-size:14px;color:var(--muted)}
.rm-track{width:220px;height:3px;border-radius:3px;background:var(--line);overflow:hidden}.rm-track i{display:block;height:100%;background:var(--ink);transition:width .4s}
.rm-more button{animation:rmPulse 2.4s ease-out infinite}
@keyframes rmPulse{0%{box-shadow:0 0 0 0 #0d243059}70%{box-shadow:0 0 0 13px #0d243000}100%{box-shadow:0 0 0 0 #0d243000}}
.rm-veil{position:fixed;inset:0;z-index:90;background:#0d243080}
@media(max-width:1560px){.rm-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:1180px){.rm-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:980px){
.rm-shell{width:calc(100% - 32px)}
.rm-crumbs{padding-top:104px}.rm-intro{grid-template-columns:minmax(0,1fr);gap:8px;padding:8px 0 12px}.rm-intro p{justify-self:start;font-size:14px}
.rm-layout{grid-template-columns:minmax(0,1fr)}
.rm-bar{position:sticky;top:0;z-index:20;flex-wrap:wrap;gap:10px;margin-inline:-16px;padding:10px 16px;background:#f4fafcf5}
.rm-modes{order:1}.rm-count{order:2;margin-left:auto}
.rm-open{order:3;flex:1 1 calc(50% - 5px);display:inline-flex;align-items:center;justify-content:center;gap:8px;height:46px;border:0;border-radius:12px;background:var(--ink);font:600 14.5px Manrope,Arial,sans-serif;color:#fff}
.rm-open span{display:grid;place-items:center;min-width:22px;height:22px;border-radius:50%;background:#fff;font-size:12px;color:var(--ink)}.rm-open span[hidden]{display:none}
.rm-sort{order:4;flex:1 1 calc(50% - 5px);margin:0}.rm-sort span{display:none}.rm-sort select{width:100%;height:46px;padding:0 26px 0 12px;font-size:13px}
.rm-side{position:fixed;left:0;right:0;bottom:0;top:auto;z-index:100;max-height:88svh;border:0;border-radius:24px 24px 0 0;transform:translateY(102%);visibility:hidden;transition:transform .45s cubic-bezier(.16,1,.3,1),visibility 0s .45s}
.rm-side.is-open{transform:none;visibility:visible;transition:transform .45s cubic-bezier(.16,1,.3,1)}
.rm-close{display:block;border:0;background:none;font-size:28px;line-height:1;color:var(--ink)}
.rm-clear{margin-left:auto}
.rm-form{flex:1}
.rm-apply{gap:6px}.rm-side-go{display:block;padding:12px 16px calc(12px + env(safe-area-inset-bottom));border-top:1px solid var(--line)}.rm-apply{width:100%}
.rm-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
}
@media(max-width:640px){.rm-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.rm-card-b{padding:10px 10px 11px;gap:5px}.rivi-catalog .rm-card h3{font-size:13.5px}.rm-card-place{font-size:11px}.rm-card-facts{font-size:11.5px}.rm-card-facts li:nth-child(n+2){display:none}.rm-card-low{padding-top:8px}.rm-card-low strong{font-size:15.5px}.rm-card-low span{display:none}.rm-card-ask{height:36px;margin-top:6px;font-size:12px}.rm-card-tags span{font-size:10px;padding:3px 7px}.rm-card-tags span:nth-child(n+2){display:none}.rm-fav{width:30px;height:30px;right:7px;top:7px}.rm-fav svg{width:16px;height:16px}
.rm-grid.is-list .rm-card{grid-template-columns:128px minmax(0,1fr)}.rm-grid.is-list .rm-card-pic{aspect-ratio:auto}}
@media(prefers-reduced-motion:reduce){.rm-card,.rm-more button{animation:none}.rm-card,.rm-card-pic img{transition:none}}
/* Quick choices, price sliders, saved homes, list view */
.rm-quick{display:flex;gap:8px;padding-bottom:16px;overflow-x:auto;scrollbar-width:none}.rm-quick::-webkit-scrollbar{display:none}
.rm-quick button{flex:none;height:38px;padding:0 15px;border:1px solid var(--line);border-radius:999px;background:#fff;font:600 13.5px Manrope,Arial,sans-serif;color:var(--ink);cursor:pointer;transition:background-color .2s,color .2s,border-color .2s}
.rm-quick button:hover{border-color:var(--ink)}.rm-quick button[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:#fff}
.rm-slide{position:relative;height:30px;margin-top:10px}
.rm-slide:before{content:"";position:absolute;left:0;right:0;top:13px;height:4px;border-radius:4px;background:var(--line)}
.rm-slide i{position:absolute;top:13px;height:4px;border-radius:4px;background:var(--ink)}
.rm-slide input{position:absolute;left:0;top:6px;width:100%;height:18px;margin:0;background:none;pointer-events:none;appearance:none;-webkit-appearance:none}
.rm-slide input::-webkit-slider-thumb{-webkit-appearance:none;width:20px;height:20px;border:2px solid var(--ink);border-radius:50%;background:#fff;box-shadow:0 2px 6px #0d243040;pointer-events:auto;cursor:grab}
.rm-slide input::-moz-range-thumb{width:16px;height:16px;border:2px solid var(--ink);border-radius:50%;background:#fff;pointer-events:auto;cursor:grab}
.rm-favs{display:inline-flex;align-items:center;gap:6px;height:44px;padding:0 14px;border:1px solid var(--line);border-radius:12px;background:#fff;font:600 14px Manrope,Arial,sans-serif;color:var(--ink);cursor:pointer}
.rm-favs span{min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:var(--sky);font-size:12px;line-height:20px;text-align:center}
.rm-favs[aria-pressed=true]{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}
.rm-sort{margin-left:auto}
.rm-look{display:flex;gap:2px;padding:3px;border:1px solid var(--line);border-radius:12px;background:#fff}
.rm-look button{display:grid;place-items:center;width:36px;height:36px;border:0;border-radius:9px;background:none;cursor:pointer}
.rm-look svg{width:18px;height:18px;fill:var(--muted)}
.rm-look button[aria-pressed=true]{background:var(--sky)}.rm-look button[aria-pressed=true] svg{fill:var(--ink)}
.rm-grid.is-list{grid-template-columns:minmax(0,1fr)}
.rm-grid.is-list .rm-card{display:grid;grid-template-columns:300px minmax(0,1fr)}
.rm-grid.is-list .rm-card-pic{aspect-ratio:auto;height:100%;min-height:210px}
.rm-grid.is-list .rm-fav{left:auto}
.rm-grid.is-list .rm-card-ask{align-self:flex-start;padding:0 22px}
@media(max-width:980px){.rm-bar{top:0}.rm-look{display:none}.rm-favs{order:2;margin-left:auto;padding:0 10px;height:42px;font-size:0;gap:4px}.rm-favs span{font-size:12px}.rm-count{order:5;width:100%;margin:0;font-size:13.5px}.rm-side{top:auto}}

.rivi-catalog .rm-grid-heading{font-size:24px;margin:16px 0 24px}
/* Catalog reading section; FAQ uses native details, with no extra JavaScript. */
.rivi-catalog .rm-editorial{max-width:880px;padding-block:64px 80px;font-size:17px;line-height:1.75}
.rm-editorial h2{margin:40px 0 20px;font-size:30px}.rm-editorial h2:first-child{margin-top:0}
.rm-editorial p{margin:0 0 20px}.rm-editorial a{text-decoration:underline;text-underline-offset:4px}
.rm-editorial details{padding:20px 0;border-bottom:1px solid #cbdce3}.rm-editorial summary{cursor:pointer;font-weight:600;line-height:1.5}.rm-editorial details p{margin:16px 0 0}
@media(max-width:640px){.rivi-catalog .rm-editorial{padding-block:40px 56px;font-size:16px}.rm-editorial h2{font-size:25px}}
