/* =====================================================================
   Navigare Space — homepage stylesheet
   Ported verbatim from /home/ubuntu/navigare-pricing-260524_v2.html
   ===================================================================== */

:root {
  --ink: #0b1f3a;
  --ink-deep: #061427;
  --parchment: #f4ead5;
  --parchment-light: #faf3e0;
  --parchment-warm: #ede0c2;
  --copper: #b8612a;
  --copper-bright: #d97744;
  --copper-deep: #8a4520;
  --rust: #6b2e1a;
  --seafoam: #547875;
  --gold: #c89b3c;
  --line: rgba(11, 31, 58, 0.18);
  --line-strong: rgba(11, 31, 58, 0.45);
}

* { margin: 0; padding: 0; box-sizing: border-box; }
html { scroll-behavior: smooth; }
body.nv-page {
  background: var(--parchment);
  color: var(--ink);
  font-family: 'Inter Tight', sans-serif;
  line-height: 1.5;
  overflow-x: hidden;
  position: relative;
}
body.nv-page::before {
  content: '';
  position: fixed;
  inset: 0;
  background-image:
    radial-gradient(circle at 20% 30%, rgba(184, 97, 42, 0.04) 0%, transparent 50%),
    radial-gradient(circle at 80% 70%, rgba(11, 31, 58, 0.05) 0%, transparent 50%),
    url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0.4 0 0 0 0 0.25 0 0 0 0 0.1 0 0 0 0.08 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  pointer-events: none;
  z-index: 1;
  mix-blend-mode: multiply;
  opacity: 0.5;
}

/* ============ NAV ============ */
.nv-page nav.nv-nav {
  position: fixed; top: 0; left: 0; right: 0;
  z-index: 100;
  padding: 1.25rem 3rem;
  background: rgba(244, 234, 213, 0.92);
  backdrop-filter: blur(12px);
  border-bottom: 1px solid var(--line);
  display: flex; align-items: center; justify-content: space-between;
}
.nv-page nav.nv-nav .logo {
  font-family: 'Fraunces', serif;
  font-size: 1.4rem; font-weight: 500;
  display: flex; align-items: center; gap: 0.6rem;
}
.nv-page nav.nv-nav .logo svg { width: 28px; height: 28px; }
.nv-page nav.nv-nav .logo em { font-style: italic; color: var(--copper); font-weight: 400; }
.nv-page nav.nv-nav .links { display: flex; gap: 2.5rem; align-items: center; }
.nv-page nav.nv-nav .links a {
  color: var(--ink); text-decoration: none;
  font-size: 0.82rem; font-family: 'JetBrains Mono', monospace;
  text-transform: uppercase; letter-spacing: 0.12em;
  transition: color 0.3s;
}
.nv-page nav.nv-nav .links a:hover { color: var(--copper); }
.nv-page nav.nv-nav .cta,
.nv-page nav.nv-nav .links a.cta {
  background: var(--ink); color: var(--parchment);
  padding: 0.6rem 1.4rem;
  border: 1px solid var(--ink);
  font-size: 0.78rem; text-transform: uppercase; letter-spacing: 0.14em;
  transition: all 0.3s;
}
.nv-page nav.nv-nav .cta:hover,
.nv-page nav.nv-nav .links a.cta:hover { background: var(--copper); border-color: var(--copper); color: var(--parchment); }
.nv-page nav.nv-nav .links a.cta { white-space: nowrap; }
/* Przycisk bez łamania jest szerszy — przy węższych ekranach ciaśniejsze menu,
   żeby się mieściło (zmierzone: 1280 px bez tego wystaje o 69 px). */
@media (max-width: 1500px) {
  .nv-page nav.nv-nav .links { gap: 1.4rem; }
}
@media (max-width: 1200px) {
  .nv-page nav.nv-nav { padding-left: 1.5rem; padding-right: 1.5rem; }
  .nv-page nav.nv-nav .links { gap: 1rem; }
  .nv-page nav.nv-nav .links a { letter-spacing: .06em; }
  .nv-page nav.nv-nav .links a.cta { padding: .6rem .9rem; }
}

/* ============ HERO ============ */
.hero {
  min-height: 92vh;
  padding: 9rem 3rem 4rem;
  position: relative; z-index: 2;
  display: grid;
  grid-template-columns: 1.4fr 1fr;
  gap: 4rem; align-items: center;
}

.eyebrow {
  font-family: 'JetBrains Mono', monospace;
  font-size: 0.75rem;
  text-transform: uppercase; letter-spacing: 0.24em;
  color: var(--copper);
  margin-bottom: 2rem;
  display: flex; align-items: center; gap: 1rem;
  opacity: 0; animation: fadeUp 0.8s ease-out 0.1s forwards;
}
.eyebrow::before { content: ''; width: 40px; height: 1px; background: var(--copper); }

.nv-page h1 {
  font-family: 'Fraunces', serif;
  font-size: clamp(2.6rem, 5.6vw, 5.2rem);
  font-weight: 300;
  line-height: 0.98; letter-spacing: -0.035em;
  margin-bottom: 2rem;
  opacity: 0; animation: fadeUp 0.9s ease-out 0.2s forwards;
}
.nv-page h1 em { font-style: italic; color: var(--copper); font-weight: 400; }
.nv-page h1 .underline {
  text-decoration: underline;
  text-decoration-color: var(--gold);
  text-decoration-thickness: 2px;
  text-underline-offset: 6px;
}

.hero-lead {
  font-size: 1.12rem; line-height: 1.65;
  max-width: 580px;
  margin-bottom: 2.5rem;
  opacity: 0; animation: fadeUp 0.9s ease-out 0.35s forwards;
}
.hero-lead strong { font-weight: 600; }

.hero-meta {
  display: flex; gap: 3rem;
  opacity: 0; animation: fadeUp 0.9s ease-out 0.5s forwards;
}
.hero-meta div { border-left: 2px solid var(--copper); padding-left: 1rem; }
.hero-meta .num {
  font-family: 'Fraunces', serif;
  font-size: 1.9rem; font-weight: 500;
  line-height: 1;
}
.hero-meta .label {
  font-family: 'JetBrains Mono', monospace;
  font-size: 0.68rem;
  text-transform: uppercase; letter-spacing: 0.14em;
  margin-top: 0.4rem; opacity: 0.7;
}

.hero-chart {
  position: relative; aspect-ratio: 1;
  opacity: 0; animation: fadeIn 1.4s ease-out 0.6s forwards;
}
.hero-chart svg { width: 100%; height: 100%; }
@keyframes fadeUp { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: translateY(0); } }
@keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } }
@keyframes spin { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }
.compass-rotate { animation: spin 120s linear infinite; transform-origin: center; }

/* ============ DIVIDER ============ */
.divider {
  padding: 2rem 3rem;
  position: relative; z-index: 2;
  display: flex; align-items: center; gap: 2rem;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  background: var(--parchment-light);
}
.divider .star { color: var(--copper); }
.divider .text {
  font-family: 'JetBrains Mono', monospace;
  font-size: 0.72rem;
  text-transform: uppercase; letter-spacing: 0.3em;
  color: var(--ink-deep);
}
.divider .line-fill { flex: 1; height: 1px; background: var(--line); }

/* ============ SECTIONS ============ */
.nv-section-page { padding: 7rem 3rem; position: relative; z-index: 2; }
.section-head { max-width: 920px; margin-bottom: 4.5rem; }
.section-num {
  font-family: 'JetBrains Mono', monospace;
  font-size: 0.75rem;
  color: var(--copper);
  letter-spacing: 0.2em;
  margin-bottom: 1.5rem;
}
.nv-section-page h2 {
  font-family: 'Fraunces', serif;
  font-size: clamp(2.2rem, 4.5vw, 3.6rem);
  font-weight: 300;
  line-height: 1.05; letter-spacing: -0.02em;
  margin-bottom: 1.5rem;
}
.nv-section-page h2 em { font-style: italic; color: var(--copper); font-weight: 400; }
.section-sub {
  font-size: 1.1rem; max-width: 700px;
  line-height: 1.6; opacity: 0.85;
}

/* ============ TIER GROUPS ============ */
.tier-band { margin-bottom: 4rem; }
.tier-band-header {
  display: flex;
  align-items: baseline;
  gap: 1.5rem;
  margin-bottom: 2rem;
  padding-bottom: 0.8rem;
  border-bottom: 2px solid var(--ink);
}
.tier-band-rank {
  font-family: 'Fraunces', serif;
  font-style: italic;
  font-size: 1.1rem;
  color: var(--copper);
  letter-spacing: 0.05em;
}
.tier-band-title {
  font-family: 'Fraunces', serif;
  font-size: 1.8rem;
  font-weight: 400;
  letter-spacing: -0.02em;
  line-height: 1.1;
}
.tier-band-title em { font-style: italic; color: var(--copper); }
.tier-band-note {
  font-family: 'JetBrains Mono', monospace;
  font-size: 0.7rem;
  text-transform: uppercase;
  letter-spacing: 0.16em;
  color: var(--ink-deep);
  opacity: 0.6;
  margin-left: auto;
  white-space: nowrap;
}

/* ============ INDUSTRY CARDS ============ */
.industries-section { background: var(--parchment); }

.industries-grid {
  display: grid;
  gap: 0;
  border: 1px solid var(--line-strong);
  background: var(--line);
}
.industries-grid.cols-2 { grid-template-columns: repeat(2, 1fr); }
.industries-grid.cols-3 { grid-template-columns: repeat(3, 1fr); }
.industries-grid.cols-4 { grid-template-columns: repeat(4, 1fr); }
.industries-grid.cols-5 { grid-template-columns: repeat(5, 1fr); }

.ind-card {
  background: var(--parchment-light);
  padding: 2.2rem 1.7rem;
  display: flex; flex-direction: column;
  position: relative;
  transition: background 0.4s;
  min-height: 490px;
}
.ind-card:hover { background: var(--parchment-warm); }

.ind-card.premium {
  background: var(--ink);
  color: var(--parchment);
}
.ind-card.premium:hover { background: var(--ink-deep); }
.ind-card.premium .ind-num { color: var(--copper-bright); }
.ind-card.premium .ind-features li::before { color: var(--copper-bright); }
.ind-card.premium .ind-features li { border-bottom-color: rgba(244, 234, 213, 0.12); }
.ind-card.premium .ind-tagline { color: var(--copper-bright); }
.ind-card.premium .price-strike { opacity: 0.45; }
.ind-card.premium .ind-icon { color: var(--copper-bright); }

