/* Brand polish based on the supplied shield and heartbeat identity. */
body.jvs-home .jvs-commitment{background:#102f43;color:#fff;padding:90px 0}
.jvs-commitment-heading{display:grid;grid-template-columns:1.1fr 1fr;gap:70px;align-items:center}
.jvs-commitment .jvs-eyebrow{color:#a8dcca}
.jvs-commitment h2{font-size:clamp(36px,4vw,56px);margin:0;line-height:1.12;color:#fff}
.jvs-commitment h2 em{font-style:normal;color:#bce6ce}
.jvs-commitment-heading p{font-size:18px;line-height:1.75;color:#d5e2e9;margin:0 0 16px}
.jvs-commitment-heading .jvs-welcome{font-size:14px;color:#bce6ce}
.jvs-principles{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;margin:50px 0}
.jvs-principles article{border-top:1px solid #587282;padding-top:24px}
.jvs-principle-number{font-size:11px;letter-spacing:.12em;color:#bce6ce}
.jvs-principles h3{font-size:23px;line-height:1.25;margin:17px 0 12px;color:#fff}
.jvs-principles p{color:#d5e2e9;line-height:1.75;font-size:15px;margin:0}
.jvs-transparency{display:grid;grid-template-columns:1fr 1.4fr;gap:60px;background:#ffffff09;border:1px solid #526c7c;border-radius:18px;padding:36px}
.jvs-transparency h3{font-size:32px;color:#fff;margin:0 0 20px}
.jvs-transparency .jvs-text-link{color:#c6efda;border-color:#82ad9b}
.jvs-transparency dl{margin:0}.jvs-transparency dl>div{display:grid;grid-template-columns:110px 1fr;gap:20px;padding:17px 0;border-bottom:1px solid #526c7c}.jvs-transparency dl>div:first-child{padding-top:0}.jvs-transparency dl>div:last-child{border:0;padding-bottom:0}.jvs-transparency dt{font-weight:700;color:#fff}.jvs-transparency dd{margin:0;color:#d5e2e9;font-size:15px}
@media(max-width:700px){.jvs-home .jvs-commitment{padding:55px 0}.jvs-commitment-heading,.jvs-principles,.jvs-transparency{grid-template-columns:1fr;gap:26px}.jvs-principles{margin:32px 0}.jvs-transparency{padding:24px}.jvs-transparency dl>div{grid-template-columns:1fr;gap:5px}.jvs-commitment-heading p{font-size:16px}}
/* Full-page brand stage: the artwork stays behind readable, interactive content. */
body.jvs-home{background:#edf5f8;isolation:isolate}
.jvs-brand-background{position:fixed;inset:0;z-index:-1;overflow:hidden;pointer-events:none;background:radial-gradient(ellipse at 85% 20%,#cee8dd,transparent 60%),linear-gradient(135deg,#e7f1fa,#f4f9fc 55%,#e1f0ec)}
.jvs-background-logo{position:absolute;width:min(90vw,85vh,950px);width:min(90vw,85svh,950px);aspect-ratio:1;left:50%;top:50%;transform:translate(-50%,-50%);opacity:.32;mix-blend-mode:normal}
.jvs-background-logo img{display:block;width:100%;height:100%;object-fit:contain}
.jvs-background-logo::after{content:'';position:absolute;inset:22% 24% 25%;pointer-events:none;opacity:0;background:linear-gradient(110deg,transparent 30%,#ffffffb3 49%,transparent 68%);clip-path:inset(0);transform:translateX(-70%)}
.jvs-background-pulse{position:absolute;inset:0;opacity:0;background:linear-gradient(105deg,transparent 35%,#42b6a733 48%,#4c93ce33 52%,transparent 65%)}
.jvs-home .jvs-hero{background:transparent}
/* Keep light sections clear: stacking translucent fills here bleaches the logo. */
.jvs-home .jvs-section,.jvs-home .jvs-process,.jvs-home .jvs-review{background:transparent}
/* Color-only readability treatment; preserve the original layout and spacing. */
.jvs-home .jvs-process .jvs-section-heading,
.jvs-home .jvs-process .jvs-steps article,
.jvs-home .jvs-review-grid>div:first-child,
.jvs-home .jvs-answer-grid>div{background-color:#f7fbfd;box-shadow:0 0 24px 18px #f7fbfd}
/* One opening sequence: reveal, light sweep, then rest. Never loops or blocks content. */
@media(prefers-reduced-motion:no-preference){
  .jvs-background-logo{animation:jvs-background-arrive 7s cubic-bezier(.25,.1,.25,1) both}
  .jvs-background-logo::after{animation:jvs-background-shimmer 3.8s linear 1.8s both}
  .jvs-background-pulse{animation:jvs-background-wave 6s linear .4s both}
}
@keyframes jvs-background-arrive{from{opacity:0;transform:translate(-50%,-49%) scale(.97)}to{opacity:.32;transform:translate(-50%,-50%) scale(1)}}
@keyframes jvs-background-shimmer{0%{opacity:0;transform:translateX(-70%)}25%{opacity:.18}50%{opacity:.36}75%{opacity:.18}100%{opacity:0;transform:translateX(70%)}}
@keyframes jvs-background-wave{0%{opacity:0;transform:translateX(-60%)}25%{opacity:.16}50%{opacity:.32}75%{opacity:.16}100%{opacity:0;transform:translateX(60%)}}
:root{--jvs-ink:#142d49;--jvs-green:#156b82;--jvs-lime:#c3eecb;--jvs-mist:#f0f7fa;--jvs-muted:#4e6475;--jvs-line:#d5e3e9}
.jvs-topbar{background:linear-gradient(100deg,#233f81,#167d91 65%,#4d9759)}
.jvs-logo-mark{display:block;position:relative;width:53px;height:50px;overflow:hidden;flex-shrink:0;background:#fff}
.jvs-logo-mark img{position:absolute;width:160px;max-width:none;height:160px;left:-54px;top:-44px;mix-blend-mode:multiply}
.brand-name{color:#203747}.brand-name small{color:#267d96;letter-spacing:.16em}.nav .nav-in{min-height:90px}
.nav .nav-cta,.button{background:linear-gradient(110deg,#245295,#147d90);border-color:transparent;box-shadow:0 6px 18px #175c8c15;transition:transform .2s,box-shadow .2s,filter .2s}
.button:hover,.nav .nav-cta:hover{background:linear-gradient(110deg,#1e4783,#106778);box-shadow:0 10px 22px #175c8c26;transform:translateY(-3px)}
.button.secondary{background:#fff;border-color:var(--jvs-line);color:var(--jvs-green)}
.jvs-hero{position:relative;background:radial-gradient(ellipse at 100% 0%,#dcefe3 0,transparent 48%),radial-gradient(ellipse at 0% 100%,#dcebf7 0,transparent 50%),#f7fbfc;padding-top:66px;padding-bottom:80px}
.jvs-hero h1 em{color:#21798b;background:linear-gradient(100deg,#275392 5%,#137e92 55%,#3c8e57);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.jvs-hero .jvs-eyebrow{color:#21667e}.jvs-hero-notes{color:#405e70}.jvs-hero-grid{gap:70px}
.jvs-brand-visual{background:#e4eff3;border:7px solid #fff;border-radius:28px;box-shadow:0 24px 65px #1e4f7420;transform:rotate(1deg);isolation:isolate}
.jvs-brand-visual>img{border-radius:20px 20px 0 0}
.jvs-brand-visual .jvs-portrait-label{background:#fff;border:1px solid #dbe9ee;box-shadow:0 14px 35px #193f6c1a;border-radius:13px;left:-35px;bottom:48px;right:45px;transform:rotate(-1deg);padding:19px 22px}
.jvs-brand-visual .jvs-portrait-label strong{color:#183653}.jvs-brand-symbol{color:#2b8a7f}
.jvs-brand-visual .jvs-portrait-caption{color:#4b6472;bottom:10px;font-size:9px}
.jvs-logo-seal{position:absolute;top:24px;right:-20px;width:148px;height:154px;background:#fff;border:1px solid #e3e9ee;border-radius:18px;overflow:hidden;box-shadow:0 12px 35px #173c6521;transform:rotate(-1deg)}
.jvs-logo-seal>img{position:absolute;width:300px;max-width:none;height:300px;left:-76px;top:-79px}
.jvs-logo-seal::after{content:'';position:absolute;inset:0;background:linear-gradient(105deg,transparent 35%,#ffffffc9 49%,transparent 63%);transform:translateX(-140%);pointer-events:none;animation:jvs-logo-shine 1.6s ease .5s 2}
.jvs-value-bar{background:linear-gradient(100deg,#e5f1fa,#e0f3ed,#e8f4df);border-block:1px solid #d6e9e8;color:#24566b}
.jvs-coverage-feature{background:linear-gradient(140deg,#173859,#176779);border-radius:18px;box-shadow:0 10px 35px #1b4e7110}
.jvs-coverage-stack>a{background:linear-gradient(125deg,#e7f1fa,#f0f7fc);border:1px solid #dbe8f1;border-radius:18px}
.jvs-coverage-stack>a:nth-child(2){background:linear-gradient(125deg,#e9f4eb,#f5f9ec);border-color:#e0eadb}
.jvs-coverage-feature,.jvs-coverage-stack>a{transition:transform .25s,box-shadow .25s}.jvs-coverage-feature:hover,.jvs-coverage-stack>a:hover{transform:translateY(-5px);box-shadow:0 18px 35px #17466419}
.jvs-card-link b{transition:transform .2s}.jvs-coverage-feature:hover .jvs-card-link b,.jvs-coverage-stack>a:hover .jvs-card-link b{transform:translate(3px,-3px)}
.jvs-process{background:#f2f7fa}.jvs-steps article{border-top:2px solid #c4dce4}.jvs-steps article>span{color:#227991;font-weight:600}.jvs-form-card{background:linear-gradient(140deg,#f3f8fc,#f2f8f3);border-color:#d5e4e9;border-radius:18px;box-shadow:0 15px 50px #22496709}
.jvs-final{background:radial-gradient(ellipse at 100% 0%,#25838466,transparent 60%),linear-gradient(125deg,#183257,#17465d)}.jvs-final .button{background:#fff;border-color:#fff;color:#195775}.jvs-final .button:hover{background:#e7f5f4}.jvs-footer{background:#10273b}.jvs-footer-bottom{border-color:#355063}
.jvs-enter{opacity:1;transform:translateY(20px);transition:transform .7s cubic-bezier(.2,.7,.2,1)}.jvs-entered{transform:none}
@keyframes jvs-logo-shine{0%{transform:translateX(-140%)}70%,100%{transform:translateX(140%)}}
@keyframes jvs-hero-in{from{opacity:.25;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:no-preference){.jvs-hero-copy{animation:jvs-hero-in .7s ease both}.jvs-brand-visual{animation:jvs-hero-in .9s ease both}}
@media(max-width:900px){.nav .nav-in{min-height:76px}.jvs-hero-grid{gap:36px}.jvs-logo-seal{width:118px;height:123px;right:-10px;top:18px}.jvs-logo-seal>img{width:240px;height:240px;left:-61px;top:-63px}.jvs-brand-visual .jvs-portrait-label{left:-15px;right:15px}.jvs-logo-mark{transform:scale(.86);transform-origin:left center;margin-right:-6px}}
@media(max-width:650px){.jvs-hero{padding-top:35px;padding-bottom:40px}.jvs-brand-visual{border-width:5px;transform:none;width:calc(100% - 8px);margin:14px 4px 0;border-radius:21px}.jvs-brand-visual>img{border-radius:16px 16px 0 0}.jvs-logo-seal{top:14px;right:10px;width:96px;height:100px;border-radius:12px}.jvs-logo-seal>img{width:195px;height:195px;left:-50px;top:-51px}.jvs-brand-visual .jvs-portrait-label{left:10px;right:10px;bottom:43px;transform:none;padding:14px}.jvs-brand-visual .jvs-portrait-label strong{font-size:16px}.jvs-brand-visual .jvs-portrait-label div>span{font-size:11px}.jvs-brand-visual .jvs-portrait-caption{font-size:8px;left:15px;letter-spacing:.1em}.jvs-hero-grid{gap:24px}.jvs-coverage-stack>a{border-radius:12px}}
.jvs-motion-logo{width:180px;height:198px;cursor:pointer;padding:0;appearance:none;color:#286478;isolation:isolate;overflow:hidden;box-shadow:0 15px 45px #1a446333,0 0 0 5px #ffffff55}
.jvs-motion-logo::after{animation:none;transform:translateX(-140%)}
.jvs-motion-logo::before{content:'';position:absolute;z-index:2;left:22%;top:3%;width:56%;height:53%;border:1px solid #3eac97;border-radius:50%;opacity:0;pointer-events:none}
.jvs-logo-shield,.jvs-logo-wordmark{position:absolute;inset:0 0 14px;overflow:hidden;display:block;pointer-events:none}
.jvs-logo-shield{clip-path:inset(0 0 38% 0)}.jvs-logo-wordmark{clip-path:inset(62% 0 0 0)}
.jvs-logo-shield img,.jvs-logo-wordmark img{position:absolute;width:203%;max-width:none;height:auto;left:-51.35%;top:-51.3%;display:block}
.jvs-logo-replay{position:absolute;bottom:7px;left:0;right:0;font:500 10px 'DM Sans',sans-serif;letter-spacing:.07em;color:#526c7c;text-align:center;line-height:1}
.jvs-heartbeat-spark{position:absolute;width:5px;height:5px;background:#fff;border-radius:50%;box-shadow:0 0 3px 2px #4fb9a3,0 0 13px 4px #278ec9;left:17%;top:27%;opacity:0;pointer-events:none;z-index:4}
.jvs-logo-playing .jvs-logo-shield{animation:jvs-shield-reveal 1.1s cubic-bezier(.16,1,.3,1) both}
.jvs-logo-playing .jvs-logo-wordmark{animation:jvs-name-reveal .65s ease 1.6s both}
.jvs-logo-playing .jvs-heartbeat-spark{animation:jvs-heartbeat-trace 1.2s linear .75s both}
.jvs-logo-playing::before{animation:jvs-energy-ring 1.4s ease .7s both}
.jvs-logo-playing::after{animation:jvs-logo-shine 1.3s ease 2.1s both}
.jvs-motion-logo{background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.4);backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:none;isolation:auto;mix-blend-mode:multiply;opacity:.88}
.jvs-motion-logo .jvs-logo-shield,.jvs-motion-logo .jvs-logo-wordmark{mix-blend-mode:multiply}
.jvs-logo-replay{color:#183d52;text-shadow:0 1px 4px #ffffffb3}
.jvs-motion-logo:hover{background:rgba(255,255,255,.48);box-shadow:0 12px 32px #173c6520}.jvs-motion-logo:focus-visible{outline:3px solid #246a9b;outline-offset:7px}
@keyframes jvs-shield-reveal{0%{opacity:0;transform:translateY(12px) scale(.84);filter:blur(5px)}60%{opacity:1;filter:blur(0)}100%{opacity:1;transform:none;filter:none}}
@keyframes jvs-name-reveal{from{opacity:0;transform:translateY(7px);filter:blur(3px)}to{opacity:1;transform:none;filter:none}}
@keyframes jvs-energy-ring{0%{opacity:0;transform:scale(.7)}20%{opacity:.5}100%{opacity:0;transform:scale(1.5)}}
@keyframes jvs-heartbeat-trace{0%{left:17%;top:25%;opacity:0}5%{opacity:1}35%{left:42%;top:25%}47%{left:47%;top:13%}59%{left:52%;top:37%}70%{left:55%;top:25%}95%{left:83%;top:25%;opacity:1}100%{left:83%;top:25%;opacity:0}}
@media(max-width:900px){.jvs-motion-logo{width:150px;height:165px}}
@media(max-width:650px){.jvs-motion-logo{width:120px;height:133px;right:10px;top:12px}.jvs-logo-replay{font-size:9px;bottom:5px}.jvs-logo-shield,.jvs-logo-wordmark{bottom:11px}}
@media(prefers-reduced-motion:reduce){.jvs-enter,.jvs-brand-visual,.jvs-hero-copy{transform:none;animation:none!important;transition:none!important}.jvs-logo-seal::after,.jvs-motion-logo::before,.jvs-heartbeat-spark{display:none}.jvs-logo-shield,.jvs-logo-wordmark{animation:none!important;opacity:1!important;transform:none!important;filter:none!important}.button,.jvs-coverage-feature,.jvs-coverage-stack>a,.jvs-card-link b{transition:none}.button:hover,.jvs-coverage-feature:hover,.jvs-coverage-stack>a:hover{transform:none}}
