:root{
  --zv-ink:#0b1930;
  --zv-muted:#5d6b82;
  --zv-blue:#1f62e8;
  --zv-cyan:#13a9e8;
  --zv-green:#19b879;
  --zv-line:#dce6f3;
  --zv-soft:#f4f8fd;
  --zv-soft-blue:#eaf3ff;
  --zv-card-radius:26px;
  --zv-shadow:0 18px 50px rgba(24,62,115,.10);
}

html{scroll-padding-top:92px}
body.zv-enabled{color:var(--zv-ink);background:#f7f9fc}
body.zv-enabled main{overflow:hidden}
body.zv-enabled [data-reveal]{opacity:1!important;visibility:visible!important;transform:none!important}

.zv-page-progress{position:fixed;z-index:1200;top:0;left:0;width:100%;height:3px;pointer-events:none}
.zv-page-progress span{display:block;width:0;height:100%;background:linear-gradient(90deg,var(--zv-blue),var(--zv-cyan),var(--zv-green));transition:width .08s linear}

body.zv-enabled .za-hero{
  position:relative;
  overflow:hidden;
  padding:68px 0 62px;
  color:var(--zv-ink);
  background:
    radial-gradient(circle at 84% 14%,rgba(68,151,255,.22),transparent 30%),
    radial-gradient(circle at 20% 100%,rgba(18,192,206,.11),transparent 34%),
    linear-gradient(135deg,#f8fbff 0%,#eaf3ff 56%,#f4f9ff 100%);
}
body.zv-enabled .za-hero:before{position:absolute;inset:auto -6% -54% auto;width:520px;height:520px;border:1px solid rgba(31,98,232,.12);border-radius:50%;content:""}
body.zv-enabled .za-hero h1{max-width:820px;color:var(--zv-ink);font-size:clamp(44px,5vw,70px);line-height:1.04;letter-spacing:-.04em}
body.zv-enabled .za-hero p{max-width:700px;color:#4f6078;font-size:19px;line-height:1.58}
body.zv-enabled .za-eyebrow{color:#1a5bd7;background:#e1edff;border-color:#c8dcff}
body.zv-enabled .za-hero-card{
  position:relative;
  overflow:hidden;
  padding:18px;
  color:var(--zv-ink);
  background:rgba(255,255,255,.92);
  border:1px solid rgba(255,255,255,.96);
  border-radius:30px;
  box-shadow:0 28px 80px rgba(35,81,145,.18);
}
body.zv-enabled .za-hero-card h2{color:var(--zv-ink);font-size:22px}
body.zv-enabled .za-hero-card li{padding:12px 14px;color:#243754;background:#f2f6fc;border-color:#e4ebf5;border-radius:15px}
body.zv-enabled .za-hero-card a{color:#174fbd}
body.zv-enabled .za-hero-card .za-btn--primary{color:#fff}
.zv-hero-media{position:relative;margin:0 0 18px;overflow:hidden;aspect-ratio:3/2;border-radius:22px;background:#e9f1fb}
.zv-hero-media:after{position:absolute;inset:0;box-shadow:inset 0 0 0 1px rgba(15,46,92,.06);border-radius:inherit;content:""}
.zv-hero-media img{display:block;width:100%;height:100%;object-fit:cover}

.zv-summary-strip{position:relative;z-index:5;margin:-22px auto 0;padding:0 22px;max-width:1240px}
.zv-summary-strip__inner{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:14px;background:rgba(255,255,255,.94);border:1px solid #e4ebf5;border-radius:24px;box-shadow:0 18px 45px rgba(31,75,136,.13);backdrop-filter:blur(16px)}
.zv-summary-item{display:grid;grid-template-columns:46px 1fr;gap:12px;align-items:center;min-width:0;padding:10px 12px;border-radius:17px}
.zv-summary-item+ .zv-summary-item{border-left:1px solid #e4ebf5}
.zv-summary-item strong{display:block;margin:0 0 3px;font-size:15px;line-height:1.25}
.zv-summary-item small{display:block;color:var(--zv-muted);font-size:13px;line-height:1.35}

.zv-card-icon{display:grid;place-items:center;flex:0 0 auto;width:48px;height:48px;margin:0 0 16px;color:#165fd8;background:linear-gradient(145deg,#e1edff,#f5f9ff);border:1px solid #cfe0fb;border-radius:16px;box-shadow:0 10px 24px rgba(31,98,232,.10)}
.zv-card-icon svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.zv-summary-item .zv-card-icon{width:42px;height:42px;margin:0;border-radius:14px}
.zv-summary-item .zv-card-icon svg{width:22px;height:22px}

body.zv-enabled .za-section{padding:58px 0}
body.zv-enabled .za-section.zv-tone-white{background:#fff}
body.zv-enabled .za-section.zv-tone-soft{background:var(--zv-soft)}
body.zv-enabled .za-section.zv-tone-blue{background:linear-gradient(135deg,#edf5ff,#f7fbff)}
body.zv-enabled .za-section h2{font-size:clamp(32px,3.5vw,48px);line-height:1.05}
body.zv-enabled .za-section__lead{max-width:720px;color:var(--zv-muted);font-size:18px;line-height:1.55}
body.zv-enabled .zc-section-head{grid-template-columns:58px minmax(0,1fr);gap:18px;align-items:start}
body.zv-enabled .zc-section-head>span{display:grid;place-items:center;width:50px;height:50px;padding:0;color:#155bd2;background:#e3efff;border:1px solid #c8dcff;border-radius:17px;font-size:13px;font-weight:900;letter-spacing:.06em}

body.zv-enabled .za-card,
body.zv-enabled .zhp-priority-card,
body.zv-enabled .zhp-why-card,
body.zv-enabled .zp4-service,
body.zv-enabled .zp4-benefit{
  border-color:var(--zv-line);
  border-radius:var(--zv-card-radius);
  box-shadow:0 12px 32px rgba(24,62,115,.07);
}
body.zv-enabled .za-card{padding:24px}
body.zv-enabled .za-card:hover,
body.zv-enabled a.zhp-priority-card:hover{border-color:#bdd4f5;box-shadow:var(--zv-shadow);transform:translateY(-3px)}
body.zv-enabled .za-card,
body.zv-enabled .zhp-priority-card{transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease}
body.zv-enabled .za-card h3,
body.zv-enabled .za-card h2{color:var(--zv-ink)}
body.zv-enabled .za-card p{color:var(--zv-muted);line-height:1.58}

/* Preserve intentional dark components when alternating section tones are added. */
body.zv-enabled .za-section.zc-request,
body.zv-enabled .za-section.za-section--dark{color:#fff!important;background:#081426!important}
body.zv-enabled .zc-request h2,
body.zv-enabled .zc-request .zc-contact-list a,
body.zv-enabled .zc-request .zc-contact-list li{color:#fff!important}
body.zv-enabled .zc-request .za-section__lead{color:#bdc9da!important}
body.zv-enabled .za-card--hot h2,
body.zv-enabled .za-card--hot h3,
body.zv-enabled .za-service--blue h2,
body.zv-enabled .za-service--blue h3{color:#fff!important}
body.zv-enabled .za-card--hot p,
body.zv-enabled .za-service--blue p{color:#dbeafe!important}
body.zv-enabled .zp4-card--dark p,
body.zv-enabled .zp4-card--dark li{color:#c4d1e0!important}
body.zv-enabled .za-hero .za-btn--ghost{color:#17375e!important;background:#fff!important;border-color:#b7c9df!important}
body.zv-enabled .za-section:not(.zc-request):not(.za-section--dark) .za-btn--ghost{color:#17375e!important;background:#fff!important;border-color:#8ea6c2!important}
body.zv-enabled .rt-hero-facts span{color:#234064!important;background:rgba(255,255,255,.82);border-color:#c6d9ef!important}
body.zv-enabled .zs-footer__bottom a{color:#b8c8da!important}

/* Readability overrides for the dense legacy homepage catalog. */
body.zv-enabled .zp4-head__text p{font-size:17px;line-height:1.68}
body.zv-enabled .zp4-group__title>span{font-size:12px}
body.zv-enabled .zp4-group__title strong{font-size:20px;line-height:1.3}
body.zv-enabled .zp4-group__title p{font-size:14px;line-height:1.55}
body.zv-enabled .zp4-card small{margin-bottom:26px;font-size:12px;line-height:1.35}
body.zv-enabled .zp4-card h3{font-size:24px;line-height:1.15}
body.zv-enabled .zp4-card p{font-size:16px;line-height:1.62}
body.zv-enabled .zp4-card li{font-size:14px;line-height:1.5}
body.zv-enabled .zp4-card>b{font-size:14px;line-height:1.45}
body.zv-enabled .zp4-system__items span,
body.zv-enabled .zp4-tags span{font-size:14px;line-height:1.45}
body.zv-enabled .za-form label,
body.zv-enabled .zc-form label{font-size:14px;line-height:1.45}
body.zv-enabled .za-btn{font-size:15px;line-height:1.25}
body.zv-enabled input[type="checkbox"],body.zv-enabled input[type="radio"]{width:20px!important;height:20px!important;min-width:20px!important}
body.zv-enabled th{font-size:14px}
body.zv-enabled .zc-premium-visual__caption{margin:18px auto 0}
body.zv-enabled .zc-premium-visual__caption p{font-size:14px}
body.zv-enabled .zhp-why__identity p,
body.zv-enabled .zhp-why-card p{font-size:16px;line-height:1.62}
body.zv-enabled .zp5-case__body p{font-size:16px;line-height:1.62}
body.zv-enabled .zp5-case__body li{font-size:14px;line-height:1.5}
body.zv-enabled .zr-consent-note,
body.zv-enabled .zc-consent-note,
body.zv-enabled .zc-consent{font-size:14px;line-height:1.5}
body.zv-enabled .zr-form__submit,
body.zv-enabled .zc-button{font-size:15px;line-height:1.25}
body.zv-enabled .zab-tags li{font-size:14px}

.zv-case-cover{position:relative;margin:-24px -24px 20px;overflow:hidden;aspect-ratio:16/9;border-radius:25px 25px 16px 16px;background:#e9f1fb}
.zv-case-cover img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .45s ease}
.zc-case-index:hover .zv-case-cover img{transform:scale(1.035)}

.zv-visual-break{padding:18px 0 56px;background:var(--zv-soft)}
.zv-visual-break__inner{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:34px;align-items:center;overflow:hidden;padding:24px;background:#fff;border:1px solid var(--zv-line);border-radius:32px;box-shadow:var(--zv-shadow)}
.zv-visual-break__media{overflow:hidden;aspect-ratio:3/2;border-radius:24px;background:#e9f1fb}
.zv-visual-break__media img{display:block;width:100%;height:100%;object-fit:cover}
.zv-visual-break__copy>span{display:inline-flex;margin-bottom:12px;padding:7px 10px;color:#155bd2;background:#e6f0ff;border-radius:999px;font-size:12px;font-weight:850}
.zv-visual-break__copy h2{margin:0 0 14px;font-size:clamp(28px,3vw,42px);line-height:1.06;letter-spacing:-.035em}
.zv-visual-break__copy p{max-width:580px;margin:0 0 18px;color:var(--zv-muted);font-size:17px;line-height:1.6}
.zv-visual-break__points{display:flex;flex-wrap:wrap;gap:9px;margin:0;padding:0;list-style:none}
.zv-visual-break__points li{padding:9px 12px;color:#24415f;background:#f1f6fc;border:1px solid #e0e9f4;border-radius:999px;font-size:13px;font-weight:750}

.zv-inline-visual{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(280px,.62fr);gap:0;align-items:stretch;width:min(1196px,calc(100% - 32px));margin:20px auto 58px;overflow:hidden;background:#fff;border:1px solid var(--zv-line);border-radius:30px;box-shadow:var(--zv-shadow)}
.zv-inline-visual img{display:block;width:100%;height:100%;min-height:320px;object-fit:cover;background:#e9f1fb}
.zv-inline-visual figcaption{display:flex;flex-direction:column;justify-content:center;padding:34px;background:linear-gradient(145deg,#f8fbff,#edf5ff)}
.zv-inline-visual figcaption span{margin-bottom:12px;color:#155bd2;font-size:12px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.zv-inline-visual figcaption strong{color:#17304f;font-size:22px;line-height:1.38}

.zv-motion{opacity:.86;transform:translateY(12px);transition:opacity .55s ease,transform .55s cubic-bezier(.2,.8,.2,1);transition-delay:var(--zv-delay,0ms)}
.zv-motion.zv-motion--visible{opacity:1;transform:none}
.zv-card-icon{transition:transform .24s ease,box-shadow .24s ease}
.za-card:hover .zv-card-icon,.zc-case-index:hover .zv-card-icon{box-shadow:0 14px 30px rgba(31,98,232,.18);transform:translateY(-3px) rotate(-2deg)}

.zv-grid-more{display:none;width:100%;margin:16px 0 0;padding:14px 18px;color:#155bd2;background:#eaf3ff;border:1px solid #c8dcff;border-radius:15px;font:inherit;font-weight:850}

body.zv-enabled .zc-quick-nav{border-color:#dce6f3;background:rgba(255,255,255,.93);box-shadow:0 8px 24px rgba(24,62,115,.06);backdrop-filter:blur(14px)}
body.zv-enabled .zc-quick-nav .za-container{overflow-x:auto;scrollbar-width:none}
body.zv-enabled .zc-quick-nav a{white-space:nowrap}
body.zv-enabled .zc-faq{margin-bottom:10px;border:1px solid var(--zv-line);border-radius:18px;background:#fff;box-shadow:0 8px 24px rgba(24,62,115,.05)}
body.zv-enabled .zc-faq summary{padding:18px 20px;font-size:17px}
body.zv-enabled .zc-faq p{padding:0 20px 20px;line-height:1.65}
body.zv-enabled table{display:block;max-width:100%;overflow-x:auto;border-collapse:separate;border-spacing:0;border:1px solid var(--zv-line);border-radius:18px;background:#fff}
body.zv-enabled th{background:#eaf3ff;color:#17375e}
body.zv-enabled th,body.zv-enabled td{padding:14px 16px;line-height:1.45}
body.zv-enabled main section>.za-container>p,
body.zv-enabled .zc-case-prose,
body.zv-enabled .zc-article-body p{max-width:72ch;color:#35465f;font-size:18px;line-height:1.72}

body.zv-enabled .zhp-priority,
body.zv-enabled .zhp-deadlines,
body.zv-enabled .zhp-person,
body.zv-enabled .zhp-why,
body.zv-enabled .zhp-catalog,
body.zv-enabled .zp4-services,
body.zv-enabled .zp4-automation,
body.zv-enabled .zp5-cases,
body.zv-enabled .zr-request,
body.zv-enabled .zr-contacts{padding-top:72px!important;padding-bottom:72px!important}
body.zv-enabled .zhp-priority-card{position:relative;overflow:hidden}
body.zv-enabled .zhp-priority-card .zv-card-icon{margin-bottom:22px}
body.zv-enabled .zhp-hero__lead{max-width:650px;line-height:1.62}
body.zv-enabled .zhp-person__copy p{max-width:62ch;font-size:18px;line-height:1.7}
body.zv-enabled .zc-cases-index{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}

.zv-price-toggle{display:none;width:100%;margin:10px 0 22px;padding:12px 16px;color:#155bd2;background:#eaf3ff;border:1px solid #c8dcff;border-radius:14px;font:inherit;font-weight:800}
body.zv-enabled .zc-consent{font-size:14px!important;line-height:1.55!important}

@media(max-width:900px){
  .zv-summary-strip{margin:0;padding:14px 16px;background:#eef5ff}
  .zv-summary-strip__inner{grid-template-columns:1fr}
  .zv-summary-item+ .zv-summary-item{border-top:1px solid #e4ebf5;border-left:0}
  .zv-visual-break__inner{grid-template-columns:1fr;gap:22px}
  body.zv-enabled .za-hero__grid{grid-template-columns:1fr}
  body.zv-enabled .zc-cases-index{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media(max-width:600px){
  html{scroll-padding-top:74px}
  body.zv-enabled .za-hero{padding:44px 0 38px}
  body.zv-enabled .za-hero h1{font-size:clamp(36px,11vw,48px)}
  body.zv-enabled .za-hero p{font-size:17px}
  body.zv-enabled .za-hero-card{padding:14px;border-radius:24px}
  .zv-hero-media{margin-bottom:14px;border-radius:18px}
  body.zv-enabled .za-section{padding:44px 0}
  body.zv-enabled .za-section h2{font-size:32px}
  body.zv-enabled .zc-section-head{grid-template-columns:42px minmax(0,1fr);gap:12px}
  body.zv-enabled .zc-section-head>span{width:38px;height:38px;border-radius:13px;font-size:11px}
  body.zv-enabled .za-card{padding:20px;border-radius:22px}
  .zv-case-cover{margin:-20px -20px 17px;border-radius:21px 21px 14px 14px}
  .zv-visual-break{padding:12px 0 44px}
  .zv-visual-break__inner{padding:16px;border-radius:24px}
  .zv-visual-break__media{border-radius:18px}
  .zv-visual-break__copy h2{font-size:30px}
  body.zv-enabled .zhp-priority,
  body.zv-enabled .zhp-deadlines,
  body.zv-enabled .zhp-person,
  body.zv-enabled .zhp-why,
  body.zv-enabled .zhp-catalog,
  body.zv-enabled .zp4-services,
  body.zv-enabled .zp4-automation,
  body.zv-enabled .zp5-cases,
  body.zv-enabled .zr-request,
  body.zv-enabled .zr-contacts{padding-top:52px!important;padding-bottom:52px!important}

  body.zv-enabled .zc-catalog-grid,
  body.zv-enabled .zc-cases-index,
  body.zv-enabled .za-section .za-grid-3,
  body.zv-enabled .za-section .za-grid-4,
  body.zv-enabled .zhp-priority__grid,
  body.zv-enabled .zhp-why__grid,
  body.zv-enabled .zhp-catalog__grid,
  body.zv-enabled .zp4-grid,
  body.zv-enabled .zp4-benefits{display:grid!important;grid-template-columns:1fr!important;grid-auto-flow:row!important;gap:14px!important;margin-right:0;padding:0;overflow:visible}
  body.zv-enabled .zc-cases-index .zc-case-index{height:auto}
  .zv-more-hidden{display:none!important}
  .zv-grid-more{display:block}
  .zv-inline-visual{grid-template-columns:1fr;width:calc(100% - 32px);margin:12px auto 44px;border-radius:24px}
  .zv-inline-visual img{min-height:0;aspect-ratio:3/2}
  .zv-inline-visual figcaption{padding:22px}
  .zv-inline-visual figcaption strong{font-size:19px}
  body.zv-enabled .zc-mica-flow__brand,
  body.zv-enabled .zc-mica-flow__branches,
  body.zv-enabled .zc-mica-flow__site{margin-bottom:34px}
  body.zv-enabled .zc-cycle i,
  body.zv-enabled .zc-rado-process i,
  body.zv-enabled .zab-story-card__shift i,
  body.zv-enabled .zab-systems i{display:block;min-height:24px;margin:8px 0;line-height:24px}
  body.zv-enabled .zp-price-group.zv-price-collapsed .zp-table-wrap{position:relative;max-height:430px;overflow:hidden}
  body.zv-enabled .zp-price-group.zv-price-collapsed .zp-table-wrap:after{position:absolute;right:0;bottom:0;left:0;height:110px;background:linear-gradient(transparent,#fff);pointer-events:none;content:""}
  .zv-price-toggle{display:block}
}

@media(prefers-reduced-motion:reduce){
  .zv-page-progress span,.za-card,.zhp-priority-card,.zv-case-cover img,.zv-motion,.zv-card-icon{transition:none!important;animation:none!important;transform:none!important;opacity:1!important}
}

/* Long gallery labels must not overlap case titles. */
body.zv-enabled .zc-case-screenshots-section .zc-section-head>span{
  width:auto;
  min-width:50px;
  padding:0 12px;
  white-space:nowrap;
  letter-spacing:0;
}

@media(max-width:720px){
  body.zv-enabled .zc-case-screenshots-section .zc-section-head>span{
    width:auto;
    min-width:38px;
  }
}