.ind-card.flagship {
  background: linear-gradient(160deg, var(--copper-deep) 0%, var(--rust) 100%);
  color: var(--parchment);
}
.ind-card.flagship::before {
  content: '';
  position: absolute; inset: 0;
  background: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.6' numOctaves='3'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.12 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  pointer-events: none;
}
.ind-card.flagship > * { position: relative; z-index: 1; }
.ind-card.flagship .ind-num,
.ind-card.flagship .ind-tagline { color: var(--gold); }
.ind-card.flagship .ind-icon { color: var(--gold); }
.ind-card.flagship .ind-features li::before { color: var(--gold); }
.ind-card.flagship .ind-features li { border-bottom-color: rgba(244, 234, 213, 0.18); }
.ind-card.flagship .price-strike { opacity: 0.5; }

.flagship-grid {
  display: grid;
  grid-template-columns: 1.3fr 1fr;
  gap: 3rem;
  height: 100%;
}
.flagship-grid .ind-features {
  grid-template-columns: 1fr 1fr;
  display: grid;
  gap: 0 1.5rem;
}
.flagship-grid .ind-features li { grid-column: span 1; }
@media (max-width: 900px) {
  .flagship-grid { grid-template-columns: 1fr; gap: 1.5rem; }
  .flagship-grid .ind-features { grid-template-columns: 1fr; }
}

.ind-num {
  font-family: 'JetBrains Mono', monospace;
  font-size: 0.66rem;
  color: var(--copper);
  letter-spacing: 0.18em;
  margin-bottom: 1.2rem;
}

.ind-icon {
  font-family: 'Fraunces', serif;
  font-style: italic;
  font-size: 2.2rem; line-height: 1;
  margin-bottom: 1.1rem;
  color: var(--copper);
}

.ind-title {
  font-family: 'Fraunces', serif;
  font-size: 1.4rem; font-weight: 400;
  line-height: 1.1;
  margin-bottom: 0.5rem;
  letter-spacing: -0.01em;
}
.ind-card.flagship .ind-title { font-size: 2rem; }

.ind-tagline {
  font-size: 0.85rem;
  color: var(--copper-deep);
  font-style: italic;
  margin-bottom: 1.3rem;
  font-family: 'Fraunces', serif;
  line-height: 1.4;
}

.ind-features {
  list-style: none;
  margin-bottom: 1.3rem;
  flex: 1;
}
.ind-features li {
  padding: 0.5rem 0;
  border-bottom: 1px dashed var(--line);
  font-size: 0.82rem;
  line-height: 1.35;
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
}
.ind-features li::before {
  content: '\25C6';
  color: var(--copper);
  font-size: 0.55rem;
  margin-top: 0.5em;
}

.ind-price {
  margin-top: auto;
  padding-top: 1rem;
  border-top: 2px solid currentColor;
}
.price-amount {
  font-family: 'Fraunces', serif;
  font-size: 2.2rem;
  font-weight: 400;
  line-height: 1;
  display: flex; align-items: baseline; gap: 0.15rem;
}
.price-amount .currency { font-size: 1.1rem; opacity: 0.7; }
.price-amount .per {
  font-family: 'JetBrains Mono', monospace;
  font-size: 0.62rem;
  text-transform: uppercase; letter-spacing: 0.15em;
  opacity: 0.6;
  margin-left: 0.4rem;
}
.price-strike {
  font-family: 'JetBrains Mono', monospace;
  font-size: 0.68rem;
  text-decoration: line-through;
  opacity: 0.55;
  margin-top: 0.4rem;
}
.price-note {
  font-size: 0.75rem;
  margin-top: 0.55rem;
  opacity: 0.75;
  line-height: 1.4;
}

.ind-cta {
  display: block;
  margin-top: 1.1rem;
  padding: 0.75rem;
  text-align: center;
  background: transparent;
  color: currentColor;
  border: 1px solid currentColor;
  text-decoration: none;
  font-family: 'JetBrains Mono', monospace;
  font-size: 0.7rem;
  text-transform: uppercase; letter-spacing: 0.16em;
  transition: all 0.3s;
}
.ind-card:not(.premium):not(.flagship) .ind-cta:hover { background: var(--ink); color: var(--parchment); }
.ind-card.premium .ind-cta:hover { background: var(--copper-bright); border-color: var(--copper-bright); color: var(--ink); }
.ind-card.flagship .ind-cta:hover { background: var(--gold); border-color: var(--gold); color: var(--ink); }

/* ============ WHY US ============ */
.why-section {
  background: var(--parchment-light);
  position: relative; z-index: 2;
}
.why-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 3rem;
}
.why-card {
  border-top: 2px solid var(--ink);
  padding-top: 1.5rem;
}
.why-card .wc-num {
  font-family: 'Fraunces', serif;
  font-style: italic;
  font-size: 2rem;
  color: var(--copper);
  line-height: 0.9;
  margin-bottom: 1rem;
}
.why-card h3 {
  font-family: 'Fraunces', serif;
  font-size: 1.3rem;
  font-weight: 400;
  margin-bottom: 0.8rem;
  line-height: 1.2;
}
.why-card p {
  font-size: 0.92rem;
  line-height: 1.55;
  opacity: 0.85;
}

/* ============ INCLUDED ============ */
.included-section {
  background: var(--copper);
  color: var(--parchment);
  padding: 5rem 3rem;
  position: relative;
  z-index: 2;
  overflow: hidden;
}
.included-section::before {
  content: '';
  position: absolute;
  inset: 0;
  background: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.7' numOctaves='3'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.13 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  pointer-events: none;
}
.included-inner {
  position: relative;
  z-index: 1;
  max-width: 1400px;
  margin: 0 auto;
}
.included-section h2 {
  font-family: 'Fraunces', serif;
  font-size: clamp(1.8rem, 3.5vw, 2.6rem);
  font-weight: 400;
  margin-bottom: 0.5rem;
  line-height: 1.1;
  letter-spacing: -0.02em;
}
.included-section h2 em { font-style: italic; }
.included-section .lead {
  max-width: 640px;
  opacity: 0.92;
  margin-bottom: 2.5rem;
  line-height: 1.5;
}
.included-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.8rem;
}
.included-item { display: flex; flex-direction: column; gap: 0.4rem; }
.included-item .ic-icon {
  font-family: 'Fraunces', serif;
  font-size: 1.8rem;
  line-height: 1;
  margin-bottom: 0.6rem;
}
.included-item strong {
  font-family: 'Fraunces', serif;
  font-size: 1.05rem;
  font-weight: 500;
  margin-bottom: 0.2rem;
}
.included-item span {
  font-size: 0.82rem;
  line-height: 1.4;
  opacity: 0.85;
}

/* ============ HOSTING ============ */
.hosting-section {
  background: var(--parchment);
  position: relative; z-index: 2;
}
.hosting-intro {
  max-width: 820px;
  padding: 2.5rem;
  border: 1px solid var(--line-strong);
  background: var(--parchment-light);
  margin-bottom: 4rem;
  position: relative;
}
.hosting-intro::before {
  content: '\2699';
  position: absolute;
  top: -18px; left: 2.5rem;
  background: var(--parchment);
  padding: 0 0.8rem;
  font-size: 1.4rem;
  color: var(--copper);
}
.hosting-intro p { font-size: 0.98rem; line-height: 1.6; }
.hosting-intro strong { font-weight: 600; }

.hosting-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0;
  border: 1px solid var(--line-strong);
  background: var(--parchment-light);
}
.hp-card {
  padding: 2.5rem 1.8rem;
  border-right: 1px solid var(--line);
  display: flex;
  flex-direction: column;
  transition: background 0.4s;
}
.hp-card:last-child { border-right: none; }
.hp-card:hover { background: var(--parchment-warm); }

/* Fleet-ship illustration above the SKIFF/CUTTER/BRIGANTINE/GALLEON label */
.hp-ship {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 88px;
  margin-bottom: 1.2rem;
  color: var(--ink);
  opacity: 0.92;
  transition: transform 0.4s ease, opacity 0.4s ease;
}
.hp-ship img {
  max-width: 100%;
  max-height: 100%;
  height: 100%;
  width: auto;
}
.hp-card:hover .hp-ship {
  transform: translateY(-2px);
  color: var(--copper);
  opacity: 1;
}

.hp-label {
  font-family: 'JetBrains Mono', monospace;
  font-size: 0.7rem;
  color: var(--copper);
  letter-spacing: 0.18em;
  margin-bottom: 0.8rem;
}
.hp-name {
  font-family: 'Fraunces', serif;
  font-size: 1.4rem;
  font-weight: 400;
  margin-bottom: 0.4rem;
}
.hp-spec {
  font-family: 'JetBrains Mono', monospace;
  font-size: 0.78rem;
  opacity: 0.7;
  margin-bottom: 1.5rem;
}
.hp-price {
  font-family: 'Fraunces', serif;
  font-size: 2.4rem;
  font-weight: 400;
  line-height: 1;
  display: flex;
  align-items: baseline;
  gap: 0.15rem;
  margin-bottom: 0.3rem;
}
.hp-price .currency { font-size: 1.1rem; opacity: 0.6; }
.hp-price .per {
  font-family: 'JetBrains Mono', monospace;
  font-size: 0.65rem;
  text-transform: uppercase;
  letter-spacing: 0.15em;
  opacity: 0.55;
  margin-left: 0.4rem;
}
.hp-list {
  list-style: none;
  margin: 1.5rem 0;
  font-size: 0.83rem;
  flex: 1;
}
.hp-list li {
  padding: 0.5rem 0;
  border-bottom: 1px dashed var(--line);
  line-height: 1.35;
}
.hp-cta {
  display: block;
  text-align: center;
  padding: 0.8rem;
  background: transparent;
  color: var(--ink);
  border: 1px solid var(--ink);
  text-decoration: none;
  font-family: 'JetBrains Mono', monospace;
  font-size: 0.72rem;
  text-transform: uppercase;
  letter-spacing: 0.16em;
  margin-top: auto;
  transition: all 0.3s;
}
.hp-cta:hover { background: var(--ink); color: var(--parchment); }

/* ============ SERVICES ============ */
.services-section {
  background: var(--ink);
  color: var(--parchment);
  position: relative; z-index: 2;
}
.services-section .section-num { color: var(--copper-bright); }
.services-section h2 em { color: var(--copper-bright); }
.services-section .section-sub { opacity: 0.78; color: var(--parchment); }

.services {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 2.5rem;
}
.service {
  border-top: 2px solid var(--parchment);
  padding-top: 1.8rem;
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 2rem;
  align-items: start;
}
.service-num {
  font-family: 'Fraunces', serif;
  font-size: 2.2rem;
  font-weight: 300;
  color: var(--copper-bright);
  line-height: 0.9;
  font-style: italic;
}
.service-body h3 {
  font-family: 'Fraunces', serif;
  font-size: 1.3rem;
  font-weight: 400;
  margin-bottom: 0.5rem;
}
.service-body p {
  font-size: 0.9rem;
  line-height: 1.5;
  opacity: 0.78;
}
.service-price {
  text-align: right;
  font-family: 'Fraunces', serif;
  font-size: 1.3rem;
  font-weight: 500;
  white-space: nowrap;
}
.service-price small {
  display: block;
  font-family: 'JetBrains Mono', monospace;
  font-size: 0.62rem;
  text-transform: uppercase;
  letter-spacing: 0.15em;
  color: var(--copper-bright);
  margin-top: 0.3rem;
  font-weight: 400;
}

