body { background:#f5f7fa; color:#14243b; }
[hidden] { display:none !important; }
.rent-page { padding-top:72px; }
.rent-container { width:min(1200px,calc(100% - 40px)); margin-inline:auto; }
.rent-hero { padding:85px 0 105px; background:radial-gradient(ellipse at 90% 0,rgba(184,148,31,.18),transparent 55%),linear-gradient(120deg,#0b1629,#1b354d); color:#fff; }
.rent-eyebrow { display:block; color:#a17e22; font-size:11px; letter-spacing:.16em; font-weight:800; margin-bottom:14px; }
.rent-hero .rent-eyebrow,.rent-contact-band .rent-eyebrow { color:#dec276; }
.rent-hero h1 { font-size:clamp(36px,5vw,66px); line-height:1.08; letter-spacing:-.045em; color:#fff; margin:0 0 22px; }
.rent-hero p { max-width:620px; color:#c8d3e1; line-height:1.8; margin:0 0 22px; }
.rent-source-link { color:#e4ce94; font-size:12px; display:inline-flex; gap:10px; align-items:center; }
.rent-catalogue { padding-bottom:65px; }
.rent-filters { position:relative; margin-top:-35px; background:#fff; border:1px solid #e5eaf0; border-radius:16px; box-shadow:0 15px 40px #13243a12; padding:22px; display:grid; grid-template-columns:1.6fr 1fr 1fr 1.1fr auto; gap:12px; align-items:end; }
.rent-filters label,.rent-sort { display:grid; gap:8px; color:#536278; font-size:11px; font-weight:700; }
.rent-filters input,.rent-filters select,.rent-sort select { width:100%; min-width:0; height:46px; border:1px solid #dfe6ed; background:#f8fafc; border-radius:9px; padding:0 12px; color:#26374e; font:inherit; font-size:13px; }
.rent-page :focus-visible,.rent-lightbox :focus-visible { outline:3px solid #b8941f; outline-offset:3px; }
.rent-button { display:inline-flex; gap:9px; justify-content:center; align-items:center; min-height:46px; padding:12px 20px; border:1px solid transparent; border-radius:9px; background:#ac8725; color:#fff; font:700 13px 'Noto Sans',sans-serif; cursor:pointer; text-align:center; }
.rent-button:hover { background:#8b6c1b; color:#fff; }
.rent-outline { border-color:#dce3eb; background:#fff; color:#1c314b; }
.rent-outline:hover { background:#edf2f7; color:#14243b; }
.rent-results-head { display:flex; justify-content:space-between; align-items:end; gap:20px; margin:45px 0 18px; }
.rent-results-head h2 { margin:0 0 8px; font-size:clamp(24px,3vw,32px); letter-spacing:-.035em; }
.rent-results-head .rent-eyebrow { margin-bottom:10px; }
.rent-results-head p { margin:0; font-size:13px; color:#69798d; }
.rent-status { font-size:12px; color:#52647b; line-height:1.7; padding:12px 16px; border:1px solid #e0e7ef; background:#edf2f7; border-radius:10px; margin-bottom:22px; overflow-wrap:anywhere; }
.rent-status.is-warning { color:#805e17; background:#fff8e8; border-color:#ebd9b0; }
.rent-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.rent-card { display:flex; flex-direction:column; min-width:0; background:#fff; border:1px solid #e3e9ef; border-radius:16px; overflow:hidden; transition:transform .2s,box-shadow .2s; }
.rent-card:hover { transform:translateY(-4px); box-shadow:0 18px 36px #14243b14; }
.rent-card-image { display:block; position:relative; height:230px; background:#e7edf3; }
.rent-card-image img { width:100%; height:100%; object-fit:cover; }
.rent-pill { position:absolute; top:14px; left:14px; background:#14243be8; color:#fff; font-size:10px; font-weight:800; padding:7px 10px; border-radius:6px; letter-spacing:.06em; }
.rent-photo-count { position:absolute; bottom:12px; right:12px; background:#14243bd9; color:#fff; border-radius:6px; font-size:11px; padding:5px 9px; }
.rent-card-body { padding:21px; display:flex; flex:1; flex-direction:column; }
.rent-price { color:#172c46; font-size:24px; font-weight:800; letter-spacing:-.025em; }
.rent-price small { color:#77869a; font-size:11px; font-weight:500; letter-spacing:0; }
.rent-card h3 { font-size:16px; line-height:1.55; margin:10px 0; }
.rent-card h3 a { color:#1a304b; }
.rent-location { color:#6a7c91; font-size:12px; line-height:1.7; margin:0; }
.rent-location i { color:#a17e22; margin-right:5px; }
.rent-specs { display:flex; flex-wrap:wrap; gap:15px; padding:17px 0; margin:16px 0; border-block:1px solid #edf1f5; font-size:12px; color:#415770; }
.rent-specs i { margin-right:5px; color:#8695a7; }
.rent-card .rent-button { margin-top:auto; width:100%; }
.rent-empty { grid-column:1/-1; text-align:center; background:#fff; border:1px dashed #d3dde8; border-radius:16px; padding:55px 24px; color:#6d7f94; }
.rent-empty h2,.rent-empty h3 { color:#253b55; margin:0 0 12px; }
.rent-empty p { max-width:600px; margin:0 auto 18px; line-height:1.7; }
.rent-more { display:flex; margin:28px auto 0; }
.rent-disclaimer { display:flex; align-items:flex-start; gap:12px; margin-top:28px; color:#6c7c91; font-size:11px; line-height:1.8; }
.rent-disclaimer i { margin-top:5px; color:#a17e22; }
.rent-disclaimer p { margin:0; }
.rent-contact-band { background:#10243c; padding:45px 0; }
.rent-contact-band .rent-container { display:flex; align-items:center; justify-content:space-between; gap:25px; }
.rent-contact-band h2 { font-size:27px; color:#fff; margin:0 0 10px; }
.rent-contact-band p { color:#afbdce; font-size:14px; margin:0; }
.rent-contact-band .rent-button { flex-shrink:0; }
.rent-detail { padding-bottom:60px; }
.rent-back { display:inline-flex; align-items:center; gap:10px; margin:32px 0 23px; color:#52677f; font-size:13px; }
.rent-detail-heading { display:flex; align-items:start; justify-content:space-between; gap:20px; margin:28px 0 25px; }
.rent-detail-heading h1 { font-size:clamp(25px,3vw,39px); line-height:1.25; letter-spacing:-.035em; margin:0 0 12px; }
.rent-detail-heading .rent-price { white-space:nowrap; }
.rent-gallery { display:grid; grid-template-columns:2fr 1fr 1fr; gap:10px; border-radius:18px; overflow:hidden; }
.rent-gallery button { border:0; position:relative; padding:0; height:190px; background:#e3eaf2; cursor:pointer; overflow:hidden; }
.rent-gallery button:first-child { grid-row:span 2; height:390px; }
.rent-gallery img { width:100%; height:100%; object-fit:cover; transition:transform .25s; }
.rent-gallery button:hover img { transform:scale(1.03); }
.rent-gallery button:only-child { grid-column:1/-1; }
.rent-gallery span { position:absolute; bottom:12px; right:12px; background:#13243be6; color:#fff; padding:9px 14px; border-radius:8px; font-size:12px; }
.rent-detail-columns { display:grid; grid-template-columns:minmax(0,1fr) 320px; gap:28px; margin-top:28px; align-items:start; }
.rent-panel { padding:26px; background:#fff; border:1px solid #e2e8f0; border-radius:14px; margin-bottom:20px; }
.rent-panel h2 { font-size:20px; margin:0 0 18px; }
.rent-description { white-space:pre-line; line-height:1.9; color:#53667d; font-size:14px; overflow-wrap:anywhere; }
.rent-facts { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 25px; margin:0; }
.rent-facts div { padding:13px 0; border-bottom:1px solid #edf1f5; }
.rent-facts dt { color:#8390a2; font-size:11px; margin-bottom:5px; }
.rent-facts dd { margin:0; font-size:13px; font-weight:600; overflow-wrap:anywhere; }
.rent-amenities { display:flex; flex-wrap:wrap; gap:10px; list-style:none; padding:0; margin:0; }
.rent-amenities li { background:#f1f5f9; border:1px solid #e5ebf2; padding:10px 13px; border-radius:8px; font-size:12px; color:#4a6079; }
.rent-advisor { position:sticky; top:95px; }
.rent-advisor .rent-button { display:flex; width:100%; margin-top:10px; }
.rent-advisor p { color:#6c7e94; font-size:12px; line-height:1.8; }
.rent-advisor strong { display:block; margin-bottom:5px; }
.rent-no-image { display:grid; place-items:center; height:100%; min-height:200px; color:#6d7f94; font-size:13px; }
.rent-lightbox { width:100vw; max-width:100vw; height:100dvh; max-height:100dvh; margin:0; padding:20px; border:0; background:#07101bf5; color:#fff; }
.rent-lightbox::backdrop { background:#07101b; }
.rent-lightbox-toolbar { display:flex; align-items:center; justify-content:space-between; height:50px; }
.rent-lightbox button { width:44px; height:44px; flex:0 0 44px; border:1px solid #4a586a; background:#ffffff12; border-radius:50%; color:#fff; cursor:pointer; }
.rent-lightbox-stage { display:flex; align-items:center; justify-content:space-between; gap:15px; height:calc(100% - 100px); }
.rent-lightbox-stage img { max-width:calc(100% - 120px); max-height:100%; object-fit:contain; }
.rent-lightbox p { color:#aab8ca; text-align:center; font-size:11px; margin-top:15px; }
body.rent-gallery-open { overflow:hidden; }
@media(max-width:1050px) { .rent-filters { grid-template-columns:repeat(2,minmax(0,1fr)); } .rent-filters>label:first-child { grid-column:1/-1; } .rent-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .rent-detail-columns { grid-template-columns:minmax(0,1fr) 280px; } }
@media(max-width:700px) { .rent-container { width:calc(100% - 28px); } .rent-hero { padding:50px 0 72px; } .rent-hero p { font-size:14px; } .rent-filters { padding:15px; gap:12px; } .rent-filters>label:last-of-type { grid-column:1/-1; } .rent-filters>button { grid-column:1/-1; } .rent-results-head { flex-direction:column; align-items:stretch; margin-top:30px; } .rent-sort { display:flex; align-items:center; } .rent-sort select { width:auto; flex:1; } .rent-grid { grid-template-columns:1fr; gap:18px; } .rent-card-image { height:245px; } .rent-contact-band .rent-container { align-items:start; flex-direction:column; } .rent-contact-band h2 { font-size:23px; } .rent-detail-heading { flex-direction:column; } .rent-gallery { grid-template-columns:repeat(2,minmax(0,1fr)); gap:6px; } .rent-gallery button:first-child { grid-column:1/-1; grid-row:auto; height:250px; } .rent-gallery button { height:110px; } .rent-detail-columns { grid-template-columns:1fr; gap:0; } .rent-advisor { position:static; } .rent-panel { padding:20px; } .rent-lightbox { padding:12px; } .rent-lightbox-stage { gap:6px; } .rent-lightbox-stage img { max-width:calc(100% - 100px); } }
@media(prefers-reduced-motion:reduce) { .rent-card,.rent-gallery img { transition:none; } }
