:root {
  --primary: #5A6B3D;
  --primary-dark: #3F4D2B;
  --primary-soft: #DDE5CB;
  --accent: #CBB78D;
  --accent-dark: #A89162;
  --bg: #F6F7F1;
  --surface: #FFFFFF;
  --surface-alt: #FAFBF6;
  --text: #26301F;
  --muted: #68705B;
  --border: #DDE3D1;
  --success-bg: #ECF5E7;
  --success-text: #355328;
  --danger-bg: #FCECEC;
  --danger-text: #8E2B2B;
  --radius: 18px;
  --radius-sm: 14px;
  --radius-lg: 28px;
  --shadow: 0 16px 44px rgba(55, 69, 36, .10);
  --shadow-hover: 0 20px 54px rgba(55, 69, 36, .16);
  --shadow-soft: 0 10px 30px rgba(55, 69, 36, .06);
}

* { box-sizing: border-box; }
html { direction: rtl; scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: 'Cairo', sans-serif;
  background: linear-gradient(180deg, #FBFCF8 0%, var(--bg) 100%);
  color: var(--text);
  line-height: 1.85;
}
a { color: inherit; text-decoration: none; }
img { max-width: 100%; height: auto; display: block; }
main { min-height: 60vh; }
.zs-container { width: min(1220px, calc(100% - 32px)); margin: 0 auto; }
.zs-section { padding: 88px 0; position: relative; }
.zs-section--compact { padding: 56px 0; }
.zs-section--tint { background: linear-gradient(180deg, rgba(90,107,61,.04), rgba(203,183,141,.08)); }
.zs-section--olive-soft { background: linear-gradient(180deg, rgba(221,229,203,.55), rgba(250,251,246,.9)); }

.zs-header {
  position: sticky;
  top: 0;
  z-index: 50;
  background: rgba(250, 251, 246, .88);
  backdrop-filter: blur(14px);
  border-bottom: 1px solid rgba(221, 227, 209, .8);
}
.zs-header__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 14px 0;
}
.zs-brand { display: flex; align-items: center; gap: 12px; font-weight: 800; color: var(--primary-dark); }
.zs-brand__mark {
  width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
  border-radius: 15px;
  background: linear-gradient(145deg, var(--primary), var(--primary-dark));
  color: white;
  box-shadow: var(--shadow-soft);
}
.zs-brand__text { font-size: 18px; letter-spacing: .2px; }
.zs-nav { display: none; gap: 18px; color: var(--muted); font-weight: 700; }
.zs-nav a { position: relative; }
.zs-nav a::after {
  content: '';
  position: absolute;
  inset-inline-start: 0;
  bottom: -6px;
  width: 0;
  height: 2px;
  border-radius: 999px;
  background: var(--accent);
  transition: width .25s ease;
}
.zs-nav a:hover { color: var(--primary-dark); }
.zs-nav a:hover::after { width: 100%; }

.zs-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  background: linear-gradient(135deg, var(--primary), var(--primary-dark));
  color: #fff;
  border: 1px solid var(--primary);
  border-radius: 16px;
  padding: 14px 22px;
  font-weight: 800;
  cursor: pointer;
  box-shadow: var(--shadow);
  transition: .25s ease;
}
.zs-btn:hover { transform: translateY(-2px); box-shadow: var(--shadow-hover); }
.zs-btn--sm { padding: 11px 16px; font-size: 14px; }
.zs-btn--xl { padding: 16px 26px; min-height: 56px; }
.zs-btn--full { width: 100%; }
.zs-btn--ghost {
  background: rgba(255,255,255,.75);
  color: var(--primary-dark);
  border-color: rgba(90,107,61,.22);
  box-shadow: none;
}
.zs-btn--ghost:hover { background: #fff; }
.zs-btn--sand {
  background: linear-gradient(135deg, var(--accent), #d8c59f);
  color: var(--primary-dark);
  border-color: rgba(255,255,255,.18);
}
.zs-btn--ghost-light {
  background: rgba(255,255,255,.10);
  color: #fff;
  border-color: rgba(255,255,255,.24);
  box-shadow: none;
}

.zs-kicker {
  color: var(--primary);
  font-weight: 800;
  letter-spacing: .3px;
  display: inline-block;
  margin-bottom: 10px;
}
.zs-copy { color: var(--muted); font-size: 17px; margin: 0 0 20px; }

.zs-hero {
  padding: 86px 0 44px;
  overflow: hidden;
  background:
    radial-gradient(circle at 12% 18%, rgba(203,183,141,.18), transparent 24%),
    radial-gradient(circle at 86% 14%, rgba(90,107,61,.16), transparent 18%),
    linear-gradient(180deg, #FCFDF9 0%, #F6F7F1 100%);
}
.zs-hero__grid { display: grid; gap: 28px; align-items: center; }
.zs-hero__grid--wide { grid-template-columns: 1fr; }
.zs-hero__content { position: relative; z-index: 2; }
.zs-hero h1 {
  margin: 0 0 16px;
  font-size: clamp(32px, 5vw, 54px);
  line-height: 1.28;
  color: var(--primary-dark);
}
.zs-hero__lead { margin: 0 0 10px; color: var(--primary); font-size: 22px; font-weight: 700; }
.zs-hero__sublead { margin: 0; color: var(--muted); font-size: 18px; }
.zs-hero__actions { display: flex; flex-wrap: wrap; gap: 12px; margin: 24px 0 18px; }
.zs-pill-row { display: flex; flex-wrap: wrap; gap: 10px; }
.zs-pill-row--large .zs-pill { padding: 10px 14px; }
.zs-pill {
  background: rgba(255,255,255,.88);
  color: var(--primary-dark);
  border: 1px solid rgba(90,107,61,.12);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border-radius: 999px;
  padding: 8px 12px;
  font-size: 13px;
  font-weight: 800;
  box-shadow: var(--shadow-soft);
}
.zs-pill__dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--primary), var(--accent));
}