/* ============ FINAL CTA ============ */
.final-cta {
  background: var(--parchment);
  color: var(--ink);
  padding: 7rem 3rem;
  text-align: center;
  position: relative;
  z-index: 2;
  overflow: hidden;
}
.final-cta::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 50% 50%, rgba(184, 97, 42, 0.10) 0%, transparent 60%);
  pointer-events: none;
}
.final-cta-inner { position: relative; max-width: 800px; margin: 0 auto; }
.final-cta h2 {
  font-family: 'Fraunces', serif;
  font-size: clamp(2.4rem, 4.8vw, 3.8rem);
  font-weight: 300;
  line-height: 1.05;
  letter-spacing: -0.025em;
  margin-bottom: 1.5rem;
}
.final-cta h2 em { font-style: italic; color: var(--copper); }
.final-cta p {
  font-size: 1.1rem;
  opacity: 0.85;
  margin-bottom: 3rem;
  max-width: 580px;
  margin-left: auto; margin-right: auto;
}
.cta-buttons {
  display: flex;
  gap: 1rem;
  justify-content: center;
  flex-wrap: wrap;
}
.btn-primary {
  background: var(--ink);
  color: var(--parchment);
  padding: 1.2rem 2.5rem;
  text-decoration: none;
  font-family: 'JetBrains Mono', monospace;
  font-size: 0.82rem;
  text-transform: uppercase;
  letter-spacing: 0.18em;
  border: 1px solid var(--ink);
  transition: all 0.3s;
}
.btn-primary:hover { background: var(--copper); border-color: var(--copper); }
.btn-secondary {
  background: transparent;
  color: var(--ink);
  padding: 1.2rem 2.5rem;
  text-decoration: none;
  font-family: 'JetBrains Mono', monospace;
  font-size: 0.82rem;
  text-transform: uppercase;
  letter-spacing: 0.18em;
  border: 1px solid var(--ink);
  transition: all 0.3s;
}
.btn-secondary:hover { background: var(--ink); color: var(--parchment); }

/* ============ FOOTER ============ */
.nv-footer {
  background: var(--ink-deep);
  color: var(--parchment);
  padding: 3rem 3rem 2rem;
  position: relative; z-index: 2;
  border-top: 1px solid rgba(244, 234, 213, 0.1);
}
.footer-inner {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr 1fr;
  gap: 3rem;
  margin-bottom: 2.5rem;
}
.footer-brand .logo {
  font-family: 'Fraunces', serif;
  font-size: 1.4rem;
  margin-bottom: 1rem;
  display: flex;
  align-items: center;
  gap: 0.6rem;
}
.footer-brand .logo em { color: var(--copper-bright); font-style: italic; }
.footer-brand p { font-size: 0.88rem; opacity: 0.7; line-height: 1.6; max-width: 360px; }
.nv-footer h4 {
  font-family: 'JetBrains Mono', monospace;
  font-size: 0.72rem;
  text-transform: uppercase;
  letter-spacing: 0.2em;
  color: var(--copper-bright);
  margin-bottom: 1.2rem;
}
.nv-footer ul { list-style: none; }
.nv-footer ul li { margin-bottom: 0.6rem; }
.nv-footer ul li a {
  color: var(--parchment);
  text-decoration: none;
  font-size: 0.88rem;
  opacity: 0.75;
  transition: opacity 0.3s;
}
.nv-footer ul li a:hover { opacity: 1; color: var(--copper-bright); }
.footer-bottom {
  border-top: 1px solid rgba(244, 234, 213, 0.1);
  padding-top: 1.5rem;
  display: flex;
  justify-content: space-between;
  font-family: 'JetBrains Mono', monospace;
  font-size: 0.72rem;
  opacity: 0.6;
  letter-spacing: 0.06em;
}

/* ============ RESPONSIVE ============ */
@media (max-width: 1300px) {
  .industries-grid.cols-5 { grid-template-columns: repeat(3, 1fr); }
  .industries-grid.cols-4 { grid-template-columns: repeat(2, 1fr); }
  .industries-grid.cols-3 { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 1000px) {
  .hero { grid-template-columns: 1fr; gap: 3rem; }
  .hero-chart { max-width: 380px; margin: 0 auto; }
  .why-grid { grid-template-columns: 1fr; gap: 2rem; }
  .services { grid-template-columns: 1fr; }
  .included-grid { grid-template-columns: repeat(2, 1fr); }
  .industries-grid.cols-5 { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 700px) {
  .nv-page nav.nv-nav { padding: 1rem 1.5rem; }
  .nv-page nav.nv-nav .links a:not(.cta) { display: none; }
  .hero, .nv-section-page, .final-cta, .included-section { padding-left: 1.5rem; padding-right: 1.5rem; }
  .hero { padding-top: 7rem; }
  .industries-grid.cols-2,
  .industries-grid.cols-3,
  .industries-grid.cols-4,
  .industries-grid.cols-5 { grid-template-columns: 1fr; }
  .hosting-grid { grid-template-columns: 1fr; }
  .hp-card { border-right: none; border-bottom: 1px solid var(--line); }
  .included-grid { grid-template-columns: 1fr; }
  .service { grid-template-columns: auto 1fr; }
  .service-price { grid-column: 2; text-align: left; margin-top: 0.5rem; }
  .footer-inner { grid-template-columns: 1fr 1fr; gap: 2rem; }
  .footer-bottom { flex-direction: column; gap: 0.5rem; }
  .hero-meta { flex-direction: column; gap: 1.5rem; }
  .divider { padding: 1.5rem; flex-wrap: wrap; gap: 1rem; }
  .divider .line-fill { display: none; }
  .tier-band-header { flex-wrap: wrap; gap: 0.8rem; }
  .tier-band-note { margin-left: 0; width: 100%; }
}

/* ============ NAV active link ============ */
.nv-page nav.nv-nav .links a.active {
  color: var(--copper);
  border-bottom: 1px solid var(--copper);
  padding-bottom: 2px;
}

/* ============ TOOL PAGES (/calculator, /planner, /start-trial) ============ */
.nv-tool-page {
  padding: 9rem 3rem 4rem;
  position: relative; z-index: 2;
  min-height: 92vh;
}
.nv-page-hero {
  padding: 9rem 3rem 2rem;
  position: relative; z-index: 2;
  max-width: 980px;
}
.nv-page-hero h1 {
  font-family: 'Fraunces', serif;
  font-size: clamp(2.4rem, 5vw, 4.4rem);
  font-weight: 300;
  line-height: 1.02;
  letter-spacing: -0.03em;
  margin-bottom: 1.5rem;
}
.nv-page-hero h1 em { font-style: italic; color: var(--copper); font-weight: 400; }
.nv-page-hero-lead {
  font-size: 1.12rem;
  line-height: 1.65;
  max-width: 700px;
}
.nv-tool-head {
  max-width: 980px;
  margin-bottom: 3.5rem;
}
.nv-tool-head h1 {
  font-family: 'Fraunces', serif;
  font-size: clamp(2.2rem, 4.6vw, 3.8rem);
  font-weight: 300;
  line-height: 1.02;
  letter-spacing: -0.03em;
  margin-bottom: 1.2rem;
}
.nv-tool-head h1 em { font-style: italic; color: var(--copper); font-weight: 400; }

.nv-tool-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 3rem;
  align-items: start;
}
@media (max-width: 900px) {
  .nv-tool-grid { grid-template-columns: 1fr; gap: 2rem; }
  .nv-tool-page { padding-left: 1.5rem; padding-right: 1.5rem; padding-top: 7rem; }
}

.nv-tool-form {
  background: var(--parchment-light);
  padding: 2.5rem;
  border: 1px solid var(--line-strong);
  position: relative;
}
.nv-tool-h3 {
  font-family: 'Fraunces', serif;
  font-size: 1.4rem;
  font-weight: 400;
  margin-bottom: 1.8rem;
  padding-bottom: 0.6rem;
  border-bottom: 2px solid var(--ink);
}

.nv-field {
  display: block;
  margin-bottom: 1.4rem;
}
.nv-field-label {
  display: block;
  font-family: 'JetBrains Mono', monospace;
  font-size: 0.72rem;
  text-transform: uppercase;
  letter-spacing: 0.16em;
  color: var(--ink-deep);
  opacity: 0.85;
  margin-bottom: 0.5rem;
}
.nv-field-label em {
  font-style: normal;
  color: var(--copper);
  margin: 0 0.2rem;
}
.nv-field-inline {
  display: flex;
  align-items: center;
  gap: 0.7rem;
  margin-top: 0.5rem;
}
.nv-field-inline span {
  font-size: 0.92rem;
  line-height: 1.4;
}

.nv-input, .nv-select, .nv-textarea {
  width: 100%;
  background: var(--parchment);
  border: 1px solid var(--line-strong);
  padding: 0.75rem 0.9rem;
  font-family: 'Inter Tight', sans-serif;
  font-size: 0.95rem;
  color: var(--ink);
  border-radius: 0;
  transition: border-color 0.2s;
}
.nv-input:focus, .nv-select:focus, .nv-textarea:focus {
  outline: none;
  border-color: var(--copper);
}
.nv-select {
  appearance: none;
  -webkit-appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath fill='%230b1f3a' d='M0 0l5 6 5-6z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 1rem center;
  padding-right: 2.5rem;
}
.nv-textarea {
  resize: vertical;
  min-height: 100px;
  font-family: 'Inter Tight', sans-serif;
}
.nv-checkbox {
  width: 1.1rem;
  height: 1.1rem;
  accent-color: var(--copper);
  flex-shrink: 0;
}

.nv-tool-note {
  font-size: 0.78rem;
  line-height: 1.5;
  opacity: 0.75;
  margin-top: 1.5rem;
  padding-top: 1rem;
  border-top: 1px dashed var(--line);
}
.nv-tool-note em { font-style: italic; color: var(--copper); font-weight: 500; }
.nv-tool-note a { color: var(--copper); }

/* ============ EXTRA TOOLS (calculator) ============ */
.nv-ext-block {
  margin-bottom: 1.4rem;
  padding-top: 1.1rem;
  border-top: 1px dashed var(--line);
}
.nv-ext-sub {
  font-size: 0.82rem;
  line-height: 1.5;
  opacity: 0.75;
  margin: 0.4rem 0 1rem;
}
.nv-ext-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.8rem;
  padding: 0.35rem 0;
}
.nv-ext-check {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  font-size: 0.88rem;
  line-height: 1.35;
  cursor: pointer;
  margin: 0;
}
.nv-ext-check em { font-style: italic; opacity: 0.75; }
.nv-ext-check small {
  display: block;
  font-family: 'JetBrains Mono', monospace;
  font-size: 0.68rem;
  color: var(--copper);
  opacity: 0.9;
}
.nv-ext-price {
  display: flex;
  align-items: baseline;
  gap: 0.25rem;
  flex-shrink: 0;
  font-size: 0.85rem;
}
.nv-ext-amount {
  width: 5.2em;
  padding: 0.35rem 0.5rem;
  font-size: 0.88rem;
  text-align: right;
}
.nv-ext-amount:disabled {
  opacity: 0.4;
  background: transparent;
}
.nv-ext-unit {
  font-family: 'JetBrains Mono', monospace;
  font-size: 0.66rem;
  opacity: 0.7;
  white-space: nowrap;
}
.nv-ext-total {
  display: flex;
  justify-content: flex-end;
  align-items: baseline;
  gap: 0.4rem;
  margin-top: 0.8rem;
  padding-top: 0.7rem;
  border-top: 1px dashed var(--line);
  font-size: 0.85rem;
}
.nv-ext-total strong {
  font-family: 'Fraunces', serif;
  font-size: 1.1rem;
  color: var(--copper);
}
@media (max-width: 480px) {
  .nv-ext-row { flex-wrap: wrap; }
  .nv-ext-price { margin-left: 1.7rem; }
}

