/* Estate — luxury (property, hotels, jewellery): cinematic slow-zoom photo, gold hairline frame, spaced capitals */
body.l-estate{background:var(--bg)}
.l-estate .hero{position:relative;display:flex;align-items:flex-end;justify-content:center;min-height:min(86vh,640px);overflow:hidden;background:#000}
.l-estate .cover{position:absolute;inset:0;height:auto;animation:es-kb 26s ease-in-out infinite alternate}
.l-estate .hero.no-cover .cover{background:radial-gradient(ellipse at 50% 20%,color-mix(in srgb,var(--p) 35%,#000),#000 70%)}
@keyframes es-kb{from{transform:scale(1.02)}to{transform:scale(1.14) translate(-2%,-2%)}}
.l-estate .hero::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,#0007,#0002 35%,#000d 90%)}
.l-estate .hero::after{content:"";position:absolute;inset:14px;z-index:1;border:1px solid color-mix(in srgb,var(--p) 65%,transparent);pointer-events:none}
.l-estate .id{position:relative;z-index:2;padding:0 30px 64px;color:#fff}
.l-estate .avatar{width:86px;height:86px;margin:0 auto 18px;border:1px solid var(--p);padding:4px;background:transparent;font-size:30px;color:var(--p)}
.l-estate .kicker{display:block;margin:0 auto 12px;color:var(--p);font:500 11px var(--fb);letter-spacing:.42em;text-transform:uppercase}
.l-estate .title{display:none}
.l-estate .hero h1{font:500 34px/1.1 var(--fh);letter-spacing:.14em;text-transform:uppercase;color:#fff}
.l-estate .company{margin-top:10px;color:#ffffffc8;letter-spacing:.08em}
.l-estate .tagline{color:#ffffffa8;font-style:italic}
.l-estate .who::after{content:"";display:block;width:1px;height:42px;margin:22px auto 0;background:linear-gradient(var(--p),transparent);animation:es-cue 2.4s ease-in-out infinite}
@keyframes es-cue{0%,100%{transform:scaleY(.4);transform-origin:top}50%{transform:scaleY(1)}}
.l-estate .actions{padding:20px}
.l-estate .act{background:transparent;border:1px solid color-mix(in srgb,var(--p) 40%,transparent);border-radius:0;color:var(--tx);letter-spacing:.08em;text-transform:uppercase;font-size:10px}
.l-estate .act svg{color:var(--p)}.l-estate .act-wa{border-color:#1FA85599}.l-estate .act-wa svg{color:#1FA855}
.l-estate .panel,.l-estate .item,.l-estate .svc label{background:var(--sf);border:1px solid color-mix(in srgb,var(--p) 26%,transparent);border-radius:0}
.l-estate .blk>h2{display:flex;align-items:center;gap:14px;color:var(--p);font:500 11px var(--fb);letter-spacing:.38em}
.l-estate .blk>h2::before,.l-estate .blk>h2::after{content:"";flex:1;height:1px;background:color-mix(in srgb,var(--p) 40%,transparent)}
.l-estate .btn,.l-estate .btn-save,.l-estate .add{border:0;border-radius:0;background:linear-gradient(100deg,color-mix(in srgb,var(--p) 80%,#fff),var(--p),color-mix(in srgb,var(--p) 70%,#000));color:#120f08!important;letter-spacing:.16em;text-transform:uppercase;font-size:12px}
.l-estate .gallery img{border-radius:0}
.l-estate .price{color:var(--p)!important}
.l-estate .offer{border-radius:0;background:transparent;border:1px solid var(--p);color:var(--tx);text-align:center}
.l-estate .foot a{color:#ffffff70}
.l-estate .hero::before{background:linear-gradient(180deg,#0008,#0003 30%,#000c 68%,#000f)}
.l-estate .act{letter-spacing:.04em}
.l-estate .ib h4{font-size:19px;font-weight:600}
