/* Service pages (shared components), 24 Oct 2026. Started as a copy of enquiry-engine.css; new service pages link this file.
   Shared zs-* components (sections, headings, ticks, engine cards, FAQ, contact form) come from home.css. */

/* ---------- shared bits ---------- */
.zs-ee-head{max-width:780px;margin:0 0 40px}
.zs-ee-head .zs-lead{margin-top:16px}
.elementor-kit-10 .zs-ee-tier h3,.elementor-kit-10 .zs-ee-steps h3{margin:0;font-family:"Inter Tight",Arial,sans-serif;font-weight:700;letter-spacing:0;text-transform:none;line-height:1.2;color:inherit}

/* ---------- the problem ---------- */
.zs-ee-split{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:40px 80px;align-items:start}
.zs-ee-kicker{margin:28px 0 0;font-weight:600;color:var(--e-global-color-secondary)}
.zs-ee-answer{margin-top:28px}
.zs-ee-answer strong{color:var(--e-global-color-secondary)}

/* ---------- how it works ---------- */
.zs-ee-stage{margin:0;font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--e-global-color-primary)}
.zs-ee-pillars .zs-engine__card .zs-ticks{margin:4px 0 0}
.zs-ee-pillars .zs-engine__card .zs-ticks li{padding:10px 0 10px 34px;font-size:15px}
.zs-ee-pillars .zs-engine__card .zs-ticks li::before{width:20px;height:20px;margin-top:-10px}
.zs-ee-card__foot{margin:auto 0 0;padding-top:16px;border-top:1px solid rgba(21,21,21,.1);font-size:14px;line-height:1.5;color:#5C5C5C}
.elementor-kit-10 .zs-ee-card__foot a{font-weight:600;white-space:nowrap;color:var(--e-global-color-primary)}

/* ---------- plans ---------- */
.zs-ee-includes{margin:0 0 28px}
.zs-ee-includes>p{margin:0 0 12px;font-weight:600;color:var(--e-global-color-secondary)}
.zs-ee-includes ul{display:flex;flex-wrap:wrap;gap:10px;margin:0;padding:0;list-style:none}
.zs-ee-includes li{display:inline-flex;align-items:center;gap:8px;margin:0;padding:9px 16px;border-radius:999px;background:#F2F3F7;font-size:15px;color:var(--e-global-color-secondary)}
.zs-ee-includes li::before{content:"";width:16px;height:16px;background:no-repeat center/contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 12.5 9.5 18 20 6' fill='none' stroke='%233452FF' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}
.zs-ee-tiers{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:0;padding:0;list-style:none}
.zs-ee-tier{display:flex;flex-direction:column;gap:12px;margin:0;padding:28px;border:1px solid rgba(21,21,21,.12);border-radius:20px;background:#fff;color:var(--e-global-color-secondary)}
.elementor-kit-10 .zs-ee-tier h3{font-size:24px}
.zs-ee-tier__price{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px;margin:0}
.zs-ee-tier__price strong{font-family:"Inter Tight",Arial,sans-serif;font-size:42px;font-weight:700;line-height:1;color:var(--e-global-color-primary)}
.zs-ee-tier__price span{font-size:14px;color:#5C5C5C}
.zs-ee-tier--dark{border-color:var(--e-global-color-secondary);background:var(--e-global-color-secondary);color:#fff}
.zs-ee-tier--dark .zs-ee-tier__price strong{color:var(--e-global-color-accent)}
.zs-ee-tier--dark .zs-ee-tier__price span{color:rgba(255,255,255,.8)}
.zs-ee-terms{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:28px 0 0;padding:0;list-style:none}
.zs-ee-terms li{margin:0;padding:18px 20px;border-radius:16px;background:#F2F3F7;font-size:15px;line-height:1.5;color:#3D3D3D}
.zs-ee-terms strong{color:var(--e-global-color-secondary)}
.zs-ee-plans__cta{margin-top:32px}

/* ---------- results: homepage case cards in a row of three ---------- */
.zs-cases.zs-cases--grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}

/* ---------- timeline ---------- */
.zs-ee-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin:0;padding:0;list-style:none}
.zs-ee-steps li{margin:0;padding:26px 0 0;border-top:2px solid var(--e-global-color-secondary)}
.zs-ee-steps__when{display:inline-block;margin:0 0 14px;padding:5px 12px;border-radius:999px;background:var(--e-global-color-accent);font-size:13px;font-weight:600;color:var(--e-global-color-secondary)}
.elementor-kit-10 .zs-ee-steps h3{margin:0 0 8px;font-size:22px;color:var(--e-global-color-secondary)}
.zs-ee-steps p:not(.zs-ee-steps__when){margin:0;font-size:16px;line-height:1.55;color:#3D3D3D}

/* ---------- smaller screens ---------- */
@media(max-width:1100px){
  .zs-ee-tiers{grid-template-columns:repeat(2,minmax(0,1fr))}
  .zs-ee-steps{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 20px}
}
@media(max-width:1024px){
    .zs-ee-split{grid-template-columns:1fr}
  .zs-ee-terms{grid-template-columns:1fr}
}
@media(max-width:767px){
          .zs-ee-tiers,.zs-ee-steps{grid-template-columns:1fr}
  .zs-ee-tier__price strong{font-size:36px}
}
@media(max-width:767px){.zs-ee-includes ul{gap:8px}.zs-ee-includes li{padding:7px 12px;font-size:14px}}

/* ---------- 24 Oct: steady logo marquee, contact label ---------- */
.zs-contact__eyebrow{margin-bottom:-6px;color:var(--e-global-color-accent)} /* the intro is a flex column with a 20px gap, so this keeps label-to-heading at 14px like every other section */

/* logo marquee: replaces the Elementor carousels so both rows move at one steady speed (homepage to follow) */
.zs-logos{display:grid;gap:36px;width:100%;margin-top:40px}
.zs-logos__row{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.zs-logos__track{display:flex;width:max-content;animation:zs-logos var(--zs-logos-dur,40s) linear infinite}
.zs-logos__row--rev .zs-logos__track{animation-direction:reverse}
.zs-logos__set{display:flex;flex:none;align-items:center;gap:90px;padding-right:90px}
.zs-logos__set img{display:block;width:auto;height:46px;max-width:170px;object-fit:contain}
@keyframes zs-logos{to{transform:translateX(-50%)}}
@media(max-width:1024px){
  .zs-cases.zs-cases--grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  }
@media(max-width:767px){
  .zs-cases.zs-cases--grid{grid-template-columns:1fr}
      .zs-logos{gap:24px;margin-top:28px}
  .zs-logos__set{gap:44px;padding-right:44px}
  .zs-logos__set img{height:34px;max-width:120px}
}
@media(prefers-reduced-motion:reduce){.zs-logos__track{animation:none}}
/* the gap under the logo strip matches the gap above it (the strip's own padding does the work) */
.zs-section.zs-ee-problem{padding-top:0}

/* ---------- 24 Oct: a form in place of the hero video (the rest of the hero is the homepage's) ---------- */
.zs-hero.zs-hero--form{align-items:center}
.zs-form.zs-form--hero{gap:14px;padding:28px}
.zs-form__title{margin:0;font-family:"Inter Tight",Arial,sans-serif;font-size:28px;font-weight:700;line-height:1.15;color:#fff}
.zs-form--hero textarea{height:76px;min-height:0}
@media(max-width:767px){.zs-form.zs-form--hero{padding:22px}.zs-form__title{font-size:24px}}

/* ---------- website design page additions ---------- */
.zs-ee-steps.zs-ee-steps--5{grid-template-columns:repeat(5,minmax(0,1fr))}
.zs-ee-tiers.zs-ee-tiers--2{grid-template-columns:repeat(2,minmax(0,1fr));max-width:880px}
.zs-ee-tier__price span:first-child{font-size:15px;color:#5C5C5C}
.zs-ee-tier--dark .zs-ee-tier__price span:first-child{color:rgba(255,255,255,.8)}
.zs-wd-note{margin:20px 0 0;font-size:17px;font-weight:600;color:var(--e-global-color-secondary)}
@media(max-width:1100px){.zs-ee-steps.zs-ee-steps--5{grid-template-columns:repeat(3,minmax(0,1fr));gap:32px 20px}}
@media(max-width:767px){.zs-ee-steps.zs-ee-steps--5,.zs-ee-tiers.zs-ee-tiers--2{grid-template-columns:1fr}}
/* the homepage closes up its results section (it follows the white logo strip); after a coloured section it needs its top padding back */
.zs-section.zs-results--light.zs-ee-results--pad{padding-top:100px}
@media(max-width:1024px){.zs-section.zs-results--light.zs-ee-results--pad{padding-top:75px}}
@media(max-width:767px){.zs-section.zs-results--light.zs-ee-results--pad{padding-top:50px}}

/* ---------- 24 Oct: website design page, round two ---------- */
/* breadcrumbs above the rating badge */
.zs-crumbs{font-size:14px;line-height:1.4;color:rgba(255,255,255,.6)}
.zs-crumbs ol{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}
.zs-crumbs li{margin:0}
.zs-crumbs li+li::before{content:"/";margin-right:8px;color:rgba(255,255,255,.35)}
.elementor-kit-10 .zs-crumbs a{color:rgba(255,255,255,.75);text-decoration:none}
.elementor-kit-10 .zs-crumbs a:hover{color:var(--e-global-color-accent)}

/* the blue line through "just exist", drawn in once the page loads */
.zs-strike{position:relative;display:inline-block;text-decoration:none}
.zs-strike::after{content:"";position:absolute;top:50%;left:-2%;width:104%;height:.11em;border-radius:2px;background:var(--e-global-color-primary);transform:rotate(-3deg) scaleX(0);transform-origin:left center;animation:zs-strike .6s cubic-bezier(.2,.7,.2,1) .6s forwards;pointer-events:none}
@keyframes zs-strike{to{transform:rotate(-3deg) scaleX(1)}}

/* stats in the strip under the hero */
.zs-proof--stats li{align-items:center;gap:14px}
.zs-proof__num{flex:none;font-family:"Monument Extended",Sans-serif;font-size:30px;line-height:1;color:var(--e-global-color-accent)}
.zs-proof__label{font-size:15px;line-height:1.35;color:rgba(255,255,255,.8)}

/* "Ready to get started?" on the hero form */
.zs-form--hero .zs-form__title{font-family:"Monument Extended",Sans-serif;font-size:20px;font-weight:400;letter-spacing:.01em;text-transform:uppercase;color:var(--e-global-color-accent)}
.zs-form__intro{margin:-6px 0 2px;font-size:16px;line-height:1.5;color:rgba(255,255,255,.75)}

/* websites we've built */
.zs-wd-work__head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:40px}
.zs-wd-work__head .zs-ee-head{margin:0}
.zs-cases.zs-cases--grid.zs-cases--four{grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.zs-wd-work .zs-case__media img{aspect-ratio:1/1;object-fit:cover}

/* websites built for the future of AI (animation carried over from the current page) */
.zs-wd-ai__grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:40px 64px;align-items:center}
.zs-eyebrow--lime{color:var(--e-global-color-accent)}
.zs-wd-ai .zs-hl{color:var(--e-global-color-accent)}
.zs-wd-ai__text .zs-lead+.zs-lead{margin-top:16px}
.zs-wd-ai__text .zs-btns{margin-top:28px}
.ai-demo{position:relative}
.ai-demo-grid{display:grid;grid-template-columns:1fr auto 1fr;gap:20px;align-items:center}
.ai-code-pane{overflow:hidden;border:1px solid rgba(221,254,101,.15);border-radius:12px;background:#18181B;box-shadow:0 0 40px rgba(221,254,101,.06),0 10px 30px rgba(0,0,0,.4)}
.ai-code-header{display:flex;align-items:center;gap:10px;padding:12px 18px;border-bottom:1px solid rgba(255,255,255,.05);background:rgba(255,255,255,.03);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.45)}
.ai-code-header-dot{width:7px;height:7px;border-radius:50%;background:#DDFE65;box-shadow:0 0 8px #DDFE65}
.ai-code-body{min-height:220px;padding:20px 22px;font-family:"SF Mono",Menlo,Monaco,Consolas,monospace;font-size:12.5px;line-height:2;white-space:nowrap}
.ai-codeline{opacity:0;animation:aiCodeAppear 10s infinite}
.ai-codeline:nth-child(1){animation-delay:.1s}.ai-codeline:nth-child(2){animation-delay:.5s}.ai-codeline:nth-child(3){animation-delay:.9s}
.ai-codeline:nth-child(4){animation-delay:1.3s}.ai-codeline:nth-child(5){animation-delay:1.7s}.ai-codeline:nth-child(6){animation-delay:2.1s}
.ai-key{color:#DDFE65}.ai-val{color:rgba(255,255,255,.92)}.ai-punc{color:rgba(255,255,255,.35)}.ai-indent{display:inline-block;width:1.6em}
.ai-cursor{display:inline-block;width:7px;height:14px;margin-left:4px;vertical-align:middle;background:#DDFE65;animation:aiCursorBlink 1s infinite,aiCursorFade 10s infinite}
.ai-demo-arrow{font-size:32px;font-weight:200;color:#DDFE65;text-shadow:0 0 16px rgba(221,254,101,.6);animation:aiArrowPulse 10s infinite}
.ai-result-pane{display:flex;flex-direction:column;justify-content:center;min-height:220px;padding:22px 24px;border-radius:12px;background:#fff;color:#202124;box-shadow:0 0 50px rgba(221,254,101,.08),0 10px 30px rgba(0,0,0,.5)}
.ai-result-url{margin-bottom:8px;font-size:12px;color:#5F6368}
.ai-result-title{margin-bottom:6px;font-size:18px;line-height:1.3;color:#1A0DAB}
.ai-result-desc{margin-bottom:12px;font-size:13px;line-height:1.5;color:#4D5156}
.ai-result-rating-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:13px}
.ai-result-stars{letter-spacing:2px;color:#E37400;text-shadow:0 0 8px rgba(227,116,0,.4)}
.ai-result-rating-text{color:#4D5156}
.ai-resultpart{opacity:0;animation:aiResultAppear 10s infinite}
.ai-result-pane>.ai-resultpart:nth-child(1){animation-delay:3s}.ai-result-pane>.ai-resultpart:nth-child(2){animation-delay:3.3s}.ai-result-pane>.ai-resultpart:nth-child(3){animation-delay:3.6s}
.ai-result-rating-row>.ai-resultpart:nth-child(1){animation-delay:3.9s}.ai-result-rating-row>.ai-resultpart:nth-child(2){animation-delay:4.2s}
.ai-demo-caption{margin-top:28px;text-align:center;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.4)}
@keyframes aiCodeAppear{0%{opacity:0;transform:translateY(3px)}4%{opacity:1;transform:translateY(0)}80%{opacity:1}88%{opacity:0}100%{opacity:0}}
@keyframes aiCursorBlink{0%,49%{opacity:1}50%,100%{opacity:0}}
@keyframes aiCursorFade{0%,2%{opacity:0}22%{opacity:1}78%{opacity:1}85%,100%{opacity:0}}
@keyframes aiArrowPulse{0%,25%{opacity:.1;transform:scale(.95)}30%{opacity:1;transform:scale(1.1)}40%{opacity:.5;transform:scale(1)}80%{opacity:.5}88%,100%{opacity:.1}}
@keyframes aiResultAppear{0%{opacity:0;transform:translateX(-4px)}3%{opacity:1;transform:translateX(0)}80%{opacity:1}88%{opacity:0}100%{opacity:0}}

@media(max-width:1100px){.zs-cases.zs-cases--grid.zs-cases--four{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:1024px){
  .zs-wd-ai__grid{grid-template-columns:1fr}
  .zs-wd-ai__text{order:-1}
}
@media(max-width:767px){
  .zs-cases.zs-cases--grid.zs-cases--four{grid-template-columns:1fr}
  .zs-proof__num{font-size:24px}
  .ai-demo-grid{grid-template-columns:1fr;gap:14px}
  .ai-demo-arrow{margin:0 auto;transform:rotate(90deg)}
  @keyframes aiArrowPulse{0%,25%{opacity:.1}30%{opacity:1}40%{opacity:.5}80%{opacity:.5}88%,100%{opacity:.1}}
}
@media(prefers-reduced-motion:reduce){
  .zs-strike::after{animation:none;transform:rotate(-3deg)}
  .ai-codeline,.ai-resultpart,.ai-cursor,.ai-demo-arrow{animation:none;opacity:1}
}
.zs-wd-ai .zs-lead{color:var(--e-global-color-406a1f5)} /* light body text on the dark band, as in the contact section */
/* 24 Oct: two price cards share the full width; "just exist" knocked back like the current site */
.zs-ee-tiers.zs-ee-tiers--2{max-width:none}
.zs-strike{color:#D8D8D8}

/* price cards: a "best for" line and three things that come with it */
.zs-ee-tier__for{margin:2px 0 0;font-size:16px;line-height:1.5;color:#3D3D3D}
.zs-ee-tier--dark .zs-ee-tier__for{color:rgba(255,255,255,.8)}
.zs-ee-tier .zs-ticks{margin:4px 0 0}
.zs-ee-tier .zs-ticks li{padding:10px 0 10px 34px;font-size:15px}
.zs-ee-tier .zs-ticks li:last-child{border-bottom:0}
.zs-ee-tier .zs-ticks li::before{width:20px;height:20px;margin-top:-10px}

/* ---------- SEO page ---------- */
/* the exact-phrase H1 looks exactly like the hero label it replaces */
.elementor-kit-10 h1.zs-hero-eyebrow{margin:14px 0 0;font-family:"Open Sauce One",sans-serif;font-size:16px;font-weight:400;line-height:1.4;letter-spacing:normal;text-transform:none;color:var(--e-global-color-accent)}
.zs-ee-split__visual{margin-top:36px}
.zs-ee-split__visual .zs-vis{max-width:560px}
@media(max-width:1024px){.zs-ee-split__visual{margin-top:28px}.zs-ee-split__visual .zs-vis{max-width:none}}

/* ---------- Google Ads page ---------- */
.zs-ee-steps.zs-ee-steps--6{grid-template-columns:repeat(3,minmax(0,1fr));gap:40px 24px}
@media(max-width:767px){.zs-ee-steps.zs-ee-steps--6{grid-template-columns:1fr;gap:32px}}
/* ROI calculator */
.zs-calc{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);overflow:hidden;border:1px solid rgba(21,21,21,.12);border-radius:20px;background:#fff}
.zs-calc__inputs{display:grid;gap:26px;padding:36px}
.zs-calc__field label{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:10px;font-size:16px;font-weight:500;color:var(--e-global-color-secondary)}
.zs-calc__field output{font-family:"Inter Tight",Arial,sans-serif;font-size:20px;font-weight:700;color:var(--e-global-color-primary)}
.zs-calc__field input[type=range]{width:100%;margin:0;accent-color:var(--e-global-color-primary);cursor:pointer}
.zs-calc__results{display:flex;flex-direction:column;gap:14px;padding:36px;background:var(--e-global-color-secondary);color:#fff}
.zs-calc__row{display:flex;align-items:baseline;justify-content:space-between;gap:16px;padding-bottom:14px;border-bottom:1px solid rgba(255,255,255,.12);font-size:16px;color:rgba(255,255,255,.8)}
.zs-calc__row strong{font-family:"Inter Tight",Arial,sans-serif;font-size:24px;font-weight:700;color:#fff}
.zs-calc__big{display:flex;flex-direction:column;gap:4px;margin-top:6px}
.zs-calc__big span{font-size:16px;color:rgba(255,255,255,.8)}
.zs-calc__big strong{font-family:"Inter Tight",Arial,sans-serif;font-size:48px;font-weight:700;line-height:1;color:var(--e-global-color-accent)}
.zs-calc__big em{font-size:15px;font-style:normal;color:rgba(255,255,255,.8)}
.zs-calc__note{margin:6px 0 0;font-size:14px;line-height:1.5;color:rgba(255,255,255,.7)}
.zs-calc__results .zs-btns{margin-top:auto;padding-top:8px}
@media(max-width:1024px){.zs-calc{grid-template-columns:1fr}}
@media(max-width:767px){.zs-calc__inputs,.zs-calc__results{padding:24px}.zs-calc__big strong{font-size:40px}}
/* Google Ads fee scale */
.zs-ee-tier__setup{margin:-6px 0 0;font-size:14px;color:#5C5C5C}
.zs-ee-tier--dark .zs-ee-tier__setup{color:rgba(255,255,255,.7)}
.zs-ads-ee{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px 24px;margin-top:16px;padding:22px 26px;border:1px solid rgba(21,21,21,.12);border-radius:16px;background:#fff}
.zs-ads-ee p{margin:0;max-width:760px;font-size:16px;line-height:1.5;color:#3D3D3D}
.zs-ads-ee strong{color:var(--e-global-color-secondary)}
/* three plan cards (AI search page) */
.zs-ee-tiers.zs-ee-tiers--3{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:1024px){.zs-ee-tiers.zs-ee-tiers--3{grid-template-columns:1fr}}
/* a button inside a price card (Roadmap page) */
.zs-ee-tier .zs-btn{margin-top:auto;padding-top:8px}

/* ---------- AI workshops: AI Office Hours card ---------- */
.zs-oh{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr);gap:24px 48px;align-items:center;padding:48px;border-radius:24px;background:var(--e-global-color-accent);color:var(--e-global-color-secondary)}
.zs-oh .zs-eyebrow{color:var(--e-global-color-secondary)}
.elementor-kit-10 .zs-oh .zs-h2{margin:0 0 12px;color:var(--e-global-color-secondary)}
.zs-oh p:not(.zs-eyebrow){max-width:620px;margin:0;font-size:18px;line-height:1.55;color:var(--e-global-color-secondary)}
.zs-oh .zs-btns{margin-top:24px}
.zs-oh__facts{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0;padding:0;list-style:none}
.zs-oh__facts li{margin:0;padding:16px 18px;border-radius:14px;background:rgba(21,21,21,.08);font-size:17px;font-weight:600}
@media(max-width:1024px){.zs-oh{grid-template-columns:1fr;padding:32px}}
@media(max-width:767px){.zs-oh{padding:24px}.zs-oh p:not(.zs-eyebrow){font-size:16px}}

/* ---------- About page ---------- */
.zs-about-portrait{display:block;width:100%;max-width:420px;height:auto;aspect-ratio:4/5;object-fit:cover;border-radius:24px}
.zs-about-copy .zs-lead+.zs-lead{margin-top:18px}
.elementor-kit-10 .zs-about-copy a{color:var(--e-global-color-primary);text-decoration:underline;text-underline-offset:3px}
@media(max-width:1024px){.zs-about-portrait{max-width:360px}}
.zs-ee-steps.zs-ee-steps--3{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
@media(max-width:1024px){.zs-ee-steps.zs-ee-steps--3{grid-template-columns:1fr}}
.zs-about-kicker strong{font-size:20px;color:var(--e-global-color-secondary)}

/* ---------- Contact page ---------- */
.zs-contact-ways .zs-ee-tier__price strong{font-size:26px;word-break:break-word}
.zs-contact-company{margin-top:48px;padding-top:24px;border-top:1px solid rgba(21,21,21,.12)}
.zs-contact-company p{margin:0 0 8px;font-size:15px;line-height:1.6;color:#5C5C5C}
.zs-contact-company strong{color:var(--e-global-color-secondary)}

/* ---------- Next steps: videos load from YouTube only when someone presses play ---------- */
.zs-yt{position:relative;display:block;width:100%;aspect-ratio:16/9;padding:0;border:0;border-radius:20px;overflow:hidden;cursor:pointer;background:#262626 center/cover no-repeat}
.zs-yt::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 55%,rgba(0,0,0,.35))}
.zs-yt__play{position:absolute;left:50%;top:50%;z-index:1;width:72px;height:72px;margin:-36px 0 0 -36px;border-radius:50%;background:var(--e-global-color-accent);box-shadow:0 8px 24px rgba(0,0,0,.25);transition:transform .2s ease}
.zs-yt__play::before{content:"";position:absolute;left:29px;top:22px;border-style:solid;border-width:14px 0 14px 22px;border-color:transparent transparent transparent var(--e-global-color-secondary)}
.zs-yt:hover .zs-yt__play,.zs-yt:focus-visible .zs-yt__play{transform:scale(1.08)}
.zs-yt-frame{position:relative;width:100%;aspect-ratio:16/9;border-radius:20px;overflow:hidden;background:#000}
.zs-yt-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.zs-hero__media--yt{align-self:center}
.zs-ns-first__label{margin:0 0 12px;font-size:14px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--e-global-color-accent)}
.zs-ns-first__note{margin:12px 0 0;font-size:15px;color:rgba(255,255,255,.7)}
.zs-ns-videos{list-style:none;margin:40px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px 24px}
.zs-ns-videos li{margin:0}
.zs-ns-videos__num{margin:16px 0 4px;font-size:14px;font-weight:700;color:var(--e-global-color-primary)}
.elementor-kit-10 .zs-ns-videos h3{margin:12px 0 0;font-size:20px;line-height:1.3}
.elementor-kit-10 .zs-ns-videos__num+h3{margin-top:0}
.elementor-kit-10 .zs-dark .zs-ns-videos h3{color:#fff}
@media(max-width:1024px){.zs-ns-videos{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:767px){.zs-ns-videos{grid-template-columns:1fr}.zs-yt__play{width:60px;height:60px;margin:-30px 0 0 -30px}.zs-yt__play::before{left:24px;top:18px;border-width:12px 0 12px 19px}}
.zs-ns-reviews{columns:3 300px;column-gap:24px;margin:56px 0 0;padding:0;list-style:none}
.zs-ns-reviews li{break-inside:avoid;margin:0 0 24px;padding:24px;border-radius:20px;background:#fff;color:var(--e-global-color-secondary)}
.zs-ns-reviews__stars{margin:0 0 10px;color:#F5B301;letter-spacing:2px}
.zs-ns-reviews blockquote{margin:0;padding:0;border:0;font-size:16px;line-height:1.6;color:var(--e-global-color-secondary)}
.zs-ns-reviews cite{display:block;margin-top:14px;font-style:normal;font-weight:700;color:var(--e-global-color-secondary)}
.zs-ns-reviews cite span{display:block;font-weight:400;font-size:14px;color:#5C5C5C}
.zs-ns-checklist{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.zs-ns-checklist li{margin:0;padding:18px 20px;border-radius:16px;background:#F2F3F7;display:grid;gap:4px}
.zs-ns-checklist strong{font-size:18px;color:var(--e-global-color-secondary)}
.zs-ns-checklist span{font-size:16px;color:#5C5C5C}
.zs-ns-fit__grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.zs-ns-fit__card{padding:32px;border-radius:24px;border:1px solid rgba(21,21,21,.12)}
.zs-ns-fit__card--no{background:#F2F3F7;border-color:transparent}
.elementor-kit-10 .zs-ns-fit__card .zs-h3{margin:0 0 16px}
.zs-ns-crosses{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.zs-ns-crosses li{position:relative;margin:0;padding-left:34px;font-size:17px;line-height:1.5}
.zs-ns-crosses li::before{content:"✕";position:absolute;left:0;top:1px;width:22px;height:22px;border-radius:50%;background:#151515;color:#fff;font-size:11px;line-height:22px;text-align:center}
@media(max-width:767px){.zs-ns-fit__grid{grid-template-columns:1fr}.zs-ns-fit__card{padding:24px}}
.zs-ns-close__card{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;padding:40px;border-radius:24px;background:var(--e-global-color-accent);color:var(--e-global-color-secondary)}
.elementor-kit-10 .zs-ns-close__card h2{margin:0 0 6px;font-size:22px;color:var(--e-global-color-secondary)}
.zs-ns-close__card p{margin:0;font-size:17px;color:var(--e-global-color-secondary)}
.elementor-kit-10 .zs-ns-close__card a{color:var(--e-global-color-secondary);text-decoration:underline;text-underline-offset:3px}
@media(max-width:1024px){.zs-ns-close__card{grid-template-columns:1fr;padding:28px}}
/* the theme styles every <button> as a blue pill: keep the video thumbnails as plain 16:9 cards */
.elementor-kit-10 button.zs-yt,.elementor-kit-10 button.zs-yt:hover,.elementor-kit-10 button.zs-yt:focus{height:auto;min-height:0;padding:0;border:0;border-radius:20px;background-color:#262626;box-shadow:none;line-height:normal;aspect-ratio:16/9}

/* titles written on the video thumbnails */
.elementor-kit-10 .zs-yt::after{background:linear-gradient(180deg,rgba(0,0,0,0) 30%,rgba(0,0,0,.78))}
.zs-yt__text{position:absolute;left:0;right:0;bottom:0;z-index:1;display:grid;gap:4px;padding:16px 18px;text-align:left}
.elementor-kit-10 button.zs-yt .zs-yt__num{font-size:13px;font-weight:700;letter-spacing:.04em;color:var(--e-global-color-accent)}
.elementor-kit-10 button.zs-yt .zs-yt__title{font-family:"Inter Tight",Inter,sans-serif;font-size:20px;font-weight:700;line-height:1.2;letter-spacing:0;text-transform:none;color:#fff}
.zs-ns-videos .zs-yt__play,.zs-ns-clients .zs-yt__play{top:42%}
@media(max-width:767px){.elementor-kit-10 button.zs-yt .zs-yt__title{font-size:18px}}
/* Next steps fixes (25 Oct 2026): the first video fills the column on phones, light text in the dark section,
   and a normal gap under the "Before you show up" intro */
.zs-hero .zs-hero__media.zs-hero__media--yt{width:100%;max-width:100%;justify-self:stretch;margin-left:0;margin-right:0}
.zs-hero__media--yt .zs-ns-first{width:100%}
.elementor-kit-10 .zs-ns-clients .zs-eyebrow{color:rgba(255,255,255,.6)}
.elementor-kit-10 .zs-ns-clients .zs-lead{color:rgba(255,255,255,.72)}
.zs-ns-prep .zs-ee-head{margin-bottom:0}
.zs-ns-prep .zs-ee-split{row-gap:28px}
/* Next steps: a tighter gap between the intro and the first video on phones */
.zs-hero--yt .elementor-element-4654df1 p{margin-bottom:0}
@media(max-width:1024px){.zs-hero.zs-hero--yt{row-gap:24px}}

/* ---------- Reviews page ---------- */
.zs-rv-band{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:32px 64px;align-items:center;padding:56px;border-radius:28px;background:var(--e-global-color-accent);color:var(--e-global-color-secondary)}
.zs-rv-band__num{margin:0;font-family:"Monument Extended","Inter Tight",sans-serif;font-size:clamp(96px,14vw,200px);font-weight:800;line-height:.9;letter-spacing:-.02em;color:var(--e-global-color-secondary)}
.zs-rv-band__stars{margin:12px 0 0;font-size:clamp(28px,3.4vw,44px);letter-spacing:6px;color:var(--e-global-color-secondary)}
.elementor-kit-10 .zs-rv-band .zs-h2{margin:0 0 12px;color:var(--e-global-color-secondary)}
.zs-rv-band__copy>p{margin:0;font-size:18px;line-height:1.55;color:var(--e-global-color-secondary)}
.zs-rv-band__facts{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0 0;padding:0;list-style:none}
.zs-rv-band__facts li{margin:0;padding:10px 16px;border-radius:999px;background:rgba(21,21,21,.08);font-size:15px}
.zs-rv-band .zs-btns{margin-top:24px}
@media(max-width:1024px){.zs-rv-band{grid-template-columns:1fr;padding:32px}}
@media(max-width:767px){.zs-rv-band{padding:24px}.zs-rv-band__copy>p{font-size:16px}}
.zs-rv-reviews li{background:#F2F3F7}
.zs-rv-reviews blockquote p{margin:0 0 10px}
.zs-rv-reviews blockquote p:last-child{margin-bottom:0}
.zs-rv-all__cta{margin-top:16px}
/* links inside the terms row (CRM page) */
.elementor-kit-10 .zs-ee-terms a{color:var(--e-global-color-primary);text-decoration:underline;text-underline-offset:3px}

/* ---------- CRM page: did you know? ---------- */
.zs-crm-stats__card{padding:48px;border-radius:28px;background:var(--e-global-color-accent);color:var(--e-global-color-secondary)}
.elementor-kit-10 .zs-crm-stats .zs-eyebrow{color:var(--e-global-color-secondary)}
.elementor-kit-10 .zs-crm-stats .zs-h2{margin:0;color:var(--e-global-color-secondary)}
.zs-crm-stats__list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:32px 0 0;padding:0;list-style:none}
.zs-crm-stats__list li{margin:0;padding:24px;border-radius:20px;background:rgba(255,255,255,.55);display:grid;gap:10px;align-content:start}
.zs-crm-stats__list strong{font-family:"Monument Extended","Inter Tight",sans-serif;font-size:clamp(40px,4.4vw,60px);line-height:1;color:var(--e-global-color-secondary)}
.zs-crm-stats__list span{font-size:17px;line-height:1.5;color:var(--e-global-color-secondary)}
.zs-crm-stats__close{margin:24px 0 0;font-size:18px;color:var(--e-global-color-secondary)}
.zs-crm-stats__source{margin:8px 0 0;font-size:14px;color:var(--e-global-color-secondary)}
.elementor-kit-10 .zs-crm-stats__source a{color:var(--e-global-color-secondary);text-decoration:underline;text-underline-offset:3px}
@media(max-width:1024px){.zs-crm-stats__list{grid-template-columns:1fr}.zs-crm-stats__card{padding:28px}}
@media(max-width:767px){.zs-crm-stats__card{padding:24px}}
.zs-crm-stats__list strong{font-size:clamp(36px,3.5vw,50px);white-space:nowrap}

/* ---------- Branding page: our work ---------- */
.zs-br-project{margin-top:40px}
.zs-br-project+.zs-br-project{margin-top:64px}
.zs-br-project__head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:6px 24px;margin-bottom:20px}
.elementor-kit-10 .zs-br-project__head h3{margin:0;font-size:24px}
.zs-br-project__head p{margin:0;font-size:16px;color:#5C5C5C}
.zs-br-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.zs-br-grid figure{margin:0}
.zs-br-grid img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;border-radius:18px}
.zs-br-grid .zs-br-wide{grid-column:1/-1}
.zs-br-grid .zs-br-wide img{aspect-ratio:21/9}
@media(max-width:767px){.zs-br-grid{grid-template-columns:1fr;gap:12px}.zs-br-grid .zs-br-wide img{aspect-ratio:16/9}}

/* ---------- Results page: the stories behind the numbers ---------- */
.zs-rs-story{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:24px 64px;padding:40px 0;border-top:1px solid rgba(21,21,21,.12)}
.zs-ee-head+.zs-rs-story{margin-top:8px}
.zs-rs-story__sector{margin:0 0 6px;font-size:14px;font-weight:600;color:var(--e-global-color-primary)}
.elementor-kit-10 .zs-rs-story h3{margin:0 0 16px;font-size:28px}
.zs-rs-story__big{margin:0;font-family:"Monument Extended","Inter Tight",sans-serif;font-size:clamp(44px,5vw,68px);line-height:1;white-space:nowrap;color:var(--e-global-color-secondary)}
.zs-rs-story__label{margin:10px 0 0;font-size:16px;line-height:1.5;color:#5C5C5C}
.zs-rs-story__intro{margin:0 0 20px;font-size:18px;line-height:1.55}
.zs-rs-story__k{margin:0 0 8px;font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#5C5C5C}
.zs-rs-story__body p:not(.zs-rs-story__k):not(.zs-rs-story__intro){margin:0;font-size:17px;line-height:1.6}
.zs-rs-story__body p+.zs-rs-story__k,.zs-rs-story__body ul+.zs-rs-story__k{margin-top:24px}
@media(max-width:1024px){.zs-rs-story{grid-template-columns:1fr;padding:32px 0;gap:16px}}
/* plain (unlinked) case and work cards on the Results page */
.zs-rs-work div.zs-work__item,.zs-ee-results div.zs-case{cursor:default}
.zs-rs-story:last-child{padding-bottom:0}
/* Results page: plain work cards keep the same spacing as linked ones; a link under each story */
.zs-rs-work div.zs-work__card{display:flex;flex-direction:column;gap:10px}
.zs-rs-story__more{margin:20px 0 0}
.elementor-kit-10 .zs-rs-story__more a{font-weight:600;color:var(--e-global-color-primary);text-decoration:underline;text-underline-offset:3px}

/* ---------- Case study pages ---------- */
.zs-cs-hero-img{position:relative;width:100%;border-radius:24px;overflow:hidden}
.zs-cs-hero-img img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}
.zs-cs-pill{position:absolute;left:16px;bottom:16px;padding:10px 16px;border-radius:999px;background:#fff;font-size:15px;font-weight:600;color:var(--e-global-color-secondary)}
.zs-cs-glance{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:32px 64px;align-items:start}
.zs-cs-facts{margin:0;display:grid;gap:20px}
.zs-cs-facts dt{font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#5C5C5C}
.zs-cs-facts dd{margin:4px 0 0;font-size:17px;line-height:1.55;color:var(--e-global-color-secondary)}
.zs-cs-facts .zs-case__tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}
.zs-cs-stats{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.zs-cs-stats li{margin:0;padding:24px;border-radius:20px;background:#F2F3F7;display:grid;gap:10px;align-content:start}
.zs-cs-stats strong{font-family:"Monument Extended","Inter Tight",sans-serif;font-size:clamp(28px,2.6vw,40px);line-height:1;white-space:nowrap;color:var(--e-global-color-secondary)}
.zs-cs-stats span{font-size:15px;line-height:1.45;color:#5C5C5C}
.zs-cs-results{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:32px 64px;align-items:center}
.zs-cs-results img{display:block;width:100%;height:auto;border-radius:20px}
@media(max-width:1024px){.zs-cs-glance,.zs-cs-results{grid-template-columns:1fr}.zs-cs-stats{grid-template-columns:1fr}}
@media(max-width:767px){.zs-cs-pill{font-size:13px;padding:8px 12px;left:12px;bottom:12px}}
.zs-cs-facts dd.zs-cs-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
/* case studies on phones (26 Oct 2026): the tags were styled for dark backgrounds, and the band needs dark space above it */
.elementor-kit-10 .zs-cs-tags .zs-tag{color:var(--e-global-color-secondary);border-color:rgba(21,21,21,.2);background:transparent}
.zs-marquee--after-light{padding-top:100px}
@media(max-width:1024px){.zs-cs-glance{row-gap:28px}}
@media(max-width:767px){.zs-marquee--after-light{padding-top:50px}}

/* ---------- Sector pages ---------- */
.zs-sec-cap{margin-top:10px;font-size:16px;font-weight:600;color:var(--e-global-color-secondary)}
.zs-sec-cap{font-style:normal}

/* ---------- Latest projects ---------- */
.zs-pj-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px 24px;margin-top:8px}
.zs-pj-card{display:flex;flex-direction:column;gap:12px;color:var(--e-global-color-secondary);text-decoration:none}
.zs-pj-card__img{display:block;border-radius:20px;overflow:hidden;background:#F2F3F7}
.zs-pj-card__img img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;object-position:top;transition:transform .4s ease}
.zs-pj-card:hover .zs-pj-card__img img{transform:scale(1.03)}
.zs-pj-card__name{font-family:"Inter Tight",Inter,sans-serif;font-size:22px;font-weight:700;line-height:1.2}
.zs-pj-card__tags{display:flex;flex-wrap:wrap;gap:8px}
.elementor-kit-10 .zs-pj-card__tags .zs-tag{color:var(--e-global-color-secondary);border-color:rgba(21,21,21,.2);background:transparent}
.elementor-kit-10 .zs-pj-card__tags .zs-tag:first-child{color:#fff;background:var(--e-global-color-primary);border-color:var(--e-global-color-primary)}
@media(max-width:1024px){.zs-pj-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:767px){.zs-pj-grid{grid-template-columns:1fr;gap:32px}}
.zs-pj-shots{display:grid;grid-template-columns:minmax(0,2.2fr) minmax(0,1fr);gap:16px;align-items:start}
.zs-pj-shots img{display:block;width:100%;height:auto;border-radius:20px;box-shadow:0 1px 0 rgba(21,21,21,.08),0 12px 40px rgba(21,21,21,.10)}
.zs-pj-shots img:last-child{aspect-ratio:9/16;object-fit:cover;object-position:top}
@media(max-width:767px){.zs-pj-shots{grid-template-columns:1fr 1fr;gap:12px}.zs-pj-shots img:first-child{grid-column:1/-1}}
.zs-pj-quote{margin:0;padding:48px;border-radius:28px;background:var(--e-global-color-accent);color:var(--e-global-color-secondary)}
.zs-pj-quote blockquote{margin:0;padding:0;border:0;font-family:"Inter Tight",Inter,sans-serif;font-size:clamp(22px,2.4vw,32px);font-weight:600;line-height:1.35;color:var(--e-global-color-secondary)}
.zs-pj-quote figcaption{margin-top:20px;font-size:16px;font-weight:700}
.zs-pj-quote p{margin:8px 0 0;font-size:16px}
@media(max-width:767px){.zs-pj-quote{padding:28px}}
.elementor-kit-10 .zs-cs-facts dd a{color:var(--e-global-color-primary);text-decoration:underline;text-underline-offset:3px}
.zs-pj-quote figcaption{font-style:normal}
.zs-cs-glance .zs-lead+.zs-lead{margin-top:14px}
/* project heroes with a very long word in the headline (Glebe Farm Foods) */
@media(max-width:767px){.elementor-kit-10 .zs-hero--long .elementor-element-210b101 .elementor-heading-title{font-size:7vw !important}}
/* project pages on phones: a little space under "The story" */
@media(max-width:767px){.elementor-kit-10 .zs-cs-glance .zs-h2{margin-bottom:12px}}

/* ---------- Huntingdon page ---------- */
.zs-hu-towns{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0 0;padding:0;list-style:none}
.zs-hu-towns li{margin:0;padding:10px 16px;border-radius:999px;background:#F2F3F7;font-size:16px;font-weight:500;color:var(--e-global-color-secondary)}

/* ---------- Insights ---------- */
.zs-post{max-width:740px;margin:0 auto}
.zs-post p,.zs-post li{font-size:18px;line-height:1.7;color:#3A3A3A}
.zs-post p{margin:0 0 18px}
.zs-post .zs-post__intro{font-size:22px;line-height:1.5;font-weight:600;color:var(--e-global-color-secondary)}
.elementor-kit-10 .zs-post h2{margin:44px 0 14px;font-family:"Inter Tight",Inter,sans-serif;font-size:30px;line-height:1.2;color:var(--e-global-color-secondary)}
.zs-post .zs-ticks{margin:8px 0 22px}
.elementor-kit-10 .zs-post a{color:var(--e-global-color-primary);text-decoration:underline;text-underline-offset:3px}
.zs-post__author{display:flex;gap:20px;align-items:flex-start;margin:48px 0 0;padding:28px;border-radius:24px;background:#F2F3F7}
.zs-post__author img{flex:0 0 72px;width:72px;height:72px;border-radius:50%;object-fit:cover}
.zs-post__author p{margin:0 0 8px;font-size:16px;line-height:1.55}
.zs-post__author .zs-post__author-name{font-weight:700;color:var(--e-global-color-secondary)}
.zs-post__cta{margin-top:32px}
.elementor-kit-10 .zs-post .zs-post__cta a{text-decoration:none}
.zs-post-card__excerpt{font-size:16px;line-height:1.55;color:#5C5C5C}
.zs-post-feature{display:block;position:relative;text-decoration:none}
.zs-post-feature__label{position:absolute;left:16px;right:16px;bottom:16px;padding:12px 16px;border-radius:14px;background:rgba(255,255,255,.94);font-size:15px;font-weight:600;line-height:1.35;color:var(--e-global-color-secondary)}
@media(max-width:767px){.zs-post p,.zs-post li{font-size:17px}.zs-post .zs-post__intro{font-size:20px}.elementor-kit-10 .zs-post h2{font-size:24px;margin-top:36px}.zs-post__author{flex-direction:column;padding:22px}}
.zs-post-video video{display:block;width:100%;max-width:460px;aspect-ratio:3/4;margin:0 auto;border-radius:24px;background:#151515;object-fit:cover}

/* ---------- Insights index: editorial layout ---------- */
.zs-ins-head{padding-bottom:48px}
.elementor-kit-10 .zs-ins-h1{margin:8px 0 18px;font-family:"Monument Extended","Inter Tight",sans-serif;font-size:clamp(44px,7vw,96px);font-weight:800;line-height:.95;text-transform:uppercase;color:var(--e-global-color-secondary)}
.zs-ins-intro{max-width:640px}
.zs-ins-card{display:flex;flex-direction:column;gap:22px;color:var(--e-global-color-secondary);text-decoration:none}
.zs-ins-card__img{display:block;border-radius:24px;overflow:hidden;background:#F2F3F7}
.zs-ins-card__img img{display:block;width:100%;height:auto;aspect-ratio:1/1;object-fit:cover;transition:transform .4s ease}
.zs-ins-card:hover .zs-ins-card__img img{transform:scale(1.03)}
.zs-ins-card__body{display:flex;flex-direction:column;gap:14px}
.zs-ins-card__meta{font-size:14px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:#5C5C5C}
.elementor-kit-10 .zs-ins-card__title{margin:0;font-family:"Monument Extended","Inter Tight",sans-serif;font-size:clamp(26px,2.6vw,40px);font-weight:800;line-height:1.05;text-transform:uppercase;color:var(--e-global-color-secondary)}
.zs-ins-card__excerpt{margin:0;font-size:19px;line-height:1.55;color:#3A3A3A}
.zs-ins-card__more{font-weight:600;color:var(--e-global-color-primary);text-decoration:underline;text-underline-offset:3px}
.zs-ins-card--feature{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px;align-items:center}
.zs-ins-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:56px 32px;margin-top:80px}
.elementor-kit-10 .zs-ins-grid .zs-ins-card__title{font-size:clamp(20px,1.8vw,26px)}
@media(max-width:1024px){.zs-ins-card--feature{grid-template-columns:1fr;gap:24px}.zs-ins-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:767px){.zs-ins-head{padding-bottom:32px}.zs-ins-grid{grid-template-columns:1fr;margin-top:56px}.zs-ins-card__excerpt{font-size:18px}}
/* Insights titles use the display font, like the current site (the site-wide heading rule would force Inter Tight) */
#zs-ins-list .zs-ins-card__title{font-family:"Monument Extended","Inter Tight",sans-serif !important;text-transform:uppercase !important;font-weight:800;letter-spacing:0}

/* ---------- Legal pages and 404 ---------- */
.elementor-kit-10 .zs-legal-h1{font-size:clamp(36px,5.4vw,72px)}
.zs-legal-updated{margin:14px 0 0;font-size:15px;color:#5C5C5C}
.zs-legal-company{margin-top:40px;font-size:15px;color:#5C5C5C}
.zs-404{padding-top:120px;padding-bottom:140px}
.zs-404__code{margin:0 0 8px;font-family:"Monument Extended","Inter Tight",sans-serif;font-size:clamp(96px,16vw,220px);font-weight:800;line-height:.9;color:var(--e-global-color-accent)}
.zs-404 .zs-lead{max-width:620px;margin-bottom:28px}
.zs-404__links{display:flex;flex-wrap:wrap;gap:10px;margin:40px 0 0;padding:0;list-style:none}
.zs-404__links a{display:inline-block;padding:10px 16px;border:1px solid rgba(255,255,255,.25);border-radius:999px;color:#fff;text-decoration:none;font-size:16px}
.zs-404__links a:hover{border-color:var(--e-global-color-accent);color:var(--e-global-color-accent)}
@media(max-width:767px){.zs-404{padding-top:72px;padding-bottom:88px}}
.zs-legal .zs-post{margin-left:0}
.elementor-kit-10 .zs-404 .zs-lead{color:rgba(255,255,255,.82)}

/* ---------- Growth Partner ---------- */
.zs-ee-gp{margin:28px 0 8px;padding:28px 32px;border-radius:24px;background:#151515;color:#fff;background-image:radial-gradient(circle at 90% 0%,rgba(52,82,255,.5),transparent 55%)}
.zs-ee-gp .zs-eyebrow{color:#DDFE65}
.elementor-kit-10 .zs-ee-gp h3{margin:6px 0 10px;color:#fff;font-size:26px}
.zs-ee-gp p{margin:0 0 16px;max-width:760px;color:rgba(255,255,255,.85)}
.elementor-kit-10 .zs-ee-gp__link{display:inline-block;padding:12px 20px;border-radius:999px;background:#DDFE65;color:#151515;font-weight:700;text-decoration:none}
.zs-gp-compare{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:8px}
.zs-gp-compare>div{padding:28px;border-radius:24px;background:#F2F3F7}
.zs-gp-compare>div:last-child{background:#151515;color:#fff}
.elementor-kit-10 .zs-gp-compare h3{margin:0 0 12px;font-size:22px}
.elementor-kit-10 .zs-gp-compare>div:last-child h3{color:#DDFE65}
.zs-gp-compare ul{margin:0;padding-left:20px}.zs-gp-compare li{margin:6px 0;line-height:1.5}
@media(max-width:767px){.zs-gp-compare{grid-template-columns:1fr}.zs-ee-gp{padding:24px}}
.zs-gp-price .zs-ee-tiers{grid-template-columns:minmax(0,560px)}

/* Insights call-to-action buttons keep their own colours (28 Oct 2026: the primary one showed blue text on blue) */
.elementor-kit-10 .zs-post .zs-post__cta .elementor-button,.elementor-kit-10 .zs-post .zs-post__cta .elementor-button:visited{color:#fff}
.elementor-kit-10 .zs-post .zs-post__cta .elementor-button:hover,.elementor-kit-10 .zs-post .zs-post__cta .elementor-button:focus{color:#151515}
.elementor-kit-10 .zs-post .zs-post__cta .zs-btn--outline-dark .elementor-button{color:#151515}
.zs-post-video--inline{margin:28px 0}.zs-post-video--inline video{display:block;width:100%;max-width:380px;aspect-ratio:3/4;border-radius:20px;background:#151515;object-fit:cover}
.zs-post-video__caption{margin:10px 0 0 !important;font-size:15px !important;color:#5C5C5C !important}