/* resolved package under the trade select */
.nv-calc-pkg {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 0.3rem 0.8rem;
  margin: -0.4rem 0 1.4rem;
  padding: 0.8rem 1rem;
  background: var(--parchment);
  border: 1px solid var(--line);
  border-left: 3px solid var(--copper);
}
.nv-calc-pkg-num {
  font-family: 'JetBrains Mono', monospace;
  font-size: 0.7rem;
  letter-spacing: 0.16em;
  color: var(--copper);
}
.nv-calc-pkg-name {
  font-family: 'Fraunces', serif;
  font-size: 1.05rem;
}
.nv-calc-pkg-price {
  font-family: 'JetBrains Mono', monospace;
  font-size: 0.78rem;
  margin-left: auto;
  white-space: nowrap;
}
.nv-calc-pkg-note {
  flex-basis: 100%;
  font-size: 0.75rem;
  line-height: 1.45;
  opacity: 0.8;
}
.nv-calc-pkg-note a { color: var(--copper); }

/* "common in your trade" badge */
.nv-ext-badge {
  display: none;
  font-family: 'JetBrains Mono', monospace;
  font-size: 0.62rem;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--parchment-light);
  background: var(--copper);
  padding: 0.1rem 0.4rem;
  margin-left: 0.4rem;
  vertical-align: middle;
  white-space: nowrap;
}
.nv-ext-typical .nv-ext-badge { display: inline-block; }

/* ============ TOOL RESULT CARD ============ */
.nv-tool-result {
  background: var(--ink);
  color: var(--parchment);
  padding: 2.5rem;
  position: relative;
  border: 1px solid var(--ink);
}
.nv-result-eyebrow {
  font-family: 'JetBrains Mono', monospace;
  font-size: 0.7rem;
  text-transform: uppercase;
  letter-spacing: 0.2em;
  color: var(--copper-bright);
  margin-bottom: 1.5rem;
}
.nv-result-row {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  padding: 0.7rem 0;
  border-bottom: 1px dashed rgba(244, 234, 213, 0.18);
  font-size: 0.92rem;
}
.nv-result-row strong {
  font-family: 'Fraunces', serif;
  font-size: 1.2rem;
  font-weight: 500;
}
.nv-result-row-hero {
  padding: 1rem 0;
}
.nv-result-row-hero strong {
  font-size: 1.7rem;
  color: var(--copper-bright);
}
.nv-result-pct {
  margin-top: 1.5rem;
  padding-top: 1.2rem;
  border-top: 1px solid rgba(244, 234, 213, 0.2);
}
.nv-result-bar {
  width: 100%;
  height: 6px;
  background: rgba(244, 234, 213, 0.15);
  margin-bottom: 0.6rem;
  overflow: hidden;
}
.nv-result-bar > span {
  display: block;
  height: 100%;
  background: linear-gradient(90deg, var(--copper) 0%, var(--gold) 100%);
  transition: width 0.4s ease;
}
.nv-result-pct-label {
  font-size: 0.88rem;
  opacity: 0.9;
}
.nv-result-pct-label strong {
  font-family: 'Fraunces', serif;
  font-size: 1.2rem;
  color: var(--gold);
  font-weight: 500;
}
.nv-result-loss .nv-result-pct-label strong { color: var(--copper-bright); }
.nv-result-loss .nv-result-row-hero strong { color: var(--copper-bright); }

.nv-result-tier {
  text-align: center;
  padding: 1.5rem 0 2rem;
  border-bottom: 1px solid rgba(244, 234, 213, 0.18);
  margin-bottom: 1.5rem;
}
.nv-result-tier-num {
  font-family: 'JetBrains Mono', monospace;
  font-size: 0.78rem;
  letter-spacing: 0.18em;
  color: var(--copper-bright);
  margin-bottom: 0.6rem;
}
.nv-result-tier-name {
  font-family: 'Fraunces', serif;
  font-size: 1.8rem;
  font-weight: 400;
  line-height: 1.15;
  margin-bottom: 0.8rem;
}
.nv-result-tier-price {
  font-family: 'Fraunces', serif;
  font-size: 2.4rem;
  font-weight: 400;
  color: var(--gold);
}
.nv-result-tier-price span {
  font-family: 'JetBrains Mono', monospace;
  font-size: 0.7rem;
  text-transform: uppercase;
  letter-spacing: 0.15em;
  color: var(--parchment);
  opacity: 0.6;
  margin-left: 0.4rem;
  font-weight: 400;
}
.nv-result-why {
  font-size: 0.95rem;
  line-height: 1.55;
  opacity: 0.92;
  margin-bottom: 1.2rem;
}
.nv-result-caveat {
  background: rgba(216, 119, 68, 0.15);
  border-left: 3px solid var(--copper-bright);
  padding: 0.9rem 1rem;
  margin-bottom: 1.2rem;
  font-size: 0.86rem;
  line-height: 1.5;
}
.nv-result-caveat strong { color: var(--copper-bright); }

.nv-result-cta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.7rem;
  margin-top: 1.8rem;
}
.nv-result-cta .btn-primary,
.nv-result-cta .btn-secondary {
  padding: 0.9rem 1.6rem;
  font-size: 0.75rem;
  flex: 1;
  text-align: center;
}
.nv-result-cta .btn-primary {
  background: var(--copper);
  border-color: var(--copper);
  color: var(--parchment);
}
.nv-result-cta .btn-primary:hover {
  background: var(--copper-bright);
  border-color: var(--copper-bright);
}
.nv-result-cta .btn-secondary {
  color: var(--parchment);
  border-color: var(--parchment);
}
.nv-result-cta .btn-secondary:hover {
  background: var(--parchment);
  color: var(--ink);
}

/* ============ TRIAL FORM ============ */
.nv-trial-grid {
  display: grid;
  grid-template-columns: 1.6fr 1fr;
  gap: 3rem;
  align-items: start;
}
@media (max-width: 900px) {
  .nv-trial-grid { grid-template-columns: 1fr; gap: 2rem; }
}
.nv-trial-aside { display: flex; flex-direction: column; gap: 1.5rem; }
.nv-trial-aside-card {
  background: var(--parchment-light);
  border: 1px solid var(--line-strong);
  padding: 1.8rem;
}
.nv-trial-steps {
  list-style: none;
  counter-reset: nvstep;
  padding: 0;
  margin: 0.5rem 0 0;
}
.nv-trial-steps li {
  counter-increment: nvstep;
  padding: 0.7rem 0 0.7rem 2.2rem;
  position: relative;
  font-size: 0.92rem;
  line-height: 1.55;
  border-bottom: 1px dashed var(--line);
}
.nv-trial-steps li:last-child { border-bottom: none; }
.nv-trial-steps li::before {
  content: counter(nvstep, lower-roman);
  font-family: 'Fraunces', serif;
  font-style: italic;
  color: var(--copper);
  position: absolute;
  left: 0;
  top: 0.55rem;
  font-size: 1.1rem;
  width: 1.6rem;
  text-align: left;
}
.nv-trial-steps li strong { font-weight: 600; }

.nv-form { display: block; }
.nv-form-submit {
  display: block;
  width: 100%;
  cursor: pointer;
  margin-top: 1rem;
  padding: 1.1rem;
}
.nv-form-error {
  background: rgba(184, 97, 42, 0.12);
  border-left: 3px solid var(--copper);
  padding: 1rem 1.2rem;
  margin-bottom: 1.5rem;
  font-size: 0.92rem;
  line-height: 1.5;
}
.nv-form-error strong { color: var(--copper-deep); }

/* ============ ABOUT — FOUNDER ============ */
.nv-founder-grid {
  display: grid;
  grid-template-columns: 280px 1fr;
  gap: 3rem;
  align-items: center;
  max-width: 1100px;
}
.nv-founder-photo {
  position: relative;
}
.nv-founder-photo svg { width: 100%; height: auto; max-width: 280px; }
@media (max-width: 900px) {
  .nv-founder-grid { grid-template-columns: 1fr; gap: 1.5rem; }
  .nv-founder-photo { max-width: 200px; }
}

/* ============ ABOUT — META GRID ============ */
.nv-meta-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0;
  border: 1px solid var(--line-strong);
}
@media (max-width: 900px) {
  .nv-meta-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 600px) {
  .nv-meta-grid { grid-template-columns: 1fr; }
}
.nv-meta-card {
  padding: 1.8rem;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  background: var(--parchment-light);
}
.nv-meta-label {
  font-family: 'JetBrains Mono', monospace;
  font-size: 0.68rem;
  text-transform: uppercase;
  letter-spacing: 0.18em;
  color: var(--copper);
  margin-bottom: 0.6rem;
}
.nv-meta-value {
  font-family: 'Fraunces', serif;
  font-size: 1.15rem;
  font-weight: 400;
  line-height: 1.3;
}


