/* Naventra sales page (templates/sales/page.php) */
:root {
  --nv-navy: #0b2340;
  --nv-navy-2: #123a66;
  --nv-teal: #2bb7c6;
  --nv-teal-ink: #0f7f8c;
  --nv-amber: #f5a524;
  --nv-mist: #f1f5f9;
  --nv-line: #d8e1ea;
  --nv-ink: #14202e;
  --nv-ink-2: #3d4b5a;
  --nv-pale: #d6e2ee;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body.nv { margin: 0; font: 400 17px/1.6 'IBM Plex Sans', system-ui, sans-serif; color: var(--nv-ink); background: #fff; }
.nv h1, .nv h2, .nv h3 { font-family: Sora, system-ui, sans-serif; margin: 0; text-wrap: balance; }
.nv h2 { font-size: clamp(1.7rem, 3.4vw, 2.4rem); line-height: 1.15; color: var(--nv-navy); margin-bottom: 16px; }
.nv p { margin: 0 0 14px; text-wrap: pretty; }
.nv a { color: var(--nv-navy-2); }
.nv-wrap { max-width: 1120px; margin: 0 auto; padding: 0 24px; }
.nv-skip { position: absolute; left: -9999px; }
.nv-skip:focus { left: 16px; top: 16px; background: #fff; padding: 8px 12px; z-index: 10; }
.nv-kicker { font-family: Sora, sans-serif; font-weight: 600; font-size: .78rem; letter-spacing: .16em; text-transform: uppercase; color: var(--nv-teal-ink); margin-bottom: 10px !important; }
.nv-kicker-light { color: #8fdbe4; }

/* buttons */
.nv-btn { display: inline-flex; align-items: center; justify-content: center; min-height: 46px; padding: 10px 20px; border-radius: 8px; font: 600 1rem/1.2 'IBM Plex Sans', sans-serif; text-decoration: none; border: 2px solid transparent; }
.nv-btn-amber { background: var(--nv-amber); color: #1d1405 !important; }
.nv-btn-amber:hover { background: #ffb53d; }
.nv-btn-ghost { border-color: rgba(255,255,255,.55); color: #fff !important; }
.nv-btn-ghost:hover { border-color: #fff; background: rgba(255,255,255,.08); }
.nv-btn:focus-visible, .nv a:focus-visible { outline: 3px solid var(--nv-teal); outline-offset: 2px; }

/* header */
.nv-bar { background: var(--nv-navy); color: #fff; position: sticky; top: 0; z-index: 5; }
.nv-bar-in { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 68px; flex-wrap: wrap; }
.nv-logo { display: flex; align-items: center; gap: 10px; color: #fff !important; text-decoration: none; font: 800 1.2rem Sora, sans-serif; letter-spacing: .08em; }
.nv-nav { display: flex; align-items: center; gap: 22px; }
.nv-nav a:not(.nv-btn) { color: var(--nv-pale); text-decoration: none; font-weight: 500; }
.nv-nav a:not(.nv-btn):hover { color: #fff; }
.nv-nav .nv-btn { min-height: 40px; padding: 8px 16px; }

/* hero */
.nv-hero { position: relative; overflow: hidden; background: var(--nv-navy); color: #fff; }
.nv-route { position: absolute; right: 0; bottom: 0; width: min(40%, 520px); height: 75%; opacity: .9; }
.nv-hero-in { position: relative; padding-top: 96px; padding-bottom: 96px; max-width: 1120px; }
.nv-hero h1 { font-size: clamp(2.3rem, 6vw, 4rem); line-height: 1.04; max-width: 760px; }
.nv-hero h1 span { color: var(--nv-amber); }
.nv-lead { font-size: 1.2rem; color: var(--nv-pale); max-width: 600px; margin-top: 22px !important; }
.nv-actions { display: flex; gap: 12px; flex-wrap: wrap; margin: 28px 0 22px; }
.nv-for { color: var(--nv-pale); font-size: .95rem; }

/* why */
.nv-why { padding: 88px 0; }
.nv-why-in { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 56px; align-items: start; }
.nv-why p { color: var(--nv-ink-2); }
.nv-checks { list-style: none; margin: 0; padding: 0; display: grid; gap: 18px; }
.nv-checks li { position: relative; padding-left: 34px; color: var(--nv-ink-2); }
.nv-checks li::before { content: ''; position: absolute; left: 0; top: 4px; width: 20px; height: 20px; border-radius: 50%; background: var(--nv-teal-ink); }
.nv-checks li::after { content: ''; position: absolute; left: 7px; top: 8px; width: 5px; height: 9px; border: solid #fff; border-width: 0 2.5px 2.5px 0; transform: rotate(45deg); }
.nv-checks strong { color: var(--nv-navy); }

/* platform */
.nv-platform { padding: 88px 0; background: var(--nv-mist); }
.nv-areas { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; margin-top: 28px; }
.nv-area { background: #fff; border: 1px solid var(--nv-line); border-radius: 14px; padding: 28px; }
.nv-area-tag { display: flex; align-items: center; gap: 12px; font: 600 .78rem Sora, sans-serif; letter-spacing: .14em; text-transform: uppercase; color: var(--nv-teal-ink); }
.nv-area-tag span { background: var(--nv-navy); color: #fff; border-radius: 6px; padding: 5px 8px; letter-spacing: 0; font-weight: 800; }
.nv-area h3 { font-size: 1.35rem; line-height: 1.2; color: var(--nv-navy); margin: 4px 0 14px; }
.nv-area dl { margin: 0; }
.nv-area dt { font-weight: 600; color: var(--nv-navy); }
.nv-area dd { margin: 0 0 12px; color: var(--nv-ink-2); font-size: .97rem; }

/* modules */
.nv-modules { padding: 88px 0; }
.nv-modules-in { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: 56px; align-items: center; }
.nv-modules p { color: var(--nv-ink-2); }
.nv-chips { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 10px; }
.nv-chips li { background: #e8f1f8; color: var(--nv-navy); border-radius: 999px; padding: 8px 14px; font-weight: 500; font-size: .95rem; }

/* getting started */
.nv-start { padding: 88px 0; background: var(--nv-mist); }
.nv-steps { list-style: none; counter-reset: s; margin: 28px 0 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.nv-steps li { counter-increment: s; background: #fff; border: 1px solid var(--nv-line); border-radius: 14px; padding: 26px; color: var(--nv-ink-2); }
.nv-steps li::before { content: counter(s); display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; background: var(--nv-navy); color: #fff; font: 800 1.05rem Sora, sans-serif; margin-bottom: 14px; }
.nv-steps strong { display: block; color: var(--nv-navy); font-size: 1.08rem; margin-bottom: 4px; }
.nv-built { margin-top: 28px !important; color: var(--nv-ink-2); font-weight: 500; }

/* demo */
.nv-demo { background: var(--nv-navy); color: #fff; padding: 80px 0; }
.nv-demo h2 { color: #fff; }
.nv-demo p { color: var(--nv-pale); max-width: 520px; }
.nv-demo-in { display: flex; justify-content: space-between; align-items: center; gap: 32px; flex-wrap: wrap; }
.nv-contact { display: flex; flex-direction: column; gap: 12px; min-width: min(100%, 340px); }

/* footer */
.nv-foot { background: #071729; color: #b9c8d8; font-size: .9rem; }
.nv-foot-in { display: flex; justify-content: space-between; gap: 12px 24px; flex-wrap: wrap; padding-top: 24px; padding-bottom: 28px; }
.nv-foot p { margin: 0; }
.nv-foot a { color: #fff; }

@media (max-width: 860px) {
  .nv-why-in, .nv-modules-in, .nv-areas, .nv-steps { grid-template-columns: minmax(0, 1fr); gap: 28px; }
  .nv-nav a:not(.nv-btn) { display: none; }
  .nv-route { width: 100%; opacity: .35; }
  .nv-hero-in { padding-top: 64px; padding-bottom: 64px; }
  .nv-why, .nv-platform, .nv-modules, .nv-start { padding: 64px 0; }
}
@media (max-width: 520px) {
  .nv-wrap { padding: 0 16px; }
  .nv-area, .nv-steps li { padding: 22px; }
  .nv-actions .nv-btn, .nv-contact .nv-btn { width: 100%; }
}
