.residence-catalog-page{background:#fdfbef;color:#596250;font-family:var(--font-workSans),sans-serif}
.residence-catalog__hero{position:relative;height:100svh;min-height:650px;max-height:1040px;overflow:hidden;background:#73756a}
.residence-catalog__hero>img{width:100%;height:100%;object-fit:cover}
.residence-catalog__hero:after{content:"";position:absolute;inset:0;background:#25282038}
.residence-catalog__hero-content{position:absolute;inset:0;z-index:1;color:#e0d4a4}
.residence-catalog__hero h1{position:absolute;left:4.4%;top:18%;font:300 clamp(72px,9.5vw,190px)/1 var(--font-editorialOld),serif;letter-spacing:-.055em;margin:0}
.residence-catalog__hero p{position:absolute;left:12%;bottom:27%;width:330px;font-size:13px;line-height:1.65;color:#fdfbef;margin:0}
.residence-catalog__hero a{position:absolute;bottom:8%;left:50%;transform:translateX(-50%);display:grid;place-items:center;width:62px;height:62px;border:1px solid #d4ca9c;border-radius:50%;color:#e0d4a4;text-decoration:none}
.residence-catalog{padding:160px 4.4% 170px;max-width:1920px;margin:auto;scroll-margin-top:90px}
.residence-catalog__layout{display:grid;grid-template-columns:minmax(240px,31%) minmax(0,1fr);gap:60px}
.residence-catalog__sidebar form{position:sticky;top:110px;max-width:540px}
.residence-catalog__sidebar h2{font:300 clamp(36px,3.5vw,64px)/1.1 var(--font-editorialOld),serif;color:#ae8650;margin:0 0 64px}
.residence-catalog__sidebar h3{font:500 13px/1.5 var(--font-workSans),sans-serif;margin:40px 0 18px}
.residence-catalog__room-options{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:38px}
.residence-catalog__room-options label input,.residence-catalog__features label input{position:absolute;opacity:0}
.residence-catalog__room-options label span{display:grid;place-items:center;min-width:52px;height:52px;border:1px solid #d9cfa9;border-radius:50%;font-size:11px;cursor:pointer}
.residence-catalog__room-options label input:checked+span{background:#ae8650;border-color:#ae8650;color:#fdfbef}
.residence-catalog__room-options label input:focus-visible+span,.residence-catalog__features label input:focus-visible+span{outline:2px solid #ae8650;outline-offset:4px}
.residence-catalog__range{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:end;gap:15px;border-bottom:1px solid #b29560;margin:0 0 40px;padding-bottom:12px}
.residence-catalog__range div:last-child{text-align:right}
.residence-catalog__range label{display:block;font-size:10px;color:#9c9b7c;letter-spacing:.05em;margin-bottom:10px}
.residence-catalog__range input{width:100%;border:0;background:transparent;color:#67715c;font-size:13px;outline-offset:4px}
.residence-catalog__range div:last-child input{text-align:right}
.residence-catalog__range>span{font-size:10px;color:#aa8a52}
.residence-catalog__features{display:flex;flex-wrap:wrap;gap:8px}
.residence-catalog__features label span{display:block;border:1px solid #d9cfa9;border-radius:30px;padding:8px 16px;cursor:pointer;font-size:11px}
.residence-catalog__features label input:checked+span{background:#eee8ce;border-color:#ae8650}
.residence-catalog__filter-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:48px}
.residence-catalog__filter-actions button,.residence-catalog__filter-actions a{border:1px solid #d9cfa9;border-radius:40px;padding:12px 20px;background:#f4efd9;color:#738067;text-decoration:none;font-size:10px;text-transform:uppercase;letter-spacing:.03em;cursor:pointer}
.residence-catalog__count{font-size:10px;color:#ae8650;letter-spacing:.05em;margin-top:28px}
.residence-catalog__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.residence-catalog__card{display:block;position:relative;border:1px solid #e5ddbf;background:#fdfbef;text-decoration:none;color:#79856b;transition:border-color .25s}
.residence-catalog__card:hover{border-color:#ae8650;color:#79856b}
.residence-catalog__image{position:relative;height:clamp(300px,29vw,570px);padding:40px 25px 10px}
.residence-catalog__image img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply;transition:transform .4s}
.residence-catalog__card:hover img{transform:scale(1.025)}
.residence-catalog__badges{position:absolute;right:24px;top:24px;display:flex;gap:12px;font-size:12px;color:#b69960}
.residence-catalog__card-body{padding:44px 26px 34px}
.residence-catalog__card-body h2{font:300 clamp(38px,4.3vw,80px)/1 var(--font-editorialOld),serif;letter-spacing:-.045em;color:#ae8650;margin:0 0 26px}
.residence-catalog__card-body p{font-size:12px;line-height:1.5;margin:3px 0}
.residence-catalog__card-body>span{display:block;font-size:10px;margin-top:20px;text-transform:uppercase;letter-spacing:.08em}
.residence-catalog__view{opacity:0;transition:opacity .2s}
.residence-catalog__card:hover .residence-catalog__view,.residence-catalog__card:focus-visible .residence-catalog__view{opacity:1}
.residence-catalog__pagination{margin-top:44px;display:flex;justify-content:center}
.residence-catalog__empty{padding:70px 24px;text-align:center;border:1px solid #e5ddbf}
.residence-catalog__empty h2{font:300 40px var(--font-editorialOld),serif;color:#ae8650}
.residence-catalog__empty a{color:#ae8650}
@media(max-width:1100px){.residence-catalog{padding:90px 4.4%}.residence-catalog__layout{grid-template-columns:250px minmax(0,1fr);gap:30px}.residence-catalog__room-options label span{min-width:42px;height:42px;font-size:9px}.residence-catalog__card-body{padding:28px 22px}.residence-catalog__image{height:320px;padding:28px 15px 10px}}
@media(max-width:760px){.residence-catalog__hero{height:85svh;min-height:520px}.residence-catalog__hero h1{font-size:clamp(60px,13vw,100px);top:25%;left:6%}.residence-catalog__hero p{left:6%;bottom:23%;width:min(330px,85%)}.residence-catalog__hero a{width:48px;height:48px}.residence-catalog{padding:60px 24px 80px}.residence-catalog__layout{grid-template-columns:1fr;gap:40px}.residence-catalog__sidebar form{position:static;max-width:none}.residence-catalog__sidebar h2{margin-bottom:26px}.residence-catalog__range{margin-bottom:25px}.residence-catalog__grid{gap:12px}.residence-catalog__image{height:260px;padding:20px 12px 0}.residence-catalog__card-body{padding:26px 16px}.residence-catalog__card-body h2{font-size:38px}.residence-catalog__view{opacity:1}}
@media(max-width:440px){.residence-catalog__grid{grid-template-columns:1fr}.residence-catalog__image{height:330px}.residence-catalog__card-body h2{font-size:54px}}
@media(prefers-reduced-motion:reduce){.residence-catalog__card,.residence-catalog__image img,.residence-catalog__view{transition:none}}
.residence-catalog__room-options label:first-child{flex-basis:100%}
.residence-catalog__room-options label:first-child span{width:52px}
.residence-catalog__range{border-bottom:0}
.residence-catalog__slider-pair{position:relative;grid-column:1/-1;height:20px;margin-top:8px;text-align:left!important}
.residence-catalog__slider-pair:before{content:"";position:absolute;left:0;right:0;top:9px;height:1px;background:#bb9b61}
.residence-catalog__slider-pair input[type=range]{appearance:none;-webkit-appearance:none;position:absolute;inset:0;width:100%;height:20px;margin:0;background:transparent;pointer-events:none;padding:0}
.residence-catalog__slider-pair input[type=range]::-webkit-slider-thumb{appearance:none;width:10px;height:10px;border-radius:50%;background:#ae8650;border:0;pointer-events:auto;cursor:ew-resize}
.residence-catalog__slider-pair input[type=range]::-moz-range-thumb{width:10px;height:10px;border-radius:50%;background:#ae8650;border:0;pointer-events:auto;cursor:ew-resize}
.residence-catalog__slider-pair input[type=range]::-moz-range-track{background:transparent;border:0}
.residence-catalog__slider-pair input[type=range]:focus-visible{outline:1px solid #ae8650;outline-offset:5px}

.residence-catalog__unit-options { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:8px; margin-bottom:30px; }
.residence-catalog__unit-options label { position:relative; cursor:pointer; }
.residence-catalog__unit-options input { position:absolute; width:1px; height:1px; opacity:0; }
.residence-catalog__unit-options label > span { display:flex; align-items:center; justify-content:space-between; padding:12px 4px; border:1px solid #ded9c2; border-radius:6px; color:#596250; font-size:12px; white-space:nowrap; justify-content:center; transition:background .2s,color .2s; }
.residence-catalog__unit-options input:checked + span { background:#ae8650; border-color:#ae8650; color:#fffdf3; }
.residence-catalog__unit-options label:hover > span { background:#eee8d5; }
.residence-catalog__unit-options input:checked + span:hover { background:#9b7543; }
.residence-catalog__unit-options input:focus-visible + span { outline:2px solid #596250; outline-offset:3px; }

.residence-catalog__pagination { display:flex; justify-content:center; margin-top:36px; }
.residence-catalog__show-more { display:inline-flex; align-items:center; justify-content:center; gap:16px; min-width:190px; padding:16px 28px; border:1px solid #ae8650; border-radius:30px; background:#ae8650; color:#fffdf3; text-decoration:none; font-size:14px; }
.residence-catalog__show-more:hover { background:#9b7543; color:#fffdf3; }
.residence-catalog__show-more[aria-disabled="true"] { opacity:.65; cursor:wait; }

.residence-catalog__unit-options label > span > span { display:none; }
@media(max-width:1200px) and (min-width:901px) { .residence-catalog__unit-options { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media(max-width:360px) { .residence-catalog__unit-options { grid-template-columns:repeat(3,minmax(0,1fr)); } }