/* ============ LEGAL PAGES ============ */
.nv-legal-page { padding: 9rem 3rem 4rem; position: relative; z-index: 2; }
.nv-legal-head { max-width: 980px; margin-bottom: 3rem; }
.nv-legal-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1.5rem; max-width: 980px; }
@media (max-width: 800px) { .nv-legal-grid { grid-template-columns: 1fr; } }
.nv-legal-card { padding: 1.6rem; background: var(--parchment-light); border: 1px solid var(--line-strong); text-decoration: none; color: inherit; transition: background 0.3s; display: block; }
.nv-legal-card:hover { background: var(--parchment-warm); }
.nv-legal-card h3 { font-family: 'Fraunces', serif; font-size: 1.3rem; font-weight: 400; margin-bottom: 0.4rem; }
.nv-legal-card p { font-size: 0.92rem; opacity: 0.8; }
.nv-legal-body { max-width: 720px; margin: 0 auto; padding: 0 3rem; font-family: 'Inter Tight', sans-serif; line-height: 1.65; }
.nv-legal-body h1 { font-family: 'Fraunces', serif; font-weight: 300; font-size: 2.4rem; margin: 2rem 0 1rem; line-height: 1.1; }
.nv-legal-body h2 { font-family: 'Fraunces', serif; font-weight: 400; font-size: 1.6rem; margin: 2rem 0 0.8rem; }
.nv-legal-body h3 { font-family: 'Fraunces', serif; font-weight: 500; font-size: 1.2rem; margin: 1.4rem 0 0.6rem; }
.nv-legal-body p { margin-bottom: 1rem; }
.nv-legal-body ul, .nv-legal-body ol { margin: 0.5rem 0 1rem 1.5rem; }
.nv-legal-body li { margin-bottom: 0.3rem; }
.nv-legal-body code { font-family: 'JetBrains Mono', monospace; background: var(--parchment-warm); padding: 0.1em 0.3em; border-radius: 2px; font-size: 0.9em; }
.nv-legal-body pre { background: var(--parchment-warm); padding: 1rem; overflow-x: auto; margin: 1rem 0; }
.nv-legal-body pre code { background: transparent; padding: 0; }
.nv-legal-body hr { border: 0; border-top: 1px solid var(--line); margin: 2rem 0; }
.nv-legal-body strong { font-weight: 600; }
.nv-legal-body a { color: var(--copper); }
.nv-legal-back { display: inline-block; margin: 2rem 0; font-family: 'JetBrains Mono', monospace; font-size: 0.78rem; text-transform: uppercase; letter-spacing: 0.14em; color: var(--copper); text-decoration: none; }
.nv-legal-back:hover { color: var(--copper-deep); }

/* anchored jumps from navigare.space: keep cards clear of the fixed nav */
.ind-card[id], section[id] { scroll-margin-top: 96px; }

/* ================================================================
   AI FEATURES — promoted CTA badge + AI subpage layout & animation
   Framework-free: pure CSS @keyframes + SVG SMIL (no JS, no libs).
   Reuses the compass design tokens (--ink/--copper/--gold/--parchment).
   ================================================================ */

/* ---- Promoted "Discover the AI features" badge (used on solution pages) ---- */
.nv-ai-cta{
  display:inline-flex; align-items:center; gap:.7rem;
  padding:.85rem 1.6rem;
  font-family:'JetBrains Mono',monospace;
  font-size:.8rem; text-transform:uppercase; letter-spacing:.14em;
  color:var(--parchment); text-decoration:none;
  background:var(--ink);
  border:1px solid var(--copper);
  border-radius:999px;
  position:relative; overflow:hidden;
  /* Base state is VISIBLE: an engine without CSS animations (wkhtmltoimage/QtWebKit,
     which renders the PDFs) kept the badge at opacity:0 forever. `both` fill applies
     the keyframe `from` during the .15s delay, so the fade-up looks unchanged. */
  opacity:1; animation:nvAiFadeUp .8s ease-out .15s both;
  transition:background .3s, border-color .3s, transform .3s, box-shadow .3s;
}
.nv-ai-cta::before{
  content:''; position:absolute; inset:0;
  background:linear-gradient(120deg,transparent 30%,rgba(217,119,68,.38) 50%,transparent 70%);
  transform:translateX(-120%);
  animation:nvAiSheen 3.6s ease-in-out infinite;
}
@keyframes nvAiSheen{ 0%,58%{transform:translateX(-120%)} 100%{transform:translateX(120%)} }
@keyframes nvAiFadeUp{ from{opacity:0;transform:translateY(16px)} to{opacity:1;transform:translateY(0)} }
.nv-ai-cta:hover{
  background:var(--copper); border-color:var(--copper-bright);
  transform:translateY(-2px);
  box-shadow:0 14px 30px -14px rgba(184,97,42,.6);
}
.nv-ai-cta .nv-ai-spark{ color:var(--gold); font-size:.95rem; animation:nvAiPulse 2.2s ease-in-out infinite; }
@keyframes nvAiPulse{ 0%,100%{opacity:1;transform:scale(1)} 50%{opacity:.5;transform:scale(1.28)} }
.nv-ai-cta .nv-ai-arrow{ transition:transform .3s; }
.nv-ai-cta:hover .nv-ai-arrow{ transform:translateX(4px); }
/* inline variant, sits inside a .cta-buttons row next to btn-primary/secondary */
.cta-buttons .nv-ai-cta{ vertical-align:middle; }
/* offer-card variant: the sibling .ind-cta buttons are full-width blocks, so the
   inline-flex badge hugged the left edge — match their width and centre the label */
.ind-price .nv-ai-cta{ display:flex; justify-content:center; text-align:center; margin-top:1.1rem; }

/* ---- AI subpage: hero eyebrow accent ---- */
.nv-ai-eyebrow{ color:var(--copper); }

