/* Candid — homepage layer. Loaded after nova.css (the shared design system).
   A light hero, then bright chapters, each with its own temperature. */

/* Chapter headings that don't use .nv-section-head */
.nv-tour-copy h2,.nv-check-copy h2,.nv-process-head h2,.nv-commercial-copy h2{margin-top:14px;font-size:clamp(36px,3.8vw,52px);line-height:1.06;letter-spacing:-.035em;text-wrap:balance}
.nv-tour-copy h2 em,.nv-check-copy h2 em,.nv-process-head h2 em,.nv-commercial-copy h2 em{font-style:normal;color:var(--nv-green-d)}

/* Hero */
.nv-hero{position:relative;isolation:isolate;overflow:hidden;padding:64px 0 76px;background:radial-gradient(780px 540px at 88% 16%,rgba(39,223,160,.2),transparent 62%),radial-gradient(640px 480px at 2% 100%,rgba(85,124,255,.09),transparent 62%),linear-gradient(180deg,#eefaf4 0%,#f6fbf9 58%,#fff 100%);color:var(--nv-ink)}
.nv-hero::after{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(117deg,transparent 0 45.5%,rgba(0,139,97,.06) 45.6% 45.8%,transparent 45.9% 100%)}
.nv-hero-shell{display:grid;grid-template-columns:.92fr 1.08fr;align-items:center;gap:58px}.nv-hero-copy{position:relative;z-index:4}
.nv-hero h1{max-width:620px;color:var(--nv-ink);font-size:clamp(46px,4.8vw,64px);font-weight:700;line-height:1.05;letter-spacing:-.04em;text-wrap:balance}
.nv-hero h1 em{font-style:normal;background:linear-gradient(105deg,#00935f 5%,#00977d 52%,#0a8aa6 95%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.nv-hero-lead{max-width:540px;margin:22px 0 28px;color:#3f5468;font-size:17px;line-height:1.7}.nv-hero-actions{display:flex;flex-wrap:wrap;gap:12px}
.nv-trust-row{display:flex;flex-wrap:wrap;gap:10px 22px;margin-top:26px;list-style:none;color:#34495d;font-size:13px;font-weight:600}.nv-trust-row li{display:flex;align-items:center;gap:8px}.nv-trust-row svg{color:var(--nv-green-d)}
.nv-orbit-stage{position:relative;height:470px;transform-style:preserve-3d;transition:transform .18s ease-out}

.nv-orbit-halo{position:absolute;inset:4% 1%;border-radius:50%;background:radial-gradient(circle,rgba(39,223,160,.22),rgba(85,124,255,.05) 46%,transparent 68%);filter:blur(3px)}
.nv-orbit-ring{position:absolute;left:50%;top:50%;border:1px solid rgba(0,139,97,.2);border-radius:50%;transform:translate(-50%,-50%);animation:nvOrbit 24s linear infinite}.nv-ring-one{width:470px;height:470px}.nv-ring-two{width:358px;height:358px;border-style:dashed;animation-duration:17s;animation-direction:reverse}.nv-orbit-ring::before,.nv-orbit-ring::after{content:"";position:absolute;inset:11%;border:1px solid rgba(0,139,97,.09);border-radius:50%}.nv-orbit-ring::after{inset:28%}
.nv-orbit-ring>i{position:absolute;width:10px;height:10px;border:2px solid #fff;border-radius:50%;background:var(--nv-green);box-shadow:0 0 0 5px rgba(39,223,160,.15),0 4px 10px rgba(17,52,48,.16)}.nv-ring-one>i:nth-child(1){top:42px;left:83px}.nv-ring-one>i:nth-child(2){right:-4px;top:218px;background:var(--nv-cyan)}.nv-ring-one>i:nth-child(3){bottom:28px;left:130px;background:var(--nv-violet)}.nv-ring-two>i:nth-child(1){top:-4px;left:170px;background:var(--nv-orange)}.nv-ring-two>i:nth-child(2){bottom:42px;right:30px;background:var(--nv-blue)}
.nv-core-card{position:absolute;z-index:4;top:50%;left:50%;width:350px;overflow:hidden;border:1px solid #d2e4dc;border-radius:16px;background:#fff;box-shadow:0 40px 90px rgba(17,64,52,.18),0 0 0 7px rgba(255,255,255,.6);transform:translate(-50%,-50%)}
.nv-core-top{display:flex;align-items:center;gap:8px;height:42px;padding:0 14px;border-bottom:1px solid #e5eee9;background:#f5faf7;color:#64778a;font-size:11px}.nv-core-top>span{display:flex;gap:5px}.nv-core-top i{display:block;width:6px;height:6px;border-radius:50%;background:#ff7676}.nv-core-top i:nth-child(2){background:#ffc967}.nv-core-top i:nth-child(3){background:#50d99a}.nv-core-top b{margin-left:auto;padding:4px 7px;border-radius:5px;background:#d9f4e8;color:#05744f;font-size:10px;letter-spacing:.08em;text-transform:uppercase}
.nv-core-body{padding:26px;text-align:center}.nv-core-status{display:flex;justify-content:center;align-items:center;gap:9px;color:#05744f;font-size:12px;font-weight:700}.nv-core-status .nv-live-dot{width:6px;height:6px}
.nv-core-body>strong{display:flex;align-items:baseline;justify-content:center;gap:9px;margin-top:15px;color:var(--nv-ink);font:700 66px/.95 'Sora',sans-serif;letter-spacing:-.05em}.nv-core-body>strong span{color:#5a6e80;font-size:15px;font-weight:700;letter-spacing:0;line-height:1}.nv-core-body>p{margin-top:8px;color:#62758a;font-size:11px;text-transform:uppercase;letter-spacing:.1em}

/* Capability ticker */
.nv-ticker{position:relative;z-index:4;overflow:hidden;border-top:1px solid #e1eae6;border-bottom:1px solid #d7e2e8;background:#fff;box-shadow:0 12px 34px rgba(16,48,58,.05)}.nv-ticker-track{display:flex;width:max-content;animation:nvTicker 34s linear infinite}
.nv-ticker span{display:flex;align-items:center;gap:30px;padding:16px 0 16px 30px;color:#405067;font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;white-space:nowrap}.nv-ticker span::after{content:"";width:6px;height:6px;border-radius:50%;background:var(--nv-green-d);opacity:.45}

/* Why it matters: the same example site over six months, left alone and with
   monthly care. main.js steps the month slider through once when the section
   scrolls into view. The markup holds month six, which is what shows without
   JS or with reduced motion. */
.nv-signal-section{background:radial-gradient(620px 420px at 96% 5%,rgba(39,223,160,.07),transparent 68%),#f8faf9}
.nv-plan-card::after{content:"";position:absolute;inset:0;pointer-events:none;border-radius:inherit;background:radial-gradient(420px circle at var(--mx) var(--my),rgba(93,226,237,.1),transparent 60%)}
.nv-drift{overflow:hidden;border:1px solid #d9e3ea;border-radius:22px;background:#fff;box-shadow:0 26px 70px rgba(24,45,67,.08)}
.nv-drift-bar{display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:22px;padding:18px 28px 14px;border-bottom:1px solid #e6edf2;background:#f7fafb}
.nv-drift-play{display:grid;place-items:center;width:44px;height:44px;padding:0;border:0;border-radius:50%;background:var(--nv-ink);color:#fff;cursor:pointer;transition:transform .2s,background-color .2s}
.nv-drift-play:hover{transform:scale(1.06);background:#17324f}
.nv-drift-play>span{display:none}
.nv-drift-play[data-mode=play] .is-play,.nv-drift-play[data-mode=pause] .is-pause,.nv-drift-play[data-mode=replay] .is-replay{display:grid}
.nv-drift-scrub{position:relative;min-width:0;padding-bottom:22px}
.nv-drift-range{--p:100%;display:block;width:100%;height:22px;margin:0;background:none;cursor:pointer;-webkit-appearance:none;appearance:none}
.nv-drift-range:disabled{cursor:default}
.nv-drift-range::-webkit-slider-runnable-track{height:6px;border-radius:99px;background:linear-gradient(#33475b,#33475b) 0 0/var(--p) 100% no-repeat,#e2e9ee}
.nv-drift-range::-moz-range-track{height:6px;border-radius:99px;background:linear-gradient(#33475b,#33475b) 0 0/var(--p) 100% no-repeat,#e2e9ee}
.nv-drift-range::-webkit-slider-thumb{width:22px;height:22px;margin-top:-8px;border:4px solid #fff;border-radius:50%;background:var(--nv-ink);box-shadow:0 2px 10px rgba(7,20,38,.3);-webkit-appearance:none;appearance:none;transition:transform .2s}
.nv-drift-range:not(:disabled):hover::-webkit-slider-thumb{transform:scale(1.12)}
.nv-drift-range::-moz-range-thumb{box-sizing:border-box;width:22px;height:22px;border:4px solid #fff;border-radius:50%;background:var(--nv-ink);box-shadow:0 2px 10px rgba(7,20,38,.3)}
.nova .nv-drift-range:focus-visible{outline:3px solid rgba(0,139,97,.45);outline-offset:6px;border-radius:12px}
.nv-drift-ticks{position:absolute;left:0;right:0;bottom:0;height:16px;list-style:none}
.nv-drift-ticks li{position:absolute;top:0;left:calc(11px + (100% - 22px) * var(--i) / 6);color:#66788b;font-size:12px;font-weight:700;line-height:16px;white-space:nowrap;transform:translateX(-50%)}
.nv-drift-now{min-width:134px;padding:8px 14px;border-radius:999px;background:var(--nv-ink);color:#fff;font-size:13px;font-weight:800;text-align:center;white-space:nowrap}
.nv-drift-sites{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;padding:24px 28px}
.nv-drift-site{min-width:0;margin:0}
.nv-drift-site figcaption{display:flex;align-items:center;gap:10px;margin-bottom:12px;font-size:14px}
.nv-drift-site figcaption i{flex:none;width:10px;height:10px;border-radius:50%;background:#e5484d;box-shadow:0 0 0 4px rgba(229,72,77,.14)}
.nv-drift-site.is-care figcaption i{background:var(--nv-green-d);box-shadow:0 0 0 4px rgba(0,139,97,.14)}
.nv-drift-site figcaption b{font:700 16px/1.2 'Sora',sans-serif;letter-spacing:-.02em}
.nv-drift-site figcaption span{margin-left:auto;color:#66788b;font-size:13px}
.nv-browser{position:relative;overflow:hidden;border:1px solid #d5dee6;border-radius:14px;background:#fff;box-shadow:0 18px 40px rgba(24,45,67,.1)}
.nv-browser-bar{display:flex;align-items:center;gap:12px;height:34px;padding:0 12px;border-bottom:1px solid #e3e9ee;background:#f3f6f8}
.nv-browser-dots{display:flex;gap:5px}.nv-browser-dots i{width:8px;height:8px;border-radius:50%;background:#d4dbe2}
.nv-browser-url{display:flex;align-items:center;gap:6px;margin:0 auto;padding:3px 12px;border:1px solid #e0e6eb;border-radius:7px;background:#fff;color:#5b6b7b;font-size:11px}
.nv-browser-url svg{color:var(--nv-green-d)}
.nv-browser-url em{display:none;color:#b42318;font-style:normal;font-weight:800}
.nv-browser.is-hacked .nv-browser-url svg{display:none}.nv-browser.is-hacked .nv-browser-url em{display:inline}
.nv-browser-view{position:relative;overflow:hidden;background:#fff;container-type:inline-size}
.nv-browser-load{position:absolute;left:0;top:0;z-index:2;width:0;height:3px;background:#f08a3c;transition:width .6s}
.nv-browser.is-slow .nv-browser-load{width:62%}
/* The example site in each window: a small plumbing business, drawn at full
   size in em and scaled to the window with container query units, so it
   reads like a real page. Below 380px wide it switches to its phone layout. */
.nv-site{position:relative;width:64em;height:31em;overflow:hidden;background:#fff;color:#0e2240;font-family:'Inter',sans-serif;font-size:8px;font-size:calc(100cqw / 64);line-height:1.45;pointer-events:none;user-select:none}
.nv-site svg{display:block;flex:none}
.nv-site-nav{display:flex;align-items:center;gap:2.2em;height:4.4em;padding:0 2.8em;border-bottom:.1em solid #edf1f6}
.nv-site-logo{display:flex;align-items:center;gap:.7em}
.nv-site-logo i{display:grid;place-items:center;width:2.3em;height:2.3em;border-radius:.65em;background:#1f6feb;color:#fff}
.nv-site-logo i svg{width:1.3em;height:1.3em}
.nv-site-logo b{font:700 1.45em/1 'Sora',sans-serif;letter-spacing:-.03em}
.nv-site-logo small{color:#5d6b82;font-size:.7em;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.nv-site-links{display:flex;gap:2em;margin-left:auto;color:#3d4b63;font-weight:500}
.nv-site-phone{display:flex;align-items:center;gap:.5em;font-weight:700}
.nv-site-phone svg{width:1.2em;height:1.2em;color:#1f6feb}
.nv-site-btn{display:inline-flex;align-items:center;justify-content:center;height:2.9em;padding:0 1.4em;border-radius:.6em;font-size:.95em;font-weight:700;white-space:nowrap}
.nv-site-btn.is-orange{background:#ff7a1a;color:#fff}
.nv-site-btn.is-line{border:.12em solid #c9d3e1;color:#0e2240}
.nv-site-btn.is-blue{background:#1f6feb;color:#fff;transition:background-color .4s}
.nv-site-menu{display:none}
.nv-site-hero{display:grid;grid-template-columns:1.12fr .88fr;align-items:center;gap:3em;padding:2.4em 2.8em 0}
.nv-site-copy{display:flex;flex-direction:column;align-items:flex-start}
.nv-site-rating{display:inline-flex;align-items:center;gap:.6em;padding:.45em .9em;border-radius:99em;background:#fff2e6;color:#8a3d00;font-size:.85em;font-weight:700}
.nv-site-stars{display:flex;gap:.12em;color:#ff7a1a}
.nv-site-stars svg{width:1.05em;height:1.05em}
.nv-site-title{display:block;margin-top:.5em;font:700 2.75em/1.08 'Sora',sans-serif;letter-spacing:-.035em}
.nv-site-lead{max-width:28em;margin-top:.9em;color:#4a5872;font-size:1.05em;line-height:1.55}
.nv-site-actions{display:flex;gap:.8em;margin-top:1.4em}
.nv-site-trust{display:flex;flex-wrap:wrap;gap:.6em 1.4em;margin-top:1.3em;color:#3d4b63;font-size:.85em;font-weight:600}
.nv-site-trust span{display:flex;align-items:center;gap:.4em}
.nv-site-trust svg{width:1.1em;height:1.1em;color:#1f6feb;stroke-width:3}
.nv-site-form{display:flex;flex-direction:column;gap:.7em;padding:1.6em;border:.1em solid #e1e7ef;border-radius:1em;background:#fff;box-shadow:0 1.2em 3em rgba(14,34,64,.12)}
.nv-site-form>strong{font:700 1.35em/1.2 'Sora',sans-serif;letter-spacing:-.02em}
.nv-site-sub{margin-top:-.4em;color:#5d6b82;font-size:.85em}
.nv-site-field{display:flex;align-items:center;justify-content:space-between;height:2.9em;padding:0 1em;border:.1em solid #d9e1eb;border-radius:.55em;color:#8592a6;font-size:.9em}
.nv-site-field.is-select{color:#0e2240}
.nv-site-field.is-select::after{content:"";width:.5em;height:.5em;border-right:.15em solid #5d6b82;border-bottom:.15em solid #5d6b82;transform:translateY(-.15em) rotate(45deg)}
.nv-site-form .nv-site-btn{height:3em;margin-top:.2em}
.nv-site-alert{display:none;align-items:center;gap:.6em;height:2.9em;padding:0 1em;border-radius:.55em;font-size:.85em;font-weight:700}
.nv-site-alert svg{width:1.25em;height:1.25em}
.nv-site-alert.is-error{border:.1em solid #f3c2bf;background:#fdeeed;color:#a3261f}
.nv-site-alert.is-sent{border:.1em solid #bfe3cf;background:#ecf8f1;color:#0b5a3c}
.nv-browser.is-form .nv-site-alert.is-error,.nv-browser.is-sent .nv-site-alert.is-sent{display:flex;animation:nvDriftFade .4s both}
.nv-browser.is-form .nv-site-field.is-name,.nv-browser.is-sent .nv-site-field.is-name{display:none}
.nv-browser.is-form .nv-site-form .nv-site-btn{background:#a9bad6}
.nv-site-services{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2em;padding:2.4em 2.8em 0}
.nv-site-services>span{display:grid;grid-template-columns:2.6em 1fr;align-items:start;column-gap:.9em;padding:1.2em;border:.1em solid #e6ebf2;border-radius:.9em;background:#f8fafd}
.nv-site-services i{grid-row:span 2;display:grid;place-items:center;width:2.6em;height:2.6em;border-radius:.7em;background:#e8f0ff;color:#1f6feb}
.nv-site-services svg{width:1.3em;height:1.3em}
.nv-site-services b{font:700 1.05em/1.3 'Sora',sans-serif}
.nv-site-services small{color:#5d6b82;font-size:.85em}
@container (max-width:380px){
  .nv-site{width:30em;height:28em;font-size:calc(100cqw / 30)}
  .nv-site-nav{gap:1em;height:3.8em;padding:0 1.3em}
  .nv-site-links,.nv-site-phone{display:none}
  .nv-site-nav .nv-site-btn{margin-left:auto;height:2.5em;padding:0 1em;font-size:.85em}
  .nv-site-menu{display:grid;gap:.28em}.nv-site-menu i{display:block;width:1.3em;height:.16em;border-radius:1em;background:#0e2240}
  .nv-site-hero{grid-template-columns:minmax(0,1fr);gap:1.3em;padding:1.4em 1.3em 0}
  .nv-site-rating,.nv-site-lead,.nv-site-trust,.nv-site-actions,.nv-site-sub,.nv-site-field.is-select,.nv-site-services{display:none}
  .nv-site-title{margin-top:0;font-size:2.1em}
  .nv-site-form{gap:.6em;padding:1.1em}
  .nv-site-form>strong{font-size:1.2em}
}
/* What's happening on that site this month. */
.nv-drift-news{position:relative;z-index:5;display:flex;align-items:center;gap:9px;padding:9px 14px;border:0 solid;border-top-width:1px;background:#fff;font-size:13px;font-weight:700;line-height:1.35}
.nv-drift-news.is-ok{border-color:#bfe6d3;background:#effaf4;color:#0b5a3c}
.nv-drift-news.is-warn{border-color:#f5d3a8;background:#fff6ea;color:#8a4b07}
.nv-drift-news.is-bad{border-color:#f5c1bd;background:#fff1f0;color:#a3261f}
.nv-drift-news.is-new{animation:nvDriftPop .45s cubic-bezier(.2,.7,.2,1)}
.nv-drift-news-icon{display:grid;place-items:center;flex:none;width:22px;height:22px;border-radius:50%;color:#fff}
.nv-drift-news-icon i{display:none}
.nv-drift-news-icon svg{stroke-width:3}
.is-ok .nv-drift-news-icon{background:var(--nv-green-d)}.is-ok .nv-drift-news-icon .is-yes{display:grid}
.is-warn .nv-drift-news-icon{background:#d9821c}.is-bad .nv-drift-news-icon{background:#d6453d}
.is-warn .nv-drift-news-icon .is-no,.is-bad .nv-drift-news-icon .is-no{display:grid}
.nv-browser-warn{position:absolute;inset:0;z-index:4;display:none;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:16px;background:#b3261e;color:#fff;text-align:center}
.nv-browser.is-hacked .nv-browser-warn{display:flex;animation:nvDriftFade .5s both}
.nv-browser-warn svg{margin-bottom:4px}
.nv-browser-warn b{font:700 16px/1.25 'Sora',sans-serif}
.nv-browser-warn span{color:rgba(255,255,255,.88);font-size:13px}
.nv-browser-warn em{margin-top:8px;padding:6px 14px;border:1px solid rgba(255,255,255,.6);border-radius:7px;color:#fff;font-size:12px;font-style:normal;font-weight:700}
/* The three numbers under each site. */
.nv-drift-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:14px 0 0}
.nv-drift-stats div{padding:11px 13px;border:1px solid #e3e9ee;border-radius:12px;background:#fbfcfd;transition:border-color .4s,background-color .4s}
.nv-drift-stats dt{color:#5f7083;font-size:12px;font-weight:700}
.nv-drift-stats dd{margin:3px 0 0;font:700 22px/1.1 'Sora',sans-serif;letter-spacing:-.03em;font-variant-numeric:tabular-nums;transition:color .4s}
.nv-drift-stats .is-ok dd{color:#05744f}
.nv-drift-stats .is-warn{border-color:#f5d9b5;background:#fffaf2}.nv-drift-stats .is-warn dd{color:#9a5609}
.nv-drift-stats .is-bad{border-color:#f5c8c4;background:#fff6f5}.nv-drift-stats .is-bad dd{color:#b42318}
.nv-drift-foot{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 24px;padding:15px 28px;border-top:1px solid #e6edf2;background:#f7fafb;color:#4f6158;font-size:13px}
.nv-drift-foot a{display:inline-flex;align-items:center;gap:8px;padding-bottom:2px;border-bottom:1px solid rgba(7,20,38,.22);color:var(--nv-ink);font-size:14px;font-weight:800;transition:border-color .25s}
.nv-drift-foot a svg{transition:transform .25s}.nv-drift-foot a:hover{border-color:var(--nv-ink)}.nv-drift-foot a:hover svg{transform:translateX(3px)}

/* What we do: five areas, one open at a time. On wide screens the open area
   takes most of the row and the others fold into narrow columns. */
.nv-services-section{background:radial-gradient(800px 520px at 95% 4%,rgba(85,124,255,.1),transparent 64%),#f1f5fa}
.nv-services-section .nv-kicker{color:#3e63d3}.nv-services-section .nv-kicker::before{background:linear-gradient(90deg,#3e63d3,#7fa0ff)}.nv-services-section .nv-section-head h2 em{color:#496fe6}
.nv-xp{display:grid;gap:10px}
.nv-xp-item{position:relative;overflow:hidden;border:1px solid #d6e0ea;border-radius:20px;background:#fff;box-shadow:0 14px 34px rgba(30,52,82,.06);transition:border-color .35s,box-shadow .45s}
.nv-xp-item.is-active{border-color:color-mix(in srgb,var(--tone) 36%,#d6e0ea);box-shadow:0 28px 64px rgba(30,52,82,.12)}
.nova .nv-xp-title{margin:0;font:inherit;letter-spacing:normal}
.nv-xp-trigger{display:block;width:100%;padding:18px 20px;border:0;background:none;color:inherit;font:inherit;text-align:left;cursor:pointer}
.nova .nv-xp-trigger:focus-visible{outline-offset:-4px}
.nv-xp-rail{display:none}
.nv-xp-head{display:grid;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:16px}
.nv-xp-icon{display:grid;place-items:center;flex:none;width:48px;height:48px;border-radius:14px;background:var(--tone-soft);color:var(--tone-ink)}
.nv-xp-name{display:block;color:var(--nv-ink);font:700 20px/1.15 'Sora',sans-serif;letter-spacing:-.03em}
.nv-xp-name small{display:block;margin-top:5px;color:var(--tone-ink);font:700 13px/1.3 'Inter',sans-serif;letter-spacing:0}
.nv-xp-count{display:flex;flex-direction:column;align-items:flex-end;gap:5px}
.nv-xp-count b{color:var(--tone-ink);font:700 32px/.9 'Sora',sans-serif;letter-spacing:-.05em}
.nv-xp-count small,.nv-xp-rail small{color:#66788b;font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.nv-xp-panel{padding:0 20px 22px}
.nv-xp-lead{color:var(--nv-copy);font-size:15px;line-height:1.65}.nv-xp-lead b{color:var(--nv-ink);font-weight:700}
.nv-xp-tasks{display:grid;grid-template-columns:1fr 1fr;gap:11px 22px;margin-top:20px;padding-top:18px;border-top:1px solid #e6edf3;list-style:none}
.nv-xp-tasks li{display:flex;align-items:center;gap:10px;color:#2b3e52;font-size:14px;font-weight:600;line-height:1.35}
.nv-xp-tasks svg{flex:none;box-sizing:content-box;padding:4px;border-radius:50%;background:var(--tone-soft);color:var(--tone-ink);stroke-width:3}
.nv-xp-more{display:inline-flex;align-items:center;gap:10px;margin-top:20px;padding-bottom:3px;border-bottom:1px solid rgba(7,20,38,.2);color:var(--nv-ink);font-size:14px;font-weight:800;transition:border-color .25s}
.nv-xp-more svg{transition:transform .25s}.nv-xp-more:hover{border-color:var(--tone-ink)}.nv-xp-more:hover svg{transform:translateX(3px)}
.nv-xp-progress{position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--tone);transform:scaleX(var(--nv-progress,0));transform-origin:left;opacity:0;transition:opacity .3s}
.nv-xp-wrap.is-touring .nv-xp-item.is-active .nv-xp-progress{opacity:1}
/* Once main.js is running, only the open area shows its details. */
.nv-xp-wrap.is-ready .nv-xp-item:not(.is-active) .nv-xp-panel{display:none}
.nv-xp-wrap.is-ready .nv-xp-head{grid-template-columns:48px minmax(0,1fr) auto 14px}
.nv-xp-wrap.is-ready .nv-xp-head::after{content:"";width:9px;height:9px;border-right:2px solid #7d8da0;border-bottom:2px solid #7d8da0;transform:translateY(-3px) rotate(45deg);transition:transform .3s}
.nv-xp-wrap.is-ready .nv-xp-item.is-active .nv-xp-head::after{transform:translateY(2px) rotate(225deg)}
.nv-svc-foot{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 24px;margin-top:22px;padding:0 4px;color:var(--nv-copy);font-size:15px}.nv-svc-foot p b{color:var(--nv-ink)}.nv-svc-foot .nv-text-link{margin-top:0}
.nv-svc-actions{display:flex;align-items:center;gap:14px}
@media(min-width:1021px){
  .nv-xp-wrap.is-ready .nv-xp{--xp-gap:12px;--xp-grow:6;display:flex;gap:var(--xp-gap);height:436px;container-type:inline-size}
  .nv-xp-wrap.is-ready .nv-xp-item{--xp-open:calc((100cqw - 4 * var(--xp-gap)) * var(--xp-grow) / (var(--xp-grow) + 4));--xp-shut:calc((100cqw - 4 * var(--xp-gap)) / (var(--xp-grow) + 4));flex:1 1 0;min-width:0;border-radius:22px;background:linear-gradient(180deg,#fff,#f7f9fc);transition:flex-grow .55s cubic-bezier(.22,.8,.24,1),border-color .3s,box-shadow .35s,transform .3s}
  .nv-xp-wrap.is-ready .nv-xp-item.is-active{flex-grow:var(--xp-grow);background:radial-gradient(560px 300px at 100% 0%,color-mix(in srgb,var(--tone-soft) 92%,transparent),transparent 70%),#fff;box-shadow:0 34px 80px rgba(30,52,82,.14)}
  .nv-xp-wrap.is-ready .nv-xp-item:not(.is-active):hover{border-color:color-mix(in srgb,var(--tone) 45%,#d6e0ea);background:linear-gradient(180deg,#fff,color-mix(in srgb,var(--tone-soft) 60%,#fff));transform:translateY(-3px)}
  .nv-xp-wrap.is-ready .nv-xp-trigger{position:absolute;inset:0;z-index:2;padding:0}
  .nv-xp-wrap.is-ready .nv-xp-item.is-active .nv-xp-trigger{bottom:auto;height:124px;cursor:default}
  .nv-xp-wrap.is-ready .nv-xp-rail{position:absolute;left:0;top:0;bottom:0;display:flex;flex-direction:column;align-items:center;width:var(--xp-shut);padding:24px 0 30px}
  .nv-xp-rail .nv-xp-icon{width:46px;height:46px;border-radius:14px}
  .nv-xp-rail b{margin-top:18px;color:var(--tone-ink);font:700 28px/1 'Sora',sans-serif;letter-spacing:-.04em}
  .nv-xp-rail small{margin-top:6px}
  .nv-xp-rail em{margin-top:auto;color:var(--nv-ink);font:600 21px/1 'Sora',sans-serif;font-style:normal;letter-spacing:-.02em;white-space:nowrap;writing-mode:vertical-rl;transform:rotate(180deg)}
  .nv-xp-wrap.is-ready .nv-xp-head{position:absolute;left:34px;top:34px;width:calc(var(--xp-open) - 68px);grid-template-columns:60px minmax(0,1fr) auto;gap:18px}
  .nv-xp-wrap.is-ready .nv-xp-head::after{display:none}
  .nv-xp-wrap.is-ready .nv-xp-head .nv-xp-icon{width:60px;height:60px;border-radius:18px}
  .nv-xp-wrap.is-ready .nv-xp-name{font-size:30px}
  .nv-xp-wrap.is-ready .nv-xp-count b{font-size:58px}
  .nv-xp-wrap.is-ready .nv-xp-panel{position:absolute;left:34px;top:130px;bottom:32px;display:flex;flex-direction:column;width:calc(var(--xp-open) - 68px);padding:0}
  /* Closed areas show only their rail; the open one fades its details in while it widens.
     The head keeps its visibility so each button still has an accessible name. */
  .nv-xp-wrap.is-ready .nv-xp-item:not(.is-active) .nv-xp-panel{display:flex}
  .nv-xp-wrap.is-ready .nv-xp-head{opacity:0;transform:translateY(10px);transition:opacity .15s,transform .15s}
  .nv-xp-wrap.is-ready .nv-xp-panel{opacity:0;visibility:hidden;transform:translateY(10px);transition:opacity .15s,transform .15s,visibility 0s .15s}
  .nv-xp-wrap.is-ready .nv-xp-item.is-active .nv-xp-head{opacity:1;transform:none;transition:opacity .35s .15s,transform .4s .15s}
  .nv-xp-wrap.is-ready .nv-xp-item.is-active .nv-xp-panel{opacity:1;visibility:visible;transform:none;transition:opacity .4s .22s,transform .45s .22s,visibility 0s .22s}
  .nv-xp-wrap.is-ready .nv-xp-rail{transition:opacity .3s .2s}
  .nv-xp-wrap.is-ready .nv-xp-item.is-active .nv-xp-rail{opacity:0;visibility:hidden;transition:opacity .12s,visibility 0s .12s}
  .nv-xp-wrap.is-ready .nv-xp-lead{max-width:600px;font-size:16px}
  .nv-xp-wrap.is-ready .nv-xp-tasks{gap:14px 28px;margin-top:26px;padding-top:24px}
  .nv-xp-wrap.is-ready .nv-xp-tasks li{font-size:14.5px}
  .nv-xp-wrap.is-ready .nv-xp-more{align-self:flex-start;margin-top:auto}
}

/* A normal month: last month's calendar beside its care log. main.js plays the
   month through once when it comes into view, so both fill in together. */
.nv-log-section{background:radial-gradient(650px 430px at 5% 90%,rgba(255,173,87,.1),transparent 66%),#f9f7f2}
.nv-log-section .nv-kicker{color:#b96826}.nv-log-section .nv-kicker::before{background:linear-gradient(90deg,#d9782c,#ffb264)}.nv-log-section .nv-section-head h2 em{color:#d9782c}
.nv-month{--nv-month:1;display:grid;grid-template-columns:392px minmax(0,1fr);margin:0;overflow:hidden;border:1px solid #e4dccd;border-radius:22px;background:#fff;box-shadow:0 30px 80px rgba(70,52,24,.1)}
.nv-month-cal{display:flex;flex-direction:column;padding:28px 30px 26px;border-right:1px solid #eee7da;background:#fcfaf6}
.nv-month-cal>header b{display:block;font:700 22px/1.2 'Sora',sans-serif;letter-spacing:-.03em}
.nv-month-cal>header span{display:block;margin-top:3px;color:#766b5b;font-size:13px}
.nv-month-week,.nv-month-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;list-style:none}
.nv-month-week{margin-top:22px;color:#8a7f6f;font-size:11px;font-weight:800;letter-spacing:.06em;text-align:center;text-transform:uppercase}
.nv-month-days{margin-top:10px}
.nv-month-days li{position:relative;display:grid;place-items:center;aspect-ratio:1;border-radius:12px;color:#5f5547;font-size:14px;font-weight:600;font-variant-numeric:tabular-nums}
.nv-month-days .is-blank{visibility:hidden}
.nv-month-days .is-weekend{color:#a39886}
.nv-month-days .has-job{background:var(--tone-soft);color:var(--tone-ink);font-weight:800}
.nv-month-days .has-job i{position:absolute;left:50%;bottom:6px;display:flex;gap:3px;transform:translateX(-50%)}
.nv-month-days .has-job i b{width:5px;height:5px;border-radius:50%;background:var(--tone)}
.nv-month-side{display:flex;flex:1;flex-direction:column}
.nv-month-legend{display:grid;grid-template-columns:1fr 1fr;gap:8px 18px;margin-top:22px;padding-top:18px;border-top:1px solid #eee7da;list-style:none}
.nv-month-legend li{display:flex;align-items:center;gap:9px;color:#5f5547;font-size:13px;font-weight:600}
.nv-month-legend i{width:9px;height:9px;border-radius:50%;background:var(--tone)}
.nv-month-legend b{margin-left:auto;color:var(--nv-ink);font-variant-numeric:tabular-nums}
.nv-month-bar{margin-top:auto;padding-top:22px}
.nv-month-bar>div{position:relative;height:6px;overflow:hidden;border-radius:99px;background:#efe7da}
.nv-month-bar>div i{position:absolute;inset:0;border-radius:inherit;background:linear-gradient(90deg,#ffb264,#d9782c);transform:scaleX(var(--nv-month,1));transform-origin:left}
.nv-month-bar p{display:flex;justify-content:space-between;margin-top:8px;color:#766b5b;font-size:12px;font-weight:700}
.nv-month-log{min-width:0}
.nv-month-log>header{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:22px 28px 18px;border-bottom:1px solid #eee7da}
.nv-month-log>header b{display:block;font:700 16px 'Sora',sans-serif;letter-spacing:-.01em}
.nv-month-log>header span{display:block;margin-top:2px;color:#766b5b;font-size:13px}
.nv-month-log>header em{padding:6px 12px;border-radius:999px;background:#fff1de;color:#8f4c10;font-size:12px;font-style:normal;font-weight:800;font-variant-numeric:tabular-nums;white-space:nowrap}
.nv-month-log ol{padding:8px 16px;list-style:none}
.nv-month-log li{display:grid;grid-template-columns:52px 22px minmax(0,1fr) auto;align-items:center;gap:0 14px;padding:8px 12px;border-radius:12px}
.nv-month-log time{color:#766b5b;font-size:13px;font-weight:700;font-variant-numeric:tabular-nums}
.nv-month-log li>i{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--tone);color:#fff}
.nv-month-log li>i svg{stroke-width:3.4}
.nv-month-log li p b{display:block;font-size:15px;line-height:1.35}
.nv-log-tag{padding:3px 9px;border-radius:999px;background:var(--tone-soft);color:var(--tone-ink);font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap}
/* This month as it stands today, and it stays still: the jobs done so far
   are filled in, today is ringed on the calendar and marked in the log, and
   the jobs after today are planned (an outline and a dashed circle). */
.nv-month-days .is-today{box-shadow:inset 0 0 0 2px #d9782c;color:#8a4310;font-weight:800}
.nv-month-days .has-job.is-planned{background:#fff;color:#8a7f6e;box-shadow:inset 0 0 0 1.5px #e6dccb}
.nv-month-days .has-job.is-planned i b{background:#d3c9b8}
.nv-month-log li.is-planned p b{color:#5f5547;font-weight:600}
.nv-month-log li.is-planned>i{border:2px dashed #cfc4b2;background:#fff;box-shadow:none}
.nv-month-log li.is-planned>i svg{opacity:0}
.nv-month-log li.is-planned .nv-log-tag{background:#f3eee5;color:#766b5b}
.nv-log-plan{display:block;margin-top:1px;color:#766b5b;font-size:12px;font-style:normal;font-weight:700}
.nv-month-log li.nv-log-today{display:flex;align-items:center;gap:12px;padding:5px 12px}
.nv-month-log li.nv-log-today time{flex:none;padding:3px 10px;border-radius:999px;background:#b45a12;color:#fff;font-size:12px;font-weight:800}
.nv-month-log li.nv-log-today::after{content:"";flex:1;height:2px;border-radius:2px;background:linear-gradient(90deg,#e9b98a,rgba(233,185,138,0))}
.nv-month>figcaption{grid-column:1/-1;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 20px;padding:14px 28px;border-top:1px solid #eee7da;background:#fcfaf6;color:#655d50;font-size:13px}
.nv-month>figcaption p{display:flex;align-items:center;gap:10px}.nv-month>figcaption svg{flex:none;color:#b96826}
.nv-month>figcaption a{color:#8f4c10;font-weight:700;text-decoration:underline;text-underline-offset:3px}

/* Client portal: a short tour of what clients use most. The tabs step on by
   themselves (main.js) and the window shows the matching screen. */
.nv-portal-section{background:linear-gradient(160deg,#eff8f4 0%,#e4f1ec 55%,#edf7f3 100%)}.nv-portal-section::before{content:"";position:absolute;z-index:-1;inset:0;opacity:.34;background-image:radial-gradient(circle,rgba(14,131,96,.11) 1px,transparent 1.2px);background-size:28px 28px}
.nv-tour{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);align-items:center;gap:56px}
.nv-tour-copy h2 em{color:#087b61}
.nv-tour-copy>p{max-width:470px;margin-top:16px;color:var(--nv-copy);font-size:16px}
.nv-tour-tabs{display:grid;gap:6px;margin:24px 0 26px}
.nv-tour-tabs [role=tab]{position:relative;display:grid;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:14px;width:100%;padding:14px 16px 17px;border:1px solid transparent;border-radius:14px;background:none;color:inherit;font:inherit;text-align:left;cursor:pointer;transition:background-color .3s,border-color .3s,box-shadow .3s}
.nv-tour-tabs [role=tab]:hover{background:rgba(255,255,255,.6)}
.nv-tour-tabs [role=tab][aria-selected=true]{border-color:#cfe5db;background:#fff;box-shadow:0 16px 36px rgba(14,80,60,.1)}
.nv-tour-icon{display:grid;place-items:center;width:42px;height:42px;border:1px solid #c9e1d7;border-radius:12px;background:#fff;color:var(--nv-green-d);transition:background-color .3s,border-color .3s,color .3s}
.nv-tour-tabs [aria-selected=true] .nv-tour-icon{border-color:transparent;background:var(--nv-green);color:#04261a}
.nv-tour-text b{display:block;margin-top:1px;font-size:15.5px}
.nv-tour-tabs .nv-tab-progress{left:72px;right:18px;bottom:8px}
.nv-tour-foot{display:flex;align-items:center;gap:12px}
.nv-tour-visual{position:relative}
.nv-tour-visual::before{content:"";position:absolute;inset:8% -4% -6% 10%;z-index:-1;border-radius:24px;background:radial-gradient(closest-side,rgba(40,221,160,.26),transparent)}
.nv-app{overflow:hidden;border:1px solid #b9ccc6;border-radius:16px;background:#fff;box-shadow:0 44px 100px rgba(10,55,56,.22)}
.nv-app-bar{display:flex;align-items:center;gap:14px;height:42px;padding:0 16px;border-bottom:1px solid #e1e9e6;background:#f4f7f6}
.nv-app-dots{display:flex;gap:6px}.nv-app-dots i{width:10px;height:10px;border-radius:50%;background:#ff7b72}.nv-app-dots i:nth-child(2){background:#ffc967}.nv-app-dots i:nth-child(3){background:#4fd497}
.nv-app-url{display:flex;align-items:center;gap:6px;margin:0 auto;padding:5px 14px;border:1px solid #dfe8e4;border-radius:8px;background:#fff;color:#5b6c66;font-size:12px}.nv-app-url svg{color:var(--nv-green-d)}
.nv-app-body{display:grid;grid-template-columns:176px minmax(0,1fr);height:492px}
.nv-app-side{display:flex;flex-direction:column;padding:18px 12px 14px;border-right:1px solid #e3ebe8;background:#f8fbfa}
.nv-app-brand{display:flex;align-items:center;gap:9px;padding:0 8px;font:700 13px 'Sora',sans-serif;letter-spacing:-.01em}.nv-app-brand img{border-radius:6px}
.nv-app-nav{display:grid;gap:2px;margin-top:20px;list-style:none}
.nv-app-nav li{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:9px;color:#5c6d67;font-size:13px;font-weight:600;transition:background-color .3s,color .3s}
.nv-app-nav svg{color:#8a9a94;transition:color .3s}
.nv-tour[data-nv-current="0"] .nv-app-nav li:nth-child(2),.nv-tour[data-nv-current="1"] .nv-app-nav li:nth-child(3),.nv-tour[data-nv-current="2"] .nv-app-nav li:nth-child(4),.nv-tour[data-nv-current="3"] .nv-app-nav li:nth-child(5){background:#e2f5ec;color:#05613f}
.nv-tour[data-nv-current="0"] .nv-app-nav li:nth-child(2) svg,.nv-tour[data-nv-current="1"] .nv-app-nav li:nth-child(3) svg,.nv-tour[data-nv-current="2"] .nv-app-nav li:nth-child(4) svg,.nv-tour[data-nv-current="3"] .nv-app-nav li:nth-child(5) svg{color:var(--nv-green-d)}
.nv-app-site{margin-top:auto;padding:11px 12px;border:1px solid #e1e9e6;border-radius:11px;background:#fff}.nv-app-site small,.nv-app-site b,.nv-app-site span{display:block}.nv-app-site small{color:#7b8a85;font-size:11px;font-weight:700}.nv-app-site b{margin-top:3px;font-size:13px}.nv-app-site span{color:#7b8a85;font-size:12px}
.nv-app-main{display:flex;flex-direction:column;min-width:0}
.nv-app-top{display:flex;align-items:center;gap:12px;height:58px;padding:0 22px;border-bottom:1px solid #edf2f0}
.nv-app-top small{display:block;color:#73837d;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.nv-app-top b{display:block;font-size:14px}
.nv-app-month{margin-left:auto;color:#73837d;font-size:12px;font-weight:700}
.nv-app-avatar{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#dff3ea;color:#05613f;font-size:11px;font-weight:800}
.nv-app-screens{position:relative;flex:1;min-height:0}
.nv-app-screen{position:absolute;inset:0;padding:20px 22px;opacity:0;visibility:hidden;transform:translateY(10px);transition:opacity .3s,transform .3s,visibility 0s .3s}
.nv-app-screen.is-active{opacity:1;visibility:visible;transform:none;transition-delay:0s}
.nova .nv-app-screen:focus-visible{outline-offset:-4px}
.nv-scr-head{display:flex;justify-content:space-between;align-items:center;gap:12px}
.nv-scr-head b{display:block;font:700 17px/1.2 'Sora',sans-serif;letter-spacing:-.02em}
.nv-scr-head small{display:block;margin-top:2px;color:#5b6c66;font-size:12px}
.nv-scr-chips{display:flex;gap:6px}.nv-scr-chips em{padding:4px 10px;border:1px solid #e1e9e6;border-radius:999px;color:#5b6c66;font-size:11px;font-style:normal;font-weight:700}.nv-scr-chips .is-on{border-color:#bfe3d3;background:#e3f6ed;color:#05613f}
.nv-scr-select{display:flex;align-items:center;gap:6px;padding:5px 10px;border:1px solid #e1e9e6;border-radius:8px;color:#43554e;font-size:12px;font-weight:700;white-space:nowrap}.nv-scr-select svg{color:#73837d}
.nv-scr-pill{padding:4px 10px;border-radius:999px;background:#dcf6ea;color:#05744f;font-size:11px;font-style:normal;font-weight:800;letter-spacing:.04em}
.nv-rep-feature{display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:14px;margin-top:14px;padding:12px 14px;border:1px solid #cfe7dc;border-radius:14px;background:linear-gradient(135deg,#f2fbf7,#e6f5ee)}
.nv-rep-feature>i{display:grid;place-items:center;width:44px;height:44px;border-radius:12px;background:#fff;color:var(--nv-green-d);box-shadow:0 6px 14px rgba(14,80,60,.1)}
.nv-rep-feature small,.nv-rep-feature b,.nv-rep-feature span{display:block}.nv-rep-feature small{color:#3d7a60;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.nv-rep-feature b{font-size:14px}.nv-rep-feature span{color:#5b6c66;font-size:12px}
.nv-rep-feature em{padding:8px 12px;border-radius:9px;background:var(--nv-ink);color:#fff;font-size:12px;font-style:normal;font-weight:700;white-space:nowrap}
.nv-rep-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:10px;list-style:none}
.nv-rep-kpis li{padding:9px 12px;border:1px solid #e3ebe8;border-radius:11px}
.nv-rep-kpis b{display:block;color:#05845a;font:700 18px/1.2 'Sora',sans-serif;letter-spacing:-.02em}.nv-rep-kpis small{display:block;margin-top:2px;color:#73837d;font-size:11px;white-space:nowrap}
.nv-rep-list{margin-top:10px;list-style:none}
.nv-rep-list li{display:grid;grid-template-columns:32px minmax(0,1fr) auto;align-items:center;gap:12px;padding:8px 2px;border-bottom:1px solid #edf2f0}.nv-rep-list li:last-child{border:0}
.nv-rep-list i{display:grid;place-items:center;width:32px;height:32px;border-radius:9px;background:var(--tone-soft);color:var(--tone-ink)}
.nv-rep-list b,.nv-rep-list small{display:block}.nv-rep-list b{font-size:13px}.nv-rep-list small{color:#73837d;font-size:12px}
.nv-rep-list em{padding:3px 9px;border-radius:7px;background:#eef3f1;color:#43554e;font-size:11px;font-style:normal;font-weight:800}.nv-rep-list em.is-amber{background:#fff1dd;color:#9a5609}
.nv-chg{position:relative;margin-top:12px;list-style:none}
.nv-chg::before{content:"";position:absolute;left:69px;top:20px;bottom:20px;width:2px;border-radius:2px;background:#e8efec}
.nv-chg li{position:relative;display:grid;grid-template-columns:50px 14px minmax(0,1fr) auto;align-items:center;gap:0 13px;padding:9px 0}
.nv-chg time{color:#73837d;font-size:12px;font-weight:700;font-variant-numeric:tabular-nums}
.nv-chg li>i{position:relative;z-index:1;width:14px;height:14px;border:3px solid #fff;border-radius:50%;background:var(--tone);box-shadow:0 0 0 1px var(--tone)}
.nv-chg b,.nv-chg small{display:block}.nv-chg b{font-size:13px}.nv-chg small{color:#73837d;font-size:12px}
.nv-chg em{padding:3px 8px;border-radius:999px;background:var(--tone-soft);color:var(--tone-ink);font-size:11px;font-style:normal;font-weight:800;letter-spacing:.04em;text-transform:uppercase}
.nv-tkt{display:grid;gap:10px;margin-top:14px}
.nv-msg{max-width:84%}
.nv-msg.is-you{justify-self:end;text-align:right}
.nv-msg.is-team{display:grid;grid-template-columns:30px minmax(0,1fr);align-items:start;gap:10px}
.nv-msg.is-team>span{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--nv-green);color:#04261a;font-size:11px;font-weight:800}
.nv-msg p{display:inline-block;padding:10px 13px;border-radius:13px;background:#eef3f1;color:#2c3f38;font-size:13px;line-height:1.5;text-align:left}
.nv-msg.is-you p{border-bottom-right-radius:4px}
.nv-msg.is-team p{border:1px solid #cfeadf;border-bottom-left-radius:4px;background:#f1fbf6}
.nv-msg time{display:block;margin-top:4px;color:#8a9a94;font-size:11px}
.nv-tkt-reply{display:flex;align-items:center;gap:10px;margin-top:14px;padding:7px 7px 7px 14px;border:1px solid #e1e9e6;border-radius:12px;color:#8a9a94;font-size:13px}
.nv-tkt-reply b{margin-left:auto;padding:7px 14px;border-radius:9px;background:var(--nv-green);color:#04261a;font-size:12px}
.nv-app-screen.is-active .nv-msg{animation:nvXpRise .4s both}.nv-app-screen.is-active .nv-msg:nth-child(2){animation-delay:.3s}.nv-app-screen.is-active .nv-msg:nth-child(3){animation-delay:.6s}
.nv-share{margin-top:16px;padding:16px;border:1px solid #e3ebe8;border-radius:14px}
.nv-share-doc{display:grid;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:12px}
.nv-share-doc>i{display:grid;place-items:center;width:40px;height:40px;border-radius:11px;background:#ffe8e8;color:#c2403a}
.nv-share-doc b,.nv-share-doc small{display:block}.nv-share-doc b{font-size:14px}.nv-share-doc small{color:#73837d;font-size:12px}
.nv-share-doc em{padding:4px 10px;border-radius:999px;background:#dcf6ea;color:#05744f;font-size:11px;font-style:normal;font-weight:800}
.nv-share-link{display:flex;align-items:center;gap:10px;margin-top:14px;padding:6px 6px 6px 12px;border:1px solid #d9e5e0;border-radius:11px;background:#f8fbfa}
.nv-share-link span{min-width:0;overflow:hidden;color:#43554e;font-size:12px;text-overflow:ellipsis;white-space:nowrap}
.nv-share-link b{display:flex;flex:none;align-items:center;gap:6px;margin-left:auto;padding:7px 11px;border-radius:8px;background:#e3f6ed;color:#05613f;font-size:12px;white-space:nowrap}
.nv-share-facts{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px;list-style:none}
.nv-share-facts li{padding:10px 12px;border:1px solid #e3ebe8;border-radius:11px}.nv-share-facts small,.nv-share-facts b{display:block}.nv-share-facts small{color:#73837d;font-size:11px;font-weight:700}.nv-share-facts b{margin-top:2px;font-size:13px}
.nv-share-note{display:flex;align-items:flex-start;gap:10px;margin-top:14px;padding:12px 14px;border-radius:12px;background:#fff6e8;color:#6b4a12;font-size:13px;line-height:1.5}.nv-share-note svg{flex:none;margin-top:2px;color:#b06d10}
@keyframes nvXpRise{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@keyframes nvXpFade{from{opacity:0}to{opacity:1}}

/* How it works: one connected route */
.nv-process-section{background:radial-gradient(700px 460px at 95% 4%,rgba(111,86,220,.09),transparent 64%),#f3f3f8}
.nv-process-head{display:grid;grid-template-columns:1.1fr .72fr;align-items:start;column-gap:80px;row-gap:14px;margin-bottom:30px}.nv-process-head .nv-kicker{grid-column:1/-1}.nv-process-head h2{margin:0}.nv-process-head p{align-self:center;max-width:360px;padding-left:20px;border-left:2px solid #d0d1e6;color:var(--nv-copy);font-size:16px}
.nv-process-head h2 em{color:#694dd1}.nv-process-section .nv-kicker{color:#694dd1}.nv-process-section .nv-kicker::before{background:linear-gradient(90deg,#694dd1,#9c86ed)}
.nv-process-orbit{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:0;overflow:hidden;list-style:none;border:1px solid #d2d8e2;border-radius:16px;background:#fff;box-shadow:0 22px 60px rgba(30,42,63,.09)}
.nv-process-orbit li{position:relative;min-height:236px;padding:26px 24px;border-right:1px solid #dce2e9;background:#fff;transition:transform .3s,box-shadow .3s,border-radius .3s}.nv-process-orbit li:first-child{border-radius:15px 0 0 15px}.nv-process-orbit li:last-child{border-right:0;border-radius:0 15px 15px 0}.nv-process-orbit li:nth-child(2){background:#f3faf7}.nv-process-orbit li:nth-child(3){background:#f1f3fb}.nv-process-orbit li:nth-child(4){background:#f6f2fb}
.nv-process-orbit li{--step-c:var(--nv-green-d)}.nv-process-orbit li:nth-child(3){--step-c:#3e63d3}.nv-process-orbit li:nth-child(4){--step-c:#6a4bd0}
.nv-process-orbit li:hover{background:#fff}
/* main.js lights the steps up one after another (.is-lit) and fills a bar
   along the lit one (--nv-cycle-p). Hovering a step holds the cycle; the lit
   step then steps back so only the one under the mouse is raised. */
.nv-motion .nv-process-orbit li.nv-reveal{transition:opacity .5s cubic-bezier(.2,.7,.2,1),transform .4s cubic-bezier(.2,.7,.2,1),box-shadow .3s,background-color .3s,border-radius .3s}
/* The lit step stays in its place in the strip (it used to lift out of it,
   break the outline and run into its neighbours): a line in its colour along
   the top, its number filled in, and the bar along its foot. */
.nv-process-orbit.is-cycling li.is-lit{background:#fff;box-shadow:inset 0 3px 0 var(--step-c)}
@media(hover:hover){.nv-process-orbit.is-cycling:hover li.is-lit:not(:hover){box-shadow:none}}
.nv-process-orbit li::after{content:"";position:absolute;left:24px;right:24px;bottom:14px;height:3px;border-radius:3px;background:linear-gradient(90deg,var(--nv-green-d),var(--nv-cyan));transform:scaleX(var(--nv-cycle-p,0));transform-origin:left;opacity:0;transition:opacity .3s}
.nv-process-orbit.is-cycling li.is-lit::after{opacity:1}
.nv-process-orbit li>span{transition:background-color .35s,color .35s}
.nv-process-orbit.is-cycling li.is-lit>span{background:var(--step-c);color:#fff}
.nv-process-orbit li>span{display:inline-flex;padding:7px 10px;border-radius:6px;background:#d9f5e9;color:var(--nv-green-d);font:700 12px 'Sora',sans-serif}.nv-process-orbit li:nth-child(3)>span{background:#e1e7ff;color:#496be4}.nv-process-orbit li:nth-child(4)>span{background:#eae2ff;color:#7755d6}
.nv-process-orbit li>i{position:absolute;right:22px;top:40px;width:42px;height:2px;border-radius:2px;background:linear-gradient(90deg,var(--nv-green-d),var(--nv-cyan))}.nv-process-orbit li>i::after{content:"";position:absolute;right:0;top:-4px;width:8px;height:8px;border-top:2px solid var(--nv-cyan);border-right:2px solid var(--nv-cyan);transform:rotate(45deg)}
.nv-process-orbit small{display:block;margin-top:36px;color:var(--nv-green-d);font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.nv-process-orbit li:nth-child(3) small{color:#3e63d3}.nv-process-orbit li:nth-child(4) small{color:#6a4bd0}.nv-process-orbit h3{margin:8px 0 10px;font-size:20px;letter-spacing:-.03em}

/* Pricing teaser */
.nv-commercial-section{background:#fff}.nv-commercial-section .nv-kicker{color:#087b61}
.nv-commercial-grid{display:grid;grid-template-columns:.95fr 1.05fr;align-items:center;gap:64px}.nv-commercial-copy>p{margin:20px 0;color:var(--nv-copy);font-size:16px}
.nv-plan-card{position:relative;isolation:isolate;overflow:hidden;padding:36px;border:1px solid #acd9c9;border-radius:18px;background:linear-gradient(145deg,#effbf6,#dcefe8);box-shadow:0 32px 80px rgba(15,76,64,.15)}
.nv-plan-top{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 16px}.nv-plan-top>span{color:var(--nv-green-d);font-size:11px;font-weight:800;letter-spacing:.11em;text-transform:uppercase;white-space:nowrap}.nv-plan-top>b{padding:5px 9px;border:1px solid #a9d9c6;border-radius:6px;background:rgba(255,255,255,.55);color:var(--nv-green-d);font-size:11px;letter-spacing:.08em;text-transform:uppercase}
.nv-plan-price{display:flex;align-items:end;margin:24px 0 14px}.nv-plan-price sup{align-self:start;margin-top:10px;font:700 24px 'Sora',sans-serif}.nv-plan-price strong{font:700 82px/.8 'Sora',sans-serif;letter-spacing:-.06em}.nv-plan-price span{margin-left:10px;color:#52657a;font-size:14px}
.nv-plan-includes{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:22px 0}.nv-plan-includes span{display:flex;align-items:center;gap:7px;padding:9px 10px;border:1px solid #c9e2d8;border-radius:7px;background:rgba(255,255,255,.72);color:#3c5064;font-size:13px}.nv-plan-includes i{color:var(--nv-green-d);font-style:normal}
.nv-plan-assurance{display:flex;flex-wrap:wrap;gap:6px 8px;margin-bottom:18px}.nv-plan-assurance span{color:#4d5f56;font-size:13px;font-weight:700}.nv-plan-assurance span+span::before{content:"";display:inline-block;width:4px;height:4px;margin:0 9px 3px 0;border-radius:50%;background:var(--nv-green-d)}.nv-plan-card .nv-button{width:100%;border-radius:9px}

/* Free audit: the request form beside a sample of the report you get */
.nv-audit-section{background:radial-gradient(720px 520px at 90% 40%,rgba(39,223,160,.14),transparent 66%),linear-gradient(180deg,#f4f8f7,#e9f2ee)}
.nv-check{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.92fr);align-items:center;gap:72px}
.nv-check-copy>p{max-width:520px;margin-top:16px;color:var(--nv-copy);font-size:16px}
.nv-check-form{margin-top:28px;padding:24px;border:1px solid #d3e3dc;border-radius:18px;background:#fff;box-shadow:0 26px 64px rgba(17,52,48,.1)}
.nova .nv-check-form .audit-form{padding:0}
.nv-check-trust{display:flex;flex-wrap:wrap;gap:8px 22px;margin-top:20px;list-style:none;color:#3f5249;font-size:13px;font-weight:700}
.nv-check-trust li{display:flex;align-items:center;gap:7px}.nv-check-trust svg{color:var(--nv-green-d)}
.nv-check-report{position:relative;margin:0}
.nv-sheet-back{position:absolute;inset:18px -12px -14px 20px;border:1px solid #d3e0da;border-radius:20px;background:#f6faf8;transform:rotate(2.2deg)}
.nv-sheet{position:relative;padding:24px 26px 22px;border:1px solid #d3e0da;border-radius:20px;background:#fff;box-shadow:0 34px 80px rgba(17,52,48,.16)}
.nv-sheet-top{display:flex;justify-content:space-between;align-items:center;gap:12px}
.nv-sheet-top span{display:flex;align-items:center;gap:10px;font:700 15px 'Sora',sans-serif;letter-spacing:-.01em}.nv-sheet-top img{border-radius:6px}
.nv-sheet-top em{padding:4px 10px;border-radius:999px;background:#fff1dd;color:#9a5609;font-size:11px;font-style:normal;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.nv-gauges{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:18px}
.nv-gauge{position:relative;display:grid;justify-items:center;padding:14px 8px 12px;border:1px solid #e6edf0;border-radius:14px;background:#fbfcfd}
.nv-gauge svg{width:86px;height:86px;transform:rotate(-90deg)}
.nv-gauge circle{fill:none;stroke-width:9}
.nv-gauge .is-track{stroke:#edf1f4}
.nv-gauge .is-fill{stroke:var(--tone);stroke-linecap:round;stroke-dasharray:263.89px;stroke-dashoffset:calc(263.89px * (1 - var(--score) / 100));transition:stroke-dashoffset 1s cubic-bezier(.2,.7,.2,1) .15s}
.nv-motion .nv-check-report:not(.is-visible) .nv-gauge .is-fill{stroke-dashoffset:263.89px}
.nv-gauge b{position:absolute;left:0;right:0;top:44px;color:var(--nv-ink);font:700 26px/1 'Sora',sans-serif;letter-spacing:-.04em;text-align:center}
.nv-gauge small{margin-top:8px;color:#43554e;font-size:12px;font-weight:700}
.nv-findings{margin-top:14px;list-style:none}
.nv-findings li{display:grid;grid-template-columns:72px minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid #edf2f0}.nv-findings li:last-child{border:0}
.nv-findings span{justify-self:start;padding:3px 9px;border-radius:7px;font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.nv-findings .is-high span{background:#ffe8e8;color:#b8322c}.nv-findings .is-medium span{background:#fff0dd;color:#9a5609}.nv-findings .is-low span{background:#e7edff;color:#3b5fd6}.nv-findings .is-pass span{background:#dcf6ea;color:#05744f}
.nv-findings p{color:#22344a;font-size:14px;font-weight:600}.nv-findings small{color:#73837d;font-size:12px}
.nv-sheet-foot{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px 12px;margin-top:12px;padding:12px 14px;border-radius:12px;background:#f0f8f4;font-size:14px}
.nv-sheet-foot span{color:#3d7a60;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.nv-sheet-foot b{color:#0c3d2b}

/* How it works: a title per step, no text under it. */
.nv-process-orbit li{min-height:0}
.nv-process-orbit h3{margin-bottom:0}

/* Homepage keyframes */
@keyframes nvOrbit{to{transform:translate(-50%,-50%) rotate(360deg)}}
@keyframes nvTicker{to{transform:translateX(-50%)}}
@keyframes nvDriftPop{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@keyframes nvDriftFade{from{opacity:0}to{opacity:1}}

/* Tablet */
@media(max-width:1020px){
  .nv-process-head{column-gap:48px}
  .nv-hero{min-height:0}
  .nv-hero-shell{grid-template-columns:1fr}.nv-hero-copy{max-width:720px}.nv-orbit-stage{width:min(680px,100%)}
  .nv-drift-sites{gap:20px;padding:22px}
  /* Stacked areas step on by themselves too. main.js measures the tallest area
     (is-measuring shows them all for that moment) so the open one always has
     the same height and nothing below it moves. */
  .nv-xp-wrap.is-measuring .nv-xp-item .nv-xp-panel{display:block!important}
  .nv-xp-wrap.is-ready .nv-xp-panel{min-height:var(--nv-panel-h,0px)}
  .nv-xp-wrap.is-ready .nv-xp-item.is-active .nv-xp-panel{display:flex;flex-direction:column}
  .nv-xp-wrap.is-ready .nv-xp-item.is-active .nv-xp-tasks{flex:1 0 auto;align-content:start}
  .nv-xp-wrap.is-ready .nv-xp-item.is-active .nv-xp-more{align-self:flex-start}
  .nv-month{grid-template-columns:1fr}
  .nv-month-cal{display:grid;grid-template-columns:minmax(0,420px) minmax(0,1fr);gap:0 48px;border-right:0;border-bottom:1px solid #eee7da}
  .nv-month-cal>header{grid-column:1/-1}
  .nv-month-side{grid-column:2;grid-row:2;align-self:center}
  .nv-month-legend{grid-template-columns:1fr;gap:10px;margin-top:0;padding-top:0;border-top:0}
  .nv-tour{grid-template-columns:1fr;gap:36px}.nv-tour-copy{max-width:640px}
  .nv-process-orbit li{min-height:0}
  .nv-check{grid-template-columns:1fr;gap:48px}.nv-check-copy{max-width:640px}.nv-check-report{max-width:560px}
}

/* Mobile */
@media(max-width:768px){
  .nv-tour-copy h2,.nv-check-copy h2,.nv-process-head h2,.nv-commercial-copy h2{font-size:31px;line-height:1.08}
  .nv-hero{padding:38px 0 18px}.nv-hero-shell{gap:28px}.nv-hero h1{font-size:40px;line-height:1.06}.nv-hero-lead{margin:18px 0 24px;font-size:16px;line-height:1.62}.nv-hero-actions{display:grid}.nv-trust-row{display:grid;gap:9px;font-size:13px}
  .nv-orbit-stage{height:420px}.nv-ring-one{width:345px;height:345px}.nv-ring-two{width:270px;height:270px}.nv-core-card{width:270px}.nv-core-body{padding:20px}.nv-core-body>strong{font-size:54px;gap:7px}.nv-core-body>strong span{font-size:14px}
    .nv-ticker span{padding:13px 0 13px 22px;gap:22px}
  /* Phones: the two sites stack, and the slider sits under the play button. */
  .nv-drift{border-radius:16px}
  .nv-drift-bar{grid-template-columns:40px minmax(0,1fr);grid-template-areas:"play now" "scrub scrub";gap:14px 12px;padding:14px 16px 12px}
  .nv-drift-play{grid-area:play;width:40px;height:40px}.nv-drift-now{grid-area:now;justify-self:start;min-width:0}.nv-drift-scrub{grid-area:scrub}.nv-drift-ticks li span{display:none}
  .nv-drift-sites{grid-template-columns:minmax(0,1fr);gap:22px;padding:18px 16px}
  .nv-drift-stats{gap:8px}.nv-drift-stats div{padding:9px 10px}.nv-drift-stats dt{font-size:11.5px}.nv-drift-stats dd{font-size:19px}
  .nv-drift-foot{padding:14px 16px}
  .nv-xp-trigger{padding:16px}.nv-xp-head{grid-template-columns:42px minmax(0,1fr) auto;gap:12px}.nv-xp-wrap.is-ready .nv-xp-head{grid-template-columns:42px minmax(0,1fr) auto 12px}.nv-xp-icon{width:42px;height:42px;border-radius:12px}.nv-xp-name{font-size:18px}.nv-xp-name small{font-size:12px}.nv-xp-count b{font-size:28px}
  .nv-xp-panel{padding:0 16px 18px}.nv-xp-tasks{grid-template-columns:1fr;gap:10px}.nv-svc-foot{flex-direction:column;align-items:flex-start}
  .nv-month-cal{display:flex;flex-direction:column;padding:20px 16px}.nv-month-legend{grid-template-columns:1fr 1fr;gap:8px 18px;margin-top:20px;padding-top:16px;border-top:1px solid #eee7da}.nv-month-week,.nv-month-days{gap:4px}.nv-month-days li{border-radius:10px;font-size:13px}.nv-month-days .has-job i{bottom:4px}
  .nv-month-log>header{padding:16px}.nv-month-log ol{padding:6px}
  .nv-month-log li{grid-template-columns:46px 20px minmax(0,1fr);gap:0 10px;padding:8px 10px}.nv-month-log li>i{width:20px;height:20px}.nv-month-log .nv-log-tag{grid-column:3;grid-row:1;justify-self:start;margin-bottom:4px}.nv-month-log li p{grid-column:3}
  .nv-month>figcaption{padding:14px 16px}
  .nv-tour-tabs [role=tab]{grid-template-columns:38px minmax(0,1fr);gap:12px;padding:12px 12px 15px}.nv-tour-icon{width:38px;height:38px}.nv-tour-tabs .nv-tab-progress{left:62px;right:14px}
  .nv-app{border-radius:13px}.nv-app-body{grid-template-columns:1fr;height:452px}.nv-app-side{display:none}.nv-app-top{height:52px;padding:0 14px}.nv-app-screen{padding:16px 14px}
  .nv-scr-chips{display:none}.nv-rep-feature{grid-template-columns:40px minmax(0,1fr);padding:12px}.nv-rep-feature>i{width:40px;height:40px}.nv-rep-feature em{display:none}
  .nv-rep-kpis{grid-template-columns:1fr 1fr}.nv-rep-kpis li:nth-child(n+3){display:none}
  .nv-chg li{grid-template-columns:46px 14px minmax(0,1fr)}.nv-chg::before{left:65px}.nv-chg em{display:none}
  .nv-msg{max-width:92%}
  .nv-check-form{padding:16px}.nv-sheet{padding:20px 16px}.nv-sheet-back{display:none}
  .nv-gauges{gap:6px}.nv-gauge{padding:12px 4px 10px}.nv-gauge svg{width:70px;height:70px}.nv-gauge b{top:36px;font-size:21px}
  .nv-findings li{grid-template-columns:66px minmax(0,1fr)}.nv-findings small{display:none}
  .nv-process-head{grid-template-columns:1fr;gap:12px;margin-bottom:22px}.nv-process-head .nv-kicker{grid-column:1}.nv-process-head p{padding-left:14px;font-size:15px}
  .nv-process-orbit{grid-template-columns:1fr;gap:12px;border:0;background:none;box-shadow:none}.nv-process-orbit li,.nv-process-orbit li:first-child,.nv-process-orbit li:last-child{min-height:0;padding:20px;border:1px solid #d4dce6;border-radius:12px;background:#fff}.nv-process-orbit li:nth-child(2){background:#f3faf7}.nv-process-orbit li:nth-child(3){background:#f1f3fb}.nv-process-orbit li:nth-child(4){background:#f6f2fb}.nv-process-orbit li>i{display:none}.nv-process-orbit small{margin-top:18px}
  .nv-commercial-grid{grid-template-columns:1fr;gap:34px}.nv-plan-card{padding:26px 20px}.nv-plan-price strong{font-size:68px}.nv-plan-includes{grid-template-columns:1fr}
}
@media(max-width:390px){.nv-hero h1{font-size:37px}.nv-orbit-stage{height:405px}.nv-ring-one{width:325px;height:325px}.nv-ring-two{width:255px;height:255px}}
@media(max-width:768px),(hover:none){.nv-process-orbit li:hover,.nv-xp-wrap.is-ready .nv-xp-item:not(.is-active):hover{transform:none}.nv-process-orbit li:hover{box-shadow:none}}
@media(prefers-reduced-motion:reduce){.nv-orbit-ring,.nv-ticker-track,.nv-drift-news,.nv-browser-warn,.nv-site-alert{animation:none!important}.nv-browser-load,.nv-drift-stats div,.nv-drift-stats dd{transition:none}.nv-orbit-stage{transform:none!important}.nv-xp-item,.nv-xp-head,.nv-xp-panel,.nv-xp-rail,.nv-msg{animation:none!important;transition:none!important}.nv-app-screen{transform:none!important}.nv-gauge .is-fill{transition:none}}
