:root{--bg:#080807;--bg2:#0d0d0b;--surface:#11110f;--text:#eee9df;--soft:#b8b2a6;--muted:#77736a;--line:rgba(238,233,223,.14);--gold:#b99d70;--serif:"Cormorant Garamond",serif;--sans:"Manrope",sans-serif;--ease:cubic-bezier(.22,1,.36,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--sans);overflow-x:hidden}a{color:inherit;text-decoration:none}.grain{position:fixed;inset:-40%;z-index:90;pointer-events:none;opacity:.025;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence baseFrequency='.8' numOctaves='4'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");will-change:transform;animation:grain .5s steps(2) infinite}.pointer-light{position:fixed;width:260px;height:260px;z-index:89;pointer-events:none;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle,rgba(185,157,112,.11),transparent 65%);opacity:0;transition:opacity .3s}
@keyframes grain{25%{transform:translate(2%,-1%)}50%{transform:translate(-1%,2%)}75%{transform:translate(1%,1%)}}.header{height:86px;position:fixed;z-index:70;top:0;left:0;right:0;padding:0 58px;display:flex;align-items:center;border-bottom:1px solid transparent;transition:.45s var(--ease)}.header.scrolled{height:70px;background:rgba(8,8,7,.72);backdrop-filter:blur(20px);border-color:var(--line)}.logo{display:flex;flex-direction:column;line-height:1}.logo strong{font:500 27px var(--serif);letter-spacing:.08em}.logo small{font-size:7px;letter-spacing:.2em;color:var(--muted);margin-top:6px}.header nav{display:flex;gap:31px;margin-left:auto;margin-right:35px}.header nav a,.phone small{font-size:9px;letter-spacing:.13em;text-transform:uppercase;color:var(--soft)}.phone{display:flex;gap:13px;align-items:center}.phone span{font-size:10px}.menu{display:none}
.intro{position:fixed;inset:0;background:#050504;z-index:100;overflow:hidden}.intro-image{position:absolute;inset:-3%;overflow:hidden;filter:brightness(.52) contrast(1.06) saturate(.78);animation:introCam 2.6s var(--ease) both}.intro-image img{display:block;width:100%;height:100%;object-fit:cover;transform-origin:62% 58%;will-change:transform;animation:photoDrift var(--drift,28s) ease-in-out infinite alternate}.intro-reflection{position:absolute;left:0;right:0;bottom:-5%;height:47%;background:linear-gradient(180deg,transparent,rgba(255,215,168,.08)),repeating-linear-gradient(176deg,rgba(255,255,255,.045) 0 1px,transparent 1px 13px);mix-blend-mode:screen;opacity:.45;animation:water 4s ease-in-out infinite alternate}.intro-scan{position:absolute;inset:0;background:linear-gradient(110deg,transparent 38%,rgba(255,215,170,.13) 49%,transparent 58%);transform:translateX(-65%);animation:sweep 5s ease-in-out infinite}.intro-glow{position:absolute;inset:0;background:radial-gradient(circle at 70% 62%,rgba(255,188,111,.15),transparent 32%),linear-gradient(180deg,rgba(0,0,0,.25),transparent 35%,rgba(0,0,0,.7));}.intro-ui{position:absolute;z-index:2;font-size:7px;letter-spacing:.2em;color:rgba(238,233,223,.58);display:flex;gap:18px}.intro-ui--tl{left:58px;top:31px}.intro-ui--tr{right:58px;top:31px}.intro-ui--bl{left:58px;bottom:32px;flex-direction:column;gap:5px}.intro-center{position:absolute;z-index:2;inset:0;display:grid;place-content:center;text-align:center;}.n-mark{font:400 82px var(--serif);line-height:.75;color:rgba(238,233,223,.85)}.n-name{font:500 clamp(54px,8vw,120px)/.82 var(--serif);letter-spacing:.13em;margin-left:.13em}.n-sub{font-size:7px;letter-spacing:.3em;color:var(--soft);margin-top:18px}.intro-enter{position:absolute;z-index:2;right:58px;bottom:32px;display:flex;align-items:center;gap:10px;font-size:7px;letter-spacing:.2em;color:var(--soft)}.intro-enter span{width:55px;height:1px;background:var(--soft);animation:pulse 1.5s infinite}.intro-enter em{font-style:normal;color:var(--muted)}.n-mark{animation:markIn 1.2s .55s var(--ease) both}.n-name{animation:nameIn 1.7s .85s var(--ease) both}.n-sub{animation:fadeUp 1.2s 1.7s var(--ease) both}.intro-ui{animation:fadeIn 1.4s 1.1s ease both}.intro-enter{animation:fadeIn 1.2s 2.2s ease both;cursor:pointer}.intro-enter span{transform-origin:left}.intro.exit .intro-center{animation:centerOut .7s var(--ease) forwards}.intro.exit{animation:introExit 1s var(--ease) forwards}@keyframes introCam{from{opacity:0;transform:scale(1.07)}to{opacity:1;transform:scale(1)}}@keyframes water{to{transform:translateX(3%) translateY(-10px);opacity:.65}}@keyframes sweep{to{transform:translateX(65%)}}@keyframes markIn{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}@keyframes nameIn{from{opacity:0;clip-path:inset(-10% 100% -10% 0);transform:translateY(14px)}60%{opacity:1}to{opacity:1;clip-path:inset(-10% -4% -10% -4%);transform:none}}@keyframes fadeUp{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes fadeIn{from{opacity:0}to{opacity:1}}@keyframes centerOut{to{opacity:0;transform:translateY(-14px)}}@keyframes lineGrow{from{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes pulse{50%{width:78px;opacity:.4}}@keyframes introExit{to{opacity:0;transform:scale(1.035);visibility:hidden}}
.hero{height:100svh;min-height:760px;position:relative;display:flex;align-items:flex-end;overflow:hidden}.hero-bg,.contact-bg{position:absolute;inset:0}.hero-bg{overflow:hidden;filter:brightness(.48) saturate(.7)}.hero-bg img{display:block;width:100%;height:100%;object-fit:cover;transform-origin:60% 60%;will-change:transform;--s0:1.04;--s1:1.12;--dx:-1.4%;--dy:-.8%;animation:photoDrift var(--drift,30s) ease-in-out infinite alternate}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.58),transparent 60%),linear-gradient(0deg,rgba(0,0,0,.78),transparent 48%)}.hero-reflect{position:absolute;inset:auto -10% -20% 0;height:46%;background:repeating-linear-gradient(176deg,rgba(255,255,255,.03) 0 1px,transparent 1px 15px);opacity:.4;animation:water 7s ease-in-out infinite alternate}.hero-inner{position:relative;z-index:2;margin:0 0 10vh 58px;max-width:820px}.eyebrow{display:flex;gap:10px;align-items:center;font-size:8px;letter-spacing:.2em;color:var(--soft)}.eyebrow i{width:28px;height:1px;background:var(--gold);box-shadow:0 0 16px rgba(185,157,112,.4)}h1{font:500 clamp(66px,8vw,124px)/.82 var(--serif);letter-spacing:-.045em;margin:24px 0 30px}h1 span,h2 span,h3 em{font-weight:400;color:#cfc7b8}p{color:var(--soft);font-size:14px;line-height:1.7}.hero-inner>p{max-width:500px}.actions{display:flex;align-items:center;gap:26px;margin-top:32px}.btn{min-width:208px;height:54px;padding:0 18px;display:flex;align-items:center;justify-content:space-between;border:1px solid var(--text);background:var(--text);color:#090908;font-size:9px;letter-spacing:.13em;text-transform:uppercase;transition:.35s var(--ease)}.btn:hover{box-shadow:0 15px 50px rgba(185,157,112,.18)}.btn b{font-size:15px;font-weight:400}.text-link{font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--soft);transition:.3s}.text-link:hover{color:var(--text)}.hero-index{position:absolute;right:58px;bottom:38px;display:flex;align-items:center;gap:12px;font-size:7px;letter-spacing:.18em;color:var(--muted)}.hero-index span{width:58px;height:1px;background:var(--line)}@keyframes photoDrift{from{transform:scale(var(--s0,1.04)) translate3d(0,0,0)}to{transform:scale(var(--s1,1.12)) translate3d(var(--dx,1.2%),var(--dy,-.9%),0)}}
.ticker{padding:13px 0;border-block:1px solid var(--line);overflow:hidden;white-space:nowrap;font-size:8px;letter-spacing:.28em;color:var(--muted)}.ticker div{display:inline-block;animation:marquee 28s linear infinite}@keyframes marquee{to{transform:translateX(-50%)}}
.section{width:min(1320px,calc(100% - 116px));margin:auto;padding:145px 0}.section-head{display:flex;justify-content:space-between;align-items:end;gap:70px;margin-bottom:62px}.section-head h2,.complex-head h2,.calc-copy h2,.contact h2{font:500 clamp(58px,6.2vw,94px)/.83 var(--serif);letter-spacing:-.045em;margin:20px 0 0}.section-head>p{max-width:330px;margin:0 0 4px;color:var(--muted);font-size:12px}.listing-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:28px}.listing{border-top:1px solid var(--line);background:var(--surface);transition:.5s var(--ease)}.listing--large{grid-row:span 2}.listing:hover{transform:translateY(-7px);box-shadow:0 30px 90px rgba(0,0,0,.25)}.listing-photo{height:350px;position:relative;overflow:hidden;background:#171612}.listing--large .listing-photo{height:570px}.listing-photo img{width:100%;height:100%;object-fit:cover;transition:1s var(--ease);filter:saturate(.85)}.listing:hover img{transform:scale(1.045);filter:saturate(1)}.photo-wash{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.04),transparent 48%,rgba(0,0,0,.55))}.photo-no{position:absolute;top:18px;left:18px;font-size:8px;letter-spacing:.14em}.photo-arrows{position:absolute;right:18px;top:18px;font-size:8px;color:var(--soft)}.listing-body{padding:25px}.listing-top{display:flex;justify-content:space-between;font-size:7px;letter-spacing:.18em;color:var(--muted)}.listing h3{font:500 55px/.83 var(--serif);letter-spacing:-.04em;margin:24px 0 16px}.listing p{font-size:11px;margin:0;color:var(--muted)}.listing-bottom{display:flex;align-items:end;justify-content:space-between;margin-top:38px;gap:20px}.listing-bottom strong{font:500 29px var(--serif)}.listing-bottom a{font-size:8px;letter-spacing:.12em;text-transform:uppercase;color:var(--soft)}.listing-bottom a b{font-size:13px;margin-left:6px}
.about{display:grid;grid-template-columns:5fr 7fr;gap:95px;align-items:center}.about-frame{height:640px;overflow:hidden;filter:brightness(.55) saturate(.6)}.about-frame img{display:block;width:100%;height:100%;object-fit:cover;transform-origin:40% 55%;will-change:transform;--s0:1.05;--s1:1.14;--dx:1.5%;--dy:-1%;animation:photoDrift var(--drift,26s) ease-in-out infinite alternate}.about-photo span{display:block;font-size:7px;letter-spacing:.18em;color:var(--muted);margin-top:10px}.about-text h2{font:500 clamp(58px,6.1vw,94px)/.83 var(--serif);letter-spacing:-.045em;margin:20px 0 30px}.about-text>p{max-width:560px;font-size:15px}.about-points{display:grid;grid-template-columns:1fr 1fr;margin-top:48px;border-top:1px solid var(--line)}.about-points div{padding:17px 0;border-bottom:1px solid var(--line);display:flex;gap:18px}.about-points div:nth-child(odd){border-right:1px solid var(--line)}.about-points b{font-size:8px;color:var(--gold)}.about-points span{font-size:10px;color:var(--soft)}
.complexes{padding:140px 0 120px;background:#0b0b09;border-block:1px solid var(--line)}.complex-head{width:min(1320px,calc(100% - 116px));margin:auto;display:flex;justify-content:space-between;align-items:end;margin-bottom:48px}.complex-count{display:flex;align-items:baseline;gap:8px;color:var(--muted)}.complex-count b{font:400 48px var(--serif);color:var(--text)}.complex-count small{font-size:9px;letter-spacing:.15em}.complex-stage{width:min(1320px,calc(100% - 116px));margin:auto;display:grid;grid-template-columns:1.65fr .65fr;min-height:650px;border:1px solid var(--line)}.complex-media{position:relative;overflow:hidden;min-height:650px;background:radial-gradient(circle at 70% 25%,rgba(185,157,112,.12),transparent 30%),#11110e}.complex-media img{z-index:2;position:absolute;left:50%;top:44%;width:auto;height:auto;max-width:min(88%,760px);max-height:60%;object-fit:contain;transform:translate(-50%,-50%);filter:brightness(.82) saturate(.85);box-shadow:0 30px 80px rgba(0,0,0,.45);transition:opacity .5s var(--ease),transform .9s var(--ease)}.complex-media img.hide{opacity:0;transform:translate(-50%,-50%) scale(1.03)}.complex-fallback{position:absolute;inset:0;display:none;place-items:center;background:linear-gradient(135deg,#151512,#080807)}.complex-fallback:before{content:"";width:65%;height:65%;border:1px solid rgba(255,255,255,.1);transform:rotate(-10deg)}.complex-fallback:after{content:attr(data-title);position:absolute;font:500 clamp(50px,8vw,110px)/.8 var(--serif);color:rgba(238,233,223,.12);text-align:center;max-width:80%}.complex-overlay{z-index:1;position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.2),transparent 50%,rgba(0,0,0,.45)),linear-gradient(0deg,rgba(0,0,0,.7),transparent 45%)}.complex-label{z-index:3;position:absolute;left:24px;right:24px;bottom:22px;display:flex;justify-content:space-between;align-items:end;font-size:7px;letter-spacing:.18em;color:var(--soft)}.complex-label b{font:400 62px var(--serif);line-height:.7}.complex-info{padding:45px;display:flex;flex-direction:column}.complex-meta{display:flex;justify-content:space-between;gap:15px;font-size:7px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.complex-info h3{font:500 clamp(54px,5.2vw,82px)/.82 var(--serif);margin:95px 0 20px;letter-spacing:-.045em}.complex-rule{height:1px;background:var(--line);margin-bottom:22px}.complex-info p{font-size:12px;color:var(--soft)}.complex-details{display:grid;gap:17px;margin-top:28px}.complex-details div{display:flex;flex-direction:column;gap:5px}.complex-details small{font-size:7px;letter-spacing:.17em;color:var(--muted)}.complex-details b{font-size:10px;font-weight:500;color:var(--soft)}.complex-info .text-link{margin-top:auto}.complex-nav{width:min(1320px,calc(100% - 116px));margin:15px auto 0;display:flex;gap:8px;overflow:auto;scrollbar-width:none}.complex-nav::-webkit-scrollbar{display:none}.complex-chip{border:1px solid var(--line);background:transparent;color:var(--muted);padding:12px 15px;flex:0 0 auto;text-align:left;cursor:pointer;transition:.3s}.complex-chip b{display:block;font-size:7px;letter-spacing:.15em;margin-bottom:5px}.complex-chip span{font:400 17px var(--serif)}.complex-chip.active{color:var(--text);border-color:var(--gold);background:rgba(185,157,112,.07)}.all-complexes{width:min(1320px,calc(100% - 116px));height:72px;margin:38px auto 0;border:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 24px;font-size:9px;letter-spacing:.15em;text-transform:uppercase;transition:.4s var(--ease)}.all-complexes:hover{border-color:var(--gold);background:rgba(185,157,112,.06);transform:translateY(-4px)}.all-complexes b{font-size:18px;font-weight:400}
.calculator{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:start}.calc-copy>p{max-width:390px}.calc-box{border:1px solid var(--line);padding:35px;background:linear-gradient(145deg,#11110f,#0b0b09)}.calc-row{padding:0 0 29px;margin-bottom:29px;border-bottom:1px solid var(--line)}.calc-row label{display:flex;justify-content:space-between;font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--soft);margin-bottom:18px}.calc-row output{color:var(--text);font-size:15px}.calc-row input{width:100%;accent-color:#b99d70}.seg{display:flex;gap:5px}.seg button{flex:1;height:40px;border:1px solid var(--line);background:transparent;color:var(--muted);font:500 9px var(--sans);cursor:pointer;transition:.25s}.seg button.on{color:var(--text);border-color:var(--gold);background:rgba(185,157,112,.08)}.seg-wide button{padding:0 7px}.calc-result{padding:8px 0 25px;display:flex;flex-direction:column;gap:8px}.calc-result span,.calc-result small{font-size:7px;letter-spacing:.16em;color:var(--muted)}.calc-result strong{font:500 clamp(42px,5vw,70px)/.9 var(--serif)}.btn-dark{background:transparent;color:var(--text);border-color:var(--line);width:100%}.btn-dark:hover{background:var(--text);color:#080807}
.services{padding-top:20px}.service-list{border-top:1px solid var(--line)}.service{display:grid;grid-template-columns:50px 1fr 330px 25px;align-items:center;gap:20px;padding:24px 0;border-bottom:1px solid var(--line);transition:.4s var(--ease)}.service:hover{padding-left:13px;background:linear-gradient(90deg,rgba(185,157,112,.06),transparent)}.service>span{font-size:8px;color:var(--gold)}.service h3{font:500 47px/.9 var(--serif);margin:0}.service p{font-size:11px;color:var(--muted);margin:0}.service>b{font-size:17px;font-weight:400}
.contact{min-height:900px;position:relative;display:grid;place-items:center;overflow:hidden;border-top:1px solid var(--line)}.contact-bg{overflow:hidden;filter:brightness(.33) saturate(.6)}.contact-bg::before{content:"";position:absolute;inset:-2%;background:url("/nikita-assets/cinematic-intro.jpg") center/cover;transform-origin:55% 60%;will-change:transform;--s0:1.04;--s1:1.12;--dx:-1.2%;--dy:.9%;animation:photoDrift var(--drift,32s) ease-in-out infinite alternate}.contact-inner{position:relative;width:min(1180px,calc(100% - 116px));text-align:center}.contact h2{font-size:clamp(72px,9vw,130px);margin:24px 0 42px}.contact-call{display:inline-flex;flex-direction:column;align-items:center;gap:8px;padding:23px 38px;border:1px solid rgba(238,233,223,.24);background:rgba(8,8,7,.3);backdrop-filter:blur(14px);transition:.4s var(--ease)}.contact-call strong{font:400 clamp(32px,4vw,50px) var(--serif)}.contact-call small{font-size:8px;letter-spacing:.18em;text-transform:uppercase;color:var(--soft)}.contact-call:hover{background:var(--text);color:#080807;transform:translateY(-5px)}.socials{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-top:65px;text-align:left}.socials a{min-height:130px;border:1px solid var(--line);padding:16px;display:flex;flex-direction:column;justify-content:space-between;background:rgba(8,8,7,.38);backdrop-filter:blur(12px);transition:.4s var(--ease)}.socials a:hover{transform:translateY(-6px);border-color:var(--gold);background:rgba(185,157,112,.08)}.soc-icon{width:28px;height:28px;border:1px solid var(--line);display:grid;place-items:center;font-size:9px}.socials b{font-size:10px}.socials small{font-size:7px;color:var(--muted);letter-spacing:.08em}.socials i{position:absolute;display:none}footer{min-height:150px;padding:40px 58px;display:flex;justify-content:space-between;align-items:end;background:#050504;border-top:1px solid var(--line)}footer div{display:flex;flex-direction:column;gap:7px}footer strong{font:500 28px var(--serif)}footer small,footer a{font-size:8px;letter-spacing:.12em;color:var(--muted)}
.js .reveal{opacity:0}.reveal.in{opacity:1;animation:revealUp 1s var(--ease) backwards;animation-delay:calc(var(--d,0)*90ms)}@keyframes revealUp{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}
@media(max-width:900px){.header{padding:0 25px}.header nav,.phone{display:none}.menu{display:block;margin-left:auto;width:34px;height:34px;background:none;border:0}.menu i{display:block;height:1px;background:var(--text);margin:6px}.section,.complex-head,.complex-stage,.complex-nav,.all-complexes{width:calc(100% - 50px)}.hero-inner{margin-left:25px}.hero-index{right:25px}.listing-grid{grid-template-columns:1fr}.listing--large{grid-row:auto}.listing--large .listing-photo,.listing-photo{height:480px}.about,.calculator{grid-template-columns:1fr;gap:50px}.complex-stage{grid-template-columns:1fr}.complex-media{min-height:560px}.complex-info{min-height:480px}.socials{grid-template-columns:repeat(3,1fr)}}
@media(max-width:600px){.header{height:72px;padding:0 18px}.logo strong{font-size:23px}.section{padding:95px 0;width:calc(100% - 36px)}.intro-ui--tl,.intro-ui--tr{display:none}.intro-ui--bl{left:20px}.intro-enter{right:20px}.n-name{font-size:60px}.hero{min-height:760px}.hero-inner{margin:0 18px 60px}.hero h1{font-size:56px}.actions{flex-direction:column;align-items:stretch}.btn{width:100%}.section-head{display:block;margin-bottom:42px}.section-head>p{margin-top:24px}.listing-photo,.listing--large .listing-photo{height:430px}.listing-body{padding:21px}.listing h3{font-size:49px}.listing-bottom{align-items:start;flex-direction:column;gap:17px}.about-frame{height:440px}.about-text h2{font-size:53px}.about-points{grid-template-columns:1fr}.about-points div:nth-child(odd){border-right:0}.complexes{padding:95px 0}.complex-head{width:calc(100% - 36px)}.complex-head h2{font-size:55px}.complex-stage,.complex-nav,.all-complexes{width:calc(100% - 36px)}.complex-media{min-height:460px}.complex-info{padding:26px;min-height:470px}.complex-info h3{margin-top:62px;font-size:55px}.complex-chip span{font-size:16px}.calculator{gap:35px}.calc-box{padding:23px}.seg-wide{flex-wrap:wrap}.seg-wide button{min-width:30%;}.service{grid-template-columns:30px 1fr 20px}.service p{grid-column:2}.service h3{font-size:40px}.socials{grid-template-columns:1fr 1fr;margin-top:45px}.contact-inner{width:calc(100% - 36px)}.contact{min-height:850px}.contact h2{font-size:65px}.contact-call{width:100%;padding:20px 10px}.contact-call strong{font-size:30px}footer{padding:35px 18px;display:block}footer a{display:block;margin-top:24px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition-duration:.001ms!important;transition-delay:0s!important;scroll-behavior:auto!important}.reveal,.hero-inner>*,.socials a{opacity:1!important}.intro-image{opacity:1}}

/* ===== FINAL MOTION LAYER ===== */
html.locked,html.locked body{overflow:hidden}
section[id]{scroll-margin-top:72px}
.is-off img,.is-off::before{animation-play-state:paused!important}
/* header */
.js .header{opacity:0;transform:translateY(-14px)}.js.ready .header{opacity:1;transform:none;transition:opacity 1s .15s var(--ease),transform 1s .15s var(--ease),height .45s var(--ease),background .45s,border-color .45s}
/* hero entrance (starts when the intro leaves) */
h1 .ln{display:block;font-style:normal}
.js .hero-inner.reveal{opacity:1}.js .hero-inner:not(.in)>*,.js .hero-inner:not(.in) h1 .ln{opacity:0}
.hero-inner.in>*{animation:revealUp 1.1s var(--ease) backwards;animation-delay:calc(.15s + var(--i,0)*.13s)}
.hero-inner.in h1{animation:none}.hero-inner.in h1 .ln{animation:revealUp 1.2s var(--ease) backwards;animation-delay:calc(.25s + var(--l,0)*.16s)}
.hero-index{opacity:0;transition:opacity 1s 1.4s}.ready .hero-index{opacity:1}
/* photo reveal inside listing cards */
.listing.in .listing-photo img{animation:imgIn 1.5s var(--ease) backwards;animation-delay:calc(var(--d,0)*90ms + .1s)}
@keyframes imgIn{from{transform:scale(1.12)}to{transform:scale(1)}}
.listing:hover{box-shadow:0 30px 90px rgba(0,0,0,.25)}
/* services / socials / about points: staggered rise, hover stays intact */
.js .contact-inner:not(.in) .socials a{opacity:0}.contact-inner.in .socials a{animation:revealUp .9s var(--ease) backwards;animation-delay:calc(.5s + var(--i,0)*.09s)}
.js .about-text:not(.in) .about-points div{opacity:0}.about-text.in .about-points div{animation:revealUp .9s var(--ease) backwards;animation-delay:calc(.35s + var(--i,0)*.1s)}
.service{transition:padding .5s var(--ease),background .5s}.service>b{transition:transform .5s var(--ease)}.service:hover>b{transform:translate(4px,-4px)}
.service h3{transition:transform .5s var(--ease)}.service:hover h3{transform:translateX(6px)}
/* buttons / links micro-interactions */
.btn b,.all-complexes b,.listing-bottom a b{display:inline-block;transition:transform .4s var(--ease)}.btn:hover b,.all-complexes:hover b,.listing-bottom a:hover b{transform:translate(3px,-3px)}
.btn:active,.contact-call:active,.socials a:active{transform:scale(.985)}
.text-link,.listing-bottom a{position:relative;padding-bottom:3px}.text-link:after,.listing-bottom a:after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .5s var(--ease)}.text-link:hover:after,.listing-bottom a:hover:after{transform:scaleX(1);transform-origin:left}
.header nav a{position:relative;transition:color .3s}.header nav a:hover{color:var(--text)}.header nav a:after{content:"";position:absolute;left:0;right:0;bottom:-5px;height:1px;background:var(--gold);transform:scaleX(0);transform-origin:right;transition:transform .45s var(--ease)}.header nav a:hover:after{transform:scaleX(1);transform-origin:left}
.complex-chip:hover{color:var(--text);border-color:rgba(185,157,112,.5)}
.seg button:hover{color:var(--text);border-color:rgba(185,157,112,.5)}
.calc-result strong{font-variant-numeric:lining-nums tabular-nums}
.socials a .soc-icon{transition:background .4s,border-color .4s}.socials a:hover .soc-icon{background:rgba(185,157,112,.14);border-color:var(--gold)}
/* complex viewer: thumbs, arrows */
.complex-thumbs{position:absolute;z-index:3;left:24px;bottom:84px;display:flex;gap:8px}
.complex-thumbs button{width:72px;height:50px;padding:0;border:1px solid var(--line);background:#0b0b09;cursor:pointer;overflow:hidden;opacity:.55;transition:opacity .35s,border-color .35s,transform .45s var(--ease)}
.complex-thumbs button img{position:static;display:block;width:100%;height:100%;max-width:none;max-height:none;transform:none;object-fit:cover;filter:none;box-shadow:none}
.complex-thumbs button:hover{opacity:.9;transform:translateY(-3px)}.complex-thumbs button.on{opacity:1;border-color:var(--gold)}
.complex-arrows{display:flex;gap:8px;margin-top:auto;margin-bottom:22px}.complex-arrows button{width:46px;height:46px;border:1px solid var(--line);background:transparent;color:var(--soft);font:400 17px var(--sans);cursor:pointer;transition:.35s var(--ease)}.complex-arrows button:hover{border-color:var(--gold);color:var(--text);background:rgba(185,157,112,.08)}
.complex-info .complex-arrows+.text-link{margin-top:0;align-self:flex-start}
.complex-info .complex-details div[hidden]{display:none}
.complex-info h3,.complex-info p,.complex-details{transition:opacity .45s var(--ease),transform .6s var(--ease)}.complex-info.swap h3,.complex-info.swap p,.complex-info.swap .complex-details{opacity:0;transform:translateY(10px)}
/* mobile menu */
.mnav{position:fixed;inset:0;z-index:65;background:rgba(5,5,4,.97);display:flex;flex-direction:column;justify-content:center;padding:96px 28px 40px;opacity:0;visibility:hidden;transition:opacity .5s var(--ease),visibility .5s}
.mnav nav{display:flex;flex-direction:column;gap:6px}.mnav nav a{font:500 clamp(40px,11vw,60px)/1.05 var(--serif);letter-spacing:-.03em;transform:translateY(22px);opacity:0;transition:transform .8s var(--ease),opacity .8s var(--ease)}
.mnav-phone{margin-top:36px;font-size:11px;letter-spacing:.14em;color:var(--soft)}
.menu-open .mnav{opacity:1;visibility:visible}.menu-open .mnav nav a{transform:none;opacity:1}.menu-open .mnav nav a:nth-child(2){transition-delay:.06s}.menu-open .mnav nav a:nth-child(3){transition-delay:.12s}.menu-open .mnav nav a:nth-child(4){transition-delay:.18s}.menu-open .mnav nav a:nth-child(5){transition-delay:.24s}
.menu{cursor:pointer}.menu i{transition:transform .5s var(--ease)}.menu-open .menu i:nth-child(1){transform:translateY(3.5px) rotate(45deg)}.menu-open .menu i:nth-child(2){transform:translateY(-3.5px) rotate(-45deg)}
@media(min-width:901px){.mnav{display:none}}
@media(max-width:900px){.complex-thumbs{left:16px;bottom:80px}.complex-arrows{margin-top:30px}}
@media(max-width:600px){.complex-media img{max-width:92%;max-height:52%;top:40%}.complex-thumbs button{width:58px;height:42px}.complex-thumbs{bottom:76px}.hero-inner h1{overflow-wrap:normal}}
@media(hover:none){.listing:hover{transform:none}.magnetic{transform:none!important}}