/* ---- AI subpage: animated "how the AI works" pipeline (SVG SMIL) ---- */
.nv-aiflow{ padding:4.5rem 2rem 1rem; }
.nv-aiflow-inner{ max-width:1000px; margin:0 auto; text-align:center; }
.nv-aiflow svg{ width:100%; max-width:900px; height:auto; margin:1.5rem auto 0; display:block; }
.nv-aiflow .afw-label{ font-family:'JetBrains Mono',monospace; font-size:12px; letter-spacing:.06em; fill:var(--ink); }
.nv-aiflow .afw-sub{ font-family:'Inter Tight',sans-serif; font-size:11px; fill:rgba(11,31,58,.6); }
.nv-aiflow .afw-box{ fill:var(--parchment); stroke:var(--line-strong); stroke-width:1.2; }
.nv-aiflow .afw-core{ fill:var(--ink); stroke:var(--copper); stroke-width:1.4; }
.nv-aiflow .afw-core-label{ font-family:'JetBrains Mono',monospace; font-size:13px; letter-spacing:.08em; fill:var(--parchment); font-weight:500; }
.nv-aiflow .afw-wire{ fill:none; stroke:var(--line-strong); stroke-width:1.5; stroke-dasharray:5 5; animation:nvAiMarch 1.1s linear infinite; }
@keyframes nvAiMarch{ to{ stroke-dashoffset:-20; } }
.nv-aiflow .afw-gate{ fill:none; stroke:var(--seafoam,#547875); stroke-width:2; }
@media (max-width:600px){ .nv-aiflow .afw-sub{ display:none; } }

/* ---- AI subpage: feature grid ---- */
.nv-aifeat{ padding:4rem 2rem; }
.nv-aifeat-grid{ max-width:1100px; margin:2.4rem auto 0; display:grid; grid-template-columns:repeat(3,1fr); gap:1.5rem; }
@media(max-width:900px){ .nv-aifeat-grid{ grid-template-columns:1fr 1fr; } }
@media(max-width:600px){ .nv-aifeat-grid{ grid-template-columns:1fr; } }
.nv-aifeat-card{ background:var(--parchment); border:1px solid var(--line); border-radius:14px; padding:1.6rem; box-shadow:0 16px 40px -30px rgba(11,31,58,.5); position:relative; }
.nv-aifeat-card h3{ font-family:'Fraunces',serif; font-weight:500; font-size:1.2rem; color:var(--ink); margin:0 0 .6rem; }
.nv-aifeat-card p{ font-size:.95rem; line-height:1.6; color:rgba(11,31,58,.75); margin:0; }
.nv-aifeat-card .afc-tag{ display:inline-block; margin-top:.9rem; font-family:'JetBrains Mono',monospace; font-size:.62rem; letter-spacing:.12em; text-transform:uppercase; padding:.2rem .55rem; border-radius:999px; border:1px solid var(--line); color:rgba(11,31,58,.6); }
.nv-aifeat-card .afc-tag.gated{ color:var(--copper-deep); border-color:var(--copper); }

/* ---- AI subpage: two-persona split ---- */
.nv-aipersona{ padding:4rem 2rem; background:var(--parchment-light); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.nv-aipersona-grid{ max-width:1000px; margin:2.4rem auto 0; display:grid; grid-template-columns:1fr 1fr; gap:2rem; }
@media(max-width:760px){ .nv-aipersona-grid{ grid-template-columns:1fr; } }
.nv-aipersona-card{ background:var(--parchment); border:1px solid var(--line-strong); border-radius:16px; padding:2rem; }
.nv-aipersona-card .ap-role{ font-family:'JetBrains Mono',monospace; font-size:.7rem; letter-spacing:.16em; text-transform:uppercase; color:var(--copper); }
.nv-aipersona-card h3{ font-family:'Fraunces',serif; font-weight:500; font-size:1.5rem; color:var(--ink); margin:.5rem 0 .8rem; }
.nv-aipersona-card p{ font-size:1rem; line-height:1.65; color:rgba(11,31,58,.78); margin:0; }

/* ---- AI subpage: trust / guardrails strip ---- */
.nv-aitrust{ max-width:900px; margin:3rem auto 0; display:grid; grid-template-columns:repeat(3,1fr); gap:1.2rem; }
@media(max-width:760px){ .nv-aitrust{ grid-template-columns:1fr; } }
.nv-aitrust div{ text-align:left; }
.nv-aitrust .at-h{ font-family:'JetBrains Mono',monospace; font-size:.72rem; letter-spacing:.1em; text-transform:uppercase; color:var(--copper); margin-bottom:.4rem; }
.nv-aitrust p{ font-size:.92rem; line-height:1.55; color:rgba(11,31,58,.72); margin:0; }
@media (prefers-reduced-motion:reduce){
  .nv-ai-cta,.nv-ai-cta::before,.nv-ai-cta .nv-ai-spark,.nv-aiflow .afw-wire{ animation:none; }
  .nv-ai-cta{ opacity:1; }
}

/* ================================================================
   OFFER CARD PARTIAL (data-driven) — homepage grid, solution-page
   top/bottom offer blocks, pricing. See views/website_templates.xml
   nv_offer_card_partial. Added 2026-07-15.
   ================================================================ */
.nv-offer-band-top .ind-card { border: 1px solid var(--line-strong); }
.ind-card.nv-offer-compact {
  min-height: auto;
  padding: 1.5rem 1.7rem;
}
.ind-card.nv-offer-compact .ind-features,
.ind-card.nv-offer-compact .price-strike { display: none; }
.nv-group-section .section-num { color: var(--copper); }

/* ==========================================================================
   PRICING PAGE (/pricing) — rebuilt on nv_* chrome, 2026-07-15
   ========================================================================== */

/* Hero trust pills */
.nv-price-trust { display: flex; flex-wrap: wrap; gap: 0.6rem; margin-top: 1.9rem; }
.nv-price-trust span {
  display: inline-flex; align-items: center; gap: 0.45rem;
  padding: 0.45rem 0.95rem;
  border: 1px solid var(--line-strong); border-radius: 999px;
  font-family: 'JetBrains Mono', monospace; font-size: 0.72rem; letter-spacing: 0.04em;
}
.nv-price-trust span::before { content: '✓'; color: var(--copper); font-weight: 700; }

/* Jump pills under the packages heading */
.nv-group-jump { display: flex; flex-wrap: wrap; gap: 0.6rem; margin-top: 1.6rem; }
.nv-group-jump a {
  padding: 0.45rem 0.95rem;
  border: 1px solid var(--line-strong); border-radius: 999px;
  font-family: 'JetBrains Mono', monospace; font-size: 0.72rem; letter-spacing: 0.04em;
  color: var(--ink); text-decoration: none; transition: all 0.25s;
}
.nv-group-jump a:hover { background: var(--copper); border-color: var(--copper); color: var(--parchment); }

/* Grouped price cards */
.nv-pgroup { margin-top: 3.4rem; scroll-margin-top: 96px; }
.nv-pgroup:first-of-type { margin-top: 1.4rem; }
.nv-pgroup-head { margin-bottom: 1.3rem; }
.nv-pgroup-head .section-num { color: var(--copper); margin-bottom: 0.45rem; }
.nv-pgroup-head p { max-width: 660px; opacity: 0.8; font-size: 0.98rem; line-height: 1.5; }

.nv-price-grid {
  display: grid; grid-template-columns: repeat(2, 1fr);
  gap: 1px; border: 1px solid var(--line-strong); background: var(--line);
}
.nv-price-card {
  background: var(--parchment-light); padding: 2rem 1.9rem;
  display: flex; flex-direction: column; position: relative; transition: background 0.4s;
}
.nv-price-card:hover { background: var(--parchment-warm); }
.nv-price-card.is-featured { box-shadow: inset 4px 0 0 var(--copper); }

.npc-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; }
.npc-icon { font-family: 'Fraunces', serif; font-size: 2rem; line-height: 1; color: var(--copper); }
.npc-num { font-family: 'JetBrains Mono', monospace; font-size: 0.66rem; letter-spacing: 0.16em; color: var(--copper); opacity: 0.7; padding-top: 0.35rem; }
.npc-name { font-family: 'Fraunces', serif; font-size: 1.4rem; font-weight: 400; line-height: 1.12; margin: 0.8rem 0 0.4rem; }
.npc-tag { font-size: 0.92rem; line-height: 1.5; opacity: 0.82; margin-bottom: 1.2rem; }

.npc-price { font-family: 'Fraunces', serif; font-size: 2.7rem; font-weight: 400; line-height: 1; display: flex; align-items: baseline; gap: 0.12rem; }
.npc-price .cur { font-size: 1.2rem; opacity: 0.6; }
.npc-price .per { font-family: 'JetBrains Mono', monospace; font-size: 0.62rem; text-transform: uppercase; letter-spacing: 0.12em; opacity: 0.55; margin-left: 0.5rem; }
.npc-note { font-family: 'JetBrains Mono', monospace; font-size: 0.72rem; letter-spacing: 0.02em; opacity: 0.72; margin-top: 0.55rem; }
.npc-strike { font-size: 0.82rem; opacity: 0.62; margin-top: 0.45rem; text-decoration: line-through; text-decoration-color: var(--copper); }

.npc-ai { display: inline-flex; align-items: center; gap: 0.35rem; font-family: 'JetBrains Mono', monospace; font-size: 0.7rem; letter-spacing: 0.03em; color: var(--copper); margin-top: 1rem; text-decoration: none; }
a.npc-ai:hover { color: var(--copper-deep); }

.npc-cta-row { display: flex; gap: 0.6rem; margin-top: auto; padding-top: 1.4rem; flex-wrap: wrap; }
.npc-cta { flex: 1 1 auto; text-align: center; padding: 0.85rem 1rem; text-decoration: none; font-family: 'JetBrains Mono', monospace; font-size: 0.7rem; text-transform: uppercase; letter-spacing: 0.13em; transition: all 0.3s; white-space: nowrap; }
.npc-cta-primary { background: var(--ink); color: var(--parchment); border: 1px solid var(--ink); }
.npc-cta-primary:hover { background: var(--copper); border-color: var(--copper); }
.npc-cta-ghost { background: transparent; color: var(--ink); border: 1px solid var(--line-strong); }
.npc-cta-ghost:hover { border-color: var(--ink); }
.npc-featured-badge { position: absolute; top: 2rem; right: 1.9rem; font-family: 'JetBrains Mono', monospace; font-size: 0.6rem; letter-spacing: 0.14em; text-transform: uppercase; color: var(--copper); }

@media (max-width: 860px) { .nv-price-grid { grid-template-columns: 1fr; } }

/* Advanced disclosure */
.nv-adv { border: 1px solid var(--line-strong); background: var(--parchment-light); }
.nv-adv > summary { cursor: pointer; list-style: none; padding: 1.4rem 1.8rem; font-family: 'JetBrains Mono', monospace; font-size: 0.78rem; letter-spacing: 0.06em; text-transform: uppercase; color: var(--copper); display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.nv-adv > summary::-webkit-details-marker { display: none; }
.nv-adv > summary::after { content: '+'; font-size: 1.4rem; line-height: 1; opacity: 0.7; }
.nv-adv[open] > summary::after { content: '\2013'; }
.nv-adv > summary:hover { color: var(--ink); }
.nv-adv-body { padding: 0.6rem 1.8rem 2.6rem; border-top: 1px solid var(--line); }
.nv-adv-sub { margin: 2.4rem 0 1.1rem; }
.nv-adv-sub:first-child { margin-top: 1.2rem; }
.nv-adv-sub h3 { font-family: 'Fraunces', serif; font-size: 1.5rem; font-weight: 400; margin-bottom: 0.3rem; }
.nv-adv-sub p { font-size: 0.92rem; opacity: 0.78; max-width: 640px; line-height: 1.5; }

/* Feature comparison matrix */
.nv-matrix-wrap { overflow-x: auto; border: 1px solid var(--line-strong); }
table.nv-matrix { width: 100%; border-collapse: collapse; background: var(--parchment-light); font-size: 0.9rem; min-width: 640px; }
table.nv-matrix th, table.nv-matrix td { padding: 0.8rem 1rem; text-align: center; border-bottom: 1px solid var(--line); }
table.nv-matrix thead th { font-family: 'Fraunces', serif; font-size: 1.05rem; font-weight: 500; background: var(--parchment-warm); }
table.nv-matrix tbody td:first-child, table.nv-matrix thead th:first-child { text-align: left; font-family: 'Inter Tight', sans-serif; font-weight: 500; }
table.nv-matrix tbody tr:last-child td { border-bottom: none; }
table.nv-matrix tbody tr:hover { background: rgba(184, 97, 42, 0.06); }
table.nv-matrix .nv-dash { opacity: 0.3; }
table.nv-matrix .nv-matrix-price { font-family: 'Fraunces', serif; font-size: 1.1rem; color: var(--copper); }

/* ==========================================================================
   PROOF BAND — four measured facts, dropped into any page. Added 2026-07-24.
   Values are read from static/proof/fleet.json by controllers/pages.py; the
   --pending variant is what renders when that snapshot is absent, so it must
   read as "not measured yet" rather than as a failure.
   ========================================================================== */
.nv-proof-band {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1px;
  margin: 2.4rem 0 0;
  background: var(--line);
  border: 1px solid var(--line);
}
.nv-proof-band__item {
  background: var(--parchment-light);
  padding: 1.35rem 1.5rem;
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
}
.nv-proof-band__label {
  font-family: 'JetBrains Mono', monospace;
  font-size: 0.63rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--copper);
}
.nv-proof-band__value {
  font-family: 'Fraunces', serif;
  font-size: 1.85rem;
  font-weight: 400;
  line-height: 1;
  color: var(--ink);
  font-variant-numeric: tabular-nums;
  font-feature-settings: 'tnum' 1;
}
.nv-proof-band__value small {
  font-family: 'JetBrains Mono', monospace;
  font-size: 0.6rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  opacity: 0.6;
  margin-left: 0.4rem;
}
.nv-proof-band__note {
  font-size: 0.82rem;
  line-height: 1.45;
  opacity: 0.72;
}

/* Nothing measured yet — muted, deliberately undramatic. */
.nv-proof-band--pending .nv-proof-band__label,
.nv-proof-band__item--pending .nv-proof-band__label { color: var(--seafoam); }
.nv-proof-band--pending .nv-proof-band__value,
.nv-proof-band__item--pending .nv-proof-band__value {
  color: rgba(11, 31, 58, 0.45);
  font-style: italic;
}
.nv-proof-band--pending .nv-proof-band__item,
.nv-proof-band__item--pending { background: var(--parchment-warm); }

/* Ink-background sections (dark is done by section class, not by scheme). */
.services-section .nv-proof-band,
.nv-section-dark .nv-proof-band,
.nv-tool-result .nv-proof-band {
  background: rgba(244, 234, 213, 0.16);
  border-color: rgba(244, 234, 213, 0.22);
}
.services-section .nv-proof-band__item,
.nv-section-dark .nv-proof-band__item,
.nv-tool-result .nv-proof-band__item { background: var(--ink-deep); }
.services-section .nv-proof-band__label,
.nv-section-dark .nv-proof-band__label,
.nv-tool-result .nv-proof-band__label { color: var(--copper-bright); }
.services-section .nv-proof-band__value,
.nv-section-dark .nv-proof-band__value,
.nv-tool-result .nv-proof-band__value { color: var(--parchment); }
.services-section .nv-proof-band__note,
.nv-section-dark .nv-proof-band__note,
.nv-tool-result .nv-proof-band__note { color: var(--parchment); opacity: 0.75; }
.services-section .nv-proof-band--pending .nv-proof-band__value,
.nv-section-dark .nv-proof-band--pending .nv-proof-band__value,
.nv-tool-result .nv-proof-band--pending .nv-proof-band__value,
.services-section .nv-proof-band__item--pending .nv-proof-band__value,
.nv-section-dark .nv-proof-band__item--pending .nv-proof-band__value,
.nv-tool-result .nv-proof-band__item--pending .nv-proof-band__value {
  color: rgba(244, 234, 213, 0.55);
}
.services-section .nv-proof-band--pending .nv-proof-band__item,
.nv-section-dark .nv-proof-band--pending .nv-proof-band__item,
.nv-tool-result .nv-proof-band--pending .nv-proof-band__item,
.services-section .nv-proof-band__item--pending,
.nv-section-dark .nv-proof-band__item--pending,
.nv-tool-result .nv-proof-band__item--pending { background: var(--ink); }

@media (min-width: 601px) {
  .nv-proof-band { grid-template-columns: repeat(2, 1fr); }
}
@media (min-width: 1001px) {
  .nv-proof-band { grid-template-columns: repeat(4, 1fr); }
  .nv-proof-band__item { padding: 1.6rem 1.7rem; }
  .nv-proof-band__value { font-size: 2.05rem; }
}

/* ==========================================================================
   PROOF PAGE (/proof, /proof/restore-log) — Added 2026-07-24.
   The verdict strip, the fact list, the four drill steps and the raw log
   tail. Every figure here is generated; nothing is typed by hand.
   ========================================================================== */
.nv-proof-page { padding: 0; }

.nvp-status {
  display: flex;
  flex-direction: column;
  gap: 0.9rem;
  padding: 1.8rem 0 1.6rem;
  border-bottom: 2px solid var(--ink);
}
.nvp-status__title {
  font-family: 'Fraunces', serif;
  font-size: 1.7rem;
  font-weight: 400;
  line-height: 1.15;
  margin: 0;
}
.nvp-status__stamp {
  font-family: 'JetBrains Mono', monospace;
  font-size: 0.72rem;
  letter-spacing: 0.06em;
  opacity: 0.7;
  font-variant-numeric: tabular-nums;
}

/* Verdict pill — one word, three possible readings. */
.nvp-verdict {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  align-self: flex-start;
  padding: 0.4rem 0.95rem;
  border-radius: 999px;
  border: 1px solid var(--line-strong);
  background: var(--parchment-light);
  font-family: 'JetBrains Mono', monospace;
  font-size: 0.68rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}
.nvp-verdict::before { content: '•'; font-size: 1rem; line-height: 0; }
.nvp-verdict--ok { border-color: var(--seafoam); color: var(--seafoam); }
.nvp-verdict--pending { border-color: var(--line-strong); color: rgba(11, 31, 58, 0.62); }
.nvp-verdict--fail { border-color: var(--rust); color: var(--rust); }

/* Facts — a definition list, because that is what it is. */
.nvp-facts {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0;
  margin: 2rem 0 0;
  border-top: 1px solid var(--line);
}
.nvp-facts dt {
  font-family: 'JetBrains Mono', monospace;
  font-size: 0.65rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--copper);
  padding: 1.1rem 0 0.35rem;
}
.nvp-facts dd {
  margin: 0;
  padding: 0 0 1.1rem;
  border-bottom: 1px solid var(--line);
  font-size: 1rem;
  line-height: 1.5;
  font-variant-numeric: tabular-nums;
}
.nvp-facts dd small {
  display: block;
  margin-top: 0.3rem;
  font-family: 'JetBrains Mono', monospace;
  font-size: 0.7rem;
  letter-spacing: 0.03em;
  opacity: 0.68;
}

/* Drill steps — numbered, with the timing under each. */
.nvp-steps {
  list-style: none;
  counter-reset: nvp-step;
  display: grid;
  grid-template-columns: 1fr;
  gap: 1px;
  margin: 2.4rem 0 0;
  padding: 0;
  background: var(--line);
  border: 1px solid var(--line);
}
.nvp-steps > li {
  counter-increment: nvp-step;
  background: var(--parchment-light);
  padding: 1.4rem 1.5rem;
  font-size: 0.95rem;
  line-height: 1.5;
}
.nvp-steps > li::before {
  content: counter(nvp-step, decimal-leading-zero);
  display: block;
  margin-bottom: 0.6rem;
  font-family: 'Fraunces', serif;
  font-size: 1.6rem;
  font-style: italic;
  font-weight: 300;
  line-height: 0.9;
  color: var(--copper);
}
.nvp-steps__t {
  display: block;
  margin-top: 0.55rem;
  font-family: 'JetBrains Mono', monospace;
  font-size: 0.68rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--seafoam);
  font-variant-numeric: tabular-nums;
}

