/* Chai Nadlan — front-end app styles. Everything is scoped under .cn-root
   (added to <body>) and assets load only on plugin views, so nothing here
   can affect the existing site. */

body.cn-root{margin:0;background:var(--cn-ground);color:var(--cn-ink);
  font-family:var(--cn-body);font-size:14px;-webkit-font-smoothing:antialiased;line-height:1.5;}
body.cn-root.cn-locked{overflow:hidden;}
.cn-root *{box-sizing:border-box;}
.cn-root a{color:inherit;text-decoration:none;}
.cn-root img{max-width:100%;height:auto;display:block;}
.cn-wrap{max-width:1180px;margin:0 auto;padding:0 clamp(16px,4vw,40px);}

/* ---- NAV ---- */
.cn-nav{position:sticky;top:0;z-index:40;display:flex;align-items:center;justify-content:space-between;
  padding:15px clamp(16px,4vw,40px);background:rgba(7,10,15,.82);backdrop-filter:blur(12px);border-bottom:1px solid var(--cn-line);}
.cn-brand{display:flex;align-items:center;gap:12px;}
.cn-logo{height:42px;width:auto;display:block;flex:none;filter:brightness(0) invert(1);} /* navy logo rendered white on the dark nav */
.cn-brand-txt{font-weight:800;letter-spacing:.14em;font-size:14px;text-transform:uppercase;color:var(--cn-ink);}
@media(max-width:480px){.cn-brand-txt{display:none;}}
.cn-navlinks{display:flex;gap:clamp(12px,2vw,26px);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--cn-ink-soft);font-weight:600;}
.cn-navlinks a:hover{color:#fff;}
@media(max-width:640px){.cn-navlinks a{display:none;}}
.cn-footer{padding:38px clamp(16px,4vw,40px);border-top:1px solid var(--cn-line);font-family:var(--cn-mono);font-size:11.5px;color:var(--cn-ink-mute);letter-spacing:.05em;display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;}

/* ---- PROPERTY ---- */
.cn-property .crumb{font-family:var(--cn-mono);font-size:11.5px;letter-spacing:.06em;color:var(--cn-ink-mute);padding:20px 0 8px;}
.cn-property .crumb a:hover{color:var(--cn-blue-br);}
.cn-property .crumb .sep{opacity:.5;margin:0 7px;}
.cn-property .top{display:grid;grid-template-columns:1.55fr 1fr;gap:24px;padding-top:8px;}
@media(max-width:860px){.cn-property .top{grid-template-columns:1fr;}}
.cn-property .hero-img{position:relative;aspect-ratio:16/11;border-radius:16px;overflow:hidden;border:1px solid var(--cn-line);background:linear-gradient(150deg,#20456b,#0d2036 60%,#0a1420);}
.cn-property .hero-img .cn-hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.cn-property .hero-img .g{position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(5,8,12,.5));}
.cn-property .hero-img .count{position:absolute;left:14px;bottom:13px;font-family:var(--cn-mono);font-size:11px;color:#fff;background:rgba(7,10,15,.55);border:1px solid var(--cn-line-2);padding:5px 11px;border-radius:20px;backdrop-filter:blur(5px);}
.cn-property .tourbtn{position:absolute;right:14px;bottom:13px;display:flex;align-items:center;gap:9px;cursor:pointer;background:rgba(79,151,222,.92);color:#04121f;font-weight:800;font-size:13px;padding:11px 17px;border:none;border-radius:30px;box-shadow:0 12px 34px -12px var(--cn-blue-glow);transition:transform .2s;font-family:var(--cn-body);}
.cn-property .tourbtn:hover{transform:translateY(-2px);}
.cn-property .tourbtn svg{width:16px;height:16px;}

.cn-property .info .badge{display:inline-block;font-family:var(--cn-mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--cn-blue-br);border:1px solid rgba(132,188,243,.45);background:var(--cn-blue-glow);padding:5px 11px;border-radius:20px;}
.cn-property .info h1{font-family:var(--cn-disp);text-transform:uppercase;font-size:clamp(34px,4.6vw,52px);line-height:.95;margin:16px 0 6px;letter-spacing:.01em;}
.cn-property .info .addr{color:var(--cn-ink-soft);font-size:14px;}
.cn-property .info .price{font-family:var(--cn-disp);font-size:clamp(30px,4vw,42px);color:#fff;margin:20px 0 2px;}
.cn-property .info .price .mo{font-family:var(--cn-body);font-size:14px;color:var(--cn-ink-mute);font-weight:600;}
.cn-property .info .pnote{font-family:var(--cn-mono);font-size:11px;color:var(--cn-ink-mute);letter-spacing:.05em;}
.cn-property .info .serif{font-family:var(--cn-serif);font-style:italic;color:var(--cn-warm);font-size:17px;margin:18px 0;display:block;line-height:1.4;}
.cn-property .facts{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:20px 0;border-top:1px solid var(--cn-line);border-bottom:1px solid var(--cn-line);padding:18px 0;}
.cn-property .fact{text-align:center;}
.cn-property .fact .v{font-weight:800;font-size:17px;color:#fff;}
.cn-property .fact .k{font-family:var(--cn-mono);font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--cn-ink-mute);margin-top:4px;}
.cn-property .cta{display:flex;flex-direction:column;gap:10px;margin-top:20px;}
.cn-property .btn{display:flex;align-items:center;justify-content:center;gap:9px;font-weight:800;font-size:14px;padding:15px;border-radius:12px;cursor:pointer;border:none;transition:transform .2s;}
.cn-property .btn.primary{background:var(--cn-blue);color:#04121f;box-shadow:0 12px 34px -14px var(--cn-blue-glow);}
.cn-property .btn.primary:hover{transform:translateY(-2px);}

.cn-property section.blk{padding:52px 0;border-top:1px solid var(--cn-line);}
.cn-property .h-eye{font-family:var(--cn-mono);font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--cn-blue-br);}
.cn-property .h2{font-family:var(--cn-disp);text-transform:uppercase;font-size:clamp(26px,4vw,40px);line-height:1;margin:12px 0 22px;letter-spacing:.01em;}
.cn-property .desc{max-width:66ch;color:var(--cn-ink-soft);font-size:15.5px;line-height:1.7;}
.cn-property .amen{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;}
.cn-property .am{display:flex;align-items:center;gap:11px;background:var(--cn-surface);border:1px solid var(--cn-line);border-radius:11px;padding:13px 15px;font-size:14px;color:var(--cn-ink-soft);}
.cn-property .am svg{width:17px;height:17px;stroke:var(--cn-green);flex:none;}
.cn-property .grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
@media(max-width:760px){.cn-property .grid3{grid-template-columns:1fr;}}
.cn-property .pcard{position:relative;aspect-ratio:4/5;border-radius:13px;overflow:hidden;border:1px solid var(--cn-line);background:linear-gradient(150deg,#20456b,#0a1420);}
.cn-property .pcard img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(.75);transition:transform .7s,filter .7s;}
.cn-property .pcard:hover img{transform:scale(1.1);filter:brightness(.92);}
.cn-property .pcard .grad{position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(5,8,12,.85));}
.cn-property .pcard .m{position:absolute;left:15px;right:15px;bottom:14px;z-index:1;}
.cn-property .pcard .ttl{font-family:var(--cn-disp);text-transform:uppercase;font-size:19px;color:#fff;}
.cn-property .pcard .pr{font-family:var(--cn-mono);font-size:12px;color:var(--cn-blue-br);margin-top:4px;}

/* ---- VIRTUAL TOUR MODAL ---- */
.cn-modal{position:fixed;inset:0;z-index:100;display:none;align-items:center;justify-content:center;padding:clamp(12px,3vw,40px);background:rgba(4,7,11,.82);backdrop-filter:blur(8px);}
.cn-modal.open{display:flex;}
.cn-modal .frame{position:relative;width:100%;max-width:1100px;aspect-ratio:16/9;border-radius:16px;overflow:hidden;border:1px solid var(--cn-line-2);background:#0a1420;box-shadow:0 40px 120px -30px #000;}
.cn-modal .frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0;}
.cn-modal .close{position:absolute;top:-14px;right:-2px;transform:translateY(-100%);z-index:2;display:flex;align-items:center;gap:8px;background:none;border:1px solid var(--cn-line-2);color:var(--cn-ink);font-family:var(--cn-mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;padding:9px 14px;border-radius:24px;cursor:pointer;transition:border-color .2s,color .2s;}
.cn-modal .close:hover{border-color:#fff;color:#fff;}
@media(max-width:640px){.cn-modal .close{top:8px;right:8px;transform:none;}}

/* ---- COMING SOON (front page) ---- */
body.cn-soon-body{overflow:hidden;}
.cn-soon{position:relative;min-height:100vh;min-height:100svh;display:flex;align-items:center;justify-content:center;text-align:center;padding:40px 22px;overflow:hidden;}
.cn-soon-scene{position:absolute;inset:0;z-index:0;background:
  radial-gradient(80% 55% at 50% 100%, rgba(79,151,222,.34), transparent 62%),
  radial-gradient(60% 40% at 78% 22%, rgba(205,184,154,.12), transparent 60%),
  linear-gradient(200deg,#12314e 0%,#0c1d31 44%,#06090f 100%);}
.cn-soon-scene::after{content:"";position:absolute;inset:0;background:radial-gradient(120% 90% at 50% 10%, transparent, rgba(0,0,0,.4) 92%);}
.cn-soon-halo{position:absolute;inset:0;z-index:1;background:radial-gradient(42% 38% at 50% 54%, rgba(255,255,255,.12), transparent 62%);animation:cn-drift 20s ease-in-out infinite;}
@keyframes cn-drift{0%,100%{transform:translate3d(-2%,0,0) scale(1.05);}50%{transform:translate3d(3%,-2%,0) scale(1.12);}}
.cn-soon-inner{position:relative;z-index:2;max-width:760px;}
.cn-soon-logo{height:clamp(84px,13vw,132px);width:auto;margin:0 auto 26px;display:block;filter:brightness(0) invert(1);opacity:.97;
  filter:brightness(0) invert(1) drop-shadow(0 0 34px rgba(255,255,255,.18));}
.cn-soon-eyebrow{font-family:var(--cn-mono);font-size:12px;letter-spacing:.34em;text-transform:uppercase;color:var(--cn-blue-br);}
.cn-soon-title{font-family:var(--cn-disp);text-transform:uppercase;font-size:clamp(52px,12vw,132px);line-height:.9;letter-spacing:.01em;color:#fff;margin:18px 0 0;
  text-shadow:0 0 40px rgba(255,255,255,.16),0 0 120px var(--cn-blue-glow);}
.cn-soon-he{font-family:"Assistant","Heebo","Arial Hebrew","Segoe UI",Arial,sans-serif;font-size:clamp(16px,2.3vw,21px);line-height:1.7;color:var(--cn-ink-soft);margin:24px auto 0;max-width:34ch;font-weight:500;}
.cn-soon-rule{width:54px;height:1px;background:linear-gradient(90deg,transparent,var(--cn-blue-br),transparent);margin:26px auto;}
.cn-soon-en{font-family:var(--cn-serif);font-style:italic;font-size:clamp(14px,1.7vw,18px);color:var(--cn-warm);margin:0 auto;max-width:44ch;}
@media(prefers-reduced-motion:reduce){.cn-soon-halo{animation:none;}}

/* ---- reveals ---- */
.cn-root .rv{opacity:0;transform:translateY(24px);transition:opacity .9s cubic-bezier(.2,.7,.2,1),transform .9s cubic-bezier(.2,.7,.2,1);}
.cn-root .rv.in{opacity:1;transform:none;}
@media(prefers-reduced-motion:reduce){.cn-root *{animation:none!important;transition:none!important;}.cn-root .rv{opacity:1;transform:none;}}
