/* Xivo — Financial Signal card section (v3.2.9). Prefix: xvc- */
.xvc{--navy:#15202F;--blue:#3C7ABC;--gold:#D4A24C;--muted:#666A70;
  position:relative;overflow:hidden;
  padding:clamp(64px,8vw,112px) clamp(18px,5.5vw,84px) clamp(70px,8.5vw,120px);
  background:linear-gradient(180deg,#F3F6FB 0,#EDF2F9 100%);
  font-family:'DM Sans',system-ui,-apple-system,'Segoe UI',sans-serif;color:var(--navy)}
.xvc *,.xvc *:before,.xvc *:after{box-sizing:border-box}
.xvc-wrap{max-width:1320px;margin:0 auto}

.xvc-head{max-width:760px;margin-bottom:clamp(34px,4.5vw,56px)}
.xvc-eyebrow{display:block;font-size:11px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:#4A5361}
.xvc h2#xvc-title{margin:14px 0 16px;font-family:'DM Serif Display',Georgia,serif;font-weight:400;font-size:clamp(38px,5.2vw,70px);line-height:1.03;letter-spacing:-.03em;color:var(--navy)}
.xvc h2#xvc-title em{font-style:normal;color:var(--blue)}
.xvc-head>p{margin:0;max-width:600px;font-size:clamp(15px,1.25vw,17px);line-height:1.7;color:var(--muted)}

.xvc-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(14px,1.6vw,22px)}
.xvc-card{display:flex;flex-direction:column;background:#fff;border-radius:22px;overflow:hidden;border:1px solid rgba(21,32,47,.05);
  box-shadow:0 22px 50px -26px rgba(21,32,47,.22);transition:transform .35s ease,box-shadow .35s ease}
.xvc-card:hover{transform:translateY(-5px);box-shadow:0 30px 60px -24px rgba(21,32,47,.28)}

.xvc-media{position:relative;height:176px;overflow:hidden}
.xvc-media svg{display:block;width:100%;height:100%;filter:drop-shadow(0 14px 28px rgba(21,32,47,.10))}
.xvc-m1{background:linear-gradient(90deg,#E3EDF8,#EDF0F8 55%,#E7E4F3)}
.xvc-m2{background:linear-gradient(90deg,#F6EAD3,#EEF1F8 30%,#EEF1F8 70%,#DFEAF8)}
.xvc-m3{background:linear-gradient(90deg,#E1EDF7,#EEF2F9 55%,#F6E9D8)}
.xvc-card:hover .xvc-media svg{transform:scale(1.03)}
.xvc-media svg{transition:transform .6s ease}

.xvc-body{display:flex;flex-direction:column;flex:1;padding:24px 26px 26px;min-height:250px}
.xvc-num{font-size:11px;letter-spacing:.08em;color:#8A93A1}
.xvc-body h3{margin:22px 0 14px;font-family:'DM Serif Display',Georgia,serif;font-weight:400;font-size:clamp(26px,2.3vw,32px);line-height:1.1;letter-spacing:-.01em;color:var(--navy)}
.xvc-body p{margin:0 0 24px;font-size:14px;line-height:1.7;color:var(--muted)}
.xvc-link{margin-top:auto;align-self:flex-start;font-size:12.5px;font-weight:700;color:var(--blue);text-decoration:none;display:inline-flex;gap:5px;align-items:center;transition:gap .25s ease}
.xvc-link:hover{gap:9px}
.xvc-link:focus-visible{outline:2px solid var(--blue);outline-offset:4px;border-radius:4px}

/* subtle motion: lines draw once, gauge needle settles */
.xvc-draw{stroke-dasharray:1;stroke-dashoffset:0;transition:stroke-dashoffset 1.5s ease .3s}
.xvc-d2{transition-delay:.55s}
.xvc-needle{transform-origin:265px 132px;transform:rotate(0);transition:transform 1.4s cubic-bezier(.2,.8,.2,1) .4s}
.xivo-motion-section:not(.xivo-motion-visible) .xvc-draw{stroke-dashoffset:1}
.xivo-motion-section:not(.xivo-motion-visible) .xvc-needle{transform:rotate(-70deg)}

@media(max-width:900px){
  .xvc-grid{grid-template-columns:1fr;max-width:560px}
  .xvc-media{height:auto;aspect-ratio:530/176}
  .xvc-body{min-height:0}
}
@media(max-width:600px){
  .xvc{padding:56px 16px 64px}
  .xvc h2#xvc-title{font-size:clamp(34px,10.5vw,44px)}
  .xvc h2#xvc-title br{display:none}
  .xvc-body{padding:22px 20px 22px}
}
@media(prefers-reduced-motion:reduce){
  .xvc-card,.xvc-media svg,.xvc-link,.xvc-draw,.xvc-needle{transition:none}
  .xvc-card:hover,.xvc-card:hover .xvc-media svg{transform:none}
}
