/* Rentals search engine (sub-page system: marketing.css tokens) */
.rs-hero-stats{display:flex;flex-wrap:wrap;gap:8px 28px;margin-top:6px;font:500 12px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.rs-hero-stats b{font:500 30px/1 var(--hd-font);letter-spacing:.03em;color:var(--wine);margin-right:6px;vertical-align:-2px}
.rs{padding:0 10.5%;position:relative;z-index:3;margin-top:-34px}
.rs-panel{background:#fff;border:1px solid var(--line);border-top:3px solid var(--red);box-shadow:0 34px 60px -40px rgba(70,22,30,.55)}
.rs-seg{display:flex;flex-wrap:wrap;border-bottom:1px solid var(--line)}
.rs-seg button{flex:1 1 150px;padding:18px 16px 16px;border:0;border-bottom:3px solid transparent;margin-bottom:-1px;background:transparent;font:500 12px/1 var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--muted);cursor:pointer;transition:color .3s,background .3s,border-color .3s}
.rs-seg button em{display:block;margin-top:7px;font:500 11px/1 var(--sans);font-style:normal;letter-spacing:.06em;color:var(--faint)}
.rs-seg button:hover{color:var(--wine);background:#faf6f2}
.rs-seg button[aria-selected="true"]{color:var(--wine);border-bottom-color:var(--red);background:#fdf7f6}
.rs-seg button:focus-visible,.rs-form :focus-visible,.rs-res :focus-visible,.rs-cover :focus-visible{outline:2px solid var(--red);outline-offset:2px}
.rs-form{padding:22px 26px 24px;display:grid;gap:18px}
.rs-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px 20px}
.rs-row2{grid-template-columns:minmax(120px,.7fr) minmax(220px,1.5fr) auto minmax(260px,1.1fr);align-items:end}
.rs-f{display:flex;flex-direction:column;gap:8px;min-width:0;position:relative}
.rs-f label,.rs-tools label{font:600 10px/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:#6a625d}
.rs-f input[type="search"],.rs-f select,.rs-tools select{width:100%;font:500 14px/1 var(--sans);padding:14px 38px 14px 14px;border:1px solid #cdbfb4;background:#fff;color:#2d2926;border-radius:0;-webkit-appearance:none;appearance:none;transition:border-color .25s}
.rs-f input[type="search"]{padding-right:14px;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%237c0b19' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='M20 20l-4-4'/%3E%3C/svg%3E") no-repeat right 14px center;padding-right:44px}
.rs-f select,.rs-tools select{background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%237c0b19' stroke-width='1.5'/%3E%3C/svg%3E") no-repeat right 14px center;cursor:pointer}
.rs-f select:disabled{background-color:#f3eee9;color:#6a625b;cursor:not-allowed}
.rs-f input:hover,.rs-f select:hover:not(:disabled){border-color:var(--wine)}
.rs-f.flash select,.rs-f.flash input{animation:rsflash .9s ease}
@keyframes rsflash{0%,100%{border-color:#cdbfb4}30%{border-color:var(--red);box-shadow:0 0 0 3px rgba(166,18,43,.18)}}
.rs-q{grid-column:auto}
.rs-budget{padding-top:2px}
.rs-budget output{position:absolute;right:0;top:-3px;font:500 14px/1 var(--sans);color:var(--wine)}
.rs-budget input[type="range"]{width:100%;height:44px;accent-color:var(--red);cursor:pointer;margin:0}
.rs-check{display:inline-flex;align-items:center;gap:10px;padding-bottom:14px;font:500 13px/1 var(--sans);color:#3f3a37;cursor:pointer;white-space:nowrap}
.rs-check input{width:18px;height:18px;accent-color:var(--red);cursor:pointer}
.rs-actions{display:flex;gap:18px;align-items:center;justify-content:flex-end}
.rs-go{display:inline-flex;align-items:center;gap:22px;height:50px;padding:0 26px;border:0;background:linear-gradient(90deg,#c81d3b,#b30f2b);color:#fff;font:500 13px/1 var(--condensed);letter-spacing:.26em;text-transform:uppercase;cursor:pointer;transition:background .3s,transform .3s}
.rs-go b{font:400 20px/1 var(--sans);letter-spacing:0;transition:transform .35s}
.rs-go:hover,.rs-go:focus-visible{background:#760812}
.rs-go:hover b{transform:translateX(5px)}
.rs-clear{border:0;border-bottom:1px solid var(--muted);background:none;padding:0 0 4px;font:500 11px/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--muted);cursor:pointer;transition:color .25s,border-color .25s}
.rs-clear:hover{color:var(--red);border-color:var(--red)}

.rs-res{padding:56px 10.5% 30px;scroll-margin-top:90px}
.rs-bar{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:18px 30px;margin-bottom:26px}
.rs-count{margin:0;font:500 clamp(24px,2.4vw,34px)/1.1 var(--hd-font);letter-spacing:.04em;text-transform:uppercase;color:var(--wine)}
.rs-count:focus{outline:0}
.rs-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px;min-height:6px}
.rs-chip{display:inline-flex;align-items:center;gap:8px;padding:8px 10px 8px 12px;border:1px solid #d9cdc4;background:#fff;font:500 12px/1 var(--sans);color:#3f3a37;cursor:pointer;transition:border-color .25s,background .25s}
.rs-chip:hover{border-color:var(--red);background:#fdf3f4}
.rs-chip i{font:400 16px/1 var(--sans);font-style:normal;color:var(--red)}
.rs-tools{display:flex;align-items:center;gap:12px}
.rs-tools select{width:auto;padding:12px 34px 12px 12px}
.rs-view{display:flex}
.rs-view button{width:42px;height:42px;border:1px solid #cdbfb4;background:#fff;color:var(--muted);font:400 16px/1 var(--sans);cursor:pointer;transition:background .25s,color .25s}
.rs-view button+button{border-left:0}
.rs-view button[aria-pressed="true"]{background:var(--wine);border-color:var(--wine);color:#fff}
.rs-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}
.rs-card{position:relative;background:#fff;display:flex;flex-direction:column;box-shadow:0 24px 40px -32px rgba(70,22,30,.55);opacity:0;transform:translateY(18px);animation:rscard .65s forwards cubic-bezier(.22,.61,.36,1);transition:transform .4s,box-shadow .4s}
@keyframes rscard{to{opacity:1;transform:none}}
.rs-card:hover{transform:translateY(-5px);box-shadow:0 34px 50px -30px rgba(70,22,30,.6)}
.rs-photo{position:relative;display:block;padding:0;border:0;aspect-ratio:4/3;overflow:hidden;background:#e5ddd3;cursor:pointer}
.rs-photo img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .9s cubic-bezier(.22,.61,.36,1)}
.rs-card:hover .rs-photo img{transform:scale(1.06)}
.rs-kind,.rs-tag,.rs-n{position:absolute;font:600 9.5px/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;padding:7px 10px}
.rs-kind{left:12px;top:12px;background:rgba(255,255,255,.94);color:var(--wine)}
.rs-kind.k-com{background:rgba(23,21,21,.88);color:#fff}
.rs-kind.k-acc{background:rgba(124,11,25,.92);color:#fff}
.rs-tag{left:12px;bottom:12px;background:var(--red);color:#fff}
.rs-n{right:12px;bottom:12px;background:rgba(0,0,0,.55);color:#fff;letter-spacing:.1em}
.rs-save{position:absolute;right:12px;top:12px;z-index:2;width:38px;height:38px;border:0;border-radius:50%;background:rgba(255,255,255,.94);cursor:pointer;display:grid;place-items:center;transition:transform .3s,background .3s}
.rs-save svg{width:19px;height:19px;fill:none;stroke:var(--wine);stroke-width:1.8;transition:fill .3s}
.rs-save:hover{transform:scale(1.1)}
.rs-save[aria-pressed="true"]{background:var(--wine)}.rs-save[aria-pressed="true"] svg{fill:#fff;stroke:#fff}
.rs-body{padding:18px 20px 20px;display:flex;flex-direction:column;flex:1}
.rs-price{font:500 30px/1 var(--hd-font);letter-spacing:.03em;color:var(--wine)}
.rs-price small{font:400 12px/1 var(--sans);letter-spacing:0;color:var(--muted)}
.rs-body h3{margin:10px 0 5px;font:500 15px/1.3 var(--sans);letter-spacing:.04em;text-transform:none;color:#2d2926;background:none;-webkit-text-fill-color:initial}
.rs-loc{margin:0 0 6px;font-size:13px;line-height:1.5;color:var(--muted)}
.rs-meta{margin:0 0 14px;font-size:13px;line-height:1.6;color:#4a4540}
.rs-enq{margin-top:auto;align-self:flex-start;font:600 11px/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--red);text-decoration:none;border-bottom:1px solid var(--red);padding-bottom:5px;transition:color .25s,border-color .25s}
.rs-enq:hover{color:var(--wine);border-color:var(--wine)}
.rs-grid.list{grid-template-columns:1fr}
.rs-grid.list .rs-card{flex-direction:row}
.rs-grid.list .rs-photo{flex:0 0 min(38%,360px);aspect-ratio:auto;min-height:210px}
.rs-grid.list .rs-body{justify-content:center}
.rs-empty{padding:40px 0;font-size:16px;color:var(--muted);max-width:620px}
.rs-more{display:flex;align-items:center;gap:22px;justify-content:center;margin-top:38px}
.rs-more[hidden]{display:none}
.rs-showmore{padding:15px 30px;border:1px solid var(--wine);background:transparent;color:var(--wine);font:500 12px/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;cursor:pointer;transition:background .3s,color .3s}
.rs-showmore:hover{background:var(--wine);color:#fff}
.rs-shown{font-size:13px;color:var(--muted)}
.rs-saved{position:sticky;bottom:14px;z-index:6;margin-top:26px;display:flex;flex-wrap:wrap;gap:14px 24px;align-items:center;justify-content:space-between;background:#171516;color:#fff;padding:14px 16px 14px 24px;box-shadow:0 22px 44px -18px rgba(0,0,0,.55)}
.rs-saved[hidden]{display:none}
.rs-saved-n{font:500 12px/1.3 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:#e9aab3}
.rs-saved .cta{background:#fff;color:var(--wine);min-width:0}

.rs-cover{padding:56px 10.5% 20px;background:var(--cream);border-top:1px solid var(--line);margin-top:40px}
.rs-counties{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:26px}
.rs-county{padding:11px 16px;border:1px solid #cdbfb4;background:#fff;font:500 12px/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:#3f3a37;cursor:pointer;transition:background .25s,color .25s,border-color .25s}
.rs-county:hover{border-color:var(--wine);color:var(--wine)}
.rs-county[aria-selected="true"]{background:var(--wine);border-color:var(--wine);color:#fff}
.rs-towns{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:18px;padding-bottom:40px}
.rs-town{background:#fff;border:1px solid var(--line);padding:20px 22px 22px;display:flex;flex-direction:column;gap:14px;opacity:0;transform:translateY(14px);animation:rscard .55s forwards cubic-bezier(.22,.61,.36,1);transition:box-shadow .35s,transform .35s,border-color .3s}
.rs-town:hover{box-shadow:0 26px 40px -30px rgba(70,22,30,.55);border-color:#c9b7ae}
.rs-town header{display:flex;justify-content:space-between;align-items:baseline;gap:10px}
.rs-town h3{margin:0;font:500 28px/1 var(--hd-font);letter-spacing:.04em;text-transform:uppercase;color:var(--wine)}
.rs-town header span{font:500 11px/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--faint)}
.rs-areas b{display:block;margin-bottom:8px;font:600 10px/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:#6a625d}
.rs-achips{display:flex;flex-wrap:wrap;gap:6px}
.rs-achips button{padding:7px 10px;border:1px solid #d9cdc4;background:#fbf8f5;font:500 12px/1 var(--sans);color:#3f3a37;cursor:pointer;transition:background .25s,color .25s,border-color .25s}
.rs-achips button:hover{background:var(--wine);border-color:var(--wine);color:#fff}
.rs-achips.com button{background:#f3f0ee}
.rs-searchtown{align-self:flex-start;margin-top:auto;border:0;border-bottom:1px solid var(--red);background:none;padding:0 0 5px;font:600 11px/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--red);cursor:pointer}
.rs-searchtown:hover{color:var(--wine);border-color:var(--wine)}
.rs-offices{padding:50px 10.5% 10px}
.rs-citylinks{display:flex;flex-wrap:wrap;gap:10px}
.rs-citylinks a{padding:13px 20px;border:1px solid #cdbfb4;color:#3f3a37;text-decoration:none;font:500 12px/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;transition:background .25s,color .25s,border-color .25s}
.rs-citylinks a:hover{background:var(--wine);border-color:var(--wine);color:#fff}
.rs-bandbtns{display:flex;flex-wrap:wrap;gap:12px}
.rs-bandbtns .cta{background:#fff;color:var(--wine)}
.rs-bandbtns .cta.ghost{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.7)}

/* photo viewer */
.rs-lb{position:fixed;inset:0;z-index:300;background:rgba(10,10,9,.94);display:flex;flex-direction:column;animation:rsfade .3s ease}
.rs-lb[hidden]{display:none}
@keyframes rsfade{from{opacity:0}to{opacity:1}}
.rs-lb-top{display:flex;justify-content:space-between;align-items:center;padding:16px 22px;color:#fff;font:500 12px/1 var(--sans);letter-spacing:.16em}
.rs-lb-x{border:0;background:none;color:#fff;font:300 40px/1 var(--sans);cursor:pointer}
.rs-lb-stage{flex:1;display:flex;align-items:center;justify-content:center;gap:12px;padding:0 16px;min-height:0}
.rs-lb-stage img{max-width:min(1100px,86vw);max-height:68vh;object-fit:contain;transition:opacity .3s}
.rs-lb-stage img.swap{opacity:0}
.rs-lb-nav{width:48px;height:48px;flex:0 0 auto;border:1px solid rgba(255,255,255,.5);background:rgba(0,0,0,.4);color:#fff;font-size:20px;cursor:pointer;transition:background .25s,color .25s}
.rs-lb-nav:hover{background:#fff;color:#171516}
.rs-lb-bot{padding:16px 22px 24px;text-align:center;color:#fff}
.rs-lb-cap{margin:0 0 14px;font-size:14px}
.rs-lb-go{display:inline-block;padding:13px 24px;background:#fff;color:var(--wine);text-decoration:none;font:600 11px/1 var(--sans);letter-spacing:.18em;text-transform:uppercase}

@media(max-width:1100px){.rs-row{grid-template-columns:repeat(2,minmax(0,1fr))}.rs-row2{grid-template-columns:1fr 1fr}.rs-actions{grid-column:1/-1;justify-content:flex-start}.rs-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.rs,.rs-res,.rs-cover,.rs-offices{padding-left:6%;padding-right:6%}.rs-row,.rs-row2{grid-template-columns:1fr}.rs-grid{grid-template-columns:1fr}.rs-grid.list .rs-card{flex-direction:column}.rs-grid.list .rs-photo{flex:none;aspect-ratio:4/3}.rs-form{padding:18px}.rs-towns{grid-template-columns:1fr}.rs-bar{align-items:flex-start}.rs-lb-nav{width:40px;height:40px}}
@media(prefers-reduced-motion:reduce){.rs-card,.rs-town{animation:none;opacity:1;transform:none}.rs-f.flash select,.rs-f.flash input{animation:none}}

.rs-achips button em{margin-left:5px;font:600 10px/1 var(--sans);font-style:normal;color:var(--red);transition:color .25s}
.rs-achips button:hover em{color:#fff}
/* very narrow phones: the results toolbar fits the screen (the sort list shrinks instead of pushing past the edge) */
@media(max-width:400px){.rs-tools{width:100%}.rs-tools select{flex:1 1 auto;min-width:0;width:auto;padding-right:30px;background-position:right 11px center}.rs-tools label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}}
