@font-face { font-family:"NS Comfortaa"; src:url("/assets/neon-comfortaa-light-c37.woff2") format("woff2"); font-weight:300; font-style:normal; font-display:swap; }
@font-face { font-family:"NS Aristotelica"; src:url("/assets/neon-aristotelica-c37.woff2") format("woff2"); font-weight:300; font-style:normal; font-display:swap; }
@font-face { font-family:"NS Bad Script"; src:url("/assets/neon-badscript-c37.woff2") format("woff2"); font-weight:400; font-style:normal; font-display:swap; }
@font-face { font-family:"NS Verbena"; src:url("/assets/neon-verbena-c37.woff2") format("woff2"); font-weight:400; font-style:normal; font-display:swap; }
:root {
  --bg: #0b0d10;
  --surface: #14171c;
  --text: #f7f7f8;
  --muted: #9ca3ad;
  --line: rgba(255, 255, 255, 0.08);
  --milk: #f3eee6;
  --ink: #0b0d10;
  --danger: #f87171;
  --ok: #86efac;
  --radius: 20px;
  --max: 1240px;
  --sign: #fff4d6;
}
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
html, body {
  margin: 0;
  background: var(--bg);
  color: var(--text);
  font: 16px/1.5 Manrope, Inter, system-ui, sans-serif;
}
img { max-width: 100%; display: block; }
a { color: inherit; }
button, input, textarea, select { font: inherit; color: inherit; }
button { cursor: pointer; }
.ns-skip { position: absolute; left: -999px; }
.ns-skip:focus { left: 8px; top: 8px; z-index: 80; background: var(--milk); color: var(--ink); padding: 8px 12px; }
.ns-wrap { width: min(var(--max), calc(100% - 32px)); margin: 0 auto; }

.ns-top {
  background: #0e1116;
  border-bottom: 1px solid var(--line);
  font-size: 12px;
  color: var(--muted);
}
.ns-top__row {
  display: flex;
  gap: 14px;
  justify-content: space-between;
  align-items: center;
  min-height: 34px;
  white-space: nowrap;
  overflow: hidden;
}
.ns-top a { text-decoration: none; }
.ns-top a:hover { color: var(--text); }
.ns-top .ns-hours { color: var(--muted); }

.ns-header {
  position: sticky;
  top: 0;
  z-index: 40;
  background: rgba(11, 13, 16, 0.92);
  backdrop-filter: blur(16px);
  border-bottom: 1px solid var(--line);
}
.ns-header__row {
  display: flex;
  align-items: center;
  gap: 18px;
  min-height: 64px;
}
.ns-logo {
  display: flex;
  flex-direction: column;
  text-decoration: none;
  line-height: 1.05;
  font-weight: 800;
  letter-spacing: -0.04em;
}
.ns-logo small {
  font-weight: 500;
  color: var(--muted);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  font-size: 10px;
}
.ns-nav { display: flex; gap: 16px; margin-left: 8px; flex-wrap: wrap; }
.ns-nav a {
  text-decoration: none;
  color: var(--muted);
  font-size: 14px;
  font-weight: 600;
}
.ns-nav a:hover, .ns-nav a:focus-visible { color: var(--text); }
.ns-header__right { margin-left: auto; display: flex; align-items: center; gap: 10px; }
.ns-phone { text-decoration: none; font-weight: 700; white-space: nowrap; }
.ns-burger {
  display: none;
  width: 44px; height: 44px;
  border: 1px solid var(--line);
  background: transparent;
  border-radius: 12px;
}
.ns-burger span { display: block; width: 18px; height: 1.5px; background: var(--text); margin: 4px auto; }

.ns-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 0 18px;
  border-radius: 999px;
  border: 1px solid transparent;
  text-decoration: none;
  font-weight: 700;
  letter-spacing: -0.02em;
}
.ns-btn--milk { background: var(--milk); color: var(--ink); }
.ns-btn--ghost { background: transparent; border-color: var(--line); color: var(--text); }
.ns-btn:focus-visible, .ns-chip:focus-visible, .ns-burger:focus-visible, .ns-swatch:focus-visible {
  outline: 2px solid var(--milk);
  outline-offset: 2px;
}
.ns-btn:hover { filter: brightness(1.06); }

.ns-hero {
  display: grid;
  grid-template-columns: minmax(280px, 0.85fr) minmax(0, 1.25fr);
  gap: 36px;
  align-items: center;
  padding: 36px 0 28px;
}
.ns-kicker {
  font-size: 11px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--muted);
  font-weight: 700;
  margin: 0 0 12px;
}
.ns-hero h1 {
  font-size: clamp(28px, 3.4vw, 44px);
  line-height: 1.08;
  letter-spacing: -0.045em;
  margin: 0 0 14px;
  font-weight: 700;
}
.ns-lead { color: var(--muted); margin: 0 0 22px; max-width: 42em; }
.ns-hero__cta { display: flex; flex-wrap: wrap; gap: 10px; }
.ns-stage {
  position: relative;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 24px;
  min-height: 420px;
  overflow: hidden;
  isolation: isolate;
}
.ns-stage__bg {
  position: absolute; inset: 0;
  background: url("/assets/studio-c30.webp") center/cover no-repeat;
  opacity: 0.82;
}
.ns-stage__dim {
  position: absolute; inset: 0;
  background: linear-gradient(90deg, rgba(11,13,16,.18), rgba(11,13,16,.28));
}
.ns-stage__sign {
  position: relative;
  z-index: 1;
  min-height: 420px;
  display: grid;
  place-items: center;
  padding: 18% 10% 22%;
  text-align: center;
}
.ns-sign {
  margin: 0;
  font-weight: 700;
  line-height: 0.95;
  letter-spacing: 0.02em;
  white-space: nowrap;
  max-width: 100%;
  color: #fff;
  text-shadow:
    0 0 2px #fff,
    0 0 8px var(--sign),
    0 0 18px var(--sign),
    0 0 42px var(--sign);
}
.ns-stage__meta {
  position: absolute;
  left: 16px; right: 16px; bottom: 14px;
  display: flex;
  justify-content: space-between;
  gap: 8px;
  color: var(--muted);
  font-size: 12px;
  z-index: 2;
}
.ns-badge {
  display: inline-flex;
  border: 1px solid var(--line);
  border-radius: 999px;
  padding: 4px 10px;
  font-size: 11px;
  color: var(--muted);
  background: rgba(11,13,16,.55);
}

.ns-trust {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 18px;
  color: var(--muted);
  font-size: 13px;
  margin: 8px 0 40px;
  padding: 12px 0;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}
.ns-trust b { color: var(--text); font-weight: 600; }

.ns-sec { padding: 8px 0 52px; }
.ns-sec h2 {
  font-size: clamp(24px, 3vw, 34px);
  letter-spacing: -0.04em;
  margin: 0 0 8px;
  font-weight: 700;
}
.ns-sec__lead { color: var(--muted); margin: 0 0 20px; max-width: 46em; }

.ns-grid-3, .ns-concepts, .ns-cats {
  display: grid;
  gap: 12px;
}
.ns-grid-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.ns-concepts { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.ns-cats { grid-template-columns: repeat(4, minmax(0, 1fr)); }

.ns-start, .ns-cat, .ns-concept, .ns-panel {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--radius);
}
.ns-start, .ns-cat {
  display: block;
  text-decoration: none;
  padding: 18px;
  min-height: 132px;
  width: 100%;
  text-align: left;
  color: inherit;
  font: inherit;
}
.ns-start h3, .ns-cat h3 { margin: 0 0 8px; font-size: 18px; }
.ns-start p, .ns-cat p { margin: 0; color: var(--muted); font-size: 14px; }
.ns-start span { display: inline-block; margin-top: 12px; color: var(--milk); font-size: 13px; font-weight: 700; }

.ns-concept { overflow: hidden; display: flex; flex-direction: column; }
.ns-concept__viz {
  position: relative;
  aspect-ratio: 1;
  background: #101318 center/cover no-repeat;
  display: grid;
  place-items: center;
  padding: 18px;
}
.ns-concept__viz .ns-sign { font-size: clamp(22px, 4vw, 36px); }
.ns-concept__body { padding: 14px; display: grid; gap: 8px; }
.ns-concept h3 { margin: 0; font-size: 16px; }
.ns-concept p { margin: 0; color: var(--muted); font-size: 13px; }
.ns-concept .ns-btn { min-height: 40px; padding: 0 12px; font-size: 13px; width: 100%; }
.ns-concept .ns-badge { position: absolute; top: 10px; left: 10px; }