.zs-hero__visual {
  position: relative;
  display: flex;
  justify-content: center;
  min-height: 340px;
}
.zs-hero-visual-card {
  width: min(560px, 100%);
  background: rgba(255,255,255,.82);
  border: 1px solid rgba(221,227,209,.86);
  border-radius: 32px;
  padding: 16px;
  box-shadow: var(--shadow-hover);
}
.zs-hero-visual-card img { border-radius: 24px; width: 100%; }
.zs-floating-note {
  position: absolute;
  background: rgba(255,255,255,.92);
  border: 1px solid rgba(221,227,209,.9);
  box-shadow: var(--shadow);
  border-radius: 18px;
  padding: 14px 16px;
  min-width: 180px;
}
.zs-floating-note strong { display: block; color: var(--primary-dark); }
.zs-floating-note span { color: var(--muted); font-size: 14px; }
.zs-floating-note--top { top: 10px; inset-inline-start: 0; }
.zs-floating-note--bottom { bottom: 12px; inset-inline-end: 0; }

.zs-overlap-stats { margin-top: -18px; }
.zs-stats-strip {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 14px;
}
.zs-stat-box {
  background: rgba(255,255,255,.88);
  border: 1px solid rgba(221,227,209,.92);
  border-radius: 22px;
  padding: 20px 16px;
  box-shadow: var(--shadow-soft);
}
.zs-stat-box strong {
  display: block;
  color: var(--primary-dark);
  font-size: clamp(24px, 5vw, 36px);
  line-height: 1;
  margin-bottom: 8px;
}
.zs-stat-box span { color: var(--muted); font-size: 14px; }

.zs-section-head { max-width: 760px; margin: 0 auto 28px; text-align: center; }
.zs-section-head--left { text-align: right; margin-inline: 0 auto; }
.zs-section-head h1,
.zs-section-head h2 {
  margin: 0 0 10px;
  color: var(--primary-dark);
  font-size: clamp(28px, 4vw, 40px);
  line-height: 1.35;
}

.zs-grid { display: grid; gap: 20px; }
.zs-grid--2,
.zs-grid--3,
.zs-grid--4,
.zs-grid--cards,
.zs-grid--single,
.zs-directory { grid-template-columns: 1fr; }
.zs-grid--split,
.zs-grid--split-alt { align-items: center; }

