:root{--gold:#c2a87c;--line:rgba(238,233,223,.17)}
html{scroll-behavior:smooth;scroll-padding-top:90px}
body{min-height:100dvh}
a,button,input,select{touch-action:manipulation}
:focus-visible{outline:2px solid #d5bd91;outline-offset:4px}
.skip-link{position:fixed;top:8px;left:8px;z-index:200;padding:12px 16px;background:#eae3d7;color:#080807;transform:translateY(-150%);transition:transform .2s}
.skip-link:focus{transform:translateY(0)}
.intro-video-wrap{position:absolute;z-index:1;inset:10% 11% 7% auto;width:min(31vw,390px);overflow:hidden;clip-path:ellipse(46% 50% at 50% 50%);opacity:.35;mix-blend-mode:screen;mask-image:linear-gradient(180deg,transparent 0%,#000 18%,#000 80%,transparent 100%);animation:videoReveal 1.5s .8s cubic-bezier(.22,1,.36,1) both}
.intro-video{width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(.92) brightness(.9);object-position:center 28%}
@keyframes videoReveal{from{opacity:0;transform:translateY(18px) scale(.98)}to{opacity:.35;transform:none}}
.intro-center{z-index:3}
.intro-glow{z-index:2}
.hero-video{position:absolute;z-index:2;right:clamp(30px,9vw,145px);top:20%;width:clamp(180px,22vw,330px);height:clamp(240px,34vw,450px);overflow:hidden;clip-path:ellipse(47% 49% at 50% 50%);opacity:.6;mask-image:linear-gradient(180deg,transparent 0%,#000 14%,#000 84%,transparent 100%);pointer-events:none}
.hero-video video{width:100%;height:100%;object-fit:cover;object-position:center 30%;filter:grayscale(1) contrast(.92);mix-blend-mode:screen}
.hero-inner{max-width:850px}
.hero-overlay{background:linear-gradient(90deg,rgba(0,0,0,.66),rgba(0,0,0,.2) 72%),linear-gradient(0deg,rgba(0,0,0,.8),transparent 62%)}
.listing-grid{align-items:stretch}
.listing-photo--empty{display:grid;place-items:center;background:radial-gradient(ellipse at 50% 45%,rgba(194,168,124,.11),transparent 38%),linear-gradient(140deg,#191815,#0a0a09);border-bottom:1px solid var(--line)}
.listing-photo--empty:before,.listing-photo--empty:after{content:"";position:absolute;inset:9% 16%;border:1px solid rgba(235,225,208,.11);transform:skewY(-7deg)}
.listing-photo--empty:after{inset:17% 24%;transform:skewY(7deg)}
.listing-photo--empty .photo-no{z-index:1}
.property-placeholder{position:relative;z-index:1;display:flex;align-items:center;gap:18px;color:#c3bba9;text-align:left;font-size:8px;line-height:1.6;letter-spacing:.16em}
.property-placeholder i{width:37px;height:37px;border:1px solid var(--gold);border-radius:50%;position:relative}
.property-placeholder i:before,.property-placeholder i:after{content:"";position:absolute;background:var(--gold)}
.property-placeholder i:before{width:1px;height:17px;top:9px;left:17px}
.property-placeholder i:after{width:17px;height:1px;top:17px;left:9px}
.listing-photo{background:#171612}
.listing-photo img{display:block}
.listing .listing-body{display:flex;flex-direction:column}
.listing h3{font-size:clamp(40px,4.2vw,55px)}
.listing-bottom strong{font:500 clamp(22px,2.3vw,30px) var(--serif);white-space:nowrap}
.property-source{display:inline-flex;align-items:center;gap:8px;align-self:flex-start;margin-top:18px;padding-top:13px;border-top:1px solid var(--line);color:var(--muted);font-size:9px;letter-spacing:.08em;transition:color .25s}
.property-source:hover,.property-source:focus-visible{color:var(--text)}
.property-source span{color:var(--gold)}
.field-hint{display:block;margin-top:9px;color:var(--muted);font-size:9px;line-height:1.6}
.known-suggestions{margin-top:18px}
.suggestions-title{margin:0 0 10px;color:var(--soft);font-size:10px;line-height:1.7}
.suggestions-title span{color:var(--muted)}
.suggestion-item{display:grid;grid-template-columns:1fr auto;gap:5px 12px;padding:12px 0;border-top:1px solid var(--line);font-size:10px;transition:color .2s}
.suggestion-item:hover{color:var(--gold)}
.suggestion-item strong{font:500 17px var(--serif);white-space:nowrap}
.suggestion-item small{grid-column:1/-1;color:var(--muted);font-size:8px;letter-spacing:.08em}
.suggestions-note{margin:10px 0 0;color:var(--muted);font-size:9px;line-height:1.65}
.listing-top{align-items:flex-start;gap:16px}
.status-pill{max-width:70%;color:#decba6!important;letter-spacing:.08em;line-height:1.6}
.listing-bottom{align-items:center}
.property-disclaimer{font:400 24px var(--serif);color:var(--soft)}
.listing-bottom a{display:inline-flex;gap:7px;align-items:center;min-height:42px;padding:12px 0;color:#decba6}
.data-note,.complex-disclaimer{width:min(1320px,calc(100% - 116px));margin:23px auto 0;font-size:10px;color:var(--muted);line-height:1.75}
.about-video-frame video{width:100%;height:100%;display:block;object-fit:cover;object-position:center 28%;filter:brightness(.58) grayscale(.55) saturate(.5)}
.complex-details{gap:20px}
.complex-info .complex-arrows{display:flex;flex-wrap:wrap;align-items:center}
.complex-info .detail-trigger{height:46px;margin-left:auto;padding:0 15px;border:1px solid rgba(194,168,124,.65);background:rgba(194,168,124,.08);color:var(--text);font:500 9px var(--sans);letter-spacing:.11em;text-transform:uppercase;cursor:pointer}
.detail-trigger span{margin-left:10px}
.complex-info .map-link,.map-link{display:flex;align-items:center;justify-content:space-between;gap:18px;width:100%;min-height:50px;padding:0 15px;border:1px solid var(--line);background:rgba(238,233,223,.03);color:var(--muted);font:500 9px var(--sans);letter-spacing:.11em;text-transform:uppercase;text-decoration:none;transition:border-color .25s,color .25s,background .25s}
.map-link:hover,.map-link:focus-visible{border-color:var(--gold);color:var(--text);background:rgba(185,157,112,.08)}
.map-note{display:block;color:var(--muted);font-size:9px;line-height:1.6;margin-top:9px}
.complex-info .map-note{margin-bottom:0}
.source-link{display:block;margin-top:16px;color:var(--gold);font:500 10px/1.6 var(--sans);letter-spacing:.07em;text-decoration:none}
.source-link:hover,.source-link:focus-visible{color:var(--text);text-decoration:underline;text-underline-offset:4px}
.source-link[hidden]{display:none}
.calc-copy>p{max-width:420px}
.calc-box{display:block}
.calc-row legend,.calc-row>label{display:block;width:100%;color:var(--soft);font-size:9px;letter-spacing:.1em;text-transform:uppercase;margin-bottom:17px}
.calc-row{min-width:0;border:0;border-bottom:1px solid var(--line);padding:0 0 25px;margin:0 0 24px}
.type-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
.type-options label{position:relative;cursor:pointer}
.type-options input{position:absolute;opacity:0;inset:0;width:100%;height:100%;cursor:pointer}
.type-options span{display:flex;align-items:center;min-height:42px;border:1px solid var(--line);padding:8px 10px;color:var(--muted);font-size:10px;transition:background .25s,border-color .25s,color .25s}
.type-options input:checked+span{border-color:var(--gold);background:rgba(194,168,124,.09);color:var(--text)}
.type-options input:focus-visible+span{outline:2px solid #d5bd91;outline-offset:3px}
.text-input{width:100%;min-height:47px;padding:12px 13px;border:1px solid var(--line);border-radius:0;background:rgba(0,0,0,.15);color:var(--text);font:400 12px var(--sans)}
.text-input::placeholder{color:var(--muted)}
.text-input:focus{border-color:var(--gold);outline:0}
select.text-input{color-scheme:dark}
.area-input{position:relative}
.area-input input{padding-right:50px}
.area-input>span{position:absolute;right:15px;top:50%;transform:translateY(-50%);font-size:10px;color:var(--muted)}
.check-row{display:flex;align-items:center;gap:11px;min-height:42px;color:var(--soft);font-size:11px;cursor:pointer}
.check-row input{width:17px;height:17px;accent-color:var(--gold)}
.preference-summary{margin:18px 0 12px;padding:15px;border-left:1px solid var(--gold);background:rgba(194,168,124,.045);font-size:10px;line-height:1.8;color:var(--soft)}
.form-hint{font-size:9px;line-height:1.65;color:var(--muted);margin:13px 0 0}
.calc-box .btn{margin-top:16px;cursor:pointer;font-family:var(--sans)}
.contact{isolation:isolate}
.contact-bg{z-index:-2}
.contact-bg:before{background-image:url('/nikita-assets/cinematic-intro.jpg')}
.contact-inner{z-index:2}
.contact-video{position:absolute;z-index:-1;right:clamp(22px,8vw,120px);top:8%;width:clamp(150px,19vw,285px);height:clamp(235px,30vw,410px);overflow:hidden;clip-path:ellipse(47% 49% at 50% 50%);opacity:.43;mask-image:linear-gradient(180deg,transparent 0%,#000 17%,#000 82%,transparent 100%);pointer-events:none}
.contact-video video{width:100%;height:100%;object-fit:cover;object-position:center 28%;filter:grayscale(1) contrast(.9);mix-blend-mode:screen}
.contact-call{position:relative;z-index:3}
.socials{position:relative;z-index:3}
.socials .soc-icon{letter-spacing:.05em;font-size:8px}
.complex-dialog{width:min(1040px,calc(100% - 32px));max-width:none;max-height:min(90dvh,900px);padding:0;border:1px solid rgba(238,233,223,.2);background:#0b0b09;color:var(--text);box-shadow:0 40px 140px rgba(0,0,0,.7)}
.complex-dialog::backdrop{background:rgba(0,0,0,.76);backdrop-filter:blur(10px)}
.dialog-content{display:grid;grid-template-columns:1.1fr .9fr;min-height:580px;position:relative}
.dialog-close{position:absolute;z-index:2;right:17px;top:17px;width:44px;height:44px;border:1px solid var(--line);background:rgba(8,8,7,.8);color:var(--text);font:300 28px var(--sans);cursor:pointer}
.dialog-image{min-height:580px;background:radial-gradient(ellipse at center,rgba(194,168,124,.14),transparent 55%),#11110e;display:grid;place-items:center;overflow:hidden}
.dialog-image img{width:100%;height:100%;max-height:720px;object-fit:contain}
.dialog-copy{padding:62px 42px 40px;display:flex;flex-direction:column;align-items:flex-start}
.dialog-copy h2{font:500 clamp(48px,6vw,74px)/.9 var(--serif);letter-spacing:-.04em;margin:28px 0 20px}
.dialog-copy>p{font-size:12px;line-height:1.8;color:var(--soft)}
.dialog-facts{display:grid;grid-template-columns:1fr 1.2fr;gap:14px 20px;width:100%;padding:22px 0;margin:15px 0;border-block:1px solid var(--line);font-size:10px;line-height:1.5}
.dialog-facts span{color:var(--muted)}
.dialog-facts b{font-weight:500;color:var(--soft)}
.dialog-copy .map-link{margin-top:8px}
.dialog-contact{width:100%;margin-top:20px}
footer{gap:25px}
footer a{min-height:40px;display:flex;align-items:center}
@media(max-width:900px){
  .hero-video{right:24px;top:18%;width:190px;height:280px;opacity:.38}
  .data-note,.complex-disclaimer{width:calc(100% - 50px)}
  .dialog-content{grid-template-columns:1fr}
  .dialog-image{min-height:320px;height:36vh}
  .dialog-copy{padding:34px 28px}
}
@media(max-width:600px){
  .intro-video-wrap{inset:13% 5% auto auto;width:44vw;height:47vh;opacity:.26}
  .hero-video{top:14%;right:3px;width:150px;height:220px;opacity:.36}
  .hero-overlay{background:linear-gradient(90deg,rgba(0,0,0,.69),rgba(0,0,0,.22)),linear-gradient(0deg,rgba(0,0,0,.82),transparent 65%)}
  .listing-grid{gap:18px}
  .listing-photo--empty,.listing-photo,.listing--large .listing-photo{height:300px}
  .listing-bottom{align-items:flex-start}
  .listing-bottom a{font-size:9px}
  .property-placeholder{font-size:7px}
  .data-note,.complex-disclaimer{width:calc(100% - 36px)}
  .complex-info .complex-arrows{gap:7px}
  .complex-info .detail-trigger{margin-left:0;flex:1}
  .type-options{gap:6px}
  .type-options span{font-size:9px;padding:7px 8px}
  .contact-video{right:-12px;top:4%;width:155px;height:250px;opacity:.28}
  .contact-inner{z-index:2}
  .socials{grid-template-columns:repeat(2,minmax(0,1fr))}
  .complex-dialog{width:calc(100% - 20px);max-height:94dvh}
  .dialog-image{height:30vh;min-height:220px}
  .dialog-copy{padding:28px 20px 24px}
  .dialog-copy h2{font-size:49px;margin:20px 0 15px}
  .dialog-facts{gap:12px 10px}
  footer{display:flex;flex-wrap:wrap;align-items:center}
  footer div{width:100%}
  .listing h3{font-size:45px}
  .listing-bottom strong{font-size:25px}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .intro-video-wrap{opacity:.22;animation:none}
  .hero-video,.contact-video{opacity:.28}
  .hero-video video,.contact-video video,.about-video-frame video{filter:grayscale(1);animation:none}
  .listing:hover,.service:hover,.socials a:hover{transform:none}
}