/* ---- from page-nova.php (originally lines 30-1694) ---- */
/* =============================================================
   NOVA · page body background (scoped to this template)
   ============================================================= */
body.nova-dark-page{ background:#050508; }

/* =============================================================
   NOVA · OPTION B · "Luminous"
   Classes prefixed .nb-
   ============================================================= */

@property --nb-angle{ syntax:'<angle>'; initial-value:0deg; inherits:false; }

.nb-page{
  --nb-font:inherit; /* uses the theme's font */

  --nb-bg:#050508;
  --nb-card:#0e1016;
  --nb-surface-2:#12141c;
  --nb-surface-3:#1a1d28;
  --nb-ink:#f4f5f8;
  --nb-ink-2:#cdd1da;
  --nb-muted:#8b92a1;
  --nb-line:rgba(255,255,255,.08);
  --nb-line-2:rgba(255,255,255,.14);

  --nb-orange:#fd5902;
  --nb-pink:#FD5902;   /* brand orange (was pink)   */
  --nb-violet:#AACFDF; /* brand light blue (was violet) */
  --nb-cyan:#075056;   /* brand teal (was cyan)     */
  --nb-ok:#AACFDF;     /* brand light blue (was green) */

  /* Brand gradient stops (from the brand colour sheet) - used by gradients and the orb canvas only */
  --nb-g-orange:#FD5902;   /* RGB 253, 89, 2    */
  --nb-g-cream:#FCF9E8;    /* RGB 252, 249, 232 */
  --nb-g-blue:#AACFDF;     /* RGB 170, 207, 223 */
  --nb-g-teal:#075056;     /* RGB 7, 80, 86     */
  --nb-g-ink:#07080b;      /* dark text on gradient fills, for contrast */

  --nb-iri:linear-gradient(110deg, var(--nb-g-orange) 0%, var(--nb-g-blue) 100%);
  --nb-shadow:0 1px 0 rgba(255,255,255,.04) inset, 0 18px 40px -18px rgba(0,0,0,.8);

  background:var(--nb-bg);
  color:var(--nb-ink);
  font-family:var(--nb-font);
  font-weight:500;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
.nb-page *,.nb-page *::before,.nb-page *::after{ box-sizing:border-box; }
/* :where() keeps this reset at zero specificity so component margins always win */
.nb-page :where(h1,h2,h3,p,ul){ margin:0; padding:0; }
.nb-page :where(ul){ list-style:none; }
/* text fields get their focus state from the field wrapper (:focus-within), not an inner ring */
.nb-page :focus-visible:not(input):not(textarea){ outline:2px solid var(--nb-orange); outline-offset:3px; border-radius:8px; }

.nb-section{ padding:130px 0; position:relative; }
.nb-section-tint{ background:radial-gradient(ellipse 50% 40% at 20% 50%, rgba(170,207,223,.08), transparent 70%), linear-gradient(180deg,var(--nb-bg),#0a0b12 50%,var(--nb-bg)); }
.nb-section-head{ margin-bottom:60px; }

.nb-title{
  font-size:clamp(2rem, 1.2rem + 2.4vw, 3.2rem);
  font-weight:700;
  line-height:1.06;
  letter-spacing:-.045em;
}
.nb-lead{ font-size:16.5px; line-height:1.75; color:var(--nb-muted); max-width:460px; }
.nb-lead a{ color:var(--nb-orange); text-decoration:none; font-weight:600; }
.nb-lead a:hover{ text-decoration:underline; }

/* buttons */
.nb-btn{
  display:inline-flex; align-items:center; justify-content:center;
  padding:15px 28px;
  border-radius:14px;
  font-size:15px; font-weight:700;
  text-decoration:none;
  border:1px solid transparent;
  cursor:pointer;
  white-space:nowrap;
  transition:transform .2s ease, box-shadow .2s ease, background .2s ease, color .2s ease;
}
.nb-btn:hover{ transform:translateY(-2px); }
.nb-btn-dark{ background:#fff; color:#07080b; box-shadow:0 12px 30px -12px rgba(255,255,255,.35); }
.nb-btn-dark:hover{ color:#fff; background:var(--nb-orange); box-shadow:0 14px 34px -12px rgba(253,89,2,.7); }
.nb-btn-light{ background:rgba(255,255,255,.04); color:var(--nb-ink); border-color:var(--nb-line-2); }
.nb-btn-light:hover{ color:var(--nb-ink); background:rgba(255,255,255,.09); border-color:rgba(255,255,255,.28); }
.nb-btn-sm{ padding:10px 18px; font-size:13.5px; border-radius:11px; }
.nb-btn-iri{
  color:var(--nb-g-ink);
  background:var(--nb-iri);
  background-size:180% 100%;
  box-shadow:0 16px 40px -14px rgba(253,89,2,.7);
  transition:background-position .6s ease, transform .2s ease;
}
.nb-btn-iri:hover{ color:var(--nb-g-ink); background-position:100% 0; }
.nb-btn-ghost{ color:#fff; border-color:rgba(255,255,255,.25); background:rgba(255,255,255,.04); }
.nb-btn-ghost:hover{ color:#fff; background:rgba(255,255,255,.1); }


/* =============================================================
   HERO
   ============================================================= */

.nb-hero{ position:relative; padding:130px 0 110px; overflow:hidden; }

.nb-hero-dots{
  position:absolute; inset:0;
  background-image:radial-gradient(rgba(255,255,255,.16) 1px, transparent 1.2px);
  background-size:22px 22px;
  -webkit-mask-image:radial-gradient(ellipse 60% 55% at 50% 30%, #000 20%, transparent 75%);
          mask-image:radial-gradient(ellipse 60% 55% at 50% 30%, #000 20%, transparent 75%);
  pointer-events:none;
}
.nb-hero-haze{
  position:absolute;
  top:-260px; left:50%;
  width:1100px; height:760px;
  transform:translateX(-50%);
  background:
    radial-gradient(closest-side at 38% 50%, rgba(253,89,2,.26), transparent),
    radial-gradient(closest-side at 62% 45%, rgba(170,207,223,.3), transparent),
    radial-gradient(closest-side at 50% 70%, rgba(170,207,223,.16), transparent);
  filter:blur(20px);
  pointer-events:none;
}

.nb-hero-inner{ max-width:880px; margin:0 auto; text-align:center; position:relative; }

.nb-js .nb-load{
  opacity:0; transform:translateY(18px);
  animation:nb-in .9s cubic-bezier(.16,1,.3,1) forwards;
  animation-delay:calc(var(--d) * .08s + .1s);
}
@keyframes nb-in{ to{ opacity:1; transform:none; } }

/* orb */
.nb-orb-wrap{
  position:relative;
  width:240px; height:240px;
  margin:0 auto 18px;
}
.nb-orb{ width:100%; height:100%; display:block; }
.nb-orb-fallback{
  display:none;
  position:absolute; inset:30px;
  border-radius:50%;
  background:conic-gradient(from 0deg, var(--nb-g-orange), var(--nb-g-cream), var(--nb-g-blue), var(--nb-g-teal), var(--nb-g-orange));
  filter:blur(2px) saturate(1.2);
  box-shadow:0 30px 80px -20px rgba(170,207,223,.6);
  animation:nb-spin 10s linear infinite;
}
.nb-no-gl .nb-orb{ display:none; }
.nb-no-gl .nb-orb-fallback{ display:block; }
@keyframes nb-spin{ to{ transform:rotate(360deg); } }

.nb-orb-state{
  position:absolute;
  left:50%; bottom:6px;
  transform:translateX(-50%);
  padding:5px 12px;
  border-radius:999px;
  font-size:11.5px; font-weight:700;
  color:var(--nb-ink-2);
  background:rgba(14,16,22,.8);
  border:1px solid var(--nb-line-2);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
  box-shadow:var(--nb-shadow);
  transition:color .3s ease;
}
.nb-orb-state::before{
  content:""; display:inline-block;
  width:6px; height:6px; margin-right:7px; vertical-align:1px;
  border-radius:50%;
  background:var(--nb-ok);
}
.nb-orb-state.is-busy{ color:var(--nb-orange); }
.nb-orb-state.is-busy::before{ background:var(--nb-orange); animation:nb-blink .8s steps(2) infinite; }
@keyframes nb-blink{ 50%{ opacity:0; } }

.nb-pill{
  display:inline-flex; align-items:center; gap:10px;
  padding:5px 16px 5px 5px;
  border-radius:999px;
  background:var(--nb-card);
  border:1px solid var(--nb-line);
  box-shadow:var(--nb-shadow);
  font-size:13.5px; font-weight:600;
  color:var(--nb-ink-2);
  text-decoration:none;
  margin-bottom:26px;
}
.nb-pill:hover{ color:var(--nb-ink); }
.nb-pill-tag{
  padding:4px 10px;
  border-radius:999px;
  font-size:12px; font-weight:700;
  color:var(--nb-g-ink);
  background:var(--nb-iri);
}

.nb-hero-title{
  font-size:clamp(2.6rem, 1.2rem + 5vw, 5.4rem);
  font-weight:700;
  line-height:.98;
  letter-spacing:-.055em;
  margin:0 0 28px;
}
.nb-hero-sub{
  font-size:18px;
  line-height:1.75;
  color:var(--nb-muted);
  max-width:600px;
  margin:0 auto 56px;
  text-align:center;
  text-wrap:balance;
}
.nb-hero-sub strong{ color:var(--nb-ink-2); font-weight:600; }

/* =============================================================
   DEMO DEVICE · Nova running inside a tablet
   ============================================================= */
.nb-device-wrap{ position:relative; max-width:1040px; margin:0 auto; }
.nb-device-glow{
  position:absolute; inset:10% 8% -2%;
  background:
    radial-gradient(closest-side at 30% 60%, rgba(253,89,2,.32), transparent),
    radial-gradient(closest-side at 70% 40%, rgba(170,207,223,.32), transparent);
  filter:blur(60px);
  pointer-events:none;
}
.nb-device{
  position:relative;
  padding:16px;
  border-radius:46px;
  background:linear-gradient(145deg,#2b2e38 0%,#13141a 38%,#191b23 70%,#2a2d36 100%);
  box-shadow:
    0 0 0 1px rgba(255,255,255,.09) inset,
    0 0 0 2px #07080b,
    0 70px 120px -40px rgba(0,0,0,.95),
    0 30px 90px -30px rgba(170,207,223,.3);
  text-align:left;
}
/* front camera */
.nb-device::before{
  content:""; position:absolute; top:5px; left:50%;
  width:6px; height:6px; margin-left:-3px; border-radius:50%;
  background:#06070a; box-shadow:0 0 0 1px rgba(255,255,255,.07), inset 0 0 2px rgba(120,160,255,.35);
}
/* top button */
.nb-device::after{
  content:""; position:absolute; top:-3px; right:12%;
  width:64px; height:3px; border-radius:3px 3px 0 0;
  background:linear-gradient(90deg,#1c1e25,#3a3d47,#1c1e25);
}

.nb-screen{
  position:relative;
  height:640px;
  display:flex; flex-direction:column;
  border-radius:31px;
  overflow:hidden;
  background:#07080c;
  isolation:isolate;
}
/* faint glass reflection */
.nb-screen::after{
  content:""; position:absolute; inset:0; z-index:5; pointer-events:none;
  background:linear-gradient(118deg, rgba(255,255,255,.045) 0%, rgba(255,255,255,0) 32%);
}

.nb-status{
  display:flex; align-items:center; justify-content:space-between;
  padding:9px 24px 5px;
  font-size:12px; font-weight:700; color:var(--nb-ink-2);
  flex-shrink:0;
}
.nb-status-r{ display:inline-flex; align-items:center; gap:6px; }
.nb-status svg{ display:block; height:11px; width:auto; }

.nb-app{ flex:1; min-height:0; display:grid; grid-template-columns:212px minmax(0,1fr); }

/* MissionOS side nav (decorative) */
.nb-side{
  display:flex; flex-direction:column; gap:3px;
  padding:14px 12px 16px;
  border-right:1px solid var(--nb-line);
  background:#0a0b10;
}
.nb-side-brand{ padding:4px 10px 16px; font-size:13px; font-weight:700; letter-spacing:.02em; color:var(--nb-ink); }
.nb-side-label{ padding:0 10px 6px; font-size:10.5px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:#5d6372; }
.nb-side-item{
  display:flex; align-items:center; gap:10px;
  padding:8px 10px;
  border-radius:10px;
  font-size:13.5px; font-weight:600; color:var(--nb-muted);
}
.nb-side-item i{ width:8px; height:8px; border-radius:2.5px; transform:rotate(45deg); background:rgba(255,255,255,.16); margin:0 3px; }
.nb-side-item.is-active{ color:var(--nb-ink); background:rgba(253,89,2,.1); box-shadow:inset 0 0 0 1px rgba(253,89,2,.28); }
.nb-page .nb-side-item img{ width:14px; height:14px; object-fit:contain; }
.nb-side-foot{ margin-top:auto; padding:12px 10px 0; border-top:1px solid var(--nb-line); font-size:12px; color:var(--nb-muted); }
.nb-side-foot b{ display:block; font-size:12.5px; color:var(--nb-ink-2); margin-bottom:2px; }

.nb-main{ display:flex; flex-direction:column; min-width:0; min-height:0; }
.nb-main-head{
  display:flex; align-items:center; justify-content:space-between; gap:12px;
  padding:12px 22px;
  border-bottom:1px solid var(--nb-line);
  flex-shrink:0;
}
.nb-main-title{ display:flex; align-items:center; gap:10px; min-width:0; }
.nb-page .nb-main-title img{ width:30px; height:30px; padding:5px; border-radius:10px; object-fit:contain; background:var(--nb-surface-3); border:1px solid var(--nb-line-2); }
.nb-main-title b{ display:block; font-size:15px; font-weight:700; color:var(--nb-ink); line-height:1.2; }
.nb-main-title small{ display:block; font-size:12px; color:var(--nb-muted); line-height:1.3; }
.nb-new{
  flex-shrink:0;
  padding:8px 12px;
  border-radius:10px;
  border:1px solid var(--nb-line-2);
  background:var(--nb-card);
  color:var(--nb-ink-2);
  font-family:inherit; font-size:12.5px; font-weight:700;
  cursor:pointer;
  transition:background .2s ease, color .2s ease, opacity .2s ease;
}
.nb-new:hover{ background:var(--nb-surface-3); color:#fff; }
.nb-new:disabled{ opacity:.35; cursor:default; }

/* conversation thread (scrolls inside the screen, never moves the page) */
.nb-thread{
  position:relative;
  flex:1; min-height:0;
  overflow-y:auto;
  overscroll-behavior:contain;
  scrollbar-width:thin;
  scrollbar-color:rgba(255,255,255,.14) transparent;
  background:
    radial-gradient(ellipse 70% 50% at 50% 0%, rgba(170,207,223,.06), transparent 70%);
}
.nb-thread-in{
  container-type:inline-size; container-name:nbthread;
  max-width:800px; min-height:100%;
  margin:0 auto;
  padding:26px 26px 14px;
  display:flex; flex-direction:column; gap:20px;
}

/* empty state */
.nb-empty{ margin:auto 0; padding:6px 0; text-align:center; }
.nb-page img.nb-empty-ico{
  display:block; width:52px; height:52px; margin:0 auto 14px;
  padding:10px; border-radius:16px; object-fit:contain;
  background:var(--nb-surface-3); border:1px solid var(--nb-line-2);
  box-shadow:0 14px 40px -12px rgba(253,89,2,.5);
}
.nb-empty-t{ font-size:22px; font-weight:700; letter-spacing:-.02em; color:var(--nb-ink); }
.nb-empty-s{ margin-top:6px; font-size:14px; color:var(--nb-muted); }
.nb-empty .nb-suggest{ margin-top:22px; text-align:left; }
.nb-screen.has-thread .nb-empty{ display:none; }

/* messages */
.nb-msg{ animation:nb-in .45s cubic-bezier(.16,1,.3,1) both; }
.nb-msg-me{
  align-self:flex-end;
  max-width:78%;
  padding:12px 16px;
  border-radius:18px 18px 6px 18px;
  background:var(--nb-iri);
  color:var(--nb-g-ink);
  font-size:15px; font-weight:600; line-height:1.5;
  overflow-wrap:anywhere;
}
.nb-msg-nova{ display:grid; grid-template-columns:32px minmax(0,1fr); gap:12px; align-items:start; }
.nb-page img.nb-msg-av{
  width:32px; height:32px; padding:6px; border-radius:10px; object-fit:contain;
  background:var(--nb-surface-3); border:1px solid var(--nb-line-2);
}
.nb-msg-body{
  padding:16px 20px 18px;
  border-radius:6px 18px 18px 18px;
  background:rgba(14,16,22,.92);
  border:1px solid var(--nb-line);
  box-shadow:0 24px 50px -30px rgba(0,0,0,.9);
}
.nb-msg-name{ font-size:12.5px; font-weight:700; color:var(--nb-ink); margin-bottom:10px; }
.nb-msg-body .nb-trace{ margin-bottom:14px; }
.nb-msg-body .nb-trace:empty{ display:none; }
.nb-msg-body .nb-answer-text{ min-height:0; font-size:15px; }
.nb-msg-grid{ display:grid; gap:16px; }
.nb-msg-side{ min-width:0; }
@container nbthread (min-width:600px){
  .nb-msg-grid.has-side{ grid-template-columns:minmax(0,1.25fr) minmax(0,1fr); gap:22px; align-items:start; }
}

/* composer: ONE field, focus state drawn on the wrapper */
.nb-composer{
  flex-shrink:0;
  padding:10px 22px 14px;
  border-top:1px solid var(--nb-line);
  background:rgba(7,8,12,.94);
}
.nb-composer-in{ max-width:756px; margin:0 auto; }

.nb-chips{
  display:none; gap:8px;
  overflow-x:auto;
  padding:2px 1px 10px;
  scrollbar-width:none;
  -webkit-mask-image:linear-gradient(90deg,#000 88%,transparent);
          mask-image:linear-gradient(90deg,#000 88%,transparent);
}
.nb-chips::-webkit-scrollbar{ display:none; }
.nb-screen.has-thread .nb-chips{ display:flex; }
.nb-chip{
  flex:0 0 auto;
  padding:7px 12px;
  border-radius:999px;
  border:1px solid var(--nb-line-2);
  background:rgba(255,255,255,.03);
  color:var(--nb-ink-2);
  font-family:inherit; font-size:12.5px; font-weight:600; line-height:1.2;
  white-space:nowrap;
  cursor:pointer;
  transition:border-color .2s ease, background .2s ease, color .2s ease;
}
.nb-chip:hover{ border-color:rgba(253,89,2,.5); background:rgba(253,89,2,.08); color:#fff; }
.nb-chip:disabled{ opacity:.45; cursor:not-allowed; }

.nb-field{
  position:relative;
  display:flex; align-items:center; gap:10px;
  padding:6px 6px 6px 18px;
  border-radius:18px;
  background:var(--nb-card);
  isolation:isolate;
  box-shadow:0 18px 40px -24px rgba(253,89,2,.55);
  transition:box-shadow .25s ease;
}
.nb-field::before{
  content:""; position:absolute; inset:-1.5px; z-index:-2;
  border-radius:19.5px;
  background:conic-gradient(from var(--nb-angle), var(--nb-g-orange), var(--nb-g-cream), var(--nb-g-blue), var(--nb-g-teal), var(--nb-g-orange));
  opacity:.5;
  animation:nb-angle 6s linear infinite;
  transition:opacity .25s ease;
}
.nb-field::after{
  content:""; position:absolute; inset:0; z-index:-1;
  border-radius:18px;
  background:var(--nb-card);
}
.nb-field:focus-within{ box-shadow:0 0 0 4px rgba(253,89,2,.14), 0 18px 40px -20px rgba(253,89,2,.6); }
.nb-field:focus-within::before{ opacity:1; }
.nb-composer.is-busy .nb-field::before{ opacity:1; animation-duration:1.2s; }
.nb-field.is-nudge{ animation:nb-shake .42s ease; }
@keyframes nb-shake{ 20%,60%{ transform:translateX(-5px); } 40%,80%{ transform:translateX(5px); } }

/* Hard reset so theme input styles (borders, white backgrounds, focus
   outlines) can never draw a second box inside the Nova field. */
.nb-page .nb-field input[type="text"],
.nb-page .nb-field input[type="text"]:hover,
.nb-page .nb-field input[type="text"]:focus{
  flex:1; min-width:0; width:auto; height:auto;
  margin:0 !important;
  padding:12px 0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  outline:none !important;
  -webkit-appearance:none; appearance:none;
  font-family:inherit; font-size:16px; font-weight:600; line-height:1.3;
  color:var(--nb-ink);
}
.nb-page .nb-field input[type="text"]::placeholder{ color:#6f7686; font-weight:500; opacity:1; }

.nb-send{
  position:relative;
  width:44px; height:44px;
  flex-shrink:0;
  display:grid; place-items:center;
  padding:0;
  border:none;
  border-radius:13px;
  background:var(--nb-surface-3);
  color:var(--nb-muted);
  cursor:pointer;
  transition:transform .2s ease, background .2s ease, color .2s ease;
}
.nb-send svg{ width:19px; height:19px; transition:opacity .2s ease; }
.nb-send.is-ready{ background:#fff; color:#07080b; }
.nb-send.is-ready:hover{ transform:scale(1.05); background:var(--nb-orange); color:#fff; }
.nb-composer.is-busy .nb-send{ background:var(--nb-surface-3); cursor:default; transform:none; }
.nb-composer.is-busy .nb-send svg{ opacity:0; }
.nb-composer.is-busy .nb-send::after{
  content:""; position:absolute;
  width:18px; height:18px; border-radius:50%;
  border:2px solid rgba(255,255,255,.18); border-top-color:var(--nb-orange);
  animation:nb-spin .7s linear infinite;
}

.nb-hint{ margin-top:8px; text-align:center; font-size:11.5px; font-weight:600; color:#5d6372; transition:color .2s ease; }
.nb-hint.is-warn{ color:var(--nb-orange); }

.nb-sr{ position:absolute !important; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }

@media (max-width:991.98px){
  .nb-app{ grid-template-columns:minmax(0,1fr); }
  .nb-side{ display:none; }
  .nb-screen{ height:620px; }
}

/* suggested questions: 2x2 card grid (empty state) */
.nb-suggest{
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:12px;
}
.nb-sug{
  position:relative;
  display:grid;
  grid-template-columns:40px 1fr 18px;
  align-items:center;
  gap:14px;
  padding:16px 18px;
  border-radius:16px;
  border:1px solid var(--nb-line);
  background:linear-gradient(180deg, rgba(255,255,255,.035), rgba(255,255,255,.012));
  font-family:inherit;
  text-align:left;
  color:var(--nb-ink);
  cursor:pointer;
  transition:border-color .25s ease, background .25s ease, transform .25s ease, box-shadow .25s ease;
}
.nb-sug-ico{
  width:40px; height:40px;
  display:grid; place-items:center;
  border-radius:12px;
  background:rgba(253,89,2,.1);
  color:var(--nb-orange);
  transition:background .25s ease, color .25s ease;
}
.nb-sug-ico svg{ width:19px; height:19px; }
.nb-sug-body{ min-width:0; }
.nb-sug-tag{
  display:block;
  margin-bottom:4px;
  font-size:11px; font-weight:700;
  letter-spacing:.08em; text-transform:uppercase;
  color:var(--nb-muted);
}
.nb-sug-q{
  display:block;
  font-size:14.5px; font-weight:600;
  line-height:1.4;
  color:var(--nb-ink-2);
}
.nb-sug-arrow{
  font-size:22px; line-height:1;
  color:var(--nb-muted);
  transition:transform .25s ease, color .25s ease;
}
.nb-sug:hover{
  border-color:rgba(253,89,2,.45);
  background:linear-gradient(180deg, rgba(253,89,2,.09), rgba(253,89,2,.03));
  transform:translateY(-2px);
  box-shadow:0 18px 36px -20px rgba(253,89,2,.55);
}
.nb-sug:hover .nb-sug-ico{ background:var(--nb-orange); color:#fff; }
.nb-sug:hover .nb-sug-q{ color:#fff; }
.nb-sug:hover .nb-sug-arrow{ color:var(--nb-orange); transform:translateX(3px); }
.nb-sug.is-current{ border-color:rgba(253,89,2,.6); background:rgba(253,89,2,.08); }
.nb-sug.is-current .nb-sug-ico{ background:var(--nb-orange); color:#fff; }
.nb-sug:disabled{ opacity:.5; cursor:not-allowed; transform:none; box-shadow:none; }

/* answer pieces (inside each Nova message) */
.nb-trace{ display:flex; flex-wrap:wrap; gap:8px; margin-bottom:24px; }
.nb-trace span{
  position:relative;
  display:inline-flex; align-items:center; gap:8px;
  padding:6px 12px;
  border-radius:9px;
  font-size:12px; font-weight:600;
  color:var(--nb-muted);
  background:var(--nb-surface-3);
  overflow:hidden;
  animation:nb-in .3s ease both;
}
.nb-trace span::before{
  content:""; width:12px; height:12px; border-radius:50%;
  border:1.8px solid rgba(255,255,255,.15);
  border-top-color:var(--nb-orange);
  animation:nb-spin .7s linear infinite;
}
.nb-trace span.is-done{ color:var(--nb-ink-2); }
.nb-trace span.is-done::before{
  border:none; animation:none;
  background:var(--nb-ok);
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20 6 9 17l-5-5' fill='none' stroke='black' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;
          mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20 6 9 17l-5-5' fill='none' stroke='black' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;
}

.nb-answer-text{
  font-size:15.5px;
  line-height:1.7;
  color:var(--nb-ink-2);
  white-space:pre-line;
  min-height:60px;
}
.nb-answer-actions{ display:flex; flex-wrap:wrap; gap:8px; margin-top:16px; }
.nb-answer-actions:empty{ display:none; }
/* result card (mirrors the map card in the Nova app) */
.nb-result{
  display:flex; align-items:center; gap:10px;
  width:100%;
  padding:12px 16px;
  border-radius:12px;
  border:1.5px solid var(--nb-orange);
  background:rgba(253,89,2,.06);
  font-family:inherit;
  font-size:14px; font-weight:600;
  color:var(--nb-ink);
  text-align:left;
  cursor:pointer;
  animation:nb-in .35s ease both;
  transition:background .2s ease;
}
.nb-result:hover{ background:rgba(253,89,2,.14); }
.nb-result svg{ width:18px; height:18px; flex-shrink:0; color:var(--nb-orange); }
.nb-result.is-done{ border-color:rgba(170,207,223,.5); background:rgba(170,207,223,.08); cursor:default; }
.nb-result.is-done svg{ color:var(--nb-ok); }

/* follow-up questions (mirrors the suggestions under each Nova answer) */
.nb-follow:empty{ display:none; }
.nb-follow{ margin-top:28px; padding-top:8px; border-top:1px solid var(--nb-line); }
.nb-follow-h{ display:block; margin:12px 0 2px; font-size:11.5px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--nb-muted); }
.nb-fu{
  display:flex; align-items:center; justify-content:space-between; gap:14px;
  width:100%;
  padding:11px 2px;
  border:none;
  border-bottom:1px solid var(--nb-line);
  background:none;
  font-family:inherit;
  font-size:14.5px; font-weight:600;
  color:var(--nb-orange);
  text-align:left;
  cursor:pointer;
  animation:nb-in .35s ease both;
  transition:color .2s ease;
}
.nb-fu:last-child{ border-bottom:none; }
.nb-fu::after{ content:"\203A"; font-size:22px; line-height:1; }
.nb-fu:hover{ color:#FCF9E8; }
.nb-fu:disabled{ opacity:.45; cursor:not-allowed; }

.nb-answer-viz:empty{ display:none; }
.nb-answer-viz{
  padding:16px;
  border-radius:14px;
  background:var(--nb-surface-2);
  border:1px solid var(--nb-line);
  margin-bottom:12px;
  animation:nb-in .4s ease both;
}
.nb-seg{ display:flex; gap:3px; height:10px; }
.nb-seg span{ border-radius:99px; }
.nb-seg-legend{ display:flex; flex-wrap:wrap; gap:6px 14px; margin-top:10px; font-size:12px; color:var(--nb-muted); }
.nb-seg-legend b{ display:inline-block; width:9px; height:9px; border-radius:3px; margin-right:6px; }
@keyframes nb-grow{ from{ transform:scaleX(0); } }

/* viz: single stat */
.nb-stat-l{ font-size:12px; font-weight:600; color:var(--nb-muted); }
.nb-stat-v{
  margin:6px 0 14px;
  font-size:42px; font-weight:700; letter-spacing:-.045em; line-height:1;
  background:var(--nb-iri);
  -webkit-background-clip:text; background-clip:text;
  -webkit-text-fill-color:transparent; color:transparent;
}
.nb-range-bar{ height:6px; border-radius:99px; background:var(--nb-iri); opacity:.75; transform-origin:left; animation:nb-grow .9s cubic-bezier(.16,1,.3,1) both; }
.nb-range{ display:flex; justify-content:space-between; margin-top:8px; font-size:11.5px; font-weight:600; color:var(--nb-muted); }

/* viz: site map */
.nb-map{ width:100%; height:auto; display:block; }
.nb-pt{ transform-box:fill-box; transform-origin:center; animation:nb-pop .45s cubic-bezier(.16,1,.3,1) both; }
@keyframes nb-pop{ from{ transform:scale(0); opacity:0; } }
.nb-map-cap{ display:flex; flex-wrap:wrap; justify-content:space-between; gap:6px 12px; margin-top:10px; font-size:11.5px; color:var(--nb-muted); }
.nb-map-cap span{ display:inline-flex; align-items:center; gap:6px; }
.nb-map-cap b{ display:inline-block; width:9px; height:9px; border-radius:50%; }
.nb-map-cap em{ font-style:normal; opacity:.75; }

/* viz: capability tags */
.nb-caps{ display:flex; flex-wrap:wrap; gap:6px; }
.nb-caps span{ padding:6px 10px; border-radius:8px; font-size:12px; font-weight:600; color:var(--nb-ink-2); background:var(--nb-surface-3); animation:nb-in .35s ease both; }
.nb-caps-n{ display:flex; align-items:baseline; gap:8px; margin-top:14px; padding-top:12px; border-top:1px solid var(--nb-line); font-size:12px; color:var(--nb-muted); }
.nb-caps-n b{ font-size:22px; font-weight:700; letter-spacing:-.03em; color:var(--nb-ink); }

.nb-sources{ display:flex; flex-direction:column; gap:8px; }
.nb-src{
  display:flex; align-items:center; gap:12px;
  padding:10px 12px;
  border-radius:12px;
  background:var(--nb-card);
  border:1px solid var(--nb-line);
  animation:nb-in .35s ease both;
}
.nb-src i{
  width:30px; height:30px;
  flex-shrink:0;
  display:grid; place-items:center;
  border-radius:9px;
  font-style:normal;
  font-size:12px; font-weight:700;
  color:var(--nb-g-ink);
  background:var(--nb-iri);
}
.nb-src b{ display:block; font-size:12.5px; font-weight:700; line-height:1.3; }
.nb-src small{ font-size:11.5px; color:var(--nb-muted); }

.nb-trust{
  display:flex; justify-content:center; flex-wrap:wrap;
  gap:10px 28px;
  margin-top:72px;
  font-size:13.5px; font-weight:600;
  color:var(--nb-muted);
}
.nb-trust li{ display:inline-flex; align-items:center; gap:9px; }
.nb-trust li::before{
  content:""; width:16px; height:16px;
  background:var(--nb-iri);
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20 6 9 17l-5-5' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;
          mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20 6 9 17l-5-5' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;
}
.nb-hero-ctas{ display:flex; justify-content:center; flex-wrap:wrap; gap:12px; margin-top:28px; }


/* =============================================================
   NUMBERS
   ============================================================= */

.nb-numbers{ padding:10px 0 20px; }
.nb-num{
  height:100%;
  padding:30px 28px;
  border-radius:22px;
  background:var(--nb-card);
  border:1px solid var(--nb-line);
  box-shadow:var(--nb-shadow);
}
.nb-num-v{
  font-size:clamp(2.2rem, 1.6rem + 1.8vw, 3.4rem);
  font-weight:700;
  letter-spacing:-.05em;
  line-height:1;
  margin-bottom:12px;
  background:linear-gradient(110deg,var(--nb-ink) 40%, var(--nb-g-blue) 75%, var(--nb-g-orange));
  -webkit-background-clip:text; background-clip:text;
  -webkit-text-fill-color:transparent; color:transparent;
}
.nb-num p{ font-size:14px; line-height:1.55; color:var(--nb-muted); }


/* =============================================================
   FEATURE EXPLORER
   ============================================================= */

.nb-explorer{
  border-radius:28px;
  background:var(--nb-card);
  border:1px solid var(--nb-line);
  box-shadow:0 50px 100px -40px rgba(0,0,0,1), 0 0 80px -40px rgba(170,207,223,.35);
  overflow:hidden;
}

.nb-tabs{ display:flex; flex-direction:column; padding:14px; height:100%; }
.nb-tab{
  position:relative;
  display:block;
  width:100%;
  text-align:left;
  padding:18px 20px 20px;
  border:none;
  border-radius:16px;
  background:transparent;
  font-family:inherit;
  color:var(--nb-ink);
  cursor:pointer;
  transition:background .25s ease;
}
.nb-tab + .nb-tab{ margin-top:2px; }
.nb-tab:hover{ background:var(--nb-surface-2); }
.nb-tab-t{ display:block; font-size:16.5px; font-weight:700; letter-spacing:-.015em; color:var(--nb-muted); transition:color .25s ease; }
.nb-tab-d{
  display:block;
  font-size:14px; line-height:1.6;
  color:var(--nb-muted);
  max-height:0; opacity:0;
  overflow:hidden;
  transition:max-height .4s ease, opacity .3s ease, margin .3s ease;
}
.nb-tab.is-active{ background:var(--nb-surface-2); }
.nb-tab.is-active .nb-tab-t{ color:var(--nb-ink); }
.nb-tab.is-active .nb-tab-d{ max-height:80px; opacity:1; margin-top:6px; }
.nb-tab-bar{
  position:absolute; left:20px; right:20px; bottom:8px;
  height:2px; border-radius:2px;
  background:transparent;
  overflow:hidden;
}
.nb-tab.is-active .nb-tab-bar{ background:rgba(255,255,255,.07); }
.nb-tab-bar i{ display:block; height:100%; width:0; background:var(--nb-iri); }
.nb-tab.is-active .nb-tab-bar i{ animation:nb-progress var(--nb-dur, 7s) linear forwards; }
.nb-explorer.is-paused .nb-tab.is-active .nb-tab-bar i{ animation-play-state:paused; }
@keyframes nb-progress{ to{ width:100%; } }

.nb-stage{
  position:relative;
  height:calc(100% - 28px);
  min-height:520px;
  margin:14px;
  border-radius:20px;
  background:
    radial-gradient(ellipse 60% 50% at 80% 0%, rgba(170,207,223,.10), transparent 70%),
    radial-gradient(ellipse 50% 50% at 10% 100%, rgba(253,89,2,.08), transparent 70%),
    var(--nb-surface-2);
  border:1px solid var(--nb-line);
  overflow:hidden;
}
.nb-stage-chrome{
  display:flex; align-items:center; gap:7px;
  padding:14px 18px;
  border-bottom:1px solid var(--nb-line);
  font-size:12px; font-weight:600; color:var(--nb-muted);
}
.nb-stage-chrome i{ width:10px; height:10px; border-radius:50%; background:rgba(255,255,255,.1); }
.nb-stage-chrome span{ margin-left:10px; }

.nb-pane{
  position:absolute;
  inset:52px 0 0 0;
  padding:34px 36px;
  display:flex; flex-direction:column; justify-content:center;
  opacity:0;
  visibility:hidden;
  transform:translateY(12px);
  transition:opacity .45s ease, transform .45s cubic-bezier(.16,1,.3,1), visibility 0s linear .45s;
}
.nb-pane.is-active{
  opacity:1; visibility:visible; transform:none;
  transition:opacity .45s ease, transform .45s cubic-bezier(.16,1,.3,1), visibility 0s;
}

/* pane: conversation */
.nb-conv{ display:flex; flex-direction:column; gap:14px; }
.nb-bubble{ max-width:88%; padding:14px 18px; border-radius:18px; font-size:15px; line-height:1.6; }
.nb-bubble-me{ align-self:flex-end; background:var(--nb-iri); color:var(--nb-g-ink); border-bottom-right-radius:6px; font-weight:600; }
.nb-bubble-nova{ align-self:flex-start; background:var(--nb-card); border:1px solid var(--nb-line); border-bottom-left-radius:6px; color:var(--nb-ink-2); box-shadow:var(--nb-shadow); }
.nb-mini-src{ display:block; margin-top:10px; padding-top:10px; border-top:1px solid var(--nb-line); font-size:12px; font-weight:600; color:var(--nb-violet); }
.nb-parse{ align-self:flex-end; display:flex; flex-wrap:wrap; gap:6px; justify-content:flex-end; }
.nb-parse span{
  font-size:12px; font-weight:700;
  padding:6px 10px;
  border-radius:9px;
  background:var(--nb-card);
  border:1px dashed rgba(170,207,223,.45);
  color:var(--nb-ink-2);
}
.nb-parse small{ font-weight:500; color:var(--nb-violet); margin-right:6px; }
.nb-pane.is-active .nb-parse span{ animation:nb-in .4s ease both; }
.nb-pane.is-active .nb-parse span:nth-child(2){ animation-delay:.12s; }
.nb-pane.is-active .nb-parse span:nth-child(3){ animation-delay:.24s; }
.nb-pane.is-active .nb-bubble-nova{ animation:nb-in .5s ease .5s both; }

/* pane: charts */
.nb-pane-label{ font-size:13px; color:var(--nb-muted); margin-bottom:10px; }
.nb-pane-label b{ color:var(--nb-ink); }
.nb-chart{ width:100%; height:240px; display:block; overflow:visible; }
.nb-grid line{ stroke:rgba(255,255,255,.07); stroke-dasharray:3 6; }
.nb-draw{ stroke-dasharray:900; stroke-dashoffset:900; }
.nb-pane.is-active .nb-draw{ animation:nb-draw 1.8s cubic-bezier(.65,0,.35,1) .15s forwards; }
@keyframes nb-draw{ to{ stroke-dashoffset:0; } }
.nb-ping{ transform-origin:510px 40px; animation:nb-ping 1.8s ease-out infinite; }
@keyframes nb-ping{ from{ transform:scale(1); opacity:1; } to{ transform:scale(3.4); opacity:0; } }
.nb-flag{
  margin-top:18px;
  padding:14px 16px;
  border-radius:14px;
  background:var(--nb-card);
  border:1px solid rgba(253,89,2,.35);
  border-left:3px solid var(--nb-orange);
  font-size:13.5px; line-height:1.55;
  color:var(--nb-muted);
}
.nb-flag b{ display:block; color:var(--nb-ink); font-size:14.5px; margin-bottom:2px; }
.nb-flag-soft{ border-color:rgba(170,207,223,.3); border-left-color:var(--nb-violet); }

/* pane: doc */
.nb-doc{
  padding:22px 24px;
  border-radius:18px;
  background:var(--nb-card);
  border:1px solid var(--nb-line);
  box-shadow:var(--nb-shadow);
}
.nb-doc-head{ display:flex; justify-content:space-between; align-items:center; gap:10px; padding-bottom:14px; margin-bottom:14px; border-bottom:1px solid var(--nb-line); }
.nb-doc-head b{ font-size:15.5px; }
.nb-doc-head span{ font-size:12px; font-weight:700; color:var(--nb-violet); background:rgba(170,207,223,.1); padding:4px 9px; border-radius:7px; }
.nb-doc-list{ display:flex; flex-direction:column; gap:11px; }
.nb-doc-list li{ display:flex; align-items:center; gap:12px; font-size:14px; font-weight:600; }
.nb-doc-list li::before{
  content:"";
  width:18px; height:18px; border-radius:50%;
  flex-shrink:0;
  background:rgba(170,207,223,.12);
  border:1.5px solid var(--nb-ok);
}
.nb-doc-list li.is-review::before{ background:rgba(253,89,2,.1); border-color:var(--nb-orange); }
.nb-doc-list em{ margin-left:auto; font-style:normal; font-size:12px; font-weight:600; color:var(--nb-muted); }
.nb-doc-list li.is-review em{ color:var(--nb-orange); }
.nb-pane.is-active .nb-doc-list li{ animation:nb-in .4s ease both; }
.nb-pane.is-active .nb-doc-list li:nth-child(2){ animation-delay:.1s; }
.nb-pane.is-active .nb-doc-list li:nth-child(3){ animation-delay:.2s; }
.nb-pane.is-active .nb-doc-list li:nth-child(4){ animation-delay:.3s; }
.nb-pane.is-active .nb-doc-list li:nth-child(5){ animation-delay:.4s; }
.nb-doc-lines{ display:flex; flex-direction:column; gap:7px; margin-top:18px; }
.nb-doc-lines span{ height:6px; border-radius:99px; background:var(--nb-surface-3); }
.nb-doc-lines span:nth-child(2){ width:88%; }
.nb-doc-lines span:nth-child(3){ width:94%; }
.nb-doc-lines span:nth-child(4){ width:60%; }

/* pane: citations */
.nb-cite-q{ font-size:13.5px; font-weight:700; color:var(--nb-muted); margin-bottom:12px; }
.nb-cite-a{ font-size:17px; line-height:1.75; color:var(--nb-ink); font-weight:500; }
.nb-cite-a mark{ padding:1px 5px; border-radius:5px; background:rgba(253,89,2,.14); color:var(--nb-ink); }
.nb-cite-a sup{ font-size:11px; font-weight:700; color:var(--nb-violet); margin-left:2px; }
.nb-cite-list{ display:flex; flex-direction:column; gap:8px; margin-top:22px; }
.nb-cite-list span{
  display:flex; align-items:center; gap:10px;
  padding:10px 12px;
  border-radius:12px;
  background:var(--nb-card);
  border:1px solid var(--nb-line);
  font-size:13px; font-weight:600;
}
.nb-cite-list b{ width:22px; height:22px; display:grid; place-items:center; border-radius:7px; font-size:11.5px; color:var(--nb-g-ink); background:var(--nb-violet); }

/* pane: approval */
.nb-approval{
  padding:24px;
  border-radius:18px;
  background:var(--nb-card);
  border:1px solid var(--nb-line);
  box-shadow:var(--nb-shadow);
}
.nb-approval-tag{
  display:inline-block;
  font-size:11.5px; font-weight:700;
  padding:4px 10px;
  border-radius:7px;
  color:var(--nb-g-ink);
  background:var(--nb-iri);
  margin-bottom:10px;
}
.nb-approval-top b{ display:block; font-size:17px; line-height:1.4; letter-spacing:-.01em; }
.nb-approval-list{ display:flex; flex-direction:column; gap:10px; margin:18px 0 20px; }
.nb-approval-list li{ display:grid; grid-template-columns:70px 1fr; gap:10px; font-size:14px; color:var(--nb-ink-2); }
.nb-approval-list span{ font-size:12.5px; font-weight:700; color:var(--nb-muted); }
.nb-approval-foot{ display:flex; flex-wrap:wrap; align-items:center; gap:10px; padding-top:18px; border-top:1px solid var(--nb-line); }
.nb-approval-done{ display:none; font-size:13px; font-weight:600; color:var(--nb-ok); }
.nb-approval.is-approved .nb-approval-done{ display:block; animation:nb-in .4s ease both; }
.nb-approval.is-approved .nb-btn{ display:none; }


/* =============================================================
   TIMELINE
   ============================================================= */

.nb-sticky{ position:sticky; top:130px; }
.nb-step-big{
  margin-top:48px;
  font-size:clamp(6rem, 4rem + 6vw, 10rem);
  font-weight:700;
  letter-spacing:-.07em;
  line-height:.85;
  background:var(--nb-iri);
  -webkit-background-clip:text; background-clip:text;
  -webkit-text-fill-color:transparent; color:transparent;
}
.nb-step-big em{ font-style:normal; font-size:.3em; letter-spacing:-.02em; -webkit-text-fill-color:var(--nb-muted); color:var(--nb-muted); }

.nb-timeline{ position:relative; padding-left:54px; }
.nb-tl-track{
  position:absolute; left:14px; top:10px; bottom:10px;
  width:2px; border-radius:2px;
  background:rgba(255,255,255,.08);
  overflow:hidden;
}
.nb-tl-track span{
  display:block; width:100%; height:100%;
  background:linear-gradient(180deg,var(--nb-g-orange),var(--nb-g-blue),var(--nb-g-teal));
  transform-origin:top;
  transform:scaleY(var(--p,0));
}
.nb-tl-step{ position:relative; padding-bottom:90px; opacity:.4; transition:opacity .5s ease; }
.nb-tl-step:last-child{ padding-bottom:0; }
.nb-tl-step.is-on{ opacity:1; }
.nb-tl-dot{
  position:absolute; left:-49px; top:6px;
  width:20px; height:20px; border-radius:50%;
  background:var(--nb-bg);
  border:2px solid rgba(255,255,255,.18);
  transition:border-color .4s ease, box-shadow .4s ease, background .4s ease;
}
.nb-tl-step.is-on .nb-tl-dot{ border-color:var(--nb-orange); background:var(--nb-orange); box-shadow:0 0 0 6px rgba(253,89,2,.12); }
.nb-tl-step h3{ font-size:26px; font-weight:700; letter-spacing:-.03em; margin-bottom:10px; }
.nb-tl-step p{ font-size:15.5px; line-height:1.7; color:var(--nb-muted); max-width:480px; }
.nb-tl-card{
  display:flex; flex-wrap:wrap; gap:8px;
  margin-top:22px;
  padding:16px;
  border-radius:16px;
  background:var(--nb-card);
  border:1px solid var(--nb-line);
  box-shadow:var(--nb-shadow);
  max-width:480px;
  font-size:13.5px; font-weight:600;
}
.nb-tl-card > span{ padding:6px 11px; border-radius:9px; background:var(--nb-surface-3); }
.nb-tl-ask{ font-size:15px; color:var(--nb-ink); }
.nb-tl-answer{ flex-direction:column; gap:10px; }
.nb-tl-answer b{ font-size:16px; }
.nb-conf{ display:block; height:6px; border-radius:99px; background:var(--nb-surface-3); overflow:hidden; }
.nb-conf i{ display:block; height:100%; background:var(--nb-iri); border-radius:99px; }
.nb-tl-answer small{ font-size:12px; color:var(--nb-muted); }
.nb-tl-act > span{ background:rgba(170,207,223,.1); color:var(--nb-ok); }


/* =============================================================
   MODULES
   ============================================================= */

.nb-modules{
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  gap:14px;
}
.nb-mod{
  position:relative;
  min-height:120px;
  padding:22px;
  display:flex; flex-direction:column; justify-content:flex-end; align-items:flex-start;
  border-radius:20px;
  border:1px solid var(--nb-line);
  background:var(--nb-card);
  font-family:inherit;
  font-size:18px; font-weight:700; letter-spacing:-.02em;
  color:var(--nb-ink);
  text-align:left;
  cursor:pointer;
  overflow:hidden;
  isolation:isolate;
  transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.nb-mod::before{
  content:"";
  position:absolute; top:18px; left:22px;
  width:10px; height:10px; border-radius:3px;
  background:var(--nb-iri);
  transform:rotate(45deg);
}
.nb-mod::after{
  content:"";
  position:absolute; inset:0; z-index:-1;
  background:var(--nb-iri);
  opacity:0;
  transition:opacity .3s ease;
}
.nb-mod:hover,.nb-mod.is-active{
  transform:translateY(-3px);
  box-shadow:0 20px 40px -20px rgba(170,207,223,.5);
  border-color:transparent;
  color:var(--nb-g-ink);
}
.nb-mod:hover::after,.nb-mod.is-active::after{ opacity:1; }
.nb-mod:hover::before,.nb-mod.is-active::before{ background:var(--nb-card); }
.nb-mod:hover small,.nb-mod.is-active small{ color:rgba(7,8,11,.7); }
.nb-mod small{ display:block; font-size:12px; font-weight:600; color:var(--nb-muted); margin-top:4px; letter-spacing:0; }
.nb-mod-soon{ background:transparent; border-style:dashed; border-color:var(--nb-line-2); color:var(--nb-muted); }
.nb-mod-soon::before{ background:rgba(255,255,255,.2); }
.nb-mod-soon:hover,.nb-mod-soon.is-active{ color:var(--nb-ink); box-shadow:none; transform:none; border-color:var(--nb-line-2); }
.nb-mod-soon:hover::after,.nb-mod-soon.is-active::after{ opacity:0; }
.nb-mod-soon:hover::before{ background:rgba(255,255,255,.3); }

.nb-mod-core{
  grid-column:span 2;
  position:relative;
  padding:30px 32px;
  border-radius:24px;
  background:linear-gradient(160deg,#10121a,#07080c);
  border:1px solid var(--nb-line-2);
  color:#fff;
  overflow:hidden;
  isolation:isolate;
  display:flex; flex-direction:column; justify-content:center;
  min-height:250px;
}
.nb-core-glow{
  position:absolute; right:-80px; top:-80px;
  width:320px; height:320px;
  z-index:-1;
  border-radius:50%;
  background:conic-gradient(from 0deg, var(--nb-g-orange), var(--nb-g-cream), var(--nb-g-blue), var(--nb-g-teal), var(--nb-g-orange));
  filter:blur(60px);
  opacity:.55;
  animation:nb-spin 14s linear infinite;
}
.nb-core-name{ font-size:13px; font-weight:700; color:rgba(255,255,255,.6); margin-bottom:10px; }
.nb-core-q{
  font-size:clamp(1.25rem, 1rem + .8vw, 1.7rem);
  font-weight:700;
  line-height:1.3;
  letter-spacing:-.025em;
  min-height:2.6em;
  transition:opacity .25s ease;
}
.nb-core-q.is-swap{ opacity:0; }
.nb-core-list{ display:flex; flex-wrap:wrap; gap:8px 20px; margin-top:28px; font-size:13px; color:rgba(255,255,255,.65); }
.nb-core-list li::before{ content:""; display:inline-block; width:6px; height:6px; border-radius:50%; background:var(--nb-orange); margin-right:8px; vertical-align:2px; }


/* =============================================================
   TRUST LAYERS (dark band for contrast)
   ============================================================= */

.nb-section-dark{
  background:
    radial-gradient(ellipse 50% 60% at 75% 50%, rgba(170,207,223,.22), transparent 70%),
    radial-gradient(ellipse 40% 50% at 60% 80%, rgba(253,89,2,.14), transparent 70%),
    #0b0c12;
  color:#fff;
  border:1px solid var(--nb-line);
  border-radius:40px;
  margin:0 12px;
}
.nb-section-dark .nb-lead{ color:rgba(255,255,255,.62); }

.nb-layers{ display:flex; flex-direction:column; gap:8px; margin-top:36px; }
.nb-layer{
  text-align:left;
  padding:16px 18px;
  border-radius:16px;
  border:1px solid rgba(255,255,255,.08);
  background:rgba(255,255,255,.02);
  color:#fff;
  font-family:inherit;
  cursor:pointer;
  transition:background .25s ease, border-color .25s ease;
}
.nb-layer b{ display:block; font-size:15.5px; font-weight:700; }
.nb-layer span{ display:block; font-size:13.5px; line-height:1.55; color:rgba(255,255,255,.55); margin-top:4px; }
.nb-layer:hover{ background:rgba(255,255,255,.05); }
.nb-layer.is-active{ background:rgba(255,255,255,.07); border-color:rgba(253,89,2,.5); }

.nb-stack{ position:relative; height:520px; perspective:1600px; }
.nb-stack-inner{
  position:absolute; left:50%; top:54%;
  width:320px; height:320px;
  transform:translate(-50%,-50%) rotateX(58deg) rotateZ(-38deg);
  transform-style:preserve-3d;
}
.nb-plate{
  position:absolute; inset:0;
  border-radius:34px;
  transform:translateZ(calc(var(--i) * 62px));
  background:linear-gradient(135deg, rgba(255,255,255,.1), rgba(255,255,255,.02));
  border:1px solid rgba(255,255,255,.2);
  box-shadow:0 0 0 1px rgba(255,255,255,.03) inset, 0 40px 60px -20px rgba(0,0,0,.6);
  transition:transform .6s cubic-bezier(.16,1,.3,1), background .5s ease, border-color .5s ease, box-shadow .5s ease;
}
.nb-plate span{
  position:absolute; left:26px; bottom:22px;
  font-size:15px; font-weight:700;
  color:rgba(255,255,255,.55);
  transition:color .4s ease;
}
.nb-plate::before{
  content:"";
  position:absolute; inset:22px 22px 60px;
  border-radius:18px;
  background-image:radial-gradient(rgba(255,255,255,.25) 1px, transparent 1.3px);
  background-size:16px 16px;
  opacity:.5;
}
.nb-plate.is-active{
  transform:translateZ(calc(var(--i) * 62px + 44px));
  background:linear-gradient(135deg, rgba(253,89,2,.8), rgba(170,207,223,.65) 55%, rgba(7,80,86,.85));
  border-color:rgba(255,255,255,.5);
  box-shadow:0 0 80px -10px rgba(253,89,2,.7), 0 40px 60px -20px rgba(0,0,0,.6);
}
.nb-plate.is-active span{ color:#fff; }


/* =============================================================
   FAQ
   ============================================================= */

.nb-faq{ display:flex; flex-direction:column; }
.nb-faq-item{ border-bottom:1px solid var(--nb-line-2); }
.nb-faq-item:first-child{ border-top:1px solid var(--nb-line-2); }
.nb-faq-item summary{
  list-style:none;
  display:flex; align-items:center; justify-content:space-between; gap:20px;
  padding:26px 4px;
  font-size:18px; font-weight:700; letter-spacing:-.015em;
  cursor:pointer;
}
.nb-faq-item summary::-webkit-details-marker{ display:none; }
.nb-faq-item summary::after{
  content:"";
  width:34px; height:34px;
  flex-shrink:0;
  border-radius:11px;
  background:
    linear-gradient(var(--nb-ink),var(--nb-ink)) center/12px 2px no-repeat,
    linear-gradient(var(--nb-ink),var(--nb-ink)) center/2px 12px no-repeat,
    var(--nb-card);
  border:1px solid var(--nb-line-2);
  transition:transform .3s ease, background .3s ease;
}
.nb-faq-item[open] summary::after{
  transform:rotate(45deg);
  background:
    linear-gradient(#fff,#fff) center/12px 2px no-repeat,
    linear-gradient(#fff,#fff) center/2px 12px no-repeat,
    var(--nb-orange);
}
.nb-faq-item p{
  padding:0 4px 26px;
  font-size:15.5px; line-height:1.75;
  color:var(--nb-muted);
  max-width:680px;
}
.nb-faq-item[open] p{ animation:nb-in .4s ease both; }


/* =============================================================
   CTA
   ============================================================= */

.nb-cta{ padding:20px 0 130px; }
.nb-cta-box{
  position:relative;
  padding:70px 60px;
  border-radius:36px;
  background:
    radial-gradient(ellipse 60% 90% at 0% 100%, rgba(253,89,2,.14), transparent 70%),
    #0b0c12;
  border:1px solid var(--nb-line-2);
  color:#fff;
  overflow:hidden;
  isolation:isolate;
}
.nb-cta-ring{
  position:absolute;
  right:-220px; top:50%;
  width:560px; height:560px;
  transform:translateY(-50%);
  border-radius:50%;
  z-index:-1;
  background:conic-gradient(from var(--nb-angle), var(--nb-g-orange), var(--nb-g-cream), var(--nb-g-blue), var(--nb-g-teal), var(--nb-g-orange));
  -webkit-mask:radial-gradient(closest-side, transparent 80%, #000 82%, #000 100%);
          mask:radial-gradient(closest-side, transparent 80%, #000 82%, #000 100%);
  filter:blur(1px);
  opacity:.9;
  animation:nb-angle 10s linear infinite;
}
.nb-cta-ring::after{
  content:""; position:absolute; inset:0; border-radius:50%;
  background:inherit; filter:blur(40px); opacity:.6;
}
.nb-cta-box h2{
  font-size:clamp(2rem, 1.2rem + 2.6vw, 3.4rem);
  font-weight:700;
  letter-spacing:-.045em;
  line-height:1.04;
  margin-bottom:18px;
}
.nb-cta-box p{ font-size:16.5px; line-height:1.7; color:rgba(255,255,255,.65); max-width:480px; }
.nb-cta-actions{ display:flex; flex-wrap:wrap; gap:12px; justify-content:flex-end; }


/* =============================================================
   REVEAL
   ============================================================= */

.nb-js [data-reveal]{ opacity:0; transform:translateY(28px); transition:opacity .9s cubic-bezier(.16,1,.3,1), transform .9s cubic-bezier(.16,1,.3,1); }
.nb-js [data-reveal].nb-in{ opacity:1; transform:none; }


/* =============================================================
   NOVA BRAND (logo + icon placements)
   Sized by height so any logo aspect ratio fits; the img selectors
   are specific enough to beat theme rules like img{height:auto}.
   ============================================================= */

/* hero: large logo as the first thing on the page */
.nb-hero-logo{
  position:relative;
  display:flex; justify-content:center;
  margin:0 auto 28px;
}
.nb-page img.nb-brand-logo{
  display:block;
  height:clamp(52px, 30px + 4vw, 84px);
  width:auto;
  max-width:min(360px, 72vw);
  filter:drop-shadow(0 10px 30px rgba(5,5,8,.55));
}
/* visible WebGL orb above the logo */
.nb-page .nb-hero-inner > .nb-orb-wrap{ width:200px; height:200px; margin:0 auto 22px; }

.nb-hero-tag .nb-pill{ margin-bottom:26px; }


/* "Nova" avatar on answers */
.nb-who{
  display:flex; align-items:center; gap:10px;
  margin-bottom:12px;
  font-size:13px; font-weight:700;
  color:var(--nb-ink);
}
.nb-page .nb-who img{
  width:30px; height:30px;
  padding:5px;
  border-radius:10px;
  object-fit:contain;
  background:var(--nb-surface-3);
  border:1px solid var(--nb-line-2);
  flex-shrink:0;
}
.nb-who-sm{ gap:8px; margin-bottom:8px; font-size:12px; }
.nb-page .nb-who-sm img{ width:24px; height:24px; padding:4px; border-radius:8px; }

/* window title bar in the feature explorer */
.nb-chrome-brand{ display:inline-flex; align-items:center; gap:7px; }
.nb-page .nb-chrome-brand img{ width:16px; height:16px; object-fit:contain; }

/* module grid core card */
.nb-page img.nb-core-logo{
  display:block;
  height:34px; width:auto; max-width:180px;
  align-self:flex-start;
  margin-bottom:16px;
}

/* closing CTA */
.nb-page img.nb-cta-logo{
  display:block;
  height:40px; width:auto; max-width:200px;
  margin-bottom:22px;
}

@media (max-width:575.98px){
  .nb-hero-logo{ margin-bottom:22px; }
  .nb-page img.nb-cta-logo{ height:34px; }
}


/* =============================================================
   RESPONSIVE
   ============================================================= */

@media (max-width:991.98px){
  .nb-section{ padding:96px 0; }
  .nb-hero{ padding:120px 0 90px; }
  .nb-lead{ max-width:none; }

  .nb-tabs{ flex-direction:row; overflow-x:auto; gap:6px; padding:12px; scrollbar-width:none; }
  .nb-tabs::-webkit-scrollbar{ display:none; }
  .nb-tab{ flex:0 0 auto; width:auto; padding:12px 16px 16px; }
  .nb-tab + .nb-tab{ margin-top:0; }
  .nb-tab-t{ font-size:14px; white-space:nowrap; }
  .nb-tab-d{ display:none; }
  .nb-tab-bar{ left:16px; right:16px; bottom:6px; }
  .nb-stage{ margin:0 12px 12px; min-height:500px; }

  .nb-sticky{ position:static; }
  .nb-step-big{ display:none; }

  .nb-modules{ grid-template-columns:repeat(2,1fr); }
  .nb-mod-core{ grid-column:1 / -1; order:-1; }

  .nb-section-dark{ margin:0; border-radius:28px; }
  .nb-stack{ height:420px; }
  .nb-stack-inner{ width:260px; height:260px; }

  .nb-cta-box{ padding:56px 32px; }
  .nb-cta-actions{ justify-content:flex-start; }
}

@media (max-width:767.98px){
  .nb-page .nb-hero-inner > .nb-orb-wrap{ width:170px; height:170px; margin-bottom:18px; }
  .nb-hero-sub{ font-size:16px; }
  .nb-hero-sub{ margin-bottom:40px; }
  .nb-suggest{ grid-template-columns:1fr; gap:10px; }

  .nb-device{ padding:9px; border-radius:32px; }
  .nb-device::before{ top:2px; width:5px; height:5px; margin-left:-2.5px; }
  .nb-device::after{ display:none; }
  .nb-screen{ height:620px; border-radius:24px; }
  .nb-status{ padding:7px 18px 3px; }
  .nb-main-head{ padding:10px 14px; }
  .nb-main-title small{ display:none; }
  .nb-thread-in{ padding:18px 14px 10px; gap:16px; }
  .nb-page img.nb-empty-ico{ display:none; }
  .nb-empty-t{ font-size:19px; }
  .nb-empty .nb-suggest{ margin-top:16px; }
  .nb-msg-nova{ grid-template-columns:minmax(0,1fr); }
  .nb-page img.nb-msg-av{ display:none; }
  .nb-msg-body{ padding:14px 16px; }
  .nb-msg-me{ max-width:88%; font-size:14.5px; }
  .nb-composer{ padding:8px 12px 10px; }
  .nb-field{ padding-left:14px; }
  .nb-sug{ grid-template-columns:36px 1fr 14px; gap:12px; padding:14px; }
  .nb-sug-ico{ width:36px; height:36px; border-radius:10px; }
  .nb-sug-q{ font-size:14px; }
  .nb-trust{ margin-top:52px; }
  .nb-fu{ font-size:14px; }

  .nb-pane{ padding:24px 20px; }
  .nb-chart{ height:190px; }
  .nb-stage{ min-height:540px; }

  .nb-tl-step{ padding-bottom:64px; }
  .nb-timeline{ padding-left:44px; }
  .nb-tl-dot{ left:-39px; }
  .nb-tl-track{ left:9px; }

  .nb-mod{ min-height:96px; font-size:16px; padding:18px; }
  .nb-mod::before{ left:18px; top:16px; }
  .nb-mod-core{ padding:26px 24px; min-height:0; }

  .nb-stack{ height:340px; }
  .nb-stack-inner{ width:210px; height:210px; }
  .nb-plate{ transform:translateZ(calc(var(--i) * 44px)); border-radius:24px; }
  .nb-plate.is-active{ transform:translateZ(calc(var(--i) * 44px + 30px)); }
  .nb-plate span{ font-size:12.5px; left:18px; bottom:14px; }

  .nb-faq-item summary{ font-size:16px; padding:22px 2px; }

  .nb-cta{ padding:10px 0 90px; }
  .nb-cta-box{ padding:48px 24px; border-radius:28px; }
  .nb-cta-ring{ width:360px; height:360px; right:-180px; top:20%; }
}

@media (max-width:575.98px){
  .nb-hero-ctas .nb-btn,.nb-cta-actions .nb-btn{ width:100%; }
}

@media (prefers-reduced-motion:reduce){
  .nb-page *,.nb-page *::before,.nb-page *::after{
    animation-duration:.001ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.001ms !important;
  }
  .nb-js .nb-load,.nb-js [data-reveal]{ opacity:1; transform:none; }
  .nb-draw{ stroke-dashoffset:0; }
}


/* =============================================================
   iPAD (landscape iPad Pro look; overrides the earlier device styles)
   ============================================================= */
.nb-device-wrap{
  max-width:1000px;
  padding-top:16px;            /* room for the Pencil on the top edge */
  perspective:2200px;
}
/* soft contact shadow on the "desk" under the iPad */
.nb-device-wrap::before{
  content:""; position:absolute;
  left:7%; right:7%; bottom:-38px; height:70px;
  background:radial-gradient(closest-side, rgba(0,0,0,.8), transparent);
  filter:blur(8px);
  pointer-events:none;
}

/* aluminium unibody edge + black glass bezel */
.nb-device{
  padding:18px;
  border-radius:44px;
  border:3px solid transparent;
  background:
    linear-gradient(#050506,#050506) padding-box,
    linear-gradient(160deg,#f2f3f5 0%,#9a9ea6 14%,#55585f 34%,#3b3d43 50%,#62656c 70%,#b9bcc2 88%,#f4f5f7 100%) border-box;
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.06),
    inset 0 1px 0 1px rgba(255,255,255,.08),
    0 0 0 1px rgba(0,0,0,.7),
    0 70px 110px -45px rgba(0,0,0,.95),
    0 30px 90px -30px rgba(170,207,223,.25);
  transform-origin:50% 100%;
  transition:transform .9s cubic-bezier(.16,1,.3,1);
}
/* resting tilt, like an iPad on a desk; straightens when you use it */
@media (hover:hover) and (min-width:992px){
  .nb-device{ transform:rotateX(9deg) scale(.97); }
  .nb-device-wrap:hover .nb-device,
  .nb-device-wrap:focus-within .nb-device{ transform:none; }
}

/* landscape front camera, centred in the top bezel */
.nb-device::before{
  top:6px; width:7px; height:7px; margin-left:-3.5px;
  background:radial-gradient(circle at 35% 35%, #4a5a7a 0 16%, #0b0d12 46%, #000 100%);
  box-shadow:0 0 0 1.5px #16181d;
}
/* top button */
.nb-device::after{
  display:block;
  top:-6px; right:auto; left:9%;
  width:56px; height:3px;
  border-radius:3px 3px 0 0;
  background:linear-gradient(90deg,#55585f,#cfd2d7 50%,#55585f);
}
/* volume buttons on the right edge */
.nb-device-vol::before,
.nb-device-vol::after{
  content:""; position:absolute; right:-6px;
  width:3px; height:44px;
  border-radius:0 3px 3px 0;
  background:linear-gradient(180deg,#55585f,#cfd2d7 50%,#55585f);
}
.nb-device-vol::before{ top:84px; }
.nb-device-vol::after{ top:136px; }

/* Apple Pencil, attached magnetically to the top edge */
.nb-pencil{
  position:absolute; z-index:2;
  top:-14px; left:40%;
  width:46%; height:11px;
  border-radius:5px 2px 2px 5px;
  background:linear-gradient(180deg,#ffffff 0%,#f2f2f4 45%,#d2d3d8 100%);
  box-shadow:0 1px 0 rgba(0,0,0,.35), inset 0 -1px 0 rgba(0,0,0,.08), 0 -6px 18px -6px rgba(255,255,255,.18);
  pointer-events:none;
}
.nb-pencil::before{
  content:""; position:absolute;
  top:0; right:-22px;
  width:22px; height:11px;
  background:linear-gradient(90deg,#f3f3f5 0%,#dcdde1 72%,#8e9197 72%);
  clip-path:polygon(0 0, 100% 40%, 100% 60%, 0 100%);
}

/* 4:3 display with an iPadOS wallpaper behind the app */
.nb-screen{
  height:auto;
  aspect-ratio:4 / 3;
  border-radius:26px;
  background:
    radial-gradient(60% 50% at 88% 0%, rgba(170,207,223,.18), transparent 70%),
    radial-gradient(50% 45% at 0% 100%, rgba(253,89,2,.16), transparent 70%),
    radial-gradient(45% 40% at 55% 60%, rgba(7,80,86,.28), transparent 70%),
    #06070a;
  box-shadow:0 0 0 1px rgba(255,255,255,.04);
}
/* glass sheen across the display */
.nb-screen::after{
  border-radius:inherit;
  background:linear-gradient(118deg, rgba(255,255,255,.075) 0%, rgba(255,255,255,.02) 24%, rgba(255,255,255,0) 40%, rgba(255,255,255,0) 78%, rgba(255,255,255,.025) 100%);
}

/* iPadOS status bar: time + date left, multitasking dots centre, wifi + battery right */
.nb-status{ position:relative; padding:10px 28px 4px; font-size:12.5px; font-weight:600; color:var(--nb-ink); }
.nb-status-l{ display:inline-flex; gap:7px; }
.nb-status-r{ gap:7px; }
.nb-batt-pct{ font-size:12px; }
.nb-ms-dots{
  position:absolute; left:50%; top:13px;
  transform:translateX(-50%);
  display:flex; gap:4px;
}
.nb-ms-dots i{ width:5px; height:5px; border-radius:50%; background:rgba(255,255,255,.55); }

/* home indicator */
.nb-home-ind{
  position:absolute; left:50%; bottom:8px; z-index:6;
  width:150px; height:5px; margin-left:-75px;
  border-radius:99px;
  background:rgba(255,255,255,.6);
  pointer-events:none;
}

/* glass sidebar, iPadOS style */
.nb-app{ grid-template-columns:232px minmax(0,1fr); }
.nb-side{
  margin:4px 0 24px 10px;
  padding:12px 10px 14px;
  border:1px solid rgba(255,255,255,.1);
  border-radius:22px;
  background:linear-gradient(180deg, rgba(255,255,255,.075), rgba(255,255,255,.03));
  -webkit-backdrop-filter:blur(24px) saturate(1.4);
          backdrop-filter:blur(24px) saturate(1.4);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08), 0 20px 40px -20px rgba(0,0,0,.8);
}
.nb-side-top{ display:flex; align-items:center; justify-content:space-between; padding:0 6px 8px; color:var(--nb-orange); }
.nb-side-top svg{ width:20px; height:20px; }
.nb-side-brand{ padding:0 8px 10px; font-size:22px; font-weight:700; letter-spacing:-.02em; }
.nb-side-search{
  display:flex; align-items:center; gap:7px;
  margin:0 4px 14px; padding:7px 10px;
  border-radius:10px;
  background:rgba(118,118,128,.24);
  font-size:13px; font-weight:500; color:#8e8e93;
}
.nb-side-search svg{ width:14px; height:14px; }
.nb-side-item{ color:var(--nb-ink-2); }
.nb-side-item svg{ width:17px; height:17px; flex-shrink:0; color:var(--nb-orange); }
.nb-side-item.is-active{ background:var(--nb-orange); color:#fff; box-shadow:none; }
.nb-page .nb-side-item.is-active img{ filter:brightness(0) invert(1); }

/* translucent header and composer over the wallpaper */
.nb-main-head{ border-bottom-color:rgba(255,255,255,.06); }
.nb-composer{
  padding-bottom:24px;
  border-top-color:rgba(255,255,255,.06);
  background:rgba(8,9,13,.55);
  -webkit-backdrop-filter:blur(20px);
          backdrop-filter:blur(20px);
}

@media (max-width:991.98px){
  .nb-app{ grid-template-columns:minmax(0,1fr); }
}

/* phones: the iPad in portrait, Pencil on the right edge */
@media (max-width:767.98px){
  .nb-device-wrap{ padding:0 12px; }
  .nb-device{ padding:12px; border-radius:34px; border-width:2.5px; }
  .nb-device::before{ top:3px; width:5px; height:5px; margin-left:-2.5px; }
  .nb-device::after{ top:-5.5px; left:auto; right:18%; width:40px; }
  .nb-device-vol::before{ right:-5.5px; top:70px; height:34px; }
  .nb-device-vol::after{ right:-5.5px; top:112px; height:34px; }
  .nb-pencil{
    top:26%; left:auto; right:-13.5px;
    width:11px; height:44%;
    border-radius:5px 5px 2px 2px;
    background:linear-gradient(90deg,#d2d3d8 0%,#f2f2f4 55%,#ffffff 100%);
  }
  .nb-pencil::before{
    top:auto; right:0; bottom:-20px;
    width:11px; height:20px;
    background:linear-gradient(180deg,#f3f3f5 0%,#dcdde1 72%,#8e9197 72%);
    clip-path:polygon(0 0, 100% 0, 60% 100%, 40% 100%);
  }
  .nb-screen{ aspect-ratio:auto; height:clamp(560px, 138vw, 700px); border-radius:22px; }
  .nb-status{ padding:7px 20px 3px; }
  .nb-status-date{ display:none; }
  .nb-ms-dots{ top:10px; }
  .nb-home-ind{ width:110px; margin-left:-55px; bottom:6px; }
  .nb-composer{ padding-bottom:20px; }
}
