/* NoStickSignage screen renderer. Everything is laid out on a fixed 1920x1080 (or 1080x1920) canvas and scaled. */
.nss-stage{position:absolute;left:0;top:0;overflow:hidden;transform-origin:0 0;box-sizing:border-box;
  font-family:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;color:var(--text);background:var(--bg);
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
.nss-stage *{box-sizing:border-box}
.nss-stage .hd{font-family:var(--display);font-weight:var(--dw);letter-spacing:var(--dls);line-height:1.02}
.nss-land{width:1920px;height:1080px}.nss-port{width:1080px;height:1920px}
.nss-logo{object-fit:contain;display:block}
.nss-acc{color:var(--accent)}
.nss-fit{font-size:calc(var(--fs,1) * 1px)}

/* ---------- MENU BOARD ---------- */
.m-wrap{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;padding:56px 72px 40px}
.m-bgdeco{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;
  background:radial-gradient(1200px 500px at 110% -10%,var(--accentSoft),transparent 60%),radial-gradient(900px 500px at -10% 115%,var(--accentSoft),transparent 60%)}
.m-head{display:flex;align-items:center;padding-bottom:28px;border-bottom:4px solid var(--accent);position:relative}
.m-head .nss-logo{height:130px;max-width:480px;margin-right:36px}
.m-title{flex:1;min-width:0}
.m-title h1{margin:0;font-size:104px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.m-title p{margin:10px 0 0;font-size:34px;opacity:.78;font-weight:500}
.m-badge{margin-left:36px;background:var(--accent);color:var(--onAccent);font-weight:800;font-size:30px;padding:18px 30px;border-radius:999px;white-space:nowrap;text-transform:uppercase;letter-spacing:.06em}
.m-body{flex:1;display:flex;min-height:0;padding-top:36px;position:relative}
.m-cols{flex:1;display:flex;align-items:flex-start;min-height:0;min-width:0;overflow:hidden}
.m-col{flex:1 1 0;min-width:0}.m-col+.m-col{margin-left:64px}
.m-sec+.m-sec{margin-top:calc(var(--fs)*30px)}
.m-sec{min-width:0}
.m-sec h2{margin:0 0 calc(var(--fs)*20px);font-size:calc(var(--fs)*58px);color:var(--accent)}
.m-item{margin:0 0 calc(var(--fs)*24px)}
.m-row{display:flex;align-items:baseline;font-size:calc(var(--fs)*38px);font-weight:700}
.m-row .n{flex:0 1 auto;min-width:0}
.m-row .dots{flex:1;border-bottom:4px dotted var(--muted);transform:translateY(-8px);min-width:30px;margin:0 16px}
.m-row .p{font-weight:800;color:var(--accent);white-space:nowrap}
.m-desc{font-size:calc(var(--fs)*26px);opacity:.72;margin-top:6px;line-height:1.3;font-weight:400}
.m-img{width:560px;flex:none;border-radius:28px;background-size:cover;background-position:center;box-shadow:0 30px 60px rgba(0,0,0,.25);margin-left:56px}
.m-foot{position:relative;display:flex;justify-content:space-between;align-items:center;padding-top:22px;font-size:30px;opacity:.85;font-weight:600}
.m-foot .dot{display:inline-block;width:14px;height:14px;border-radius:50%;background:var(--accent);margin-right:14px;vertical-align:middle}
.nss-port .m-wrap{padding:64px 64px 48px}
.nss-port .m-head{flex-wrap:wrap}
.nss-port .m-title h1{font-size:96px;white-space:normal}
.nss-port .m-body{flex-direction:column}
.nss-port .m-img{margin:0 0 40px;order:-1}
.nss-port .m-img{width:100%;height:520px}

/* ---------- PROMO ---------- */
.p-wrap{position:absolute;top:0;right:0;bottom:0;left:0;display:flex}
.p-media{position:relative;flex:0 0 52%;background-size:cover;background-position:center;overflow:hidden}
.p-media.empty{background:linear-gradient(135deg,var(--accent),var(--accent2))}
.p-media.empty:before{content:"";position:absolute;width:900px;height:900px;border-radius:50%;left:-200px;top:120px;background:rgba(255,255,255,.14)}
.p-media.empty:after{content:"";position:absolute;width:520px;height:520px;border-radius:50%;right:-120px;top:-140px;background:rgba(255,255,255,.12)}
.p-media .bigword{position:absolute;left:70px;bottom:40px;font-size:260px;color:rgba(255,255,255,.92);z-index:1;line-height:.9}
.p-text{flex:1;display:flex;flex-direction:column;justify-content:flex-start;padding:210px 90px 150px;position:relative;min-width:0}
.p-top{position:absolute;left:90px;right:90px;top:64px;display:flex;align-items:center}
.p-top .nss-logo{margin-right:24px}
.p-top .nss-logo{height:96px;max-width:260px}
.p-top .bn{font-size:38px;font-weight:800;opacity:.9}
.p-eyebrow{align-self:flex-start;background:var(--accent);color:var(--onAccent);font-weight:800;text-transform:uppercase;letter-spacing:.12em;font-size:30px;padding:14px 28px;border-radius:999px;margin-bottom:34px}
.p-head{margin:0;font-size:calc(var(--fs)*148px)}
.p-desc{margin:34px 0 0;font-size:calc(var(--fs)*42px);line-height:1.35;opacity:.82;max-width:820px}
.p-price{display:flex;align-items:center;margin-top:50px}
.p-price .now{background:var(--accent2);color:#fff;font-weight:900;font-size:96px;padding:18px 44px;border-radius:30px;transform:rotate(-3deg);box-shadow:0 18px 40px rgba(0,0,0,.25)}
.p-price .was{margin-left:30px;font-size:48px;opacity:.6;text-decoration:line-through;font-weight:700}
.p-foot{position:absolute;left:90px;right:90px;bottom:56px;font-size:32px;font-weight:600;opacity:.8}
.nss-port .p-wrap{flex-direction:column}
.nss-port .p-media{flex:0 0 46%}
.nss-port .p-text{padding:60px 80px 140px;justify-content:flex-start}
.nss-port .p-top{position:static;margin-bottom:40px;left:auto;right:auto}
.nss-port .p-foot{left:80px;right:80px}

/* ---------- WELCOME / ANNOUNCEMENT ---------- */
.w-wrap{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:90px 120px;background-size:cover;background-position:center}
.w-wrap.empty{background:radial-gradient(1400px 800px at 50% 0%,var(--accentSoft),transparent 70%),var(--bg)}
.w-shade{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,rgba(0,0,0,.35),rgba(0,0,0,.65))}
.w-wrap.empty .w-shade{display:none}
.w-wrap.hasimg{color:#fff}
.w-in{position:relative;display:flex;flex-direction:column;align-items:center;max-width:100%}
.w-in .nss-logo{height:150px;max-width:420px;margin-bottom:40px}
.w-kicker{font-size:36px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--accent);margin-bottom:26px}
.w-head{margin:0;font-size:calc(var(--fs)*190px)}
.w-msg{margin:36px 0 0;font-size:calc(var(--fs)*48px);line-height:1.35;max-width:1400px;opacity:.9}
.w-chips{display:flex;flex-wrap:wrap;justify-content:center;margin-top:52px}
.w-chip{margin:12px;background:var(--surface);color:var(--text);border-radius:22px;padding:22px 34px;font-size:34px;font-weight:600;box-shadow:0 10px 30px rgba(0,0,0,.18)}
.w-chip b{color:var(--accent);font-weight:800;margin-right:12px}
.w-foot{position:absolute;bottom:50px;left:0;right:0;font-size:30px;font-weight:600;opacity:.8}
.nss-port .w-wrap{padding:100px 70px}
.nss-port .w-head{font-size:calc(var(--fs)*150px)}
.nss-port .w-chips{flex-direction:column;align-items:stretch}

.p-mid{margin:auto 0;display:flex;flex-direction:column}
.m-title .m-badge{display:inline-block;margin:26px 0 0;font-size:28px;padding:14px 26px}
.p-text{min-height:0;overflow:hidden}
.p-eyebrow{font-size:calc(var(--fs)*30px);margin-bottom:calc(var(--fs)*34px)}
.p-price{margin-top:calc(var(--fs)*50px)}
.p-price .now{font-size:calc(var(--fs)*96px)}
.p-price .was{font-size:calc(var(--fs)*48px)}
.w-wrap.hasimg .w-kicker{color:#fff;opacity:.92}
.w-wrap.hasimg .w-head,.w-wrap.hasimg .w-msg{text-shadow:0 4px 30px rgba(0,0,0,.35)}

/* ---------- UPLOADED DESIGN / SLIDESHOW ---------- */
.t-upload{background:#000}
.u-slide{position:absolute;top:0;left:0;right:0;bottom:0;background-repeat:no-repeat;background-position:center;opacity:0;transition:opacity .8s}
.u-slide.on{opacity:1;z-index:2}
.u-slide.was{opacity:1;z-index:1;transition:none}
.u-fill{background-size:cover}.u-fit{background-size:contain}.u-stretch{background-size:100% 100%}
.u-empty{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center;flex-direction:column;color:#9aa0b8;font-size:56px;font-weight:700;background:#141a2e}
.u-empty small{font-size:32px;font-weight:500;margin-top:20px;opacity:.8}

/* menu pages (long menus rotate like slides) */
.m-page{position:absolute;top:0;left:0;right:0;bottom:0;background:var(--bg);opacity:0;transition:opacity .8s}
.m-page.on{opacity:1;z-index:2}
.m-page.was{opacity:1;z-index:1;transition:none}
.m-pg{display:inline-block}
.m-pg i{display:inline-block;width:14px;height:14px;border-radius:50%;background:var(--text);opacity:.25;margin:0 6px}
.m-pg i.on{background:var(--accent);opacity:1}
.m-sec.cont h2{opacity:.55}
.m-sec.cont h2:after{content:" (cont.)";font-size:.6em}