.ns-ctor {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(260px, 340px);
  gap: 14px;
  align-items: stretch;
}
.ns-panel { padding: 18px 20px; }
.ns-field { display: grid; gap: 6px; margin-bottom: 12px; }
.ns-field span, .ns-label {
  font-size: 11px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--muted);
  font-weight: 700;
}
.ns-field textarea, .ns-field input[type="text"], .ns-field input[type="tel"] {
  width: 100%;
  background: #0e1116;
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 10px 12px;
  min-height: 44px;
}
.ns-field textarea { min-height: 88px; resize: vertical; }
.ns-fonts, .ns-backs { display: flex; flex-wrap: wrap; gap: 6px; }
.ns-chip {
  border: 1px solid var(--line);
  background: #0e1116;
  border-radius: 999px;
  min-height: 36px;
  padding: 0 12px;
}
.ns-chip.is-on { border-color: var(--milk); color: var(--milk); }
.ns-swatches { display: flex; flex-wrap: wrap; gap: 8px; }
.ns-swatch {
  width: 32px; height: 32px; border-radius: 50%;
  border: 2px solid transparent;
  box-shadow: 0 0 0 1px rgba(255,255,255,.15);
}
.ns-swatch.is-on { border-color: var(--text); }
.ns-range {
  width: 100%;
  accent-color: var(--milk);
  height: 16px;
}
.ns-ctor__preview {
  min-height: 480px;
  background:
    linear-gradient(180deg, rgba(11,13,16,.25), rgba(11,13,16,.45)),
    url("/assets/studio-c30.webp") center/cover no-repeat;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  position: relative;
  overflow: hidden;
  display: grid;
  place-items: center;
  padding: 28px 20px 48px;
}
.ns-ctor__preview[data-bg="brick"] {
  background-image:
    linear-gradient(180deg, rgba(11,13,16,.25), rgba(11,13,16,.45)),
    url("/assets/brick-c30.webp");
  background-position: center;
  background-size: cover;
}
.ns-ctor__preview[data-bg="concrete"] {
  background-image: linear-gradient(180deg, #3a3d43, #1c1e22);
}
.ns-ctor__preview[data-bg="light"] {
  background-image: linear-gradient(180deg, #e4dfd6, #c9c3b8);
}
.ns-ctor__preview[data-backing="rect"] .ns-sign {
  padding: 18px 22px;
  background: rgba(255,255,255,.04);
  outline: 1px solid rgba(255,255,255,.12);
  border-radius: 8px;
}
.ns-price { font-size: 28px; letter-spacing: -0.04em; margin: 0 0 6px; }
.ns-hint { color: var(--muted); font-size: 13px; margin: 0 0 14px; }
.ns-check { display: flex; gap: 8px; align-items: flex-start; font-size: 13px; color: var(--muted); }
.ns-check input { margin-top: 3px; }

.ns-drop {
  border: 1px dashed rgba(255,255,255,.2);
  border-radius: var(--radius);
  padding: 28px 18px;
  text-align: center;
  background: var(--surface);
  color: var(--muted);
}
.ns-drop.is-on { border-color: var(--milk); color: var(--text); }
.ns-drop input { display: none; }
.ns-wall {
  position: relative;
  min-height: 360px;
  border-radius: var(--radius);
  overflow: hidden;
  background: #101318 center/cover no-repeat;
  border: 1px solid var(--line);
}
.ns-wall .ns-sign {
  position: absolute;
  left: 50%; top: 45%;
  transform: translate(-50%, -50%);
  cursor: grab;
  user-select: none;
  touch-action: none;
}

.ns-steps { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 10px; }
.ns-steps article { background: var(--surface); border: 1px solid var(--line); border-radius: 16px; padding: 16px; }
.ns-steps b { display: block; color: var(--muted); font-size: 12px; margin-bottom: 6px; }
.ns-steps h3 { margin: 0 0 6px; font-size: 16px; }
.ns-steps p { margin: 0; color: var(--muted); font-size: 13px; }
.ns-steps a { color: var(--milk); text-decoration: none; font-weight: 700; font-size: 13px; }

.ns-factors { display: grid; grid-template-columns: 1.2fr 1fr; gap: 16px; }
.ns-factors ul { margin: 0; padding-left: 18px; color: var(--muted); }
.ns-factors li { margin: 0 0 8px; }

.ns-note { color: var(--muted); font-size: 14px; margin: 0; }

.ns-faq { display: grid; gap: 8px; }
.ns-faq details {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 14px;
  padding: 4px 16px;
}
.ns-faq summary {
  cursor: pointer;
  min-height: 48px;
  display: flex;
  align-items: center;
  font-weight: 700;
}
.ns-faq p { color: var(--muted); margin: 0 0 14px; }

.ns-final {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
  align-items: start;
}
.ns-recap {
  font-size: 13px;
  color: var(--muted);
  background: #0e1116;
  border-radius: 12px;
  padding: 10px 12px;
  margin: 0 0 12px;
}
.ns-status { min-height: 20px; font-size: 13px; color: var(--muted); }
.ns-status.is-ok { color: var(--ok); }
.ns-status.is-err { color: var(--danger); }

.ns-footer {
  border-top: 1px solid var(--line);
  padding: 36px 0 120px;
  color: var(--muted);
  font-size: 14px;
}
.ns-footer__grid {
  display: grid;
  grid-template-columns: 1.5fr 1fr 1fr;
  gap: 20px;
}
.ns-footer a { text-decoration: none; }
.ns-footer a:hover { color: var(--text); }
.ns-footer h3 { color: var(--text); font-size: 14px; margin: 0 0 10px; }
.ns-footer ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; }

.ns-sticky {
  display: none;
  position: fixed;
  left: 12px; right: 12px; bottom: 12px;
  z-index: 35;
  background: #12151b;
  border: 1px solid var(--line);
  border-radius: 16px;
  padding: 10px 12px;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  box-shadow: 0 10px 40px rgba(0,0,0,.4);
}
.ns-sticky b { font-size: 16px; }
.ns-sticky span { display: block; color: var(--muted); font-size: 11px; font-weight: 500; }
.ns-hp { position: absolute; left: -9999px; height: 0; overflow: hidden; }

@media (max-width: 1024px) {
  .ns-hero, .ns-ctor, .ns-final, .ns-factors, .ns-footer__grid { grid-template-columns: 1fr; }
  .ns-stage { order: -1; }
  .ns-ctor__preview { min-height: 320px; }
  .ns-grid-3, .ns-concepts, .ns-cats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ns-steps { grid-template-columns: 1fr 1fr; }
  .ns-nav { display: none; }
  .ns-nav.is-open {
    display: flex;
    flex-direction: column;
    position: absolute;
    left: 0; right: 0; top: 100%;
    background: #101318;
    border-bottom: 1px solid var(--line);
    padding: 12px 16px 16px;
    z-index: 45;
  }
  .ns-burger { display: inline-block; }
  .ns-phone { display: none; }
  .ns-top .ns-hours { display: none; }
}
@media (max-width: 640px) {
  .ns-grid-3, .ns-concepts, .ns-cats, .ns-steps { grid-template-columns: 1fr; }
  .ns-hero { padding-top: 22px; }
  .ns-sign { white-space: normal; }
}
@media (max-width: 720px) {
  .ns-sticky.is-on { display: flex; }
  main { padding-bottom: 96px; }
  .ns-ctor__preview {
    position: sticky;
    top: 64px;
    min-height: 200px;
    z-index: 2;
  }
  .ns-stage .ns-sign { white-space: nowrap; max-width: 92%; }
}
.ns-crumbs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  color: var(--muted);
  font-size: 13px;
  padding: 18px 0 8px;
}
.ns-crumbs a { text-decoration: none; }
.ns-crumbs a:hover { color: var(--text); }
.ns-filters { display: grid; gap: 10px; margin: 0 0 16px; }
.ns-filter-row { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.ns-search, .ns-select {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 12px;
  min-height: 44px;
  padding: 0 12px;
}
.ns-search { width: min(420px, 100%); }
.ns-count { color: var(--muted); font-size: 13px; margin: 0 0 12px; }
.ns-empty {
  display: grid;
  gap: 12px;
  justify-items: start;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 28px;
}
.ns-card-actions { display: grid; gap: 8px; }
.ns-product {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(280px, 0.9fr);
  gap: 18px;
  align-items: start;
  padding-bottom: 32px;
}
.ns-product__viz {
  position: relative;
  min-height: 420px;
  border-radius: var(--radius);
  background: #101318 center/cover no-repeat;
  display: grid;
  place-items: center;
  border: 1px solid var(--line);
  padding: 24px;
}
.ns-product__buy { background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); padding: 22px; }
.ns-product__buy h1 { margin: 0 0 8px; font-size: clamp(22px, 3vw, 32px); letter-spacing: -0.04em; }
.ns-muted-list { color: var(--muted); padding-left: 18px; }
.ns-ctor-page {
  display: grid;
  grid-template-columns: 280px minmax(0, 1fr) 280px;
  gap: 14px;
  align-items: start;
}
.ns-ctor-page .ns-ctor__preview { min-height: 420px; }
.ns-share { margin-top: 10px; }
.ns-share[hidden] { display: none !important; }
.ns-share__row { display: grid; grid-template-columns: 1fr auto; gap: 8px; }
.ns-share input {
  background: #0e1116;
  border: 1px solid var(--line);
  border-radius: 12px;
  min-height: 44px;
  padding: 0 12px;
  font-size: 12px;
}
.ns-width-row { display: grid; grid-template-columns: 1fr 72px; gap: 8px; align-items: center; }
.ns-glyph {
  width: 72px; height: 72px;
  display: block;
  background: currentColor;
  filter: drop-shadow(0 0 14px var(--sign));
  -webkit-mask: center / contain no-repeat;
  mask: center / contain no-repeat;
  -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'><path fill='black' d='M32 8l6 16h16l-13 10 5 16-14-10-14 10 5-16-13-10h16z'/></svg>");
  mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'><path fill='black' d='M32 8l6 16h16l-13 10 5 16-14-10-14 10 5-16-13-10h16z'/></svg>");
}
.ns-glyph--lg { width: 140px; height: 140px; }
.ns-glyph[data-icon="heart"] { -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'><path fill='black' d='M32 54S8 38 8 24c0-8 6-14 14-14 5 0 8 3 10 6 2-3 5-6 10-6 8 0 14 6 14 14 0 14-24 30-24 30z'/></svg>"); mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'><path fill='black' d='M32 54S8 38 8 24c0-8 6-14 14-14 5 0 8 3 10 6 2-3 5-6 10-6 8 0 14 6 14 14 0 14-24 30-24 30z'/></svg>"); }
.ns-glyph[data-icon="bolt"] { -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'><path fill='black' d='M36 4L14 36h16L28 60 50 28H34z'/></svg>"); mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'><path fill='black' d='M36 4L14 36h16L28 60 50 28H34z'/></svg>"); }
.ns-glyph[data-icon="cup"] { -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'><path fill='black' d='M10 18h36v16c0 10-8 18-18 18S10 44 10 34V18zm36 4h6c6 0 10 4 10 10s-4 10-10 10h-6'/></svg>"); mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'><path fill='black' d='M10 18h36v16c0 10-8 18-18 18S10 44 10 34V18zm36 4h6c6 0 10 4 10 10s-4 10-10 10h-6'/></svg>"); }

@media (max-width: 1024px) {
  .ns-product, .ns-ctor-page { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .ns-sign { text-shadow: 0 0 6px var(--sign); }
}

/* C6: immersive desktop hero from owner 4431, honest facts */
.ns-btn--ink {
  background: #171412;
  color: #f7f3ec;
  border-color: rgba(255,255,255,.08);
}
.ns-phone--stack {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  line-height: 1.15;
  gap: 3px;
}
.ns-phone--stack small {
  font-size: 10px;
  font-weight: 500;
  color: rgba(247,243,236,.62);
  letter-spacing: 0;
}
body[data-page="home"] .ns-top { display: none; }
body[data-page="home"] .ns-header--ghost {
  position: absolute;
  left: 0; right: 0; top: 0;
  background: transparent;
  border: 0;
  z-index: 50;
}
body[data-page="home"] .ns-header--ghost .ns-nav a,
body[data-page="home"] .ns-header--ghost .ns-phone { color: rgba(247,243,236,.82); }
body[data-page="home"] .ns-header--ghost .ns-logo { color: #fff; }
body[data-page="home"] .ns-header--ghost .ns-logo small { color: rgba(247,243,236,.62); }

.ns-hero-imm {
  position: relative;
  min-height: 860px;
  overflow: hidden;
  color: #f7f3ec;
  isolation: isolate;
}
.ns-hero-imm__photo {
  position: absolute;
  inset: 0;
  background: #1a1816 url("/assets/hero-c30.webp") center right / cover no-repeat;
}
.ns-hero-imm__shade {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(22,18,16,.78) 0%, rgba(22,18,16,.42) 38%, rgba(22,18,16,.08) 62%, transparent 78%);
}
.ns-hero-imm__inner {
  position: relative;
  z-index: 2;
  width: min(1240px, calc(100% - 48px));
  margin: 0 auto;
  min-height: 860px;
  display: grid;
  grid-template-columns: minmax(300px, 540px) minmax(0, 1fr);
  gap: 24px;
  align-items: center;
  padding: 92px 0 36px;
}
.ns-kicker--light { color: rgba(247,243,236,.7); }
.ns-lead--light { color: rgba(247,243,236,.78); max-width: 34em; }
.ns-hero-imm h1 {
  margin: 0 0 14px;
  font-size: clamp(40px, 5.4vw, 72px);
  line-height: .96;
  letter-spacing: -.05em;
  font-weight: 800;
  color: #fff;
}
.ns-hero-panel {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(210px, .75fr);
  gap: 18px;
  margin: 22px 0 18px;
  padding: 18px;
  border-radius: 24px;
  background: rgba(28,24,22,.62);
  border: 1px solid rgba(255,255,255,.12);
  backdrop-filter: blur(18px);
  box-shadow: 0 18px 50px rgba(0,0,0,.28);
}
.ns-hero-label {
  display: grid;
  gap: 8px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: rgba(247,243,236,.58);
}
.ns-hero-panel input[type="text"],
.ns-hero-panel input:not([type="range"]),
#ns-hero-text,
#ns-hero-font {
  min-height: 46px;
  border: 0;
  border-radius: 12px;
  background: rgba(247,243,236,.94);
  color: #171412;
  padding: 0 14px;
  font-size: 16px;
  font-weight: 600;
}
#ns-hero-font { appearance: none; padding-right: 28px; }
.ns-hero-panel__row {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 16px;
  align-items: end;
  margin: 12px 0;
}
.ns-hero-panel .ns-swatches { flex-wrap: nowrap; gap: 6px; }
.ns-hero-panel .ns-swatch { width: 22px; height: 22px; }
.ns-hero-width {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 10px;
  align-items: center;
}
.ns-hero-width b {
  min-width: 64px;
  height: 32px;
  display: grid;
  place-items: center;
  border-radius: 999px;
  background: rgba(0,0,0,.28);
  color: #fff;
  font-size: 13px;
}
.ns-hero-panel__price {
  display: grid;
  align-content: start;
  gap: 6px;
  padding-left: 8px;
  border-left: 1px solid rgba(255,255,255,.1);
}
.ns-hero-panel__price .ns-price {
  margin: 0;
  font-size: 28px;
  color: #fff;
}
.ns-hero-panel__price .ns-hint { margin: 0 0 8px; color: rgba(247,243,236,.58); }
.ns-hero-panel__price .ns-btn { width: 100%; }
.ns-hero-trust {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 16px;
  margin: 0;
  padding: 0;
  list-style: none;
  color: rgba(247,243,236,.72);
  font-size: 12px;
  font-weight: 600;
}
.ns-hero-trust li { position: relative; padding-left: 14px; }
.ns-hero-trust li:before {
  content: "";
  position: absolute;
  left: 0; top: .55em;
  width: 6px; height: 6px;
  border-radius: 99px;
  background: #fff4d6;
}
.ns-hero-imm__stage {
  position: relative;
  min-height: 520px;
  display: grid;
  place-items: center;
}
.ns-sign--hero {
  transform: rotate(-9deg);
  font-size: clamp(48px, 6.4vw, 108px);
  max-width: 90%;
  text-align: center;
}
.ns-hero-play {
  position: absolute;
  top: 18px;
  right: 0;
  display: grid;
  grid-template-columns: auto 44px;
  align-items: center;
  gap: 10px;
  color: #fff;
  text-decoration: none;
  font-size: 12px;
  font-weight: 650;
  line-height: 1.2;
  text-align: right;
}
.ns-hero-play:after {
  content: "";
  width: 44px; height: 44px;
  border-radius: 99px;
  border: 1px solid rgba(255,255,255,.45);
  background: rgba(255,255,255,.12) url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='white'><path d='M9 7.5v9l8-4.5z'/></svg>") center / 18px no-repeat;
}
.ns-hero-thumbs {
  position: absolute;
  right: 0; bottom: 36px;
  display: flex;
  gap: 8px;
}
.ns-hero-thumb {
  width: 92px; height: 72px;
  border-radius: 12px;
  border: 1px solid rgba(255,255,255,.16);
  background: rgba(12,10,9,.72);
  color: var(--sign, #fff4d6);
  font-family: "Caveat", cursive;
  font-size: 16px;
  line-height: 1;
  text-shadow: 0 0 10px var(--sign, #fff4d6);
}
.ns-hero-thumb.is-on { border-color: #fff; box-shadow: 0 0 0 1px #fff; }
.ns-hero-caption {
  position: absolute;
  left: 0; bottom: 8px;
  font-size: 11px;
  color: rgba(247,243,236,.55);
}

.ns-ideas {
  background: #f3eee6;
  color: #171412;
  padding: 56px 0 64px;
}
.ns-ideas__head {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(0, .9fr) auto;
  gap: 18px;
  align-items: end;
  margin-bottom: 24px;
}
.ns-kicker--dark { color: #6b675f; }
.ns-ideas h2 {
  margin: 6px 0 0;
  font-size: clamp(28px, 3.4vw, 40px);
  letter-spacing: -.04em;
}
.ns-ideas__head p { margin: 0; color: #5c5852; max-width: 36em; }
.ns-ideas__all {
  text-decoration: none;
  font-weight: 700;
  white-space: nowrap;
}
.ns-ideas__grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 12px;
}
.ns-idea {
  display: grid;
  grid-template-rows: 150px auto auto;
  background: #fff;
  border-radius: 18px;
  overflow: hidden;
  text-decoration: none;
  color: inherit;
  box-shadow: 0 10px 28px rgba(40,32,24,.08);
}
.ns-idea img { width: 100%; height: 150px; object-fit: cover; }
.ns-idea h3 { margin: 12px 14px 4px; font-size: 16px; }
.ns-idea p { margin: 0 14px 14px; color: #6b675f; font-size: 13px; }

@media (max-width: 1024px) {
  body[data-page="home"] .ns-top { display: block; }
  body[data-page="home"] .ns-header--ghost {
    position: sticky;
    background: rgba(11,13,16,.92);
    border-bottom: 1px solid var(--line);
  }
  .ns-hero-imm { min-height: 0; }
  .ns-hero-imm__photo { background-position: 32% 18%; }
  .ns-hero-imm__inner {
    min-height: 0;
    grid-template-columns: 1fr;
    padding: 78px 0 24px;
    width: min(1240px, calc(100% - 32px));
  }
  .ns-hero-imm__stage { order: -1; min-height: 280px; }
  .ns-hero-panel { grid-template-columns: 1fr; }
  .ns-hero-panel__price { border-left: 0; padding-left: 0; padding-top: 8px; border-top: 1px solid rgba(255,255,255,.1); }
  .ns-hero-thumbs { right: 8px; bottom: 28px; }
  .ns-hero-thumb { width: 72px; height: 58px; font-size: 13px; }
  .ns-ideas__head, .ns-ideas__grid { grid-template-columns: 1fr 1fr; }
  .ns-phone--stack { display: none; }
}
@media (max-width: 720px) {
  .ns-hero-imm h1 { font-size: 36px; }
  .ns-sign--hero { transform: none; font-size: 42px; }
  .ns-hero-play { top: 8px; }
  .ns-ideas__head, .ns-ideas__grid { grid-template-columns: 1fr; }
  .ns-hero-thumbs { display: none; }
}

/* C7: lead-gen hero, no configurator. Honest facts only. */
.ns-btn--ghost-light {
  background: transparent;
  border-color: rgba(247,243,236,.35);
  color: #f7f3ec;
}
.ns-hero-proofs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 18px;
  margin: 0 0 22px;
  padding: 0;
  list-style: none;
  color: rgba(247,243,236,.82);
  font-size: 14px;
  font-weight: 600;
}
.ns-hero-proofs b { color: #fff; font-weight: 800; }
.ns-hero-cta { display: flex; flex-wrap: wrap; gap: 10px; margin: 0 0 12px; }
.ns-hero-cta .ns-btn { min-height: 48px; padding: 0 22px; }
.ns-hero-note {
  margin: 0 0 8px;
  color: rgba(247,243,236,.58);
  font-size: 13px;
}
.ns-hero-strip {
  position: relative;
  z-index: 3;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 8px 16px;
  margin: 0;
  padding: 16px 24px 20px;
  list-style: none;
  background: rgba(12,10,9,.55);
  border-top: 1px solid rgba(255,255,255,.08);
  color: rgba(247,243,236,.78);
  font-size: 12px;
  font-weight: 650;
  text-align: center;
}
.ns-ideas__grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
@media (max-width: 1024px) {
  .ns-hero-strip { grid-template-columns: 1fr 1fr; text-align: left; padding: 14px 16px 18px; }
  .ns-ideas__grid--4 { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 720px) {
  .ns-hero-strip { grid-template-columns: 1fr; }
  .ns-ideas__grid--4 { grid-template-columns: 1fr; }
  .ns-hero-cta .ns-btn { width: 100%; }
}

/* C8: commercial B2B landing, honest facts, no fake 7 days / 3 years / 500 projects */
.ns-vh { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.ns-band--ivory .ns-panel,
.ns-band--sand .ns-panel {
  background: #fff;
  color: #171412;
  border: 1px solid #e6ddd2;
  border-radius: 20px;
}
.ns-band--ivory .ns-field textarea,
.ns-band--ivory .ns-field input[type="text"],
.ns-band--ivory .ns-field input[type="tel"],
.ns-band--sand .ns-field textarea,
.ns-band--sand .ns-field input[type="text"],
.ns-band--sand .ns-field input[type="tel"] {
  background: #fff;
  color: #171412;
  border: 1px solid #ddd6cc;
}
.ns-band--ink .ns-concept__body { color: #f7f3ec; }
.ns-band--ivory .ns-steps article,
.ns-band--sand .ns-steps article,
.ns-band--ivory .ns-faq details,
.ns-band--sand .ns-faq details {
  background: #fff;
  color: #171412;
  border-color: #e6ddd2;
}
.ns-band--ivory .ns-steps h3,
.ns-band--sand .ns-steps h3 { color: #171412; }
.ns-band--ivory .ns-steps p,
.ns-band--sand .ns-steps p,
.ns-band--ivory .ns-steps b,
.ns-band--sand .ns-steps b { color: #6b675f; }
.ns-band--ivory .ns-faq summary,
.ns-band--sand .ns-faq summary { color: #171412; }
.ns-band--ivory .ns-faq p,
.ns-band--sand .ns-faq p { color: #5c5852; }
.ns-btn--ink { background: #171412; color: #f7f3ec; }
.ns-btn--ghost-ink { background: transparent; border-color: #cfc8bc; color: #171412; }
.ns-band { padding: 64px 0; }
.ns-band--ivory { background: #f6f1ea; color: #171412; }
.ns-band--sand { background: #efe7db; color: #171412; }
.ns-band--ink { background: #141311; color: #f7f3ec; }
.ns-band__head {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr);
  gap: 18px;
  align-items: end;
  margin-bottom: 28px;
}
.ns-band h2 {
  margin: 6px 0 0;
  font-size: clamp(28px, 3.6vw, 44px);
  letter-spacing: -.04em;
  line-height: 1.05;
}
.ns-band__head p { margin: 0; max-width: 38em; color: inherit; opacity: .72; }
.ns-biz {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}
.ns-biz__card {
  display: grid;
  background: #fff;
  border-radius: 20px;
  overflow: hidden;
  text-decoration: none;
  color: inherit;
  box-shadow: 0 12px 30px rgba(40,32,24,.08);
}
.ns-biz__viz {
  height: 150px;
  display: grid;
  place-items: center;
  background-size: cover;
  background-position: center;
}
.ns-biz__card h3 { margin: 14px 16px 4px; font-size: 18px; }
.ns-biz__card p { margin: 0 16px 10px; color: #6b675f; font-size: 14px; }
.ns-biz__card span { margin: 0 16px 16px; font-weight: 700; }
.ns-logo-block {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr);
  gap: 28px;
  align-items: center;
}
.ns-price-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}
.ns-price-card {
  background: #fff;
  border-radius: 20px;
  padding: 22px 18px;
}
.ns-price-card .ns-price { margin: 8px 0 10px; font-size: 26px; }
.ns-price-card p { margin: 0; color: #6b675f; font-size: 14px; }
.ns-center { display: grid; justify-items: start; gap: 8px; margin-top: 22px; }
.ns-lead-grid {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(280px, 420px);
  gap: 28px;
  align-items: start;
}
.ns-why, .ns-pay {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}
.ns-pay article {
  background: #fff;
  border-radius: 18px;
  padding: 20px 18px;
}
.ns-pay h3 { margin: 0 0 8px; font-size: 18px; }
.ns-pay p { margin: 0; color: #6b675f; font-size: 14px; }
.ns-why article {
  background: #fff;
  border-radius: 18px;
  padding: 20px 18px;
}
.ns-why h3 { margin: 0 0 8px; font-size: 18px; }
.ns-why p { margin: 0; color: #6b675f; font-size: 14px; }
.ns-hero-form {
  margin-top: 8px;
  padding: 16px;
  border-radius: 24px;
  background: rgba(247,243,236,.94);
  color: #171412;
  display: grid;
  gap: 10px;
}
.ns-hero-form__tabs { display: flex; gap: 6px; margin: 0; }
.ns-hero-form__tabs button {
  border: 0;
  background: transparent;
  min-height: 36px;
  padding: 0 12px;
  border-radius: 999px;
  font-weight: 700;
  color: #6b675f;
}
.ns-hero-form__tabs button.is-on { background: #171412; color: #f7f3ec; }
.ns-hero-form textarea,
.ns-hero-form input[type="tel"] {
  width: 100%;
  border: 1px solid #ddd6cc;
  border-radius: 12px;
  background: #fff;
  color: #171412;
  padding: 10px 12px;
}
.ns-hero-form__row { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.ns-file {
  display: grid;
  gap: 2px;
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
}
.ns-file input { display: none; }
.ns-file small { font-weight: 500; color: #6b675f; }
.ns-hero-form .ns-btn--ink { width: 100%; }
.ns-hero-cta--mobile { display: none; }
.ns-cta-final { text-align: left; padding: 72px 0; }
.ns-cta-final h2 { font-size: clamp(32px, 4vw, 52px); margin: 0 0 12px; }
.ns-ctor-toggle { margin: 8px 0 16px; }
.ns-sticky {
  display: none;
  position: fixed;
  left: 12px; right: 12px; bottom: 12px;
  z-index: 60;
  gap: 8px;
  padding: 10px;
  border-radius: 18px;
  background: rgba(20,19,17,.92);
  border: 1px solid rgba(255,255,255,.12);
}
.ns-sticky.is-on { display: flex; }
.ns-sticky .ns-btn { flex: 1; }
.ns-sticky__wa { flex: 0 0 52px !important; }
@media (min-width: 1025px) {
  .ns-sticky { display: none !important; }
}
@media (max-width: 1024px) {
  .ns-hero-form { display: none; }
  .ns-hero-cta--mobile { display: flex; }
  .ns-band__head, .ns-biz, .ns-logo-block, .ns-price-grid, .ns-lead-grid, .ns-why, .ns-pay {
    grid-template-columns: 1fr 1fr;
  }
}
.ns-cases {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}
.ns-case {
  background: #11110f;
  border-radius: 22px;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.08);
}
.ns-case__photo {
  min-height: 220px;
  background-size: cover;
  background-position: center;
  position: relative;
}
.ns-case__photo .ns-badge { position: absolute; left: 12px; top: 12px; }
.ns-case__body { padding: 16px 18px 20px; }
.ns-case__meta { margin: 0 0 4px; font-size: 12px; letter-spacing: .08em; text-transform: uppercase; opacity: .7; }
.ns-case h3 { margin: 0 0 10px; font-size: 22px; }
.ns-case ul { margin: 0 0 14px; padding-left: 18px; color: rgba(247,243,236,.78); }
.ns-logo-split {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr);
  gap: 22px;
  align-items: center;
}
.ns-logo-split__viz img { width: 100%; border-radius: 22px; display: block; }
.ns-logo-split__viz figcaption { margin-top: 8px; font-size: 12px; color: #6b675f; }
.ns-shop {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}
.ns-shop img { width: 100%; height: auto; border-radius: 18px; display: block; }
.ns-shop figcaption { margin: 8px 0 0; font-size: 12px; opacity: .7; }
.ns-shop-labels { position: relative; margin-top: 18px; }
.ns-ready-extra { display: none; }
.ns-ready.is-open .ns-ready-extra { display: block; }
.ns-ready-actions { display: flex; flex-wrap: wrap; gap: 8px; margin: 16px 0 0; }
@media (max-width: 720px) {
  .ns-band { padding: 40px 0; }
  .ns-band__head, .ns-biz, .ns-logo-block, .ns-price-grid, .ns-lead-grid, .ns-why, .ns-pay, .ns-cases, .ns-logo-split, .ns-shop {
    grid-template-columns: 1fr;
  }
  .ns-hero-imm__photo { background-position: 62% 40%; }
  .ns-swipe {
    display: flex;
    overflow-x: auto;
    gap: 12px;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 8px;
  }
  .ns-swipe > * {
    flex: 0 0 82%;
    min-width: 82%;
    scroll-snap-align: start;
  }
  .ns-ready .ns-ready-extra { display: flex; }
  .ns-ready-actions #ns-ready-more { display: none; }
}

/* C11: inline quiz analog to /v20 Tilda composition, neon questions */
.ns-tquiz{padding:48px 16px 56px;background:#f4f4f6;color:var(--ink);scroll-margin-top:72px}
.ns-tquiz__split{display:grid;gap:24px}
.ns-tquiz__copy h2{margin:0 0 12px;font-size:32px;line-height:1.15;letter-spacing:-.03em}
.ns-tquiz__copy p{margin:0 0 18px;color:#585a64;font-size:16px;line-height:1.45}
.ns-tquiz__outcomes{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.ns-tquiz__outcomes li{
  padding:10px 16px;border:1px solid #e4e4e9;border-radius:999px;background:#fff;
  font-size:14px;font-weight:600;
}
.ns-tquiz__panel{
  background:#fff;border-radius:24px;padding:14px;
  box-shadow:0 0 0 1px #ececef;
}
.ns-tquiz__shell{display:grid;gap:12px}
.ns-tquiz__consultant{display:none}
.ns-tquiz__person{display:flex;align-items:center;gap:12px;margin:0 0 14px}
.ns-tquiz__person img{width:62px;height:62px;border-radius:50%;object-fit:cover}
.ns-tquiz__person strong,.ns-tquiz__person span{display:block}
.ns-tquiz__person span{margin-top:3px;color:#696b78;font-size:12px}
.ns-tquiz__consultant p{margin:0;font-size:15px;line-height:1.5}
.ns-tquiz__muted{margin-top:16px !important;color:#696b78;font-size:13px !important}
.ns-tquiz__work{padding:8px 4px 4px}
.ns-tquiz__progress{display:grid;gap:8px;margin:0 0 14px;font-size:13px;font-weight:700;color:#4e5058}
.ns-tquiz__bar{display:block;height:6px;border-radius:99px;background:#ececef;overflow:hidden}
.ns-tquiz__bar i{display:block;height:100%;width:25%;background:#5651fa;border-radius:99px;transition:width .2s ease}
.ns-tquiz__work h3{margin:0 0 12px;font-size:20px;line-height:1.2}
.ns-tquiz-cards{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.ns-tquiz-card{
  position:relative;display:grid;grid-template-columns:1fr;grid-template-rows:76px auto;
  align-items:start;min-width:0;min-height:0;padding:0 0 10px;overflow:hidden;
  border:1px solid #dadbe3;border-radius:14px;background:#fff;text-align:left;color:inherit;cursor:pointer;
}
.ns-tquiz-card img{width:100%;height:76px;border-radius:10px 10px 0 0;object-fit:cover}
.ns-tquiz-card span{padding:8px 8px 0;font-size:13px;font-weight:600;line-height:1.25}
.ns-tquiz-card.is-on{border-color:#5651fa;box-shadow:0 0 0 2px rgb(86 81 250 / 14%)}
.ns-tquiz__nav{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:16px}
.ns-tquiz__nav .ns-btn{min-height:48px;width:100%}
.ns-tquiz__nav .ns-btn[hidden]{display:none !important}
@media(min-width:768px) and (max-width:959px){
  .ns-tquiz-card{
    grid-template-columns:70px minmax(0,1fr);grid-template-rows:auto;
    align-items:center;min-height:82px;padding:5px;
  }
  .ns-tquiz-card img{width:70px;height:70px;border-radius:10px}
  .ns-tquiz-card span{padding:6px 10px;font-size:14px}
}
.ns-tquiz__lock{margin:12px 0 0;color:#696b78;font-size:13px}
.ns-tquiz-field{display:grid;gap:6px;margin:0 0 10px;font-size:13px;font-weight:700}
.ns-tquiz-field input,.ns-tquiz-field textarea{
  width:100%;min-height:48px;padding:12px 14px;border:1px solid #dadbe3;border-radius:12px;background:#fff;color:var(--ink);
}
.ns-tquiz-ok{padding:8px 0}
.ns-quiz-err{color:#b91c1c;font-size:14px;margin:8px 0 0}
.ns-tquiz .ns-hp{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}
@media(min-width:960px){
  .ns-tquiz{padding:64px 24px 72px}
  .ns-tquiz__split{grid-template-columns:42fr 58fr;gap:32px;align-items:start}
  .ns-tquiz__copy h2{font-size:40px}
  .ns-tquiz__panel{padding:18px}
  .ns-tquiz__shell{grid-template-columns:220px minmax(0,1fr);gap:8px}
  .ns-tquiz__consultant{display:block;padding:22px 18px;background:#f5f5f7;border-radius:18px}
  .ns-tquiz__work{padding:18px 16px 12px}
  .ns-tquiz-cards{grid-template-columns:1fr 1fr 1fr;gap:10px}
  .ns-tquiz-card{
    grid-template-columns:1fr;grid-template-rows:138px auto;
    aspect-ratio:auto;min-height:0;padding:0 0 12px;
  }
  .ns-tquiz-card img{width:100%;height:138px;min-height:138px;border-radius:13px 13px 0 0}
  .ns-tquiz-card span{padding:8px 10px 0;font-size:14px}
}

/* C14: visual polish. Quiz steps/IDs unchanged. Warm-white LED, cool graphite. */
:root {
  --bg: #0a0c10;
  --surface: #12151b;
  --sign: #fff6ea;
}
.ns-band--ivory { background: #f3f2ef; }
.ns-band--sand { background: #ece8e2; }
.ns-band--ink { background: #101318; }

.ns-hero-imm h1 {
  font-family: Syne, Manrope, sans-serif;
  font-weight: 800;
  letter-spacing: -.06em;
  text-shadow: 0 0 22px rgba(255, 244, 220, .12);
}
.ns-kicker--light {
  letter-spacing: .16em;
  text-transform: uppercase;
  font-size: 12px;
  font-weight: 700;
}
.ns-hero-imm__photo {
  background-color: #0c0e12;
  background-image: url("/assets/hero-c30.webp");
  background-position: 68% 42%;
  background-size: cover;
}
.ns-hero-neon { visibility: hidden; }
.ns-hero-imm__shade {
  background: linear-gradient(90deg, rgba(6,8,12,.92) 0%, rgba(8,10,14,.6) 26%, rgba(8,10,14,.16) 52%, transparent 70%);
}
.ns-hero-imm__glow,
.ns-hero-imm__spill,
.ns-hero-imm__shimmer,
.ns-hero-neon__bloom,
.ns-hero-neon__glass {
  pointer-events: none;
  z-index: 1;
}
.ns-hero-imm__glow {
  position: absolute;
  right: 6%;
  top: 16%;
  width: 54%;
  height: 62%;
  background: radial-gradient(ellipse at 48% 42%, rgba(255, 244, 220, .26) 0%, rgba(255, 214, 170, .08) 42%, transparent 72%);
  mix-blend-mode: screen;
  animation: ns-neon-live 12.5s linear 1.4s infinite;
}
.ns-hero-imm__spill {
  position: absolute;
  left: 38%;
  right: 4%;
  bottom: 0;
  height: 28%;
  background: radial-gradient(ellipse at 50% 20%, rgba(255, 236, 210, .22) 0%, rgba(255, 210, 160, .08) 36%, transparent 70%);
  mix-blend-mode: screen;
  transform: scaleY(-1);
  opacity: .7;
  animation: ns-neon-live 12.5s linear 1.4s infinite;
}
.ns-hero-imm__shimmer {
  position: absolute;
  inset: 0;
  background: linear-gradient(115deg, transparent 38%, rgba(255,255,255,.06) 50%, transparent 60%);
  background-size: 220% 100%;
  mix-blend-mode: soft-light;
  animation: ns-glass-shimmer 14s ease-in-out infinite;
}
.ns-hero-imm__grain {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  opacity: .05;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='80' height='80'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%' height='100%' filter='url(%23n)' opacity='.55'/></svg>");
}
.ns-hero-neon {
  position: relative;
  display: grid;
  place-items: center;
  width: min(100%, 640px);
  min-height: 240px;
  transform: translate3d(2%, -18%, 0);
  pointer-events: none;
}
.ns-hero-neon__bloom {
  position: absolute;
  inset: 12% 8%;
  background: radial-gradient(circle, rgba(255,244,220,.38), transparent 68%);
  filter: blur(16px);
  mix-blend-mode: screen;
  animation: ns-neon-live 12.5s linear 1.4s infinite;
}
.ns-hero-neon__glass {
  position: absolute;
  inset: 18% 10% 22%;
  border-radius: 8px;
  background: linear-gradient(180deg, rgba(255,255,255,.08), transparent 42%);
  mix-blend-mode: screen;
  opacity: .45;
}
.ns-hero-neon__sign {
  position: relative;
  z-index: 2;
  margin: 0;
  font-family: Unbounded, Syne, sans-serif;
  font-size: clamp(34px, 4.4vw, 68px);
  font-weight: 500;
  letter-spacing: .045em;
  line-height: .96;
  text-align: center;
  color: #fff8ea;
  -webkit-text-stroke: .35px rgba(255, 244, 220, .65);
  text-shadow:
    0 0 2px #fff,
    0 0 8px #ffe9c8,
    0 0 18px rgba(255, 214, 168, .5),
    0 0 34px rgba(255, 196, 140, .22);
}
.ns-hero-neon__sign span { display: block; }
.ns-hero-neon__sign span:first-child {
  animation: ns-neon-ignite 1.35s ease-out both, ns-neon-live 12.5s linear 1.35s infinite;
}
.ns-hero-neon__sign span:last-child {
  animation: ns-neon-ignite 1.35s ease-out .14s both, ns-neon-live 12.5s linear 1.49s infinite;
}

.ns-hero-form {
  background: rgba(10, 12, 16, .66);
  color: #f4f5f7;
  border: 1px solid rgba(255,255,255,.12);
  backdrop-filter: blur(18px);
  box-shadow: 0 18px 50px rgba(0,0,0,.32), inset 0 0 0 1px rgba(255,255,255,.04);
}
.ns-hero-form__tabs button { color: rgba(244,245,247,.62); }
.ns-hero-form__tabs button.is-on { background: #f3eee6; color: #0b0d10; }
.ns-hero-form textarea,
.ns-hero-form input[type="tel"] {
  background: rgba(255,255,255,.08);
  border-color: rgba(255,255,255,.16);
  color: #f4f5f7;
}
.ns-hero-form .ns-file small,
.ns-hero-note { color: rgba(244,245,247,.62); }
.ns-hero-form .ns-btn--ink {
  background: #f3eee6;
  color: #0b0d10;
  border-color: #f3eee6;
}
.ns-hero-form .ns-btn--ghost-ink {
  color: #f4f5f7;
  border-color: rgba(255,255,255,.32);
}
.ns-hero-proofs { gap: 8px; }
.ns-hero-proofs li {
  border: 1px solid rgba(255,255,255,.14);
  background: rgba(8,10,14,.4);
  box-shadow: 0 0 16px rgba(255, 220, 180, .06);
}
.ns-hero-strip {
  background: rgba(8,10,14,.62);
  border-top: 1px solid rgba(255,255,255,.08);
}

.ns-btn--milk {
  position: relative;
  overflow: hidden;
  box-shadow: 0 0 0 1px rgba(255,255,255,.12), 0 8px 24px rgba(0,0,0,.22);
}
.ns-btn--milk::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(105deg, transparent 32%, rgba(255,255,255,.28), transparent 68%);
  transform: translateX(-130%);
  pointer-events: none;
}
.ns-btn--milk:hover { filter: none; }
@media (hover: hover) and (pointer: fine) {
  .ns-btn--milk:hover::after { animation: ns-cta-shine .7s ease; }
}

.ns-biz__viz {
  height: 188px;
  background-position: center;
}
.ns-biz__viz--logo { background-position: right center; }

.ns-biz__card,
.ns-case,
.ns-concept,
.ns-price-card {
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
@media (hover: hover) and (pointer: fine) {
  .ns-biz__card:hover,
  .ns-case:hover,
  .ns-concept:hover,
  .ns-price-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 16px 40px rgba(8,10,14,.28), 0 0 0 1px rgba(255,236,210,.18);
  }
  .ns-ico:hover { filter: drop-shadow(0 0 8px rgba(255, 232, 200, .72)); }
}

@media (min-width: 1025px) {
  .ns-cases--editorial {
    grid-template-columns: 1.35fr 1fr 1fr;
    grid-template-rows: auto auto;
    gap: 14px;
  }
  .ns-cases--editorial .ns-case--feature {
    grid-column: 1;
    grid-row: 1 / span 2;
  }
  .ns-cases--editorial .ns-case--feature .ns-case__photo { min-height: 520px; }
  .ns-hero-imm__photo { background-position: 74% 46%; }
}
.ns-case {
  border-color: rgba(255,255,255,.08);
  background: #111318;
}
.ns-case__photo {
  min-height: 220px;
  animation: ns-sign-on linear both;
  animation-timeline: view();
  animation-range: entry 10% cover 38%;
}

.ns-logo-ba {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 44px minmax(0, 1fr);
  gap: 10px;
  align-items: center;
}
.ns-logo-ba__pane {
  margin: 0;
  overflow: hidden;
  border-radius: 22px;
  background: #111318;
}
.ns-logo-ba__pane img {
  width: 100%;
  height: 340px;
  object-fit: cover;
  display: block;
}
.ns-logo-ba__pane--before img { object-position: center center; filter: grayscale(.15); }
.ns-logo-ba__pane--after img {
  object-position: center center;
  animation: ns-sign-on linear both;
  animation-timeline: view();
  animation-range: entry 0% cover 42%;
}
.ns-logo-ba__pane figcaption {
  margin: 8px 4px 0;
  font-size: 12px;
  color: #6b675f;
}
.ns-logo-ba__arrow {
  width: 44px;
  height: 44px;
  border-radius: 99px;
  border: 1px solid rgba(18,22,28,.14);
  background: #12151b url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23f3eee6' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'><path d='M5 12h14M13 6l6 6-6 6'/></svg>") center / 18px no-repeat;
  justify-self: center;
}

.ns-price-card {
  background: linear-gradient(180deg, #fbfbfa, #f2f2f0);
  border: 1px solid rgba(18,22,28,.08);
  box-shadow: 0 10px 28px rgba(12,16,22,.05);
}
.ns-price-card h3 {
  margin: 0;
  font-size: 13px;
  letter-spacing: .08em;
  text-transform: uppercase;
  font-weight: 700;
  color: #5c616a;
}
.ns-price-card .ns-price {
  font-family: Manrope, Inter, system-ui, sans-serif;
  font-weight: 800;
  color: #12151b;
}

.ns-ico {
  display: grid;
  width: 36px;
  height: 36px;
  margin: 0 0 10px;
  color: #fff4e6;
  filter: drop-shadow(0 0 5px rgba(255, 228, 190, .5));
}
.ns-ico svg { width: 36px; height: 36px; }
.ns-band--sand .ns-ico,
.ns-band--ivory .ns-ico {
  color: #2a3038;
  filter: drop-shadow(0 0 6px rgba(255, 220, 170, .55));
}
.ns-why article {
  background: #12151b;
  color: #f4f5f7;
  border: 1px solid rgba(255,255,255,.08);
}
.ns-why p { color: rgba(244,245,247,.68); }
.ns-why h3 { color: #fff; }
.ns-band--ivory .ns-why article { background: #12151b; }
.ns-steps article b {
  color: #d8c4a0;
  text-shadow: 0 0 8px rgba(255,220,170,.28);
}

.ns-tquiz {
  background: #101318;
  color: #f4f5f7;
}
.ns-tquiz__copy h2 { color: #fff; }
.ns-tquiz__copy p { color: rgba(244,245,247,.72); }
.ns-tquiz__outcomes li {
  background: rgba(255,255,255,.04);
  border-color: rgba(255,255,255,.12);
  color: #f4f5f7;
}
.ns-tquiz__panel {
  background: #16191f;
  box-shadow: 0 0 0 1px rgba(255,255,255,.08), 0 20px 50px rgba(0,0,0,.28);
}
.ns-tquiz__work h3,
.ns-tquiz__progress { color: #f4f5f7; }
.ns-tquiz__bar { background: rgba(255,255,255,.08); }
.ns-tquiz__bar i { background: #f3eee6; box-shadow: 0 0 10px rgba(255,232,200,.35); }
.ns-tquiz-card {
  background: #111318;
  border-color: rgba(255,255,255,.1);
  color: #f4f5f7;
}
.ns-tquiz-card.is-on {
  border-color: rgba(255, 244, 220, .7);
  box-shadow: 0 0 0 1px rgba(255,244,220,.28), 0 0 16px rgba(255, 220, 170, .16);
}
.ns-tquiz-field input,
.ns-tquiz-field textarea {
  background: #111318;
  border-color: rgba(255,255,255,.14);
  color: #f4f5f7;
}
.ns-tquiz__consultant {
  background: #12151b;
  color: #f4f5f7;
}
.ns-tquiz__person span,
.ns-tquiz__muted,
.ns-tquiz__lock { color: rgba(244,245,247,.62) !important; }
.ns-tquiz .ns-btn--ink {
  background: #f3eee6;
  color: #0b0d10;
  border-color: #f3eee6;
}
.ns-tquiz .ns-btn--ghost-ink {
  color: #f4f5f7;
  border-color: rgba(255,255,255,.2);
}
.ns-quiz-err { color: #f0a8a8; }

.ns-ctor-sec .ns-ctor {
  background: #101318;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 24px;
  padding: 16px;
}
.ns-ctor-sec .ns-panel {
  background: #14181f;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 18px;
}
.ns-swatch.is-on {
  box-shadow: 0 0 0 2px #0b0d10, 0 0 14px rgba(255,236,210,.55);
}
.ns-ctor__preview .ns-sign {
  filter: drop-shadow(0 0 12px rgba(255, 232, 200, .35));
}
.ns-range { accent-color: #efe6d6; }

.ns-ready .ns-concept__viz { aspect-ratio: 4 / 3; }
.ns-try {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}
.ns-try__photo,
.ns-try .ns-wall {
  aspect-ratio: 5 / 4;
  min-height: 220px;
  border-radius: 20px;
  background-size: cover;
  background-position: 70% 40%;
  border: 1px solid rgba(18,22,28,.08);
}
.ns-try figcaption {
  margin: 8px 4px 0;
  font-size: 12px;
  color: #6b675f;
}
/* Tube, not a solid lightbox: hollow stroke plus the colour halo. */
#ns-wall .ns-sign {
  font-size: clamp(40px, 8vw, 72px);
  font-weight: 500;
  letter-spacing: 0.04em;
  line-height: 1;
  color: transparent !important;
  -webkit-text-stroke: 1.7px #fffef8;
  text-shadow: none !important;
  filter:
    drop-shadow(0 0 1px #fff)
    drop-shadow(0 0 5px var(--sign, #ffe7c2))
    drop-shadow(0 0 14px var(--sign, #ffe7c2))
    drop-shadow(0 0 28px var(--sign, #ffc98a));
}
.ns-shop--cine {
  display: grid;
  grid-template-columns: 1.45fr 1fr;
  grid-template-rows: auto auto;
  gap: 12px;
}
.ns-shop--cine .ns-shop__hero {
  grid-row: 1 / span 2;
  margin: 0;
}
.ns-shop--cine .ns-shop__hero img {
  height: 100%;
  min-height: 420px;
  object-fit: cover;
}

@keyframes ns-neon-ignite {
  0% { opacity: 0; filter: brightness(.18); }
  10% { opacity: .9; filter: brightness(1.35); }
  16% { opacity: .18; }
  22% { opacity: 1; filter: brightness(1.18); }
  28% { opacity: .35; }
  36% { opacity: 1; filter: brightness(1.05); }
  100% { opacity: 1; filter: brightness(1); }
}
@keyframes ns-neon-live {
  0%, 100% { opacity: 1; filter: brightness(1); }
  12% { opacity: 1; filter: brightness(1.05); }
  21.6% { opacity: 1; }
  22.1% { opacity: .42; }
  22.7% { opacity: 1; }
  48% { opacity: 1; filter: brightness(.97); }
  67.6% { opacity: 1; }
  68.1% { opacity: .55; }
  68.7% { opacity: 1; }
  84% { opacity: 1; filter: brightness(1.04); }
}
@keyframes ns-glass-shimmer {
  0%, 100% { background-position: 120% 0; opacity: .12; }
  50% { background-position: -20% 0; opacity: .28; }
}
@keyframes ns-cta-shine {
  to { transform: translateX(130%); }
}
@keyframes ns-sign-on {
  from { filter: brightness(.72); }
  to { filter: brightness(1); }
}

@media (max-width: 1024px) {
  .ns-hero-imm { min-height: 100svh; }
  .ns-hero-imm__photo {
    background-image: image-set(
      url("/assets/live-husky-window.jpg?v=c23") type("image/jpeg"),
      url("/assets/live-husky-window.jpg?v=c23") type("image/jpeg")
    );
    background-position: center center;
  }
  .ns-hero-imm__inner {
    min-height: 100svh;
    align-items: end;
    padding: 72px 0 12px;
  }
  .ns-hero-imm__stage {
    position: absolute;
    left: 6%;
    right: 6%;
    top: 10%;
    bottom: 46%;
    order: 0;
    min-height: 0;
    place-items: center;
  }
  .ns-hero-imm__copy {
    position: relative;
    z-index: 3;
    padding: 28px 0 12px;
    background: linear-gradient(180deg, transparent 0%, rgba(8,10,14,.55) 18%, rgba(8,10,14,.9) 48%);
  }
  .ns-hero-imm__shade {
    background: linear-gradient(180deg, rgba(8,10,14,.08) 0%, rgba(8,10,14,.18) 42%, rgba(8,10,14,.55) 100%);
  }
  .ns-hero-imm__glow { width: 88%; right: 6%; top: 8%; height: 46%; }
  .ns-hero-imm__spill { left: 8%; right: 8%; height: 22%; }
  .ns-hero-neon {
    transform: none;
    min-height: 0;
    width: min(100%, 420px);
  }
  .ns-hero-neon__sign { font-size: clamp(30px, 9vw, 46px); }
  .ns-hero-caption { display: none; }
  .ns-hero-form { display: none; }
  .ns-tquiz { padding-top: 88px; }
  .ns-logo-ba { grid-template-columns: 1fr; }
  .ns-logo-ba__arrow { display: none; }
  .ns-try,
  .ns-shop--cine { grid-template-columns: 1fr; }
  .ns-shop--cine .ns-shop__hero { grid-row: auto; }
  .ns-shop--cine img,
  .ns-shop--cine .ns-shop__hero img {
    height: auto;
    min-height: 0;
    max-height: none;
  }
  .ns-logo-ba__pane img { height: 220px; }
}
@media (prefers-reduced-motion: reduce) {
  .ns-hero-imm__glow,
  .ns-hero-imm__spill,
  .ns-hero-imm__shimmer,
  .ns-hero-neon__bloom,
  .ns-hero-neon__sign span,
  .ns-case__photo,
  .ns-logo-ba__pane--after img,
  .ns-btn--milk::after {
    animation: none !important;
    filter: none;
    opacity: 1;
  }
}

/* C15: v20-like header, honest why-us strip, no mobile swipe trap */
html, body { overflow-x: clip; }
.ns-header {
  position: sticky;
  top: 0;
  z-index: 50;
  background: rgb(10 12 18 / 88%);
  backdrop-filter: blur(16px);
  border-bottom: 1px solid rgb(255 255 255 / 8%);
}
body[data-page="home"] .ns-header--ghost,
.ns-header--ghost {
  position: sticky;
  left: auto;
  right: auto;
  top: 0;
  background: rgb(10 12 18 / 88%);
  border-bottom: 1px solid rgb(255 255 255 / 8%);
}
body[data-page="home"] .ns-top,
.ns-top { display: none !important; }
.ns-header__row {
  position: relative;
  min-height: 58px;
  gap: 16px;
}
.ns-logo {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 2px;
  min-width: 0;
  font-weight: 500;
  letter-spacing: 0;
}
.ns-logo img {
  display: block;
  width: 148px;
  height: auto;
  filter: brightness(0) invert(1);
}
.ns-logo small {
  font-weight: 500;
  letter-spacing: .04em;
  text-transform: none;
  font-size: 11px;
  color: rgb(255 255 255 / 55%);
}
.ns-nav a { color: rgb(255 255 255 / 78%); }
.ns-header .ns-btn--milk {
  min-height: 40px;
  padding: 0 16px;
  font-size: 14px;
}
.ns-hero-imm__inner { padding-top: 36px; }
#business, #projects, #price, #why, #contacts, #constructor,
#quiz, #catalog, #process, #tech, #delivery, #faq, #final, #wall, #logo, #hero {
  scroll-margin-top: 72px;
}

.ns-stats {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 10px 18px;
  margin: 0;
  padding: 18px 24px 22px;
  list-style: none;
  background: rgb(8 10 14 / 72%);
  border-top: 1px solid rgb(255 255 255 / 8%);
  text-align: left;
}
.ns-stats li {
  display: grid;
  gap: 2px;
  min-width: 0;
}
.ns-stats b {
  display: block;
  color: #fff;
  font-size: 15px;
  font-weight: 800;
  letter-spacing: -.02em;
}
.ns-stats span {
  display: block;
  color: rgb(247 243 236 / 62%);
  font-size: 12px;
  font-weight: 500;
  line-height: 1.35;
}

@media (max-width: 1024px) {
  body[data-page="home"] .ns-top { display: none !important; }
  body[data-page="home"] .ns-header--ghost {
    position: sticky;
    background: rgb(10 12 18 / 88%);
    border-bottom: 1px solid rgb(255 255 255 / 8%);
  }
  .ns-logo img { width: 128px; }
  .ns-stats { grid-template-columns: 1fr 1fr; padding: 16px; }
  .ns-hero-imm__inner { padding-top: 24px; }
  .ns-ctor__preview {
    position: static;
    min-height: 220px;
    max-height: 280px;
  }
}

@media (max-width: 720px) {
  .ns-logo img { width: 112px; }
  .ns-logo small { display: none; }
  .ns-header .ns-btn--milk {
    min-height: 38px;
    padding: 0 12px;
    font-size: 13px;
  }
  .ns-stats { grid-template-columns: 1fr 1fr; }
  .ns-swipe {
    display: grid !important;
    grid-template-columns: 1fr !important;
    overflow: visible !important;
    scroll-snap-type: none !important;
    gap: 12px;
    padding-bottom: 0;
  }
  .ns-swipe > * {
    flex: none !important;
    min-width: 0 !important;
    width: 100%;
    scroll-snap-align: unset;
  }
  .ns-ready .ns-ready-extra { display: none; }
  .ns-ready.is-open .ns-ready-extra { display: block; }
  .ns-ready-actions #ns-ready-more { display: inline-flex; }
  .ns-ctor__preview {
    position: static !important;
    min-height: 180px !important;
    max-height: 220px;
    z-index: auto;
    padding: 20px 16px 36px;
  }
  .ns-ctor-sec .ns-ctor {
    grid-template-columns: 1fr;
  }
  .ns-ctor-sec .ns-sign {
    font-size: clamp(28px, 8vw, 42px);
  }
  #ns-ctor-body[hidden] { display: none !important; }
}

/* C17: mobile/tablet hero only. Desktop composition unchanged. */
.ns-cta-short { display: none; }
.ns-hero-imm__photo picture,
.ns-hero-imm__photo img { display: none; }

@keyframes ns-neon-live-m {
  0%, 7%, 100% { opacity: 1; filter: brightness(1); }
  8.2% { opacity: .52; filter: brightness(.9); }
  9.1% { opacity: 1; filter: brightness(1); }
}

@media (max-width: 1199px) {
  .ns-hero-imm {
    min-height: 720px;
    max-height: 850px;
    height: 100svh;
    height: 100dvh;
  }
  .ns-hero-imm__photo {
    background-image: none !important;
  }
  .ns-hero-imm__photo picture {
    display: block;
    width: 100%;
    height: 100%;
  }
  .ns-hero-imm__photo img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
  }
  .ns-hero-imm__inner {
    min-height: 0 !important;
    height: 100%;
    grid-template-columns: 1fr;
    align-items: end;
    padding: 72px 0 14px !important;
    width: min(1240px, calc(100% - 32px));
  }
  .ns-hero-imm__stage {
    position: absolute;
    left: 8%;
    right: 8%;
    top: 12%;
    height: 40%;
    bottom: auto;
    order: 0;
    min-height: 0;
    place-items: center;
  }
  .ns-hero-neon {
    transform: none;
    min-height: 0;
    width: min(78%, 560px);
  }
  .ns-hero-neon__sign { font-size: clamp(40px, 7vw, 64px); }
  .ns-hero-imm h1 {
    font-size: clamp(36px, 5.6vw, 52px);
    line-height: 1;
    margin-bottom: 10px;
  }
  .ns-lead--light { margin: 0 0 12px; max-width: 36em; }
  .ns-hero-imm__copy {
    position: relative;
    z-index: 3;
    padding: 28px 0 8px;
    background: linear-gradient(180deg, transparent 0%, rgba(0,0,0,.45) 32%, rgba(0,0,0,.8) 100%);
  }
  .ns-hero-imm__shade {
    background: linear-gradient(180deg, rgba(0,0,0,.06) 0%, rgba(0,0,0,.14) 42%, rgba(0,0,0,.55) 100%);
  }
  .ns-hero-imm__glow { width: 86%; right: 7%; top: 8%; height: 42%; }
  .ns-hero-imm__spill { left: 10%; right: 10%; height: 20%; }
  .ns-hero-form { display: none; }
  .ns-hero-cta--mobile {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin: 0;
  }
  .ns-hero-cta--mobile .ns-btn {
    width: 100%;
    min-height: 52px;
  }
  .ns-hero-caption { display: none; }
  .ns-hero-proofs { margin: 0 0 14px; }
}

@media (max-width: 720px) {
  .ns-hero-imm {
    height: auto;
    min-height: 0;
    max-height: none;
  }
  .ns-hero-imm__photo img {
    object-fit: contain;
    object-position: center top;
    background: #07090d;
  }
  .ns-hero-imm__inner {
    min-height: 0 !important;
    height: 100svh;
    max-height: 950px;
    padding: 52px 0 2px !important;
  }
  .ns-hero-imm__stage {
    top: 9%;
    height: 30%;
    left: 5%;
    right: 5%;
  }
  .ns-hero-neon { width: min(92vw, 420px); }
  .ns-hero-neon__sign { font-size: clamp(38px, 11vw, 56px); }
  .ns-hero-imm h1 {
    font-size: clamp(34px, 8.8vw, 48px);
    line-height: 1.02;
    margin-bottom: 8px;
  }
  .ns-hero-proofs { display: none; }
  .ns-hero-imm__copy .ns-kicker { display: none; }
  .ns-lead--light {
    font-size: 14px;
    margin-bottom: 8px;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }
  .ns-hero-imm__copy { padding: 12px 0 0; }
  .ns-hero-cta--mobile { flex-direction: column; gap: 8px; }
  .ns-hero-cta--mobile .ns-btn { width: 100%; min-height: 52px; }
  .ns-cta-full { display: none; }
  .ns-cta-short { display: inline; }
  .ns-header__row { min-height: 64px; }
  .ns-hero-neon__sign span:first-child,
  .ns-hero-neon__sign span:last-child {
    animation-name: ns-neon-ignite, ns-neon-live-m;
    animation-duration: 1.2s, 14s;
    animation-timing-function: ease-out, linear;
    animation-iteration-count: 1, infinite;
    animation-fill-mode: both, none;
  }
  .ns-hero-neon__sign span:first-child { animation-delay: 0s, 1.2s; }
  .ns-hero-neon__sign span:last-child { animation-delay: .12s, 1.34s; }
  .ns-hero-imm__glow,
  .ns-hero-imm__spill,
  .ns-hero-neon__bloom {
    animation-name: ns-neon-live-m;
    animation-duration: 14s;
    animation-delay: 1.2s;
    animation-iteration-count: infinite;
  }
  .ns-hero-imm__shimmer { animation-duration: 18s; opacity: .35; }
}

/* C20: phone first screen. Crop the mirrored reflection, show the full lead, drop the bar that covers cards. */
@media (max-width: 720px) {
  .ns-logo img {
    width: 150px;
    height: 24px;
    object-fit: cover;
    object-position: left top;
  }
  .ns-header__row { min-height: 56px; }
  .ns-sticky { display: none !important; }
  main { padding-bottom: 0; }
  .ns-hero-imm {
    display: flex;
    flex-direction: column;
    height: auto;
    min-height: 0;
    max-height: none;
    background: #07090d;
  }
  .ns-hero-imm__photo {
    position: relative;
    inset: auto;
    flex: 0 0 auto;
    height: 42svh;
    min-height: 220px;
    max-height: 380px;
    background-image: none !important;
  }
  .ns-hero-imm__photo picture,
  .ns-hero-imm__photo img {
    display: block;
    width: 100%;
    height: 100%;
  }
  .ns-hero-imm__photo img {
    object-fit: cover;
    object-position: center 42%;
    background: #07090d;
  }
  .ns-hero-imm__shade,
  .ns-hero-imm__glow,
  .ns-hero-imm__shimmer,
  .ns-hero-imm__grain {
    top: 0;
    right: 0;
    bottom: auto;
    left: 0;
    height: 42svh;
    min-height: 220px;
    max-height: 380px;
  }
  .ns-hero-imm__spill,
  .ns-hero-imm__stage { display: none; }
  .ns-hero-imm__inner {
    position: relative;
    flex: 0 0 auto;
    height: auto;
    min-height: 0 !important;
    max-height: none;
    padding: 14px 0 8px !important;
    align-items: start;
  }
  .ns-hero-imm__copy {
    padding: 0;
    background: none;
  }
  .ns-lead--light {
    display: block;
    -webkit-line-clamp: unset;
    line-clamp: unset;
    overflow: visible;
    font-size: 15px;
    line-height: 1.35;
    margin: 0 0 12px;
  }
}

/* C20: below desktop the constructor caption was position:absolute inside a static preview, so it painted over the first screen. */
@media (max-width: 1024px) {
  #ns-ctor-body[hidden] { display: none !important; }
  .ns-ctor__preview { position: relative !important; }
  .ns-sticky { display: none !important; }
}

/* C25: 50 доработок. Герой и правило «одно живое фото на блок» не меняем. */
html { scroll-padding-top: 108px; }
[id] { scroll-margin-top: 108px; }
::selection { background: #f3eee6; color: #111; }
body { overflow-x: clip; }
.ns-header { box-shadow: 0 1px 0 rgb(255 255 255 / 8%); }
.ns-nav a { padding: 8px 2px; }
.ns-burger { width: 44px; height: 44px; }
.ns-phone { font-variant-numeric: tabular-nums; }
.ns-btn:active { transform: translateY(1px); }
.ns-btn:disabled { opacity: .55; cursor: not-allowed; }
.ns-biz__card:focus-visible, .ns-footer a:focus-visible, .ns-nav a:focus-visible { outline: 2px solid #f3eee6; outline-offset: 3px; }
.ns-biz__viz { height: auto; aspect-ratio: 4 / 3; background-color: #14120f; }
.ns-biz__card h3 { line-height: 1.2; letter-spacing: -.02em; }
.ns-biz__card p { color: #3f3c37; line-height: 1.4; }
.ns-biz__card span { color: #171412; }
@media (hover: hover) and (pointer: fine) {
  .ns-biz__card { transition: transform .18s ease, box-shadow .18s ease; }
  .ns-biz__card:hover { transform: translateY(-3px); box-shadow: 0 18px 36px rgb(40 32 24 / 12%); }
}
.ns-case__body p { color: rgb(247 243 236 / 78%); line-height: 1.4; margin: 0 0 12px; }
.ns-case__photo { background-color: #0c0e12; }
.ns-case .ns-btn { margin-top: auto; }
.ns-case { display: flex; flex-direction: column; }
.ns-case__body { display: flex; flex-direction: column; gap: 6px; flex: 1; }
.ns-logo-ba__pane figcaption { color: #f7f3ec; font-weight: 700; }
.ns-logo-ba__pane { box-shadow: 0 16px 40px rgb(0 0 0 / 18%); }
.ns-price-card { display: flex; flex-direction: column; min-height: 100%; }
.ns-price-card .ns-price { font-family: Manrope, Inter, system-ui, sans-serif; letter-spacing: -.03em; }
.ns-price-card p { line-height: 1.45; }
.ns-faq summary { min-height: 48px; display: flex; align-items: center; }
.ns-faq details[open] summary { font-weight: 800; }
.ns-faq p { line-height: 1.5; }
.ns-footer a:hover { text-decoration: underline; text-underline-offset: 3px; }
.ns-footer__grid { align-items: start; }
.ns-drop { min-height: 120px; }
.ns-drop:focus-within { border-color: var(--milk); }
.ns-field textarea::placeholder, .ns-field input::placeholder { color: #8b9098; }
.ns-check input { width: 18px; height: 18px; margin-top: 2px; accent-color: #f3eee6; }
.ns-chip { min-height: 36px; }
.ns-range { min-height: 28px; }
.ns-swatch:focus-visible { outline: 2px solid #fff; outline-offset: 2px; }
.ns-stats span { color: rgb(247 243 236 / 78%); }
.ns-kicker { letter-spacing: .12em; }
.ns-sec h2, .ns-band h2 { line-height: 1.15; text-wrap: balance; }
.ns-shop figcaption { color: #f7f3ec; font-weight: 650; line-height: 1.35; }
.ns-shop img { background: #111; }
.ns-concept__viz { background-color: #111318; }
.ns-concepts { gap: 14px; }
.ns-status { min-height: 1.2em; }
@media (max-width: 720px) {
  .ns-sec, .ns-band { padding-bottom: 36px; }
  .ns-biz__card h3 { font-size: 20px; }
}
@media (prefers-reduced-motion: reduce) {
  .ns-case__photo, .ns-logo-ba__pane--after img { animation: none; }
}
@media (min-width: 1025px) {
  .ns-cases--editorial .ns-case--feature .ns-case__photo { min-height: 280px; }
}
@media (max-width: 720px) {
  .ns-case__photo { min-height: 210px; background-position: center 32%; }
}

/* C26: первый экран в один вьюпорт, квиз вместо формы, ширина полосы, проекты как на v20. */
.ns-kicker { display: none; }
.ns-hero-imm {
  min-height: 100svh;
  max-height: 100svh;
  height: 100svh;
  display: flex;
  flex-direction: column;
}
.ns-hero-imm__inner {
  flex: 1;
  min-height: 0 !important;
  height: auto;
  padding: 84px 0 8px;
  align-items: center;
}
.ns-hero-form { display: none !important; }
.ns-hero-quiz { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; max-width: 460px; }
.ns-hero-quiz p { flex: 1 1 100%; margin: 0 0 4px; color: rgb(247 243 236 / 82%); }
.ns-hero-imm .ns-stats {
  width: min(var(--max), calc(100% - 32px));
  margin: 0 auto 12px;
  border-radius: 16px;
  position: relative;
  z-index: 2;
  flex: none;
}
.ns-vcase { background: #111318; border-radius: 22px; overflow: hidden; border: 1px solid rgb(255 255 255 / 8%); }
.ns-vcase--feature { display: grid; grid-template-columns: 1.25fr .75fr; margin-bottom: 14px; }
.ns-vcase__media { min-height: 240px; background: #0c0e12; }
.ns-vcase__media img { width: 100%; height: 100%; object-fit: cover; display: block; min-height: 240px; }
.ns-vcase--feature .ns-vcase__media img { min-height: 420px; }
.ns-vcase__body { padding: 18px 20px 20px; display: flex; flex-direction: column; gap: 8px; }
.ns-vcase__cat { margin: 0; font-size: 12px; letter-spacing: .12em; text-transform: uppercase; color: rgb(247 243 236 / 62%); }
.ns-vcase h3 { margin: 0; font-size: 28px; letter-spacing: -.03em; }
.ns-vcase__chips { display: flex; flex-wrap: wrap; gap: 8px; }
.ns-vcase__chips span { border: 1px solid rgb(255 255 255 / 16%); border-radius: 999px; padding: 4px 10px; font-size: 12px; }
.ns-vcase__story { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 8px; }
.ns-vcase__story h4 { margin: 0 0 4px; font-size: 13px; }
.ns-vcase__story p { margin: 0; color: rgb(247 243 236 / 74%); font-size: 14px; }
.ns-vcases { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.ns-vcases .ns-vcase h3 { font-size: 22px; }
.ns-pay article, .ns-why article, .ns-steps article { display: grid; gap: 8px; align-content: start; }
.ns-pay .ns-ico, .ns-why .ns-ico, .ns-steps .ns-ico {
  width: 52px; height: 52px; display: grid; place-items: center;
  border-radius: 16px; background: rgb(23 20 18 / 6%); color: #171412;
}
.ns-band--ink .ns-ico { background: rgb(255 255 255 / 8%); color: #f7f3ec; }
.ns-pay .ns-ico svg, .ns-why .ns-ico svg, .ns-steps .ns-ico svg { width: 28px; height: 28px; }
.ns-tquiz__split { display: grid; grid-template-columns: minmax(260px, 340px) minmax(0, 1fr); gap: 22px; align-items: stretch; }
.ns-tquiz__copy, .ns-tquiz__consultant { background: #fff; color: #171412; border-radius: 20px; }
.ns-ctor, .ns-ctor-page { align-items: stretch; }
.ns-ctor { max-height: calc(100svh - 150px); }
.ns-ctor > div { overflow: auto; max-height: calc(100svh - 170px); }
.ns-ctor__preview { min-height: 240px; }
.ns-ctor__preview .ns-sign, .ns-ctor-page .ns-sign {
  font-family: "Comfortaa", sans-serif;
  font-weight: 700;
  text-shadow:
    0 0 2px #fff,
    0 0 8px var(--sign),
    0 0 18px var(--sign),
    0 0 36px var(--sign),
    0 0 64px var(--sign);
  filter: drop-shadow(0 0 12px var(--sign)) drop-shadow(0 0 28px var(--sign));
}
.ns-ctor-page { grid-template-columns: minmax(0, 1fr) minmax(280px, 380px); max-height: calc(100svh - 110px); }
.ns-ctor-page .ns-ctor__preview { min-height: 0; height: 100%; }
@media (max-width: 800px) {
  .ns-hero-imm { max-height: 100svh; height: 100svh; min-height: 0; }
  .ns-hero-imm h1 { font-size: 36px; }
  .ns-hero-imm .ns-stats { padding: 8px 12px; margin-bottom: 8px; }
  .ns-vcase--feature, .ns-vcases, .ns-vcase__story, .ns-tquiz__split { grid-template-columns: 1fr; }
  .ns-vcase--feature .ns-vcase__media img { min-height: 240px; }
  .ns-ctor, .ns-ctor-page { max-height: none; grid-template-columns: 1fr; }
  .ns-ctor > div { max-height: none; }
}

/* C29: shared showroom, catalog and editor. Warm neon on mineral surfaces. */
:root { --bg:#101516; --surface:#192022; --text:#f4f7f5; --muted:#aab7b3; --milk:#eaf5ee; --ink:#101b18; --max:1240px; --accent:#afe8ce; }
html { scroll-padding-top:90px; }
[id] { scroll-margin-top:90px; }
body { overflow-x:clip; }
.ns-wrap { width:min(var(--max),calc(100% - 64px)); }
.ns-header { background:rgba(13,20,19,.97); }
.ns-header__row { min-height:72px; gap:24px; }
.ns-logo img { width:160px; height:36px; object-fit:contain; }
.ns-logo small { font-size:10px; letter-spacing:.04em; text-transform:none; }
.ns-nav { flex-wrap:nowrap; gap:18px; margin:0; }
.ns-nav a { font-size:13px; color:#c6d0cc; white-space:nowrap; }
.ns-phone { font-size:14px; }
.ns-header .ns-btn { min-height:42px; font-size:13px; padding:0 18px; }
.ns-btn { min-height:50px; border-radius:10px; letter-spacing:-.01em; transition:background .18s ease,box-shadow .18s ease; }
.ns-btn--milk { background:var(--milk); color:var(--ink); box-shadow:none; }
.ns-btn--ink { background:var(--ink); color:#fff; }
.ns-btn--ghost-light { color:#fff; border-color:#677370; background:rgba(12,18,16,.25); }
.ns-btn--ghost-ink { border-color:#7a8c84; color:var(--ink); }
.ns-btn:hover { box-shadow:0 4px 24px #9de5c51c; }
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible { outline:3px solid #52a987; outline-offset:4px; }
.ns-band,.ns-sec { padding-top:88px; padding-bottom:88px; }
.ns-band--ivory { background:#f2f5f2; color:#16231e; }
.ns-band--sand { background:#e6ece7; color:#16231e; }
.ns-band--ink { background:#101516; color:#f4f7f5; }
.ns-band h2,.ns-sec h2 { font-size:clamp(30px,3.4vw,46px); font-weight:650; line-height:1.12; letter-spacing:-.045em; }
.ns-band__head { align-items:end; margin-bottom:36px; gap:40px; }
.ns-band__head p { max-width:420px; line-height:1.65; }
.ns-sec__lead { max-width:720px; line-height:1.65; }
.ns-text-link { font-size:14px; font-weight:750; text-decoration:none; border-bottom:1px solid currentColor; padding-bottom:5px; width:fit-content; }
.ns-hero-imm { height:calc(100svh - 72px); min-height:610px; max-height:940px; background:#101516; }
.ns-hero-imm__photo { position:absolute; inset:0; height:100%; max-height:none; background:none; }
.ns-hero-imm__photo picture,.ns-hero-imm__photo img { display:block; width:100%; height:100%; }
.ns-hero-imm__photo img { object-fit:cover; object-position:center; }
.ns-hero-imm__shade { position:absolute; inset:0; height:100%; max-height:none; background:linear-gradient(90deg,rgba(5,12,10,.86),rgba(5,12,10,.37) 46%,transparent 72%),linear-gradient(0deg,#101516 0%,transparent 28%); }
.ns-hero-imm__inner { width:min(var(--max),calc(100% - 64px)); display:flex; flex:1; align-items:center; padding:36px 0 !important; }
.ns-hero-imm__copy { width:540px; max-width:48%; padding:0; background:none; }
.ns-hero-imm h1 { font-family:Manrope,sans-serif; font-size:clamp(42px,3.75vw,54px); font-weight:750; line-height:1.08; letter-spacing:-.055em; margin:0 0 24px; }
.ns-hero-imm .ns-lead--light { font-size:16px; line-height:1.65; color:#d1dbd6; max-width:420px; margin-bottom:22px; }
.ns-hero-facts { display:flex; gap:18px; font-size:14px; font-weight:700; margin:0 0 26px; color:#e4f5e9; }
.ns-hero-facts span+span { border-left:1px solid #92b19e70; padding-left:18px; }
.ns-hero-quiz { max-width:510px; gap:10px; }
.ns-hero-quiz .ns-btn { font-size:14px; padding:0 18px; }
.ns-hero-quiz p { font-size:12px; color:#c3cfc8; margin-top:6px; }
.ns-hero-imm .ns-stats { width:min(var(--max),calc(100% - 64px)); margin:0 auto 24px; padding:24px 28px; border:1px solid #8dada030; border-radius:14px; background:#17221ee6; backdrop-filter:blur(12px); }
.ns-stats b { font-size:19px; font-weight:650; }
.ns-stats span { font-size:12px; color:#c0d0c6; }
.ns-biz { gap:22px; }
.ns-biz__card { background:transparent; padding:0 0 22px; border:0; border-bottom:1px solid #bdcbc2; border-radius:0; box-shadow:none; overflow:hidden; }
.ns-biz__viz { aspect-ratio:16/10; border-radius:12px; margin-bottom:20px; }
.ns-biz__card h3,.ns-biz__card p,.ns-biz__card > span { margin-left:0; margin-right:0; }
.ns-biz__card h3 { font-size:22px; }
.ns-biz__card p { font-size:14px; color:#526159; }
.ns-biz__card > span { font-size:13px; }
.ns-vcase { background:#1a2320; border-color:#3e534644; border-radius:16px; }
.ns-vcase--feature { grid-template-columns:1.3fr 1fr; margin-bottom:24px; }
.ns-vcase__media { min-height:0; position:relative; }
.ns-vcase__media img { height:100%; min-height:0; max-height:460px; object-fit:cover; }
.ns-vcase--feature .ns-vcase__media img { min-height:360px; }
.ns-vcase__body { padding:32px; gap:16px; justify-content:center; }
.ns-vcase__body .ns-btn { align-self:start; margin-top:12px; font-size:13px; }
.ns-vcase__cat { color:#b4d9c5; }
.ns-vcase__story { gap:20px; }
.ns-vcase__story p { font-size:14px; line-height:1.6; }
.ns-vcases { gap:24px; }
.ns-vcases .ns-vcase { display:grid; grid-template-columns:1.2fr 1fr; }
.ns-vcases .ns-vcase__body { padding:24px; }
.ns-vcases .ns-vcase__media img { aspect-ratio:1; height:260px; min-height:0; }
.ns-zoom { display:block; width:100%; height:100%; padding:0; border:0; background:none; position:relative; cursor:zoom-in; color:white; }
.ns-zoom::after { content:'↗'; position:absolute; right:14px; bottom:14px; width:36px; height:36px; display:grid; place-items:center; border:1px solid #ffffff6b; border-radius:50%; background:#0b141ac4; font-size:20px; }
.ns-lightbox { padding:14px; border:1px solid #667d7166; border-radius:16px; background:#101516; color:#fff; width:min(1000px,94vw); max-height:94svh; }
.ns-lightbox::backdrop { background:#050908e8; }
.ns-lightbox img { width:100%; height:min(74svh,760px); object-fit:contain; }
.ns-lightbox__bar { display:flex; justify-content:space-between; align-items:center; gap:16px; padding:8px; }
.ns-lightbox__bar p { margin:0; font-size:14px; }
.ns-lightbox__bar button { background:#edf6f0; color:#102017; border:0; border-radius:8px; padding:10px 16px; }
.ns-logo-split { gap:48px; grid-template-columns:1.4fr 1fr; align-items:center; }
.ns-logo-ba { grid-template-columns:1fr 1fr; gap:16px; }
.ns-logo-ba__pane { border-radius:12px; box-shadow:none; }
.ns-logo-ba__pane img { height:340px; object-fit:cover; }
.ns-drop { border:1px dashed #81998b; border-radius:12px; background:#d8e5dc30; }
.ns-drop p { font-size:20px; }
.ns-palette { display:grid; grid-template-columns:.85fr 1.15fr; gap:70px; align-items:center; }
.ns-palette__copy > p { color:#bdcbc4; max-width:430px; line-height:1.7; }
.ns-palette__stage { min-height:360px; display:grid; place-items:center; position:relative; overflow:hidden; border-radius:18px; border:1px solid #829c8c35; --glow:#fff4d6; background:radial-gradient(ellipse at center,color-mix(in srgb,var(--glow) 8%,#131b19),#111917 75%); }
.ns-palette__stage::before { content:''; position:absolute; inset:0; background:repeating-linear-gradient(0deg,transparent,transparent 67px,#879c8710 68px,#879c8710 69px); }
.ns-palette__sign { position:relative; font:500 clamp(32px,4.5vw,68px)/1.4 Comfortaa,sans-serif; color:#fff; -webkit-text-stroke:1px var(--glow); text-shadow:0 0 5px var(--glow),0 0 16px var(--glow),0 0 42px var(--glow); }
.ns-palette__caption { position:absolute; bottom:20px; left:20px; right:20px; text-align:center; font-size:11px; color:#b7c5bc; }
.ns-palette__choices { display:flex; flex-wrap:wrap; gap:12px; margin-top:24px; }
.ns-palette__choices button { width:38px; height:38px; border:5px solid #17201c; outline:1px solid #63766b; border-radius:50%; }
.ns-palette__choices button[aria-pressed=true] { outline:2px solid #edf5ef; outline-offset:3px; }
.ns-palette__name { font-size:13px; min-height:24px; }
.ns-price-grid { gap:16px; }
.ns-price-card { background:#f8faf8; border:1px solid #c6d2c9; border-radius:14px; padding:26px; box-shadow:none; }
.ns-price-card:first-child { background:#152a20; color:#f1f9f3; border-color:#152a20; }
.ns-price-card h3 { font-size:17px; color:inherit; }
.ns-price-card .ns-price { font-size:23px; line-height:1.3; min-height:60px; margin:16px 0 10px; color:inherit; }
.ns-price-card:first-child .ns-price { font-size:31px; }
.ns-price-card p:not(.ns-price) { color:#526159; font-size:14px; }
.ns-price-card:first-child p:not(.ns-price) { color:#c3d8ca; }
.ns-price-card .ns-text-link { margin-top:auto; padding-top:20px; font-size:13px; }
.ns-band--ivory .ns-hint,.ns-band--sand .ns-hint { color:#4c6254; }
.ns-band--ivory .ns-field > span,.ns-band--sand .ns-field > span { color:#354e3e; }
.ns-band--ivory .ns-sec__lead,.ns-band--sand .ns-sec__lead { color:#4c6254; }
.ns-pay { gap:28px; }
.ns-pay article { background:transparent; border:0; border-left:1px solid #c0cec4; border-radius:0; padding:0 24px; }
.ns-pay h3,.ns-why h3 { font-size:19px; }
.ns-pay p,.ns-why p { color:#4d6054; font-size:14px; line-height:1.7; }
.ns-tquiz { padding:80px 0; background:#dfe9e2; color:#182d20; }
.ns-tquiz__split { grid-template-columns:.75fr 1.8fr; gap:36px; }
.ns-tquiz__copy { background:transparent; padding:20px 0; }
.ns-tquiz__copy h2 { font-size:40px; }
.ns-tquiz__copy h2,.ns-tquiz__work h3 { color:#182d20; }
.ns-tquiz__copy p,.ns-tquiz__progress { color:#425f4c; }
.ns-tquiz__person span,.ns-tquiz__muted,.ns-tquiz__lock { color:#506456 !important; }
.ns-tquiz .ns-btn--ghost-ink { color:#243f2d; border-color:#92ac9b; }
.ns-tquiz .ns-btn--ink { color:#fff; border-color:#193c29; }
.ns-tquiz-field > span { color:#243f2d; }
.ns-tquiz .ns-check { color:#364e3e; }
.ns-tquiz .ns-quiz-err { color:#9b2020; }
.ns-tquiz__bar { background:#d0ded4; }
.ns-tquiz__panel { background:#fafcf9; border-color:#c9d9cc; box-shadow:0 16px 44px #203c2710; }
.ns-tquiz__consultant { background:#edf3ee; }
.ns-tquiz__bar i { background:#387658; }
.ns-tquiz__outcomes li { border-color:#acbfb0; color:#2c513a; }
.ns-tquiz .ns-btn--ink { background:#193c29; }
.ns-steps { gap:0; }
.ns-steps article { border:0; border-right:1px solid #becec2; border-radius:0; padding:0 22px; background:transparent; }
.ns-steps article:first-child { padding-left:0; }
.ns-steps article:last-child { border:0; }
.ns-steps article > b { font-size:13px; color:#60786a; }
.ns-steps h3 { font-size:17px; }
.ns-steps p { font-size:14px; line-height:1.6; }
.ns-why { gap:32px; }
.ns-band--ivory .ns-why article { background:transparent; color:#16231e; border:0; border-top:1px solid #bbccbf; border-radius:0; padding:24px 0; }
.ns-why h3 { color:#16231e; }
.ns-pay .ns-ico,.ns-why .ns-ico,.ns-steps .ns-ico { background:#d6e5db; color:#284c37; border-radius:12px; box-shadow:none; filter:none; }
.ns-ctor,.ns-ctor > div { max-height:none; }
.ns-ctor { grid-template-columns:1.3fr 1fr; align-items:start; gap:24px; }
.ns-ctor > div { overflow:visible; }
.ns-ctor__preview { min-width:0; border-radius:16px; overflow:hidden; }
.ns-ctor__preview .ns-sign { max-width:90%; overflow-wrap:anywhere; text-align:center; white-space:pre-wrap; line-height:1.5; }
.ns-ctor .ns-ctor__preview { position:sticky !important; top:96px; height:520px; }
.ns-fonts { gap:6px; }
.ns-chip { border-radius:8px; font-size:13px; border-color:#50665b; }
.ns-chip { text-decoration:none; }
.ns-chip.is-on { background:#e2f3e8; color:#152d20; border-color:#e2f3e8; }
.ns-panel { background:#192420; border-color:#44635155; border-radius:14px; }
.ns-field input,.ns-field textarea { background:#101b16; border-color:#54705f; border-radius:8px; }
.ns-field > span { color:#c0d7c8; }
.ns-stage__meta { left:20px; right:20px; bottom:18px; color:#e3ede6; font-size:12px; gap:12px; }
.ns-ready-preview { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
.ns-ready-preview a { display:flex; flex-direction:column; text-decoration:none; border:1px solid #58736355; border-radius:14px; overflow:hidden; background:#17201c; }
.ns-ready-preview span { min-height:180px; display:grid; place-items:center; font:500 32px Comfortaa,sans-serif; color:#fff; text-shadow:0 0 5px var(--sample),0 0 20px var(--sample),0 0 36px var(--sample); }
.ns-ready-preview strong { padding:18px; font-size:13px; border-top:1px solid #58736344; font-weight:600; }
#catalog .ns-btn--ink { background:#eaf5ee; color:#101b18; }
.ns-try { gap:24px; }
.ns-try__pane { border-radius:14px; }
.ns-try__pane figcaption { font-size:13px; }
.ns-faq { display:grid; grid-template-columns:1fr 1fr; gap:0 40px; align-items:start; }
.ns-faq details { background:transparent; border:0; border-bottom:1px solid #bbcbbf; border-radius:0; padding:18px 0; }
.ns-faq summary { font-size:16px; font-weight:650; }
.ns-faq p { font-size:14px; color:#45594c; }
.ns-cta-final { text-align:center; background:radial-gradient(ellipse at 50% 100%,#264534,#101516 75%); }
.ns-cta-final h2 { font-size:clamp(38px,5vw,64px); }
.ns-cta-final p { margin:24px auto; max-width:600px; color:#c2d2c7; }
.ns-cta-final .ns-hero-cta { justify-content:center; }
.ns-footer { background:#0c1410; border-top:1px solid #536b5844; padding:52px 0; }
.ns-footer h3 { color:#e7f2ea; font-size:15px; }
.ns-footer p,.ns-footer li { font-size:13px; line-height:1.8; color:#bacabe; }
/* Catalog starts with its search and products; supporting work remains below. */
body[data-page=catalog] { display:flex; flex-direction:column; }
body[data-page=catalog] > .ns-top,body[data-page=constructor] > .ns-top { display:none; }
body[data-page=catalog] > .ns-header { order:0; }
body[data-page=catalog] > main { order:1; padding-bottom:48px; }
body[data-page=catalog] > #live-cases { order:2; }
body[data-page=catalog] > footer { order:3; }
body[data-page=catalog] #live-cases .ns-concepts { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
body[data-page=catalog] #live-cases .ns-concept__viz { height:180px; }
body[data-page=catalog] #live-cases { border-top:1px solid #55756055; }
.ns-crumbs { padding-top:24px; color:#a9c0b2; font-size:12px; }
#ns-catalog-root h1 { font-size:clamp(32px,4vw,52px); letter-spacing:-.04em; }
#ns-catalog-root header.ns-sec { padding-top:18px; }
.ns-search,.ns-select { background:#19271f; border-color:#577362; color:#eef5f0; }
.ns-filters { background:#18271e; border:1px solid #486052; border-radius:14px; padding:20px; }
.ns-search { width:100%; min-height:48px; }
.ns-search-row { display:flex; gap:12px; }
.ns-search-row .ns-search { flex:1; min-width:0; }
.ns-search-label { display:block; margin-bottom:8px; font-size:13px; color:#c6dacc; }
.ns-filter-row { gap:8px; }
.ns-concepts { gap:20px; }
.ns-concept { border-radius:14px; background:#18241d; border-color:#42614c66; }
.ns-concept__body { padding:20px; }
.ns-concept__viz { text-decoration:none; }
#ns-catalog-grid .ns-concept__viz { height:210px; }
#ns-catalog-grid .ns-sign { max-width:90%; white-space:normal; overflow-wrap:anywhere; font-size:28px; line-height:1.35; text-align:center; font-weight:500; padding:12px; }
.ns-catalog-more { display:flex; flex-direction:column; align-items:center; gap:14px; margin:36px 0 0; }
.ns-catalog-more span { font-size:12px; color:#afc6b7; }
.ns-concept__body h3 a { text-decoration:none; }
.ns-card-actions { flex-wrap:wrap; gap:8px; }
.ns-card-actions .ns-btn { font-size:12px; padding:0 12px; min-height:42px; }
.ns-badge { background:#102019d9; border:1px solid #b1c8b866; color:#d9e9df; font-size:10px; }
.ns-product { gap:40px; }
.ns-product__viz { border-radius:18px; overflow:hidden; }
.ns-product__buy .ns-price { color:#c1ead1; }
/* Editor: preview occupies the left; all settings and actions stay in the right column. */
body[data-page=constructor] #constructor { padding-top:28px; padding-bottom:40px; }
body[data-page=constructor] #constructor > h1 { font-size:32px; margin:0 0 8px; letter-spacing:-.04em; }
body[data-page=constructor] #constructor > .ns-sec__lead { font-size:14px; margin-bottom:22px; }
.ns-ctor-page { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(340px,1fr); grid-template-rows:minmax(0,1fr) auto; gap:12px 24px; height:calc(100svh - 245px); min-height:430px; max-height:700px; }
.ns-ctor-page > form { grid-column:2; grid-row:1; overflow:auto; padding:20px; min-height:0; }
.ns-ctor-page > .ns-ctor__preview { grid-column:1; grid-row:1 / 3; height:100%; min-height:0; position:relative !important; top:auto; }
.ns-ctor-page > aside { grid-column:2; grid-row:2; padding:16px 20px; }
.ns-ctor-page > aside .ns-price { font-size:28px; margin:2px 0; }
.ns-ctor-page > aside .ns-label { margin:0; font-size:11px; }
.ns-ctor-page > aside .ns-hint { font-size:12px; margin:6px 0 12px; }
.ns-ctor-page > aside .ns-recap { display:none; }
.ns-ctor-page > aside .ns-btn--ghost { display:inline-flex; width:calc(50% - 4px) !important; font-size:11px; min-height:34px; padding:4px 6px; margin-top:8px !important; }
.ns-ctor-page > aside #ns-save { width:100% !important; }
.ns-ctor-page > aside .ns-status:empty { display:none; }
.ns-ctor-page .ns-field { margin-bottom:14px; }
.ns-ctor-page .ns-field textarea { min-height:60px; }
.ns-ctor-page #ns-fonts .ns-chip { font-size:14px; }
@media (max-width:1199px) {
  .ns-header__row { gap:16px; }
  .ns-nav { gap:12px; }
  .ns-header__right .ns-phone { display:none; }
  .ns-hero-imm__copy { max-width:54%; }
  .ns-hero-imm__photo img { object-position:center; }
  .ns-price-grid { grid-template-columns:repeat(2,1fr); }
  .ns-tquiz__split { grid-template-columns:1fr; }
  .ns-tquiz__copy { padding:0; }
  .ns-tquiz__outcomes { display:flex; flex-wrap:wrap; }
}
@media (max-width:800px) {
  .ns-wrap { width:calc(100% - 40px); }
  .ns-band,.ns-sec { padding-top:56px; padding-bottom:56px; }
  .ns-header__row { min-height:64px; }
  .ns-logo img { width:140px; height:30px; }
  .ns-logo small { display:none; }
  .ns-header .ns-btn { font-size:11px; padding:0 12px; min-height:38px; }
  .ns-burger { display:block; flex:none; }
  .ns-nav { display:none; position:absolute; left:0; right:0; top:100%; padding:16px 20px; background:#14231b; }
  .ns-nav.is-open { display:grid; grid-template-columns:1fr 1fr; }
  .ns-nav a { padding:12px; font-size:15px; }
  .ns-hero-imm { height:auto; max-height:none; min-height:0; }
  .ns-hero-imm__photo { position:relative; height:29svh; min-height:185px; max-height:300px; flex:none; }
  .ns-hero-imm__photo img { object-position:center 22%; }
  .ns-hero-imm__shade,.ns-hero-imm__glow,.ns-hero-imm__shimmer,.ns-hero-imm__grain { top:0; bottom:auto; height:29svh; min-height:185px; max-height:300px; }
  .ns-hero-imm__shade { background:linear-gradient(0deg,#101516,transparent 45%); }
  .ns-hero-imm__inner { width:calc(100% - 40px); height:auto; flex:none; padding:8px 0 24px !important; align-items:start; }
  .ns-hero-imm__copy { width:100%; max-width:100%; }
  .ns-hero-imm h1 { font-size:clamp(31px,5.6vw,44px); margin-bottom:14px; line-height:1.08; }
  .ns-hero-imm .ns-lead--light { font-size:14px; line-height:1.5; margin-bottom:14px; max-width:520px; }
  .ns-hero-facts { font-size:12px; margin-bottom:18px; }
  .ns-hero-quiz .ns-btn { font-size:12px; padding:0 12px; min-height:46px; }
  .ns-hero-quiz p { font-size:11px; }
  .ns-hero-imm .ns-stats { width:calc(100% - 40px); display:grid; grid-template-columns:repeat(3,1fr); gap:20px 12px; padding:20px; margin-bottom:24px; }
  .ns-stats li { padding:0; border:0; }
  .ns-stats b { font-size:14px; }
  .ns-stats span { font-size:10px; }
  .ns-band__head { gap:16px; margin-bottom:28px; }
  .ns-band__head p { max-width:none; font-size:14px; }
  .ns-biz { grid-template-columns:repeat(2,1fr); gap:24px 16px; }
  .ns-biz__card h3 { font-size:17px; }
  .ns-biz__card p { font-size:13px; }
  .ns-vcase--feature,.ns-vcases,.ns-logo-split,.ns-palette { grid-template-columns:1fr; }
  .ns-vcase--feature .ns-vcase__media img { height:300px; min-height:0; }
  .ns-vcase__body { padding:24px; }
  .ns-vcase__story { grid-template-columns:1fr 1fr; }
  .ns-vcases .ns-vcase__media img { height:220px; }
  .ns-logo-split { gap:24px; }
  .ns-logo-ba__pane img { height:260px; }
  .ns-palette { gap:32px; }
  .ns-palette__stage { min-height:270px; }
  .ns-palette__sign { font-size:44px; }
  .ns-price-card { padding:22px; }
  .ns-price-card .ns-price { font-size:21px; }
  .ns-pay { gap:24px; }
  .ns-pay article { padding:0 0 0 20px; }
  .ns-steps { grid-template-columns:1fr; gap:28px; }
  .ns-steps article,.ns-steps article:first-child { border:0; border-bottom:1px solid #becec2; padding:0 0 24px; grid-template-columns:52px 1fr; column-gap:18px; }
  .ns-steps .ns-ico { grid-column:1; grid-row:1 / 4; }
  .ns-steps article > b,.ns-steps article > h3,.ns-steps article > p { grid-column:2; margin:0; }
  .ns-why { grid-template-columns:1fr 1fr; gap:24px; }
  .ns-ctor { grid-template-columns:1fr; }
  .ns-ctor .ns-ctor__preview { position:relative !important; top:auto; height:300px; }
  .ns-ready-preview { grid-template-columns:repeat(2,1fr); }
  .ns-ready-preview span { min-height:140px; font-size:25px; }
  .ns-ready-preview strong { padding:14px; font-size:12px; }
  .ns-faq { grid-template-columns:1fr; }
  body[data-page=catalog] #live-cases .ns-concepts { grid-template-columns:repeat(2,1fr); }
  .ns-ctor-page { grid-template-columns:1fr; grid-template-rows:auto; height:auto; max-height:none; min-height:0; gap:16px; }
  .ns-ctor-page > .ns-ctor__preview { grid-column:1; grid-row:1; height:260px; }
  .ns-ctor-page > form { grid-column:1; grid-row:2; overflow:visible; }
  .ns-ctor-page > aside { grid-column:1; grid-row:3; }
  .ns-ctor-page > aside .ns-btn--ghost { min-height:44px; }
}
@media (max-width:480px) {
  .ns-header__row { gap:10px; }
  .ns-header__right { gap:8px; }
  .ns-logo img { width:125px; }
  .ns-hero-imm h1 { font-size:32px; }
  .ns-hero-imm .ns-stats { grid-template-columns:repeat(2,1fr); }
  .ns-hero-imm .ns-stats li:last-child { grid-column:1 / -1; display:flex; gap:8px; align-items:baseline; }
  .ns-vcase__story { grid-template-columns:1fr; }
  .ns-vcases .ns-vcase { grid-template-columns:1fr; }
  .ns-vcases .ns-vcase__media img { height:250px; }
  .ns-logo-ba__pane img { height:210px; }
  .ns-price-grid,.ns-why { grid-template-columns:1fr; }
  .ns-price-card .ns-price { min-height:0; }
  .ns-why { gap:0; }
  .ns-tquiz__copy h2 { font-size:32px; }
  .ns-stage__meta { flex-direction:column; align-items:start; gap:3px; }
  .ns-filters { padding:14px; }
  .ns-filter-row { flex-wrap:wrap; }
  .ns-concepts { grid-template-columns:1fr; }
}
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { animation:none !important; transition:none !important; }
}

/* C30: single-tube neon, reference quiz and one Lucide icon family. */
body { font-family:"Golos Text",sans-serif; }
button,input,textarea,select { font-family:inherit; }
.ns-hero-imm h1,.ns-band h2,.ns-sec h2,.ns-catalog-head h1,.ns-pagehead h1 {
  font-family:Unbounded,sans-serif; font-weight:500; letter-spacing:-.045em; line-height:1.2;
}
.ns-sec > h1,.ns-catalog-head > h1 { font-family:Unbounded,sans-serif; font-weight:500; font-size:clamp(26px,2.5vw,36px); line-height:1.3; letter-spacing:-.04em; }
.ns-hero-imm h1 { font-size:clamp(34px,3.05vw,44px); }
.ns-band h2,.ns-sec h2 { font-size:clamp(27px,2.8vw,38px); }
.ns-ico svg { width:30px; height:30px; flex:none; stroke-width:1.75; stroke-linecap:round; stroke-linejoin:round; }
.ns-pay .ns-ico,.ns-why .ns-ico,.ns-steps .ns-ico,#delivery .ns-ico {
  width:56px; height:56px; border-radius:14px; display:grid; place-items:center;
  background:#d6e5db; color:#284c37; border:1px solid #b9cec0;
}
#delivery .ns-ico { background:#243c30; color:#def6e6; border-color:#405b49; margin-bottom:20px; }
.ns-ico svg { transition:filter .2s ease; }
article:hover .ns-ico svg { filter:drop-shadow(0 0 5px #70b58f70); }
.ns-glyph,.ns-glyph[data-icon] { mask:none; -webkit-mask:none; background:none; filter:none; overflow:visible; }
.ns-glyph svg { width:100%; height:100%; stroke:var(--sign); stroke-width:1.25; filter:drop-shadow(0 0 2px var(--sign)) drop-shadow(0 0 9px var(--sign)); }
.ns-glyph[data-icon="lips"] svg,.ns-glyph[data-icon="wings"] svg { stroke-width:10; stroke-linecap:round; stroke-linejoin:round; }
.ns-glyph[data-icon="lips"] path,.ns-glyph[data-icon="wings"] path { fill:none; }

/* Duplicate the exact photo, isolate its highlights and vary only emitted light. */
.ns-hero-imm__photo { isolation:isolate; animation:none; transform:none; }
.ns-hero-imm__photo .ns-hero-light {
  position:absolute; inset:0; width:100%; height:100%; pointer-events:none;
  mix-blend-mode:screen; filter:brightness(.68) contrast(2.6) saturate(.85);
  mask-image:radial-gradient(ellipse 34% 34% at 65% 37%,#000 40%,transparent 100%);
  -webkit-mask-image:radial-gradient(ellipse 34% 34% at 65% 37%,#000 40%,transparent 100%);
  opacity:.48; animation:ns-tube-start 1.4s steps(1,end) both,ns-tube-flicker 11s 1.4s linear infinite;
}
.ns-hero-imm__glow { opacity:.12; animation:none; }
.ns-hero-imm__spill { opacity:.12; animation:none; }
.ns-hero-imm__shimmer { display:none; }
@keyframes ns-tube-start {
  0%,16% { opacity:0; } 17%,36% { opacity:.9; } 37%,52% { opacity:.06; } 53%,100% { opacity:.48; }
}
@keyframes ns-tube-flicker {
  0%,38%,43%,77%,82%,100% { opacity:.48; }
  39%,78% { opacity:0; } 40%,79% { opacity:1; }
  41%,80% { opacity:.05; } 42%,81% { opacity:.85; }
  60% { opacity:.62; }
}

/* /vyveska2-0.ru/#s2: heading above, consultant at left, spacious work area. */
.ns-tquiz { background:#fff; color:#252529; padding:80px 0; }
.ns-tquiz__split { display:block; }
.ns-tquiz__copy { padding:0; margin:0 0 40px; background:none; }
.ns-tquiz__copy h2 { font:600 clamp(27px,2.6vw,38px)/1.3 "Golos Text",sans-serif; letter-spacing:-.03em; color:#29292d; max-width:1120px; }
.ns-tquiz__copy h2 span { font-weight:400; }
.ns-tquiz__copy p { color:#64646b; font-size:17px; margin:14px 0 0; }
.ns-tquiz__panel { padding:10px; background:#fafafa; border:0; box-shadow:none; border-radius:12px; }
.ns-tquiz__shell { grid-template-columns:25% minmax(0,1fr); gap:0; }
.ns-tquiz__consultant { display:flex; flex-direction:column; align-items:stretch; padding:24px 26px; background:#fafafa; border-radius:0; }
.ns-tquiz__person { display:block; margin:0; }
.ns-tquiz__person img { width:64px; height:64px; border-radius:0; object-fit:contain; display:block; margin-bottom:16px; }
.ns-tquiz__person > div { background:#eee; padding:16px 14px 0; border-radius:4px 4px 0 0; position:relative; }
.ns-tquiz__person > div::before { content:""; position:absolute; left:16px; top:-8px; border:8px solid transparent; border-top:0; border-bottom-color:#eee; }
.ns-tquiz__person strong { font-size:15px; color:#202025; }
.ns-tquiz__person span { color:#74747d !important; font-size:12px; line-height:1.5; }
.ns-tquiz__consultant .ns-tquiz__speech { background:#eee; padding:14px; border-radius:0 0 4px 4px; color:#35353a; font-size:14px; line-height:1.55; }
.ns-tquiz__gifts { margin-top:auto; padding-top:36px; font-size:15px; }
.ns-tquiz__outcomes { display:block; padding-left:20px; margin-top:8px; list-style:disc; }
.ns-tquiz__outcomes li { display:list-item; color:#48484f; background:none; border:0; border-radius:0; padding:3px 0; font-size:14px; font-weight:400; }
.ns-tquiz__work { position:relative; background:#fff; border-radius:6px; padding:44px 38px 20px; min-height:650px; display:flex; flex-direction:column; }
.ns-tquiz__progress { display:block; margin:0; font-size:12px; font-weight:400; color:#92929c; }
#ns-quiz-step-label { position:absolute; bottom:94px; left:38px; }
.ns-tquiz__bar { position:absolute; top:0; left:0; right:0; height:5px; border-radius:6px 6px 0 0; background:#dcd9ff; }
.ns-tquiz__bar i { background:#5b4dff; border-radius:0; }
.ns-tquiz__work h3 { font:600 25px/1.3 "Golos Text",sans-serif; color:#17171b; margin:0 0 28px; letter-spacing:-.025em; }
.ns-tquiz-cards { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:22px 16px; }
.ns-tquiz-card { display:flex; flex-direction:column; padding:0; background:#fff; border:0; border-radius:3px; color:#242429; overflow:visible; box-shadow:none; }
.ns-tquiz-card img { display:block; width:100%; height:auto; min-height:0; aspect-ratio:1; border:1px solid #e3e3e6; border-radius:3px; object-fit:cover; transition:outline-color .15s ease; }
.ns-tquiz-card span { padding:10px 0 0; font-size:14px; font-weight:400; line-height:1.35; }
.ns-tquiz-card.is-on { background:#fff; border:0; box-shadow:none; }
.ns-tquiz-card.is-on img { outline:3px solid #5b4dff; outline-offset:-3px; }
.ns-tquiz-card.is-on::after { content:"✓"; position:absolute; top:8px; right:8px; display:grid; place-items:center; width:25px; height:25px; border-radius:50%; background:#5b4dff; color:white; font-size:16px; }
.ns-tquiz-card:hover img { outline:2px solid #b3acff; outline-offset:-2px; }
.ns-tquiz-card:focus-visible { outline:3px solid #5b4dff; outline-offset:5px; }
.ns-tquiz__nav { display:flex; justify-content:flex-end; gap:10px; margin:32px 0 0; padding-top:24px; margin-top:auto; }
.ns-tquiz__nav .ns-btn { width:auto; min-width:134px; min-height:52px; border-radius:28px; padding:0 26px; font-size:14px; gap:12px; }
.ns-tquiz .ns-btn--ink { background:#5b4dff; border-color:#5b4dff; color:#fff; box-shadow:none; }
.ns-tquiz .ns-btn--ink:hover { background:#4d3de4; }
.ns-tquiz .ns-btn--ink:disabled { opacity:.5; }
.ns-tquiz__nav #ns-quiz-back { min-width:52px; width:52px; padding:0; border:1px solid #aaa2ff; color:#5b4dff; background:#fff; font-size:22px; }
.ns-tquiz__nav #ns-quiz-back:disabled { opacity:.4; }
.ns-tquiz-field { color:#49494f; font-size:15px; font-weight:400; gap:10px; margin-bottom:20px; }
.ns-tquiz-field input,.ns-tquiz-field textarea { border-radius:6px; border-color:#d9d9e0; padding:15px; color:#202025; background:#fafafa; font:400 16px/1.5 "Golos Text",sans-serif; }
.ns-tquiz-field input:focus,.ns-tquiz-field textarea:focus { outline:2px solid #5b4dff; outline-offset:2px; }
.ns-tquiz .ns-check { color:#48484f; font-size:13px; line-height:1.5; }
.ns-tquiz .ns-check input { accent-color:#5b4dff; width:18px; height:18px; flex:none; }
.ns-tquiz__lock { color:#777780 !important; text-align:right; margin-top:18px; font-size:11px; }
.ns-tquiz__muted { color:#64646b !important; }
.ns-tquiz .ns-status:empty { display:none; }

/* Narrow bright diffuser, colored edge, nearby glow and diffuse wall bounce. */
.ns-ctor__preview { isolation:isolate; }
.ns-ctor__preview::before,.ns-product__viz::before,.ns-wall::before {
  content:""; position:absolute; inset:0; pointer-events:none; z-index:0;
  background:radial-gradient(ellipse 44% 34% at 50% 48%,color-mix(in srgb,var(--sign) 20%,transparent),transparent 100%);
  mix-blend-mode:screen;
}
.ns-sign,.ns-ctor__preview .ns-sign,.ns-ctor-page .ns-sign,#ns-wall .ns-sign {
  position:relative; z-index:1; font-weight:500; filter:none;
  -webkit-text-fill-color:color-mix(in srgb,var(--sign) 28%,white);
  -webkit-text-stroke:.35px var(--sign);
  text-shadow:0 2px 2px #0008,0 0 2px var(--sign),0 0 5px var(--sign),0 0 14px color-mix(in srgb,var(--sign) 78%,transparent),0 0 34px color-mix(in srgb,var(--sign) 48%,transparent);
}
.ns-ctor__preview .ns-sign { font-family:Comfortaa,sans-serif; line-height:1.35; padding:12px 18px; }
.ns-ctor__preview[data-backing="rect"] .ns-sign { padding:22px 28px; background:#ffffff06; outline:1px solid #ffffff30; box-shadow:1px 4px 8px #0005,inset 0 1px 0 #ffffff24; border-radius:6px; }
.ns-ctor__preview[data-bg="light"]::before { mix-blend-mode:multiply; opacity:.35; }
.ns-ctor__preview[data-bg="light"] .ns-sign { -webkit-text-fill-color:color-mix(in srgb,var(--sign) 50%,white); }
.ns-ctor__preview[data-bg="light"] .ns-stage__meta { color:#4b5053; }
.ns-ctor__preview[data-bg="light"][data-backing="rect"] .ns-sign { box-shadow:1px 3px 5px #0002,inset 0 1px 0 #ffffff24; }
.ns-palette__sign { -webkit-text-stroke:.35px var(--glow); color:color-mix(in srgb,var(--glow) 28%,white); text-shadow:0 2px 2px #0008,0 0 3px var(--glow),0 0 12px var(--glow),0 0 32px color-mix(in srgb,var(--glow) 50%,transparent); }
.ns-product__viz { isolation:isolate; }
@media (max-width:1100px) {
  .ns-tquiz__consultant { padding:24px 18px; }
  .ns-tquiz__work { padding:38px 24px 20px; }
  .ns-tquiz-cards { grid-template-columns:repeat(3,minmax(0,1fr)); }
  #ns-quiz-step-label { left:24px; }
}
@media (max-width:800px) {
  .ns-hero-imm h1 { font-size:clamp(28px,4.8vw,37px); }
  .ns-hero-imm__photo .ns-hero-light { mask-image:radial-gradient(ellipse 75% 70% at 50% 42%,#000 30%,transparent 100%); -webkit-mask-image:radial-gradient(ellipse 75% 70% at 50% 42%,#000 30%,transparent 100%); }
  .ns-tquiz { padding:56px 0; }
  .ns-tquiz__copy { margin-bottom:28px; }
  .ns-tquiz__copy p { font-size:15px; }
  .ns-tquiz__shell { grid-template-columns:1fr; }
  .ns-tquiz__consultant { display:flex; padding:18px; }
  .ns-tquiz__person { display:flex; align-items:center; gap:12px; }
  .ns-tquiz__person img { width:48px; height:48px; margin:0; }
  .ns-tquiz__person > div { padding:0; background:none; }
  .ns-tquiz__person > div::before,.ns-tquiz__speech,.ns-tquiz__gifts { display:none; }
  .ns-tquiz__panel { padding:0; }
  .ns-tquiz__work { padding:28px 18px 18px; min-height:550px; }
  .ns-tquiz__work h3 { font-size:22px; margin-bottom:22px; }
  .ns-tquiz-cards { grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px 12px; }
  .ns-tquiz-card span { font-size:13px; }
  .ns-tquiz__nav { padding-top:28px; }
  #ns-quiz-step-label { left:18px; bottom:97px; }
  .ns-tquiz__lock { font-size:10px; }
}
@media (min-width:601px) and (max-width:800px) {
  .ns-hero-imm__photo img { object-position:center 10%; }
}
@media (max-width:480px) {
  .ns-hero-imm h1 { font-size:28px; line-height:1.22; }
  .ns-tquiz-cards { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .ns-tquiz__work { min-height:640px; }
  .ns-tquiz__work h3 { font-size:21px; }
  .ns-tquiz__nav .ns-btn { min-width:115px; padding:0 20px; }
  #ns-quiz-step-label { bottom:96px; font-size:11px; }
  .ns-tquiz__copy h2 { font-size:28px; }
}
@media (prefers-reduced-motion:reduce) {
  .ns-hero-imm__photo .ns-hero-light { animation:none !important; opacity:.48; }
}

/* C33: a single scene selector and a shared contact widget. */
.ns-contact-top { background:#101816; color:#d8e9df; font-size:12px; line-height:1.4; }
.ns-contact-top .ns-wrap { display:flex; justify-content:flex-end; }
.ns-contact-top a { display:inline-flex; align-items:center; min-height:30px; text-decoration:none; }
.ns-field select { width:100%; min-height:46px; padding:10px 12px; background:#101b16; color:#edf6f0; border:1px solid #54705f; border-radius:8px; font:inherit; }
[data-text-setting][hidden] { display:none !important; }
.ns-final > * { min-width:0; }
.ns-recap { overflow-wrap:anywhere; }
.ns-field input,.ns-field textarea,.ns-field select { min-width:0; max-width:100%; }
.ns-ctor .ns-ctor__preview,.ns-ctor-page > .ns-ctor__preview {
  aspect-ratio:16 / 9; width:100%; max-width:100%; height:auto !important; min-height:0 !important; max-height:none; padding:0;
  background-size:100% 100%; background-position:center; align-self:center;
}
.ns-ctor__preview .ns-sign { position:absolute; top:43%; left:50%; margin:0; transform:translate(-50%,-50%); width:max-content; max-width:none; white-space:pre; overflow-wrap:normal; letter-spacing:normal; }
.ns-ctor__preview[data-bg="dark_wall"] .ns-sign,.ns-ctor__preview[data-bg="brick"] .ns-sign,.ns-ctor__preview[data-bg="light"] .ns-sign,.ns-ctor__preview[data-bg="concrete"] .ns-sign { top:50%; }
.ns-window-frame { display:none; position:absolute; inset:8% 8% 20%; border:2px solid #fff9ec; border-radius:5px; box-shadow:0 0 3px 1px var(--sign,#fff4d6),0 0 12px 3px var(--sign,#fff4d6),inset 0 0 10px var(--sign,#fff4d6); pointer-events:none; }
.ns-ctor__preview.is-frame .ns-window-frame { display:block; }
.ns-ctor__preview.is-frame .ns-sign { display:none; }
.ns-ctor-sec #ns-text,.ns-ctor-page #ns-text { resize:none; }
#ns-fonts .ns-chip { font-synthesis:none; min-width:0; }
#ns-fonts { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
#ns-fonts .ns-chip { display:flex; flex-direction:column; gap:2px; padding:8px 10px; }
#ns-fonts .ns-chip span { color:inherit; }
#ns-fonts .ns-font-sample { font-size:25px; line-height:1.5; font-synthesis:none; text-transform:none; }
.ns-ctor__preview .ns-neon-layer { position:absolute; inset:0; width:100%; height:100%; pointer-events:none; z-index:1; }
.ns-ctor__preview.has-neon-layer .ns-sign,.ns-ctor__preview.has-neon-layer .ns-window-frame { visibility:hidden; }
.ns-ctor__preview.is-frame::before { display:none; }
.ns-stage__meta { z-index:2; font-size:11px; bottom:8px; left:10px; right:10px; gap:4px; text-shadow:0 1px 4px #000; }
.ns-stage__meta span:first-child { padding:3px 7px; background:#101816c9; border-radius:4px; width:fit-content; }
.ns-stage__meta span:last-child { display:none; }
.ns-tquiz-cards--types { grid-template-columns:repeat(2,minmax(0,1fr)); }
.ns-tquiz-card .ns-tquiz-card__image { position:relative; display:block; width:100%; padding:0; aspect-ratio:16 / 9; overflow:hidden; border:1px solid #dedee4; border-radius:6px; background:#183128; }
.ns-tquiz-card__image img { width:100%; height:100%; aspect-ratio:auto; border:0; object-fit:cover; }
.ns-tquiz-card__image .ns-window-frame { display:block; }
.ns-tquiz-card .ns-tquiz-help { display:grid; place-items:center; height:100%; padding:0; color:#daf0e3; font:400 60px "Unbounded",sans-serif; }
.ns-tquiz-card.is-on .ns-tquiz-card__image { outline:3px solid #5b4dff; outline-offset:-3px; }
.ns-tquiz-card:hover .ns-tquiz-card__image { outline:2px solid #b3acff; outline-offset:-2px; }
.ns-ctor-page > aside .ns-btn--ghost { width:100% !important; min-height:44px; font-size:12px; }
.ns-contact { position:fixed; right:24px; bottom:max(24px,env(safe-area-inset-bottom)); z-index:150; display:flex; flex-direction:column; align-items:flex-end; gap:14px; }
.ns-contact__toggle { flex:none; position:relative; isolation:isolate; display:grid; place-items:center; width:58px; height:58px; padding:0; border:0; border-radius:50%; background:#5651fa; color:#fff; cursor:pointer; box-shadow:0 8px 28px #15133645; }
.ns-contact__toggle::before,.ns-contact__toggle::after { content:""; position:absolute; inset:0; border-radius:50%; border:2px solid #7874ff; z-index:-1; animation:ns-contact-pulse 2.5s ease-out infinite; }
.ns-contact__toggle::after { animation-delay:.9s; }
.ns-contact__toggle svg { width:28px; height:28px; }
.ns-contact svg { fill:none; stroke:currentColor; stroke-width:1.9; stroke-linecap:round; stroke-linejoin:round; flex:none; }
.ns-contact.is-open .ns-contact__toggle::before,.ns-contact.is-open .ns-contact__toggle::after { animation:none; opacity:0; }
.ns-contact__panel { order:-1; width:272px; max-width:calc(100vw - 32px); max-height:calc(100dvh - 118px); overflow:auto; padding:14px; border:1px solid #c8d7cc; border-radius:16px; background:#fff; color:#16231e; box-shadow:0 16px 48px #0003; }
.ns-contact__panel[hidden] { display:none; }
.ns-contact__title { margin:0 8px 8px; font-size:14px; font-weight:600; color:#4d6054; }
.ns-contact__link { display:flex; align-items:center; gap:12px; min-height:56px; padding:7px 8px; border-radius:8px; color:#16231e; text-decoration:none; }
.ns-contact__link:hover { background:#edf3ef; }
.ns-contact__icon { display:grid; place-items:center; width:36px; height:36px; border-radius:9px; overflow:hidden; flex:none; }
.ns-contact__icon img { width:36px; height:36px; object-fit:contain; display:block; }
.ns-contact__icon--utility { color:#284c37; background:#e6eee8; }
.ns-contact__icon svg { width:23px; height:23px; }
.ns-contact__link b { display:block; font-size:15px; line-height:1.4; font-weight:600; }
.ns-contact__link small { display:block; color:#4d6054; font-size:12px; line-height:1.5; }
.ns-contact a:focus-visible { outline:3px solid #284c37; outline-offset:0; }
.ns-contact__toggle:focus-visible { outline:3px solid #b8dccc; outline-offset:5px; }
@keyframes ns-contact-pulse { from { opacity:.5; transform:scale(1); } to { opacity:0; transform:scale(1.6); } }
.ns-thanks-back { margin-left:auto; font-size:14px; }
.ns-thanks { display:grid; grid-template-columns:1.25fr .75fr; align-items:center; gap:60px; padding-top:56px; padding-bottom:56px; min-height:calc(100svh - 180px); }
.ns-thanks h1 { font:500 clamp(30px,3.7vw,52px)/1.2 "Unbounded",sans-serif; letter-spacing:-.04em; margin:22px 0; }
.ns-thanks .ns-lead { max-width:580px; font-size:18px; }
.ns-thanks__check { display:grid; place-items:center; width:60px; height:60px; border-radius:50%; background:#244b35; color:#bcebcf; }
.ns-thanks__check svg { width:32px; height:32px; }
.ns-thanks__hours,.ns-thanks__hint { color:#bfd1c5; font-size:14px; line-height:1.6; }
.ns-thanks__actions { display:flex; flex-wrap:wrap; gap:12px; margin:28px 0 18px; }
.ns-thanks__hint { max-width:450px; margin-bottom:30px; }
.ns-thanks__photo { margin:0; }
.ns-thanks__photo img { display:block; width:100%; max-height:560px; object-fit:cover; border-radius:18px; }
.ns-thanks__photo figcaption { color:#bfd1c5; font-size:13px; margin-top:12px; }
.ns-thanks__footer { display:flex; flex-wrap:wrap; gap:18px 30px; padding-bottom:34px; padding-right:90px; color:#bfd1c5; font-size:13px; }
@media (max-width:700px) {
  .ns-steps article { grid-template-columns:56px minmax(0,1fr); }
  .ns-contact { right:16px; bottom:max(18px,env(safe-area-inset-bottom)); }
  .ns-contact-top .ns-wrap { justify-content:center; }
  .ns-tquiz-cards--types { gap:16px 10px; }
  .ns-tquiz-card .ns-tquiz-help { font-size:40px; }
  .ns-thanks { grid-template-columns:minmax(0,1fr); gap:36px; padding-top:36px; min-height:0; }
  .ns-thanks h1 { font-size:clamp(27px,7.5vw,38px); }
  .ns-thanks .ns-lead { font-size:16px; }
  .ns-thanks__photo { max-width:400px; }
  .ns-thanks__photo img { max-height:440px; object-fit:contain; background:#192720; }
  .ns-thanks__actions { flex-direction:column; margin-right:74px; }
  .ns-thanks__actions .ns-btn { flex:1; }
}
@media (prefers-reduced-motion:reduce) {
  .ns-contact__toggle::before,.ns-contact__toggle::after { animation:none; opacity:0; }
}

/* C38: product kinds and the five-step reference quiz. */
#business .ns-kind-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:32px 24px; }
#business .ns-kind-grid .ns-biz__card { min-width:0; }
#business .ns-kind-grid .ns-biz__viz { display:block; width:100%; height:auto; aspect-ratio:3/2; object-fit:cover; }
#business .ns-kind-grid h3 { font-size:24px; }
#business .ns-kind-grid p { max-width:46ch; font-size:15px; line-height:1.6; }
#quiz #ns-quiz-screen { min-width:0; }
#quiz #ns-quiz-q { scroll-margin-top:108px; }
#quiz #ns-quiz-step-label { position:static; display:block; margin-bottom:12px; }

/* C40 — separate project and constructor contact forms */
body.ns-contact-modal-open { overflow:hidden; }
#final .ns-project-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,540px); align-items:start; gap:64px; text-align:left; }
#final .ns-project-copy h2 { font-size:clamp(30px,3.5vw,46px); line-height:1.15; }
#final .ns-project-copy p { margin:24px 0; max-width:440px; }
.ns-contact-form { min-width:0; padding:28px; border:1px solid #c8d7cc; border-radius:16px; background:#fff; color:#16231e; text-align:left; }
.ns-contact-form fieldset { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:16px; min-width:0; margin:0; padding:0; border:0; }
.ns-contact-form .ns-contact-wide,.ns-contact-form .ns-contact-actions { grid-column:1/-1; }
.ns-contact-form .ns-contact-field { display:grid; gap:8px; min-width:0; color:#16231e; font:400 14px/1.45 "Golos Text",sans-serif; }
.ns-contact-form input:not([type=checkbox]),.ns-contact-form select,.ns-contact-form textarea { width:100%; min-width:0; max-width:100%; min-height:48px; padding:12px; border:1px solid #63876d; border-radius:8px; background:#fafcfb; color:#16231e; font:400 16px/1.5 "Golos Text",sans-serif; }
.ns-contact-form input::placeholder,.ns-contact-form textarea::placeholder { color:#607368; opacity:1; }
.ns-contact-form textarea { resize:vertical; min-height:90px; }
.ns-contact-form input[type=file] { padding:9px; font-size:13px; }
.ns-contact-form input[type=file]::file-selector-button { max-width:100%; margin-right:8px; padding:7px 9px; border:0; border-radius:5px; background:#dfe9e2; color:#16231e; font:inherit; }
.ns-contact-form small { color:#4d6054; font-size:12px; overflow-wrap:anywhere; }
.ns-contact-form [hidden] { display:none!important; }
.ns-contact-form .ns-contact-consent { display:flex; align-items:flex-start; gap:10px; color:#4d6054; font:400 13px/1.5 "Golos Text",sans-serif; }
.ns-contact-form input[type=checkbox] { flex:none; width:18px; height:18px; margin:2px 0 0; accent-color:#284c37; }
.ns-contact-form .ns-contact-submit { width:100%; min-height:48px; border:0; border-radius:8px; padding:13px 18px; background:#162b21; color:#fff; font:600 16px/1.4 "Golos Text",sans-serif; cursor:pointer; }
.ns-contact-form .ns-contact-submit:disabled { opacity:.6; cursor:wait; }
.ns-contact-form .ns-contact-remove { justify-self:start; border:0; padding:3px 0; background:transparent; color:#284c37; text-decoration:underline; font:inherit; cursor:pointer; }
.ns-contact-form input:focus-visible,.ns-contact-form select:focus-visible,.ns-contact-form textarea:focus-visible,.ns-contact-form button:focus-visible { outline:2px solid #5b4dff; outline-offset:3px; }
.ns-contact-form [aria-invalid=true] { border-color:#a62034!important; }
#final .ns-contact-form p,.ns-contact-form [data-contact-status] { max-width:none; margin:0; color:#4d6054; font:400 14px/1.5 "Golos Text",sans-serif; overflow-wrap:anywhere; }
#final .ns-contact-form [data-contact-status],.ns-contact-form [data-contact-status] { margin-top:14px; }
.ns-contact-form [data-contact-status]:empty { display:none; }
#final .ns-contact-form [data-contact-status].is-err,.ns-contact-form [data-contact-status].is-err { color:#a62034; }
#ns-contact-dialog { width:min(540px,calc(100vw - 32px)); max-width:none; max-height:calc(100dvh - 32px); margin:auto; padding:28px; overflow:auto; border:1px solid #c8d7cc; border-radius:18px; background:#fff; color:#16231e; box-shadow:0 24px 90px #0005; }
#ns-contact-dialog::backdrop { background:rgba(9,20,15,.72); }
#ns-contact-dialog h2 { margin:0 38px 12px 0; font:500 clamp(21px,3vw,26px)/1.3 "Unbounded",sans-serif; }
#ns-contact-dialog #ns-contact-description { margin:0 0 16px; color:#4d6054; font-size:14px; line-height:1.55; }
#ns-contact-dialog .ns-contact-form { margin:18px 0 0; padding:0; border:0; border-radius:0; }
#ns-contact-recap { margin:0; padding:12px 14px; border-left:3px solid #63876d; border-radius:0 8px 8px 0; background:#edf3ef; color:#284c37; white-space:pre-line; overflow-wrap:anywhere; font-size:12px; line-height:1.6; }
#ns-contact-dialog [data-contact-close] { position:absolute; top:12px; right:12px; display:grid; place-items:center; width:44px; height:44px; border:0; border-radius:50%; background:transparent; color:#16231e; font:400 30px/1 sans-serif; cursor:pointer; }
#ns-contact-dialog [data-contact-close]:hover { background:#edf3ef; }
#ns-contact-dialog [data-contact-close]:focus-visible { outline:2px solid #5b4dff; outline-offset:0; }
@media(max-width:1100px) { #final .ns-project-layout { gap:32px; } #final .ns-contact-actions { padding-right:70px; } }
@media(max-width:800px) { #final .ns-project-layout { grid-template-columns:1fr; } #final .ns-project-copy p { max-width:600px; } }
@media(max-width:560px) {
  .ns-contact-form { padding:20px 16px; }
  .ns-contact-form fieldset { grid-template-columns:minmax(0,1fr); }
  #ns-contact-dialog { padding:24px 18px; }
  #ns-contact-dialog h2 { margin-right:30px; }
}
#quiz .ns-tquiz__progress,#quiz .ns-tquiz__lock,#quiz .ns-tquiz__person span { color:#64646b !important; }
#quiz .ns-q-hint { margin:0 0 18px; color:#64646b; font-size:14px; line-height:1.6; }
#quiz .ns-q-caption { margin:18px 0 0; color:#64646b; font-size:12px; line-height:1.5; }
#quiz .ns-tquiz-card { text-align:left; min-width:0; }
#quiz .ns-tquiz-card .ns-tquiz-card__image { aspect-ratio:3/2; background:#1b2020; }
#quiz .ns-tquiz-card .ns-q-card-title { display:block; font-size:16px; font-weight:600; line-height:1.35; color:#242429; padding-top:12px; }
#quiz .ns-tquiz-card .ns-q-card-desc { display:block; font-size:13px; line-height:1.5; font-weight:400; color:#64646b; padding-top:5px; }
#quiz .ns-q-contain img { object-fit:contain; }
#quiz .ns-q-cards--contents .ns-tquiz-card:last-child { grid-column:1/-1; display:grid; grid-template-columns:minmax(130px,35%) 1fr; column-gap:18px; align-content:center; }
#quiz .ns-q-cards--contents .ns-tquiz-card:last-child .ns-tquiz-card__image { grid-row:1/3; }
#quiz .ns-q-cards--contents .ns-tquiz-card:last-child img { object-fit:contain; }
#quiz .ns-q-cards--contents .ns-tquiz-card:last-child .ns-q-card-title { align-self:end; padding:0; }
#quiz .ns-q-cards--contents .ns-tquiz-card:last-child .ns-q-card-desc { align-self:start; }
#quiz .ns-q-size { display:grid; gap:26px; }
#quiz .ns-q-size__example { position:relative; margin:0; padding:0 38px 34px 0; }
#quiz .ns-q-size__example img { display:block; width:100%; height:220px; object-fit:cover; border-radius:8px; }
#quiz .ns-q-size__width,#quiz .ns-q-size__height { position:absolute; font-size:12px; font-weight:600; color:#5345da; text-align:center; }
#quiz .ns-q-size__width { left:0; right:38px; bottom:0; padding-top:7px; border-top:1px solid #8d83ed; }
#quiz .ns-q-size__width::before,#quiz .ns-q-size__width::after { content:""; position:absolute; top:-5px; height:9px; border-left:1px solid #8d83ed; }
#quiz .ns-q-size__width::before { left:0; } #quiz .ns-q-size__width::after { right:0; }
#quiz .ns-q-size__height { top:0; right:0; bottom:34px; width:28px; border-left:1px solid #8d83ed; writing-mode:vertical-rl; display:grid; place-items:center; }
#quiz .ns-q-design { border-left:3px solid #5b4dff; background:#f2f0ff; padding:12px 14px; color:#454052; font-size:13px; line-height:1.6; overflow-wrap:anywhere; }
#quiz .ns-q-upload { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:24px; align-items:start; }
#quiz .ns-q-upload figure { margin:0; min-width:0; }
#quiz .ns-q-upload figure img { display:block; width:100%; height:250px; object-fit:contain; background:#f6f5f1; border-radius:8px; }
#quiz .ns-q-upload figcaption { color:#64646b; font-size:13px; line-height:1.5; margin-top:12px; }
#quiz .ns-q-upload > div { min-width:0; }
#quiz .ns-tquiz-field small { color:#64646b; font-size:13px; line-height:1.5; overflow-wrap:anywhere; }
#quiz .ns-tquiz-field input[type=file] { width:100%; min-width:0; max-width:100%; padding:12px 8px; font-size:13px; }
#quiz .ns-q-remove { display:block; padding:6px 0; margin:-12px 0 18px; border:0; background:none; color:#5345da; text-decoration:underline; cursor:pointer; font:inherit; font-size:13px; }
#quiz .ns-q-remove[hidden],#quiz .ns-tquiz-field[hidden] { display:none; }
#quiz .ns-q-contact-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
#quiz .ns-q-contact-grid > * { min-width:0; }
#quiz .ns-tquiz-field select { width:100%; border:1px solid #d9d9e0; border-radius:6px; padding:15px; color:#202025; background:#fafafa; font:400 16px/1.5 "Golos Text",sans-serif; }
#quiz .ns-tquiz-field select:focus-visible,#quiz .ns-q-remove:focus-visible,#quiz .ns-q-summary summary:focus-visible { outline:2px solid #5b4dff; outline-offset:3px; }
#quiz .ns-q-summary { margin:20px 0 0; border-top:1px solid #e3e3e6; padding-top:14px; color:#49494f; font-size:14px; }
#quiz .ns-q-summary summary { cursor:pointer; font-weight:600; }
#quiz .ns-q-summary p { line-height:1.7; overflow-wrap:anywhere; }
#quiz .ns-tquiz__work { min-height:650px; }
@media(min-width:1100px) { #quiz .ns-q-size { grid-template-columns:minmax(0,1fr) minmax(0,.9fr); align-items:center; gap:28px; } }
@media(max-width:1100px) {
  #quiz .ns-tquiz__nav { padding-right:66px; }
  #quiz #ns-quiz-submit { min-width:0; max-width:220px; flex:1; padding:10px 14px; white-space:normal; line-height:1.3; }
}
@media(max-width:700px) {
  #business .ns-kind-grid { gap:26px 16px; }
  #business .ns-kind-grid h3 { font-size:20px; }
  #business .ns-kind-grid p { font-size:14px; }
  #quiz .ns-q-upload { grid-template-columns:1fr; gap:20px; }
  #quiz .ns-q-upload figure { display:grid; grid-template-columns:100px 1fr; align-items:center; gap:14px; }
  #quiz .ns-q-upload figure img { height:100px; }
  #quiz .ns-q-upload figcaption { margin:0; }
  #quiz .ns-q-size__example img { height:185px; }
  #quiz .ns-q-contact-grid { grid-template-columns:1fr; gap:0; }
  #quiz .ns-tquiz-card .ns-q-card-title { font-size:14px; }
  #quiz .ns-tquiz-card .ns-q-card-desc { font-size:12px; }
  #quiz .ns-tquiz__work { min-height:550px; }
}
@media(max-width:480px) {
  #business .ns-kind-grid { grid-template-columns:1fr; }
  #quiz .ns-q-cards--contents .ns-tquiz-card:last-child { grid-template-columns:110px minmax(0,1fr); column-gap:12px; }
  #quiz .ns-q-cards--contents .ns-tquiz-card:last-child .ns-tquiz-card__image { aspect-ratio:auto; height:100%; min-height:100px; }
  #quiz .ns-q-cards--services { grid-template-columns:1fr; }
  #quiz .ns-q-cards--services .ns-tquiz-card { display:grid; grid-template-columns:100px minmax(0,1fr); column-gap:12px; }
  #quiz .ns-q-cards--services .ns-tquiz-card__image { grid-row:1/3; height:90px; aspect-ratio:auto; }
  #quiz .ns-q-cards--services .ns-q-card-title { padding:0; align-self:end; }
  #quiz .ns-q-cards--services .ns-q-card-desc { align-self:start; }
}

/* C42: Вывески Москвы logo on the dark header. Later mobile widths stay below this rule. */
.ns-logo img {
  width: auto;
  height: 48px;
  max-width: 220px;
  object-fit: contain;
  object-position: left center;
  filter: none;
}
@media (max-width: 800px) {
  .ns-logo img { height: 40px; max-width: 168px; width: auto; }
}