.zs-mock-card,
.zs-card,
.zs-filter-card {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  box-shadow: var(--shadow-soft);
  padding: 22px;
}
.zs-card--soft {
  background: linear-gradient(180deg, #fff, var(--surface-alt));
}

.zs-feature-list { display: grid; gap: 14px; margin-top: 20px; }
.zs-feature-inline {
  display: grid;
  grid-template-columns: 48px 1fr;
  gap: 14px;
  align-items: start;
}
.zs-feature-inline strong { display: block; margin-bottom: 4px; color: var(--primary-dark); }
.zs-feature-inline p { margin: 0; color: var(--muted); }
.zs-icon-badge {
  width: 48px;
  height: 48px;
  display: grid;
  place-items: center;
  border-radius: 16px;
  background: linear-gradient(135deg, rgba(90,107,61,.12), rgba(203,183,141,.16));
  color: var(--primary-dark);
  font-weight: 900;
}

.zs-showcase-stack {
  display: grid;
  gap: 16px;
  align-items: center;
}
.zs-showcase-image,
.zs-visual-panel,
.zs-gallery-card {
  background: rgba(255,255,255,.86);
  border: 1px solid rgba(221,227,209,.86);
  border-radius: 28px;
  box-shadow: var(--shadow);
  overflow: hidden;
}
.zs-showcase-image img,
.zs-visual-panel img,
.zs-gallery-card img { width: 100%; }
.zs-showcase-image--small { max-width: 78%; justify-self: end; }

.zs-process-card {
  position: relative;
  padding: 24px;
  border-radius: 24px;
  background: rgba(255,255,255,.9);
  border: 1px solid rgba(221,227,209,.9);
  box-shadow: var(--shadow-soft);
}
.zs-process-card__num {
  display: inline-flex;
  min-width: 58px;
  height: 38px;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: rgba(90,107,61,.1);
  color: var(--primary-dark);
  font-weight: 900;
  margin-bottom: 16px;
}
.zs-process-card h3,
.zs-mini-card h3,
.zs-testimonial-card strong { color: var(--primary-dark); margin-top: 0; }
.zs-process-card p,
.zs-mini-card p,
.zs-testimonial-card p { margin: 0; color: var(--muted); }

.zs-profile-card { display: flex; flex-direction: column; gap: 14px; }
.zs-profile-card--featured {
  padding: 24px;
  border-radius: 24px;
  transition: transform .25s ease, box-shadow .25s ease;
}
.zs-profile-card--featured:hover {
  transform: translateY(-4px);
  box-shadow: var(--shadow-hover);
}
.zs-profile-card__top { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.zs-profile-card__avatar,
.zs-avatar {
  width: 76px;
  height: 76px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: linear-gradient(145deg, #EFF4E4, #FFF);
  color: var(--primary-dark);
  font-weight: 900;
  font-size: 28px;
  border: 1px solid var(--border);
}
.zs-badge,
.zs-status {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  padding: 8px 12px;
  font-size: 13px;
  font-weight: 800;
}
.zs-badge { background: rgba(90,107,61,.1); color: var(--primary-dark); }
.zs-status { background: rgba(203,183,141,.22); color: #7A6641; }
.zs-profile-card h3 { margin: 0; color: var(--primary-dark); font-size: 21px; }
.zs-profile-card p { margin: 0; color: var(--muted); }

.zs-gallery-mosaic {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}
.zs-gallery-card--wide { grid-column: 1 / -1; }

.zs-mini-card { min-height: 100%; }
.zs-testimonial-card { min-height: 100%; background: linear-gradient(180deg, #fff, #FBFCF8); }
.zs-testimonial-card strong { display: block; margin-top: 14px; }

.zs-faq { display: grid; gap: 14px; }
.zs-faq summary {
  cursor: pointer;
  font-weight: 800;
  color: var(--primary-dark);
  list-style: none;
}
.zs-faq summary::-webkit-details-marker { display: none; }
.zs-faq p { margin: 14px 0 0; color: var(--muted); }

.zs-cta-box {
  display: flex;
  flex-direction: column;
  gap: 18px;
  align-items: start;
  background: linear-gradient(135deg, var(--primary-dark), var(--primary));
  color: white;
  border-radius: 28px;
  padding: 30px;
  box-shadow: var(--shadow-hover);
}
.zs-cta-box--olive { position: relative; overflow: hidden; }
.zs-cta-box--olive::before {
  content: '';
  position: absolute;
  inset: auto auto -70px -40px;
  width: 180px;
  height: 180px;
  background: radial-gradient(circle, rgba(255,255,255,.14), transparent 66%);
}
.zs-cta-box .zs-kicker { color: #E8DBC0; }
.zs-cta-box h2 { margin: 0 0 10px; line-height: 1.4; }
.zs-cta-box p { margin: 0; color: rgba(255,255,255,.82); }
.zs-cta-box__actions { display: flex; flex-wrap: wrap; gap: 12px; }

.zs-footer {
  background: linear-gradient(180deg, #354126, #27311B);
  color: #E7ECDE;
  padding: 36px 0 18px;
}
.zs-footer__grid { display: grid; gap: 18px; }
.zs-footer__grid h3, .zs-footer__grid h4 { margin-top: 0; }
.zs-footer__grid ul { list-style: none; padding: 0; margin: 0; }
.zs-footer__bottom {
  border-top: 1px solid rgba(255,255,255,.12);
  margin-top: 20px;
  padding-top: 18px;
  color: rgba(255,255,255,.75);
}

label { display: block; font-weight: 700; color: var(--primary-dark); margin-bottom: 14px; }
input, textarea, select {
  width: 100%;
  border: 1px solid var(--border);
  background: #fff;
  border-radius: 14px;
  padding: 14px;
  font: inherit;
  color: var(--text);
  margin-top: 8px;
}
input:focus, textarea:focus, select:focus {
  outline: none;
  border-color: rgba(90,107,61,.42);
  box-shadow: 0 0 0 4px rgba(90,107,61,.08);
}
.zs-form-grid { display: grid; gap: 16px; }
.zs-form-layout { display: grid; gap: 22px; max-width: 920px; }
.zs-progress {
  height: 10px;
  background: #E7ECD9;
  border-radius: 999px;
  overflow: hidden;
  margin-bottom: 24px;
}
.zs-progress span {
  display: block;
  width: 33.333%;
  height: 100%;
  background: linear-gradient(90deg, var(--accent), var(--primary));
  transition: width .25s ease;
}
.zs-step { display: none; }
.zs-step.is-active { display: block; }
.zs-step-actions { display: flex; gap: 12px; justify-content: space-between; }

.zs-alert, .zs-success-box, .zs-error-box {
  border-radius: var(--radius-sm);
  padding: 16px 18px;
  margin-bottom: 18px;
}
.zs-alert { background: rgba(90,107,61,.08); border: 1px solid rgba(90,107,61,.14); }
.zs-alert--privacy { background: rgba(203,183,141,.18); border-color: rgba(203,183,141,.42); }
.zs-success-box { background: var(--success-bg); color: var(--success-text); }
.zs-error-box { background: var(--danger-bg); color: var(--danger-text); }

.zs-list { margin: 0; padding-right: 18px; }
.zs-list--clean { padding-right: 18px; }
.zs-list--clean li { margin-bottom: 10px; color: var(--muted); }
.zs-single-card h1 { margin-top: 12px; color: var(--primary-dark); }
.zs-stats { display: grid; grid-template-columns: repeat(1,1fr); gap: 12px; margin: 18px 0; }
.zs-stats div { background: #F8FAF4; border: 1px solid var(--border); border-radius: 14px; padding: 16px; }
.zs-stats strong { display: block; color: var(--primary-dark); font-size: 20px; }
.zs-stats span, .zs-note { color: var(--muted); font-size: 14px; }
.zs-note { margin: 14px 0 0; }
.zs-filter-card, .zs-sidebar-card { position: sticky; top: 88px; }
.zs-filter-group { border-top: 1px solid var(--border); padding-top: 14px; margin-top: 14px; }
.zs-check-grid { margin-top: 10px; display: grid; gap: 8px; }
.zs-check { display: flex; gap: 8px; align-items: center; color: var(--text); font-weight: 600; }
.zs-check input { width: auto; margin: 0; }
.zs-check--other { margin-top: 4px; }
.zs-other-input { margin-top: 8px; }
.zs-other-input[hidden] { display: none !important; }
.zs-other-input input { width: 100%; }
.zs-empty-state { text-align: center; padding: 40px 24px; }
.zs-pagination { display: flex; justify-content: center; margin-top: 22px; flex-wrap: wrap; }
.zs-pagination .page-numbers {
  background: #fff;
  border: 1px solid var(--border);
  padding: 10px 14px;
  margin: 0 4px 8px;
  border-radius: 12px;
}
.zs-pagination .current { background: var(--primary); color: #fff; }
.zs-centered { text-align: center; }

@media (min-width: 768px) {
  .zs-nav { display: flex; }
  .zs-grid--2 { grid-template-columns: repeat(2, 1fr); }
  .zs-grid--3 { grid-template-columns: repeat(3, 1fr); }
  .zs-grid--4 { grid-template-columns: repeat(2, 1fr); }
  .zs-grid--cards { grid-template-columns: repeat(2, 1fr); }
  .zs-grid--single { grid-template-columns: minmax(0, 2fr) minmax(320px, 1fr); }
  .zs-directory { grid-template-columns: minmax(290px, 320px) minmax(0, 1fr); }
  .zs-footer__grid { grid-template-columns: 1.6fr 1fr 1fr; }
  .zs-form-grid--2 { grid-template-columns: repeat(2, 1fr); }
  .zs-hero__grid--wide { grid-template-columns: 1.05fr .95fr; }
  .zs-stats { grid-template-columns: repeat(3,1fr); }
  .zs-stats-strip { grid-template-columns: repeat(4, 1fr); }
  .zs-cta-box { flex-direction: row; align-items: center; justify-content: space-between; }
}

@media (min-width: 1100px) {
  .zs-grid--4 { grid-template-columns: repeat(4, 1fr); }
  .zs-grid--cards { grid-template-columns: repeat(3, 1fr); }
}


/* === MOBILE MENU + LOADER + SOFT ANIMATIONS === */
body.zs-drawer-open{overflow:hidden}
.zs-header.is-scrolled{box-shadow:0 12px 34px rgba(63,77,43,.08)}
.zs-header__actions{display:flex;align-items:center;gap:10px}
.zs-header__desktop-cta{display:none}
.zs-mobile-toggle{width:48px;height:48px;border-radius:16px;border:1px solid rgba(90,107,61,.16);background:rgba(255,255,255,.88);display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;cursor:pointer;box-shadow:var(--shadow-soft)}
.zs-mobile-toggle span{display:block;width:20px;height:2px;border-radius:999px;background:var(--primary-dark);transition:.28s ease}
body.zs-drawer-open .zs-mobile-toggle span:nth-child(1){transform:translateY(7px) rotate(45deg)}
body.zs-drawer-open .zs-mobile-toggle span:nth-child(2){opacity:0}
body.zs-drawer-open .zs-mobile-toggle span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.zs-mobile-overlay{position:fixed;inset:0;background:rgba(20,26,13,.34);backdrop-filter:blur(4px);opacity:0;visibility:hidden;transition:.28s ease;z-index:69}
body.zs-drawer-open .zs-mobile-overlay{opacity:1;visibility:visible}
.zs-mobile-drawer{position:fixed;top:0;inset-inline-end:0;width:min(86vw,360px);height:100vh;background:linear-gradient(180deg,#fbfcf8,#f3f6ec);border-inline-start:1px solid var(--border);box-shadow:-18px 0 50px rgba(63,77,43,.12);padding:18px 18px 24px;transform:translateX(110%);transition:transform .32s ease;z-index:70;display:flex;flex-direction:column}
body.zs-drawer-open .zs-mobile-drawer{transform:translateX(0)}
.zs-mobile-drawer__head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:16px;border-bottom:1px solid var(--border)}
.zs-mobile-drawer__brand{display:flex;align-items:center;gap:12px}.zs-mobile-drawer__brand strong{display:block;color:var(--primary-dark)}.zs-mobile-drawer__brand small{color:var(--muted)}
.zs-mobile-close{width:42px;height:42px;border-radius:14px;border:1px solid var(--border);background:#fff;color:var(--primary-dark);font-size:28px;line-height:1;cursor:pointer}
.zs-mobile-drawer__nav{display:grid;gap:10px;padding:18px 0;flex:1;overflow:auto}
.zs-mobile-drawer__nav a{padding:14px 16px;border-radius:16px;background:rgba(255,255,255,.75);border:1px solid rgba(90,107,61,.10);font-weight:800;color:var(--primary-dark)}
.zs-mobile-drawer__footer{padding-top:10px;border-top:1px solid var(--border)}
.zs-site-loader{position:fixed;inset:0;background:linear-gradient(180deg,#fbfcf8,#f3f6ec);display:grid;place-items:center;z-index:120;transition:opacity .38s ease,visibility .38s ease}.zs-site-loader.is-hidden{opacity:0;visibility:hidden}
.zs-site-loader__inner{text-align:center;padding:28px 24px;border-radius:28px;background:rgba(255,255,255,.84);border:1px solid rgba(90,107,61,.10);box-shadow:var(--shadow);min-width:min(88vw,320px)}
.zs-site-loader__ring{width:64px;height:64px;display:block;margin:0 auto 14px;border-radius:50%;border:4px solid rgba(90,107,61,.12);border-top-color:var(--primary);animation:zsSpin 1s linear infinite}.zs-site-loader strong{display:block;color:var(--primary-dark);font-size:22px;margin-bottom:6px}.zs-site-loader small{color:var(--muted)}
.zs-reveal{opacity:0;transform:translateY(24px) scale(.985);transition:opacity .75s ease,transform .75s ease}.zs-reveal.is-visible{opacity:1;transform:none}
.zs-floating-note,.zs-hero-visual-card,.zs-process-card,.zs-profile-card--featured,.zs-stat-box{will-change:transform}
.zs-floating-note{animation:zsFloat 6.5s ease-in-out infinite}.zs-floating-note--bottom{animation-delay:1.4s}
@keyframes zsSpin{to{transform:rotate(360deg)}}
@keyframes zsFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
@media (min-width:768px){.zs-header__desktop-cta{display:inline-flex}.zs-mobile-toggle,.zs-mobile-overlay,.zs-mobile-drawer{display:none!important}}
@media (prefers-reduced-motion:reduce){.zs-site-loader__ring,.zs-floating-note{animation:none}.zs-reveal{opacity:1;transform:none;transition:none}html{scroll-behavior:auto}}


/* === ARCHIVE + SINGLE ENHANCEMENTS === */
.zs-directory-hero{padding:28px 0 10px}.zs-directory-hero__grid{display:grid;gap:20px;align-items:center}.zs-directory-hero__content h1{margin:0 0 10px;color:var(--primary-dark);font-size:clamp(28px,4vw,42px);line-height:1.3}.zs-directory-hero__content p{margin:0 0 16px;color:var(--muted)}.zs-directory-hero__visual img{border-radius:22px}.zs-directory-hero__stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:18px}.zs-directory-mini-stat{background:rgba(255,255,255,.82);border:1px solid rgba(90,107,61,.10);border-radius:18px;padding:16px;text-align:center}.zs-directory-mini-stat strong{display:block;color:var(--primary-dark);font-size:22px;margin-bottom:4px}.zs-directory-mini-stat span{color:var(--muted);font-size:13px}
.zs-directory-layout{display:grid;grid-template-columns:1fr;gap:20px}.zs-filter-card--premium{background:linear-gradient(180deg,#fff,var(--surface-alt))}.zs-filter-card__head h2{margin:0 0 6px;color:var(--primary-dark)}.zs-filter-card__head p{margin:0 0 16px;color:var(--muted)}.zs-filter-form__actions{display:grid;gap:10px;margin-top:16px}.zs-filter-tip p{margin:8px 0 0}.zs-results-topbar{display:flex;flex-direction:column;gap:6px;margin-bottom:18px}.zs-results-topbar strong{color:var(--primary-dark)}.zs-profile-card--directory{position:relative;overflow:hidden}.zs-profile-card--directory:before{content:'';position:absolute;inset:0 0 auto 0;height:4px;background:linear-gradient(90deg,var(--accent),var(--primary));opacity:.9}.zs-profile-card__footer{margin-top:auto}.zs-empty-state--enhanced img{width:min(260px,100%);margin:0 auto 16px}.zs-empty-state__actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}
.zs-single-hero{padding:28px 0 10px}.zs-single-hero__grid{display:grid;gap:20px;align-items:stretch}.zs-single-hero-card{padding:24px 24px 18px;background:linear-gradient(180deg,#fff,var(--surface-alt))}.zs-single-hero-card__main{display:grid;grid-template-columns:84px 1fr;gap:18px;align-items:start;margin:18px 0}.zs-single-hero-card__avatar{width:84px;height:84px;border-radius:28px;display:grid;place-items:center;background:linear-gradient(145deg,#edf3df,#fff);border:1px solid var(--border);font-size:32px;font-weight:900;color:var(--primary-dark);box-shadow:var(--shadow-soft)}.zs-single-hero-card h1{margin:0 0 8px;color:var(--primary-dark);font-size:clamp(28px,4vw,40px)}.zs-single-hero__visual img{border-radius:22px}.zs-stats--hero{margin-top:6px}.zs-single-layout-enhanced{align-items:start}.zs-single-card--enhanced{display:grid;gap:18px}.zs-content-block{padding:2px 0}.zs-content-block h2{margin:0 0 10px;color:var(--primary-dark)}.zs-content-block p{margin:0;color:var(--muted)}.zs-content-block--soft{background:linear-gradient(180deg,#fff,#fbfcf8);border:1px solid var(--border);border-radius:22px;padding:22px}.zs-feature-list--compact{margin-top:10px}.zs-sidebar-card--premium{background:linear-gradient(180deg,#fff,#f9faf6)}.zs-sidebar-card__meta{display:grid;gap:12px;margin-top:18px}.zs-sidebar-meta-item{display:flex;justify-content:space-between;gap:16px;padding:12px 14px;background:#fbfcf8;border:1px solid var(--border);border-radius:16px}.zs-sidebar-meta-item strong{color:var(--primary-dark)}.zs-sidebar-meta-item span{color:var(--muted)}
@media (min-width:768px){.zs-directory-hero__grid{grid-template-columns:1.15fr .85fr}.zs-directory-layout{grid-template-columns:minmax(300px,340px) minmax(0,1fr)}.zs-results-topbar{flex-direction:row;justify-content:space-between;align-items:center}.zs-single-hero__grid{grid-template-columns:1.08fr .92fr}}
@media (max-width:767px){.zs-directory-hero__stats{grid-template-columns:1fr}.zs-single-hero-card__main{grid-template-columns:1fr}.zs-single-hero-card__avatar{margin-inline:auto}}

/* === APP-LIKE MOBILE EXPERIENCE + ROUTE TRANSITIONS === */
html,body{-webkit-tap-highlight-color:transparent}
html{scroll-padding-top:90px}
body{overscroll-behavior-y:contain}
.zs-main{position:relative;transition:transform .35s ease,opacity .35s ease,filter .35s ease}
body.zs-route-entering .zs-main,body.zs-route-entering .zs-header,body.zs-route-entering .zs-footer{opacity:.0;transform:translateY(16px);filter:blur(6px)}
body.zs-route-ready .zs-main,body.zs-route-ready .zs-header,body.zs-route-ready .zs-footer{animation:zsRouteIn .36s ease both}
.zs-page-transition{position:fixed;inset:0;display:grid;place-items:center;background:linear-gradient(180deg,rgba(246,247,241,.94),rgba(243,246,236,.96));backdrop-filter:blur(10px);z-index:140;opacity:0;visibility:hidden;transition:opacity .28s ease,visibility .28s ease}
.zs-page-transition.is-active{opacity:1;visibility:visible}
.zs-page-transition__bar{position:absolute;top:0;left:0;height:3px;width:100%;background:linear-gradient(90deg,var(--accent),var(--primary),var(--accent));background-size:200% 100%;animation:zsRouteBar 1s linear infinite}
.zs-page-transition__logo{width:74px;height:74px;border-radius:24px;display:grid;place-items:center;background:linear-gradient(145deg,var(--primary),var(--primary-dark));color:#fff;font-size:28px;font-weight:900;box-shadow:0 22px 44px rgba(39,49,27,.18)}
.zs-touch-active{transform:scale(.985)!important}
.zs-card,.zs-process-card,.zs-profile-card--featured,.zs-mobile-bottom-nav__item,.zs-mobile-sticky-cta__button,.zs-floating-call{transition:transform .22s ease,box-shadow .22s ease,background-color .22s ease,color .22s ease,opacity .22s ease}

.zs-floating-call{position:fixed;bottom:calc(186px + env(safe-area-inset-bottom,0px));inset-inline-start:14px;z-index:79;display:inline-flex;align-items:center;gap:10px;padding:12px 14px;border-radius:999px;background:linear-gradient(135deg,#25d366,#128c7e);color:#fff;box-shadow:0 16px 36px rgba(18,140,126,.28);border:1px solid rgba(255,255,255,.25);opacity:0;visibility:hidden;transform:translateY(24px) scale(.96)}
.zs-floating-call.is-visible{opacity:1;visibility:visible;transform:none}
.zs-floating-call__icon{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.18);position:relative}
.zs-floating-call__icon:before{content:'✆';font-size:18px;line-height:1}
.zs-floating-call__label{font-weight:900;font-size:13px}

.zs-mobile-sticky-cta{position:fixed;inset-inline:0;bottom:calc(76px + env(safe-area-inset-bottom,0px));z-index:78;padding:10px 12px 0;pointer-events:none;opacity:0;visibility:hidden;transform:translateY(calc(100% + 18px))}
.zs-mobile-sticky-cta.is-visible{opacity:1;visibility:visible;transform:translateY(0)}
.zs-mobile-sticky-cta__inner{width:min(1220px,calc(100% - 18px));margin:0 auto}
.zs-mobile-sticky-cta__bar{pointer-events:auto;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,.95fr);gap:10px;background:rgba(250,251,246,.84);backdrop-filter:blur(14px);border:1px solid rgba(221,227,209,.95);border-radius:26px;padding:10px;box-shadow:0 18px 40px rgba(39,49,27,.18)}
.zs-mobile-sticky-cta__button{display:grid;grid-template-columns:46px minmax(0,1fr);align-items:center;gap:10px;border-radius:20px;padding:13px 12px;position:relative;overflow:hidden;min-height:72px}
.zs-mobile-sticky-cta__button--whatsapp{background:linear-gradient(135deg,var(--primary-dark),var(--primary));color:#fff}
.zs-mobile-sticky-cta__button--register{background:linear-gradient(135deg,#f4efe3,var(--accent));color:var(--primary-dark);border:1px solid rgba(63,77,43,.08)}
.zs-mobile-sticky-cta__button--whatsapp:before,.zs-mobile-sticky-cta__button--register:before{content:'';position:absolute;inset:auto auto -50px -20px;width:120px;height:120px;background:radial-gradient(circle,rgba(255,255,255,.14),transparent 65%)}
.zs-mobile-sticky-cta__icon,.zs-mobile-sticky-cta__register-icon{width:46px;height:46px;border-radius:16px;display:grid;place-items:center;position:relative;z-index:1}
.zs-mobile-sticky-cta__icon{background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.16)}
.zs-mobile-sticky-cta__icon:before{content:'✆';font-size:22px;line-height:1}
.zs-mobile-sticky-cta__register-icon{background:rgba(255,255,255,.48);border:1px solid rgba(63,77,43,.08)}
.zs-mobile-sticky-cta__register-icon:before{content:'＋';font-size:24px;line-height:1;font-weight:900}
.zs-mobile-sticky-cta__content{display:grid;gap:2px;position:relative;z-index:1;min-width:0}
.zs-mobile-sticky-cta__content strong{font-size:14px;line-height:1.35}
.zs-mobile-sticky-cta__content small{font-size:11.5px;line-height:1.45;color:inherit;opacity:.84}

.zs-choice-group{display:grid;gap:10px;margin-bottom:18px}
.zs-choice-group__label{font-weight:800;color:var(--primary-dark)}
.zs-choice-group.is-invalid{padding:12px;border:1px solid rgba(186,84,84,.28);border-radius:18px;background:rgba(255,241,241,.7)}

.zs-mobile-bottom-nav{position:fixed;inset-inline:0;bottom:0;z-index:77;display:grid;grid-template-columns:repeat(4,1fr);gap:8px;padding:10px 12px calc(10px + env(safe-area-inset-bottom,0px));background:rgba(250,251,246,.92);backdrop-filter:blur(16px);border-top:1px solid rgba(221,227,209,.95);box-shadow:0 -10px 30px rgba(39,49,27,.08)}
.zs-mobile-bottom-nav__item{display:grid;justify-items:center;gap:6px;padding:10px 6px;border-radius:18px;color:var(--muted);position:relative}
.zs-mobile-bottom-nav__item.is-active{color:var(--primary-dark);background:linear-gradient(180deg,rgba(90,107,61,.10),rgba(203,183,141,.12))}
.zs-mobile-bottom-nav__item.is-active:before{content:'';position:absolute;top:0;left:50%;transform:translateX(-50%);width:30px;height:3px;border-radius:999px;background:linear-gradient(90deg,var(--accent),var(--primary))}
.zs-mobile-bottom-nav__icon{width:24px;height:24px;position:relative;display:block}
.zs-mobile-bottom-nav__label{font-size:11px;font-weight:800;line-height:1.2}
.zs-mobile-bottom-nav__icon--home:before,.zs-mobile-bottom-nav__icon--home:after,.zs-mobile-bottom-nav__icon--sections:before,.zs-mobile-bottom-nav__icon--sections:after,.zs-mobile-bottom-nav__icon--register:before,.zs-mobile-bottom-nav__icon--register:after,.zs-mobile-bottom-nav__icon--contact:before,.zs-mobile-bottom-nav__icon--contact:after{content:'';position:absolute}
.zs-mobile-bottom-nav__icon--home:before{inset:8px 4px 2px;border:2px solid currentColor;border-top:none;border-radius:0 0 6px 6px}
.zs-mobile-bottom-nav__icon--home:after{top:2px;left:3px;width:18px;height:18px;border-top:2px solid currentColor;border-right:2px solid currentColor;transform:rotate(-45deg)}
.zs-mobile-bottom-nav__icon--sections:before{top:3px;left:3px;width:7px;height:7px;border:2px solid currentColor;border-radius:3px;box-shadow:11px 0 0 -2px currentColor,0 11px 0 -2px currentColor,11px 11px 0 -2px currentColor}
.zs-mobile-bottom-nav__icon--register:before{top:3px;left:10px;width:2px;height:18px;background:currentColor;border-radius:999px}
.zs-mobile-bottom-nav__icon--register:after{top:11px;left:2px;width:18px;height:2px;background:currentColor;border-radius:999px}
.zs-mobile-bottom-nav__icon--contact:before{top:4px;left:2px;width:18px;height:14px;border:2px solid currentColor;border-radius:4px}
.zs-mobile-bottom-nav__icon--contact:after{top:7px;left:5px;width:10px;height:10px;border-left:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(-45deg)}

@keyframes zsRouteBar{0%{background-position:0 0}100%{background-position:200% 0}}
@keyframes zsRouteIn{from{opacity:0;transform:translateY(12px);filter:blur(4px)}to{opacity:1;transform:none;filter:none}}

@media (max-width:767px){
  body{background:linear-gradient(180deg,#f8faf4 0%,#f1f4ea 100%)}
  body.zs-has-mobile-actions{padding-bottom:calc(184px + env(safe-area-inset-bottom,0px))}
  .zs-container{width:min(100% - 18px,1220px)}
  .zs-header{top:0;background:rgba(250,251,246,.72);border-bottom:none;box-shadow:0 8px 30px rgba(39,49,27,.06)}
  .zs-header.is-hidden-up{transform:translateY(calc(-100% - env(safe-area-inset-top,0px)))}
  .zs-header__inner{padding:calc(10px + env(safe-area-inset-top,0px)) 0 10px}
  .zs-brand__mark{width:42px;height:42px;border-radius:14px}
  .zs-brand__text{font-size:17px}
  .zs-main{padding-top:8px}
  .zs-section{padding:54px 0}
  .zs-section--compact{padding:34px 0}
  .zs-card,.zs-filter-card,.zs-mock-card,.zs-process-card,.zs-profile-card--featured{border-radius:22px}
  .zs-hero{padding:44px 0 26px}
  .zs-hero h1{font-size:clamp(28px,8vw,38px);line-height:1.35}
  .zs-copy,.zs-hero__sublead{font-size:15px}
  input,textarea,select,.zs-btn{min-height:52px}
}
@media (max-width:420px){
  .zs-mobile-sticky-cta__bar{grid-template-columns:1fr}
  .zs-floating-call{bottom:calc(256px + env(safe-area-inset-bottom,0px))}
  .zs-mobile-sticky-cta__button{min-height:68px}
  body.zs-has-mobile-actions{padding-bottom:calc(252px + env(safe-area-inset-bottom,0px))}
}
@media (min-width:768px){.zs-mobile-sticky-cta,.zs-mobile-bottom-nav{display:none!important}.zs-floating-call{display:inline-flex!important;bottom:28px}}
@media (prefers-reduced-motion:reduce){.zs-page-transition,.zs-mobile-sticky-cta,.zs-floating-call,.zs-mobile-bottom-nav__item,.zs-main,.zs-card,.zs-process-card,.zs-profile-card--featured,.zs-header{transition:none!important;animation:none!important}.zs-page-transition__bar{animation:none!important}}



/* === PERFORMANCE + IMAGE RENDERING === */
img{content-visibility:auto}
.zs-hero-visual-card img,
.zs-directory-hero__visual img,
.zs-single-hero__visual img,
.zs-showcase-image img,
.zs-visual-panel img,
.zs-gallery-card img{height:auto;aspect-ratio:auto}
.zs-hero-visual-card,
.zs-directory-hero__visual,
.zs-single-hero__visual,
.zs-showcase-image,
.zs-visual-panel,
.zs-gallery-card{contain:layout paint style}
@media (max-width:767px){
  .zs-hero-visual-card img,
  .zs-directory-hero__visual img,
  .zs-single-hero__visual img,
  .zs-showcase-image img,
  .zs-visual-panel img,
  .zs-gallery-card img{transform:translateZ(0)}
}
