/* NOIR – city hotel & bar */
.nr{--bk:#0a0a0a;--pink:#ff3d6a;--fog:#8d8d8d;background:var(--bk);color:#efefef;font-family:"Inter Tight",system-ui,sans-serif}
.nr h1,.nr h2,.nr h3{font-family:"Anton",Impact,sans-serif;font-weight:400;letter-spacing:0;text-transform:uppercase}
.nr-mono{font-family:"JetBrains Mono",ui-monospace,monospace;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--fog);margin:0}
.nr .logo span{font-family:"Anton";letter-spacing:.2em;font-weight:400}
.nr .hd.is-solid{background:rgba(10,10,10,.8);color:#fff;box-shadow:0 1px 0 rgba(255,255,255,.08)}
.nr .hd.is-solid .hd-book{background:var(--pink);border-color:var(--pink)}
.nr .btn{border-radius:0}
.nr .btn-accent{background:var(--pink);box-shadow:0 0 30px -6px rgba(255,61,106,.7)}
.nr .btn-accent:hover{background:#fff;color:#000}
.nr .bookbar{border-radius:0;background:rgba(20,20,20,.7)}
.nr .bb-field+.bb-field{border-radius:0}

/* hero: spotlight */
.nr-hero{position:relative;height:100vh;height:100svh;min-height:620px;overflow:hidden;background:#000;--x:50%;--y:45%;--r:220px}
.nr-reveal{position:absolute;inset:0;-webkit-mask-image:radial-gradient(circle var(--r) at var(--x) var(--y),#000 0%,rgba(0,0,0,.9) 35%,transparent 100%);mask-image:radial-gradient(circle var(--r) at var(--x) var(--y),#000 0%,rgba(0,0,0,.9) 35%,transparent 100%)}
.nr-reveal img{width:100%;height:100%;object-fit:cover;filter:saturate(1.25) contrast(1.1)}
.nr-reveal::after{content:"";position:absolute;inset:0;background:radial-gradient(circle calc(var(--r) * 3) at var(--x) var(--y),transparent 30%,rgba(0,0,0,.25))}
.nr-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);background-size:80px 80px;pointer-events:none}
.nr-title{position:absolute;left:var(--pad);right:var(--pad);bottom:calc(150px + 5vh);margin:0;display:flex;flex-direction:column;pointer-events:none}
.nr-t1{font-size:clamp(130px,30vw,520px);line-height:.78;letter-spacing:-.01em;color:transparent;-webkit-text-stroke:1.5px rgba(255,255,255,.75);
	background:radial-gradient(circle var(--r) at calc(var(--x) - var(--pad)) calc(var(--y) - var(--ty,0px)),#fff 0%,rgba(255,255,255,.95) 40%,transparent 70%) no-repeat;-webkit-background-clip:text;background-clip:text}
.nr-title .nr-mono{margin-top:18px;color:#cfcfcf;font-size:clamp(11px,1vw,14px)}
.nr-sub{position:absolute;right:var(--pad);top:calc(var(--hd) + 60px);max-width:340px;margin:0;font-family:"JetBrains Mono",monospace;font-size:13px;line-height:1.6;color:#cfcfcf}
.nr-coords{position:absolute;right:var(--pad);bottom:calc(46px + 2vh);display:flex;gap:18px;font-family:"JetBrains Mono",monospace;font-size:11px;color:var(--fog)}
.nr-spot-cursor{display:none}
@media (pointer:fine){.nr-hero{cursor:none}.nr-hero .bookbar,.nr-hero .bookbar *{cursor:pointer}}

/* marquee */
.nr-marq{border-top:1px solid #222;border-bottom:1px solid #222;overflow:hidden;padding:18px 0;background:var(--pink);color:#000}
.nr-mrow{display:flex;white-space:nowrap;will-change:transform}
.nr-mrow span{font-family:"Anton";font-size:clamp(40px,6vw,96px);line-height:1;padding-right:.3em}

/* elevator */
.nr-lift{position:relative;height:560vh}
.nr-lstick{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden;display:grid;grid-template-columns:minmax(200px,26vw) 1fr}
.nr-shaft{position:relative;border-right:1px solid #222;padding:calc(var(--hd) + 50px) var(--pad) 40px;display:flex;flex-direction:column}
.nr-floor{font-family:"Anton";font-weight:400;font-size:clamp(120px,15vw,260px);line-height:.85;color:#fff;font-variant-numeric:tabular-nums;text-shadow:0 0 40px rgba(255,61,106,.35)}
.nr-dots{margin-top:auto;display:flex;flex-direction:column;gap:10px}
.nr-dots i{display:flex;align-items:center;gap:12px;font-style:normal;font-family:"JetBrains Mono";font-size:12px;color:#555;transition:color .3s}
.nr-dots i::before{content:"";width:12px;height:12px;border-radius:50%;border:1px solid #555;transition:background .3s,border-color .3s,box-shadow .3s}
.nr-dots i.on{color:#fff}
.nr-dots i.on::before{background:var(--pink);border-color:var(--pink);box-shadow:0 0 16px var(--pink)}
.nr-rooms{position:relative}
.nr-room{position:absolute;inset:0;display:grid;grid-template-rows:1fr auto;visibility:hidden}
.nr-room.on,.nr-room.prev{visibility:visible}
.nr-room-img{position:relative;overflow:hidden;clip-path:inset(0 0 100% 0);transition:clip-path 1s cubic-bezier(.77,0,.18,1)}
.nr-room.on .nr-room-img{clip-path:inset(0 0 0 0)}
.nr-room.prev{z-index:0}
.nr-room.on{z-index:1}
.nr-room-img img{width:100%;height:100%;object-fit:cover;transform:scale(1.15);transition:transform 1.6s var(--ease)}
.nr-room.on .nr-room-img img{transform:none}
.nr-room-txt{padding:28px var(--pad) 34px;background:var(--bk);display:grid;grid-template-columns:1.1fr 1fr;gap:6px 40px;align-items:end;border-top:1px solid #222}
.nr-room-txt .nr-mono{grid-column:1/-1}
.nr-room-txt h2{font-size:clamp(44px,5vw,90px);line-height:.9;margin:4px 0 0;transform:translateY(40px);opacity:0;transition:transform .8s .25s var(--ease),opacity .6s .25s}
.nr-room.on h2{transform:none;opacity:1}
.nr-room-txt>p{margin:0;color:#bdbdbd}
.nr-room .chips span{background:transparent;border-color:#444;border-radius:0;font-family:"JetBrains Mono";font-size:11px}
.nr-rfoot{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;gap:14px;margin-top:14px}
.nr-rfoot b{font-family:"Anton";font-weight:400;font-size:34px;color:#fff}

/* bar menu */
.nr-bar{position:relative;padding:clamp(100px,14vw,200px) var(--pad);overflow:hidden}
.nr-bhead{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:40px;gap:20px}
.nr-bhead h2{font-size:clamp(90px,16vw,280px);line-height:.8;margin:0;color:#fff}
.nr-menu{list-style:none;margin:0;padding:0;border-top:1px solid #333}
.nr-menu li{position:relative;display:grid;grid-template-columns:60px 1.2fr 1.5fr 80px;gap:20px;align-items:center;padding:26px 0;border-bottom:1px solid #333;cursor:default;transition:padding .4s var(--ease),color .3s}
.nr-menu li::before{content:"";position:absolute;inset:0;background:var(--pink);transform:scaleY(0);transform-origin:bottom;transition:transform .45s var(--ease);z-index:-1}
.nr-menu li:hover{padding-left:20px;color:#000}
.nr-menu li:hover::before{transform:none}
.nr-mi,.nr-md{font-family:"JetBrains Mono";font-size:12px;color:var(--fog)}
.nr-menu li:hover .nr-mi,.nr-menu li:hover .nr-md{color:#000}
.nr-mn{font-family:"Anton";font-size:clamp(30px,3.6vw,58px);line-height:1;text-transform:uppercase}
.nr-mp{font-family:"Anton";font-size:30px;text-align:right}
.nr-float{position:fixed;left:0;top:0;z-index:30;width:260px;aspect-ratio:3/4;pointer-events:none;opacity:0;transform:translate(-50%,-50%) scale(.6) rotate(-6deg);transition:opacity .3s,transform .4s var(--ease);overflow:hidden}
.nr-float.on{opacity:1;transform:translate(-50%,-50%) scale(1) rotate(var(--rot,-4deg))}
.nr-fi{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .25s}
.nr-fi.on{opacity:1}

/* weekend pricing bars */
.nr-week{padding:clamp(80px,12vw,180px) var(--pad);background:#f1efeb;color:#0a0a0a}
.nr-whead h2{font-size:clamp(50px,7vw,120px);line-height:.92;margin:12px 0 50px;color:#0a0a0a}
.nr-whead h2 span{color:var(--pink)}
.nr-week .nr-mono{color:#666}
.nr-wbars{display:grid;grid-template-columns:repeat(14,1fr);gap:8px;align-items:end;height:340px;border-bottom:2px solid #0a0a0a}
.nr-wb{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:8px;height:100%}
.nr-wb i{display:block;width:100%;max-width:56px;background:#0a0a0a;height:0;transition:height 1s var(--ease);transition-delay:calc(var(--i) * 50ms)}
.nr-wb.we i{background:var(--pink)}
.nr-wb b{font-family:"Anton";font-weight:400;font-size:clamp(14px,1.6vw,24px)}
.nr-wb small{font-family:"JetBrains Mono";font-size:10px;color:#666;margin-top:-4px;transform:translateY(26px)}
.nr-wnote{margin:46px 0 0;max-width:640px;color:#444}

.nr-owner{background:#111}
.nr-owner .sec-h{font-family:"Anton";text-transform:uppercase;font-weight:400}
.nr-owner .sec-h em{color:var(--pink);font-style:normal}

/* cta */
.nr-cta{padding:clamp(100px,14vw,200px) var(--pad);text-align:center;overflow:hidden}
.nr-ctah{display:flex;flex-direction:column;font-size:clamp(80px,17vw,300px);line-height:.82;margin:0 0 40px}
.nr-ctah span{transform:translateX(calc(var(--k,0) * var(--d,1) * 1vw));transition:transform .2s linear}
.nr-ctah span:nth-child(2){--d:-1}
.nr-ctah .o{color:transparent;-webkit-text-stroke:2px var(--pink)}
.nr-cta p{max-width:560px;margin:0 auto 34px;color:#bdbdbd;font-size:18px}
.nr-cta-btns{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.nr .ft{background:#000;border-top:1px solid #222}

@media (max-width:900px){
	.nr-lstick{grid-template-columns:1fr;grid-template-rows:auto 1fr}
	.nr-shaft{flex-direction:row;align-items:center;gap:18px;padding:calc(var(--hd) + 14px) var(--pad) 12px;border-right:0;border-bottom:1px solid #222}
	.nr-floor{font-size:72px}
	.nr-dots{margin:0 0 0 auto;flex-direction:row}
	.nr-dots i span{display:none}
	.nr-room-txt{grid-template-columns:1fr;padding:18px var(--pad) 22px}
	.nr-room-txt>p{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:14px}
	.nr-room-txt h2{font-size:40px}
	.nr-menu li{grid-template-columns:36px 1fr 60px;gap:10px}
	.nr-md{grid-column:2/3;grid-row:2}
	.nr-float{display:none}
	.nr-wbars{grid-template-columns:repeat(7,1fr);height:260px}
	.nr-wb:nth-child(n+8){display:none}
	.nr-sub{top:auto;bottom:calc(220px + 3vh);left:var(--pad);right:var(--pad)}
	.nr-title{bottom:calc(290px + 4vh)}
	.nr-coords{display:none}
	.nr-bhead{flex-direction:column;align-items:flex-start}
}