/* Raw log — scrolls itself, never the page. */
.nv-proof-page .nvp-log,
.nvp-log {
  position: relative;
  margin: 2.4rem 0 0;
  border: 1px solid var(--line-strong);
  background: var(--ink);
  color: var(--parchment);
}
.nvp-log__head {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  gap: 0.6rem;
  padding: 0.9rem 1.2rem;
  border-bottom: 1px solid rgba(244, 234, 213, 0.2);
  font-family: 'JetBrains Mono', monospace;
  font-size: 0.66rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--copper-bright);
}
.nvp-log__body {
  margin: 0;
  padding: 1.2rem 1.2rem 2rem;
  max-height: 22rem;
  overflow: auto;
  font-family: 'JetBrains Mono', monospace;
  font-size: 0.76rem;
  line-height: 1.65;
  white-space: pre;
  tab-size: 4;
  font-variant-numeric: tabular-nums;
}
.nvp-log__body:focus-visible {
  outline: 2px solid var(--copper-bright);
  outline-offset: -2px;
}
/* Bottom fade, so a cut-off tail looks cut off. */
.nvp-log::after {
  content: '';
  position: absolute;
  left: 1px;
  right: 1px;
  bottom: 1px;
  height: 2.6rem;
  pointer-events: none;
  background: linear-gradient(to top, var(--ink), rgba(6, 20, 39, 0));
}

/* Ink-background sections invert the parchment furniture above. */
.services-section .nvp-status,
.nv-section-dark .nvp-status,
.nv-tool-result .nvp-status { border-bottom-color: var(--parchment); }
.services-section .nvp-facts dt,
.nv-section-dark .nvp-facts dt,
.nv-tool-result .nvp-facts dt { color: var(--copper-bright); }
.services-section .nvp-facts dd,
.nv-section-dark .nvp-facts dd,
.nv-tool-result .nvp-facts dd { border-bottom-color: rgba(244, 234, 213, 0.2); }
.services-section .nvp-facts,
.nv-section-dark .nvp-facts,
.nv-tool-result .nvp-facts { border-top-color: rgba(244, 234, 213, 0.2); }
.services-section .nvp-verdict,
.nv-section-dark .nvp-verdict,
.nv-tool-result .nvp-verdict { background: var(--ink-deep); color: var(--parchment); }
.services-section .nvp-verdict--pending,
.nv-section-dark .nvp-verdict--pending,
.nv-tool-result .nvp-verdict--pending { color: rgba(244, 234, 213, 0.66); }
.services-section .nvp-steps,
.nv-section-dark .nvp-steps,
.nv-tool-result .nvp-steps {
  background: rgba(244, 234, 213, 0.16);
  border-color: rgba(244, 234, 213, 0.22);
}
.services-section .nvp-steps > li,
.nv-section-dark .nvp-steps > li,
.nv-tool-result .nvp-steps > li { background: var(--ink-deep); }
.services-section .nvp-steps > li::before,
.nv-section-dark .nvp-steps > li::before,
.nv-tool-result .nvp-steps > li::before { color: var(--copper-bright); }

@media (min-width: 601px) {
  .nvp-status {
    flex-direction: row;
    flex-wrap: wrap;
    align-items: baseline;
    justify-content: space-between;
  }
  .nvp-status__title { font-size: 2.1rem; }
  .nvp-facts {
    grid-template-columns: 14rem 1fr;
    column-gap: 1.6rem;
  }
  .nvp-facts dt { padding: 1.1rem 0; border-bottom: 1px solid var(--line); }
  .nvp-facts dd { padding: 1.1rem 0; }
  .services-section .nvp-facts dt,
  .nv-section-dark .nvp-facts dt,
  .nv-tool-result .nvp-facts dt { border-bottom-color: rgba(244, 234, 213, 0.2); }
}
@media (min-width: 701px) {
  .nvp-log__body { font-size: 0.8rem; max-height: 26rem; }
}
@media (min-width: 901px) {
  .nvp-steps { grid-template-columns: repeat(4, 1fr); }
  .nvp-steps > li { padding: 1.6rem 1.5rem; }
}
@media (min-width: 1001px) {
  .nvp-facts { grid-template-columns: 18rem 1fr; }
  .nvp-log__body { max-height: 30rem; }
}

/* ==========================================================================
   COMPARISON TABLE (/compare) — Added 2026-07-24.
   The table lives inside its own scroll container so the page itself never
   scrolls sideways. Below 861px the table is replaced by a card list.
   ========================================================================== */
.nv-compare {
  display: none;
  margin: 2.4rem 0 0;
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
  border: 1px solid var(--line-strong);
  background: var(--parchment-light);
}
table.nv-compare__table {
  width: 100%;
  min-width: 46rem;
  border-collapse: separate;
  border-spacing: 0;
  background: var(--parchment-light);
  font-size: 0.9rem;
}
table.nv-compare__table th,
table.nv-compare__table td {
  padding: 0.85rem 1.1rem;
  text-align: center;
  vertical-align: top;
  border-bottom: 1px solid var(--line);
  font-variant-numeric: tabular-nums;
}
table.nv-compare__table thead th {
  position: sticky;
  top: 0;
  z-index: 2;
  background: var(--parchment-warm);
  border-bottom: 1px solid var(--line-strong);
  font-family: 'Fraunces', serif;
  font-size: 1.02rem;
  font-weight: 500;
}
table.nv-compare__table tbody th,
table.nv-compare__table tbody td:first-child {
  position: sticky;
  left: 0;
  z-index: 1;
  min-width: 13rem;
  text-align: left;
  background: var(--parchment-light);
  border-right: 1px solid var(--line-strong);
  font-family: 'Inter Tight', sans-serif;
  font-weight: 500;
}
table.nv-compare__table thead th:first-child {
  z-index: 3;
  left: 0;
  text-align: left;
  background: var(--parchment-warm);
  border-right: 1px solid var(--line-strong);
}
table.nv-compare__table tbody tr:last-child th,
table.nv-compare__table tbody tr:last-child td { border-bottom: none; }
table.nv-compare__table tbody tr:hover td { background: rgba(184, 97, 42, 0.06); }

/* Cell readings — ours, theirs, and the honest "it depends". */
.nv-cell--us {
  box-shadow: inset 3px 0 0 var(--seafoam);
  color: var(--ink);
  font-weight: 500;
}
.nv-cell--them { color: rgba(11, 31, 58, 0.7); }
.nv-cell--depends { box-shadow: inset 3px 0 0 var(--gold); color: var(--copper-deep); }

/* Card list — the same content, one competitor at a time. */
.nv-compare-cards {
  list-style: none;
  display: grid;
  grid-template-columns: 1fr;
  gap: 1px;
  margin: 2.4rem 0 0;
  padding: 0;
  background: var(--line);
  border: 1px solid var(--line-strong);
}
.nv-compare-cards > li {
  background: var(--parchment-light);
  padding: 1.4rem 1.4rem 1.5rem;
}
.nv-compare-cards h3 {
  font-family: 'Fraunces', serif;
  font-size: 1.25rem;
  font-weight: 400;
  margin: 0 0 0.8rem;
}
.nv-compare-cards dl { margin: 0; }
.nv-compare-cards dt {
  font-family: 'JetBrains Mono', monospace;
  font-size: 0.62rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--copper);
  margin-top: 0.9rem;
}
.nv-compare-cards dd {
  margin: 0.25rem 0 0;
  font-size: 0.94rem;
  line-height: 1.5;
  font-variant-numeric: tabular-nums;
}

