/* RS Group — apartment platform styles (extends site.css; same palette & type) */
.lang-sw{border:1px solid rgba(255,255,255,.3);border-radius:999px;padding:.25rem .7rem !important;font-size:.75rem !important;letter-spacing:.08em}
.lang-sw:after{display:none !important}
.btn.sm{padding:.6rem 1.1rem;font-size:.78rem}
.btn.full{width:100%;justify-content:center;margin-top:.7rem}
.hide{display:none !important}

.plat-hero{background:var(--ink);color:#fff}
.plat-hero .wrap{padding-top:3.6rem;padding-bottom:3rem}
.plat-hero h1{font-size:clamp(2rem,4.4vw,3.2rem);font-weight:800;margin-top:1rem;line-height:1.05}
.plat-hero p{color:rgba(255,255,255,.72);margin-top:.9rem;max-width:44rem}
.hsearch{margin-top:1.8rem;display:flex;gap:.6rem;max-width:42rem}
.hsearch input{border-radius:999px;padding:.9rem 1.3rem;border:0}

.plat-main .wrap{padding-top:2.4rem;padding-bottom:4rem}
.plat-grid{display:grid;grid-template-columns:290px 1fr;gap:2.2rem;align-items:start}
.filters{background:#fff;border:1px solid var(--grey-light);border-radius:4px;padding:1.2rem;position:sticky;top:calc(var(--header-h) + 1rem);max-height:calc(100vh - var(--header-h) - 2rem);overflow:auto}
.fhead{display:flex;align-items:center;justify-content:space-between;margin-bottom:.9rem}
.fhead .clear{font-size:.8rem;color:var(--orange);font-weight:600}
.fclose{display:none;background:none;border:0;font-size:1.8rem;line-height:1;cursor:pointer}
.fg{border-top:1px solid var(--grey-light);padding:.85rem 0}
.fg:first-of-type{border-top:0;padding-top:0}
.fg summary{font-size:.72rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;cursor:pointer;margin-bottom:.6rem;color:var(--charcoal)}
.fg .scroll{max-height:220px;overflow:auto;padding-right:.3rem}
.ck{display:flex;align-items:center;gap:.55rem;font-size:.86rem;font-weight:400;margin:.35rem 0;cursor:pointer}
.ck input{width:auto;accent-color:var(--orange)}
.two{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin-top:.5rem}
.sel-l{font-size:.78rem;color:var(--grey-medium);margin-top:.6rem}
.sel-l select{margin-top:.3rem}
.pills{display:flex;flex-wrap:wrap;gap:.4rem}
.pill input{display:none}
.pill span{display:inline-block;border:1px solid var(--grey-light);border-radius:999px;padding:.4rem .85rem;font-size:.84rem;cursor:pointer;transition:.2s}
.pill input:checked+span{background:var(--ink);color:#fff;border-color:var(--ink)}
.range2{position:relative;height:28px}
.range2 input{position:absolute;left:0;right:0;top:6px;width:100%;padding:0;border:0;background:none;pointer-events:none;-webkit-appearance:none;appearance:none;height:4px;accent-color:var(--orange)}
.range2 input::-webkit-slider-thumb{pointer-events:auto;-webkit-appearance:none;width:18px;height:18px;border-radius:50%;background:var(--orange);cursor:pointer;border:2px solid #fff;box-shadow:0 0 0 1px var(--orange)}
.range2 input::-moz-range-thumb{pointer-events:auto;width:16px;height:16px;border-radius:50%;background:var(--orange);cursor:pointer;border:2px solid #fff}
.range2:before{content:"";position:absolute;left:0;right:0;top:12px;height:3px;background:var(--grey-light);border-radius:3px}
.filters .apply{width:100%;justify-content:center;margin-top:.6rem}
.js .filters .apply{display:none}

.rbar{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.3rem;flex-wrap:wrap}
.rbar b{font-family:'Manrope';font-size:1.15rem}
.rbar-r{display:flex;gap:.7rem;align-items:center}
.sortl{display:flex;align-items:center;gap:.5rem;font-size:.8rem;color:var(--grey-medium);margin:0;white-space:nowrap}
.sortl select{width:auto;padding:.5rem .7rem}
.ftoggle{display:none}

.lgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:1.4rem}
.lgrid.three{grid-template-columns:repeat(3,1fr)}
.lcard2{background:#fff;border:1px solid var(--grey-light);border-radius:4px;overflow:hidden;display:flex;flex-direction:column;transition:box-shadow .3s,transform .3s}
.lcard2:hover{box-shadow:0 16px 36px rgba(0,0,0,.09);transform:translateY(-3px)}
.lcard2 .ph{position:relative;display:block;aspect-ratio:4/3;background:var(--charcoal);overflow:hidden}
.lcard2 .ph img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
.lcard2:hover .ph img{transform:scale(1.04)}
.noph{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.35);font-family:'Manrope';font-weight:800;letter-spacing:.2em;background:linear-gradient(135deg,var(--charcoal),var(--ink))}
.badge{position:absolute;left:.7rem;font-size:.7rem;font-weight:600;padding:.32rem .65rem;border-radius:999px;max-width:calc(100% - 1.4rem)}
.badge.promo{top:.7rem;background:var(--orange);color:#fff}
.badge.pend{bottom:.7rem;background:#fff;color:var(--ink)}
.badge.count{bottom:.7rem;left:auto;right:.7rem;background:rgba(11,11,11,.7);color:#fff}
.lcard2 .body{padding:1.1rem 1.2rem 1.3rem;display:flex;flex-direction:column;flex:1}
.price{display:flex;align-items:baseline;gap:.35rem}
.price b{font-family:'Manrope';font-weight:800;font-size:1.5rem;color:var(--ink)}
.price span{font-size:.8rem;color:var(--grey-medium)}
.price.big b{font-size:2.2rem}
.price-reg{font-size:.78rem;color:var(--grey-medium);margin-top:.1rem}
.lcard2 h3{font-size:1rem;font-weight:700;margin-top:.55rem;line-height:1.3}
.lcard2 h3 a:hover{color:var(--orange)}
.loc{font-size:.82rem;color:var(--grey-medium);margin-top:.2rem}
.specs{list-style:none;display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.75rem}
.specs li{font-size:.76rem;background:var(--offwhite);border:1px solid var(--grey-light);border-radius:3px;padding:.25rem .5rem}
.specs.big li{font-size:.86rem;padding:.4rem .7rem}
.avail{font-size:.8rem;color:var(--grey-medium);margin-top:.7rem}
.avail b{color:var(--ink)}
.incl{display:flex;flex-wrap:wrap;gap:.3rem .7rem;margin-top:.5rem}
.incl span{font-size:.74rem;color:var(--grey-medium)}
.incl span:before{content:"✓ ";color:var(--orange)}
.agent-line{font-size:.76rem;color:var(--grey-medium);margin-top:.5rem}
.acts{display:flex;gap:.5rem;margin-top:auto;padding-top:1rem;flex-wrap:wrap}
.empty{background:#fff;border:1px dashed var(--grey-light);border-radius:4px;padding:3rem 2rem;text-align:center}
.empty p{color:var(--grey-medium);margin:.7rem 0 1.4rem}
.fine{font-size:.76rem;color:var(--grey-medium);margin-top:1.4rem;line-height:1.6}
.pager{display:flex;justify-content:space-between;align-items:center;margin-top:2rem;font-size:.88rem}
.pager a{color:var(--orange);font-weight:600}

/* detail */
.crumbs{font-size:.8rem;color:var(--grey-medium);padding-top:1.2rem}
.crumbs a:hover{color:var(--orange)}
.dtl .wrap{padding-top:1.2rem;padding-bottom:4rem}
.gal .main{aspect-ratio:16/8;background:var(--charcoal);border-radius:4px;overflow:hidden}
.gal .main img{width:100%;height:100%;object-fit:cover}
.thumbs{display:flex;gap:.5rem;margin-top:.6rem;overflow-x:auto;padding-bottom:.3rem}
.thumbs button{border:2px solid transparent;padding:0;border-radius:3px;overflow:hidden;cursor:pointer;flex:0 0 96px;height:68px;background:none}
.thumbs button.on{border-color:var(--orange)}
.thumbs img{width:100%;height:100%;object-fit:cover}
.dgrid{display:grid;grid-template-columns:1fr 380px;gap:3rem;margin-top:2.2rem;align-items:start}
.dmain h1{font-size:clamp(1.8rem,3.4vw,2.6rem);font-weight:800;margin-top:.8rem;line-height:1.1}
.dmain h1 small{display:block;font-size:.5em;color:var(--grey-medium);font-weight:600;margin-top:.3rem}
.bname{color:var(--grey-medium);margin-top:.3rem}
.pendnote{display:inline-block;margin-top:.8rem;background:#fff4ec;color:var(--orange-600);font-size:.8rem;font-weight:600;padding:.35rem .8rem;border-radius:999px}
.dmain h2{font-size:1.25rem;font-weight:800;margin:2.2rem 0 .9rem}
.dmain h3.sub{font-size:1rem;margin:1.2rem 0 .4rem}
.kv{width:100%;border-collapse:collapse;font-size:.9rem}
.kv th,.kv td{text-align:left;padding:.7rem 0;border-bottom:1px solid var(--grey-light)}
.kv th{color:var(--grey-medium);font-weight:500;width:45%}
.amen{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:.6rem}
.amen li{display:flex;gap:.6rem;align-items:center;font-size:.9rem}
.dside{position:sticky;top:calc(var(--header-h) + 1rem);display:grid;gap:1rem}
.pricebox,.agentbox{background:#fff;border:1px solid var(--grey-light);border-radius:4px;padding:1.4rem}
.promo-box{margin-top:1rem;background:#fff7f1;border:1px solid rgba(243,107,33,.25);border-radius:4px;padding:1rem;font-size:.85rem}
.promo-box b{color:var(--orange-600);font-size:.72rem;letter-spacing:.18em;text-transform:uppercase}
.promo-box p{margin:.35rem 0 .6rem;font-weight:600}
.promo-box dl{display:grid;grid-template-columns:1fr auto;gap:.3rem .8rem}
.promo-box dt{color:var(--grey-medium)}
.promo-box dd{font-weight:600;text-align:right}
.promo-box small{display:block;color:var(--grey-medium);margin-top:.5rem;line-height:1.45;font-size:.74rem}
.agentbox{display:flex;gap:1rem;align-items:center}
.agentbox img,.agentbox .av{width:64px;height:64px;border-radius:50%;object-fit:cover;flex-shrink:0}
.agentbox .av{background:var(--ink);color:#fff;display:flex;align-items:center;justify-content:center;font-family:'Manrope';font-weight:800}
.agentbox small{display:block;font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;color:var(--orange)}
.agentbox b{display:block;font-family:'Manrope';font-size:1.05rem}
.agentbox a{display:block;font-size:.84rem;color:var(--grey-medium);overflow-wrap:anywhere}
.agentbox a:hover{color:var(--orange)}
.inq h3{font-size:1.1rem;font-weight:800}
.unitref{font-size:.82rem;color:var(--grey-medium);margin:.3rem 0 1rem;padding:.6rem .8rem;background:var(--offwhite);border-radius:3px}
.inq .field{margin-bottom:.8rem}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.fmsg{font-size:.85rem;margin:.6rem 0}
.gone .wrap{padding:4rem 2.5rem;text-align:center}
.gone h1{font-size:2rem;font-weight:800}
.gone p{color:var(--grey-medium);margin:.8rem 0 1.6rem}
.similar{background:var(--offwhite)}
.similar .lgrid{margin-top:2rem}

/* homepage additions */
.hero-search{margin-top:2rem;display:grid;grid-template-columns:1.6fr 1fr 1fr auto;gap:.5rem;max-width:52rem;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);border-radius:6px;padding:.5rem;backdrop-filter:blur(6px)}
.hero-search input,.hero-search select{border:0;border-radius:4px}
.feat-head{display:flex;justify-content:space-between;align-items:flex-end;gap:1rem;flex-wrap:wrap}
.testi-grid{margin-top:3rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.4rem}
.testi{background:#fff;border:1px solid var(--grey-light);border-radius:4px;padding:1.8rem}
.testi p{line-height:1.75;color:var(--charcoal)}
.testi .who{margin-top:1.2rem;font-weight:700;font-family:'Manrope'}
.testi .who small{display:block;font-weight:500;color:var(--grey-medium);font-family:'Inter'}
.audience{display:grid;grid-template-columns:1fr 1fr;gap:1.4rem;margin-top:3rem}
.aud{border:1px solid var(--grey-light);border-radius:4px;padding:2.2rem;background:#fff}
.aud.dark{background:var(--ink);color:#fff;border-color:var(--ink)}
.aud h3{font-size:1.5rem;font-weight:800}
.aud p{margin:.8rem 0 1.6rem;color:var(--grey-medium);line-height:1.7}
.aud.dark p{color:rgba(255,255,255,.7)}

@media(max-width:960px){
  .plat-grid{grid-template-columns:1fr}
  .filters{display:none;position:fixed;inset:0;z-index:70;max-height:none;border-radius:0;top:0;padding:1.3rem 1.3rem 5rem}
  .filters.open{display:block}
  .filters .apply{display:inline-flex !important;position:fixed;left:1.3rem;right:1.3rem;bottom:1rem;width:auto}
  .fclose{display:block}
  .ftoggle{display:inline-flex}
  .lgrid.three{grid-template-columns:1fr 1fr}
  .dgrid{grid-template-columns:1fr}
  .dside{position:static}
  .gal .main{aspect-ratio:4/3}
  .hero-search{grid-template-columns:1fr 1fr}
  .hero-search input{grid-column:1/-1}
  .hero-search button{grid-column:1/-1;justify-content:center}
  .audience{grid-template-columns:1fr}
}
@media(max-width:560px){
  .lgrid.three{grid-template-columns:1fr}
  .amen{grid-template-columns:1fr}
  .hsearch{flex-direction:column}
  .rbar{align-items:flex-start}
}

/* ---- v3: decluttered cards, essential filters, booking ---- */
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.fl{display:block;font-size:.7rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--charcoal);margin:.2rem 0 .55rem}
.adv .fl{margin-top:1rem}
.quick3 .ck{font-weight:500}
.adv summary{color:var(--orange);letter-spacing:.12em}
.lcard2 h3{font-size:1.02rem}
.lcard2 .meta{display:flex;flex-wrap:wrap;gap:.25rem .9rem;margin-top:.6rem;font-size:.84rem;color:var(--charcoal)}
.lcard2 .meta span+span:before{content:"·";margin-right:.9rem;color:var(--grey-light)}
.lcard2 .meta span+span{margin-left:-.9rem}
.lcard2 .meta span+span:before{margin-left:0}
.promo-l{margin-top:.55rem;font-size:.8rem;font-weight:600;color:var(--orange-600)}
.lcard2 .vd{margin-top:auto;align-self:flex-start}
.lcard2 .avail{margin-top:.5rem}
.lcard2 .body > .vd{margin-top:1rem}
.lcard2:focus-within{box-shadow:0 0 0 2px var(--orange)}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid rgba(243,107,33,.55);outline-offset:2px}
.keyfacts{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;background:var(--grey-light);border:1px solid var(--grey-light);border-radius:6px;overflow:hidden;margin-top:1.4rem}
.keyfacts div{background:#fff;padding:.9rem 1rem}
.keyfacts b{display:block;font-family:'Manrope';font-size:1.1rem}
.keyfacts span{font-size:.76rem;color:var(--grey-medium)}
.promo-box.wide{margin-top:1.2rem}
.igrid{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem 2rem}
.ig h3{font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;color:var(--grey-medium);margin-bottom:.6rem}
.ig .amen{grid-template-columns:1fr}
.transit{display:flex;gap:.5rem;align-items:center;color:var(--charcoal);margin-bottom:.8rem}
.transit [data-icon]{color:var(--orange)}
.book h3{font-size:1.25rem;font-weight:800}
.book fieldset{border:0;padding:0;margin:0 0 1rem}
.book legend{font-family:'Manrope';font-weight:700;font-size:.9rem;margin-bottom:.6rem}
.book label{font-size:.8rem;margin-bottom:.7rem}
.book .two{display:grid;grid-template-columns:1fr 1fr;gap:.6rem}
.book .hint{font-size:.8rem;color:var(--grey-medium);margin-bottom:.7rem;line-height:1.5}
.days{display:flex;gap:.4rem;overflow-x:auto;padding-bottom:.4rem;margin-bottom:.5rem}
.day input,.tm input{position:absolute;opacity:0;pointer-events:none}
.day span{display:block;white-space:nowrap;border:1px solid var(--grey-light);border-radius:8px;padding:.5rem .7rem;font-size:.8rem;cursor:pointer;text-align:center}
.day input:checked+span{background:var(--ink);color:#fff;border-color:var(--ink)}
.times{display:grid;grid-template-columns:repeat(4,1fr);gap:.35rem;margin-bottom:.4rem}
.tm span{display:block;text-align:center;border:1px solid var(--grey-light);border-radius:6px;padding:.45rem 0;font-size:.82rem;cursor:pointer}
.tm input:checked+span{background:var(--orange);border-color:var(--orange);color:#fff}
.day input:focus-visible+span,.tm input:focus-visible+span{outline:3px solid rgba(243,107,33,.55)}
.btn.big{padding:1rem 1.6rem;font-size:.95rem}
.fmsg.good{color:#16774f;font-weight:600;line-height:1.5}
.fmsg.bad{color:#c0392b}
[aria-invalid=true]{border-color:#e24b4a !important}
.askq summary{cursor:pointer;font-size:.88rem;font-weight:600;color:var(--charcoal);padding:.9rem 1.1rem;background:#fff;border:1px solid var(--grey-light);border-radius:4px}
.askq[open] summary{border-radius:4px 4px 0 0}
.askq .form-card{border-top:0;border-radius:0 0 4px 4px}
.mbook{display:none}
@media(max-width:960px){
  .keyfacts{grid-template-columns:repeat(3,1fr)}
  .igrid{grid-template-columns:1fr}
  .mbook{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:65;background:#fff;border-top:1px solid var(--grey-light);padding:.7rem 1rem calc(.7rem + env(safe-area-inset-bottom));align-items:center;justify-content:space-between;box-shadow:0 -8px 20px rgba(0,0,0,.06)}
  .mbook .price b{font-size:1.2rem}
  .mbook .price-reg{display:none}
  body.plat footer{padding-bottom:4.5rem}
}
.times[hidden],.book [hidden]{display:none !important}
.dgrid>*,.dside>*,.plat-grid>*{min-width:0}
.book .days{max-width:100%}
@media(max-width:560px){.dtl .wrap{padding-left:1rem;padding-right:1rem}.keyfacts{grid-template-columns:1fr 1fr}.times{grid-template-columns:repeat(3,1fr)}.kv th{width:40%}}
.book fieldset{min-width:0;max-width:100%}
.day,.tm{position:relative}.day input,.tm input{width:1px;height:1px;left:0;top:0}
.nospam{font-size:.8rem;color:#5f6b5f;background:#f1f6f1;border-radius:6px;padding:.45rem .65rem;margin:.2rem 0 .6rem;line-height:1.4}

/* units in this building (floor plans) */
.fplans{margin:2.2rem 0 1rem}
.fph{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;margin-bottom:.9rem}
.fph h2{margin:0}.fph h2 small{font:500 .85rem Inter,system-ui,sans-serif;color:#6B6B6B;margin-left:.4rem}
.fpt{display:flex;gap:.3rem;background:#F1F1EE;border-radius:999px;padding:.25rem}
.fpt button{border:0;background:transparent;border-radius:999px;padding:.4rem .9rem;font:500 .85rem Inter,system-ui,sans-serif;color:#555;cursor:pointer}
.fpt button.on{background:#0B0B0B;color:#fff}
.fpg{border:1px solid #E6E6E2;border-radius:12px;background:#fff;margin-bottom:.8rem;overflow:hidden}
.fpg summary{list-style:none;display:flex;justify-content:space-between;align-items:center;padding:.95rem 1.1rem;background:#F7F7F5;cursor:pointer}
.fpg summary::-webkit-details-marker{display:none}
.fpg summary b{font:650 1.08rem Inter,system-ui,sans-serif}
.fpc{display:inline-flex;align-items:center;gap:.5rem;background:#fff;border:1px solid #E3E3E0;border-radius:999px;padding:.35rem .85rem;font:500 .85rem Inter,system-ui,sans-serif;color:#0B0B0B}
.fpc i{width:7px;height:7px;border-right:2px solid #0B0B0B;border-bottom:2px solid #0B0B0B;transform:rotate(45deg) translateY(-2px);transition:transform .15s}
.fpg[open] .fpc i{transform:rotate(-135deg) translateY(-1px)}
.fpr{padding:.8rem 1.1rem;font:650 1.15rem Inter,system-ui,sans-serif;border-top:1px solid #EEE}
.fpl{border-top:1px solid #EEE}
.fpu{display:grid;grid-template-columns:1.1fr .9fr 1.4fr 1.2fr auto;gap:.8rem;align-items:center;padding:.7rem 1.1rem;border-bottom:1px solid #F0F0EE;text-decoration:none;color:#0B0B0B;font:400 .9rem Inter,system-ui,sans-serif}
.fpu:last-child{border-bottom:0}.fpu:hover{background:#FAFAF8}
.fpu span{color:#555}.fpu span:nth-of-type(1){color:#0B0B0B;font-weight:600}
.fpu em{font-style:normal;color:#F36B21;font-weight:600;font-size:.85rem}
.fpu.cur{background:#FFF6EF}.fpu.cur em{color:#6B6B6B}
@media (max-width:700px){.fpu{grid-template-columns:1fr auto;row-gap:.2rem}.fpu span:nth-of-type(2),.fpu span:nth-of-type(3){grid-column:1/2;font-size:.82rem}}
