/* J-Health story layer */
.jv-jh-hero h1{max-width:17ch}
.jv-jh-head{max-width:760px;margin:0 0 40px}
.jv-jh-head--left{margin-bottom:22px}
.jv-jh-head h2{margin:10px 0 0;font-size:clamp(1.9rem,3.6vw,2.8rem);line-height:1.1;letter-spacing:-.02em}
.jv-jh-head p{margin:14px 0 0;font-size:1.08rem;line-height:1.6;opacity:.8}
.jv-jh-head--light h2{color:#fff}.jv-jh-head--light p{color:#b9c7ea;opacity:1}
.jv-jh-ch{display:inline-flex;align-items:center;gap:10px;font:700 .78rem var(--jv-font-mono,monospace);letter-spacing:.14em;text-transform:uppercase;color:var(--jv-mint-strong)}
.jv-jh-ch::before{content:"";width:26px;height:2px;background:currentColor;border-radius:2px}
.jv-jh-custom h2{font-size:clamp(1.9rem,3.4vw,2.6rem);line-height:1.1}
.jv-jh-vs{margin-bottom:56px}
/* pain -> fix pairs */
.jv-jh-pairs{display:grid;gap:22px}
.jv-jh-pair{display:grid;grid-template-columns:minmax(0,1fr) 56px minmax(0,1fr);gap:14px;align-items:stretch}
.jv-jh-pain,.jv-jh-fix{position:relative;padding:26px 26px 24px 26px;border-radius:22px;border:1px solid var(--jv-border);background:var(--jv-surface);min-width:0;overflow:hidden}
.jv-jh-pain{background:linear-gradient(160deg,color-mix(in srgb,#e11d48 7%,var(--jv-surface)),var(--jv-surface) 70%);border-color:color-mix(in srgb,#e11d48 22%,var(--jv-border))}
.jv-jh-fix{background:linear-gradient(160deg,color-mix(in srgb,var(--jv-mint) 16%,var(--jv-surface)),var(--jv-surface) 75%);border-color:color-mix(in srgb,var(--jv-mint-strong) 45%,var(--jv-border));box-shadow:0 24px 50px -36px var(--jv-mint-strong)}
.jv-jh-pain__ic,.jv-jh-fix__ic{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;margin-bottom:14px}
.jv-jh-pain__ic{background:color-mix(in srgb,#e11d48 14%,transparent);color:#d11a44}
.jv-jh-fix__ic{background:linear-gradient(135deg,var(--jv-mint),var(--jv-mint-strong));color:#06210f}
.jv-jh-pain__ic svg,.jv-jh-fix__ic svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.jv-jh-pain__k,.jv-jh-fix__k{display:flex;align-items:center;gap:10px;font:700 .72rem var(--jv-font-mono,monospace);letter-spacing:.12em;text-transform:uppercase}
.jv-jh-pain__k{color:#d11a44}.jv-jh-fix__k{color:var(--jv-mint-strong)}
.jv-jh-fix__k em{font-style:normal;padding:3px 9px;border-radius:999px;background:var(--jv-mint-soft);letter-spacing:.04em;text-transform:none;font:600 .74rem var(--jv-font-display)}
.jv-jh-pain h3,.jv-jh-fix h3{margin:10px 0 8px;font-size:1.25rem;line-height:1.25}
.jv-jh-pain p,.jv-jh-fix p{margin:0;line-height:1.62;opacity:.85}
.jv-jh-pair__arrow{display:grid;place-items:center}
.jv-jh-pair__arrow svg{width:44px;height:44px;padding:11px;border-radius:50%;background:var(--jv-surface);border:1px solid var(--jv-border);stroke:var(--jv-mint-strong);fill:none;stroke-width:2.4}
/* timeline */
.jv-jh-day{background:linear-gradient(180deg,var(--jv-canvas),var(--jv-canvas-soft))}
.jv-jh-tl{list-style:none;margin:0;padding:0 0 0 0;position:relative;display:grid;gap:22px}
.jv-jh-tl::before{content:"";position:absolute;left:111px;top:8px;bottom:8px;width:2px;background:linear-gradient(var(--jv-mint-strong),color-mix(in srgb,var(--jv-mint-strong) 10%,transparent))}
.jv-jh-tl li{display:grid;grid-template-columns:100px minmax(0,1fr);gap:34px;align-items:start;position:relative}
.jv-jh-tl li::after{content:"";position:absolute;left:105px;top:10px;width:14px;height:14px;border-radius:50%;background:var(--jv-mint-strong);box-shadow:0 0 0 5px var(--jv-mint-soft)}
.jv-jh-tl__t{font:700 .95rem var(--jv-font-mono,monospace);color:var(--jv-mint-strong);padding-top:5px;text-align:right;white-space:nowrap}
.jv-jh-tl__body{margin-left:0;padding:22px 24px;border:1px solid var(--jv-border);border-radius:20px;background:var(--jv-surface)}
.jv-jh-tl__body h3{margin:0 0 12px;font-size:1.2rem}
.jv-jh-tl__cols{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:14px}
.jv-jh-tl__cols p{margin:0;padding:14px 16px;border-radius:14px;line-height:1.55;font-size:.95rem}
.jv-jh-tl__cols b{display:block;margin-bottom:4px;font:700 .7rem var(--jv-font-mono,monospace);letter-spacing:.12em;text-transform:uppercase}
.jv-jh-tl__old{background:color-mix(in srgb,#e11d48 6%,var(--jv-surface));color:inherit;opacity:.85}.jv-jh-tl__old b{color:#d11a44}
.jv-jh-tl__new{background:color-mix(in srgb,var(--jv-mint) 16%,var(--jv-surface))}.jv-jh-tl__new b{color:var(--jv-mint-strong)}
/* onboarding */
.jv-jh-steps{list-style:none;margin:0 0 36px;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;counter-reset:x}
.jv-jh-steps li{position:relative;padding:26px 22px;border-radius:22px;border:1px solid var(--jv-border);background:var(--jv-surface)}
.jv-jh-steps li span{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:linear-gradient(135deg,var(--jv-mint),var(--jv-mint-strong));color:#06210f;font-weight:800;margin-bottom:14px}
.jv-jh-steps h3{margin:0 0 6px;font-size:1.1rem}.jv-jh-steps p{margin:0;line-height:1.6;opacity:.85;font-size:.96rem}
.jv-jh-steps li:not(:last-child)::after{content:"";position:absolute;top:47px;right:-19px;width:20px;border-top:2px dashed var(--jv-mint-strong);opacity:.6}
@media (max-width:1000px){.jv-jh-steps{grid-template-columns:repeat(2,minmax(0,1fr))}.jv-jh-steps li::after{display:none}}
@media (max-width:860px){
.jv-jh-pair{grid-template-columns:minmax(0,1fr);gap:8px}
.jv-jh-pair__arrow{transform:rotate(90deg)}
.jv-jh-tl::before{left:11px}
.jv-jh-tl li{grid-template-columns:minmax(0,1fr);gap:8px;padding-left:34px}
.jv-jh-tl li::after{left:5px}
.jv-jh-tl__t{text-align:left;padding:0}
.jv-jh-tl__body{margin-left:0;padding:18px}
.jv-jh-tl__cols{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:560px){.jv-jh-steps{grid-template-columns:minmax(0,1fr)}.jv-jh-pain,.jv-jh-fix{padding:22px 20px}}

/* ===== Flagship layer: motion, depth, story ===== */
/* aurora */
.jv-jh-hero::after{content:"";position:absolute;inset:-20% -10% 30% -10%;background:radial-gradient(40% 50% at 20% 30%,#4f6bd855,transparent 70%),radial-gradient(35% 45% at 80% 20%,#2bb58944,transparent 70%),radial-gradient(30% 40% at 55% 60%,#7c5cff33,transparent 70%);filter:blur(30px);animation:jhaurora 16s ease-in-out infinite alternate;pointer-events:none}
@keyframes jhaurora{to{transform:translate3d(3%,4%,0) scale(1.08)}}
.jv-jh-hero__in{z-index:1}
/* workflow pipeline */
.jv-jh-pipe{position:relative;display:flex;justify-content:space-between;align-items:center;max-width:900px;margin:44px auto 0;padding:0 8px}
.jv-jh-pipe__line{position:absolute;left:28px;right:28px;top:19px;height:2px;background:#ffffff22;border-radius:2px;overflow:hidden}
.jv-jh-pipe__line u{position:absolute;top:0;bottom:0;width:30%;background:linear-gradient(90deg,transparent,var(--jv-mint),#7dd3fc,transparent);animation:jhpipe 3.6s linear infinite}
@keyframes jhpipe{from{left:-30%}to{left:100%}}
.jv-jh-pipe__n{position:relative;z-index:1;display:grid;justify-items:center;gap:10px}
.jv-jh-pipe__n i{display:block;width:38px;height:38px;border-radius:50%;background:#0f1d4d;border:2px solid #ffffff40;box-shadow:0 0 0 0 #6ee7b755;animation:jhnode 3.6s ease-in-out infinite;animation-delay:calc(var(--i) * .6s)}
.jv-jh-pipe__n b{font:600 .82rem var(--jv-font-display);color:#c3d0f0;letter-spacing:.02em}
@keyframes jhnode{0%,100%{border-color:#ffffff40;box-shadow:0 0 0 0 #6ee7b700;background:#0f1d4d}12%{border-color:var(--jv-mint);box-shadow:0 0 0 10px #6ee7b722;background:var(--jv-mint)}30%{border-color:#ffffff40;box-shadow:0 0 0 0 #6ee7b700;background:#0f1d4d}}
.jv-jh-stage{margin-top:40px}
.jv-jh-chip{translate:calc(var(--px,0) * 16px) calc(var(--py,0) * 12px);transition:translate .25s ease-out}
.jv-jh-float{translate:calc(var(--px,0) * -14px) calc(var(--py,0) * -10px);transition:translate .25s ease-out}
/* cold open */
.jv-jh-open{padding:110px 0 100px;background:var(--jv-canvas);text-align:center}
.jv-jh-open .jv-wrap{max-width:980px}
.jv-jh-open p{margin:0}
.jv-jh-open__t{font:700 .9rem var(--jv-font-mono,monospace);letter-spacing:.2em;text-transform:uppercase;color:var(--jv-mint-strong)}
.jv-jh-open__b{margin-top:22px !important;font-family:var(--jv-font-display);font-size:clamp(1.5rem,3.2vw,2.5rem);line-height:1.25;letter-spacing:-.015em;opacity:.78}
.jv-jh-open__g{margin-top:30px !important;font-family:var(--jv-font-display);font-size:clamp(2.1rem,5vw,4rem);line-height:1.08;font-weight:800;letter-spacing:-.03em;background:linear-gradient(90deg,var(--jv-navy),var(--jv-mint-strong) 55%,#0ea5e9);-webkit-background-clip:text;background-clip:text;color:transparent}
html.dark .jv-jh-open__g{background-image:linear-gradient(90deg,#fff,var(--jv-mint) 55%,#7dd3fc)}
/* pain numbers + cost */
.jv-jh-pair{position:relative}
.jv-jh-num{position:absolute;z-index:0;left:-6px;top:-18px;font:800 5rem/1 var(--jv-font-display);letter-spacing:-.04em;color:color-mix(in srgb,var(--jv-mint-strong) 14%,transparent);pointer-events:none}
.jv-jh-pain,.jv-jh-fix,.jv-jh-pair__arrow{position:relative;z-index:1}
.jv-jh-cost{display:inline-flex;margin-top:16px;padding:6px 12px;border-radius:999px;font:600 .8rem var(--jv-font-display);background:color-mix(in srgb,#e11d48 11%,transparent);color:#c0183f}
html.dark .jv-jh-cost{color:#ff8da6}
.jv-jh-pain{transition:transform .35s,box-shadow .35s}.jv-jh-pain:hover{transform:translateX(-4px);box-shadow:0 20px 40px -28px #e11d48}
.jv-jh-fix{transition:transform .35s,box-shadow .35s}.jv-jh-fix:hover{transform:translateX(4px)}
.jv-jh-pair__arrow svg{animation:jhnudge 2.4s ease-in-out infinite}
@keyframes jhnudge{50%{transform:translateX(5px)}}
/* bridge */
.jv-jh-bridge{margin-top:56px;padding:48px 28px;border-radius:28px;display:flex;align-items:center;justify-content:center;gap:28px;flex-wrap:wrap;background:linear-gradient(135deg,#0a1330,#1b2f78);color:#fff;position:relative;overflow:hidden}
.jv-jh-bridge::before{content:"";position:absolute;inset:-50% 30% auto 30%;height:100%;background:radial-gradient(closest-side,#6ee7b755,transparent);filter:blur(30px)}
.jv-jh-bridge strong{position:relative;font:800 clamp(4rem,10vw,7rem)/1 var(--jv-font-display);background:linear-gradient(135deg,var(--jv-mint),#7dd3fc);-webkit-background-clip:text;background-clip:text;color:transparent}
.jv-jh-bridge span{position:relative;font:700 clamp(1.4rem,3vw,2.2rem)/1.2 var(--jv-font-display)}
.jv-jh-bridge em{display:block;font-style:normal;color:#9fb3e6;font-weight:600}
/* timeline progress */
.jv-jh-tl::before{background:linear-gradient(var(--jv-mint-strong) var(--p,0%),color-mix(in srgb,var(--jv-border) 80%,transparent) var(--p,0%))}
.jv-jh-tl li::after{background:var(--jv-border);box-shadow:0 0 0 5px var(--jv-canvas);transition:background .4s,box-shadow .4s}
.jv-jh-tl li.is-on::after{background:var(--jv-mint-strong);box-shadow:0 0 0 6px var(--jv-mint-soft)}
.jv-jh-tl li.is-on .jv-jh-tl__body{border-color:color-mix(in srgb,var(--jv-mint-strong) 55%,var(--jv-border));box-shadow:0 24px 50px -36px var(--jv-mint-strong)}
.jv-jh-tl__t{opacity:.5;transition:opacity .4s}.jv-jh-tl li.is-on .jv-jh-tl__t{opacity:1}
/* spotlight cards */
[data-spot]{background-image:radial-gradient(280px circle at var(--mx,-200px) var(--my,-200px),color-mix(in srgb,var(--jv-mint) 18%,transparent),transparent 70%)}
/* epilogue */
.jv-jh-ch--light{color:var(--jv-mint)}
.jv-jh-cta h2{max-width:20ch;margin-inline:auto;line-height:1.12}
.jv-jh-cta p{max-width:620px}
@media (max-width:700px){.jv-jh-pipe__n b{font-size:.68rem}.jv-jh-pipe__n i{width:28px;height:28px}.jv-jh-pipe__line{top:14px}.jv-jh-open{padding:72px 0 64px}.jv-jh-num{font-size:3.4rem;top:-10px}.jv-jh-chip,.jv-jh-float{translate:none}}
@media (prefers-reduced-motion:reduce){.jv-jh-hero::after,.jv-jh-pipe__line u,.jv-jh-pipe__n i,.jv-jh-pair__arrow svg{animation:none}}
.jv-jh-hero .jv-btn--primary,.jv-jh-cta .jv-btn--primary{background:linear-gradient(135deg,var(--jv-mint),var(--jv-mint-strong));border-color:transparent;color:#06210f;box-shadow:0 14px 34px -14px var(--jv-mint)}
.jv-jh-hero .jv-btn--primary:hover,.jv-jh-cta .jv-btn--primary:hover{filter:brightness(1.06);transform:translateY(-1px)}
.jv-jh-cta .jv-btn--primary svg,.jv-jh-hero .jv-btn--primary svg{stroke:#06210f}
.jv-jh-cta h2{margin-top:16px}

/* ===== Chapter 04 capabilities ===== */
.jv-jh-capsec{background:linear-gradient(180deg,var(--jv-canvas-soft),var(--jv-canvas))}
.jv-jh-cap{display:grid;grid-template-columns:320px minmax(0,1fr);gap:28px;align-items:start}
.jv-jh-cap__rail{position:sticky;top:84px;display:grid;gap:8px;padding:10px;border-radius:22px;border:1px solid var(--jv-border);background:var(--jv-surface)}
.jv-jh-cap__rail button{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:12px;align-items:center;text-align:left;padding:12px 12px;border:1px solid transparent;border-radius:16px;background:transparent;color:inherit;cursor:pointer;transition:background .2s,border-color .2s,transform .2s}
.jv-jh-cap__rail button:hover{background:var(--jv-canvas-soft)}
.jv-jh-cap__rail button[aria-selected=true]{background:linear-gradient(135deg,#0a1330,#1b2f78);color:#fff;box-shadow:0 18px 36px -22px #0a1330}
.jv-jh-cap__ic{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:var(--jv-mint-soft);color:var(--jv-mint-strong)}
.jv-jh-cap__rail button[aria-selected=true] .jv-jh-cap__ic{background:linear-gradient(135deg,var(--jv-mint),var(--jv-mint-strong));color:#06210f}
.jv-jh-cap__ic svg,.jv-jh-cap__bigic svg,.jv-jh-cf__ic svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.jv-jh-cap__tx{display:grid;gap:2px;min-width:0}
.jv-jh-cap__tx b{font:700 1rem var(--jv-font-display)}
.jv-jh-cap__tx small{font-size:.8rem;line-height:1.35;opacity:.7}
.jv-jh-cap__rail button[aria-selected=true] small{color:#b9c7ea;opacity:1}
.jv-jh-cap__n{display:grid;place-items:center;min-width:28px;height:28px;padding:0 8px;border-radius:999px;background:var(--jv-canvas-soft);font:700 .8rem var(--jv-font-mono,monospace)}
.jv-jh-cap__rail button[aria-selected=true] .jv-jh-cap__n{background:#ffffff1f;color:#fff}
.jv-jh-cap__panel[hidden]{display:none}
.jv-jh-cap__panel{animation:jhcap .45s cubic-bezier(.2,.7,.2,1)}
@keyframes jhcap{from{opacity:0;transform:translateY(14px)}}
.jv-jh-cap__hd{display:flex;gap:18px;align-items:center;margin:0 0 22px;padding:0 4px}
.jv-jh-cap__bigic{display:grid;place-items:center;width:58px;height:58px;flex:none;border-radius:18px;background:linear-gradient(135deg,var(--jv-mint),var(--jv-mint-strong));color:#06210f;box-shadow:0 16px 30px -16px var(--jv-mint-strong)}
.jv-jh-cap__bigic svg{width:28px;height:28px}
.jv-jh-cap__hd h3{margin:0;font-size:clamp(1.5rem,2.6vw,2.1rem);line-height:1.15;letter-spacing:-.02em}
.jv-jh-cap__hd p{margin:4px 0 0;opacity:.75}
.jv-jh-cap__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.jv-jh-cf{position:relative;display:flex;flex-direction:column;padding:24px;border-radius:22px;border:1px solid var(--jv-border);background:var(--jv-surface);min-width:0;overflow:hidden;opacity:0;transform:translateY(16px);animation:jhcard .55s cubic-bezier(.2,.7,.2,1) forwards;animation-delay:calc(var(--k) * 70ms);transition:border-color .25s,box-shadow .25s,translate .25s}
@keyframes jhcard{to{opacity:1;transform:none}}
.jv-jh-cf:hover{border-color:var(--jv-mint-strong);box-shadow:0 22px 44px -30px var(--jv-mint-strong);translate:0 -3px}
.jv-jh-cf__ic{display:grid;place-items:center;width:44px;height:44px;border-radius:14px;background:var(--jv-mint-soft);color:var(--jv-mint-strong)}
.jv-jh-cf__no{position:absolute;top:20px;right:22px;font:800 2.6rem/1 var(--jv-font-display);letter-spacing:-.04em;color:color-mix(in srgb,var(--jv-mint-strong) 13%,transparent)}
.jv-jh-cf h4{margin:18px 0 8px;font-size:1.15rem;line-height:1.25}
.jv-jh-cf>p{margin:0;line-height:1.6;opacity:.82}
.jv-jh-cf details{margin-top:auto;padding-top:16px}
.jv-jh-cf summary{display:inline-flex;align-items:center;gap:8px;cursor:pointer;list-style:none;font:700 .85rem var(--jv-font-display);color:var(--jv-mint-strong)}
.jv-jh-cf summary::-webkit-details-marker{display:none}
.jv-jh-cf summary::after{content:"+";display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:var(--jv-mint-soft);transition:transform .25s}
.jv-jh-cf details[open] summary::after{transform:rotate(45deg)}
.jv-jh-cf details p{margin:12px 0 0;padding:12px 14px;border-left:3px solid var(--jv-mint-strong);border-radius:0 12px 12px 0;background:var(--jv-canvas-soft);font-size:.92rem;line-height:1.55}
/* lead card */
.jv-jh-cf--lead{grid-column:span 2;padding:32px;background:linear-gradient(135deg,#0a1330,#1b2f78);border-color:transparent;color:#fff}
.jv-jh-cf--lead::before{content:"";position:absolute;right:-60px;top:-60px;width:260px;height:260px;border-radius:50%;background:radial-gradient(closest-side,#6ee7b755,transparent)}
.jv-jh-cf--lead .jv-jh-cf__ic{background:linear-gradient(135deg,var(--jv-mint),var(--jv-mint-strong));color:#06210f}
.jv-jh-cf--lead .jv-jh-cf__no{color:#ffffff14}
.jv-jh-cf--lead h4{font-size:1.5rem;position:relative}
.jv-jh-cf--lead>p{color:#c3d0f0;opacity:1;font-size:1.04rem;max-width:56ch;position:relative}
.jv-jh-cf--lead summary{color:var(--jv-mint)}.jv-jh-cf--lead summary::after{background:#ffffff1f}
.jv-jh-cf--lead details p{background:#ffffff12;color:#dbe5ff;border-left-color:var(--jv-mint)}
.jv-jh-cap__grid[data-n="3"] .jv-jh-cf--lead{grid-column:span 3}
.jv-jh-cap__grid[data-n="2"] .jv-jh-cf--lead{grid-column:span 2}
@media (max-width:1100px){.jv-jh-cap{grid-template-columns:minmax(0,1fr)}.jv-jh-cap__rail{position:static;display:flex;overflow-x:auto;gap:8px;padding:8px;scrollbar-width:none;border-radius:18px}.jv-jh-cap__rail::-webkit-scrollbar{display:none}.jv-jh-cap__rail button{flex:none;grid-template-columns:34px auto auto;padding:8px 12px 8px 8px}.jv-jh-cap__ic{width:34px;height:34px;border-radius:11px}.jv-jh-cap__tx small{display:none}}
@media (max-width:900px){.jv-jh-cap__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.jv-jh-cap__grid[data-n="3"] .jv-jh-cf--lead{grid-column:span 2}}
@media (max-width:640px){.jv-jh-cap__grid{grid-template-columns:minmax(0,1fr)}.jv-jh-cf--lead,.jv-jh-cap__grid[data-n="3"] .jv-jh-cf--lead,.jv-jh-cap__grid[data-n="2"] .jv-jh-cf--lead{grid-column:auto;padding:24px}.jv-jh-cap__hd{align-items:flex-start}.jv-jh-cap__bigic{width:48px;height:48px}}
@media (prefers-reduced-motion:reduce){.jv-jh-cf,.jv-jh-cap__panel{animation:none;opacity:1;transform:none}}
.jv-jh-cf--lead h4{color:#fff}
@media (min-width:901px){.jv-jh-cap__grid[data-n="3"]{grid-template-columns:repeat(2,minmax(0,1fr))}.jv-jh-cap__grid[data-n="3"] .jv-jh-cf--lead{grid-column:span 2}}

/* ===== Chapter 05 custom build ===== */
.jv-jh-cust{position:relative;overflow:hidden}
.jv-jh-cust::before{content:"";position:absolute;inset:0;background-image:linear-gradient(#ffffff08 1px,transparent 1px),linear-gradient(90deg,#ffffff08 1px,transparent 1px);background-size:56px 56px;mask-image:radial-gradient(60% 60% at 70% 30%,#000,transparent);-webkit-mask-image:radial-gradient(60% 60% at 70% 30%,#000,transparent);pointer-events:none}
.jv-jh-cust .jv-wrap{position:relative}
.jv-jh-cust__top{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;align-items:center}
.jv-jh-cust__txt h2{margin:12px 0 0;color:#fff;font-size:clamp(2rem,4vw,3.2rem);line-height:1.08;letter-spacing:-.025em}
.jv-jh-cust__txt>p{margin:18px 0 0;color:#b9c7ea;font-size:1.1rem;line-height:1.65;max-width:56ch}
.jv-jh-cust__pill{display:grid;gap:2px;margin:26px 0 28px;padding:18px 22px;border-radius:18px;border:1px solid #ffffff2a;background:linear-gradient(135deg,#ffffff14,#ffffff06);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.jv-jh-cust__pill b{color:#fff;font:700 1.2rem var(--jv-font-display)}
.jv-jh-cust__pill span{font:800 1.5rem var(--jv-font-display);background:linear-gradient(90deg,var(--jv-mint),#7dd3fc);-webkit-background-clip:text;background-clip:text;color:transparent}
/* orbit */
.jv-jh-orbit{--r1:8em;--r2:13em;position:relative;justify-self:center;width:32.5em;height:32.5em;max-width:100%;font-size:clamp(10.5px,calc((100vw - 40px) / 32.5),16px)}
.jv-jh-orbit__ring{position:absolute;left:50%;top:50%;translate:-50% -50%;border-radius:50%;border:1px dashed #ffffff33}
.jv-jh-orbit__ring--a{width:calc(var(--r1) * 2);height:calc(var(--r1) * 2)}
.jv-jh-orbit__ring--b{width:calc(var(--r2) * 2);height:calc(var(--r2) * 2);border-color:#6ee7b744}
.jv-jh-orbit__core{position:absolute;left:50%;top:50%;translate:-50% -50%;display:grid;place-items:center;align-content:center;width:8em;height:8em;border-radius:50%;background:radial-gradient(circle at 30% 25%,#7df0c0,#2bb589 70%);color:#06210f;text-align:center;box-shadow:0 0 0 1em #6ee7b71c,0 0 0 2em #6ee7b710,0 0 60px #6ee7b766;animation:jhcore 4s ease-in-out infinite}
.jv-jh-orbit__core b{font:800 1.25em var(--jv-font-display)}.jv-jh-orbit__core small{font:600 .7em var(--jv-font-display);opacity:.8}
@keyframes jhcore{50%{box-shadow:0 0 0 1.3em #6ee7b71c,0 0 0 2.6em #6ee7b70c,0 0 80px #6ee7b788}}
.jv-jh-orbit__spin{position:absolute;inset:0;animation:jhspin 48s linear infinite}
.jv-jh-orbit__spin--b{animation-duration:70s;animation-direction:reverse}
@keyframes jhspin{to{rotate:360deg}}
.jv-jh-orbit__n{position:absolute;left:50%;top:50%;width:0;height:0;transform:rotate(var(--a)) translateX(var(--r1))}
.jv-jh-orbit__spin--b .jv-jh-orbit__n{transform:rotate(var(--a)) translateX(var(--r2))}
.jv-jh-orbit__n i{position:absolute;left:0;top:0;translate:-50% -50%;white-space:nowrap;font-style:normal;font:700 .82em var(--jv-font-display);padding:.55em 1em;border-radius:999px;color:#e8eefc;background:#12235e;border:1px solid #ffffff3a;box-shadow:0 10px 24px -10px #000a;animation:jhunspin 48s linear infinite}
.jv-jh-orbit__spin--b .jv-jh-orbit__n i{animation-duration:70s}
@keyframes jhunspin{from{transform:rotate(calc(var(--a) * -1))}to{transform:rotate(calc(var(--a) * -1 - 360deg))}}
.jv-jh-orbit__spin--b .jv-jh-orbit__n i{animation-name:jhunspinb}
@keyframes jhunspinb{from{transform:rotate(calc(var(--a) * -1 - 360deg))}to{transform:rotate(calc(var(--a) * -1))}}
.jv-jh-orbit__n--c i{display:inline-flex;align-items:center;gap:.5em;background:linear-gradient(135deg,#0f3a35,#12235e);border:1px dashed var(--jv-mint);color:#c9f7e3;box-shadow:0 0 24px -6px #6ee7b799}
.jv-jh-orbit__n--c u{display:grid;place-items:center;width:1.5em;height:1.5em;border-radius:50%;background:var(--jv-mint);color:#06210f;text-decoration:none;font-weight:800;animation:jhplus 2.4s ease-in-out infinite}
@keyframes jhplus{50%{transform:scale(1.25)}}
/* marquee */
.jv-jh-marq{margin:64px -20px 0;padding:34px 0 30px;border-block:1px solid #ffffff1c;background:#ffffff06;overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.jv-jh-marq__h{margin:0 0 18px;text-align:center;font:700 .78rem var(--jv-font-mono,monospace);letter-spacing:.2em;text-transform:uppercase;color:var(--jv-mint)}
.jv-jh-marq__row{overflow:hidden;margin-bottom:12px}
.jv-jh-marq__track{display:flex;gap:12px;width:max-content;animation:jhmarq 60s linear infinite}
.jv-jh-marq__row--rev .jv-jh-marq__track{animation-direction:reverse;animation-duration:70s}
.jv-jh-marq:hover .jv-jh-marq__track{animation-play-state:paused}
@keyframes jhmarq{to{transform:translateX(calc(-50% - 6px))}}
.jv-jh-marq__track span{display:inline-flex;align-items:center;gap:10px;flex:none;padding:12px 20px;border-radius:999px;border:1px solid #ffffff26;background:linear-gradient(135deg,#ffffff12,#ffffff05);color:#dbe5ff;font:600 .95rem var(--jv-font-display);white-space:nowrap}
.jv-jh-marq__track svg{width:16px;height:16px;fill:none;stroke:var(--jv-mint);stroke-width:2.6}
/* steps */
.jv-jh-cust__steps{list-style:none;margin:48px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.jv-jh-cust__steps li{position:relative;padding:28px 26px;border-radius:22px;border:1px solid #ffffff22;background:linear-gradient(160deg,#ffffff12,#ffffff05)}
.jv-jh-cust__steps li span{display:grid;place-items:center;width:44px;height:44px;border-radius:14px;background:linear-gradient(135deg,var(--jv-mint),var(--jv-mint-strong));color:#06210f;font-weight:800;margin-bottom:16px}
.jv-jh-cust__steps h3{margin:0 0 8px;color:#fff;font-size:1.2rem}.jv-jh-cust__steps p{margin:0;color:#b9c7ea;line-height:1.6}
.jv-jh-cust__steps li:not(:last-child)::after{content:"";position:absolute;top:50px;right:-19px;width:20px;border-top:2px dashed var(--jv-mint);opacity:.6}
.jv-jh-cust .jv-btn--primary{background:linear-gradient(135deg,var(--jv-mint),var(--jv-mint-strong));border-color:transparent;color:#06210f;box-shadow:0 14px 34px -14px var(--jv-mint)}
.jv-jh-cust .jv-btn--primary svg{stroke:#06210f}
@media (max-width:1000px){.jv-jh-cust__top{grid-template-columns:minmax(0,1fr);gap:36px}.jv-jh-cust__steps{grid-template-columns:minmax(0,1fr)}.jv-jh-cust__steps li::after{display:none}}
@media (prefers-reduced-motion:reduce){.jv-jh-orbit__spin,.jv-jh-orbit__n i,.jv-jh-orbit__core,.jv-jh-marq__track,.jv-jh-orbit__n--c u{animation:none}.jv-jh-marq__row{overflow-x:auto}}

/* ===== Chapters 06, 07, 08 and FAQ ===== */
.jv-jh-head--center{margin-inline:auto;text-align:center}
.jv-jh-head--center .jv-jh-ch{justify-content:center}
.jv-jh-ig__ic svg,.jv-jh-sc__ic svg,.jv-jh-onb__ic svg,.jv-jh-onb__pg article>span svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}

/* ---- 06 integrations ---- */
.jv-jh-flowband{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 90px minmax(0,1.1fr) 90px minmax(0,1fr);gap:0;align-items:center;margin:0 0 28px;padding:30px;border-radius:26px;background:linear-gradient(135deg,#0a1330,#1b2f78);color:#fff;overflow:hidden}
.jv-jh-flowband::before{content:"";position:absolute;inset:-40% 25% auto 25%;height:100%;background:radial-gradient(closest-side,#6ee7b744,transparent);filter:blur(30px)}
.jv-jh-flowband__node{position:relative;padding:22px 18px;border-radius:20px;border:1px solid #ffffff2e;background:#ffffff10;text-align:center;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.jv-jh-flowband__node b{display:block;font:800 1.25rem var(--jv-font-display)}
.jv-jh-flowband__node small{display:block;margin-top:4px;color:#b9c7ea;font-size:.85rem}
.jv-jh-flowband__node--core{background:linear-gradient(135deg,var(--jv-mint),var(--jv-mint-strong));border-color:transparent;color:#06210f;box-shadow:0 0 0 8px #6ee7b71c,0 0 50px #6ee7b755}
.jv-jh-flowband__node--core small{color:#0b3a2b}
.jv-jh-flowband__pipe{position:relative;height:2px;background:#ffffff26;overflow:hidden;border-radius:2px;margin:0 4px}
.jv-jh-flowband__pipe u{position:absolute;top:-1px;width:14px;height:4px;border-radius:4px;background:var(--jv-mint);box-shadow:0 0 12px var(--jv-mint);animation:jhflow 2.4s linear infinite}
.jv-jh-flowband__pipe u:nth-child(2){animation-delay:-.8s}.jv-jh-flowband__pipe u:nth-child(3){animation-delay:-1.6s}
@keyframes jhflow{from{left:-16px}to{left:100%}}
.jv-jh-flowband__t{grid-column:1/-1;position:relative;margin:24px 0 0;max-width:70ch;color:#c3d0f0;line-height:1.6;justify-self:center;text-align:center}
.jv-jh-intg__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.jv-jh-ig{position:relative;padding:26px;border-radius:24px;border:1px solid var(--jv-border);background:var(--jv-surface);overflow:hidden;min-width:0;transition:transform .3s,border-color .3s,box-shadow .3s}
.jv-jh-ig::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:linear-gradient(90deg,var(--jv-mint),#7dd3fc);transform:scaleX(0);transform-origin:left;transition:transform .5s}
.jv-jh-ig:hover{transform:translateY(-4px);border-color:var(--jv-mint-strong);box-shadow:0 26px 50px -34px var(--jv-mint-strong)}
.jv-jh-ig:hover::before{transform:scaleX(1)}
.jv-jh-ig__live{position:absolute;top:22px;right:22px;display:inline-flex;align-items:center;gap:7px;font:700 .7rem var(--jv-font-mono,monospace);letter-spacing:.1em;text-transform:uppercase;color:var(--jv-mint-strong)}
.jv-jh-ig__live i{width:8px;height:8px;border-radius:50%;background:var(--jv-mint-strong);animation:jhlive 2s ease-in-out infinite}
@keyframes jhlive{0%,100%{box-shadow:0 0 0 0 #2bb58955}50%{box-shadow:0 0 0 6px #2bb58900}}
.jv-jh-ig__ic{display:grid;place-items:center;width:52px;height:52px;border-radius:16px;background:var(--jv-mint-soft);color:var(--jv-mint-strong)}
.jv-jh-ig h3{margin:18px 0 8px;font-size:1.2rem;line-height:1.25}
.jv-jh-ig p{margin:0;line-height:1.6;opacity:.82}
.jv-jh-ig ul{list-style:none;margin:18px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.jv-jh-ig li{padding:7px 14px;border-radius:999px;border:1px solid var(--jv-border);background:var(--jv-canvas-soft);font:600 .85rem var(--jv-font-display)}

/* ---- 07 security ---- */
.jv-jh-secs{background:linear-gradient(180deg,var(--jv-canvas),var(--jv-canvas-soft))}
.jv-jh-sec__top{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:40px;align-items:center;margin-bottom:44px}
.jv-jh-sec__top .jv-jh-head{margin:0}
.jv-jh-sec__cert{display:flex;gap:12px;align-items:flex-start;margin-top:24px;padding:16px 18px;border-radius:16px;border:1px solid color-mix(in srgb,var(--jv-mint-strong) 40%,var(--jv-border));background:var(--jv-mint-soft);font-size:.98rem;line-height:1.55}
.jv-jh-sec__cert svg{flex:none;width:22px;height:22px;margin-top:2px;fill:none;stroke:var(--jv-mint-strong);stroke-width:2.6}
.jv-jh-shield{position:relative;justify-self:center;width:min(100%,380px);aspect-ratio:1}
.jv-jh-shield__r{position:absolute;inset:50% auto auto 50%;translate:-50% -50%;border-radius:50%;border:1.5px solid color-mix(in srgb,var(--jv-mint-strong) 45%,transparent);animation:jhring 4.5s ease-out infinite}
.jv-jh-shield__r--1{width:42%;height:42%}.jv-jh-shield__r--2{width:42%;height:42%;animation-delay:1.5s}.jv-jh-shield__r--3{width:42%;height:42%;animation-delay:3s}
@keyframes jhring{from{width:42%;height:42%;opacity:.9}to{width:100%;height:100%;opacity:0}}
.jv-jh-shield__core{position:absolute;inset:50% auto auto 50%;translate:-50% -50%;display:grid;place-items:center;width:34%;aspect-ratio:1;border-radius:32%;background:linear-gradient(135deg,#0a1330,#1b2f78);box-shadow:0 30px 60px -20px #0a1330,0 0 0 10px color-mix(in srgb,var(--jv-mint) 16%,transparent)}
.jv-jh-shield__core svg{width:52%;height:52%;fill:none;stroke:var(--jv-mint);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.jv-jh-shield__t{position:absolute;padding:8px 16px;border-radius:999px;background:var(--jv-surface);border:1px solid var(--jv-border);font:700 .85rem var(--jv-font-display);box-shadow:0 14px 28px -16px #0a133088;animation:jhfloat 6s ease-in-out infinite}
.jv-jh-shield__t--a{left:0;top:16%}.jv-jh-shield__t--b{right:0;top:26%;animation-delay:-1.5s}.jv-jh-shield__t--c{left:4%;bottom:14%;animation-delay:-3s}.jv-jh-shield__t--d{right:2%;bottom:20%;animation-delay:-4.5s}
.jv-jh-sec__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.jv-jh-sc{padding:26px;border-radius:22px;border:1px solid var(--jv-border);background:var(--jv-surface);min-width:0;transition:transform .3s,border-color .3s,box-shadow .3s}
.jv-jh-sc:hover{transform:translateY(-4px);border-color:var(--jv-mint-strong);box-shadow:0 24px 46px -32px var(--jv-mint-strong)}
.jv-jh-sc__ic{display:grid;place-items:center;width:50px;height:50px;border-radius:15px;background:linear-gradient(135deg,#0a1330,#1b2f78);color:var(--jv-mint)}
.jv-jh-sc h3{margin:16px 0 6px;font-size:1.15rem}.jv-jh-sc p{margin:0;line-height:1.6;opacity:.82}
.jv-jh-built{margin-top:72px}
.jv-jh-built .jv-jh-head{margin-bottom:28px}
.jv-jh-built__grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}
.jv-jh-built__grid li{position:relative;display:grid;gap:8px;align-content:start;padding:22px 20px;border-radius:20px;border:1px solid var(--jv-border);background:var(--jv-surface);transition:transform .3s,border-color .3s}
.jv-jh-built__grid li:hover{transform:translateY(-4px);border-color:var(--jv-mint-strong)}
.jv-jh-built__n{font:800 2rem/1 var(--jv-font-display);letter-spacing:-.03em;color:color-mix(in srgb,var(--jv-mint-strong) 40%,transparent)}
.jv-jh-built__grid strong{font:700 1.02rem var(--jv-font-display)}
.jv-jh-built__grid li>span:last-child{font-size:.9rem;line-height:1.55;opacity:.8}

/* ---- 08 onboarding ---- */
.jv-jh-onb__steps{position:relative;list-style:none;margin:0 0 56px;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.jv-jh-onb__steps::before{content:"";position:absolute;left:12%;right:12%;top:54px;height:3px;border-radius:3px;background:linear-gradient(90deg,var(--jv-mint),#7dd3fc);opacity:.35}
.jv-jh-onb__steps li{position:relative;padding:28px 22px 24px;border-radius:24px;border:1px solid var(--jv-border);background:var(--jv-surface);min-width:0;transition:transform .3s,border-color .3s,box-shadow .3s}
.jv-jh-onb__steps li:hover{transform:translateY(-5px);border-color:var(--jv-mint-strong);box-shadow:0 26px 50px -34px var(--jv-mint-strong)}
.jv-jh-onb__ic{position:relative;display:grid;place-items:center;width:62px;height:62px;border-radius:50%;background:linear-gradient(135deg,var(--jv-mint),var(--jv-mint-strong));color:#06210f;box-shadow:0 0 0 8px var(--jv-mint-soft)}
.jv-jh-onb__ic em{position:absolute;right:-6px;top:-6px;display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:#0a1330;color:#fff;font:800 .8rem var(--jv-font-display);font-style:normal}
.jv-jh-onb__steps h3{margin:20px 0 8px;font-size:1.25rem}
.jv-jh-onb__steps>li>p{margin:0;line-height:1.6;opacity:.85}
.jv-jh-onb__steps dl{margin:18px 0 0;display:grid;gap:8px}
.jv-jh-onb__steps dl div{display:grid;grid-template-columns:44px minmax(0,1fr);gap:10px;align-items:start;padding:10px 12px;border-radius:12px;background:var(--jv-canvas-soft);font-size:.88rem;line-height:1.45}
.jv-jh-onb__steps dt{font:800 .72rem var(--jv-font-mono,monospace);letter-spacing:.1em;text-transform:uppercase;color:var(--jv-mint-strong);padding-top:2px}
.jv-jh-onb__steps dd{margin:0}
.jv-jh-onb__plat{padding:44px;border-radius:30px;background:linear-gradient(135deg,#0a1330,#1b2f78);position:relative;overflow:hidden}
.jv-jh-onb__plat::before{content:"";position:absolute;inset:-40% 40% auto -10%;height:90%;background:radial-gradient(closest-side,#6ee7b744,transparent);filter:blur(30px)}
.jv-jh-onb__ph{position:relative;margin-bottom:28px}
.jv-jh-onb__ph h3{margin:10px 0 0;color:#fff;font-size:clamp(1.6rem,3vw,2.2rem);line-height:1.15}
.jv-jh-onb__pg{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.jv-jh-onb__pg article{display:flex;gap:16px;align-items:flex-start;padding:20px;border-radius:20px;border:1px solid #ffffff22;background:linear-gradient(160deg,#ffffff12,#ffffff05);transition:transform .3s,border-color .3s}
.jv-jh-onb__pg article:hover{transform:translateY(-3px);border-color:var(--jv-mint)}
.jv-jh-onb__pg article>span{display:grid;place-items:center;flex:none;width:46px;height:46px;border-radius:14px;background:#ffffff14;color:var(--jv-mint)}
.jv-jh-onb__pg h4{margin:0 0 4px;color:#fff;font-size:1.05rem}.jv-jh-onb__pg p{margin:0;color:#b9c7ea;line-height:1.55;font-size:.93rem}

/* ---- FAQ ---- */
.jv-jh-faqs__in{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.4fr);gap:56px;align-items:start}
.jv-jh-faqs__side{position:sticky;top:96px}
.jv-jh-faqs__side h2{margin:10px 0 0;font-size:clamp(1.9rem,3.4vw,2.7rem);line-height:1.1;letter-spacing:-.02em}
.jv-jh-faqs__side>p{margin:14px 0 26px;opacity:.8;line-height:1.6}
.jv-jh-faqs__card{display:grid;gap:12px;padding:26px;border-radius:24px;background:linear-gradient(135deg,#0a1330,#1b2f78);color:#fff;position:relative;overflow:hidden}
.jv-jh-faqs__card::before{content:"";position:absolute;right:-40px;top:-40px;width:200px;height:200px;border-radius:50%;background:radial-gradient(closest-side,#6ee7b755,transparent)}
.jv-jh-faqs__card>*{position:relative}
.jv-jh-faqs__card b{font:800 1.3rem var(--jv-font-display)}
.jv-jh-faqs__card span{color:#b9c7ea;line-height:1.55}
.jv-jh-faqs__card .jv-btn--primary{background:linear-gradient(135deg,var(--jv-mint),var(--jv-mint-strong));border-color:transparent;color:#06210f;justify-self:start}
.jv-jh-faqs__card .jv-btn--primary svg{stroke:#06210f}
.jv-jh-faqs__link{color:#cfe0ff;font-weight:600;font-size:.92rem;text-decoration:underline;text-underline-offset:3px}
.jv-jh-faqs__list{display:grid;gap:12px}
.jv-jh-fq{border-radius:20px;border:1px solid var(--jv-border);background:var(--jv-surface);transition:border-color .25s,box-shadow .25s}
.jv-jh-fq[open]{border-color:var(--jv-mint-strong);box-shadow:0 24px 50px -36px var(--jv-mint-strong);background:linear-gradient(160deg,color-mix(in srgb,var(--jv-mint) 9%,var(--jv-surface)),var(--jv-surface) 60%)}
.jv-jh-fq summary{display:grid;grid-template-columns:auto minmax(0,1fr) 34px;gap:16px;align-items:center;padding:20px 22px;cursor:pointer;list-style:none}
.jv-jh-fq summary::-webkit-details-marker{display:none}
.jv-jh-fq__n{font:800 .85rem var(--jv-font-mono,monospace);color:var(--jv-mint-strong);letter-spacing:.04em}
.jv-jh-fq__q{font:700 1.08rem/1.35 var(--jv-font-display)}
.jv-jh-fq summary i{position:relative;width:34px;height:34px;border-radius:50%;background:var(--jv-mint-soft);transition:transform .3s,background .3s}
.jv-jh-fq summary i::before,.jv-jh-fq summary i::after{content:"";position:absolute;left:50%;top:50%;width:14px;height:2px;border-radius:2px;background:var(--jv-mint-strong);translate:-50% -50%;transition:transform .3s}
.jv-jh-fq summary i::after{transform:rotate(90deg)}
.jv-jh-fq[open] summary i{background:var(--jv-mint-strong)}
.jv-jh-fq[open] summary i::before,.jv-jh-fq[open] summary i::after{background:#fff}
.jv-jh-fq[open] summary i::after{transform:rotate(0)}
.jv-jh-fq__a{padding:0 22px 22px 70px;animation:jhfq .35s ease}
@keyframes jhfq{from{opacity:0;transform:translateY(-6px)}}
.jv-jh-fq__a p{margin:0;line-height:1.7;opacity:.88}

@media (max-width:1100px){.jv-jh-built__grid{grid-template-columns:repeat(3,minmax(0,1fr))}.jv-jh-onb__steps{grid-template-columns:repeat(2,minmax(0,1fr))}.jv-jh-onb__steps::before{display:none}.jv-jh-onb__pg{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:960px){.jv-jh-sec__top,.jv-jh-faqs__in{grid-template-columns:minmax(0,1fr);gap:32px}.jv-jh-faqs__side{position:static}.jv-jh-intg__grid,.jv-jh-sec__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.jv-jh-flowband{grid-template-columns:minmax(0,1fr);gap:14px;padding:22px}.jv-jh-flowband__pipe{width:2px;height:44px;justify-self:center;margin:0}.jv-jh-flowband__pipe u{left:-1px;top:-16px;width:4px;height:14px;animation-name:jhflowv}.jv-jh-flowband__t{margin-top:6px}}
@keyframes jhflowv{from{top:-16px}to{top:100%}}
@media (max-width:640px){.jv-jh-intg__grid,.jv-jh-sec__grid,.jv-jh-onb__steps,.jv-jh-onb__pg{grid-template-columns:minmax(0,1fr)}.jv-jh-built__grid{grid-template-columns:minmax(0,1fr)}.jv-jh-onb__plat{padding:26px 20px}.jv-jh-fq summary{padding:16px;gap:12px}.jv-jh-fq__a{padding:0 16px 18px 16px}.jv-jh-ig__live{position:static;margin-bottom:12px}}
@media (prefers-reduced-motion:reduce){.jv-jh-flowband__pipe u,.jv-jh-ig__live i,.jv-jh-shield__r,.jv-jh-shield__t,.jv-jh-fq__a{animation:none}}

/* ===== Chapter 09 support ===== */
.jv-jh-sup{position:relative;overflow:hidden}
.jv-jh-sup__top{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:40px;align-items:center}
.jv-jh-sup__txt h2{margin:12px 0 0;color:#fff;font-size:clamp(2rem,4vw,3rem);line-height:1.1;letter-spacing:-.025em}
.jv-jh-sup__txt>p{margin:18px 0 26px;color:#b9c7ea;font-size:1.1rem;line-height:1.65;max-width:58ch}
.jv-jh-sup__pm{display:grid;gap:10px;justify-items:start;padding:28px;border-radius:24px;border:1px solid #6ee7b755;background:linear-gradient(135deg,#6ee7b71f,#ffffff08);box-shadow:0 0 50px -20px #6ee7b799}
.jv-jh-sup__pm b{color:#fff;font:700 1.3rem var(--jv-font-display)}.jv-jh-sup__pm>span:last-child{color:#c9d6f5;line-height:1.6}
.jv-jh-sup__pmic{display:grid;place-items:center;width:52px;height:52px;border-radius:16px;background:linear-gradient(135deg,var(--jv-mint),var(--jv-mint-strong))}
.jv-jh-sup__pmic svg{width:26px;height:26px;fill:none;stroke:#06210f;stroke-width:2}
.jv-jh-sup__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:40px}
.jv-jh-sup__c{padding:24px;border-radius:20px;border:1px solid #ffffff22;background:linear-gradient(160deg,#ffffff12,#ffffff05);transition:transform .25s,border-color .25s}
.jv-jh-sup__c:hover{transform:translateY(-4px);border-color:var(--jv-mint)}
.jv-jh-sup__c>span{display:grid;place-items:center;width:44px;height:44px;border-radius:14px;background:#6ee7b722;margin-bottom:14px}
.jv-jh-sup__c svg{width:22px;height:22px;fill:none;stroke:var(--jv-mint);stroke-width:2}
.jv-jh-sup__c h3{margin:0 0 6px;color:#fff;font-size:1.1rem}.jv-jh-sup__c p{margin:0;color:#b9c7ea;line-height:1.55}
.jv-jh-sup__note{margin:26px 0 0;text-align:center;color:var(--jv-mint);font:600 .95rem var(--jv-font-display)}
.jv-jh-sup .jv-btn--primary{background:linear-gradient(135deg,var(--jv-mint),var(--jv-mint-strong));border-color:transparent;color:#06210f}.jv-jh-sup .jv-btn--primary svg{stroke:#06210f}
@media (max-width:960px){.jv-jh-sup__top{grid-template-columns:minmax(0,1fr)}.jv-jh-sup__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.jv-jh-sup__grid{grid-template-columns:minmax(0,1fr)}}

/* CPT / ICD-10 band */
.jv-jh-code{display:grid;grid-template-columns:minmax(0,1.3fr) auto minmax(0,1fr);gap:32px;align-items:center;margin-top:36px;padding:34px;border-radius:28px;color:#e8eefc;background:linear-gradient(135deg,#0a1330,#1b2f78);position:relative;overflow:hidden;box-shadow:0 30px 60px -30px #0a133099}
.jv-jh-code::before{content:"";position:absolute;right:-80px;top:-80px;width:260px;height:260px;border-radius:50%;background:radial-gradient(#6ee7b744,transparent 70%)}
.jv-jh-code h3{margin:10px 0 0;color:#fff;font-size:clamp(1.4rem,2.4vw,1.9rem);line-height:1.2}
.jv-jh-code p{margin:12px 0 0;color:#b9c7ea;line-height:1.6}
.jv-jh-code__c{position:relative;display:grid;gap:10px;justify-items:center}
.jv-jh-code__c span{padding:12px 26px;border-radius:14px;font:800 1.3rem var(--jv-font-mono,monospace);letter-spacing:.06em;border:1px solid #6ee7b777;background:#6ee7b71a;color:#c9f7e3;animation:jhcode 3s ease-in-out infinite}
.jv-jh-code__c span+span{animation-delay:1.5s}
.jv-jh-code__c i{display:none}
@keyframes jhcode{50%{box-shadow:0 0 28px -4px #6ee7b799;transform:translateY(-3px)}}
.jv-jh-code__l{list-style:none;margin:0;padding:0;display:grid;gap:10px;position:relative}
.jv-jh-code__l li{position:relative;padding-left:26px;color:#dbe5ff;line-height:1.5}
.jv-jh-code__l li::before{content:"";position:absolute;left:0;top:.45em;width:14px;height:8px;border-left:2.5px solid var(--jv-mint);border-bottom:2.5px solid var(--jv-mint);transform:rotate(-45deg)}
.jv-jh-code .jv-jh-ch{color:var(--jv-mint)}
@media (max-width:960px){.jv-jh-code{grid-template-columns:minmax(0,1fr);padding:26px 22px}.jv-jh-code__c{grid-auto-flow:column;justify-content:start}}
@media (prefers-reduced-motion:reduce){.jv-jh-code__c span{animation:none}}

/* ===== Closing CTA v2 ===== */
.jv-jh-cta2{position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:48px;align-items:center;padding:64px 56px;border-radius:32px;color:#fff;background:radial-gradient(70% 90% at 90% 0%,#6ee7b733,transparent 60%),linear-gradient(135deg,#0a1330,#1b2f78);box-shadow:0 40px 80px -40px #0a1330cc}
.jv-jh-cta2::before{content:"";position:absolute;inset:0;background-image:linear-gradient(#ffffff0a 1px,transparent 1px),linear-gradient(90deg,#ffffff0a 1px,transparent 1px);background-size:44px 44px;mask-image:radial-gradient(70% 80% at 80% 20%,#000,transparent);-webkit-mask-image:radial-gradient(70% 80% at 80% 20%,#000,transparent)}
.jv-jh-cta2__glow{position:absolute;left:-120px;bottom:-160px;width:420px;height:420px;border-radius:50%;background:radial-gradient(#6ee7b744,transparent 70%);filter:blur(10px)}
.jv-jh-cta2__txt,.jv-jh-cta2__card{position:relative}
.jv-jh-cta2 h2{margin:14px 0 0;color:#fff;font-size:clamp(2rem,4.2vw,3.2rem);line-height:1.08;letter-spacing:-.025em}
.jv-jh-cta2__txt>p{margin:18px 0 30px;color:#c3d0f0;font-size:1.1rem;line-height:1.65;max-width:52ch}
.jv-jh-cta2__btns{display:flex;flex-wrap:wrap;gap:14px;align-items:center}
.jv-jh-cta2 .jv-btn--primary{background:linear-gradient(135deg,var(--jv-mint),var(--jv-mint-strong));border-color:transparent;color:#06210f;box-shadow:0 16px 38px -14px var(--jv-mint)}
.jv-jh-cta2 .jv-btn--primary svg{stroke:#06210f}
.jv-jh-cta2__ghost{display:inline-flex;align-items:center;min-height:52px;padding:0 26px;border-radius:14px;border:1px solid #ffffff44;color:#fff;font-weight:600;text-decoration:none;background:#ffffff0d;transition:background .2s,border-color .2s}
.jv-jh-cta2__ghost:hover{background:#ffffff1f;border-color:var(--jv-mint)}
.jv-jh-cta2__trust{list-style:none;margin:30px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:10px 22px}
.jv-jh-cta2__trust li{position:relative;padding-left:22px;color:#b9c7ea;font-size:.92rem}
.jv-jh-cta2__trust li::before{content:"";position:absolute;left:2px;top:.35em;width:10px;height:6px;border-left:2px solid var(--jv-mint);border-bottom:2px solid var(--jv-mint);transform:rotate(-45deg)}
.jv-jh-cta2__card{padding:26px;border-radius:24px;border:1px solid #ffffff2e;background:linear-gradient(160deg,#ffffff1a,#ffffff08);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 30px 60px -30px #000a;animation:jhcf 6s ease-in-out infinite}
@keyframes jhcf{50%{transform:translateY(-8px)}}
.jv-jh-cta2__ch{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:14px;border-bottom:1px solid #ffffff1f}
.jv-jh-cta2__ch span{font:700 1.4rem var(--jv-font-mono,monospace);color:#fff}
.jv-jh-cta2__ch em{display:inline-flex;align-items:center;gap:8px;font:700 .75rem var(--jv-font-mono,monospace);letter-spacing:.12em;text-transform:uppercase;color:var(--jv-mint);font-style:normal}
.jv-jh-cta2__ch i{width:8px;height:8px;border-radius:50%;background:var(--jv-mint);animation:jhpulse 1.6s ease-in-out infinite}
@keyframes jhpulse{50%{box-shadow:0 0 0 7px #6ee7b700;opacity:.5}0%{box-shadow:0 0 0 0 #6ee7b799}}
.jv-jh-cta2__card ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.jv-jh-cta2__card li{display:flex;align-items:center;gap:12px;padding:13px 16px;border-radius:14px;background:#ffffff0f;color:#e8eefc;font-weight:500;animation:jhcli .6s both;animation-delay:calc(var(--i) * .25s + .3s)}
@keyframes jhcli{from{opacity:0;transform:translateX(16px)}to{opacity:1;transform:none}}
.jv-jh-cta2__card u{flex:none;position:relative;width:22px;height:22px;border-radius:50%;background:var(--jv-mint)}
.jv-jh-cta2__card u::after{content:"";position:absolute;left:6px;top:6px;width:10px;height:5px;border-left:2.5px solid #06210f;border-bottom:2.5px solid #06210f;transform:rotate(-45deg)}
@media (max-width:960px){.jv-jh-cta2{grid-template-columns:minmax(0,1fr);padding:40px 24px;gap:32px}}
@media (prefers-reduced-motion:reduce){.jv-jh-cta2__card,.jv-jh-cta2__ch i,.jv-jh-cta2__card li{animation:none}}

/* ===== AVA: Chapter 04 trust ===== */
.jv-jh-trust{position:relative}
.jv-jh-tr{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;align-items:stretch}
.jv-jh-tr__meter,.jv-jh-tr__side{padding:30px;border-radius:26px;border:1px solid var(--jv-border);background:var(--jv-surface);box-shadow:0 24px 50px -34px #0a133055}
.jv-jh-tr__row{display:grid;grid-template-columns:120px minmax(0,1fr) 48px;gap:14px;align-items:center;margin-bottom:18px;font-weight:600;color:var(--jv-navy)}
.jv-jh-tr__row i{display:block;height:12px;border-radius:6px;background:var(--jv-canvas-soft);overflow:hidden}
.jv-jh-tr__row u{display:block;height:100%;width:var(--w);border-radius:6px;background:linear-gradient(90deg,var(--jv-mint),var(--jv-mint-strong));transform-origin:left;transform:scaleX(0);transition:transform 1.1s cubic-bezier(.2,.7,.2,1) .2s}
.jv-jh-tr__row u.is-low{background:linear-gradient(90deg,#f87171,#ef4444)}
.jv-jh-tr__row u.is-mid{background:linear-gradient(90deg,#fbbf24,#f59e0b)}
.jv-rv.is-in .jv-jh-tr__row u,.jv-rv.in .jv-jh-tr__row u,.jv-rv.is-visible .jv-jh-tr__row u{transform:scaleX(1)}
.jv-jh-tr__row b{text-align:right;font-family:var(--jv-font-mono,monospace)}
.jv-jh-tr__cap{margin:22px 0 0;padding-top:16px;border-top:1px dashed var(--jv-border);color:#64708f}
.jv-jh-tr__side h3{margin:0 0 18px;color:var(--jv-navy);font-size:1.3rem}
.jv-jh-tr__flags{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:10px}
.jv-jh-tr__flags li{padding:9px 14px;border-radius:999px;border:1px solid #f8b4b4;background:#fff1f1;color:#b42318;font-weight:600;font-size:.9rem;animation:jhflag 3.2s ease-in-out infinite;animation-delay:calc(var(--i) * .25s)}
@keyframes jhflag{50%{box-shadow:0 0 0 5px #ef44441f}}
.jv-jh-tr__rules{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:24px}
.jv-jh-tr__rules article{padding:26px;border-radius:22px;border:1px solid var(--jv-border);background:var(--jv-surface)}
.jv-jh-tr__rules article>span{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:var(--jv-mint-soft);margin-bottom:14px}
.jv-jh-tr__rules svg{width:20px;height:20px;fill:none;stroke:var(--jv-mint-strong);stroke-width:2.6}
.jv-jh-tr__rules h3{margin:0 0 6px;color:var(--jv-navy);font-size:1.1rem}.jv-jh-tr__rules p{margin:0;color:#64708f;line-height:1.55}
html.dark .jv-jh-tr__flags li{background:#3a1717;border-color:#7f2a2a;color:#fca5a5}
@media (max-width:960px){.jv-jh-tr{grid-template-columns:minmax(0,1fr)}.jv-jh-tr__rules{grid-template-columns:minmax(0,1fr)}.jv-jh-tr__row{grid-template-columns:96px minmax(0,1fr) 44px}}
@media (prefers-reduced-motion:reduce){.jv-jh-tr__flags li{animation:none}.jv-jh-tr__row u{transition:none;transform:none}}

/* ===== Shared: spotlight chapter, combo chapter, flow lines ===== */
.mxv-flow{stroke-dasharray:10 12;animation:mxflow 1s linear infinite}
.mxv-flow--r{animation-direction:reverse}
@keyframes mxflow{to{stroke-dashoffset:-22}}
.jv-jh-spot__in{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:32px;align-items:center}
.jv-jh-spot__l{list-style:none;margin:0;padding:0;display:grid;gap:14px}
.jv-jh-spot__l li{display:flex;gap:14px;padding:18px 20px;border-radius:18px;border:1px solid var(--jv-border);background:var(--jv-surface)}
.jv-jh-spot__l li>span{flex:none;display:grid;place-items:center;width:36px;height:36px;border-radius:11px;background:var(--jv-mint-soft)}
.jv-jh-spot__l svg{width:18px;height:18px;fill:none;stroke:var(--jv-mint-strong);stroke-width:2.6}
.jv-jh-spot__l b{display:block;margin-bottom:4px;color:var(--jv-navy)}.jv-jh-spot__l div{color:#64708f;line-height:1.5}
.jv-jh-spot .jv-jh-tr__rules{margin-top:28px}
.jv-jh-mx__danger{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:8px}
.jv-jh-mx__danger article{padding:24px;border-radius:20px;border:1px solid #ff8a4c55;background:linear-gradient(160deg,#ff8a4c1c,#ffffff05)}
.jv-jh-mx__danger article>span{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:#ff8a4c26;margin-bottom:12px}
.jv-jh-mx__danger svg{width:22px;height:22px;fill:none;stroke:#ff8a4c;stroke-width:2.2}
.jv-jh-mx__danger h3{margin:0 0 6px;color:#fff;font-size:1.1rem}.jv-jh-mx__danger p{margin:0;color:#c3d0f0;line-height:1.55}
.jv-jh-mx__loop{margin-top:32px}
.jv-jh-mx__steps{list-style:none;margin:28px 0 0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;counter-reset:s}
.jv-jh-mx__steps li{display:grid;gap:10px;padding:18px;border-radius:18px;border:1px solid #ffffff22;background:#ffffff0d;color:#dbe5ff;line-height:1.45}
.jv-jh-mx__steps b{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:linear-gradient(135deg,var(--jv-mint),var(--jv-mint-strong));color:#06210f}
.jv-jh-mx__note{display:flex;flex-wrap:wrap;gap:20px;align-items:center;justify-content:space-between;margin-top:28px;padding:24px 28px;border-radius:22px;border:1px solid #6ee7b755;background:linear-gradient(135deg,#6ee7b71f,#ffffff08)}
.jv-jh-mx__note strong{display:block;color:#fff;font:700 1.25rem var(--jv-font-display);margin-bottom:4px}.jv-jh-mx__note span{color:#c9d6f5;line-height:1.55}.jv-jh-mx__note div{max-width:64ch}
.jv-jh-mx .jv-btn--primary{background:linear-gradient(135deg,var(--jv-mint),var(--jv-mint-strong));border-color:transparent;color:#06210f}.jv-jh-mx .jv-btn--primary svg{stroke:#06210f}
@media (max-width:960px){.jv-jh-spot__in{grid-template-columns:minmax(0,1fr)}.jv-jh-mx__danger{grid-template-columns:minmax(0,1fr)}.jv-jh-mx__steps{grid-template-columns:minmax(0,1fr)}.jv-jh-mx__steps li{grid-template-columns:30px minmax(0,1fr);align-items:center}}
@media (prefers-reduced-motion:reduce){.mxv-flow{animation:none}}

.jv-jh-mx__btns{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