/* The template renders the card list as flat blocks rather than li/dl, so the
   BEM parts carry the padding and the background the grid gap separates. */
.nv-compare-cards__q {
  background: var(--parchment-warm);
  padding: 1.1rem 1.4rem 0.9rem;
  font-family: 'Fraunces', serif;
  font-size: 1.12rem;
  line-height: 1.35;
}
.nv-compare-cards__row {
  background: var(--parchment-light);
  padding: 1rem 1.4rem 1.1rem;
  font-size: 0.94rem;
  line-height: 1.5;
}
.nv-compare-cards__who {
  display: block;
  margin-bottom: 0.35rem;
  font-family: 'JetBrains Mono', monospace;
  font-size: 0.62rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--copper);
}

/* Inline citation — where the number came from, and when. */
.nv-source {
  display: inline-block;
  font-family: 'JetBrains Mono', monospace;
  font-size: 0.64rem;
  letter-spacing: 0.04em;
  line-height: 1.4;
  color: rgba(11, 31, 58, 0.58);
}
.nv-source a { color: inherit; text-decoration: underline; text-underline-offset: 2px; }
.nv-source a:hover { color: var(--copper); }
.nv-source time,
.nv-source .nv-source__date { opacity: 0.8; font-variant-numeric: tabular-nums; }
.nv-source time::before,
.nv-source .nv-source__date::before { content: ' · '; }

/* Ink-background sections. */
.services-section table.nv-compare__table,
.nv-section-dark table.nv-compare__table,
.nv-tool-result table.nv-compare__table { background: var(--ink-deep); color: var(--parchment); }
.services-section .nv-compare,
.nv-section-dark .nv-compare,
.nv-tool-result .nv-compare { background: var(--ink-deep); border-color: rgba(244, 234, 213, 0.22); }
.services-section table.nv-compare__table thead th,
.nv-section-dark table.nv-compare__table thead th,
.nv-tool-result table.nv-compare__table thead th,
.services-section table.nv-compare__table thead th:first-child,
.nv-section-dark table.nv-compare__table thead th:first-child,
.nv-tool-result table.nv-compare__table thead th:first-child { background: var(--ink); }
.services-section table.nv-compare__table tbody th,
.nv-section-dark table.nv-compare__table tbody th,
.nv-tool-result table.nv-compare__table tbody th,
.services-section table.nv-compare__table tbody td:first-child,
.nv-section-dark table.nv-compare__table tbody td:first-child,
.nv-tool-result table.nv-compare__table tbody td:first-child { background: var(--ink-deep); }
.services-section table.nv-compare__table th,
.nv-section-dark table.nv-compare__table th,
.nv-tool-result table.nv-compare__table th,
.services-section table.nv-compare__table td,
.nv-section-dark table.nv-compare__table td,
.nv-tool-result table.nv-compare__table td { border-bottom-color: rgba(244, 234, 213, 0.18); }
.services-section .nv-cell--us,
.nv-section-dark .nv-cell--us,
.nv-tool-result .nv-cell--us { color: var(--parchment); }
.services-section .nv-cell--them,
.nv-section-dark .nv-cell--them,
.nv-tool-result .nv-cell--them { color: rgba(244, 234, 213, 0.68); }
.services-section .nv-cell--depends,
.nv-section-dark .nv-cell--depends,
.nv-tool-result .nv-cell--depends { color: var(--gold); }
.services-section .nv-source,
.nv-section-dark .nv-source,
.nv-tool-result .nv-source { color: rgba(244, 234, 213, 0.6); }
.services-section .nv-compare-cards > li,
.nv-section-dark .nv-compare-cards > li,
.nv-tool-result .nv-compare-cards > li { background: var(--ink-deep); }
.services-section .nv-compare-cards dt,
.nv-section-dark .nv-compare-cards dt,
.nv-tool-result .nv-compare-cards dt { color: var(--copper-bright); }

@media (min-width: 861px) {
  .nv-compare { display: block; }
  .nv-compare-cards { display: none; }
}
@media (min-width: 1001px) {
  table.nv-compare__table { font-size: 0.94rem; }
  table.nv-compare__table th,
  table.nv-compare__table td { padding: 1rem 1.3rem; }
  table.nv-compare__table tbody th,
  table.nv-compare__table tbody td:first-child { min-width: 16rem; }
}

/* ==========================================================================
   QUESTIONS, RULES & FOUNDING COUNTER (/questions, /compare, /pricing)
   Added 2026-07-24. The disclosure marker follows the existing .nv-adv
   pattern so the two devices feel like one family.
   ========================================================================== */
.nv-qa { width: 100%; margin: 2.4rem 0 0; }
.nv-qa__lead {
  max-width: 46rem;
  margin: 0 0 1.6rem;
  font-size: 1rem;
  line-height: 1.6;
  opacity: 0.82;
}
.nv-qa__item {
  width: 100%;
  border: 1px solid var(--line);
  border-bottom: none;
  background: var(--parchment-light);
}
.nv-qa__item:last-of-type { border-bottom: 1px solid var(--line); }
.nv-qa__item[open] { background: var(--parchment-warm); }
.nv-qa__item > summary {
  cursor: pointer;
  list-style: none;
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 1rem;
  padding: 1.15rem 1.4rem;
  font-family: 'JetBrains Mono', monospace;
  font-size: 0.82rem;
  letter-spacing: 0.02em;
  line-height: 1.5;
  color: var(--ink);
}
.nv-qa__item > summary::-webkit-details-marker { display: none; }
.nv-qa__item > summary::after {
  content: '+';
  flex: 0 0 auto;
  font-size: 1.4rem;
  line-height: 1;
  color: var(--copper);
  opacity: 0.75;
}
.nv-qa__item[open] > summary::after { content: '\2013'; }
.nv-qa__item > summary:hover { color: var(--copper-deep); }
.nv-qa__item > summary:focus-visible {
  outline: 2px solid var(--copper);
  outline-offset: -2px;
}
.nv-qa__a {
  padding: 0.2rem 1.4rem 1.5rem;
  max-width: 46rem;
  font-family: 'Fraunces', serif;
  font-size: 1rem;
  font-weight: 300;
  line-height: 1.7;
}
.nv-qa__a p { margin: 0 0 0.8rem; }
.nv-qa__a p:last-child { margin-bottom: 0; }
.nv-qa__a a { color: var(--copper-deep); text-underline-offset: 2px; }

/* House rules — a short strip of non-negotiables. */
.nv-rules {
  list-style: none;
  display: grid;
  grid-template-columns: 1fr;
  gap: 1px;
  margin: 2.4rem 0 0;
  padding: 0;
  background: var(--line);
  border: 1px solid var(--line);
}
.nv-rules__item {
  background: var(--parchment-light);
  padding: 1.3rem 1.4rem;
  font-size: 0.92rem;
  line-height: 1.5;
}
.nv-rules__item strong {
  display: block;
  margin-bottom: 0.4rem;
  font-family: 'JetBrains Mono', monospace;
  font-size: 0.63rem;
  font-weight: 500;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--copper);
}

/* Founding-customer counter. */
.nv-founding {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  align-items: flex-start;
  margin: 2rem 0 0;
  padding: 1.3rem 1.5rem;
  border: 1px solid var(--line-strong);
  background: var(--parchment-light);
}
.nv-founding__label {
  font-family: 'JetBrains Mono', monospace;
  font-size: 0.64rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--copper);
}
.nv-founding__count {
  font-family: 'Fraunces', serif;
  font-size: 2rem;
  font-weight: 400;
  line-height: 1;
  font-variant-numeric: tabular-nums;
}
.nv-founding__count small {
  font-family: 'Inter Tight', sans-serif;
  font-size: 0.88rem;
  letter-spacing: 0;
  text-transform: none;
  opacity: 0.7;
  margin-left: 0.5rem;
}

/* Ink-background sections. */
.services-section .nv-qa__item,
.nv-section-dark .nv-qa__item,
.nv-tool-result .nv-qa__item {
  background: var(--ink-deep);
  border-color: rgba(244, 234, 213, 0.22);
}
.services-section .nv-qa__item:last-of-type,
.nv-section-dark .nv-qa__item:last-of-type,
.nv-tool-result .nv-qa__item:last-of-type { border-bottom-color: rgba(244, 234, 213, 0.22); }
.services-section .nv-qa__item[open],
.nv-section-dark .nv-qa__item[open],
.nv-tool-result .nv-qa__item[open] { background: var(--ink); }
.services-section .nv-qa__item > summary,
.nv-section-dark .nv-qa__item > summary,
.nv-tool-result .nv-qa__item > summary { color: var(--parchment); }
.services-section .nv-qa__item > summary::after,
.nv-section-dark .nv-qa__item > summary::after,
.nv-tool-result .nv-qa__item > summary::after { color: var(--copper-bright); }
.services-section .nv-qa__a a,
.nv-section-dark .nv-qa__a a,
.nv-tool-result .nv-qa__a a { color: var(--copper-bright); }
.services-section .nv-rules,
.nv-section-dark .nv-rules,
.nv-tool-result .nv-rules {
  background: rgba(244, 234, 213, 0.16);
  border-color: rgba(244, 234, 213, 0.22);
}
.services-section .nv-rules__item,
.nv-section-dark .nv-rules__item,
.nv-tool-result .nv-rules__item { background: var(--ink-deep); }
.services-section .nv-rules__item strong,
.nv-section-dark .nv-rules__item strong,
.nv-tool-result .nv-rules__item strong { color: var(--copper-bright); }
.services-section .nv-founding,
.nv-section-dark .nv-founding,
.nv-tool-result .nv-founding {
  background: var(--ink-deep);
  border-color: rgba(244, 234, 213, 0.28);
}
.services-section .nv-founding__label,
.nv-section-dark .nv-founding__label,
.nv-tool-result .nv-founding__label { color: var(--copper-bright); }

@media (min-width: 601px) {
  .nv-qa__item > summary { padding: 1.25rem 1.7rem; font-size: 0.86rem; }
  .nv-qa__a { padding: 0.2rem 1.7rem 1.7rem; font-size: 1.05rem; }
  .nv-rules { grid-template-columns: repeat(2, 1fr); }
  .nv-founding {
    flex-direction: row;
    align-items: baseline;
    gap: 1.2rem;
  }
}
@media (min-width: 1001px) {
  .nv-rules { grid-template-columns: repeat(4, 1fr); }
  .nv-founding { padding: 1.5rem 1.8rem; }
  .nv-founding__count { font-size: 2.3rem; }
}
