/* Shared section labels: plain typography, without badges, rules or frames. */
body main :is(.eyebrow,.section-kicker,.focus-pill){display:block!important;font-family:Inter,ui-sans-serif,system-ui,sans-serif!important;font-size:.74rem!important;font-weight:700!important;line-height:1.5!important;letter-spacing:.16em!important;text-transform:uppercase!important;color:#008fdd!important;background:none!important;background-image:none!important;border:0!important;border-radius:0!important;box-shadow:none!important;padding:0!important;margin:0 0 12px!important;gap:0!important;text-align:inherit}
body main :is(.eyebrow,.section-kicker,.focus-pill)::before,body main :is(.eyebrow,.section-kicker,.focus-pill)::after{content:none!important;display:none!important;border:0!important;box-shadow:none!important}
body main :is(.eyebrow,.section-kicker,.focus-pill)+:is(h1,h2,h3){margin-top:0!important}
body main :is(.dark-section,.pillar,.service-card,.signature-band,.big-cta) :is(.eyebrow,.section-kicker,.focus-pill),body main .zs-tone-blue .service-card .eyebrow{color:#bdeaff!important}
/* All actual buttons use the same full rounding; cards keep their own shape. */
body :is(.btn,button,input[type="submit"],input[type="button"],a[role="button"],.finder-option){border-radius:9999px!important}
/* Original partner artwork, reserved dimensions and no text substitutes. */
.partner-logos{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:16px!important;border:0!important}
.partner-logo{display:grid;place-items:center;min-width:0;min-height:110px;padding:20px 14px;background:#fff;border:1px solid #e0e9ef;border-radius:14px;box-shadow:0 5px 18px rgba(0,60,95,.035)}
.partner-logo img{display:block;width:100%;height:64px;max-width:160px;object-fit:contain}
/* FAQ: measured, interruptible height transitions with an inner padding wrapper. */
body main .faq-a,body main .faq-item.open .faq-a{display:block;padding:0!important;overflow:hidden;opacity:1;height:auto;transition:height 220ms cubic-bezier(.23,1,.32,1),opacity 180ms ease}
body main .faq-a[hidden]{display:none!important}
.js body main .faq-a:not(.faq-ready){height:0;opacity:0}
.faq-answer-inner{padding:0 0 20px;line-height:1.65}
.faq-q:focus-visible{outline:3px solid #008fdd;outline-offset:3px}
@media(max-width:1024px){.partner-logos{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:600px){.partner-logos{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px!important}.partner-logo{min-height:100px;padding:18px 14px}}
@media(prefers-reduced-motion:reduce){body main .faq-a{transition:none!important}}

/* Prepare first paint before the footer script arrives, with a head-script fallback. */
@media(prefers-reduced-motion:no-preference){
 .hero-intro-pending #scene .hero-text:first-child :is(.hero-actions>a,.hero-mini-proof>div,.hero-badges>span){opacity:0}
 .hero-intro-pending #scene:focus-within .hero-text:first-child :is(.hero-actions>a,.hero-mini-proof>div,.hero-badges>span){opacity:1}
}

/* Keep the global progress strip on the compositor while scrubbing. */
.scroll-progress{width:100%;transform:scaleX(0);transform-origin:left;transition:none}

/* 3.9: compact mobile grids and readable product/industry details. */
.zs-product .btn-secondary{background:#0074b3!important;color:#fff!important;border:1px solid #0074b3!important}
@media(hover:hover) and (pointer:fine){.zs-product .btn-secondary:hover{background:#006298!important;border-color:#006298!important}}
.industry-row>div{min-width:0}
.industry-row strong{display:block;font-family:Saira,Inter,sans-serif;font-size:1.15rem;line-height:1.3;margin-bottom:5px}
.industry-row span{display:block;line-height:1.55}
@media(max-width:650px){
 .trust-grid,.benefit-row{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 .trust-item{min-width:0;padding:16px 12px!important;gap:10px}
 .trust-item>div{min-width:0}
 .trust-item strong{font-size:14px;overflow-wrap:anywhere}
 .trust-item .muted{font-size:12px;line-height:1.45}
 .trust-item:nth-child(2n){border-right:0}
 .trust-item:nth-child(n+3){border-top:1px solid var(--line)}
 .pillar{display:flex;flex-direction:column;justify-content:flex-end;min-height:460px}
 .pillar-inner{position:relative;inset:auto;width:100%;padding:20px!important}
 .pillar h2{font-size:clamp(26px,7vw,36px)}
 .benefit{min-width:0;padding:18px 12px!important}
 .benefit:nth-child(2n){border-right:0}
 .benefit:nth-child(n+3){border-top:1px solid var(--line)}
 .benefit h3{font-size:18px;line-height:1.25;overflow-wrap:anywhere}
 .benefit p{font-size:13px;line-height:1.55}
 .benefit .svg-icon{margin-bottom:12px}
 .industry-row strong{font-size:1.2rem}
}

/* Small text meets WCAG AA against the actual light card backgrounds. */
body main :is(.eyebrow,.section-kicker,.focus-pill){color:#006da8!important}
.zs-price span,.quote-meta span{color:#526674}
.zs-camera-step-label{color:#006da8}
.zs-camera-detail,.zs-camera-orbit,.zs-camera-cue{color:#526674}
body main .article .card-link{color:#006da8!important;text-decoration:underline;text-underline-offset:3px}
.footer-legal{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px 18px}
.footer-legal a{color:#fff;text-decoration:underline;text-underline-offset:4px}
.footer-legal a:focus-visible{outline:2px solid #fff;outline-offset:4px}
/* The header sheen keeps its motion without animating layout coordinates. */
.nav-cta.zs-shop-btn:after{left:-70%;animation-name:zsShineTransform}
@keyframes zsShineTransform{0%,55%{transform:translateX(0) skewX(-20deg)}100%{transform:translateX(466.6667%) skewX(-20deg)}}
