/* Audited legacy routes share the current editorial layout. */
.zu-design-refresh { color:#162943; background:#fff; }
.zu-design-refresh :is(h1,h2,h3) { font-family:Inter,sans-serif; color:#162943; font-weight:650; letter-spacing:-.035em; }
.zu-design-refresh :is(h1,h2,h3) em { color:#2563eb; font-style:normal; }
.zu-design-refresh .zu-editorial-aside h2 em { color:#b7d2ff; }
.zu-design-refresh .zu-editorial-eyebrow { display:flex; align-items:center; gap:10px; color:#62799c; font:600 10px/1.7 Inter,sans-serif; letter-spacing:1.6px; text-transform:uppercase; margin:0 0 22px; }
.zu-design-refresh a.zu-editorial-cta { display:inline-flex; align-items:center; justify-content:space-between; gap:26px; min-height:58px; padding:16px 20px; border:1px solid #2563eb; border-radius:12px; background:#2563eb; color:#fff; box-shadow:0 7px 20px #2563eb20; font:500 13px/1.5 Inter,sans-serif; text-decoration:none; transition:background .2s,transform .2s; }
.zu-design-refresh a.zu-editorial-cta:hover { background:#1d4ed8; transform:translateY(-2px); }
.zu-design-refresh .zu-editorial-number { color:#2563eb; font:500 11px/1.5 Inter,sans-serif; letter-spacing:.8px; }
.zu-design-refresh p { overflow-wrap:break-word; }
.zu-design-refresh .zu-refresh-hero { padding:26px 0 70px; background:radial-gradient(ellipse at 78% 40%,#e7f0ff 0,transparent 54%),linear-gradient(#f7faff,#fff); }
.zu-refresh-breadcrumbs { display:flex; flex-wrap:wrap; gap:12px; margin-bottom:46px; font-size:11px; color:#6680a7; }
.zu-refresh-breadcrumbs a { color:#335889; text-decoration:none; }
.zu-design-refresh .zu-refresh-hero .zu-editorial-hero { grid-template-columns:minmax(0,1.3fr) minmax(0,.8fr); gap:64px; }
.zu-design-refresh .zu-refresh-hero h1 { font-size:clamp(38px,4.4vw,64px); line-height:1.09; max-width:820px; margin:18px 0 28px; }
.zu-design-refresh .zu-refresh-hero .zu-editorial-lead { max-width:630px; }
.zu-design-refresh .zu-refresh-hero .zu-editorial-art img { height:440px; max-width:100%; width:auto; object-fit:contain; }
.zu-design-refresh .zu-refresh-case-hero .zu-editorial-art img { width:100%; height:auto; max-height:450px; border-radius:24px; box-shadow:0 20px 55px #17376416; }
.zu-refresh-section { padding:80px 0; background:#fff; }
.zu-refresh-section:nth-of-type(even) { background:#f7faff; }
.zu-refresh-section :is(h2,h3),.zu-refresh-next h2,.zu-refresh-faq h2 { font-size:clamp(27px,2.7vw,40px); line-height:1.2; margin:0 0 22px; }
.zu-refresh-row { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.35fr); gap:84px; align-items:start; }
.zu-refresh-row header { min-width:0; }
.zu-refresh-row-image { display:block; max-width:130px; max-height:150px; width:auto; height:auto; object-fit:contain; margin-top:35px; }
.zu-refresh-row-image.zu-technology-logo { width:112px; height:96px; object-position:left center; }
.zu-refresh-copy { color:#526b8c; font:400 17px/1.85 Jost,sans-serif; min-width:0; }
.zu-refresh-copy p { margin:0 0 20px; text-align:left; }
.zu-refresh-copy > :last-child { margin-bottom:0; }
.zu-refresh-copy ul,.zu-refresh-copy ol { padding-left:24px; margin:26px 0; }
.zu-refresh-copy ul { list-style:disc; }
.zu-refresh-copy ol { list-style:decimal; }
.zu-refresh-copy li { padding-left:5px; margin-bottom:10px; }
/* The imported theme hides native markers with font-size:0!important. */
.zu-refresh-copy li::marker { color:#2563eb; font-size:1em !important; }
.zu-refresh-copy strong { color:#263e60; }
.zu-refresh-copy h3 { font-size:23px; margin:28px 0 12px; }
.zu-refresh-link { display:inline-flex; align-items:center; justify-content:space-between; gap:22px; color:#2563eb; font-size:14px; font-weight:500; text-decoration:none; padding:16px 0 2px; }
.zu-design-refresh .zu-refresh-link svg,.zu-refresh-next svg { flex:0 0 19px; width:19px; height:19px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.zu-refresh-link:hover { color:#162943; }
.zu-refresh-nav { padding:20px 0 28px; background:#fff; }
.zu-refresh-nav > div { display:flex; flex-wrap:wrap; gap:10px; }
.zu-refresh-nav a { padding:11px 17px; border:1px solid #dbe6f6; border-radius:30px; color:#36567e; font-size:13px; text-decoration:none; transition:background .2s,border-color .2s; }
.zu-refresh-nav a:hover { background:#edf4ff; border-color:#94b9ff; }
.zu-design-refresh [id] { scroll-margin-top:130px; }
.zu-refresh-section-heading { margin:0 0 34px; max-width:700px; }
.zu-refresh-section-heading h2 { font-size:clamp(30px,3vw,44px); }
.zu-refresh-services { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.zu-refresh-service { display:flex; flex-direction:column; background:white; border:1px solid #dce6f5; border-radius:24px; overflow:hidden; color:inherit; text-decoration:none; transition:transform .25s,box-shadow .25s; }
.zu-refresh-card-art { display:flex; align-items:center; justify-content:center; height:210px; padding:18px; background:radial-gradient(ellipse at 50% 70%,#dceaff,transparent 65%),#f4f8ff; }
.zu-refresh-service:nth-child(3n+2) .zu-refresh-card-art { background:radial-gradient(ellipse at 50% 70%,#def3ed,transparent 65%),#f6fbfa; }
.zu-refresh-service:nth-child(3n) .zu-refresh-card-art { background:radial-gradient(ellipse at 50% 70%,#ffecda,transparent 65%),#fffaf6; }
.zu-design-refresh .zu-refresh-card-art img { height:100%; width:auto; max-width:100%; object-fit:contain; filter:drop-shadow(0 10px 12px #18334c18); }
.zu-refresh-card-copy { display:flex; flex-direction:column; flex:1; gap:15px; padding:27px; }
.zu-refresh-card-copy strong { font:600 22px/1.3 Inter,sans-serif; letter-spacing:-.03em; color:#162943; }
.zu-refresh-card-copy > span { color:#607694; font-size:16px; line-height:1.7; }
.zu-refresh-card-copy .zu-refresh-link { margin-top:auto; border-top:1px solid #e4ecf8; font-size:13px; color:#2563eb; }
.zu-refresh-service:hover { transform:translateY(-4px); box-shadow:0 16px 35px #1b467415; }
.zu-refresh-brief { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; }
.zu-refresh-brief-card { padding:32px; border:1px solid #dce6f5; border-radius:22px; background:#fff; }
.zu-refresh-brief-card h2 { font-size:24px; margin:20px 0 14px; }
.zu-refresh-brief-card p { color:#526b8c; font-size:17px; line-height:1.8; margin:0; }
.zu-refresh-gallery { padding:16px 0 65px; background:#fff; }
.zu-refresh-gallery-caption { color:#526b8c; font-size:15px; line-height:1.8; margin:0 0 24px; }
.zu-refresh-gallery-caption p { margin:0; }
.zu-refresh-image-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; }
.zu-refresh-image-grid figure { margin:0; min-width:0; padding:16px; border:1px solid #dce6f5; border-radius:22px; background:#f7faff; }
.zu-refresh-image-grid figure:only-child { grid-column:1/-1; }
.zu-refresh-image-grid figure img { display:block; width:100%; height:auto; max-height:630px; object-fit:contain; border-radius:12px; }
.zu-refresh-image-grid figcaption { font-size:13px; color:#526b8c; padding:16px 5px 2px; }
.zu-refresh-image-grid.zu-comparison-ready { display:block; position:relative; border:1px solid #dce6f5; border-radius:22px; overflow:hidden; max-width:1050px; margin:auto; }
.zu-comparison-ready figure { border:0; border-radius:0; padding:0; }
.zu-comparison-ready figure:nth-child(2) { position:absolute; inset:0; clip-path:inset(0 calc(100% - var(--comparison-position,50%)) 0 0); }
.zu-comparison-ready figure img { max-height:none; border-radius:0; }
.zu-comparison-ready::after { content:''; position:absolute; top:0; bottom:0; left:var(--comparison-position,50%); width:2px; background:#2563eb; pointer-events:none; }
.zu-comparison-ready figcaption { position:absolute; right:20px; bottom:20px; padding:8px 13px; border-radius:8px; background:#162943; color:white; }
.zu-comparison-ready figure:nth-child(2) figcaption { right:auto; left:20px; }
.zu-refresh-comparison-control { display:flex; flex-direction:column; gap:13px; max-width:1050px; margin:22px auto 0; color:#526b8c; font-size:13px; }
.zu-refresh-comparison-control input { accent-color:#2563eb; width:100%; min-height:32px; margin:0; cursor:ew-resize; }
.zu-refresh-comparison-control input:focus-visible { outline:3px solid #2563eb; outline-offset:4px; }
.zu-refresh-faq { display:grid; grid-template-columns:.7fr 1.3fr; gap:75px; align-items:start; }
.zu-refresh-faq details { margin-bottom:12px; border:1px solid #dce6f5; border-radius:18px; background:#fff; overflow:hidden; }
.zu-refresh-faq summary { display:flex; justify-content:space-between; align-items:center; gap:20px; padding:25px; cursor:pointer; color:#162943; font:600 17px/1.5 Inter,sans-serif; list-style:none; }
.zu-refresh-faq summary::-webkit-details-marker { display:none; }
.zu-refresh-faq-icon { flex:0 0 28px; height:28px; border-radius:50%; background:#edf4ff; position:relative; }
.zu-refresh-faq-icon::before,.zu-refresh-faq-icon::after { content:''; position:absolute; height:1.5px; width:10px; left:9px; top:13px; background:#2563eb; }
.zu-refresh-faq-icon::after { transform:rotate(90deg); }
.zu-refresh-faq details[open] .zu-refresh-faq-icon::after { transform:rotate(0); }
.zu-refresh-faq details > div { padding:0 25px 25px; }
.zu-refresh-faq details p { color:#526b8c; font-size:17px; line-height:1.8; margin:0; }
.zu-refresh-faq details[open] { border-color:#abc7f7; }
.zu-refresh-next { padding:65px 0; background:#edf4ff; }
.zu-refresh-next > div { display:flex; align-items:center; justify-content:space-between; gap:35px; }
.zu-refresh-next h2 { max-width:750px; margin:0; }
.zu-refresh-next .zu-editorial-cta { flex-shrink:0; }
.zu-design-refresh .zu-refresh-topics .zu-editorial-split { grid-template-columns:minmax(0,.75fr) minmax(0,1.4fr); gap:70px; }
.zu-refresh-topics .zu-editorial-topic:last-child:nth-child(odd) { grid-column:1/-1; }
.zu-refresh-demo { background:#f2f7ff; padding:25px 0 75px; }
.zu-refresh-demo .zu-configurator-demo { margin-top:0; }
.zu-design-refresh :is(a,summary):focus-visible { outline:3px solid #2563eb; outline-offset:5px; }
@media(max-width:1100px) {
 .zu-refresh-row,.zu-refresh-faq { gap:45px; }
 .zu-design-refresh .zu-refresh-hero .zu-editorial-hero { gap:28px; }
 .zu-design-refresh .zu-refresh-topics .zu-editorial-split { grid-template-columns:1fr; gap:35px; }
 .zu-refresh-services { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:767px) {
 .zu-design-refresh .zu-refresh-hero { padding:24px 0 42px; }
 .zu-refresh-breadcrumbs { margin-bottom:30px; }
 .zu-design-refresh .zu-refresh-hero .zu-editorial-hero { grid-template-columns:1fr; gap:30px; }
 .zu-design-refresh .zu-refresh-hero h1 { font-size:clamp(34px,7vw,46px); }
 .zu-design-refresh .zu-refresh-hero .zu-editorial-art img { height:300px; }
 .zu-design-refresh .zu-refresh-case-hero .zu-editorial-art img { height:auto; max-height:340px; width:100%; }
 .zu-refresh-section { padding:48px 0; }
 .zu-refresh-row,.zu-refresh-faq { grid-template-columns:1fr; gap:25px; }
 .zu-refresh-row-image { max-width:90px; max-height:100px; margin-top:20px; }
 .zu-refresh-row-image.zu-technology-logo { width:90px; height:80px; }
 .zu-refresh-row header h2 { margin-bottom:0; }
 .zu-refresh-copy,.zu-refresh-brief-card p { font-size:16px; }
 .zu-refresh-next > div { align-items:flex-start; flex-direction:column; }
 .zu-refresh-brief-card { padding:25px; }
 .zu-refresh-faq summary { padding:20px; font-size:16px; }
 .zu-refresh-faq details > div { padding:0 20px 22px; }
 .zu-refresh-faq details p { font-size:16px; }
 .zu-refresh-image-grid { gap:14px; }
 .zu-design-refresh [id] { scroll-margin-top:95px; }
}
@media(max-width:550px) {
 .zu-refresh-services,.zu-refresh-brief,.zu-refresh-image-grid { grid-template-columns:1fr; }
 .zu-refresh-card-art { height:200px; }
 .zu-refresh-gallery { padding-bottom:40px; }
 .zu-refresh-nav a { font-size:12px; padding:10px 13px; }
 .zu-refresh-brief-card h2 { font-size:22px; }
}
@media(prefers-reduced-motion:reduce) {
 .zu-refresh-service,.zu-refresh-nav a,.zu-design-refresh a.zu-editorial-cta { transition:none; }
}
