/* Zhyrana Website vNext — presentation only. */
:root {
  --zv-ink: #173f4a;
  --zv-text: #203039;
  --zv-muted: #607079;
  --zv-teal: #245c6a;
  --zv-green: #4e887f;
  --zv-sand: #d59a5b;
  --zv-paper: #fbfcf8;
  --zv-cool: #edf5f2;
  --zv-warm: #f7f0e6;
  --zv-line: #d5e1de;
  --zv-white: #fff;
  --zv-radius: 1.25rem;
  --zv-radius-lg: 2rem;
  --zv-shadow: 0 1.5rem 4rem rgba(23, 63, 74, 0.11);
  --zv-container: 78rem;
}

.zhyrana-vnext {
  background: var(--zv-paper);
  color: var(--zv-text);
}

.zhyrana-vnext *,
.zhyrana-vnext *::before,
.zhyrana-vnext *::after {
  box-sizing: border-box;
}

.zhyrana-vnext h1,
.zhyrana-vnext h2,
.zhyrana-vnext h3 {
  color: var(--zv-ink);
  text-wrap: balance;
}

.zhyrana-vnext p {
  text-wrap: pretty;
}

.zv-main,
.zv-main > * {
  margin-block-start: 0 !important;
}

.zv-container {
  width: min(calc(100% - 2rem), var(--zv-container));
  margin-inline: auto;
}

.zv-sr-only,
.zv-chat-form .zv-sr-only {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.zv-header {
  position: sticky;
  z-index: 90;
  top: 0;
  border-bottom: 1px solid rgba(213, 225, 222, 0.88);
  background: rgba(251, 252, 248, 0.95);
  backdrop-filter: blur(16px);
}

.zv-header-inner {
  position: relative;
  display: flex;
  min-height: 5rem;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
}

.zv-wordmark {
  display: inline-flex;
  align-items: baseline;
  color: var(--zv-ink);
  font-size: 1.55rem;
  font-weight: 850;
  letter-spacing: -0.055em;
  line-height: 1;
}

.zv-wordmark span {
  color: var(--zv-sand);
}

.zv-menu-toggle {
  display: inline-flex;
  min-width: 5.2rem;
  min-height: 2.8rem;
  align-items: center;
  justify-content: center;
  gap: 0.7rem;
  border: 1px solid var(--zv-line);
  border-radius: 0.7rem;
  background: var(--zv-white);
  color: var(--zv-ink);
  font-weight: 760;
}

.zv-menu-toggle span,
.zv-menu-toggle span::before {
  display: block;
  width: 1.1rem;
  height: 1px;
  background: currentColor;
  content: "";
}

.zv-menu-toggle span::before {
  transform: translateY(-0.32rem);
}

.zv-nav {
  position: absolute;
  inset: 100% 0 auto;
  z-index: 100;
  display: grid;
  gap: 0.2rem;
  padding: 1rem;
  border: 1px solid var(--zv-line);
  border-radius: 0 0 1rem 1rem;
  background: var(--zv-paper);
  box-shadow: var(--zv-shadow);
}

.zv-nav[hidden] {
  display: none;
}

.zv-nav a,
.zv-nav summary {
  display: flex;
  min-height: 3rem;
  align-items: center;
  padding: 0.55rem 0.7rem;
  border-radius: 0.55rem;
  color: var(--zv-text);
  font-size: 0.9rem;
  font-weight: 700;
  cursor: pointer;
}

.zv-nav a:hover,
.zv-nav summary:hover {
  background: var(--zv-cool);
}

.zv-nav details div {
  display: grid;
  padding-left: 0.75rem;
}

.zv-nav .zv-lang {
  color: var(--zv-teal);
}

.zv-nav .zv-nav-cta {
  display: inline-flex;
  min-height: 3rem;
  align-items: center;
  justify-content: center;
  padding: 0.55rem 0.7rem;
  border: 1px solid transparent;
  border-radius: 0.55rem;
  background: var(--zv-teal);
  color: var(--zv-white);
  font: inherit;
  font-size: 0.9rem;
  font-weight: 700;
  line-height: 1.2;
  cursor: pointer;
}

.zv-eyebrow {
  margin: 0 0 0.9rem;
  color: var(--zv-teal);
  font-size: 0.74rem;
  font-weight: 850;
  letter-spacing: 0.16em;
  line-height: 1.4;
  text-transform: uppercase;
}

.zv-lead {
  max-width: 44rem;
  color: var(--zv-muted);
  font-size: clamp(1.08rem, 2vw, 1.32rem);
  line-height: 1.62;
}

.zv-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin-top: 1.8rem;
}

.zv-button {
  display: inline-flex;
  max-width: 100%;
  min-height: 3.35rem;
  align-items: center;
  justify-content: center;
  gap: 0.8rem;
  padding: 0.8rem 1.15rem;
  border: 1px solid transparent;
  border-radius: 0.75rem;
  font-size: 0.94rem;
  font-weight: 780;
  line-height: 1.2;
  transition: transform 160ms ease, background-color 160ms ease, border-color 160ms ease;
}

.zv-button:hover {
  transform: translateY(-2px);
}

.zv-button-primary {
  background: var(--zv-teal);
  color: var(--zv-white);
}

.zv-button-primary:hover {
  background: var(--zv-ink);
}

.zv-button-secondary {
  border-color: var(--zv-line);
  background: rgba(255, 255, 255, 0.72);
  color: var(--zv-ink);
}

.zv-section {
  padding-block: clamp(4.5rem, 8vw, 7.5rem);
}

.zv-section-heading {
  max-width: 49rem;
  margin-bottom: clamp(2.2rem, 5vw, 4rem);
}

.zv-section-heading h2,
.zv-phone-panel h2,
.zv-contact h2 {
  max-width: 18ch;
  margin-bottom: 1.2rem;
  font-size: clamp(2.15rem, 5vw, 4.15rem);
  line-height: 1.02;
  letter-spacing: -0.05em;
}

.zv-section-heading > p:last-child,
.zv-phone-panel p,
.zv-contact-grid > div:first-child > p:last-child {
  max-width: 44rem;
  color: var(--zv-muted);
  font-size: clamp(1.04rem, 2vw, 1.2rem);
}

.zv-hero {
  position: relative;
  overflow: clip;
  padding-block: clamp(4rem, 8vw, 7rem);
  background:
    linear-gradient(90deg, transparent 0 63%, rgba(247, 240, 230, 0.86) 63% 100%);
}

.zv-hero::before {
  position: absolute;
  width: 34rem;
  height: 34rem;
  top: -22rem;
  left: 46%;
  border: 1px solid rgba(78, 136, 127, 0.22);
  border-radius: 50%;
  content: "";
}

.zv-hero-grid {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: clamp(2.5rem, 7vw, 6rem);
  align-items: center;
}

.zv-hero-grid > *,
.zv-split > *,
.zv-control-grid > *,
.zv-contact-grid > *,
.zv-price-panel > *,
.zv-footer-grid > *,
.zv-step-list li > *,
.zv-control-rail > *,
.zv-chat-topline > * {
  min-width: 0;
}

.zv-hero h1,
.zv-page-hero h1 {
  max-width: 12ch;
  margin-bottom: 1.45rem;
  font-size: clamp(3rem, 7vw, 6.5rem);
  line-height: 0.94;
  letter-spacing: -0.064em;
}

.zv-page-hero h1,
.zv-specialist-grid > * {
  width: 100%;
}

.zv-channel-line {
  margin: 1.6rem 0 0;
  color: var(--zv-muted);
  font-size: 0.78rem;
  font-weight: 780;
  letter-spacing: 0.04em;
  line-height: 1.8;
}

.zv-hero-proof {
  position: relative;
  max-width: 36rem;
  justify-self: center;
}

.zv-hero-proof::before {
  position: absolute;
  inset: 9% -5% -8% 9%;
  z-index: -1;
  border-radius: var(--zv-radius-lg);
  background: var(--zv-teal);
  content: "";
}

.zv-proof-window {
  padding: clamp(1.2rem, 4vw, 2rem);
  border: 1px solid var(--zv-line);
  border-radius: var(--zv-radius-lg);
  background: var(--zv-white);
  box-shadow: var(--zv-shadow);
}

.zv-proof-header,
.zv-chat-topline {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 0.65rem;
  color: var(--zv-ink);
  font-size: 0.78rem;
}

.zv-chat-topline strong,
.zv-footer-grid a,
.zv-step-list strong {
  overflow-wrap: anywhere;
}

.zv-status-dot {
  width: 0.7rem;
  height: 0.7rem;
  border-radius: 50%;
  background: var(--zv-green);
  box-shadow: 0 0 0 0.28rem rgba(78, 136, 127, 0.15);
}

.zv-proof-label {
  margin: 2rem 0 0.7rem;
  color: var(--zv-muted);
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.zv-proof-message {
  width: fit-content;
  max-width: 88%;
  margin-top: 0.75rem;
  padding: 0.85rem 1rem;
  border-radius: 1rem 1rem 1rem 0.25rem;
  background: var(--zv-cool);
  color: var(--zv-text);
  font-size: 0.92rem;
}

.zv-proof-message-zhyrana {
  margin-left: auto;
  border-radius: 1rem 1rem 0.25rem 1rem;
  background: var(--zv-teal);
  color: var(--zv-white);
}

.zv-proof-progress {
  display: grid;
  grid-template-columns: 1.3fr 1fr 0.75fr;
  gap: 0.35rem;
  margin-top: 1.5rem;
}

.zv-proof-progress span {
  height: 0.25rem;
  border-radius: 99px;
  background: var(--zv-line);
}

.zv-proof-progress span:first-child {
  background: var(--zv-sand);
}

.zv-hero-proof > p {
  max-width: 28rem;
  margin: 1.35rem auto 0;
  color: var(--zv-white);
  font-weight: 760;
  text-align: center;
}

.zv-chat-proof {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: clamp(2rem, 5vw, 4rem);
  width: min(calc(100% - 2rem), var(--zv-container));
  margin: 0 auto;
  padding: clamp(2rem, 5vw, 4.25rem);
  border-radius: var(--zv-radius-lg);
  background: var(--zv-ink);
  color: rgba(255, 255, 255, 0.82);
  box-shadow: var(--zv-shadow);
}

.zv-chat-proof-compact {
  margin-top: clamp(-1.7rem, -2vw, -0.6rem);
}

.zv-chat-proof h2 {
  max-width: 13ch;
  color: var(--zv-white);
  font-size: clamp(2.2rem, 5vw, 4.2rem);
  line-height: 1;
  letter-spacing: -0.055em;
}

.zv-chat-proof-copy > p:not(.zv-eyebrow) {
  max-width: 39rem;
}

.zv-chat-proof .zv-eyebrow {
  color: #9ed3c8;
}

.zv-chat-proof .zv-button {
  margin-top: 0.8rem;
  background: var(--zv-white);
  color: var(--zv-ink);
}

.zv-chat-shell {
  min-width: 0;
  padding: clamp(1rem, 3vw, 1.5rem);
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 1.35rem;
  background: var(--zv-paper);
  color: var(--zv-text);
}

.zv-chat-transcript {
  min-height: 8rem;
  margin: 1.25rem 0;
  padding: 1rem;
  border-radius: 1rem;
  background: var(--zv-cool);
}

.zv-chat-message {
  max-width: 88%;
  padding: 0.8rem 0.9rem;
  border-radius: 0.9rem 0.9rem 0.9rem 0.2rem;
  background: var(--zv-white);
  box-shadow: 0 0.5rem 1.2rem rgba(23, 63, 74, 0.07);
}

.zv-chat-message p {
  margin: 0;
  font-size: 0.9rem;
}

.zv-chat-suggestions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
}

.zv-chat-suggestions button {
  padding: 0.5rem 0.65rem;
  border: 1px solid var(--zv-line);
  border-radius: 99px;
  background: var(--zv-white);
  color: var(--zv-teal);
  font-size: 0.76rem;
  font-weight: 700;
}

.zv-chat-form {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 0.55rem;
  margin-top: 1rem;
}

.zv-chat-form textarea {
  width: 100%;
  min-height: 3.25rem;
  max-height: 8rem;
  resize: vertical;
  padding: 0.75rem;
  border: 1px solid var(--zv-line);
  border-radius: 0.75rem;
  background: var(--zv-white);
  color: var(--zv-text);
  font: inherit;
}

.zv-chat-form textarea:disabled {
  opacity: 0.72;
}

.zv-chat-send {
  min-width: 5rem;
  border: 0;
  border-radius: 0.75rem;
  background: var(--zv-teal);
  color: var(--zv-white);
  font-weight: 760;
}

.zv-chat-send:disabled {
  background: var(--zv-line);
  color: var(--zv-muted);
}

.zv-chat-state,
.zv-chat-privacy {
  margin: 0.65rem 0 0;
  color: var(--zv-muted);
  font-size: 0.76rem;
}

.zv-chat-privacy a {
  color: var(--zv-teal);
  font-weight: 730;
  text-decoration: underline;
  text-underline-offset: 0.15em;
}

.zv-outcomes {
  background: var(--zv-paper);
}

.zv-outcome-grid,
.zv-process-grid,
.zv-moment-grid {
  display: grid;
  gap: 1px;
  overflow: hidden;
  border: 1px solid var(--zv-line);
  border-radius: var(--zv-radius-lg);
  background: var(--zv-line);
}

.zv-outcome-grid article,
.zv-process-grid article,
.zv-moment-grid article {
  padding: clamp(1.5rem, 4vw, 2.5rem);
  background: var(--zv-white);
}

.zv-outcome-grid article > span,
.zv-process-grid article > span,
.zv-moment-grid article > span {
  color: var(--zv-teal);
  font-size: 0.72rem;
  font-weight: 850;
  letter-spacing: 0.12em;
}

.zv-outcome-grid h3,
.zv-process-grid h2,
.zv-moment-grid h2 {
  margin-top: 2.4rem;
  font-size: clamp(1.4rem, 2.5vw, 2rem);
}

.zv-outcome-grid p,
.zv-process-grid p,
.zv-moment-grid p {
  margin-bottom: 0;
  color: var(--zv-muted);
}

.zv-channels,
.zv-page-hero-cool {
  background: var(--zv-cool);
}

.zv-channel-grid {
  display: grid;
  gap: 0.85rem;
}

.zv-channel-item {
  min-height: 13rem;
  padding: 1.45rem;
  border: 1px solid var(--zv-line);
  border-radius: var(--zv-radius);
  background: rgba(255, 255, 255, 0.7);
}

.zv-channel-item-featured {
  min-height: 16rem;
  background: var(--zv-white);
  box-shadow: 0 1rem 2rem rgba(23, 63, 74, 0.07);
}

.zv-channel-item > span {
  display: grid;
  width: 2rem;
  height: 2rem;
  place-items: center;
  border-radius: 50%;
  background: var(--zv-teal);
  color: var(--zv-white);
  font-size: 0.68rem;
  font-weight: 800;
}

.zv-channel-item h3 {
  margin-top: 2rem;
}

.zv-channel-item p {
  margin-bottom: 0;
  color: var(--zv-muted);
}

.zv-section-link {
  margin: 2rem 0 0;
}

.zv-section-link a {
  display: inline-flex;
  gap: 0.7rem;
  color: var(--zv-teal);
  font-weight: 780;
}

.zv-control,
.zv-page-hero-warm,
.zv-booking-specialist {
  background: var(--zv-warm);
}

.zv-split,
.zv-control-grid,
.zv-contact-grid,
.zv-specialist-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: clamp(2.5rem, 7vw, 6rem);
}

.zv-control-rail {
  display: grid;
  align-content: center;
}

.zv-control-rail > div {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 1rem;
  align-items: center;
  padding: 1.25rem 0;
  border-top: 1px solid rgba(36, 92, 106, 0.2);
}

.zv-control-rail > div:last-child {
  border-bottom: 1px solid rgba(36, 92, 106, 0.2);
}

.zv-control-rail span {
  display: grid;
  width: 2.3rem;
  height: 2.3rem;
  place-items: center;
  border-radius: 50%;
  background: var(--zv-teal);
  color: var(--zv-white);
  font-size: 0.7rem;
  font-weight: 820;
}

.zv-control-rail p {
  margin: 0;
  color: var(--zv-ink);
  font-weight: 720;
}

.zv-audiences {
  background: var(--zv-paper);
}

.zv-audience-grid {
  display: grid;
  gap: 0.9rem;
}

.zv-audience-grid a {
  display: grid;
  min-height: 15rem;
  align-content: end;
  padding: 1.5rem;
  border: 1px solid var(--zv-line);
  border-radius: var(--zv-radius);
  background: var(--zv-white);
  transition: transform 160ms ease, box-shadow 160ms ease;
}

.zv-audience-grid a:first-child {
  background: var(--zv-ink);
}

.zv-audience-grid a:first-child h3,
.zv-audience-grid a:first-child strong {
  color: var(--zv-white);
}

.zv-audience-grid a:first-child p {
  color: rgba(255, 255, 255, 0.72);
}

.zv-audience-grid a:hover {
  transform: translateY(-3px);
  box-shadow: var(--zv-shadow);
}

.zv-audience-grid p {
  color: var(--zv-muted);
}

.zv-audience-grid strong {
  display: flex;
  justify-content: space-between;
  color: var(--zv-teal);
}

.zv-onboarding {
  background: var(--zv-cool);
}

.zv-step-list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.zv-step-list li {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 1rem;
  padding: 1.15rem 0;
  border-top: 1px solid var(--zv-line);
}

.zv-step-list li:last-child {
  border-bottom: 1px solid var(--zv-line);
}

.zv-step-list span {
  color: var(--zv-teal);
  font-size: 0.73rem;
  font-weight: 850;
}

.zv-step-list strong {
  color: var(--zv-ink);
  font-size: 1.1rem;
}

.zv-pricing {
  background: var(--zv-paper);
}

.zv-price-panel {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: clamp(2rem, 5vw, 5rem);
  padding: clamp(2rem, 6vw, 4.5rem);
  border-radius: var(--zv-radius-lg);
  background: var(--zv-ink);
  color: rgba(255, 255, 255, 0.78);
}

.zv-price-panel h2 {
  max-width: 16ch;
  color: var(--zv-white);
  font-size: clamp(2.2rem, 4.7vw, 4.2rem);
}

.zv-price-panel .zv-eyebrow {
  color: #9ed3c8;
}

.zv-price-panel > div:last-child {
  align-self: end;
}

.zv-price-panel .zv-button {
  margin-top: 1rem;
  background: var(--zv-white);
  color: var(--zv-ink);
}

.zv-trust {
  background: var(--zv-white);
}

.zv-trust-points p {
  display: grid;
  gap: 0.25rem;
  padding: 1.2rem 0;
  border-top: 1px solid var(--zv-line);
}

.zv-trust-points p:last-child {
  border-bottom: 1px solid var(--zv-line);
}

.zv-trust-points strong {
  color: var(--zv-ink);
}

.zv-trust-points span {
  color: var(--zv-muted);
}

.zv-phone-proof {
  padding-top: 0;
  background: var(--zv-white);
}

.zv-phone-panel {
  display: grid;
  gap: 1.5rem;
  align-items: center;
  padding: clamp(1.5rem, 4vw, 2.5rem);
  border: 1px solid var(--zv-line);
  border-radius: var(--zv-radius-lg);
  background: var(--zv-warm);
}

.zv-phone-panel h2 {
  margin-bottom: 0.6rem;
  font-size: clamp(1.8rem, 3.5vw, 3rem);
}

.zv-phone-panel p {
  margin-bottom: 0;
  font-size: 1rem;
}

.zv-phone-icon {
  display: grid;
  width: 3.2rem;
  height: 3.2rem;
  place-items: center;
  border-radius: 50%;
  background: var(--zv-teal);
  color: var(--zv-white);
  font-size: 1.25rem;
}

.zv-contact {
  background: var(--zv-cool);
}

.zv-contact-grid {
  align-items: start;
}

.zv-contact .arcain-cf7,
.zv-form-skeleton {
  border: 1px solid var(--zv-line);
  border-radius: var(--zv-radius);
  background: var(--zv-white);
  box-shadow: var(--zv-shadow);
}

.zv-contact-placeholder {
  display: grid;
  gap: 2rem;
}

.zv-form-skeleton {
  display: grid;
  gap: 0.75rem;
  padding: 1.5rem;
}

.zv-form-skeleton span {
  display: block;
  height: 3rem;
  border: 1px solid var(--zv-line);
  border-radius: 0.55rem;
  background: var(--zv-cool);
}

.zv-form-skeleton span:last-of-type {
  height: 8rem;
}

.zv-form-skeleton button {
  min-height: 3.2rem;
  border: 0;
  border-radius: 0.65rem;
  background: var(--zv-teal);
  color: var(--zv-white);
  font-weight: 750;
}

.zv-page-hero {
  padding-block: clamp(5rem, 10vw, 9rem);
  background: var(--zv-paper);
}

.zv-page-hero .zv-container {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  justify-items: start;
}

.zv-page-hero h1 {
  max-width: 14ch;
}

.zv-page-hero-chat {
  background: var(--zv-ink);
}

.zv-page-hero-chat h1 {
  color: var(--zv-white);
}

.zv-page-hero-chat .zv-eyebrow {
  color: #9ed3c8;
}

.zv-page-hero-chat .zv-lead {
  color: rgba(255, 255, 255, 0.75);
}

.zv-process-grid article:nth-child(2),
.zv-process-grid article:nth-child(5) {
  background: var(--zv-cool);
}

.zv-knowledge-story {
  background: var(--zv-warm);
}

.zv-knowledge-stack {
  display: grid;
  gap: 0.75rem;
  align-content: center;
}

.zv-knowledge-stack span {
  padding: 1rem 1.2rem;
  border: 1px solid rgba(36, 92, 106, 0.16);
  border-radius: 0.8rem;
  background: rgba(255, 255, 255, 0.72);
  color: var(--zv-ink);
  font-weight: 760;
}

.zv-channel-flow {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0.65rem;
  align-content: center;
}

.zv-channel-flow span,
.zv-channel-flow strong {
  padding: 0.9rem 1rem;
  border-radius: 0.7rem;
  background: var(--zv-white);
}

.zv-channel-flow strong {
  margin-top: 0.4rem;
  background: var(--zv-teal);
  color: var(--zv-white);
}

.zv-booking-model {
  display: grid;
  gap: 1rem;
}

.zv-booking-model article {
  padding: clamp(1.5rem, 5vw, 3rem);
  border: 1px solid var(--zv-line);
  border-radius: var(--zv-radius-lg);
  background: var(--zv-white);
}

.zv-booking-model h2 {
  max-width: 17ch;
  font-size: clamp(2rem, 4vw, 3.35rem);
}

.zv-booking-model p:last-child {
  color: var(--zv-muted);
}

.zv-combined-strip {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 0.5rem 2rem;
  margin-top: 1rem;
  padding: 1rem 1.25rem;
  border-radius: 0.8rem;
  background: var(--zv-teal);
  color: var(--zv-white);
}

.zv-demo-next {
  background: var(--zv-warm);
}

.zv-demo-path {
  display: grid;
  gap: 0.7rem;
  align-content: center;
}

.zv-demo-path > span {
  padding: 0.9rem 1rem;
  border: 1px solid rgba(36, 92, 106, 0.18);
  border-radius: 0.75rem;
  background: rgba(255, 255, 255, 0.72);
  color: var(--zv-ink);
  font-weight: 740;
}

.zv-demo-path .zv-button {
  margin-top: 0.5rem;
}

.zv-specialist-grid {
  align-items: center;
}

.zv-specialist-grid,
.zv-specialist-grid > *,
.zv-specialist-grid figure {
  min-width: 0;
}

.zv-specialist-grid figure {
  position: relative;
  margin: 0;
}

.zv-specialist-grid img {
  display: block;
  width: 100%;
  max-width: 100%;
  min-height: 26rem;
  object-fit: cover;
  border-radius: var(--zv-radius-lg);
  box-shadow: var(--zv-shadow);
}

.zv-specialist-grid figcaption {
  position: absolute;
  right: 0.75rem;
  bottom: 0.75rem;
  left: 0.75rem;
  padding: 0.65rem 0.8rem;
  border-radius: 0.7rem;
  background: rgba(251, 252, 248, 0.94);
  color: var(--zv-ink);
  font-size: 0.78rem;
  font-weight: 720;
}

.zv-moment-grid article:first-child {
  background: var(--zv-ink);
}

.zv-moment-grid article:first-child h2 {
  color: var(--zv-white);
}

.zv-moment-grid article:first-child p {
  color: rgba(255, 255, 255, 0.72);
}

.zv-moment-grid article:first-child > span {
  color: #f7d9b7;
}

.zv-price-note {
  padding-block: 2rem;
  background: var(--zv-cool);
  text-align: center;
}

.zv-price-note p {
  margin: 0;
  color: var(--zv-muted);
}

.zv-price-note strong {
  color: var(--zv-ink);
}

.zv-page-hero-legal h1 {
  max-width: 18ch;
}

.zv-legal-copy {
  max-width: 52rem;
}

.zv-legal-copy section {
  padding: 1.6rem 0;
  border-top: 1px solid var(--zv-line);
}

.zv-legal-copy section:last-of-type {
  border-bottom: 1px solid var(--zv-line);
}

.zv-legal-copy h2 {
  margin-bottom: 0.6rem;
  font-size: clamp(1.45rem, 3vw, 2.1rem);
}

.zv-legal-copy p {
  color: var(--zv-muted);
}

.zv-legal-updated {
  margin-top: 2rem;
  font-size: 0.86rem;
}

.zv-footer {
  padding-block: 4rem 1.5rem;
  background: var(--zv-ink);
  color: rgba(255, 255, 255, 0.72);
}

.zv-wordmark-light {
  color: var(--zv-white);
}

.zv-footer-grid {
  display: grid;
  gap: 2.5rem;
}

.zv-footer-grid > div {
  display: grid;
  align-content: start;
  gap: 0.35rem;
}

.zv-footer-grid > div:first-child {
  gap: 1rem;
}

.zv-footer-grid h2 {
  margin-bottom: 0.6rem;
  color: var(--zv-white);
  font-size: 0.76rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.zv-footer-grid a:not(.zv-wordmark) {
  display: inline-flex;
  min-height: 2.6rem;
  align-items: center;
  width: fit-content;
}

.zv-footer-grid a:hover {
  color: var(--zv-white);
}

.zv-footer-bottom {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 0.5rem 2rem;
  margin-top: 3rem;
  padding: 1.3rem 0 5rem;
  border-top: 1px solid rgba(255, 255, 255, 0.16);
  font-size: 0.78rem;
}

.zv-footer-bottom p {
  margin: 0;
}

.zv-chat-launcher {
  position: fixed;
  z-index: 80;
  right: max(1rem, env(safe-area-inset-right));
  bottom: max(1rem, env(safe-area-inset-bottom));
  display: inline-flex;
  min-height: 3.4rem;
  align-items: center;
  gap: 0.65rem;
  padding: 0.75rem 1rem;
  border: 1px solid rgba(255, 255, 255, 0.4);
  border-radius: 99px;
  background: var(--zv-teal);
  color: var(--zv-white);
  box-shadow: var(--zv-shadow);
}

.zv-chat-launcher span {
  display: grid;
  width: 1.8rem;
  height: 1.8rem;
  place-items: center;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.16);
}

.vnext-chat {
  width: min(calc(100% - 1rem), 31rem);
  max-width: none;
  max-height: min(46rem, calc(100vh - 1rem));
  margin: auto 0.5rem 0.5rem auto;
  padding: 0;
  overflow: hidden;
  border: 0;
  border-radius: 1.35rem;
  background: var(--zv-paper);
  box-shadow: 0 1.5rem 6rem rgba(23, 63, 74, 0.28);
}

.vnext-chat::backdrop {
  background: rgba(23, 63, 74, 0.44);
  backdrop-filter: blur(3px);
}

.vnext-chat__panel {
  display: grid;
  max-height: inherit;
  overflow: auto;
  padding: 1rem;
}

.vnext-chat__header {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  align-items: start;
}

.vnext-chat__heading span {
  color: var(--zv-teal);
  font-size: 0.7rem;
  font-weight: 820;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.vnext-chat__heading h2 {
  margin: 0.2rem 0 0;
  font-size: 1.65rem;
}

.vnext-chat__close {
  display: grid;
  width: 2.75rem;
  height: 2.75rem;
  place-items: center;
  border: 1px solid var(--zv-line);
  border-radius: 50%;
  background: var(--zv-white);
  color: var(--zv-ink);
  font-size: 1.5rem;
}

.vnext-chat__disclosure,
.vnext-chat__status,
.vnext-chat__alert {
  margin: 0.85rem 0 0;
  color: var(--zv-muted);
  font-size: 0.82rem;
}

.vnext-chat__messages {
  display: grid;
  gap: 0.7rem;
  min-height: 9rem;
  max-height: 18rem;
  overflow: auto;
  margin: 1rem 0;
  padding: 1rem;
  border-radius: 1rem;
  background: var(--zv-cool);
}

.vnext-chat__message {
  width: fit-content;
  max-width: 88%;
  padding: 0.7rem 0.8rem;
  border-radius: 0.8rem;
  background: var(--zv-white);
}

.vnext-chat__message.is-user {
  margin-left: auto;
  background: var(--zv-teal);
  color: var(--zv-white);
}

.vnext-chat__message-author {
  display: block;
  margin-bottom: 0.25rem;
  font-size: 0.72rem;
}

.vnext-chat__message p {
  margin: 0;
  font-size: 0.88rem;
}

.vnext-chat__reconnect,
.vnext-chat__send {
  min-height: 3rem;
  padding: 0.65rem 0.9rem;
  border: 0;
  border-radius: 0.65rem;
  background: var(--zv-teal);
  color: var(--zv-white);
  font-weight: 750;
}

.vnext-chat__reconnect[hidden] {
  display: none;
}

.vnext-chat__form {
  display: grid;
  gap: 0.45rem;
  margin-top: 0.8rem;
}

.vnext-chat__form label {
  color: var(--zv-ink);
  font-size: 0.82rem;
  font-weight: 730;
}

.vnext-chat__input {
  width: 100%;
  min-height: 5rem;
  padding: 0.75rem;
  resize: vertical;
  border: 1px solid var(--zv-line);
  border-radius: 0.65rem;
  background: var(--zv-white);
  color: var(--zv-text);
  font: inherit;
}

.vnext-chat__send:disabled,
.vnext-chat__input:disabled {
  opacity: 0.58;
}

@media (min-width: 42rem) {
  .zv-channel-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .zv-outcome-grid,
  .zv-process-grid,
  .zv-moment-grid,
  .zv-audience-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .zv-booking-model {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .zv-contact-placeholder,
  .zv-footer-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 72rem) {
  .zv-menu-toggle {
    display: none;
  }

  .zv-nav,
  .zv-nav[hidden] {
    position: static;
    display: flex;
    align-items: center;
    gap: 0.1rem;
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
  }

  .zv-nav a,
  .zv-nav summary {
    min-height: 2.75rem;
    padding-inline: 0.58rem;
    font-size: 0.78rem;
  }

  .zv-nav details {
    position: relative;
  }

  .zv-nav details div {
    position: absolute;
    top: calc(100% + 0.35rem);
    left: 0;
    display: none;
    width: 16rem;
    padding: 0.6rem;
    border: 1px solid var(--zv-line);
    border-radius: 0.75rem;
    background: var(--zv-white);
    box-shadow: var(--zv-shadow);
  }

  .zv-nav details[open] div {
    display: grid;
  }

  .zv-nav .zv-nav-cta {
    margin-left: 0.4rem;
    min-height: 2.75rem;
    padding-inline: 0.85rem;
    font-size: 0.78rem;
  }

  .zv-hero-grid {
    grid-template-columns: minmax(0, 0.95fr) minmax(30rem, 1.05fr);
  }

  .zv-chat-proof {
    grid-template-columns: minmax(0, 0.85fr) minmax(28rem, 1.15fr);
    align-items: center;
  }

  .zv-channel-grid {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }

  .zv-channel-item {
    grid-column: span 2;
  }

  .zv-channel-item-featured {
    grid-column: span 2;
  }

  .zv-split,
  .zv-control-grid,
  .zv-contact-grid,
  .zv-specialist-grid {
    grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
  }

  .zv-audience-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .zv-price-panel {
    grid-template-columns: minmax(0, 1fr) minmax(0, 0.85fr);
  }

  .zv-phone-panel {
    grid-template-columns: auto minmax(0, 1fr) auto;
  }

  .zv-footer-grid {
    grid-template-columns: minmax(18rem, 1.4fr) repeat(2, minmax(10rem, 0.65fr));
  }

  .zv-process-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .zv-moment-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .zv-specialist-grid img {
    min-height: 36rem;
  }

  .zv-contact-placeholder {
    grid-template-columns: minmax(0, 1fr) minmax(24rem, 0.72fr);
  }
}

@media (max-width: 30rem) {
  .zv-container,
  .zv-chat-proof {
    width: min(calc(100% - 1.25rem), var(--zv-container));
  }

  .zv-hero,
  .zv-page-hero {
    padding-block: 3.6rem 4.5rem;
  }

  .zv-hero {
    background: var(--zv-paper);
  }

  .zv-hero h1,
  .zv-page-hero h1 {
    font-size: clamp(2.6rem, 14vw, 3.65rem);
  }

  .zv-actions,
  .zv-actions .zv-button {
    width: 100%;
  }

  .zv-header-inner {
    gap: 0.75rem;
  }

  .zv-menu-toggle {
    width: min(3rem, 15vw);
    min-width: min(3rem, 15vw);
    padding-inline: min(0.6rem, 3vw);
    font-size: 0;
  }

  .zv-menu-toggle span,
  .zv-menu-toggle span::before {
    width: min(1.1rem, 6vw);
  }

  .zv-hero-proof::before {
    right: 0;
  }

  .zv-phone-panel {
    overflow-wrap: anywhere;
  }

  .zv-phone-panel > * {
    min-width: 0;
    max-width: 100%;
  }

  .zv-chat-proof {
    padding: 1.25rem;
    border-radius: 1.35rem;
  }

  .zv-chat-form {
    grid-template-columns: minmax(0, 1fr);
  }

  .zv-chat-send {
    min-height: 3rem;
  }

  .zv-chat-launcher strong {
    display: none;
  }

  .zv-chat-launcher {
    width: 3.5rem;
    padding: 0.75rem;
  }

  .vnext-chat {
    width: calc(100% - 0.5rem);
    max-height: calc(100vh - 0.5rem);
    margin: auto 0.25rem 0.25rem;
    border-radius: 1rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .zv-button,
  .zv-audience-grid a {
    transition: none;
  }

  .zv-button:hover,
  .zv-audience-grid a:hover {
    transform: none;
  }
}

@media (forced-colors: active) {
  .zv-status-dot,
  .zv-channel-item > span,
  .zv-control-rail span {
    forced-color-adjust: none;
  }
}

/* Preview 2.0.0-preview.5 — visual and commercial correction. */
.zv-hero-vnext {
  overflow: hidden;
  padding: clamp(4.5rem, 8vw, 8rem) 0 clamp(5rem, 9vw, 9rem);
  background: var(--zv-cool);
}

.zv-hero-grid-vnext {
  display: grid;
  gap: clamp(2.5rem, 5vw, 5.5rem);
  align-items: center;
}

.zv-hero-vnext h1 {
  max-width: 11ch;
  margin: 0;
  font-size: clamp(3.35rem, 5.8vw, 5.95rem);
  line-height: 0.94;
  letter-spacing: -0.07em;
}

.zv-hero-vnext .zv-lead {
  max-width: 37rem;
  margin-top: 1.5rem;
  font-size: clamp(1.04rem, 1.45vw, 1.18rem);
  line-height: 1.58;
}

.zv-lang-en .zv-hero-vnext h1 {
  max-width: 12.75ch;
  font-size: clamp(3.25rem, 5.25vw, 5.45rem);
}

.zv-hero-proofline {
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem 1.25rem;
  margin-top: 2rem;
  color: var(--zv-ink);
  font-size: 0.78rem;
  font-weight: 820;
}

.zv-hero-proofline span {
  position: relative;
  padding-left: 0.9rem;
}

.zv-hero-proofline span::before {
  position: absolute;
  top: 0.45em;
  left: 0;
  width: 0.38rem;
  height: 0.38rem;
  border-radius: 50%;
  background: var(--zv-sand);
  content: "";
}

.zv-hero-visual {
  position: relative;
  margin: 0;
  isolation: isolate;
}

.zv-hero-visual::before {
  position: absolute;
  inset: 7% -4% -6% 9%;
  z-index: -1;
  border-radius: 2.5rem;
  background: var(--zv-warm);
  content: "";
}

.zv-hero-picture,
.zv-hero-picture img {
  display: block;
  width: 100%;
}

.zv-hero-picture img {
  aspect-ratio: 1.18 / 1;
  object-fit: cover;
  object-position: 66% 50%;
  border-radius: clamp(1.4rem, 3vw, 2.5rem);
  box-shadow: var(--zv-shadow);
}

.zv-hero-visual figcaption {
  position: absolute;
  right: 1rem;
  bottom: 1rem;
  max-width: calc(100% - 2rem);
  padding: 0.55rem 0.8rem;
  border-radius: 999px;
  background: rgba(251, 252, 248, 0.94);
  color: var(--zv-ink);
  font-size: 0.72rem;
  font-weight: 730;
  box-shadow: 0 0.5rem 2rem rgba(23, 63, 74, 0.12);
}

.zv-hero-call,
.zv-hero-email {
  position: absolute;
  z-index: 2;
  display: grid;
  gap: 0.18rem;
  min-width: 12rem;
  padding: 0.85rem 1rem;
  border: 1px solid rgba(213, 225, 222, 0.85);
  border-radius: 1rem;
  background: rgba(255, 255, 255, 0.96);
  box-shadow: 0 1rem 2.5rem rgba(23, 63, 74, 0.2);
}

.zv-hero-call {
  top: 9%;
  left: -7%;
}

.zv-hero-email {
  right: -5%;
  bottom: 14%;
}

.zv-hero-call span,
.zv-hero-email span {
  color: var(--zv-muted);
  font-size: 0.7rem;
}

.zv-hero-call strong,
.zv-hero-email strong {
  color: var(--zv-ink);
  font-size: 0.84rem;
}

.zv-colleague-band {
  position: relative;
  z-index: 3;
  margin-top: -3rem;
}

.zv-colleague-band .zv-container {
  display: grid;
  gap: 1rem 3rem;
  align-items: center;
  padding: clamp(1.5rem, 3vw, 2.25rem);
  border-radius: 1.5rem;
  background: var(--zv-teal);
  color: var(--zv-white);
  box-shadow: var(--zv-shadow);
}

.zv-colleague-band .zv-eyebrow {
  color: #f5d2a9;
}

.zv-colleague-band h2,
.zv-colleague-band p {
  margin: 0;
  color: var(--zv-white);
}

.zv-colleague-band h2 {
  max-width: 36rem;
  font-size: clamp(1.35rem, 2.4vw, 2rem);
}

.zv-colleague-band > .zv-container > p {
  max-width: 30rem;
  color: rgba(255, 255, 255, 0.82);
}

.zv-chat-showcase {
  position: relative;
  overflow: hidden;
  padding: clamp(6rem, 10vw, 9rem) 0;
  background: var(--zv-ink);
  color: var(--zv-white);
}

.zv-chat-showcase::after {
  position: absolute;
  right: -8rem;
  bottom: -11rem;
  width: 28rem;
  height: 28rem;
  border: 1px solid rgba(213, 225, 222, 0.18);
  border-radius: 50%;
  content: "";
}

.zv-chat-showcase-grid {
  position: relative;
  z-index: 1;
  display: grid;
  gap: clamp(2.5rem, 6vw, 6rem);
  align-items: center;
}

.zv-chat-showcase .zv-eyebrow {
  color: #f5d2a9;
}

.zv-chat-showcase h2 {
  max-width: 12ch;
  margin: 0;
  color: var(--zv-white);
  font-size: clamp(2.7rem, 5vw, 5.4rem);
  line-height: 0.98;
  letter-spacing: -0.055em;
}

.zv-chat-showcase-copy > p:not(.zv-eyebrow, .zv-chat-seam-note) {
  max-width: 34rem;
  margin: 1.5rem 0 0;
  color: rgba(255, 255, 255, 0.78);
  font-size: 1.08rem;
  line-height: 1.65;
}

.zv-button-light {
  margin-top: 2rem;
  border-color: rgba(255, 255, 255, 0.32);
  background: var(--zv-white);
  color: var(--zv-ink);
}

.zv-button-light:hover {
  background: var(--zv-warm);
}

.zv-chat-seam-note {
  max-width: 32rem;
  margin-top: 1.1rem;
  color: rgba(255, 255, 255, 0.62);
  font-size: 0.77rem;
  line-height: 1.55;
}

.zv-chat-seam-note a {
  color: var(--zv-white);
  text-decoration: underline;
  text-underline-offset: 0.2em;
}

.zv-demo-window {
  overflow: hidden;
  border: 1px solid rgba(213, 225, 222, 0.78);
  border-radius: 1.5rem;
  background: var(--zv-paper);
  color: var(--zv-text);
  box-shadow: 0 2.5rem 7rem rgba(0, 0, 0, 0.28);
}

.zv-demo-toolbar {
  display: flex;
  min-height: 4rem;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.9rem 1.2rem;
  border-bottom: 1px solid var(--zv-line);
  background: var(--zv-white);
}

.zv-demo-toolbar > div {
  display: flex;
  align-items: center;
  gap: 0.6rem;
}

.zv-demo-toolbar > span {
  color: var(--zv-green);
  font-size: 0.65rem;
  font-weight: 850;
  letter-spacing: 0.12em;
}

.zv-demo-tabs {
  display: flex;
  gap: 0.45rem;
  overflow-x: auto;
  padding: 0.85rem 1rem;
  border-bottom: 1px solid var(--zv-line);
  background: var(--zv-cool);
}

.zv-demo-tabs button,
.zv-visibility-filters button {
  flex: 0 0 auto;
  min-height: 2.4rem;
  padding: 0.45rem 0.75rem;
  border: 1px solid var(--zv-line);
  border-radius: 999px;
  background: var(--zv-white);
  color: var(--zv-ink);
  font-size: 0.75rem;
  font-weight: 740;
}

.zv-demo-tabs button[aria-selected="true"],
.zv-visibility-filters button[aria-pressed="true"] {
  border-color: var(--zv-teal);
  background: var(--zv-teal);
  color: var(--zv-white);
}

.zv-demo-panel {
  min-height: 25rem;
  padding: clamp(1.25rem, 3vw, 2rem);
}

.zv-demo-panel[hidden] {
  display: none;
}

.zv-demo-context {
  margin: 0 0 1rem;
  color: var(--zv-muted);
  font-size: 0.72rem;
  font-weight: 780;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.zv-demo-transcript {
  display: grid;
  gap: 0.8rem;
}

.zv-demo-message {
  display: grid;
  gap: 0.25rem;
  width: min(88%, 28rem);
}

.zv-demo-message-customer {
  justify-self: end;
}

.zv-demo-message span {
  color: var(--zv-muted);
  font-size: 0.68rem;
  font-weight: 760;
}

.zv-demo-message-customer span {
  text-align: right;
}

.zv-demo-message p {
  margin: 0;
  padding: 0.75rem 0.9rem;
  border-radius: 0.95rem 0.95rem 0.95rem 0.25rem;
  background: var(--zv-white);
  color: var(--zv-text);
  font-size: 0.88rem;
  line-height: 1.48;
  box-shadow: 0 0.35rem 1.2rem rgba(23, 63, 74, 0.08);
}

.zv-demo-message-customer p {
  border-radius: 0.95rem 0.95rem 0.25rem;
  background: var(--zv-teal);
  color: var(--zv-white);
}

.zv-demo-compose {
  display: flex;
  min-height: 4rem;
  align-items: center;
  justify-content: space-between;
  margin: 0 1rem 1rem;
  padding: 0.75rem 0.85rem;
  border: 1px solid var(--zv-line);
  border-radius: 0.85rem;
  background: var(--zv-white);
  color: var(--zv-muted);
  font-size: 0.82rem;
}

.zv-demo-compose strong {
  display: grid;
  width: 2.25rem;
  height: 2.25rem;
  place-items: center;
  border-radius: 0.65rem;
  background: var(--zv-teal);
  color: var(--zv-white);
}

.zv-phone-email-story {
  padding: clamp(6rem, 10vw, 9rem) 0;
  background: var(--zv-warm);
}

.zv-phone-email-heading {
  display: grid;
  max-width: 58rem;
  margin-bottom: 3rem;
}

.zv-phone-email-heading h2 {
  max-width: 13ch;
  margin: 0;
  font-size: clamp(2.8rem, 5vw, 5.2rem);
  line-height: 1;
  letter-spacing: -0.055em;
}

.zv-phone-email-heading > p:last-child {
  max-width: 42rem;
  color: var(--zv-muted);
  font-size: 1.05rem;
}

.zv-phone-email-stage {
  display: grid;
  gap: 1rem;
}

.zv-phone-email-stage figure {
  position: relative;
  margin: 0;
}

.zv-phone-email-stage figure img {
  display: block;
  width: 100%;
  min-height: 24rem;
  object-fit: cover;
  border-radius: 2rem;
  box-shadow: var(--zv-shadow);
}

.zv-phone-email-stage figure figcaption {
  position: absolute;
  right: 1rem;
  bottom: 1rem;
  padding: 0.5rem 0.75rem;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.92);
  color: var(--zv-ink);
  font-size: 0.72rem;
  font-weight: 720;
}

.zv-phone-story,
.zv-email-story {
  position: relative;
  z-index: 2;
  padding: clamp(1.5rem, 3vw, 2.4rem);
  border: 1px solid rgba(213, 225, 222, 0.9);
  border-radius: 1.35rem;
  background: var(--zv-white);
  box-shadow: 0 1rem 3rem rgba(23, 63, 74, 0.12);
}

.zv-phone-story h3,
.zv-email-story h3 {
  max-width: 18ch;
  margin: 0;
  font-size: clamp(1.8rem, 3vw, 3rem);
  line-height: 1.06;
  letter-spacing: -0.045em;
}

.zv-phone-story > p:not(.zv-eyebrow),
.zv-email-story > p:not(.zv-eyebrow) {
  color: var(--zv-muted);
  line-height: 1.6;
}

.zv-phone-story ul {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  padding: 0;
  list-style: none;
}

.zv-phone-story li {
  padding: 0.45rem 0.65rem;
  border-radius: 999px;
  background: var(--zv-cool);
  color: var(--zv-ink);
  font-size: 0.72rem;
  font-weight: 750;
}

.zv-story-detail {
  padding-top: 1rem;
  border-top: 1px solid var(--zv-line);
  color: var(--zv-text) !important;
}

.zv-email-thread {
  display: grid;
  grid-template-columns: auto auto;
  gap: 0.45rem;
  margin-top: 1.2rem;
  padding: 0.9rem;
  border-radius: 0.8rem;
  background: var(--zv-cool);
  color: var(--zv-muted);
  font-size: 0.74rem;
}

.zv-email-thread strong {
  grid-column: 1 / -1;
  color: var(--zv-teal);
}

.zv-channel-ribbon {
  padding: clamp(5rem, 9vw, 8rem) 0;
  border-block: 1px solid var(--zv-line);
  background: var(--zv-cool);
}

.zv-channel-ribbon-copy {
  display: grid;
  gap: 1rem 4rem;
  align-items: end;
}

.zv-channel-ribbon-copy h2 {
  max-width: 15ch;
  margin: 0;
  font-size: clamp(2.6rem, 4.8vw, 4.8rem);
  line-height: 1;
  letter-spacing: -0.05em;
}

.zv-channel-ribbon-copy > p:last-child {
  max-width: 38rem;
  color: var(--zv-muted);
  line-height: 1.65;
}

.zv-channel-ribbon-track {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-top: 3rem;
  border-top: 1px solid var(--zv-line);
}

.zv-channel-ribbon-track span {
  display: grid;
  gap: 1rem;
  min-height: 7.5rem;
  align-content: space-between;
  padding: 1.1rem;
  border-right: 1px solid var(--zv-line);
  border-bottom: 1px solid var(--zv-line);
  color: var(--zv-ink);
  font-size: 1.08rem;
  font-weight: 800;
}

.zv-channel-ribbon-track b {
  color: var(--zv-green);
  font-size: 0.68rem;
}

.zv-channel-ribbon-signature {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding-top: 1.5rem;
}

.zv-channel-ribbon-signature strong {
  color: var(--zv-ink);
  font-size: clamp(1.35rem, 2vw, 1.9rem);
}

.zv-channel-ribbon-signature a {
  color: var(--zv-teal);
  font-weight: 780;
}

.zv-visibility-story {
  padding: clamp(6rem, 10vw, 9rem) 0;
  background: var(--zv-paper);
}

.zv-visibility-grid {
  display: grid;
  gap: clamp(2.5rem, 6vw, 6rem);
  align-items: center;
}

.zv-visibility-copy h2 {
  max-width: 14ch;
  margin: 0;
  font-size: clamp(2.8rem, 4.5vw, 4.55rem);
  line-height: 1;
  letter-spacing: -0.055em;
}

.zv-visibility-copy > p:not(.zv-eyebrow) {
  max-width: 37rem;
  color: var(--zv-muted);
  line-height: 1.65;
}

.zv-visibility-proof {
  margin-top: 1.5rem;
  padding: 1rem 0 1rem 1.2rem;
  border-left: 3px solid var(--zv-sand);
  color: var(--zv-text) !important;
  font-weight: 650;
}

.zv-visibility-ui {
  overflow: hidden;
  border: 1px solid var(--zv-line);
  border-radius: 1.5rem;
  background: var(--zv-white);
  box-shadow: var(--zv-shadow);
}

.zv-visibility-ui-head {
  display: grid;
  gap: 1rem;
  padding: 1.1rem;
  border-bottom: 1px solid var(--zv-line);
  background: var(--zv-cool);
}

.zv-visibility-ui-head > div {
  display: grid;
}

.zv-visibility-ui-head > div span {
  color: var(--zv-muted);
  font-size: 0.65rem;
}

.zv-visibility-ui input {
  width: 100%;
  min-height: 2.8rem;
  padding: 0.6rem 0.75rem;
  border: 1px solid var(--zv-line);
  border-radius: 0.65rem;
  background: var(--zv-white);
  color: var(--zv-text);
  font: inherit;
  font-size: 0.8rem;
}

.zv-visibility-filters {
  display: flex;
  gap: 0.4rem;
  overflow-x: auto;
  padding: 0.8rem 1rem 0;
}

.zv-visibility-status {
  margin: 0;
  padding: 0.65rem 1rem;
  color: var(--zv-muted);
  font-size: 0.68rem;
}

.zv-visibility-list article {
  display: grid;
  grid-template-columns: 5.5rem minmax(0, 1fr);
  gap: 0.7rem;
  align-items: center;
  padding: 0.9rem 1rem;
  border-top: 1px solid var(--zv-line);
}

.zv-visibility-list article[hidden] {
  display: none;
}

.zv-visibility-list article.is-selected {
  background: var(--zv-warm);
}

.zv-visibility-channel,
.zv-visibility-event {
  font-size: 0.68rem;
  font-weight: 750;
}

.zv-visibility-channel {
  color: var(--zv-green);
  text-transform: uppercase;
}

.zv-visibility-event {
  grid-column: 2;
  color: var(--zv-teal);
}

.zv-visibility-list article div {
  min-width: 0;
}

.zv-visibility-list article div p {
  overflow: hidden;
  margin: 0.2rem 0 0;
  color: var(--zv-muted);
  font-size: 0.76rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.zv-visibility-timeline {
  display: flex;
  gap: 0.4rem;
  padding: 0.9rem;
  border-top: 1px solid var(--zv-line);
  background: var(--zv-ink);
  color: var(--zv-white);
}

.zv-visibility-timeline span {
  display: grid;
  flex: 1;
  gap: 0.2rem;
  padding: 0.45rem;
  border-right: 1px solid rgba(255, 255, 255, 0.18);
  font-size: 0.65rem;
}

.zv-visibility-timeline span:last-child {
  border-right: 0;
}

.zv-visibility-timeline b {
  color: #f5d2a9;
}

.zv-booking-control {
  padding: clamp(6rem, 10vw, 9rem) 0;
  background: var(--zv-warm);
}

.zv-booking-control-heading {
  max-width: 55rem;
}

.zv-booking-control-heading h2 {
  max-width: 14ch;
  margin: 0;
  font-size: clamp(2.8rem, 5vw, 5.2rem);
  line-height: 1;
  letter-spacing: -0.055em;
}

.zv-booking-control-heading > p:last-child {
  max-width: 42rem;
  color: var(--zv-muted);
  line-height: 1.65;
}

.zv-booking-journey {
  display: grid;
  gap: 1rem;
  margin-top: 3rem;
}

.zv-booking-path,
.zv-booking-branch {
  display: grid;
  gap: 1rem;
}

.zv-booking-path button,
.zv-booking-branch article {
  min-width: 0;
  padding: 1.5rem;
  border: 1px solid var(--zv-line);
  border-radius: 1.2rem;
  background: var(--zv-white);
  text-align: left;
  box-shadow: 0 0.8rem 2.2rem rgba(23, 63, 74, 0.08);
}

.zv-booking-path button {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 0.2rem 1rem;
  align-items: center;
  color: var(--zv-ink);
  font: inherit;
}

.zv-booking-path button[aria-pressed="true"] {
  border-color: var(--zv-teal);
}

.zv-booking-path button span,
.zv-booking-branch article > span {
  grid-row: span 2;
  color: var(--zv-green);
  font-size: 0.72rem;
  font-weight: 850;
}

.zv-booking-path button small {
  color: var(--zv-muted);
}

.zv-booking-branch article:nth-child(2) {
  background: var(--zv-cool);
}

.zv-booking-branch h3 {
  max-width: 19ch;
  margin: 0;
  font-size: clamp(1.65rem, 3vw, 2.65rem);
  line-height: 1.08;
}

.zv-booking-branch article > p:last-child {
  color: var(--zv-muted);
  line-height: 1.55;
}

.zv-control-statement {
  display: grid;
  gap: 1rem;
  margin-top: 1rem;
  padding: clamp(1.8rem, 4vw, 3.5rem);
  border-radius: 1.5rem;
  background: var(--zv-teal);
  color: var(--zv-white);
}

.zv-control-statement .zv-eyebrow {
  color: #f5d2a9;
}

.zv-control-statement h3 {
  max-width: 18ch;
  margin: 0;
  color: var(--zv-white);
  font-size: clamp(2rem, 3.7vw, 3.7rem);
  line-height: 1.02;
}

.zv-control-statement div {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
}

.zv-control-statement div span {
  padding: 0.45rem 0.65rem;
  border: 1px solid rgba(255, 255, 255, 0.28);
  border-radius: 999px;
  font-size: 0.72rem;
}

.zv-control-statement > strong {
  color: rgba(255, 255, 255, 0.88);
}

.zv-audience-mosaic {
  padding: clamp(6rem, 10vw, 9rem) 0;
  background: var(--zv-paper);
}

.zv-audience-mosaic-heading h2 {
  max-width: 15ch;
  margin: 0 0 3rem;
  font-size: clamp(2.7rem, 4.8vw, 4.8rem);
  line-height: 1;
  letter-spacing: -0.05em;
}

.zv-audience-mosaic-grid {
  display: grid;
  gap: 1rem;
}

.zv-audience-mosaic-grid a {
  position: relative;
  overflow: hidden;
  min-height: 22rem;
  border-radius: 1.4rem;
  background: var(--zv-ink);
  box-shadow: 0 1rem 3rem rgba(23, 63, 74, 0.12);
}

.zv-audience-mosaic-grid picture,
.zv-audience-mosaic-grid img {
  display: block;
  width: 100%;
  height: 100%;
}

.zv-audience-mosaic-grid img {
  position: absolute;
  inset: 0;
  object-fit: cover;
  transition: transform 420ms ease;
}

.zv-audience-mosaic-grid a:hover img {
  transform: scale(1.025);
}

.zv-audience-mosaic-grid > a > span {
  position: absolute;
  right: 0.8rem;
  bottom: 0.8rem;
  left: 0.8rem;
  display: grid;
  gap: 0.45rem;
  padding: 1.1rem;
  border-radius: 1rem;
  background: rgba(23, 63, 74, 0.92);
  color: var(--zv-white);
}

.zv-audience-mosaic-grid span strong {
  font-size: 1.2rem;
}

.zv-audience-mosaic-grid span small {
  color: rgba(255, 255, 255, 0.76);
  line-height: 1.45;
}

.zv-audience-mosaic-grid span b {
  color: #f5d2a9;
  font-size: 0.75rem;
}

.zv-audience-dentist img { object-position: 65% 50%; }
.zv-audience-trades img { object-position: 72% 50%; }
.zv-audience-auto img { object-position: 62% 50%; }
.zv-audience-salon img { object-position: 69% 50%; }

.zv-onboarding-vnext {
  padding: clamp(6rem, 10vw, 9rem) 0;
  background: var(--zv-cool);
}

.zv-onboarding-vnext-grid {
  display: grid;
  gap: clamp(2.5rem, 6vw, 6rem);
}

.zv-onboarding-vnext h2,
.zv-trust-vnext h2 {
  max-width: 13ch;
  margin: 0;
  font-size: clamp(2.6rem, 4.5vw, 4.6rem);
  line-height: 1;
  letter-spacing: -0.05em;
}

.zv-onboarding-vnext-grid > div > p:not(.zv-eyebrow),
.zv-trust-vnext-grid > div > p:not(.zv-eyebrow) {
  max-width: 37rem;
  color: var(--zv-muted);
  line-height: 1.65;
}

.zv-next-day {
  display: grid;
  gap: 0.25rem;
  margin-top: 1.8rem;
  padding: 1rem 0 1rem 1.15rem;
  border-left: 3px solid var(--zv-sand);
}

.zv-next-day span {
  color: var(--zv-muted);
  font-size: 0.83rem;
}

.zv-onboarding-vnext ol {
  margin: 0;
  padding: 0;
  list-style: none;
  counter-reset: none;
}

.zv-onboarding-vnext li {
  display: grid;
  grid-template-columns: 3.25rem minmax(0, 1fr);
  gap: 1rem;
  align-items: center;
  min-height: 5rem;
  border-bottom: 1px solid var(--zv-line);
}

.zv-onboarding-vnext li:first-child {
  border-top: 1px solid var(--zv-line);
}

.zv-onboarding-vnext li span {
  color: var(--zv-green);
  font-size: 0.75rem;
  font-weight: 850;
}

.zv-trust-vnext {
  padding: clamp(6rem, 10vw, 9rem) 0;
  background: var(--zv-paper);
}

.zv-trust-vnext-grid {
  display: grid;
  gap: clamp(2.5rem, 6vw, 6rem);
}

.zv-trust-vnext-points {
  display: grid;
  border-top: 1px solid var(--zv-line);
}

.zv-trust-vnext-points p {
  display: grid;
  gap: 0.35rem;
  margin: 0;
  padding: 1.25rem 0;
  border-bottom: 1px solid var(--zv-line);
}

.zv-trust-vnext-points span {
  color: var(--zv-green);
  font-size: 0.72rem;
  font-weight: 820;
  text-transform: uppercase;
}

.zv-price-panel-vnext {
  display: grid;
  gap: 1rem;
}

.zv-pricing-vnext {
  padding: clamp(5rem, 9vw, 8rem) 0;
  background: var(--zv-cool);
}

.zv-price-value,
.zv-price-clarity {
  padding: clamp(1.6rem, 4vw, 3.25rem);
  border: 1px solid var(--zv-line);
  border-radius: 1.5rem;
}

.zv-price-value {
  background: var(--zv-teal);
  color: var(--zv-white);
}

.zv-price-value .zv-eyebrow {
  color: #f5d2a9;
}

.zv-price-value h2 {
  max-width: 15ch;
  margin: 0;
  color: var(--zv-white);
  font-size: clamp(2.2rem, 4vw, 4rem);
  line-height: 1.02;
}

.zv-price-value > strong {
  display: block;
  margin-top: 2rem;
  color: var(--zv-white);
  font-size: clamp(1rem, 1.5vw, 1.28rem);
}

.zv-price-clarity {
  background: var(--zv-white);
}

.zv-price-clarity h3 {
  margin: 0;
  font-size: clamp(2rem, 3.5vw, 3.3rem);
  line-height: 1.05;
}

.zv-price-clarity > p:not(.zv-eyebrow) {
  color: var(--zv-muted);
  line-height: 1.6;
}

.zv-page-hero.zv-editorial-hero,
.zv-page-hero.zv-channels-hero,
.zv-page-hero.zv-booking-hero {
  padding-block: clamp(4.5rem, 8vw, 7rem);
}

.zv-editorial-hero-grid,
.zv-channels-hero-grid,
.zv-booking-hero-grid {
  display: grid;
  gap: clamp(2.5rem, 5vw, 5rem);
  align-items: center;
}

.zv-editorial-hero h1,
.zv-channels-hero h1,
.zv-booking-hero h1,
.zv-try-hero h1 {
  max-width: 13ch;
  margin: 0;
  font-size: clamp(3.2rem, 5.7vw, 6rem);
  line-height: 0.98;
  letter-spacing: -0.06em;
}

.zv-editorial-hero picture,
.zv-editorial-hero picture img,
.zv-booking-hero picture,
.zv-booking-hero picture img {
  display: block;
  width: 100%;
}

.zv-editorial-hero img,
.zv-booking-hero img,
.zv-channels-hero figure img {
  aspect-ratio: 1.2 / 1;
  object-fit: cover;
  border-radius: 1.8rem;
  box-shadow: var(--zv-shadow);
}

.zv-editorial-hero img { object-position: 66% 50%; }
.zv-booking-hero img { object-position: 69% 50%; }

.zv-channels-hero figure {
  margin: 0;
}

.zv-channels-hero figure img {
  min-height: 25rem;
}

.zv-channels-hero figcaption {
  margin-top: 0.6rem;
  color: var(--zv-muted);
  font-size: 0.75rem;
}

.zv-how-journey {
  padding: clamp(5rem, 9vw, 8rem) 0;
  background: var(--zv-warm);
}

.zv-how-journey-line {
  display: grid;
  gap: 0;
  border-block: 1px solid var(--zv-line);
}

.zv-how-journey-line article {
  padding: 1.5rem 0;
  border-bottom: 1px solid var(--zv-line);
}

.zv-how-journey-line article:last-child {
  border-bottom: 0;
}

.zv-how-journey-line span {
  color: var(--zv-green);
  font-size: 0.7rem;
  font-weight: 850;
}

.zv-how-journey-line h2 {
  margin: 0.65rem 0 0;
  font-size: 1.45rem;
}

.zv-how-journey-line p {
  color: var(--zv-muted);
}

.zv-how-knowledge {
  margin-top: 4rem;
  padding: clamp(1.8rem, 4vw, 3.5rem);
  border-radius: 1.5rem;
  background: var(--zv-white);
}

.zv-how-knowledge h2 {
  max-width: 15ch;
  margin: 0;
  font-size: clamp(2.2rem, 4vw, 4rem);
}

.zv-how-knowledge > p:not(.zv-eyebrow) {
  max-width: 38rem;
  color: var(--zv-muted);
}

.zv-how-knowledge > div {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-top: 1.5rem;
}

.zv-how-knowledge > div span {
  padding: 0.5rem 0.7rem;
  border-radius: 999px;
  background: var(--zv-cool);
  color: var(--zv-ink);
  font-size: 0.76rem;
  font-weight: 730;
}

.zv-booking-examples {
  padding: clamp(5rem, 9vw, 8rem) 0;
  background: var(--zv-paper);
}

.zv-booking-examples .zv-container {
  display: grid;
  gap: 2.5rem 5rem;
}

.zv-booking-examples h2 {
  max-width: 16ch;
  margin: 0;
  font-size: clamp(2.4rem, 4vw, 4.2rem);
  line-height: 1.02;
}

.zv-booking-examples-list {
  border-top: 1px solid var(--zv-line);
}

.zv-booking-examples-list p {
  display: grid;
  gap: 0.5rem;
  margin: 0;
  padding: 1.25rem 0;
  border-bottom: 1px solid var(--zv-line);
}

.zv-booking-examples-list span {
  color: var(--zv-green);
  font-size: 0.72rem;
  font-weight: 820;
  text-transform: uppercase;
}

.zv-try-hero {
  padding-bottom: clamp(3rem, 6vw, 5rem) !important;
  background: var(--zv-paper);
}

.zv-try-hero .zv-container {
  display: grid;
  justify-items: center;
  text-align: center;
}

.zv-try-hero h1 {
  max-width: 14ch;
}

.zv-try-hero .zv-lead {
  max-width: 48rem;
}

.zv-chat-showcase-page {
  padding-top: clamp(4rem, 7vw, 6rem);
}

.zv-try-path {
  padding: clamp(5rem, 9vw, 8rem) 0;
  background: var(--zv-warm);
}

.zv-try-path-grid {
  display: grid;
  gap: 2.5rem 5rem;
}

.zv-try-path h2,
.zv-deep-phone-proof h2 {
  max-width: 15ch;
  margin: 0;
  font-size: clamp(2.5rem, 4.5vw, 4.6rem);
  line-height: 1;
}

.zv-try-path-grid > div > p:last-child,
.zv-deep-phone-proof p {
  color: var(--zv-muted);
  line-height: 1.65;
}

.zv-try-path ol {
  margin: 0;
  padding: 0;
  list-style: none;
}

.zv-try-path li {
  display: grid;
  grid-template-columns: 3rem minmax(0, 1fr);
  gap: 1rem;
  align-items: center;
  min-height: 5rem;
  border-bottom: 1px solid var(--zv-line);
}

.zv-try-path li:first-child {
  border-top: 1px solid var(--zv-line);
}

.zv-try-path li span {
  color: var(--zv-green);
  font-size: 0.72rem;
  font-weight: 850;
}

.zv-deep-phone-proof {
  padding: clamp(5rem, 9vw, 8rem) 0;
  background: var(--zv-paper);
}

.zv-deep-phone-proof .zv-container {
  display: grid;
  gap: 2rem;
  align-items: end;
}

.zv-specialist-hero {
  padding-block: clamp(4.5rem, 8vw, 7rem);
}

.zv-specialist-grid {
  gap: clamp(2.5rem, 5vw, 5rem);
  align-items: center;
}

.zv-specialist-copy h1 {
  max-width: 14ch;
  margin: 0;
  font-size: clamp(3.1rem, 4.15vw, 4.35rem);
  line-height: 0.98;
  letter-spacing: -0.06em;
  text-wrap: pretty;
}

.zv-specialist-hero figure,
.zv-specialist-hero picture {
  display: block;
  margin: 0;
}

.zv-specialist-hero figure img {
  display: block;
  width: 100%;
  min-height: 0 !important;
  aspect-ratio: 1.15 / 1;
  object-fit: cover;
  border-radius: 1.8rem;
  box-shadow: var(--zv-shadow);
}

.zv-specialist-dentist img { object-position: 65% 50%; }
.zv-specialist-trades img { object-position: 72% 50%; }
.zv-specialist-auto img { object-position: 62% 50%; }
.zv-specialist-salon img { object-position: 69% 50%; }

.zv-specialist-hero figcaption {
  margin-top: 0.65rem;
  color: var(--zv-muted);
  font-size: 0.74rem;
}

.zv-specialist-proof {
  border-block: 1px solid var(--zv-line);
  background: var(--zv-cool);
}

.zv-specialist-proof .zv-container {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.zv-specialist-proof span {
  padding: 1.15rem;
  border-right: 1px solid var(--zv-line);
  color: var(--zv-ink);
  font-size: 0.75rem;
  font-weight: 800;
  text-align: center;
}

.zv-specialist-proof span:last-child {
  border-right: 0;
}

.zv-specialist-moments {
  padding: clamp(5rem, 9vw, 8rem) 0;
  background: var(--zv-warm);
}

.zv-specialist-moments-heading h2 {
  max-width: 15ch;
  margin: 0 0 2.5rem;
  font-size: clamp(2.6rem, 4.5vw, 4.6rem);
  line-height: 1;
}

.zv-specialist-moments-grid {
  display: grid;
  gap: 1px;
  overflow: hidden;
  border: 1px solid var(--zv-line);
  border-radius: 1.3rem;
  background: var(--zv-line);
}

.zv-specialist-moments-grid article {
  min-height: 12rem;
  padding: 1.4rem;
  background: var(--zv-paper);
}

.zv-specialist-moments-grid article.is-featured {
  min-height: 17rem;
  background: var(--zv-teal);
  color: var(--zv-white);
}

.zv-specialist-moments-grid article span {
  color: var(--zv-green);
  font-size: 0.68rem;
  font-weight: 850;
}

.zv-specialist-moments-grid article.is-featured span {
  color: #f5d2a9;
}

.zv-specialist-moments-grid h3 {
  margin: 1.8rem 0 0;
  font-size: 1.45rem;
}

.zv-specialist-moments-grid article.is-featured h3,
.zv-specialist-moments-grid article.is-featured p {
  color: var(--zv-white);
}

.zv-specialist-moments-grid article p {
  color: var(--zv-muted);
}

.zv-specialist-dialog {
  padding: clamp(5rem, 9vw, 8rem) 0;
  background: var(--zv-cool);
}

.zv-specialist-dialog-grid {
  display: grid;
  gap: 2.5rem 5rem;
  align-items: center;
}

.zv-specialist-dialog h2,
.zv-specialist-booking h2 {
  max-width: 14ch;
  margin: 0;
  font-size: clamp(2.5rem, 4.3vw, 4.3rem);
  line-height: 1;
}

.zv-specialist-dialog-grid > div > p:last-child,
.zv-specialist-booking-grid > div > p:last-child {
  color: var(--zv-muted);
  line-height: 1.65;
}

.zv-specialist-dialog blockquote {
  margin: 0;
  padding: clamp(1.5rem, 4vw, 3rem);
  border-radius: 1.5rem;
  background: var(--zv-white);
  box-shadow: var(--zv-shadow);
}

.zv-specialist-dialog blockquote p {
  margin: 0;
  color: var(--zv-ink);
  font-size: clamp(1.5rem, 2.8vw, 2.6rem);
  font-weight: 780;
  line-height: 1.12;
}

.zv-specialist-dialog blockquote span {
  display: block;
  margin-top: 1.5rem;
  color: var(--zv-green);
  font-size: 0.7rem;
  font-weight: 820;
  text-transform: uppercase;
}

.zv-specialist-booking {
  padding: clamp(5rem, 9vw, 8rem) 0;
  background: var(--zv-paper);
}

.zv-specialist-booking-grid {
  display: grid;
  gap: 2.5rem 5rem;
}

.zv-specialist-booking-path {
  border-top: 1px solid var(--zv-line);
}

.zv-specialist-booking-path p {
  display: grid;
  grid-template-columns: 3rem minmax(0, 1fr);
  gap: 0.8rem;
  margin: 0;
  padding: 1.15rem 0;
  border-bottom: 1px solid var(--zv-line);
}

.zv-specialist-booking-path span {
  color: var(--zv-green);
  font-size: 0.7rem;
  font-weight: 850;
}

.zv-specialist-price {
  padding: 1.5rem 0;
  background: var(--zv-teal);
  color: var(--zv-white);
}

.zv-specialist-price .zv-container {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}

.zv-specialist-price p {
  display: grid;
  gap: 0.2rem;
  margin: 0;
}

.zv-specialist-price span {
  color: rgba(255, 255, 255, 0.72);
  font-size: 0.75rem;
}

.zv-specialist-price a {
  color: var(--zv-white);
  font-weight: 780;
}

.zv-chat-launcher {
  width: 3rem;
  height: 3rem;
  min-height: 3rem;
  padding: 0.62rem;
  border-radius: 50%;
  opacity: 0.86;
}

.zv-chat-launcher:hover,
.zv-chat-launcher:focus-visible {
  opacity: 1;
}

.zv-chat-launcher strong {
  display: none;
}

.zv-demo-window,
.zv-visibility-ui {
  min-width: 0;
  overflow: hidden;
}

.zv-demo-toolbar,
.zv-demo-toolbar > span,
.zv-channel-ribbon-track,
.zv-channel-ribbon-track span,
.zv-phone-email-stage,
.zv-phone-email-stage > *,
.zv-visibility-filters,
.zv-actions,
.zv-actions > * {
  min-width: 0;
  max-width: 100%;
}

.zv-demo-toolbar {
  flex-wrap: wrap;
}

.zv-demo-toolbar > span,
.zv-channel-ribbon-track span {
  overflow-wrap: anywhere;
}

.zv-onboarding-vnext ol,
.zv-onboarding-vnext li,
.zv-onboarding-vnext li strong,
.zv-try-path ol,
.zv-try-path li,
.zv-try-path li strong,
.zv-deep-phone-proof .zv-container,
.zv-deep-phone-proof .zv-container > *,
.zv-price-value,
.zv-price-clarity {
  min-width: 0;
  max-width: 100%;
  overflow-wrap: anywhere;
}

.zv-demo-toolbar > span,
.zv-channel-ribbon-track b,
.zv-visibility-channel,
.zv-booking-path button span,
.zv-booking-branch article > span,
.zv-onboarding-vnext li span,
.zv-trust-vnext-points span,
.zv-how-journey-line span,
.zv-booking-examples-list span,
.zv-try-path li span,
.zv-specialist-moments-grid article span,
.zv-specialist-dialog blockquote span,
.zv-specialist-booking-path span {
  color: var(--zv-teal);
}

@media (min-width: 42rem) {
  .zv-channel-ribbon-track {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .zv-booking-branch,
  .zv-price-panel-vnext,
  .zv-specialist-moments-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .zv-visibility-list article {
    grid-template-columns: 6rem minmax(0, 1fr) auto;
  }

  .zv-visibility-event {
    grid-column: auto;
  }
}

@media (min-width: 64rem) {
  .zv-hero-grid-vnext {
    grid-template-columns: minmax(0, 0.86fr) minmax(0, 1.14fr);
    align-items: start;
  }

  .zv-hero-vnext .zv-hero-copy {
    padding-top: 2rem;
  }

  .zv-colleague-band .zv-container {
    grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr);
  }

  .zv-chat-showcase-grid,
  .zv-visibility-grid {
    grid-template-columns: minmax(0, 0.82fr) minmax(0, 1.18fr);
  }

  .zv-phone-email-stage {
    grid-template-columns: repeat(12, minmax(0, 1fr));
  }

  .zv-phone-email-stage figure {
    grid-column: 1 / -1;
    grid-row: 1;
  }

  .zv-phone-story {
    grid-column: 1 / span 6;
    grid-row: 2;
    margin-top: -7rem;
    margin-left: 2rem;
  }

  .zv-email-story {
    grid-column: 7 / -1;
    grid-row: 2;
    margin-top: -4.5rem;
    margin-right: 2rem;
  }

  .zv-channel-ribbon-copy {
    grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr);
  }

  .zv-channel-ribbon-copy .zv-eyebrow {
    grid-column: 1 / -1;
  }

  .zv-channel-ribbon-track {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }

  .zv-channel-ribbon-track span {
    border-bottom: 0;
  }

  .zv-booking-journey {
    grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr);
  }

  .zv-control-statement {
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
  }

  .zv-control-statement .zv-eyebrow,
  .zv-control-statement h3 {
    grid-column: 1;
  }

  .zv-control-statement div {
    grid-column: 2;
    grid-row: 1 / span 2;
    max-width: 20rem;
    justify-content: flex-end;
  }

  .zv-control-statement > strong {
    grid-column: 1 / -1;
  }

  .zv-audience-mosaic-grid {
    grid-template-columns: repeat(12, minmax(0, 1fr));
    grid-template-rows: 18rem 18rem;
  }

  .zv-audience-mosaic-grid a {
    min-height: 0;
  }

  .zv-audience-dentist { grid-column: 1 / span 7; grid-row: 1 / -1; }
  .zv-audience-trades { grid-column: 8 / -1; grid-row: 1; }
  .zv-audience-auto { grid-column: 8 / span 3; grid-row: 2; }
  .zv-audience-salon { grid-column: 11 / -1; grid-row: 2; }

  .zv-onboarding-vnext-grid,
  .zv-trust-vnext-grid,
  .zv-editorial-hero-grid,
  .zv-channels-hero-grid,
  .zv-booking-hero-grid,
  .zv-try-path-grid,
  .zv-booking-examples .zv-container,
  .zv-specialist-dialog-grid,
  .zv-specialist-booking-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .zv-deep-phone-proof .zv-container {
    grid-template-columns: minmax(0, 1fr) auto;
  }

  .zv-how-journey-line {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .zv-how-journey-line article {
    min-height: 17rem;
    padding: 1.5rem;
    border-right: 1px solid var(--zv-line);
    border-bottom: 0;
  }

  .zv-how-journey-line article:last-child {
    border-right: 0;
  }

  .zv-specialist-auto .zv-specialist-copy {
    order: 2;
  }

  .zv-specialist-auto figure {
    order: 1;
  }
}

@media (min-width: 72rem) {
  .zv-specialist-grid {
    grid-template-columns: minmax(0, 0.92fr) minmax(34rem, 1.08fr) !important;
  }

  .zv-specialist-trades .zv-specialist-grid {
    position: relative;
    display: block;
  }

  .zv-specialist-trades figure img {
    min-height: 38rem !important;
    aspect-ratio: 2 / 1;
    object-position: 50% 48%;
  }

  .zv-specialist-trades .zv-specialist-copy {
    position: absolute;
    top: 50%;
    left: clamp(2rem, 5vw, 5rem);
    z-index: 2;
    width: min(35rem, 48%);
    padding: 2rem;
    border-radius: 1.5rem;
    background: rgba(251, 252, 248, 0.94);
    transform: translateY(-50%);
    box-shadow: var(--zv-shadow);
  }

  .zv-specialist-salon .zv-specialist-grid {
    grid-template-columns: minmax(0, 0.82fr) minmax(36rem, 1.18fr) !important;
  }

  .zv-specialist-salon .zv-specialist-copy {
    position: relative;
    z-index: 2;
    margin-right: -5rem;
    padding: 2.5rem;
    border-radius: 1.5rem;
    background: var(--zv-warm);
    box-shadow: var(--zv-shadow);
  }
}

@media (max-width: 63.99rem) {
  .zv-hero-call {
    left: 1rem;
  }

  .zv-hero-email {
    right: 1rem;
  }
}

@media (max-width: 41.99rem) {
  .zv-hero-vnext {
    padding-top: 3.8rem;
  }

  .zv-hero-vnext h1,
  .zv-specialist-copy h1,
  .zv-editorial-hero h1,
  .zv-channels-hero h1,
  .zv-booking-hero h1,
  .zv-try-hero h1 {
    font-size: clamp(2.7rem, 13vw, 4rem);
    line-height: 0.98;
  }

  .zv-hero-picture img {
    aspect-ratio: 4 / 3;
    object-position: 72% 50%;
  }

  .zv-hero-visual::before {
    inset: 4% -2% -4% 5%;
  }

  .zv-hero-call,
  .zv-hero-email {
    position: relative;
    inset: auto;
    min-width: 0;
    margin: 0.6rem 0 0;
    box-shadow: none;
  }

  .zv-hero-visual figcaption {
    display: none;
  }

  .zv-colleague-band {
    margin-top: -1.5rem;
  }

  .zv-chat-showcase h2,
  .zv-phone-email-heading h2,
  .zv-visibility-copy h2,
  .zv-booking-control-heading h2,
  .zv-audience-mosaic-heading h2,
  .zv-onboarding-vnext h2,
  .zv-trust-vnext h2,
  .zv-specialist-moments-heading h2,
  .zv-specialist-dialog h2,
  .zv-specialist-booking h2 {
    font-size: clamp(2.45rem, 11vw, 3.5rem);
  }

  .zv-demo-toolbar {
    align-items: flex-start;
  }

  .zv-demo-toolbar > span {
    max-width: 9rem;
    text-align: right;
  }

  .zv-demo-panel {
    min-height: 0;
  }

  .zv-demo-message {
    width: 94%;
  }

  .zv-phone-email-stage figure img {
    min-height: 0;
    aspect-ratio: 1200 / 630;
  }

  .zv-phone-email-stage figure figcaption {
    display: none;
  }

  .zv-visibility-timeline {
    display: grid;
  }

  .zv-visibility-timeline span {
    grid-template-columns: 3rem minmax(0, 1fr);
    border-right: 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.18);
  }

  .zv-specialist-proof .zv-container {
    grid-template-columns: 1fr;
  }

  .zv-specialist-proof span {
    border-right: 0;
    border-bottom: 1px solid var(--zv-line);
    text-align: left;
  }

  .zv-specialist-proof span:last-child {
    border-bottom: 0;
  }

  .zv-specialist-price .zv-container,
  .zv-specialist-price a {
    width: 100%;
  }

  .zv-hero-vnext .zv-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .zv-hero-vnext .zv-actions .zv-button {
    width: auto;
    min-height: 3rem;
    padding-inline: 0.65rem;
    font-size: 0.82rem;
  }
}

@media (max-width: 22rem) {
  .zv-header-inner {
    gap: 0.5rem;
  }

  .zv-hero-vnext .zv-actions {
    grid-template-columns: minmax(0, 1fr);
  }

  .zv-email-thread {
    grid-template-columns: minmax(0, 1fr);
  }

  .zv-deep-phone-proof .zv-button {
    width: 100%;
    white-space: normal;
  }
}

@media (prefers-reduced-motion: reduce) {
  .zv-audience-mosaic-grid img {
    transition: none;
  }

  .zv-audience-mosaic-grid a:hover img {
    transform: none;
  }
}

@media (forced-colors: active) {
  .zv-hero-proofline span::before {
    forced-color-adjust: none;
  }
}

/* Partner + Affiliate production expansion. */
.zv-programme-page {
  overflow: clip;
  background: var(--zv-paper);
}

.zv-programme-page section {
  padding-block: clamp(4rem, 8vw, 7.5rem);
}

.zv-programme-hero {
  background: var(--zv-cool);
}

.zv-programme-hero-grid,
.zv-programme-commercial-grid,
.zv-programme-disclosure-grid,
.zv-programme-privacy-grid,
.zv-programme-application-grid,
.zv-programme-mechanics-grid,
.zv-programme-rail {
  display: grid;
  grid-template-columns: minmax(0, 0.82fr) minmax(0, 1.18fr);
  gap: clamp(2rem, 6vw, 6rem);
  align-items: center;
}

.zv-programme-hero-copy h1 {
  max-width: 13ch;
  margin-block: 0.75rem 1.25rem;
  font-size: clamp(2.65rem, 5.1vw, 4.85rem);
  line-height: 0.98;
  letter-spacing: -0.055em;
  hyphens: none;
  overflow-wrap: normal;
}

.zv-programme-hero-copy .zv-lead,
.zv-programme-reward .zv-lead,
.zv-programme-reward-feature .zv-lead {
  max-width: 38rem;
  font-size: clamp(1.15rem, 1.7vw, 1.45rem);
}

.zv-programme-hero figure {
  margin: 0;
}

.zv-programme-picture img {
  display: block;
  width: 100%;
  height: clamp(27rem, 49vw, 43rem);
  border-radius: var(--zv-radius-lg);
  object-fit: cover;
  box-shadow: var(--zv-shadow);
}

.zv-programme-hero figure figcaption {
  margin-top: 0.75rem;
  color: var(--zv-muted);
  font-size: 0.86rem;
}

.zv-programme-value,
.zv-programme-reward-feature,
.zv-programme-privacy-affiliate {
  background: var(--zv-white);
}

.zv-programme-how,
.zv-programme-disclosure,
.zv-programme-terms {
  background: var(--zv-warm);
}

.zv-programme-section-heading {
  max-width: 42rem;
  margin-bottom: 2.25rem;
}

.zv-programme-section-heading h2,
.zv-programme-rail h2,
.zv-programme-commercial h2,
.zv-programme-disclosure h2,
.zv-programme-privacy h2,
.zv-programme-application h2 {
  margin-block: 0.55rem 1rem;
  font-size: clamp(2rem, 3.5vw, 3.4rem);
  line-height: 1.03;
  letter-spacing: -0.04em;
}

.zv-programme-signals,
.zv-programme-fit ul,
.zv-programme-privacy ul {
  display: grid;
  gap: 0;
  margin: 0;
  padding: 0;
  list-style: none;
}

.zv-programme-signals li,
.zv-programme-fit li,
.zv-programme-privacy li {
  padding: 1rem 0;
  border-bottom: 1px solid var(--zv-line);
}

.zv-programme-steps {
  display: grid;
  gap: 1rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.zv-programme-steps-three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.zv-programme-steps-four { grid-template-columns: repeat(4, minmax(0, 1fr)); }

.zv-programme-steps li,
.zv-programme-mechanics article {
  min-width: 0;
  padding: clamp(1.4rem, 2.6vw, 2.25rem);
  border: 1px solid var(--zv-line);
  border-radius: var(--zv-radius);
  background: var(--zv-paper);
}

.zv-programme-steps li > span,
.zv-programme-mechanics article > span {
  color: var(--zv-green);
  font-weight: 800;
  letter-spacing: 0.08em;
}

.zv-programme-steps h3,
.zv-programme-mechanics h2 {
  margin-block: 1.5rem 0.6rem;
  font-size: 1.35rem;
}

.zv-programme-commercial,
.zv-programme-mechanics {
  background: var(--zv-ink);
  color: var(--zv-white);
}

.zv-programme-commercial h2,
.zv-programme-mechanics h2,
.zv-programme-commercial .zv-eyebrow {
  color: var(--zv-white);
}

.zv-programme-mechanics article {
  background: rgba(255,255,255,0.07);
  border-color: rgba(255,255,255,0.18);
}

.zv-programme-mechanics article p { color: rgba(255,255,255,0.86); }

.zv-programme-disclosure blockquote {
  margin: 0;
  padding: clamp(1.5rem, 3vw, 2.5rem);
  border-left: 0.35rem solid var(--zv-sand);
  background: var(--zv-paper);
  font-size: clamp(1.2rem, 2vw, 1.6rem);
  font-weight: 700;
}

.zv-programme-terms-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}

.zv-programme-terms-grid article {
  min-width: 0;
  padding: clamp(1.25rem, 2.4vw, 2rem);
  border: 1px solid var(--zv-line);
  border-radius: var(--zv-radius);
  background: var(--zv-paper);
}

.zv-programme-terms-grid h3 {
  margin: 0 0 0.65rem;
  font-size: 1.14rem;
  line-height: 1.2;
}

.zv-programme-terms-grid p {
  margin: 0;
  color: var(--zv-muted);
}

.zv-programme-application {
  background: var(--zv-teal);
  color: var(--zv-white);
}

.zv-programme-application h2,
.zv-programme-application .zv-eyebrow { color: var(--zv-white); }

.zv-programme-contact {
  padding: clamp(1.5rem, 3vw, 2.5rem);
  border-radius: var(--zv-radius);
  background: rgba(255,255,255,0.09);
}

.zv-programme-contact p { margin-block: 0 1rem; }
.zv-programme-contact p:last-child { margin-bottom: 0; }
.zv-programme-contact .zv-programme-counterpart { color: var(--zv-white); text-decoration-thickness: 1px; text-underline-offset: 0.25em; }

.zv-programme-terms-link {
  max-width: 42rem;
  margin-block: 1.25rem;
  padding: 0.9rem 1rem;
  border-left: 0.25rem solid var(--zv-sand);
  background: rgba(255,255,255,0.62);
  color: var(--zv-ink);
  font-size: 0.92rem;
}

.zv-programme-terms-link a {
  color: inherit;
  font-weight: 750;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.2em;
}

.zv-programme-contact .zv-programme-terms-link {
  margin-top: 0;
  border-color: rgba(255,255,255,0.75);
  background: rgba(255,255,255,0.08);
  color: var(--zv-white);
}

.zv-page-hero-programme-legal,
.zv-page-hero-programme-support {
  background: var(--zv-warm);
}

.zv-page-hero-programme-legal h1,
.zv-page-hero-programme-support h1 {
  max-width: 19ch;
}

.zv-programme-route-kind {
  margin-top: 1.25rem;
  color: var(--zv-muted);
  font-size: 0.9rem;
  font-weight: 700;
}

.zv-programme-legal-copy,
.zv-programme-support-grid {
  max-width: 58rem;
}

.zv-programme-legal-copy > h2,
.zv-programme-support-grid > section {
  margin-top: 2rem;
  padding-top: 2rem;
  border-top: 1px solid var(--zv-line);
}

.zv-programme-legal-copy > h2 {
  font-size: clamp(1.55rem, 3vw, 2.2rem);
}

.zv-programme-legal-copy > p,
.zv-programme-legal-copy > ul,
.zv-programme-support-grid > section p {
  color: var(--zv-muted);
}

.zv-programme-legal-copy > ul {
  padding-left: 1.35rem;
}

.zv-programme-legal-copy code {
  padding: 0.1em 0.3em;
  border-radius: 0.25rem;
  background: var(--zv-warm);
  color: #6a3217;
  white-space: normal;
}

.zv-programme-legal-links {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem 1.25rem;
  margin-top: 3rem;
  padding-top: 1.5rem;
  border-top: 1px solid var(--zv-line);
}

.zv-programme-legal-links a {
  font-weight: 700;
  text-underline-offset: 0.2em;
}

.zv-programme-support-contact {
  padding: 1.5rem;
  border-radius: var(--zv-radius);
  background: var(--zv-cool);
}

.zv-programme-artifact-meta {
  display: grid;
  gap: 0.75rem;
  margin: 1.5rem 0;
}

.zv-programme-artifact-meta div {
  display: grid;
  gap: 0.2rem;
}

.zv-programme-artifact-meta dt {
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.zv-programme-artifact-meta dd {
  margin: 0;
  overflow-wrap: anywhere;
}

.zv-programme-language-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
}

.zv-programme-language-nav a {
  border: 1px solid currentColor;
  border-radius: 999px;
  padding: 0.55rem 0.9rem;
}

.zv-programme-legal-copy > section[id] {
  scroll-margin-top: 6rem;
}

.zv-programme-legal-copy hr {
  border: 0;
  border-top: 1px solid var(--zv-line);
  margin: 2.5rem 0;
}

.zv-footer-grid {
  grid-template-columns: 1.25fr 1fr 1fr 1fr;
}

@media (max-width: 63.99rem) {
  .zv-programme-hero-grid,
  .zv-programme-commercial-grid,
  .zv-programme-disclosure-grid,
  .zv-programme-privacy-grid,
  .zv-programme-application-grid,
  .zv-programme-mechanics-grid,
  .zv-programme-rail {
    grid-template-columns: 1fr;
  }
  .zv-programme-hero-affiliate .zv-programme-hero-copy { order: -1; }
  .zv-programme-steps-four { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .zv-programme-terms-grid { grid-template-columns: 1fr; }
  .zv-footer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 47.99rem) {
  .zv-programme-page section { padding-block: 3.5rem; }
  .zv-programme-hero-copy h1 { font-size: clamp(2.35rem, 12vw, 3.4rem); }
  .zv-lang-sv .zv-programme-hero-affiliate .zv-programme-hero-copy h1 {
    font-size: clamp(2rem, 10vw, 2.65rem);
  }
  .zv-programme-picture img { height: min(125vw, 34rem); }
  .zv-programme-steps-three,
  .zv-programme-steps-four { grid-template-columns: 1fr; }
  .zv-footer-grid { grid-template-columns: 1fr; }
}

/* Consent-aware GA4 measurement. The compact banner is deliberately separate
   from Web Chat and Contact Form 7 so neither channel owns analytics state. */
.zv-consent {
  position: fixed;
  z-index: 100000;
  right: max(1rem, env(safe-area-inset-right));
  bottom: max(1rem, env(safe-area-inset-bottom));
  left: max(1rem, env(safe-area-inset-left));
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 1rem 1.5rem;
  align-items: center;
  max-width: 64rem;
  margin-inline: auto;
  padding: 1rem 1.15rem;
  color: #f8fbfb;
  background: #183d47;
  border: 1px solid rgb(255 255 255 / 22%);
  border-radius: 1rem;
  box-shadow: 0 1rem 3rem rgb(10 31 37 / 32%);
}

.zv-consent[hidden] { display: none; }
.zv-consent h2 { margin: 0 0 0.3rem; color: inherit; font-size: 1.05rem; }
.zv-consent p { margin: 0; color: rgb(248 251 251 / 88%); font-size: 0.9rem; line-height: 1.5; }
.zv-consent a { color: #fff; text-decoration: underline; text-underline-offset: 0.16em; }
.zv-consent-actions { display: flex; flex-wrap: wrap; gap: 0.65rem; }
.zv-consent .zv-button { min-height: 2.75rem; white-space: nowrap; }
.zv-cookie-settings {
  appearance: none;
  padding: 0;
  color: inherit;
  font: inherit;
  text-decoration: underline;
  text-underline-offset: 0.16em;
  background: transparent;
  border: 0;
  cursor: pointer;
}

.zv-cookie-settings-inline {
  margin-top: 1.25rem;
  color: var(--zv-teal);
  font-weight: 750;
}
.zv-cookie-settings:focus-visible,
.zv-consent :focus-visible { outline: 3px solid #f2c46d; outline-offset: 3px; }

@media (max-width: 47.99rem) {
  .zv-consent { grid-template-columns: 1fr; }
  .zv-consent-actions { display: grid; grid-template-columns: 1fr; }
  .zv-consent .zv-button { width: 100%; }
}

@media (max-width: 23rem) {
  .zv-programme-page .zv-container { width: min(calc(100% - 1.25rem), var(--zv-container)); }
  .zv-programme-hero-copy h1 { font-size: 2.15rem; }
  .zv-lang-sv .zv-programme-hero-affiliate .zv-programme-hero-copy h1 { font-size: 2rem; }
}

.zhyrana-vnext .zv-programme-hero-copy h1 {
  hyphens: none;
  overflow-wrap: normal;
  word-break: normal;
}

/* Preview 2.0.0-preview.6 — commercial clarity, shorter rhythm and Victoria. */
:root {
  --zv-section-compact: clamp(4.25rem, 7vw, 6.5rem);
  --zv-display-xl: clamp(3.15rem, 4.85vw, 4.95rem);
  --zv-display-lg: clamp(2.55rem, 4vw, 4.15rem);
  --zv-display-md: clamp(2.05rem, 3.2vw, 3.25rem);
}

.zv-hero-vnext {
  padding: clamp(4rem, 6.5vw, 6.5rem) 0 clamp(4.75rem, 7.5vw, 7.25rem);
}

.zv-hero-vnext h1 {
  max-width: 12.5ch;
  font-size: var(--zv-display-xl);
  line-height: 0.98;
  letter-spacing: -0.058em;
}

.zv-lang-en .zv-hero-vnext h1 {
  max-width: 14ch;
  font-size: clamp(3.05rem, 4.55vw, 4.7rem);
}

.zv-hero-vnext .zv-lead {
  max-width: 39rem;
  margin-top: 1.25rem;
}

.zv-hero-vnext .zv-actions {
  margin-top: 1.45rem;
}

.zv-hero-proofline {
  margin-top: 1.5rem;
}

.zv-hero-picture img {
  aspect-ratio: 1.24 / 1;
}

.zv-hero-call,
.zv-hero-email {
  min-width: 11rem;
  padding: 0.72rem 0.85rem;
}

.zv-colleague-band {
  margin-top: -2.25rem;
}

.zv-chat-showcase,
.zv-phone-email-story,
.zv-channel-ribbon,
.zv-visibility-story,
.zv-booking-control,
.zv-audience-mosaic,
.zv-onboarding-vnext,
.zv-trust-vnext,
.zv-pricing-vnext,
.zv-how-journey,
.zv-booking-examples,
.zv-try-path,
.zv-deep-phone-proof,
.zv-specialist-moments,
.zv-specialist-dialog,
.zv-specialist-booking {
  padding-block: var(--zv-section-compact);
}

.zv-chat-showcase h2,
.zv-phone-email-heading h2,
.zv-booking-control-heading h2,
.zv-audience-mosaic-heading h2,
.zv-visibility-copy h2,
.zv-onboarding-vnext h2,
.zv-trust-vnext h2,
.zv-try-path h2,
.zv-deep-phone-proof h2,
.zv-specialist-moments-heading h2,
.zv-specialist-dialog h2,
.zv-specialist-booking h2 {
  font-size: var(--zv-display-lg);
  line-height: 1.02;
  letter-spacing: -0.048em;
}

.zv-phone-email-heading,
.zv-booking-control-heading,
.zv-audience-mosaic-heading {
  margin-bottom: clamp(2rem, 4vw, 2.75rem);
}

.zv-phone-email-stage figure img {
  min-height: 21rem;
}

.zv-phone-story h3,
.zv-email-story h3,
.zv-control-statement h3,
.zv-price-clarity h3 {
  font-size: var(--zv-display-md);
}

.zv-channel-ribbon-copy h2,
.zv-price-value h2,
.zv-how-knowledge h2,
.zv-booking-examples h2 {
  font-size: var(--zv-display-lg);
  line-height: 1.02;
  letter-spacing: -0.048em;
}

.zv-channel-ribbon-track {
  margin-top: 2.25rem;
}

.zv-channel-ribbon-track span {
  min-height: 6.75rem;
}

.zv-booking-journey {
  margin-top: 2.25rem;
}

.zv-booking-facts {
  display: grid;
  margin-top: 2.25rem;
  border-block: 1px solid rgba(36, 92, 106, 0.2);
}

.zv-booking-facts p {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 0.1rem 0.8rem;
  margin: 0;
  padding: 1rem 0;
  border-bottom: 1px solid rgba(36, 92, 106, 0.14);
}

.zv-booking-facts p:last-child {
  border-bottom: 0;
}

.zv-booking-facts span {
  grid-row: span 2;
  color: var(--zv-teal);
  font-size: 0.7rem;
  font-weight: 850;
}

.zv-booking-facts strong {
  color: var(--zv-ink);
}

.zv-booking-facts small {
  color: var(--zv-muted);
  line-height: 1.45;
}

.zv-audience-mosaic-heading h2 {
  margin-bottom: 2.25rem;
}

.zv-audience-mosaic-grid a {
  min-height: 19rem;
}

.zv-editorial-hero h1,
.zv-channels-hero h1,
.zv-booking-hero h1,
.zv-try-hero h1 {
  max-width: 15ch;
  font-size: var(--zv-display-xl);
  line-height: 1;
  letter-spacing: -0.052em;
}

.zv-page-hero.zv-editorial-hero,
.zv-page-hero.zv-channels-hero,
.zv-page-hero.zv-booking-hero,
.zv-specialist-hero {
  padding-block: clamp(4rem, 6.5vw, 6rem);
}

.zv-specialist-copy h1 {
  max-width: 16ch;
  font-size: clamp(2.85rem, 3.65vw, 3.75rem);
  line-height: 1;
  letter-spacing: -0.052em;
}

.zv-specialist-moments-grid article {
  min-height: 10.75rem;
}

.zv-specialist-moments-grid article.is-featured {
  min-height: 15rem;
}

.zv-lang-switcher {
  display: flex;
  align-items: center;
  gap: 0.2rem;
  padding: 0.18rem;
  border: 1px solid var(--zv-line);
  border-radius: 0.75rem;
  background: rgba(255, 255, 255, 0.78);
}

.zv-nav .zv-lang-option,
.zv-lang-option {
  display: inline-flex;
  min-height: 2.35rem;
  align-items: center;
  gap: 0.42rem;
  padding: 0.38rem 0.52rem;
  border-radius: 0.55rem;
  color: var(--zv-ink);
  font-size: 0.73rem;
  font-weight: 760;
  white-space: nowrap;
}

.zv-lang-option[aria-current="page"],
.zv-lang-option.is-current {
  background: var(--zv-cool);
  color: var(--zv-teal);
}

.zv-lang-option img {
  width: 1.1rem;
  height: 0.75rem;
  flex: 0 0 auto;
  object-fit: cover;
  border: 1px solid rgba(23, 63, 74, 0.14);
  border-radius: 0.12rem;
}

.zv-workday-story {
  padding-block: var(--zv-section-compact);
  background: var(--zv-paper);
}

.zv-workday-grid {
  display: grid;
  align-items: center;
}

.zv-workday-story figure {
  position: relative;
  min-width: 0;
  margin: 0;
}

.zv-workday-story picture,
.zv-workday-story img {
  display: block;
  width: 100%;
}

.zv-workday-story img {
  aspect-ratio: 1.42 / 1;
  object-fit: cover;
  object-position: 68% 50%;
  border-radius: 1.75rem;
  box-shadow: var(--zv-shadow);
}

.zv-workday-story figcaption {
  position: absolute;
  right: 0.85rem;
  bottom: 0.85rem;
  max-width: calc(100% - 1.7rem);
  padding: 0.5rem 0.72rem;
  border-radius: 999px;
  background: rgba(251, 252, 248, 0.94);
  color: var(--zv-ink);
  font-size: 0.72rem;
  font-weight: 740;
  box-shadow: 0 0.5rem 1.6rem rgba(23, 63, 74, 0.12);
}

.zv-workday-grid > div {
  position: relative;
  z-index: 2;
  min-width: 0;
  padding: clamp(1.6rem, 4vw, 3.25rem);
  border: 1px solid var(--zv-line);
  border-radius: 1.5rem;
  background: rgba(255, 255, 255, 0.96);
  box-shadow: var(--zv-shadow);
}

.zv-workday-story h2 {
  max-width: 17ch;
  margin: 0;
  font-size: var(--zv-display-lg);
  line-height: 1.02;
  letter-spacing: -0.048em;
}

.zv-workday-grid > div > p:not(.zv-eyebrow) {
  max-width: 40rem;
  color: var(--zv-muted);
  line-height: 1.62;
}

.zv-workday-moments {
  display: grid;
  margin-top: 1.5rem;
  border-top: 1px solid var(--zv-line);
}

.zv-workday-moments p {
  display: grid;
  grid-template-columns: 2.2rem minmax(0, 1fr);
  gap: 0.65rem;
  align-items: baseline;
  margin: 0;
  padding: 0.82rem 0;
  border-bottom: 1px solid var(--zv-line);
  color: var(--zv-ink) !important;
  font-size: 0.88rem;
  font-weight: 720;
}

.zv-workday-moments span {
  color: var(--zv-teal);
  font-size: 0.68rem;
  font-weight: 850;
}

.zv-quality-onboarding {
  padding-block: var(--zv-section-compact);
  background: var(--zv-cool);
}

.zv-quality-onboarding-grid {
  display: grid;
  gap: clamp(2.5rem, 6vw, 6rem);
  align-items: center;
}

.zv-quality-onboarding h2 {
  max-width: 16ch;
  margin: 0;
  font-size: var(--zv-display-lg);
  line-height: 1.02;
  letter-spacing: -0.048em;
}

.zv-quality-onboarding-grid > div > p:not(.zv-eyebrow, .zv-onboarding-contrast, .zv-next-day) {
  max-width: 39rem;
  color: var(--zv-muted);
  line-height: 1.62;
}

.zv-onboarding-contrast {
  display: grid;
  gap: 0.35rem;
  margin: 1.45rem 0 0;
  padding: 1.1rem 1.2rem;
  border-left: 3px solid var(--zv-sand);
  background: var(--zv-warm);
}

.zv-onboarding-contrast strong {
  color: var(--zv-ink);
}

.zv-onboarding-contrast span {
  color: var(--zv-muted);
  line-height: 1.55;
}

.zv-quality-onboarding ol {
  margin: 0;
  padding: 0;
  list-style: none;
  border-top: 1px solid var(--zv-line);
}

.zv-quality-onboarding li {
  display: grid;
  grid-template-columns: 3.2rem minmax(0, 1fr);
  gap: 0.8rem;
  align-items: center;
  min-height: 4.6rem;
  border-bottom: 1px solid var(--zv-line);
}

.zv-quality-onboarding li span {
  color: var(--zv-teal);
  font-size: 0.7rem;
  font-weight: 850;
}

.zv-quality-onboarding li strong {
  color: var(--zv-ink);
}

.zv-growth-strip {
  padding-block: clamp(3.75rem, 6vw, 5.5rem);
  border-block: 1px solid var(--zv-line);
  background: var(--zv-paper);
}

.zv-growth-strip > .zv-container {
  display: grid;
  gap: 2.25rem clamp(3rem, 6vw, 6rem);
}

.zv-growth-strip h2 {
  max-width: 20ch;
  margin: 0;
  font-size: var(--zv-display-md);
  line-height: 1.05;
  letter-spacing: -0.042em;
}

.zv-growth-outcomes {
  display: grid;
  border-top: 1px solid var(--zv-line);
}

.zv-growth-outcomes article {
  display: grid;
  grid-template-columns: 2.5rem minmax(0, 1fr);
  gap: 0.2rem 0.75rem;
  padding: 1.05rem 0;
  border-bottom: 1px solid var(--zv-line);
}

.zv-growth-outcomes article > span {
  grid-row: span 2;
  color: var(--zv-teal);
  font-size: 0.72rem;
  font-weight: 850;
}

.zv-growth-outcomes strong {
  color: var(--zv-ink);
  font-size: 1.06rem;
}

.zv-growth-outcomes p {
  margin: 0;
  color: var(--zv-muted);
  font-size: 0.9rem;
  line-height: 1.5;
}

.zv-trial-panel {
  padding-block: var(--zv-section-compact);
  background: var(--zv-cool);
}

.zv-trial-panel-grid {
  display: grid;
  gap: 1rem;
}

.zv-trial-price,
.zv-trial-offer {
  min-width: 0;
  padding: clamp(1.6rem, 4vw, 3rem);
  border: 1px solid var(--zv-line);
  border-radius: 1.5rem;
}

.zv-trial-price {
  background: var(--zv-white);
}

.zv-trial-offer {
  background: var(--zv-teal);
  color: rgba(255, 255, 255, 0.82);
}

.zv-trial-price h2,
.zv-trial-offer h3 {
  max-width: 18ch;
  margin: 0;
  font-size: clamp(2rem, 3.25vw, 3.25rem);
  line-height: 1.04;
  letter-spacing: -0.045em;
}

.zv-trial-price > p:not(.zv-eyebrow),
.zv-trial-offer > p:not(.zv-eyebrow) {
  margin-top: 1.2rem;
  color: var(--zv-muted);
  line-height: 1.6;
}

.zv-trial-offer .zv-eyebrow {
  color: #f5d2a9;
}

.zv-trial-offer h3 {
  color: var(--zv-white);
}

.zv-trial-offer > p:not(.zv-eyebrow) {
  color: rgba(255, 255, 255, 0.8);
}

.zv-trial-offer .zv-button {
  background: var(--zv-white);
  color: var(--zv-ink);
}

.zv-trial-price .zv-button,
.zv-trial-offer .zv-button {
  margin-top: 0.75rem;
}

.zv-proof-slot {
  padding-block: clamp(2.75rem, 5vw, 4.5rem);
  background: var(--zv-warm);
}

.zv-proof-slot .zv-container {
  padding-left: clamp(1.25rem, 3vw, 2.25rem);
  border-left: 3px solid var(--zv-sand);
}

.zv-proof-slot h2 {
  max-width: 26ch;
  margin: 0;
  font-size: clamp(1.75rem, 3vw, 2.85rem);
  line-height: 1.08;
  letter-spacing: -0.038em;
}

.zv-proof-slot p:last-child {
  max-width: 46rem;
  margin-bottom: 0;
  color: var(--zv-muted);
}

.zv-final-conversion {
  padding-block: clamp(4rem, 7vw, 6.5rem);
  background: var(--zv-ink);
  color: rgba(255, 255, 255, 0.8);
}

.zv-final-conversion-grid {
  display: grid;
  gap: 2rem clamp(3rem, 7vw, 7rem);
  align-items: end;
}

.zv-final-conversion .zv-eyebrow {
  color: #f5d2a9;
}

.zv-final-conversion h2 {
  max-width: 16ch;
  margin: 0;
  color: var(--zv-white);
  font-size: var(--zv-display-lg);
  line-height: 1.02;
  letter-spacing: -0.048em;
}

.zv-final-conversion-grid > div:first-child > p:last-child {
  max-width: 42rem;
  color: rgba(255, 255, 255, 0.76);
  line-height: 1.6;
}

.zv-final-conversion .zv-actions {
  display: grid;
  margin: 0;
}

.zv-final-conversion .zv-button-primary {
  background: var(--zv-white);
  color: var(--zv-ink);
}

.zv-final-conversion .zv-button-secondary {
  border-color: rgba(255, 255, 255, 0.32);
  background: transparent;
  color: var(--zv-white);
}

.zv-victoria-name-note {
  margin: 1.1rem 0 0 !important;
  padding: 0.85rem 0 0.85rem 1rem;
  border-left: 2px solid var(--zv-sand);
  color: rgba(255, 255, 255, 0.7) !important;
  font-size: 0.82rem !important;
  line-height: 1.55 !important;
}

.zv-page-hero h1 {
  max-width: 15ch;
  font-size: var(--zv-display-xl);
  line-height: 1;
  letter-spacing: -0.052em;
}

.zv-section-heading h2,
.zv-phone-panel h2,
.zv-contact h2 {
  font-size: clamp(2.05rem, 3.45vw, 3.45rem);
  line-height: 1.04;
  letter-spacing: -0.043em;
}

.zv-channel-test-selector {
  padding-block: var(--zv-section-compact);
  background: var(--zv-cool);
}

.zv-channel-test-heading {
  display: grid;
  gap: 0.4rem;
  max-width: 52rem;
}

.zv-channel-test-heading h2 {
  max-width: 17ch;
  margin: 0;
  font-size: var(--zv-display-lg);
  line-height: 1.02;
  letter-spacing: -0.048em;
}

.zv-channel-test-heading > p:last-child {
  max-width: 43rem;
  color: var(--zv-muted);
  line-height: 1.62;
}

.zv-channel-test-grid {
  display: grid;
  gap: 0.8rem;
  margin-top: 2.5rem;
}

.zv-channel-test-grid article {
  display: grid;
  min-width: 0;
  min-height: 12rem;
  align-content: start;
  padding: 1.25rem;
  border: 1px solid var(--zv-line);
  border-radius: 1.15rem;
  background: rgba(255, 255, 255, 0.82);
}

.zv-channel-test-grid article > span:first-child {
  color: var(--zv-teal);
  font-size: 0.68rem;
  font-weight: 850;
}

.zv-channel-test-grid h3 {
  margin: 1.4rem 0 0;
  color: var(--zv-ink);
  font-size: 1.45rem;
}

.zv-channel-test-grid article > p {
  margin: 0.45rem 0 0;
  color: var(--zv-muted);
  font-size: 0.9rem;
  line-height: 1.5;
}

.zv-channel-test-grid article > small {
  margin-top: 1rem;
  color: var(--zv-teal);
  font-size: 0.67rem;
  font-weight: 760;
  letter-spacing: 0.04em;
}

.zv-channel-test-grid article > button,
.zv-channel-test-grid article > a,
.zv-channel-test-pending {
  display: inline-flex;
  width: fit-content;
  min-height: 2.55rem;
  align-items: center;
  gap: 0.45rem;
  margin-top: 1rem;
  padding: 0.45rem 0.7rem;
  border: 1px solid var(--zv-line);
  border-radius: 999px;
  background: var(--zv-white);
  color: var(--zv-teal);
  font: inherit;
  font-size: 0.74rem;
  font-weight: 770;
}

.zv-channel-test-chat,
.zv-channel-test-phone {
  min-height: 15rem !important;
}

.zv-channel-test-chat {
  border-color: var(--zv-teal) !important;
  background: var(--zv-teal) !important;
  color: var(--zv-white);
}

.zv-channel-test-chat > span:first-child,
.zv-channel-test-chat h3,
.zv-channel-test-chat > p,
.zv-channel-test-chat > small {
  color: var(--zv-white) !important;
}

.zv-channel-test-chat > p,
.zv-channel-test-chat > small {
  opacity: 0.78;
}

.zv-channel-test-phone {
  background: var(--zv-warm) !important;
}

.zv-channel-test-pending {
  min-height: 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--zv-muted);
  line-height: 1.45;
}

.zv-cross-channel-note {
  margin: 1.25rem 0 0;
  padding: 1rem 0 0 1.1rem;
  border-left: 3px solid var(--zv-sand);
  color: var(--zv-muted);
  font-size: 0.88rem;
  line-height: 1.55;
}

.zv-cross-channel-note strong {
  color: var(--zv-ink);
}

.zv-runtime-badge {
  display: inline-flex;
  width: fit-content;
  min-height: 2.65rem;
  align-items: center;
  padding: 0.5rem 0.78rem;
  border: 1px solid var(--zv-line);
  border-radius: 999px;
  background: var(--zv-cool);
  color: var(--zv-teal);
  font-size: 0.72rem;
  font-weight: 780;
}

.zv-pricing-page-hero {
  padding-block: clamp(4rem, 6.5vw, 6.5rem);
  background: var(--zv-warm);
}

.zv-pricing-page-hero-grid {
  display: grid;
  gap: clamp(2.5rem, 6vw, 6rem);
  align-items: center;
}

.zv-pricing-page-hero h1 {
  max-width: 16ch;
}

.zv-pricing-figure {
  display: grid;
  min-width: 0;
  align-content: center;
  min-height: 20rem;
  padding: clamp(1.75rem, 5vw, 3.75rem);
  border-radius: 1.75rem;
  background: var(--zv-teal);
  color: var(--zv-white);
  box-shadow: var(--zv-shadow);
}

.zv-pricing-figure > span {
  color: #f5d2a9;
  font-size: 0.72rem;
  font-weight: 850;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}

.zv-pricing-figure > strong {
  margin-top: 1.8rem;
  color: var(--zv-white);
  font-size: clamp(2.75rem, 5vw, 4.65rem);
  line-height: 1;
  letter-spacing: -0.055em;
}

.zv-pricing-figure > p {
  max-width: 24rem;
  margin: 0.65rem 0 0;
  color: rgba(255, 255, 255, 0.76);
}

.zv-pricing-explained,
.zv-pricing-economics,
.zv-trial-detail,
.zv-pricing-practicalities {
  padding-block: var(--zv-section-compact);
}

.zv-pricing-explained {
  background: var(--zv-paper);
}

.zv-pricing-explained-grid {
  display: grid;
  gap: 2.5rem clamp(3rem, 7vw, 7rem);
  align-items: center;
}

.zv-pricing-explained h2,
.zv-pricing-economics h2,
.zv-trial-detail h2,
.zv-pricing-practicalities h2 {
  max-width: 18ch;
  margin: 0;
  font-size: var(--zv-display-lg);
  line-height: 1.02;
  letter-spacing: -0.048em;
}

.zv-pricing-explained-grid > div > p:last-child,
.zv-pricing-economics-heading > p:last-child,
.zv-trial-detail-grid > div > p:not(.zv-eyebrow) {
  max-width: 42rem;
  color: var(--zv-muted);
  line-height: 1.62;
}

.zv-pricing-explained ul {
  margin: 0;
  padding: 0;
  list-style: none;
  border-top: 1px solid var(--zv-line);
}

.zv-pricing-explained li {
  position: relative;
  padding: 1rem 0 1rem 1.3rem;
  border-bottom: 1px solid var(--zv-line);
  color: var(--zv-ink);
  font-weight: 720;
}

.zv-pricing-explained li::before {
  position: absolute;
  top: 1.62rem;
  left: 0;
  width: 0.42rem;
  height: 0.42rem;
  border-radius: 50%;
  background: var(--zv-sand);
  content: "";
}

.zv-pricing-economics {
  background: var(--zv-warm);
}

.zv-pricing-economics-heading {
  max-width: 57rem;
}

.zv-pricing-comparison {
  display: grid;
  gap: 0.8rem;
  margin-top: 2.5rem;
}

.zv-pricing-comparison article {
  min-width: 0;
  padding: 1.4rem;
  border: 1px solid var(--zv-line);
  border-radius: 1.2rem;
  background: rgba(255, 255, 255, 0.78);
}

.zv-pricing-comparison article > span {
  color: var(--zv-teal);
  font-size: 0.68rem;
  font-weight: 850;
}

.zv-pricing-comparison h3 {
  margin: 2rem 0 0;
  font-size: 1.45rem;
}

.zv-pricing-comparison p {
  margin-bottom: 0;
  color: var(--zv-muted);
  font-size: 0.92rem;
  line-height: 1.55;
}

.zv-pricing-comparison .is-zhyrana {
  border-color: var(--zv-teal);
  background: var(--zv-teal);
}

.zv-pricing-comparison .is-zhyrana > span {
  color: #f5d2a9;
}

.zv-pricing-comparison .is-zhyrana h3,
.zv-pricing-comparison .is-zhyrana p {
  color: var(--zv-white);
}

.zv-pricing-comparison .is-zhyrana p {
  opacity: 0.8;
}

.zv-cost-prompts {
  display: grid;
  gap: 0;
  margin-top: 2rem;
  border-block: 1px solid rgba(36, 92, 106, 0.18);
}

.zv-cost-prompts p {
  margin: 0;
  padding: 1rem 0;
  border-bottom: 1px solid rgba(36, 92, 106, 0.18);
  color: var(--zv-ink);
  font-size: clamp(1.05rem, 2vw, 1.35rem);
  font-weight: 730;
  line-height: 1.35;
}

.zv-cost-prompts p:last-child {
  border-bottom: 0;
}

.zv-trial-detail {
  background: var(--zv-teal);
  color: rgba(255, 255, 255, 0.8);
}

.zv-trial-detail-grid {
  display: grid;
  gap: 2rem clamp(3rem, 7vw, 7rem);
  align-items: center;
}

.zv-trial-detail .zv-eyebrow {
  color: #f5d2a9;
}

.zv-trial-detail h2 {
  color: var(--zv-white);
}

.zv-trial-detail-grid > div > p:not(.zv-eyebrow) {
  color: rgba(255, 255, 255, 0.78);
}

.zv-trial-detail .zv-button {
  margin-top: 0.8rem;
  background: var(--zv-white);
  color: var(--zv-ink);
}

.zv-trial-start-note {
  display: grid;
  gap: 0.45rem;
  margin: 0;
  padding: clamp(1.4rem, 3vw, 2.2rem);
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 1.25rem;
  background: rgba(255, 255, 255, 0.1);
}

.zv-trial-start-note strong {
  color: var(--zv-white);
  font-size: 1.15rem;
}

.zv-trial-start-note span {
  color: rgba(255, 255, 255, 0.9);
  line-height: 1.55;
}

.zv-pricing-practicalities {
  background: var(--zv-paper);
}

.zv-pricing-practicalities > .zv-container {
  display: grid;
  gap: 2.5rem clamp(3rem, 7vw, 7rem);
}

.zv-pricing-practicalities dl {
  margin: 0;
  border-top: 1px solid var(--zv-line);
}

.zv-pricing-practicalities dl > div {
  display: grid;
  gap: 0.35rem;
  padding: 1rem 0;
  border-bottom: 1px solid var(--zv-line);
}

.zv-pricing-practicalities dt {
  color: var(--zv-ink);
  font-weight: 760;
}

.zv-pricing-practicalities dd {
  margin: 0;
  color: var(--zv-muted);
  line-height: 1.55;
}

.zv-cross-channel-proof {
  padding-block: clamp(3.5rem, 6vw, 5.5rem);
  background: var(--zv-teal);
  color: rgba(255, 255, 255, 0.8);
  text-align: center;
}

.zv-cross-channel-proof .zv-container {
  display: grid;
  justify-items: center;
}

.zv-cross-channel-proof .zv-eyebrow {
  color: #f5d2a9;
}

.zv-cross-channel-proof h2 {
  max-width: 20ch;
  margin: 0;
  color: var(--zv-white);
  font-size: var(--zv-display-md);
  line-height: 1.04;
  letter-spacing: -0.043em;
}

.zv-cross-channel-proof p:last-child {
  max-width: 48rem;
  margin: 1rem 0 0;
  color: rgba(255, 255, 255, 0.76);
  line-height: 1.6;
}

.zv-proof-slot-inline {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 0.35rem 2rem;
  margin-top: 2rem;
  padding-top: 1rem;
  border-top: 1px solid var(--zv-line);
}

.zv-proof-slot-inline strong {
  color: var(--zv-ink);
  font-size: 0.88rem;
}

.zv-proof-slot-inline span {
  color: var(--zv-muted);
  font-size: 0.78rem;
}

.zv-specialist-value-question {
  padding-block: clamp(3.5rem, 6vw, 5.25rem);
  border-block: 1px solid var(--zv-line);
  background: var(--zv-cool);
}

.zv-specialist-value-question .zv-container {
  display: grid;
  max-width: 64rem;
}

.zv-specialist-value-question h2 {
  max-width: 25ch;
  margin: 0;
  font-size: var(--zv-display-md);
  line-height: 1.05;
  letter-spacing: -0.043em;
}

.zv-specialist-value-question p:last-child {
  max-width: 44rem;
  margin: 1rem 0 0;
  color: var(--zv-muted);
  line-height: 1.6;
}

.zv-specialist-value-trades,
.zv-specialist-value-salon {
  background: var(--zv-warm);
}

.zv-specialist-value-auto .zv-container {
  padding-left: clamp(1.25rem, 3vw, 2.5rem);
  border-left: 3px solid var(--zv-sand);
}

.zv-workday-grid > *,
.zv-quality-onboarding-grid > *,
.zv-growth-strip > .zv-container > *,
.zv-growth-outcomes > *,
.zv-trial-panel-grid > *,
.zv-final-conversion-grid > *,
.zv-channel-test-grid > *,
.zv-pricing-page-hero-grid > *,
.zv-pricing-explained-grid > *,
.zv-pricing-comparison > *,
.zv-trial-detail-grid > *,
.zv-pricing-practicalities > .zv-container > * {
  min-width: 0;
}

@media (min-width: 64rem) {
  .zv-hero-grid-vnext {
    grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
    align-items: center;
  }

  .zv-hero-vnext .zv-hero-copy {
    padding-top: 0;
  }

  .zv-phone-story {
    margin-top: -5.5rem;
  }

  .zv-email-story {
    margin-top: -3.5rem;
  }

  .zv-audience-mosaic-grid {
    grid-template-rows: 16rem 16rem;
  }

  .zv-booking-facts {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .zv-booking-facts p {
    min-height: 6.5rem;
    align-content: center;
    padding: 1rem 1.2rem;
    border-right: 1px solid rgba(36, 92, 106, 0.14);
    border-bottom: 0;
  }

  .zv-booking-facts p:first-child {
    padding-left: 0;
  }

  .zv-booking-facts p:last-child {
    padding-right: 0;
    border-right: 0;
  }

  .zv-workday-grid {
    grid-template-columns: repeat(12, minmax(0, 1fr));
  }

  .zv-workday-story figure {
    grid-column: 1 / span 7;
    grid-row: 1;
  }

  .zv-workday-grid > div {
    grid-column: 7 / -1;
    grid-row: 1;
  }

  .zv-workday-moments {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .zv-workday-moments p:nth-child(odd) {
    padding-right: 0.8rem;
    border-right: 1px solid var(--zv-line);
  }

  .zv-workday-moments p:nth-child(even) {
    padding-left: 0.8rem;
  }

  .zv-quality-onboarding-grid,
  .zv-growth-strip > .zv-container,
  .zv-final-conversion-grid {
    grid-template-columns: minmax(0, 1fr) minmax(0, 0.9fr);
  }

  .zv-trial-panel-grid {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  }

  .zv-trial-offer {
    margin-top: 2.5rem;
    margin-bottom: -2.5rem;
  }

  .zv-final-conversion .zv-actions {
    justify-self: end;
    width: min(100%, 24rem);
  }

  .zv-channel-test-grid {
    grid-template-columns: repeat(12, minmax(0, 1fr));
  }

  .zv-channel-test-grid article {
    grid-column: span 3;
  }

  .zv-channel-test-chat,
  .zv-channel-test-phone {
    grid-column: span 6 !important;
  }

  .zv-pricing-page-hero-grid,
  .zv-pricing-explained-grid,
  .zv-trial-detail-grid,
  .zv-pricing-practicalities > .zv-container {
    grid-template-columns: minmax(0, 1fr) minmax(0, 0.85fr);
  }

  .zv-pricing-comparison {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .zv-cost-prompts {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .zv-cost-prompts p:first-child {
    padding-right: 1.5rem;
    border-right: 1px solid rgba(36, 92, 106, 0.18);
    border-bottom: 0;
  }

  .zv-cost-prompts p:last-child {
    padding-left: 1.5rem;
  }
}

@media (max-width: 63.99rem) {
  .zv-lang-switcher {
    width: fit-content;
    margin-block: 0.4rem;
  }
}

@media (max-width: 41.99rem) {
  :root {
    --zv-section-compact: clamp(3.75rem, 15vw, 5rem);
  }

  .zv-hero-vnext {
    padding-top: 3.4rem;
  }

  .zv-hero-vnext h1,
  .zv-specialist-copy h1,
  .zv-editorial-hero h1,
  .zv-channels-hero h1,
  .zv-booking-hero h1,
  .zv-try-hero h1 {
    max-width: 16ch;
    font-size: clamp(2.55rem, 11.6vw, 3.55rem);
    line-height: 1;
    letter-spacing: -0.05em;
  }

  .zv-chat-showcase h2,
  .zv-phone-email-heading h2,
  .zv-visibility-copy h2,
  .zv-booking-control-heading h2,
  .zv-audience-mosaic-heading h2,
  .zv-onboarding-vnext h2,
  .zv-trust-vnext h2,
  .zv-specialist-moments-heading h2,
  .zv-specialist-dialog h2,
  .zv-specialist-booking h2,
  .zv-channel-ribbon-copy h2,
  .zv-price-value h2,
  .zv-how-knowledge h2,
  .zv-booking-examples h2,
  .zv-try-path h2,
  .zv-deep-phone-proof h2 {
    max-width: 17ch;
    font-size: clamp(2.15rem, 9.6vw, 3rem);
    line-height: 1.04;
  }

  .zv-hero-picture img {
    aspect-ratio: 4 / 3;
  }

  .zv-colleague-band {
    margin-top: -1rem;
  }

  .zv-audience-mosaic-grid a {
    min-height: 17rem;
  }

  .zv-workday-grid {
    gap: 1.5rem;
  }

  .zv-workday-story img {
    aspect-ratio: 4 / 3;
  }

  .zv-workday-grid > div {
    grid-row: 1;
    margin: 0;
  }

  .zv-workday-story figure {
    grid-row: 2;
  }

  .zv-workday-story figcaption {
    display: none;
  }

  .zv-trial-offer,
  .zv-trial-price {
    padding: 1.45rem;
  }

  .zv-trial-price h2,
  .zv-trial-offer h3 {
    font-size: clamp(1.9rem, 8.7vw, 2.65rem);
  }

  .zv-final-conversion .zv-actions,
  .zv-final-conversion .zv-button {
    width: 100%;
  }

  .zv-channel-test-grid article {
    min-height: 0;
  }

  .zv-pricing-figure {
    min-height: 0;
  }

  .zv-pricing-figure > strong {
    font-size: clamp(2.55rem, 11vw, 3.6rem);
  }

  .zv-nav .zv-lang-option,
  .zv-lang-option {
    min-height: 2.75rem;
    padding-inline: 0.65rem;
  }

  .zv-visibility-list article {
    grid-template-columns: minmax(0, 1fr);
  }

  .zv-visibility-event {
    grid-column: 1;
  }

  .zv-visibility-list article div p {
    overflow: visible;
    text-overflow: clip;
    white-space: normal;
  }

  .zv-demo-tabs,
  .zv-visibility-filters {
    flex-wrap: wrap;
    overflow-x: visible;
  }

  .zv-demo-tabs button,
  .zv-visibility-filters button {
    flex: 1 1 auto;
    max-width: 100%;
    overflow-wrap: anywhere;
  }

  .zv-demo-compose {
    flex-wrap: wrap;
    gap: 0.6rem;
  }

  .zv-quality-onboarding li strong,
  .zv-growth-outcomes strong {
    min-width: 0;
    overflow-wrap: anywhere;
  }
}

/* Text-resize reflow safeguards. */
.zv-hero-grid-vnext,
.zv-hero-grid-vnext > *,
.zv-editorial-hero-grid,
.zv-editorial-hero-grid > *,
.zv-channels-hero-grid,
.zv-channels-hero-grid > *,
.zv-booking-hero-grid,
.zv-booking-hero-grid > *,
.zv-pricing-page-hero-grid,
.zv-pricing-page-hero-grid > *,
.zv-specialist-grid,
.zv-specialist-grid > *,
.zv-try-hero > .zv-container,
.zv-try-hero > .zv-container > * {
  min-width: 0;
  max-width: 100%;
}

.zv-hero-vnext h1,
.zv-page-hero h1,
.zv-specialist-copy h1,
.zv-hero-vnext .zv-lead,
.zv-hero-proofline,
.zv-hero-proofline span,
.zv-specialist-proof,
.zv-specialist-proof span,
.zv-hero-call,
.zv-hero-email {
  min-width: 0;
  max-width: 100%;
  overflow-wrap: anywhere;
}

.zv-hero-vnext .zv-actions,
.zv-page-hero .zv-actions,
.zv-specialist-hero .zv-actions {
  min-width: 0;
  max-width: 100%;
  flex-wrap: wrap;
}

.zv-hero-vnext .zv-actions > *,
.zv-page-hero .zv-actions > *,
.zv-specialist-hero .zv-actions > * {
  min-width: 0;
  max-width: 100%;
  white-space: normal;
  overflow-wrap: anywhere;
}

.zv-audience-mosaic-grid > a > span,
.zv-audience-mosaic-grid > a > span > * {
  min-width: 0;
  max-width: 100%;
  overflow-wrap: anywhere;
}

@media (min-width: 72rem) {
  .zv-header-inner {
    min-width: 0;
  }

  .zv-wordmark {
    flex: 0 0 auto;
  }

  .zv-nav,
  .zv-nav[hidden] {
    flex: 1 1 0;
    min-width: 0;
    max-width: 100%;
    flex-wrap: wrap;
    justify-content: flex-end;
    align-content: center;
    row-gap: 0.2rem;
  }

  .zv-nav > *,
  .zv-nav a,
  .zv-nav summary,
  .zv-nav .zv-nav-cta,
  .zv-lang-switcher,
  .zv-lang-option {
    min-width: 0;
    max-width: 100%;
  }

  .zv-nav a,
  .zv-nav summary,
  .zv-nav .zv-nav-cta,
  .zv-lang-option {
    white-space: normal;
    overflow-wrap: anywhere;
  }

  .zv-lang-switcher {
    flex: 0 1 auto;
    flex-wrap: wrap;
  }

  .zv-audience-mosaic-grid {
    grid-template-rows: minmax(16em, auto) minmax(16em, auto);
  }
}

@media (max-width: 63.99rem) {
  .zv-audience-mosaic-grid a {
    min-height: max(19rem, 19em);
  }
}

@media (max-width: 41.99rem) {
  .zv-hero-grid-vnext,
  .zv-hero-grid-vnext > *,
  .zv-page-hero .zv-container,
  .zv-page-hero .zv-container > * {
    width: 100%;
  }

  .zv-hero-vnext h1,
  .zv-page-hero h1,
  .zv-specialist-copy h1 {
    max-width: 100%;
  }

  .zv-audience-mosaic-grid a {
    min-height: max(17rem, 17em);
  }
}

@media (prefers-reduced-motion: reduce) {
  .zv-lang-option {
    scroll-behavior: auto;
  }
}

/* Preview 2.0.0-preview.7 — denser editorial rhythm and connected product stories. */
:root {
  --zv-section-compact: clamp(3.6rem, 5.8vw, 5.5rem);
  --zv-display-xl: clamp(2.75rem, 4.15vw, 4.25rem);
  --zv-display-lg: clamp(2.25rem, 3.45vw, 3.55rem);
  --zv-display-md: clamp(1.85rem, 2.75vw, 2.75rem);
}

/* The first viewport keeps the accepted photograph, but uses more of it. */
.zv-hero-preview7 {
  overflow: hidden;
  padding: clamp(3.5rem, 5.8vw, 5.75rem) 0 clamp(3.9rem, 6.4vw, 6.25rem);
  background: var(--zv-cool);
}

.zv-hero-preview7 .zv-hero-grid-vnext {
  position: relative;
  gap: clamp(2rem, 4.5vw, 4.75rem);
}

.zv-hero-preview7 h1,
.zv-features-hero h1,
.zv-booking-hero h1,
.zv-try-hero h1,
.zv-pricing-page-hero h1 {
  max-width: 15ch;
  margin: 0;
  font-size: var(--zv-display-xl);
  line-height: 0.99;
  letter-spacing: -0.052em;
}

.zv-lang-en .zv-hero-preview7 h1 {
  max-width: 16ch;
}

.zv-hero-preview7 .zv-lead {
  max-width: 38rem;
  margin-top: 1.1rem;
  font-size: clamp(1.02rem, 1.4vw, 1.17rem);
  line-height: 1.55;
}

.zv-hero-preview7 .zv-actions {
  margin-top: 1.25rem;
}

.zv-hero-preview7 .zv-hero-proofline {
  margin-top: 1.25rem;
}

.zv-hero-preview7 .zv-hero-picture img {
  aspect-ratio: 1.32 / 1;
}

.zv-hero-preview7 .zv-hero-email {
  right: 0;
}

.zv-features-hero,
.zv-page-hero.zv-booking-hero,
.zv-pricing-page-hero,
.zv-specialist-hero {
  padding-block: clamp(3.5rem, 5.8vw, 5.5rem);
}

.zv-specialist-copy h1 {
  max-width: 17ch;
  font-size: clamp(2.55rem, 3.3vw, 3.35rem);
  line-height: 1;
  letter-spacing: -0.048em;
}

.zv-feature-overview,
.zv-memory-story,
.zv-booking-model,
.zv-channel-hub,
.zv-trial-start,
.zv-vertical-story,
.zv-vertical-value,
.zv-pricing-value,
.zv-pricing-model,
.zv-pricing-tariff,
.zv-pricing-volume,
.zv-pricing-payment,
.zv-pricing-plan-section,
.zv-contact-simple {
  padding-block: var(--zv-section-compact);
}

.zv-feature-overview h2,
.zv-memory-story h2,
.zv-booking-model-heading h2,
.zv-channel-hub-heading h2,
.zv-trial-start h2,
.zv-vertical-story h2,
.zv-vertical-value h2,
.zv-pricing-value h2,
.zv-pricing-model h2,
.zv-pricing-tariff h2,
.zv-pricing-volume h2,
.zv-pricing-payment h2,
.zv-contact-simple h2 {
  margin: 0;
  font-size: var(--zv-display-lg);
  line-height: 1.03;
  letter-spacing: -0.043em;
}

/* Compact post-hero selector: a single connected choice surface, not four promos. */
.zv-vertical-selector {
  padding-block: clamp(1.55rem, 2.8vw, 2.35rem);
  background: var(--zv-ink);
  color: rgba(255, 255, 255, 0.86);
}

.zv-vertical-selector-inner {
  display: grid;
  gap: 1.25rem clamp(1.5rem, 4vw, 4rem);
  align-items: center;
}

.zv-vertical-selector-heading,
.zv-vertical-selector-list,
.zv-vertical-selector-item {
  min-width: 0;
}

.zv-vertical-selector-heading .zv-eyebrow {
  margin-bottom: 0.42rem;
  color: #f5d2a9;
}

.zv-vertical-selector-heading h2 {
  max-width: 22ch;
  margin: 0;
  color: var(--zv-white);
  font-size: clamp(1.25rem, 1.85vw, 1.7rem);
  line-height: 1.08;
  letter-spacing: -0.03em;
}

.zv-vertical-selector-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 10.5rem), 1fr));
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 1rem;
  overflow: hidden;
}

.zv-vertical-selector-item {
  position: relative;
  display: grid;
  grid-template-rows: auto 1fr auto;
  gap: 0.28rem;
  min-height: 8.7rem;
  padding: 1rem;
  border-right: 1px solid rgba(255, 255, 255, 0.14);
  border-bottom: 1px solid rgba(255, 255, 255, 0.14);
  color: var(--zv-white);
  text-decoration: none;
}

.zv-vertical-selector-item::before {
  position: absolute;
  inset: 0 auto 0 0;
  width: 0.22rem;
  background: var(--zv-sand);
  content: "";
  opacity: 0.78;
}

.zv-vertical-selector-item strong,
.zv-vertical-selector-item span,
.zv-vertical-selector-item b {
  min-width: 0;
  overflow-wrap: anywhere;
}

.zv-vertical-selector-item strong {
  font-size: 0.92rem;
  line-height: 1.25;
}

.zv-vertical-selector-item span {
  color: rgba(255, 255, 255, 0.72);
  font-size: 0.77rem;
  line-height: 1.43;
}

.zv-vertical-selector-item b {
  align-self: end;
  color: #f5d2a9;
  font-size: 0.72rem;
  font-weight: 780;
}

.zv-vertical-selector-item:hover,
.zv-vertical-selector-item:focus-visible {
  background: rgba(255, 255, 255, 0.08);
}

.zv-vertical-selector-dentist::before { background: #a7d7ce; }
.zv-vertical-selector-trades::before { background: #e4b980; }
.zv-vertical-selector-auto::before { background: #83aeb8; }
.zv-vertical-selector-salon::before { background: #e5c9ab; }

/* Customer memory becomes a two-contact narrative with an explicit bridge. */
.zv-memory-story {
  background: var(--zv-cool);
}

.zv-memory-story-grid {
  display: grid;
  gap: clamp(2rem, 5vw, 5.5rem);
  align-items: center;
}

.zv-memory-story-grid > *,
.zv-cross-channel-story > * {
  min-width: 0;
}

.zv-memory-story-copy > p:not(.zv-eyebrow, .zv-memory-story-proof) {
  max-width: 39rem;
  color: var(--zv-muted);
  line-height: 1.62;
}

.zv-memory-story-proof {
  max-width: 38rem;
  margin: 1.4rem 0 0;
  padding: 1rem 0 1rem 1.15rem;
  border-left: 3px solid var(--zv-sand);
  color: var(--zv-ink);
  font-weight: 720;
  line-height: 1.52;
}

.zv-cross-channel-story {
  position: relative;
  display: grid;
  gap: 0;
  padding: clamp(1rem, 2vw, 1.4rem);
  border: 1px solid var(--zv-line);
  border-radius: 1.5rem;
  background: var(--zv-paper);
  box-shadow: var(--zv-shadow);
}

.zv-cross-channel-call,
.zv-cross-channel-email {
  display: grid;
  gap: 0.55rem;
  padding: clamp(1.15rem, 2.2vw, 1.65rem);
  border-radius: 1rem;
}

.zv-cross-channel-call {
  width: min(88%, 29rem);
  background: var(--zv-teal);
  color: var(--zv-white);
}

.zv-cross-channel-email {
  width: min(88%, 29rem);
  margin-left: auto;
  border: 1px solid var(--zv-line);
  background: var(--zv-white);
}

.zv-cross-channel-call > span,
.zv-cross-channel-email > span {
  color: #f5d2a9;
  font-size: 0.68rem;
  font-weight: 850;
  letter-spacing: 0.12em;
}

.zv-cross-channel-email > span { color: var(--zv-teal); }

.zv-cross-channel-call p,
.zv-cross-channel-email p {
  margin: 0;
  font-size: clamp(1.05rem, 1.6vw, 1.3rem);
  font-weight: 750;
  line-height: 1.32;
}

.zv-cross-channel-call p,
.zv-cross-channel-call strong { color: var(--zv-white); }

.zv-cross-channel-call strong,
.zv-cross-channel-email strong {
  font-size: 0.75rem;
  line-height: 1.45;
}

.zv-cross-channel-bridge {
  position: relative;
  display: grid;
  min-height: 3.7rem;
  place-items: center;
}

.zv-cross-channel-bridge::before {
  position: absolute;
  width: 1px;
  height: 100%;
  background: var(--zv-line);
  content: "";
}

.zv-cross-channel-bridge span {
  position: relative;
  z-index: 1;
  padding: 0.38rem 0.75rem;
  border: 1px solid var(--zv-line);
  border-radius: 999px;
  background: var(--zv-paper);
  color: var(--zv-teal);
  font-size: 0.68rem;
  font-weight: 820;
}

/* Booking is shown as one governed journey: inputs, Victoria, then two outcomes. */
.zv-booking-model {
  display: block;
  background: var(--zv-warm);
}

.zv-booking-model > .zv-container {
  display: grid;
  gap: clamp(1.8rem, 4vw, 3rem);
}

.zv-booking-model-heading {
  display: grid;
  max-width: 65rem;
  gap: 0.75rem clamp(2rem, 5vw, 5rem);
}

.zv-booking-model-heading .zv-eyebrow,
.zv-booking-model-heading h2,
.zv-booking-model-heading > p:last-child {
  margin-top: 0;
  margin-bottom: 0;
}

.zv-booking-model-heading > p:last-child {
  max-width: 42rem;
  color: var(--zv-muted);
  line-height: 1.6;
}

.zv-booking-model-stage {
  display: grid;
  gap: 0.8rem;
  align-items: stretch;
  min-width: 0;
}

.zv-booking-model-inputs,
.zv-booking-model-outcomes {
  display: grid;
  gap: 0.65rem;
  min-width: 0;
}

.zv-booking-model-inputs article,
.zv-booking-model-outcomes article {
  min-width: 0;
  padding: 1rem 1.05rem;
  border: 1px solid rgba(36, 92, 106, 0.16);
  border-radius: 0.9rem;
  background: rgba(255, 255, 255, 0.82);
}

.zv-booking-model-inputs article {
  display: grid;
  gap: 0.2rem;
}

.zv-booking-model-inputs strong,
.zv-booking-model-inputs span {
  min-width: 0;
  overflow-wrap: anywhere;
}

.zv-booking-model-inputs strong { color: var(--zv-ink); }
.zv-booking-model-inputs span {
  color: var(--zv-muted);
  font-size: 0.78rem;
  line-height: 1.45;
}

.zv-booking-model-core {
  position: relative;
  display: grid;
  align-content: center;
  justify-items: center;
  min-width: 0;
  min-height: 8rem;
  padding: 1.15rem;
  border-radius: 1.15rem;
  background: var(--zv-teal);
  color: var(--zv-white);
  text-align: center;
  box-shadow: 0 1rem 2.5rem rgba(23, 63, 74, 0.16);
}

.zv-booking-model-core span {
  color: #f5d2a9;
  font-size: 0.74rem;
  font-weight: 850;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.zv-booking-model-core strong {
  max-width: 18rem;
  margin-top: 0.45rem;
  color: var(--zv-white);
  font-size: 0.9rem;
  line-height: 1.45;
}

.zv-booking-model-outcomes article {
  display: grid;
  align-content: start;
}

.zv-booking-model-outcomes article h3 {
  margin: 0;
  font-size: clamp(1.25rem, 1.8vw, 1.55rem);
  line-height: 1.1;
}

.zv-booking-model-outcomes article > p:last-child {
  margin-bottom: 0;
  color: var(--zv-muted);
  line-height: 1.5;
}

.zv-booking-outcome-auto { border-top: 3px solid var(--zv-green) !important; }
.zv-booking-outcome-approval { border-top: 3px solid var(--zv-sand) !important; }

.zv-booking-model-summary {
  display: flex;
  flex-wrap: wrap;
  gap: 0.3rem 1.5rem;
  align-items: center;
  padding: 1rem 1.2rem;
  border-radius: 0.9rem;
  background: var(--zv-ink);
  color: rgba(255, 255, 255, 0.8);
}

.zv-booking-model-summary strong {
  color: var(--zv-white);
}

.zv-booking-model-summary span {
  flex: 1 1 20rem;
  font-size: 0.82rem;
}

.zv-booking-model-summary a {
  min-height: 2.75rem;
  align-content: center;
  color: #f5d2a9;
  font-size: 0.78rem;
  font-weight: 800;
}

/* Features read as a connected editorial sequence rather than another card grid. */
.zv-feature-overview {
  background: var(--zv-paper);
}

.zv-feature-overview-heading {
  max-width: 56rem;
  margin-bottom: clamp(1.7rem, 3vw, 2.5rem);
}

.zv-feature-overview-list {
  display: grid;
  counter-reset: feature;
  border-block: 1px solid var(--zv-line);
}

.zv-feature-overview-list article {
  position: relative;
  min-width: 0;
  padding: 1.35rem 1.2rem 1.4rem 3.25rem;
  counter-increment: feature;
  border-bottom: 1px solid var(--zv-line);
}

.zv-feature-overview-list article::before {
  position: absolute;
  top: 1.4rem;
  left: 0;
  color: var(--zv-green);
  content: "0" counter(feature);
  font-size: 0.7rem;
  font-weight: 850;
  letter-spacing: 0.12em;
}

.zv-feature-overview-list article h2 {
  margin: 0;
  font-size: clamp(1.3rem, 1.8vw, 1.65rem);
  line-height: 1.1;
  letter-spacing: -0.03em;
}

.zv-feature-overview-list article p {
  margin: 0.55rem 0 0;
  color: var(--zv-muted);
  line-height: 1.5;
}

/* Six channels share one hub, with direct routes visually distinct from setup states. */
.zv-channel-hub {
  background: var(--zv-cool);
}

.zv-channel-hub-heading {
  max-width: 55rem;
  margin-bottom: clamp(1.8rem, 3.5vw, 2.75rem);
}

.zv-channel-hub-heading > p:last-child {
  max-width: 45rem;
  color: var(--zv-muted);
  line-height: 1.6;
}

.zv-channel-hub-grid {
  display: grid;
  gap: 0.8rem;
}

.zv-channel-hub-item {
  display: grid;
  min-width: 0;
  min-height: 13rem;
  align-content: space-between;
  gap: 1.1rem;
  padding: clamp(1.15rem, 2.2vw, 1.65rem);
  border: 1px solid var(--zv-line);
  border-radius: 1.15rem;
  background: var(--zv-white);
}

.zv-channel-hub-copy,
.zv-channel-hub-action,
.zv-channel-hub-copy > * {
  min-width: 0;
  max-width: 100%;
}

.zv-channel-hub-copy .zv-eyebrow {
  margin-bottom: 0.6rem;
}

.zv-channel-hub-copy h3 {
  margin: 0;
  font-size: clamp(1.45rem, 2.1vw, 1.9rem);
  line-height: 1.06;
}

.zv-channel-hub-copy > p:last-child {
  margin: 0.65rem 0 0;
  color: var(--zv-muted);
  line-height: 1.48;
}

.zv-channel-hub-action a,
.zv-channel-hub-action button,
.zv-channel-hub-controlled {
  display: inline-flex;
  max-width: 100%;
  min-height: 2.75rem;
  align-items: center;
  padding: 0.55rem 0.75rem;
  border: 0;
  border-radius: 0.65rem;
  background: var(--zv-teal);
  color: var(--zv-white);
  font: inherit;
  font-size: 0.76rem;
  font-weight: 800;
  line-height: 1.3;
  overflow-wrap: anywhere;
  cursor: pointer;
}

.zv-channel-hub-controlled {
  border: 1px solid var(--zv-line);
  background: var(--zv-paper);
  color: var(--zv-ink);
  cursor: default;
}

.zv-channel-hub-chat {
  background: var(--zv-ink);
}

.zv-channel-hub-chat h3,
.zv-channel-hub-chat .zv-eyebrow { color: var(--zv-white); }
.zv-channel-hub-chat .zv-eyebrow { color: #f5d2a9; }
.zv-channel-hub-chat .zv-channel-hub-copy > p:last-child { color: rgba(255, 255, 255, 0.78); }
.zv-channel-hub-chat .zv-channel-hub-action button { background: var(--zv-white); color: var(--zv-ink); }
.zv-channel-hub-phone { background: var(--zv-warm); }
.zv-channel-hub-email { border-top: 3px solid var(--zv-green); }

.zv-trial-start {
  background: var(--zv-ink);
}

.zv-trial-start-grid {
  display: grid;
  gap: 2rem clamp(3rem, 7vw, 7rem);
  align-items: center;
}

.zv-trial-start .zv-eyebrow { color: #f5d2a9; }
.zv-trial-start h2 { color: var(--zv-white); }
.zv-trial-start p:not(.zv-eyebrow) {
  max-width: 44rem;
  color: rgba(255, 255, 255, 0.78);
  line-height: 1.6;
}

.zv-trial-start-actions {
  display: grid;
  gap: 0.75rem;
  justify-items: stretch;
}

.zv-trial-start-actions > * {
  width: 100%;
  min-height: 3rem;
  align-content: center;
  padding: 0.7rem 1rem;
  border: 1px solid rgba(255, 255, 255, 0.24);
  border-radius: 0.75rem;
  color: var(--zv-white);
  text-align: center;
  font-size: 0.84rem;
  font-weight: 780;
}

/* Specialist pages use the same semantics with visibly different editorial direction. */
.zv-vertical-story {
  overflow: hidden;
  background: var(--zv-cool);
}

.zv-vertical-story-grid {
  display: grid;
  gap: 1rem;
  align-items: stretch;
}

.zv-vertical-story-grid > * {
  min-width: 0;
}

.zv-vertical-story blockquote {
  display: grid;
  min-height: 15rem;
  align-content: space-between;
  margin: 0;
  padding: clamp(1.5rem, 3vw, 2.35rem);
  border-radius: 1.4rem;
  background: var(--zv-teal);
  color: var(--zv-white);
}

.zv-vertical-story blockquote p {
  margin: 0;
  color: var(--zv-white);
  font-size: clamp(1.55rem, 2.45vw, 2.35rem);
  font-weight: 800;
  line-height: 1.08;
  letter-spacing: -0.035em;
}

.zv-vertical-story blockquote span {
  margin-top: 1.5rem;
  color: #f5d2a9;
  font-size: 0.7rem;
  font-weight: 820;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.zv-vertical-story-body {
  padding: clamp(1.4rem, 3vw, 2.35rem);
  border: 1px solid var(--zv-line);
  border-radius: 1.4rem;
  background: var(--zv-paper);
}

.zv-vertical-story-details {
  display: grid;
  gap: 0.6rem;
  margin-top: 1.4rem;
}

.zv-vertical-story-details span {
  min-width: 0;
  padding: 0.7rem 0;
  border-top: 1px solid var(--zv-line);
  color: var(--zv-ink);
  font-size: 0.82rem;
  font-weight: 720;
  overflow-wrap: anywhere;
}

.zv-vertical-capacity {
  display: grid;
  gap: 0.35rem;
  margin: 0;
  padding: 1.2rem 1.35rem;
  border-radius: 1rem;
  background: var(--zv-ink);
  color: rgba(255, 255, 255, 0.8);
}

.zv-vertical-capacity strong {
  color: #f5d2a9;
  font-size: 0.68rem;
  letter-spacing: 0.12em;
}

.zv-vertical-capacity span {
  line-height: 1.48;
}

.zv-vertical-capacity .zv-vertical-demand-proof {
  margin-top: 0.35rem;
  padding-top: 0.75rem;
  border-top: 1px solid rgba(255, 255, 255, 0.18);
  color: rgba(255, 255, 255, 0.94);
}

.zv-vertical-story-auto .zv-vertical-capacity .zv-vertical-demand-proof {
  border-top-color: rgba(19, 50, 58, 0.18);
  color: var(--zv-ink);
}

.zv-vertical-story-trades { background: var(--zv-warm); }
.zv-vertical-story-trades blockquote { background: var(--zv-ink); }
.zv-vertical-story-auto { background: var(--zv-ink); }
.zv-vertical-story-auto .zv-vertical-story-body { border-color: rgba(255, 255, 255, 0.14); }
.zv-vertical-story-auto .zv-vertical-capacity { background: var(--zv-sand); color: var(--zv-ink); }
.zv-vertical-story-auto .zv-vertical-capacity strong { color: var(--zv-ink); }
.zv-vertical-story-salon { background: var(--zv-paper); }
.zv-vertical-story-salon blockquote { background: var(--zv-warm); }
.zv-vertical-story-salon blockquote p,
.zv-vertical-story-salon blockquote span { color: var(--zv-ink); }

.zv-vertical-value {
  border-block: 1px solid var(--zv-line);
  background: var(--zv-paper);
}

.zv-vertical-value .zv-container {
  display: grid;
  max-width: 66rem;
}

.zv-vertical-value h2 {
  max-width: 24ch;
}

.zv-vertical-value > .zv-container > p:last-child {
  max-width: 45rem;
  margin: 1rem 0 0;
  color: var(--zv-muted);
  line-height: 1.58;
}

.zv-vertical-value-dentist { border-top: 4px solid var(--zv-green); }
.zv-vertical-value-trades { border-top: 4px solid var(--zv-sand); }
.zv-vertical-value-auto { background: var(--zv-cool); border-top: 4px solid var(--zv-teal); }
.zv-vertical-value-salon { background: var(--zv-warm); border-top: 4px solid #c9aa87; }

/* Pricing remains factual: one plan, one tariff, and examples—not tier cards. */
.zv-pricing-page-hero {
  background: var(--zv-warm);
}

.zv-pricing-page-hero > .zv-container:not(.zv-pricing-page-hero-grid) {
  max-width: 68rem;
}

.zv-pricing-page-hero .zv-lead {
  max-width: 46rem;
}

.zv-pricing-value {
  background: var(--zv-paper);
}

.zv-pricing-value-grid,
.zv-pricing-model-grid,
.zv-pricing-tariff-grid,
.zv-pricing-payment-grid {
  display: grid;
  gap: 2rem clamp(3rem, 7vw, 7rem);
  align-items: start;
}

.zv-pricing-value-grid > *,
.zv-pricing-model-grid > *,
.zv-pricing-tariff-grid > *,
.zv-pricing-volume-grid > *,
.zv-pricing-payment-grid > * {
  min-width: 0;
}

.zv-pricing-value-grid > div:last-child p,
.zv-pricing-model article > p:last-child,
.zv-pricing-tariff-copy > p:last-child,
.zv-pricing-volume-heading > p:last-child,
.zv-pricing-payment-grid > div > p:last-child {
  color: var(--zv-muted);
  line-height: 1.6;
}

.zv-pricing-model {
  background: var(--zv-cool);
}

.zv-pricing-model-grid article {
  min-width: 0;
  padding: clamp(1.4rem, 3vw, 2.2rem);
  border-radius: 1.35rem;
}

.zv-pricing-model-grid article:first-child {
  background: var(--zv-ink);
}

.zv-pricing-model-grid article:first-child h2 { color: var(--zv-white); }
.zv-pricing-model-grid article:first-child .zv-eyebrow { color: #f5d2a9; }
.zv-pricing-model-grid article:first-child > p:last-child { color: rgba(255, 255, 255, 0.78); }
.zv-pricing-model-grid article:last-child { border: 1px solid var(--zv-line); background: var(--zv-white); }

.zv-pricing-tariff {
  background: var(--zv-warm);
}

.zv-pricing-tariff-list {
  margin: 0;
  border-block: 1px solid rgba(36, 92, 106, 0.2);
}

.zv-pricing-tariff-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0.7rem 1.5rem;
  min-width: 0;
  padding: 1rem 0;
  border-bottom: 1px solid rgba(36, 92, 106, 0.16);
}

.zv-pricing-tariff-row:last-child { border-bottom: 0; }

.zv-pricing-tariff-row dt {
  display: grid;
  gap: 0.25rem;
  min-width: 0;
  color: var(--zv-ink);
  font-weight: 760;
  overflow-wrap: anywhere;
}

.zv-pricing-tariff-row dt strong {
  font-size: 0.92rem;
  line-height: 1.35;
}

.zv-pricing-tariff-row dt span {
  color: var(--zv-muted);
  font-size: 0.78rem;
  font-weight: 500;
  line-height: 1.45;
}

.zv-pricing-tariff-row dd {
  display: grid;
  gap: 0.2rem;
  min-width: 0;
  margin: 0;
  overflow-wrap: anywhere;
}

.zv-pricing-tariff-row dd strong {
  color: var(--zv-teal);
  font-size: 1rem;
  overflow-wrap: anywhere;
}

.zv-pricing-tariff-row dd span,
.zv-pricing-tariff-row dd small {
  color: var(--zv-muted);
  font-size: 0.75rem;
  line-height: 1.4;
  overflow-wrap: anywhere;
}

.zv-pricing-volume {
  background: var(--zv-paper);
}

.zv-pricing-volume-heading {
  max-width: 56rem;
  margin-bottom: clamp(1.75rem, 3vw, 2.5rem);
}

.zv-pricing-volume-grid {
  display: grid;
  border-block: 1px solid var(--zv-line);
}

.zv-pricing-volume-profile {
  min-width: 0;
  padding: 1.4rem 1.15rem 1.5rem;
  border-bottom: 1px solid var(--zv-line);
}

.zv-pricing-volume-profile h3 {
  margin: 0;
  font-size: clamp(1.25rem, 1.7vw, 1.55rem);
  line-height: 1.1;
}

.zv-pricing-volume-profile > p:not(.zv-pricing-volume-total) {
  color: var(--zv-muted);
  font-size: 0.78rem;
}

.zv-pricing-volume-profile ul {
  display: grid;
  gap: 0;
  margin: 1rem 0 0;
  padding: 0;
  list-style: none;
}

.zv-pricing-volume-profile li {
  display: grid;
  gap: 0.2rem;
  min-width: 0;
  padding: 0.7rem 0;
  border-top: 1px solid var(--zv-line);
}

.zv-pricing-volume-profile li span,
.zv-pricing-volume-profile li strong {
  min-width: 0;
  overflow-wrap: anywhere;
}

.zv-pricing-volume-profile li span {
  color: var(--zv-muted);
  font-size: 0.74rem;
}

.zv-pricing-volume-profile li strong {
  color: var(--zv-ink);
  font-size: 0.8rem;
}

.zv-pricing-volume-total {
  margin: 0.7rem 0 0;
  padding-top: 0.8rem;
  border-top: 2px solid var(--zv-teal);
  color: var(--zv-ink);
  font-size: 0.78rem;
  font-weight: 720;
  line-height: 1.45;
}

.zv-pricing-payment {
  background: var(--zv-ink);
}

.zv-pricing-payment .zv-eyebrow { color: #f5d2a9; }
.zv-pricing-payment h2 { color: var(--zv-white); }
.zv-pricing-payment-grid > div > p:last-child { color: rgba(255, 255, 255, 0.78); }

.zv-pricing-payment-gate {
  display: grid;
  gap: 0.4rem;
  margin: 0;
  padding: 1.3rem;
  border: 1px solid rgba(255, 255, 255, 0.22);
  border-radius: 1rem;
  color: rgba(255, 255, 255, 0.8);
}

.zv-pricing-payment-gate strong { color: var(--zv-white); }

.zv-pricing-plan-section {
  background: var(--zv-cool);
}

.zv-pricing-plan-section .zv-pricing-plan {
  display: grid;
  max-width: 60rem;
  grid-template-columns: minmax(0, 1fr);
  gap: 0.35rem;
  margin-inline: auto;
  padding: clamp(1.6rem, 3.5vw, 2.75rem);
  border: 1px solid var(--zv-line);
  border-radius: 1.5rem;
  background: var(--zv-white);
  box-shadow: var(--zv-shadow);
}

.zv-pricing-plan-section .zv-pricing-plan > span {
  color: var(--zv-teal);
  font-size: 0.72rem;
  font-weight: 850;
  letter-spacing: 0.13em;
}

.zv-pricing-plan-section .zv-pricing-plan > strong {
  color: var(--zv-ink);
  font-size: clamp(2.25rem, 4vw, 3.6rem);
  line-height: 1;
  letter-spacing: -0.045em;
}

.zv-pricing-plan-section .zv-pricing-plan > p {
  margin: 0.25rem 0 0;
  color: var(--zv-muted);
}

.zv-pricing-practicalities {
  padding-block: var(--zv-section-compact);
}

.zv-pricing-normal-usage,
.zv-pricing-token-note {
  padding-block: var(--zv-section-compact);
}

.zv-pricing-normal-usage {
  background: var(--zv-ink);
}

.zv-pricing-normal-usage .zv-eyebrow { color: #f5d2a9; }

.zv-pricing-normal-usage h2,
.zv-pricing-token-note h2 {
  max-width: 22ch;
  margin: 0;
  font-size: var(--zv-display-lg);
  line-height: 1.03;
  letter-spacing: -0.043em;
}

.zv-pricing-normal-usage h2 { color: var(--zv-white); }

.zv-pricing-normal-usage-flow {
  display: grid;
  gap: 0;
  margin-top: clamp(1.6rem, 3vw, 2.25rem);
  border-block: 1px solid rgba(255, 255, 255, 0.22);
}

.zv-pricing-normal-usage-flow span {
  min-width: 0;
  padding: 1rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.17);
  color: var(--zv-white);
  font-size: 0.84rem;
  font-weight: 760;
  overflow-wrap: anywhere;
}

.zv-pricing-usage-examples {
  display: grid;
  gap: 0.75rem;
  margin-top: 1.25rem;
}

.zv-pricing-usage-examples p {
  display: grid;
  gap: 0.25rem;
  margin: 0;
  padding: 1rem 1.1rem;
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 0.9rem;
  background: rgba(255, 255, 255, 0.06);
}

.zv-pricing-usage-examples strong { color: var(--zv-white); }
.zv-pricing-usage-examples span {
  color: rgba(255, 255, 255, 0.78);
  font-size: 0.8rem;
  line-height: 1.45;
}

.zv-pricing-example-note {
  max-width: 46rem;
  margin: 1rem 0 0;
  color: rgba(255, 255, 255, 0.72);
  font-size: 0.76rem;
  line-height: 1.5;
}

.zv-pricing-value-questions {
  display: grid;
  gap: 0;
  margin: 1.25rem 0 0;
  padding: 0;
  border-block: 1px solid var(--zv-line);
  list-style: none;
}

.zv-pricing-value-questions li {
  padding: 0.78rem 0;
  border-bottom: 1px solid var(--zv-line);
  color: var(--zv-ink);
  font-size: 0.82rem;
  font-weight: 700;
  line-height: 1.45;
}

.zv-pricing-value-questions li:last-child { border-bottom: 0; }

.zv-pricing-volume-profile dl {
  display: grid;
  gap: 0;
  margin: 1rem 0 0;
}

.zv-pricing-volume-profile dl > div {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 0.75rem;
  min-width: 0;
  padding: 0.68rem 0;
  border-top: 1px solid var(--zv-line);
}

.zv-pricing-volume-profile dt,
.zv-pricing-volume-profile dd {
  min-width: 0;
  margin: 0;
  font-size: 0.76rem;
  line-height: 1.4;
  overflow-wrap: anywhere;
}

.zv-pricing-volume-profile dt { color: var(--zv-muted); }
.zv-pricing-volume-profile dd { color: var(--zv-ink); font-weight: 760; text-align: right; }

.zv-pricing-volume-total {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 0.25rem 0.75rem;
}

.zv-pricing-volume-total span,
.zv-pricing-volume-total strong,
.zv-pricing-volume-total small {
  min-width: 0;
}

.zv-pricing-volume-total strong {
  color: var(--zv-ink);
  font-size: 1.05rem;
}

.zv-pricing-volume-total small {
  grid-column: 1 / -1;
  color: var(--zv-muted);
  font-weight: 500;
  line-height: 1.45;
}

.zv-pricing-included {
  display: grid;
  gap: 0;
  min-width: 0;
  margin: 0;
  padding: 1rem 1.1rem;
  border: 1px solid rgba(36, 92, 106, 0.16);
  border-radius: 1rem;
  background: rgba(255, 255, 255, 0.7);
  list-style: none;
}

.zv-pricing-included li {
  display: grid;
  gap: 0.18rem;
  min-width: 0;
  padding: 0.7rem 0;
  border-bottom: 1px solid rgba(36, 92, 106, 0.13);
}

.zv-pricing-included li:last-child { border-bottom: 0; }
.zv-pricing-included strong { color: var(--zv-ink); font-size: 0.82rem; }
.zv-pricing-included span { color: var(--zv-muted); font-size: 0.74rem; line-height: 1.4; }

.zv-pricing-token-note {
  background: var(--zv-cool);
}

.zv-pricing-token-note-grid {
  display: grid;
  gap: 1.3rem clamp(3rem, 7vw, 7rem);
  align-items: center;
}

.zv-pricing-token-note-grid > * { min-width: 0; }

.zv-pricing-token-note-grid > p {
  margin: 0;
  color: var(--zv-muted);
  line-height: 1.65;
}

.zv-phone-cta {
  display: grid;
  min-width: 0;
  gap: 0.25rem;
  justify-items: center;
}

.zv-phone-cta .zv-button { width: 100%; }

.zv-phone-cta small {
  color: var(--zv-muted);
  font-size: 0.7rem;
  line-height: 1.35;
}

.zv-final-conversion .zv-phone-cta small {
  color: rgba(255, 255, 255, 0.88);
}

/* Preview 7: keep the booking-control hand-off inside the journey, not as a second section. */
.zv-booking-model .zv-booking-control {
  display: grid;
  gap: 1.25rem clamp(2rem, 5vw, 4.5rem);
  align-items: center;
  margin-top: 1rem;
  padding: clamp(1.35rem, 2.8vw, 2rem);
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 1.25rem;
  background: var(--zv-ink);
  box-shadow: var(--zv-shadow);
}

.zv-booking-control-copy,
.zv-booking-control-list,
.zv-booking-control-list li {
  min-width: 0;
}

.zv-booking-control-copy .zv-eyebrow {
  color: #f5d2a9;
}

.zv-booking-control-copy h3 {
  max-width: 24ch;
  margin: 0;
  color: var(--zv-white);
  font-size: clamp(1.55rem, 2.4vw, 2.2rem);
  line-height: 1.06;
  letter-spacing: -0.035em;
}

.zv-booking-control-copy > p:last-child {
  margin: 0.65rem 0 0;
  color: rgba(255, 255, 255, 0.78);
  font-size: 0.82rem;
  line-height: 1.5;
}

.zv-booking-control-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0;
  margin: 0;
  padding: 0;
  border-block: 1px solid rgba(255, 255, 255, 0.2);
  list-style: none;
}

.zv-booking-control-list li {
  position: relative;
  padding: 0.72rem 0.5rem 0.72rem 1.25rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.14);
  color: var(--zv-white);
  font-size: 0.75rem;
  font-weight: 720;
  line-height: 1.4;
  overflow-wrap: anywhere;
}

.zv-booking-control-list li::before {
  position: absolute;
  top: 1.08rem;
  left: 0.15rem;
  width: 0.42rem;
  height: 0.42rem;
  border-radius: 999px;
  background: var(--zv-gold);
  content: "";
}

.zv-booking-control-list li:nth-last-child(-n + 2) {
  border-bottom: 0;
}

.zv-trial-start-terms {
  max-width: 44rem;
  margin: 1.1rem 0 0;
  padding: 0.1rem 0 0.1rem 1rem;
  border-left: 3px solid var(--zv-gold);
  color: rgba(255, 255, 255, 0.82);
  font-size: 0.78rem;
  line-height: 1.55;
}

/* The three-field enquiry is a quiet human hand-off, in static preview and CF7. */
.zv-contact-simple,
.zv-contact {
  padding-block: var(--zv-section-compact);
  background: var(--zv-cool);
}

.zv-contact-simple-grid,
.zv-contact-grid {
  display: grid;
  gap: 2rem clamp(3rem, 7vw, 7rem);
  align-items: start;
}

.zv-contact-simple-copy > p:last-child,
.zv-contact-grid > div:first-child > p:last-child {
  max-width: 38rem;
  color: var(--zv-muted);
  line-height: 1.6;
}

.zv-contact-simple-form,
.zv-contact .arcain-cf7 {
  min-width: 0;
  padding: clamp(1.25rem, 2.5vw, 1.8rem);
  border: 1px solid var(--zv-line);
  border-radius: 1.3rem;
  background: var(--zv-white);
  box-shadow: var(--zv-shadow);
}

.zv-contact-simple-form label {
  display: grid;
  gap: 0.38rem;
  min-width: 0;
  color: var(--zv-ink);
  font-size: 0.78rem;
  font-weight: 760;
}

.zv-contact-simple-form label > span,
.zv-contact-simple-form label > span:last-of-type {
  width: auto;
  height: auto;
  border: 0;
  background: transparent;
}

.zv-contact-simple-form input,
.zv-contact-simple-form textarea,
.zv-contact .arcain-cf7 input:not([type="checkbox"], [type="radio"], [type="submit"]),
.zv-contact .arcain-cf7 textarea,
.zv-contact .arcain-cf7 select {
  width: 100%;
  min-width: 0;
  min-height: 3rem;
  padding: 0.72rem 0.8rem;
  border: 1px solid var(--zv-line);
  border-radius: 0.62rem;
  background: var(--zv-paper);
  color: var(--zv-text);
  font: inherit;
}

.zv-contact-simple-form textarea,
.zv-contact .arcain-cf7 textarea {
  min-height: 7rem;
  resize: vertical;
}

.zv-contact-simple-form button,
.zv-contact .arcain-cf7 input[type="submit"],
.zv-contact .arcain-cf7 button[type="submit"] {
  min-height: 3rem;
  padding: 0.7rem 1rem;
  border: 0;
  border-radius: 0.7rem;
  background: var(--zv-teal);
  color: var(--zv-white);
  font: inherit;
  font-weight: 780;
}

.zv-contact-simple-form small {
  color: var(--zv-muted);
  font-size: 0.72rem;
  line-height: 1.45;
}

.zv-contact-simple-form :disabled {
  cursor: not-allowed;
  opacity: 0.76;
}

/* Shared reflow protections for 320 px and 200% text resizing. */
.zv-hero-preview7 .zv-hero-grid-vnext > *,
.zv-vertical-selector-inner > *,
.zv-memory-story-grid > *,
.zv-booking-model > .zv-container > *,
.zv-booking-model-heading > *,
.zv-booking-model-stage > *,
.zv-feature-overview > .zv-container > *,
.zv-channel-hub > .zv-container > *,
.zv-trial-start-grid > *,
.zv-vertical-story-grid > *,
.zv-vertical-value .zv-container > *,
.zv-pricing-page > *,
.zv-pricing-page section > .zv-container > *,
.zv-contact-simple > .zv-container > * {
  min-width: 0;
  max-width: 100%;
}

.zv-hero-preview7 h1,
.zv-hero-preview7 .zv-lead,
.zv-vertical-selector h2,
.zv-vertical-selector-item,
.zv-memory-story h2,
.zv-cross-channel-story,
.zv-booking-model h2,
.zv-booking-model-summary,
.zv-feature-overview h2,
.zv-channel-hub h2,
.zv-channel-hub-item,
.zv-trial-start h2,
.zv-vertical-story h2,
.zv-vertical-story blockquote,
.zv-vertical-value h2,
.zv-pricing-page h1,
.zv-pricing-page h2,
.zv-pricing-page h3,
.zv-pricing-page p,
.zv-contact-simple h2,
.zv-contact-simple p {
  overflow-wrap: anywhere;
}

@media (min-width: 42rem) {
  .zv-feature-overview-list,
  .zv-channel-hub-grid,
  .zv-pricing-model-grid,
  .zv-pricing-volume-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .zv-feature-overview-list article:nth-child(odd),
  .zv-pricing-volume-profile:nth-child(odd) {
    border-right: 1px solid var(--zv-line);
  }

  .zv-booking-model-inputs {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .zv-booking-model-outcomes {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .zv-channel-hub-chat,
  .zv-channel-hub-form {
    grid-column: span 2;
  }

  .zv-pricing-tariff-row {
    grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr);
    align-items: baseline;
  }

  .zv-pricing-normal-usage-flow,
  .zv-pricing-usage-examples {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .zv-pricing-normal-usage-flow span:nth-child(odd) {
    border-right: 1px solid rgba(255, 255, 255, 0.17);
  }
}

@media (min-width: 64rem) {
  .zv-hero-preview7 .zv-hero-grid-vnext {
    grid-template-columns: minmax(0, 0.88fr) minmax(0, 1.12fr);
  }

  .zv-vertical-selector-inner {
    grid-template-columns: minmax(13rem, 0.48fr) minmax(0, 1.52fr);
  }

  .zv-vertical-selector-list {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .zv-vertical-selector-item {
    min-height: 8.2rem;
    border-bottom: 0;
  }

  .zv-memory-story-grid {
    grid-template-columns: minmax(0, 0.82fr) minmax(0, 1.18fr);
  }

  .zv-booking-model-heading {
    grid-template-columns: minmax(0, 1.12fr) minmax(18rem, 0.88fr);
    align-items: end;
  }

  .zv-booking-model-heading .zv-eyebrow {
    grid-column: 1 / -1;
  }

  .zv-booking-model-stage {
    grid-template-columns: minmax(0, 0.76fr) minmax(8rem, 0.34fr) minmax(0, 1.25fr);
  }

  .zv-booking-model .zv-booking-control {
    grid-template-columns: minmax(0, 1.1fr) minmax(21rem, 0.9fr);
  }

  .zv-booking-model-inputs,
  .zv-booking-model-outcomes {
    grid-template-columns: minmax(0, 1fr);
  }

  .zv-feature-overview-list {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .zv-feature-overview-list article {
    border-right: 1px solid var(--zv-line);
    border-bottom: 0;
  }

  .zv-feature-overview-list article:last-child { border-right: 0; }

  .zv-channel-hub-grid {
    grid-template-columns: repeat(12, minmax(0, 1fr));
  }

  .zv-channel-hub-chat { grid-column: span 6; }
  .zv-channel-hub-phone,
  .zv-channel-hub-email { grid-column: span 3; }
  .zv-channel-hub-form,
  .zv-channel-hub-sms,
  .zv-channel-hub-whatsapp { grid-column: span 4; }

  .zv-trial-start-grid,
  .zv-pricing-value-grid,
  .zv-pricing-tariff-grid,
  .zv-pricing-payment-grid,
  .zv-pricing-token-note-grid,
  .zv-contact-simple-grid,
  .zv-contact-grid {
    grid-template-columns: minmax(0, 1fr) minmax(0, 0.84fr);
  }

  .zv-pricing-normal-usage-flow {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .zv-pricing-normal-usage-flow span {
    border-right: 1px solid rgba(255, 255, 255, 0.17);
    border-bottom: 0;
  }

  .zv-pricing-normal-usage-flow span:last-child { border-right: 0; }

  .zv-pricing-included {
    grid-column: 2;
  }

  .zv-vertical-story-grid {
    grid-template-columns: repeat(12, minmax(0, 1fr));
  }

  .zv-vertical-story blockquote {
    grid-column: 1 / span 4;
  }

  .zv-vertical-story-body {
    grid-column: 5 / -1;
  }

  .zv-vertical-capacity {
    grid-column: 3 / span 8;
    margin-top: -2rem;
  }

  .zv-vertical-story-trades blockquote {
    grid-column: 9 / -1;
    grid-row: 1;
  }

  .zv-vertical-story-trades .zv-vertical-story-body {
    grid-column: 1 / span 8;
    grid-row: 1;
  }

  .zv-vertical-story-trades .zv-vertical-capacity {
    grid-column: 2 / span 8;
  }

  .zv-vertical-story-auto blockquote {
    grid-column: 1 / span 6;
  }

  .zv-vertical-story-auto .zv-vertical-story-body {
    grid-column: 7 / -1;
    margin-top: 2.5rem;
  }

  .zv-vertical-story-salon blockquote {
    grid-column: 2 / span 4;
    margin-top: 2rem;
  }

  .zv-vertical-story-salon .zv-vertical-story-body {
    grid-column: 6 / -1;
  }

  .zv-pricing-model-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .zv-pricing-volume-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .zv-pricing-volume-profile {
    border-right: 1px solid var(--zv-line);
    border-bottom: 0;
  }

  .zv-pricing-volume-profile:last-child { border-right: 0; }

  .zv-pricing-plan-section .zv-pricing-plan {
    grid-template-columns: minmax(0, 0.7fr) minmax(0, 0.65fr) minmax(0, 1fr);
    align-items: center;
  }
}

@media (max-width: 63.99rem) {
  .zv-vertical-selector-item:last-child {
    border-bottom: 0;
  }

  .zv-booking-model-core {
    min-height: 6.75rem;
  }
}

@media (max-width: 41.99rem) {
  :root {
    --zv-section-compact: clamp(3.1rem, 12.5vw, 4.25rem);
    --zv-display-xl: clamp(2.2rem, 9.8vw, 3rem);
    --zv-display-lg: clamp(1.9rem, 8.25vw, 2.55rem);
    --zv-display-md: clamp(1.65rem, 7.2vw, 2.2rem);
  }

  .zv-hero-preview7 {
    padding-top: 3rem;
  }

  .zv-hero-preview7 .zv-container.zv-hero-grid-vnext {
    width: min(calc(100% - 2rem), var(--zv-container));
  }

  .zv-hero-preview7 h1,
  .zv-features-hero h1,
  .zv-booking-hero h1,
  .zv-try-hero h1,
  .zv-pricing-page-hero h1,
  .zv-specialist-copy h1 {
    max-width: 100%;
    font-size: var(--zv-display-xl);
    line-height: 1;
  }

  .zv-hero-preview7 .zv-hero-picture img {
    aspect-ratio: 4 / 3;
  }

  .zv-hero-preview7 .zv-hero-call,
  .zv-hero-preview7 .zv-hero-email {
    position: static;
    width: 100%;
    margin-top: 0.55rem;
  }

  .zv-hero-preview7 .zv-hero-visual {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0 0.55rem;
  }

  .zv-hero-preview7 .zv-hero-picture,
  .zv-hero-preview7 .zv-hero-visual figcaption {
    grid-column: 1 / -1;
  }

  .zv-hero-preview7 .zv-hero-visual figcaption {
    right: 0.65rem;
    bottom: 5.75rem;
  }

  .zv-hero-preview7 .zv-actions > *,
  .zv-hero-preview7 .zv-phone-cta,
  .zv-actions > .zv-phone-cta {
    width: 100%;
  }

  .zv-vertical-selector-list {
    border-radius: 0.85rem;
  }

  .zv-vertical-selector-item {
    min-height: 7.4rem;
    padding: 0.85rem;
  }

  .zv-cross-channel-call,
  .zv-cross-channel-email {
    width: 100%;
  }

  .zv-booking-model-summary {
    align-items: start;
  }

  .zv-booking-control-list {
    grid-template-columns: minmax(0, 1fr);
  }

  .zv-booking-control-list li:nth-last-child(2) {
    border-bottom: 1px solid rgba(255, 255, 255, 0.14);
  }

  .zv-channel-hub-item {
    min-height: 0;
  }

  .zv-trial-start-actions > * {
    overflow-wrap: anywhere;
  }

  .zv-specialist-proof .zv-container {
    grid-template-columns: minmax(0, 1fr);
  }

  .zv-specialist-proof span {
    border-right: 0;
    border-bottom: 1px solid var(--zv-line);
  }

  .zv-specialist-proof span:last-child { border-bottom: 0; }

  .zv-vertical-story blockquote {
    min-height: 12rem;
  }

  .zv-pricing-model-grid article,
  .zv-pricing-volume-profile {
    padding-inline: 0;
  }

  .zv-pricing-model-grid article {
    padding-inline: 1.15rem;
  }

  .zv-pricing-plan-section .zv-pricing-plan > strong {
    font-size: clamp(2rem, 10vw, 2.8rem);
  }
}

@media (prefers-reduced-motion: reduce) {
  .zv-vertical-selector-item,
  .zv-channel-hub-action a,
  .zv-channel-hub-action button {
    scroll-behavior: auto;
    transition: none;
  }
}

/* Preview 2.0.0-preview.8 — final visual consolidation. */
:root {
  --zv-gold: var(--zv-sand);
  --zv-section-compact: clamp(3.1rem, 4.8vw, 4.7rem);
  --zv-display-xl: clamp(2.4rem, 3.6vw, 3.75rem);
  --zv-display-lg: clamp(1.9rem, 2.75vw, 2.85rem);
  --zv-display-md: clamp(1.5rem, 2.05vw, 2.1rem);
  --zv-shadow: 0 1.2rem 3.4rem rgba(23, 63, 74, 0.09);
}

.zhyrana-vnext main section[id] {
  scroll-margin-top: 6rem;
}

.zhyrana-vnext h1,
.zhyrana-vnext h2,
.zhyrana-vnext h3,
.zhyrana-vnext p,
.zhyrana-vnext a,
.zhyrana-vnext button,
.zhyrana-vnext label,
.zhyrana-vnext input,
.zhyrana-vnext textarea,
.zhyrana-vnext dt,
.zhyrana-vnext dd {
  overflow-wrap: break-word;
}

.zhyrana-vnext h1,
.zhyrana-vnext h2,
.zhyrana-vnext h3 {
  hyphens: auto;
}

.zv-programme-steps h3 {
  overflow-wrap: normal;
  word-break: normal;
  hyphens: none;
}

.zv-header-inner {
  min-height: 4.6rem;
}

.zv-nav .zv-nav-cta,
.zv-button-primary {
  background: var(--zv-teal);
}

.zv-nav .zv-nav-cta:hover,
.zv-nav .zv-nav-cta:focus-visible,
.zv-button-primary:hover,
.zv-button-primary:focus-visible {
  background: var(--zv-ink);
}

/* Homepage: retain the collage's order while shortening every chapter. */
.zv-hero,
.zv-hero-preview7 {
  padding: clamp(3.2rem, 5vw, 5rem) 0 clamp(3.5rem, 5.5vw, 5.4rem);
  background: var(--zv-cool);
}

.zv-hero h1,
.zv-hero-preview7 h1 {
  max-width: 14ch;
  margin: 0;
  font-size: var(--zv-display-xl);
  line-height: 1;
  letter-spacing: -0.048em;
}

.zv-lang-en .zv-hero h1,
.zv-lang-en .zv-hero-preview7 h1 {
  max-width: 15ch;
  font-size: var(--zv-display-xl);
}

.zv-hero .zv-lead,
.zv-hero-preview7 .zv-lead {
  max-width: 39rem;
  margin-top: 1rem;
  font-size: clamp(1rem, 1.25vw, 1.14rem);
  line-height: 1.55;
}

.zv-hero .zv-actions,
.zv-hero-preview7 .zv-actions {
  margin-top: 1.2rem;
}

.zv-hero .zv-hero-proofline,
.zv-hero-preview7 .zv-hero-proofline {
  margin-top: 1.15rem;
}

.zv-hero .zv-hero-picture img,
.zv-hero-preview7 .zv-hero-picture img {
  height: min(128vw, 36rem);
  aspect-ratio: 1.3 / 1;
  object-fit: cover;
}

.zv-vertical-selector {
  padding-block: clamp(1.35rem, 2.15vw, 1.95rem);
  background: var(--zv-ink);
}

.zv-vertical-selector-inner {
  gap: 1rem clamp(1.4rem, 3vw, 3.25rem);
}

.zv-vertical-selector-heading .zv-eyebrow {
  color: var(--zv-sand);
}

.zv-vertical-selector-heading h2 {
  max-width: 21ch;
  font-size: clamp(1.18rem, 1.55vw, 1.48rem);
  line-height: 1.12;
}

.zv-vertical-selector-list {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  border-color: rgba(255, 255, 255, 0.22);
  background: var(--zv-teal);
}

.zv-vertical-selector-item {
  isolation: isolate;
  min-height: 8.25rem;
  align-content: end;
  padding: 0.9rem;
  border-color: rgba(255, 255, 255, 0.18);
  background-color: rgba(23, 63, 74, 0.72);
  background-position: center;
  background-size: cover;
  background-blend-mode: multiply;
  transition: background-color 160ms ease;
}

.zv-vertical-selector-dentist {
  background-image: url("../images/zhyrana-dentist-hero-800.webp");
}

.zv-vertical-selector-trades {
  background-image: url("../images/zhyrana-trades-hero-800.webp");
}

.zv-vertical-selector-auto {
  background-image: url("../images/zhyrana-auto-workshop-hero-800.webp");
}

.zv-vertical-selector-salon {
  background-image: url("../images/zhyrana-salon-treatment-hero-800.webp");
}

.zv-vertical-selector-item:hover,
.zv-vertical-selector-item:focus-visible {
  background-color: rgba(36, 92, 106, 0.55);
}

.zv-vertical-selector-item strong,
.zv-vertical-selector-item span,
.zv-vertical-selector-item b {
  position: relative;
  z-index: 1;
  text-shadow: 0 1px 0 rgba(23, 63, 74, 0.28);
}

.zv-vertical-selector-item strong {
  font-size: 0.9rem;
}

.zv-vertical-selector-item span {
  color: rgba(255, 255, 255, 0.86);
  font-size: 0.72rem;
}

.zv-vertical-selector-item b {
  color: var(--zv-white);
}

.zv-vertical-selector-dentist::before,
.zv-vertical-selector-trades::before,
.zv-vertical-selector-auto::before,
.zv-vertical-selector-salon::before {
  background: var(--zv-sand);
}

.zv-phone-email-story,
.zv-memory-story,
.zv-booking-model,
.zv-channel-ribbon,
.zv-visibility-story,
.zv-quality-onboarding,
.zv-growth-strip {
  padding-block: var(--zv-section-compact);
}

.zv-phone-email-heading,
.zv-channel-ribbon-copy,
.zv-visibility-copy,
.zv-quality-onboarding-grid > div:first-child,
.zv-growth-strip > .zv-container > div:first-child {
  min-width: 0;
}

.zv-phone-email-heading {
  max-width: 52rem;
  margin-bottom: clamp(1.65rem, 3vw, 2.3rem);
}

.zv-phone-email-heading h2,
.zv-memory-story h2,
.zv-booking-model-heading h2,
.zv-channel-ribbon-copy h2,
.zv-visibility-copy h2,
.zv-quality-onboarding h2 {
  max-width: 21ch;
  font-size: var(--zv-display-lg);
  line-height: 1.04;
  letter-spacing: -0.04em;
}

.zv-phone-email-heading h2 {
  max-width: 23ch;
  overflow-wrap: normal;
  word-break: normal;
  hyphens: none;
}

.zv-phone-email-heading .zv-nowrap {
  white-space: nowrap;
}

.zv-phone-email-heading > p:last-child,
.zv-channel-ribbon-copy > p:last-child,
.zv-visibility-copy > p:not(.zv-eyebrow),
.zv-quality-onboarding-grid > div > p:not(.zv-eyebrow, .zv-onboarding-contrast, .zv-next-day) {
  font-size: 0.98rem;
  line-height: 1.58;
}

.zv-phone-email-stage figure img {
  min-height: clamp(18rem, 32vw, 26rem);
  border-radius: 1.35rem;
}

.zv-phone-story,
.zv-email-story {
  padding: clamp(1.2rem, 2.15vw, 1.75rem);
  border-radius: 1rem;
}

.zv-phone-story h3,
.zv-email-story h3 {
  max-width: 21ch;
  font-size: var(--zv-display-md);
  line-height: 1.08;
  letter-spacing: -0.035em;
}

.zv-phone-story > p:not(.zv-eyebrow),
.zv-email-story > p:not(.zv-eyebrow) {
  font-size: 0.92rem;
  line-height: 1.55;
}

.zv-memory-story-grid {
  gap: clamp(1.6rem, 4vw, 4rem);
}

.zv-memory-story-proof {
  margin-top: 1.1rem;
  padding-block: 0.75rem;
}

.zv-cross-channel-story {
  padding: clamp(0.8rem, 1.5vw, 1.05rem);
  border-radius: 1.15rem;
}

.zv-cross-channel-call,
.zv-cross-channel-email {
  padding: clamp(0.95rem, 1.8vw, 1.3rem);
}

.zv-booking-model > .zv-container {
  gap: clamp(1.45rem, 3vw, 2.35rem);
}

.zv-booking-model-stage {
  gap: 0.65rem;
}

.zv-booking-model-inputs article,
.zv-booking-model-outcomes article {
  padding: 0.9rem;
}

.zv-booking-model-core {
  min-height: 6.8rem;
  padding: 1rem;
}

.zv-booking-model .zv-booking-control {
  margin-top: 0.65rem;
  padding: clamp(1.15rem, 2.2vw, 1.65rem);
}

.zv-channel-ribbon {
  border-block: 1px solid var(--zv-line);
  background: var(--zv-cool);
}

.zv-channel-ribbon-track {
  margin-top: clamp(1.55rem, 2.8vw, 2.2rem);
}

.zv-channel-ribbon-track span {
  min-height: 5.75rem;
  gap: 0.55rem;
  padding: 0.85rem;
  font-size: 0.94rem;
}

.zv-channel-ribbon-track b {
  color: var(--zv-green);
}

.zv-language-feature {
  max-width: 48rem;
  margin-top: clamp(1.5rem, 3vw, 2.5rem);
  padding: clamp(1.25rem, 3vw, 2rem);
  border-left: 4px solid var(--zv-green);
  border-radius: 0 var(--zv-radius) var(--zv-radius) 0;
  background: rgba(255, 255, 255, 0.72);
}

.zv-language-feature h3 {
  margin: 0 0 0.5rem;
  font-size: clamp(1.25rem, 2vw, 1.65rem);
}

.zv-language-feature p {
  margin: 0;
  color: var(--zv-muted);
}

.zv-channel-ribbon-signature {
  padding-top: 1.1rem;
}

.zv-channel-ribbon-signature strong {
  font-size: clamp(1.15rem, 1.65vw, 1.55rem);
}

.zv-visibility-grid,
.zv-quality-onboarding-grid {
  gap: clamp(2rem, 4.5vw, 4.5rem);
}

.zv-visibility-ui {
  border-radius: 1.15rem;
}

.zv-visibility-ui-head {
  padding: 0.9rem;
}

.zv-visibility-list article {
  padding: 0.72rem 0.85rem;
}

.zv-visibility-timeline {
  padding: 0.75rem;
}

.zv-onboarding-contrast {
  margin-top: 1.1rem;
  padding: 0.9rem 1rem;
}

.zv-quality-onboarding li {
  min-height: 3.75rem;
}

.zv-growth-strip {
  border-block: 1px solid var(--zv-line);
  background: var(--zv-paper);
}

.zv-growth-strip > .zv-container {
  gap: 1.6rem clamp(2.5rem, 5vw, 5rem);
}

.zv-growth-strip h2 {
  max-width: 24ch;
  font-size: var(--zv-display-md);
}

.zv-growth-outcomes article {
  padding: 0.85rem 0;
}

/* Shared trial/contact experience: five compact choices and the Web Form last. */
.zv-prova {
  position: relative;
  padding-block: clamp(3.4rem, 5vw, 4.9rem);
  background: var(--zv-ink);
  color: rgba(255, 255, 255, 0.82);
}

.zv-prova:focus {
  outline: 3px solid var(--zv-sand);
  outline-offset: -3px;
}

.zv-prova-inner {
  display: grid;
  gap: clamp(1.4rem, 2.8vw, 2.35rem);
}

.zv-prova-inner > *,
.zv-prova-heading > *,
.zv-prova-channels > *,
.zv-prova-form > *,
.zv-prova-form-slot > * {
  min-width: 0;
  max-width: 100%;
}

.zv-prova-heading {
  display: grid;
  gap: 0.7rem clamp(2.5rem, 6vw, 6rem);
}

.zv-prova .zv-eyebrow {
  margin-bottom: 0;
  color: var(--zv-sand);
}

.zv-prova-heading h2 {
  max-width: 20ch;
  margin: 0;
  color: var(--zv-white);
  font-size: var(--zv-display-lg);
  line-height: 1.04;
  letter-spacing: -0.04em;
}

.zv-prova-heading > p:not(.zv-eyebrow),
.zv-prova-heading > div > p:not(.zv-eyebrow) {
  max-width: 47rem;
  margin: 0;
  color: rgba(255, 255, 255, 0.78);
  line-height: 1.58;
}

.zv-prova-channels {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.6rem;
}

.zv-prova-channel {
  display: grid;
  min-width: 0;
  min-height: 6.5rem;
  align-content: space-between;
  gap: 0.7rem;
  padding: 0.9rem;
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 0.85rem;
  background: rgba(255, 255, 255, 0.055);
  color: var(--zv-white);
  text-decoration: none;
  transition: background-color 150ms ease, border-color 150ms ease;
}

.zv-prova-channel:hover,
.zv-prova-channel:focus-within,
a.zv-prova-channel:focus-visible,
button.zv-prova-channel:focus-visible {
  border-color: rgba(255, 255, 255, 0.44);
  background: rgba(255, 255, 255, 0.1);
}

.zv-prova-channel > *,
.zv-prova-channel a,
.zv-prova-channel button {
  min-width: 0;
  max-width: 100%;
}

.zv-prova-channel strong,
.zv-prova-channel h3 {
  margin: 0;
  color: var(--zv-white);
  font-size: 0.94rem;
  line-height: 1.3;
}

.zv-prova-channel p,
.zv-prova-channel span,
.zv-prova-channel small {
  margin: 0;
  color: rgba(255, 255, 255, 0.74);
  font-size: 0.73rem;
  line-height: 1.42;
}

.zv-prova-channel a,
.zv-prova-channel button {
  display: inline-flex;
  width: fit-content;
  min-height: 2.55rem;
  align-items: center;
  padding: 0.5rem 0.65rem;
  border: 1px solid rgba(255, 255, 255, 0.22);
  border-radius: 0.55rem;
  background: transparent;
  color: var(--zv-white);
  font: inherit;
  font-size: 0.74rem;
  font-weight: 760;
  line-height: 1.35;
  cursor: pointer;
}

.zv-prova-channel-phone {
  background: rgba(213, 154, 91, 0.12);
}

.zv-prova-channel-chat {
  background: rgba(78, 136, 127, 0.16);
}

.zv-prova-form {
  display: grid;
  gap: 1.25rem clamp(2rem, 4.5vw, 4.5rem);
  padding: clamp(1.15rem, 2.4vw, 1.8rem);
  border: 1px solid var(--zv-line);
  border-radius: 1.15rem;
  background: var(--zv-paper);
  color: var(--zv-text);
  box-shadow: var(--zv-shadow);
}

.zv-prova-form-copy h3,
.zv-prova-form-copy h2 {
  max-width: 22ch;
  margin: 0;
  color: var(--zv-ink);
  font-size: var(--zv-display-md);
  line-height: 1.08;
  letter-spacing: -0.035em;
}

.zv-prova-form-copy > p:last-child {
  max-width: 35rem;
  margin: 0.65rem 0 0;
  color: var(--zv-muted);
  font-size: 0.88rem;
  line-height: 1.5;
}

.zv-prova-form-slot .zhyrana-cf7,
.zv-prova-form-slot .arcain-cf7,
.zv-prova .zhyrana-cf7,
.zv-prova .arcain-cf7 {
  min-width: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.zv-prova .wpcf7,
.zv-prova .wpcf7-form,
.zv-prova .wpcf7-form-control-wrap {
  min-width: 0;
  max-width: 100%;
}

.zv-prova .wpcf7-form {
  display: grid;
  gap: 0.75rem;
  margin: 0;
}

.zv-prova .wpcf7-form > p {
  min-width: 0;
  margin: 0;
}

.zv-prova .wpcf7-form label {
  display: block;
  min-width: 0;
  color: var(--zv-ink);
  font-size: 0.75rem;
  font-weight: 760;
}

.zv-prova .wpcf7-form label > br {
  display: none;
}

.zv-prova .wpcf7-form label > span[aria-hidden="true"] {
  display: inline;
  margin-inline-start: 0.08em;
}

.zv-prova .wpcf7-form-control-wrap {
  display: block;
  margin-top: 0.32rem;
}

.zv-prova .wpcf7 input:not([type="checkbox"], [type="radio"], [type="submit"]),
.zv-prova .wpcf7 textarea,
.zv-prova .wpcf7 select {
  width: 100%;
  min-width: 0;
  min-height: 2.8rem;
  padding: 0.65rem 0.72rem;
  border: 1px solid var(--zv-line);
  border-radius: 0.55rem;
  background: var(--zv-white);
  color: var(--zv-text);
  font: inherit;
}

.zv-prova .wpcf7 textarea {
  min-height: 5.5rem;
  max-height: 12rem;
  resize: vertical;
}

.zv-prova .wpcf7 input[type="submit"],
.zv-prova .wpcf7 button[type="submit"] {
  min-height: 2.85rem;
  padding: 0.62rem 1rem;
  border: 0;
  border-radius: 0.6rem;
  background: var(--zv-teal);
  color: var(--zv-white);
  font: inherit;
  font-size: 0.82rem;
  font-weight: 780;
  cursor: pointer;
}

.zv-prova .zv-form-optional {
  color: var(--zv-muted);
  font-weight: 500;
}

.zv-prova .zv-form-reassurance {
  display: none;
  color: var(--zv-muted);
  font-size: 0.68rem;
  line-height: 1.45;
}

.zv-prova .zv-form-reassurance a {
  color: var(--zv-teal);
  font-weight: 720;
  text-decoration: underline;
  text-underline-offset: 0.15em;
}

.zv-prova .wpcf7-not-valid-tip,
.zv-prova .wpcf7-response-output {
  font-size: 0.72rem;
  line-height: 1.4;
}

.zv-prova .wpcf7-response-output {
  margin: 0.6rem 0 0;
  padding: 0.65rem;
}

.zv-prova-terms {
  max-width: 58rem;
  margin: 0;
  padding-top: 1rem;
  border-top: 1px solid rgba(255, 255, 255, 0.2);
  color: rgba(255, 255, 255, 0.72);
  font-size: 0.74rem;
  line-height: 1.52;
}

/* The public launcher stays branded and labelled at every supported width. */
.zv-chat-launcher {
  right: max(0.8rem, env(safe-area-inset-right));
  bottom: max(0.8rem, env(safe-area-inset-bottom));
  width: auto;
  height: auto;
  min-width: 0;
  min-height: 3rem;
  gap: 0.5rem;
  padding: 0.58rem 0.78rem;
  border: 1px solid rgba(255, 255, 255, 0.5);
  border-radius: 0.8rem;
  background: var(--zv-teal);
  color: var(--zv-white);
  box-shadow: 0 0.75rem 2.2rem rgba(23, 63, 74, 0.24);
}

.zv-chat-launcher:hover,
.zv-chat-launcher:focus-visible {
  background: var(--zv-ink);
}

.zv-chat-launcher .zv-chat-launcher-icon,
.zv-chat-launcher span.zv-chat-launcher-icon {
  display: grid;
  width: 1.65rem;
  height: 1.65rem;
  flex: 0 0 1.65rem;
  place-items: center;
  border-radius: 0.45rem;
  background: rgba(255, 255, 255, 0.14);
  color: var(--zv-white);
  font-size: 1.05rem;
  line-height: 1;
}

.zv-chat-launcher strong {
  display: block;
  min-width: 0;
  color: var(--zv-white);
  font-size: 0.76rem;
  font-weight: 780;
  line-height: 1.25;
}

@media (min-width: 48rem) {
  .zv-prova-heading {
    grid-template-columns: minmax(0, 0.82fr) minmax(20rem, 1.18fr);
    align-items: end;
  }

  .zv-prova-heading .zv-eyebrow,
  .zv-prova-heading h2 {
    grid-column: 1;
  }

  .zv-prova-heading > p:not(.zv-eyebrow),
  .zv-prova-heading > div:last-child {
    grid-column: 2;
    grid-row: 1 / span 2;
  }

  .zv-prova-channels {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }

  .zv-prova .wpcf7-form {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .zv-prova .wpcf7-form > p:nth-of-type(n + 3),
  .zv-prova .wpcf7-response-output {
    grid-column: 1 / -1;
  }
}

@media (min-width: 64rem) {
  .zv-hero .zv-hero-picture img,
  .zv-hero-preview7 .zv-hero-picture img {
    height: min(48vw, 43rem);
  }

  .zv-vertical-selector-inner {
    grid-template-columns: minmax(12rem, 0.42fr) minmax(0, 1.58fr);
  }

  .zv-vertical-selector-list {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .zv-phone-story {
    margin-top: -4rem;
    margin-left: 1.4rem;
  }

  .zv-email-story {
    margin-top: -2.75rem;
    margin-right: 1.4rem;
  }

  .zv-visibility-grid {
    grid-template-columns: minmax(0, 0.88fr) minmax(0, 1.12fr);
  }

  .zv-prova-form {
    grid-template-columns: minmax(14rem, 0.62fr) minmax(0, 1.38fr);
    align-items: start;
  }
}

@media (min-width: 90rem) {
  .zv-hero h1,
  .zv-hero-preview7 h1 {
    font-size: 3.75rem;
  }
}

@media (max-width: 47.99rem) {
  :root {
    --zv-section-compact: clamp(2.8rem, 10vw, 3.7rem);
    --zv-display-xl: clamp(2.15rem, 9vw, 2.85rem);
    --zv-display-lg: clamp(1.72rem, 7vw, 2.25rem);
    --zv-display-md: clamp(1.4rem, 5.8vw, 1.8rem);
  }

  .zv-container {
    width: min(calc(100% - 1.25rem), var(--zv-container));
  }

  .zv-hero,
  .zv-hero-preview7 {
    padding-top: 2.8rem;
  }

  .zv-hero h1,
  .zv-hero-preview7 h1,
  .zv-lang-en .zv-hero h1,
  .zv-lang-en .zv-hero-preview7 h1 {
    max-width: 100%;
    font-size: var(--zv-display-xl);
  }

  .zv-phone-email-stage figure img {
    min-height: 15rem;
    aspect-ratio: 4 / 3;
  }

  .zv-visibility-timeline {
    display: grid;
  }

  .zv-visibility-timeline span {
    border-right: 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.18);
  }

  .zv-visibility-timeline span:last-child {
    border-bottom: 0;
  }

  .zv-prova-channels {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .zv-prova-channel {
    min-height: 6rem;
  }

  .zv-prova .wpcf7-form,
  .zv-prova-form {
    grid-template-columns: minmax(0, 1fr);
  }

  .zv-prova .wpcf7-form > p,
  .zv-prova .wpcf7-response-output {
    grid-column: 1;
  }
}

@media (max-width: 23rem) {
  .zv-vertical-selector-list,
  .zv-prova-channels {
    grid-template-columns: minmax(0, 1fr);
  }

  .zv-vertical-selector-item {
    min-height: 7rem;
  }

  .zv-prova-channel {
    min-height: 0;
  }

  .zv-chat-launcher {
    right: max(0.5rem, env(safe-area-inset-right));
    bottom: max(0.5rem, env(safe-area-inset-bottom));
    max-width: calc(100vw - 1rem);
    padding: 0.5rem 0.6rem;
  }

  .zv-chat-launcher strong {
    font-size: 0.7rem;
  }
}

/* Keep the conceptual conversation filters readable at 200% text sizing. */
.zv-visibility-filters {
  flex-wrap: wrap;
  overflow-x: visible;
}

.zv-visibility-filters button {
  flex: 0 1 auto;
  max-width: 100%;
  overflow-wrap: anywhere;
}

/* Small labels use the accessible dark tones of the same brand palette. */
.zv-channel-ribbon-track b {
  color: #2f6b62;
}

.zv-prova-form-copy .zv-eyebrow {
  color: #87561f;
}

@media (prefers-reduced-motion: reduce) {
  .zv-vertical-selector-item,
  .zv-prova-channel,
  .zv-chat-launcher {
    transition: none;
  }
}

@media (forced-colors: active) {
  .zv-chat-launcher .zv-chat-launcher-icon,
  .zv-prova-channel,
  .zv-prova-form {
    forced-color-adjust: auto;
  }
}

/* Preview 8 selector sync — generated picture, article and editorial hooks. */
.zv-vertical-selector-item {
  display: grid;
  grid-template-rows: minmax(0, 1fr);
  padding: 0;
  overflow: hidden;
  background-color: var(--zv-ink);
  background-image: none;
  background-blend-mode: normal;
}

.zv-vertical-selector-picture,
.zv-vertical-selector-copy {
  min-width: 0;
  grid-area: 1 / 1;
}

.zv-vertical-selector-picture {
  display: block;
  width: 100%;
  height: 100%;
  opacity: 0.52;
  transition: opacity 160ms ease, transform 160ms ease;
}

.zv-vertical-selector-picture img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.zv-vertical-selector-copy {
  position: relative;
  z-index: 2;
  display: grid;
  align-self: end;
  gap: 0.3rem;
  padding: 0.85rem;
  background: rgba(23, 63, 74, 0.8);
}

.zv-vertical-selector-copy > span {
  color: rgba(255, 255, 255, 0.86);
  font-size: 0.72rem;
  line-height: 1.42;
}

.zv-vertical-selector-copy b {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.45rem;
  color: var(--zv-white);
}

.zv-vertical-selector-item::before {
  z-index: 3;
}

.zv-vertical-selector-item:hover .zv-vertical-selector-picture,
.zv-vertical-selector-item:focus-visible .zv-vertical-selector-picture {
  opacity: 0.66;
  transform: scale(1.015);
}

/* Generated #prova structure and both the static and CF7 form states. */
button.zv-prova-channel {
  width: 100%;
  font: inherit;
  text-align: left;
  cursor: pointer;
}

button.zv-prova-channel:disabled {
  cursor: not-allowed;
  opacity: 0.72;
}

.zv-prova-channel > span[aria-hidden="true"] {
  justify-self: end;
  color: var(--zv-white);
  font-size: 1rem;
  line-height: 1;
}

.zv-prova-privacy {
  margin: 0.75rem 0 0;
  color: var(--zv-muted);
  font-size: 0.7rem;
  line-height: 1.45;
}

.zv-prova-privacy a {
  color: var(--zv-teal);
  font-weight: 720;
  text-decoration: underline;
  text-underline-offset: 0.15em;
}

.zv-prova-form-preview {
  display: grid;
  gap: 0.72rem;
  min-width: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.zv-prova-form-preview label {
  display: grid;
  gap: 0.32rem;
  min-width: 0;
  color: var(--zv-ink);
  font-size: 0.75rem;
  font-weight: 760;
}

.zv-prova-form-preview label > span,
.zv-prova-form-preview label > span:last-of-type {
  display: block;
  width: auto;
  height: auto;
  border: 0;
  background: transparent;
}

.zv-prova-form-preview input,
.zv-prova-form-preview textarea {
  width: 100%;
  min-width: 0;
  min-height: 2.8rem;
  padding: 0.65rem 0.72rem;
  border: 1px solid var(--zv-line);
  border-radius: 0.55rem;
  background: var(--zv-white);
  color: var(--zv-text);
  font: inherit;
}

.zv-prova-form-preview textarea {
  min-height: 5.5rem;
  max-height: 12rem;
  resize: vertical;
}

.zv-prova-form-preview button {
  width: fit-content;
  min-height: 2.85rem;
  padding: 0.62rem 1rem;
  border: 0;
  border-radius: 0.6rem;
  background: var(--zv-teal);
  color: var(--zv-white);
  font: inherit;
  font-size: 0.82rem;
  font-weight: 780;
}

.zv-prova-form-slot > .zv-contact {
  padding: 0;
  background: transparent;
}

.zv-prova-form-slot > .zv-contact > .zv-container {
  width: 100%;
}

.zv-prova-form-slot > .zv-contact .zv-contact-grid {
  display: block;
}

.zv-prova-form-slot > .zv-contact .zv-contact-grid > div:first-child {
  display: none;
}

/* Pricing is a readable article first, followed by a conventional table. */
.zv-pricing-article,
.zv-pricing-article > section,
.zv-pricing-reading-column,
.zv-pricing-section-heading,
.zv-pricing-table-wrap,
.zv-pricing-examples-grid,
.zv-pricing-example {
  min-width: 0;
}

.zv-pricing-article > section {
  padding-block: clamp(2.8rem, 4.35vw, 4.3rem);
  border-top: 1px solid var(--zv-line);
}

.zv-pricing-article > section:first-child {
  border-top: 0;
}

.zv-pricing-intro {
  padding-block: clamp(3.5rem, 5.5vw, 5.5rem) !important;
  background: var(--zv-paper);
}

.zv-pricing-included-section {
  background: var(--zv-cool);
}

.zv-pricing-business-value {
  background: var(--zv-paper);
}

.zv-pricing-usage {
  background: var(--zv-warm);
}

.zv-pricing-token {
  background: var(--zv-paper);
}

.zv-pricing-billing {
  background: var(--zv-cool);
}

.zv-pricing-trial {
  background: var(--zv-paper);
}

.zv-pricing-reading-column {
  max-width: 52rem;
}

.zv-pricing-reading-column h1,
.zv-pricing-reading-column h2,
.zv-pricing-section-heading h2 {
  max-width: 24ch;
  margin: 0;
  color: var(--zv-ink);
  line-height: 1.08;
  letter-spacing: -0.035em;
}

.zv-pricing-reading-column h1 {
  font-size: clamp(2.15rem, 3.25vw, 3.25rem);
}

.zv-pricing-reading-column h2,
.zv-pricing-section-heading h2 {
  font-size: var(--zv-display-md);
}

.zv-pricing-reading-column > p:not(.zv-eyebrow) {
  max-width: 70ch;
  margin: 1rem 0 0;
  color: var(--zv-text);
  font-size: clamp(0.96rem, 1.1vw, 1.04rem);
  line-height: 1.72;
}

.zv-pricing-reading-column h1 + p,
.zv-pricing-reading-column h2 + p {
  color: var(--zv-ink);
  font-size: clamp(1rem, 1.25vw, 1.1rem);
}

.zv-pricing-section-heading {
  max-width: 54rem;
  margin-bottom: clamp(1.35rem, 2.5vw, 2rem);
}

.zv-pricing-tariff {
  background: var(--zv-paper);
}

.zv-pricing-table-wrap {
  overflow: hidden;
  border: 1px solid var(--zv-line);
  border-radius: 0.9rem;
  background: var(--zv-white);
}

.zv-pricing-table {
  width: 100%;
  table-layout: fixed;
  border-collapse: collapse;
  color: var(--zv-text);
  font-size: 0.88rem;
}

.zv-pricing-table caption {
  padding: 0.85rem 1rem;
  border-bottom: 1px solid var(--zv-line);
  background: var(--zv-warm);
  color: var(--zv-ink);
  font-size: 0.78rem;
  font-weight: 760;
  text-align: left;
}

.zv-pricing-table th,
.zv-pricing-table td {
  min-width: 0;
  padding: 0.78rem 1rem;
  border-bottom: 1px solid var(--zv-line);
  overflow-wrap: anywhere;
  text-align: left;
  vertical-align: top;
}

.zv-pricing-table th:first-child,
.zv-pricing-table td:first-child {
  width: 48%;
}

.zv-pricing-table thead th {
  background: var(--zv-ink);
  color: var(--zv-white);
  font-size: 0.74rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.zv-pricing-table tbody th {
  color: var(--zv-ink);
  font-weight: 720;
}

.zv-pricing-table tbody td {
  color: var(--zv-text);
}

.zv-pricing-table tbody tr:first-child {
  background: var(--zv-warm);
}

.zv-pricing-table tbody tr:first-child th,
.zv-pricing-table tbody tr:first-child td {
  border-bottom: 2px solid var(--zv-sand);
  color: var(--zv-ink);
  font-weight: 800;
}

.zv-pricing-table tbody tr:last-child th,
.zv-pricing-table tbody tr:last-child td {
  border-bottom: 0;
}

.zv-pricing-vat-note {
  margin: 0.75rem 0 0;
  color: var(--zv-muted);
  font-size: 0.74rem;
  line-height: 1.45;
}

.zv-pricing-examples {
  background: var(--zv-cool);
}

.zv-pricing-examples-grid {
  display: grid;
  border-block: 1px solid var(--zv-line);
}

.zv-pricing-example {
  padding: 1.2rem 0;
}

.zv-pricing-example + .zv-pricing-example {
  border-top: 1px solid var(--zv-line);
}

.zv-pricing-example h3 {
  max-width: 25ch;
  margin: 0;
  font-size: clamp(1.25rem, 1.65vw, 1.55rem);
  line-height: 1.15;
  letter-spacing: -0.025em;
}

.zv-pricing-example > p:not(.zv-eyebrow) {
  max-width: 58ch;
  margin: 0.75rem 0 0;
  color: var(--zv-text);
  font-size: 0.9rem;
  line-height: 1.62;
}

.zv-pricing-example small {
  display: block;
  margin-top: 1rem;
  padding-top: 0.75rem;
  border-top: 1px solid var(--zv-line);
  color: var(--zv-muted);
  font-size: 0.72rem;
  line-height: 1.45;
}

.zv-pricing-trial .zv-actions {
  margin-top: 1.3rem;
}

/* Four verticals share semantics but keep visibly different editorial rhythms. */
.zv-vertical-page,
.zv-vertical-page section,
.zv-vertical-day-grid,
.zv-vertical-booking-grid,
.zv-vertical-value-grid,
.zv-vertical-day-copy,
.zv-vertical-booking-copy,
.zv-vertical-value-copy {
  min-width: 0;
}

.zv-vertical-page .zv-specialist-hero {
  padding-block: clamp(3.25rem, 5vw, 5rem);
}

.zv-vertical-page .zv-specialist-copy h1 {
  max-width: 19ch;
  font-size: clamp(2.15rem, 3.15vw, 3.25rem);
  line-height: 1.03;
  letter-spacing: -0.042em;
  overflow-wrap: normal;
  word-break: normal;
  hyphens: none;
}

.zv-vertical-page .zv-specialist-copy .zv-lead {
  max-width: 42rem;
  font-size: clamp(1rem, 1.25vw, 1.12rem);
  line-height: 1.58;
}

.zv-vertical-page .zv-specialist-hero figure img {
  height: min(128vw, 36rem);
  min-height: clamp(22rem, 34vw, 31rem);
  aspect-ratio: 1.28 / 1;
}

.zv-vertical-page .zv-specialist-proof span {
  min-height: 0;
  padding-block: 0.85rem;
  font-size: 0.76rem;
}

.zv-vertical-day,
.zv-vertical-booking,
.zv-vertical-value {
  padding-block: var(--zv-section-compact);
}

.zv-vertical-day-grid,
.zv-vertical-booking-grid,
.zv-vertical-value-grid {
  display: grid;
  gap: 1.5rem clamp(3rem, 6vw, 6rem);
  align-items: start;
}

.zv-vertical-day h2,
.zv-vertical-booking h2,
.zv-vertical-value h2 {
  max-width: 24ch;
  margin: 0;
  font-size: var(--zv-display-lg);
  line-height: 1.06;
  letter-spacing: -0.04em;
}

.zv-vertical-booking header > .zv-lead {
  max-width: 35rem;
  margin-top: 0.9rem;
  font-size: 1rem;
  line-height: 1.58;
}

.zv-vertical-day-copy,
.zv-vertical-booking-copy,
.zv-vertical-value-copy {
  max-width: 48rem;
}

.zv-vertical-day-copy p,
.zv-vertical-booking-copy p,
.zv-vertical-value-copy p {
  margin: 0;
  color: var(--zv-text);
  line-height: 1.7;
}

.zv-vertical-day-copy p + p,
.zv-vertical-booking-copy p + p,
.zv-vertical-value-copy p + p {
  margin-top: 1.05rem;
}

.zv-vertical-controls {
  padding: 0.8rem 0 0.8rem 1rem;
  border-left: 3px solid var(--zv-sand);
  color: var(--zv-ink) !important;
  font-size: 0.82rem;
  font-weight: 760;
}

.zv-vertical-value-questions {
  margin: 1.2rem 0 0;
  padding: 0;
  border-block: 1px solid var(--zv-line);
  list-style: none;
}

.zv-vertical-value-questions li {
  padding: 0.72rem 0;
  border-bottom: 1px solid var(--zv-line);
  color: var(--zv-ink);
  font-size: 0.86rem;
  font-weight: 700;
  line-height: 1.5;
}

.zv-vertical-value-questions li:last-child {
  border-bottom: 0;
}

.zv-vertical-value-closing {
  margin-top: 1.15rem !important;
  padding: 0.85rem 0 0.85rem 1rem;
  border-left: 3px solid var(--zv-green);
  color: var(--zv-ink) !important;
  font-weight: 760;
}

.zv-vertical-page-dentist .zv-specialist-hero,
.zv-vertical-day-dentist {
  background: var(--zv-cool);
}

.zv-vertical-booking-dentist,
.zv-vertical-value-dentist {
  background: var(--zv-paper);
}

.zv-vertical-page-trades .zv-specialist-hero,
.zv-vertical-day-trades {
  background: var(--zv-warm);
}

.zv-vertical-booking-trades {
  background: var(--zv-paper);
}

.zv-vertical-value-trades {
  background: var(--zv-cool);
}

.zv-vertical-page-auto .zv-specialist-hero {
  background: var(--zv-paper);
}

.zv-vertical-day-auto {
  background: var(--zv-ink);
}

.zv-vertical-day-auto h2,
.zv-vertical-day-auto p {
  color: var(--zv-white);
}

.zv-vertical-day-auto .zv-vertical-day-copy p {
  color: rgba(255, 255, 255, 0.8);
}

.zv-vertical-booking-auto {
  background: var(--zv-warm);
}

.zv-vertical-value-auto {
  background: var(--zv-cool);
}

.zv-vertical-page-salon .zv-specialist-hero,
.zv-vertical-day-salon {
  background: var(--zv-paper);
}

.zv-vertical-booking-salon {
  background: var(--zv-cool);
}

.zv-vertical-value-salon {
  background: var(--zv-warm);
  border-top-color: var(--zv-sand);
}

@media (min-width: 48rem) {
  .zv-prova-heading {
    grid-template-rows: auto auto auto;
  }

  .zv-prova-heading .zv-eyebrow {
    grid-column: 1;
    grid-row: 1;
  }

  .zv-prova-heading h2 {
    grid-column: 1;
    grid-row: 2 / span 2;
  }

  .zv-prova-heading > p.zv-lead {
    grid-column: 2;
    grid-row: 1 / span 2;
    align-self: end;
    margin: 0;
  }

  .zv-prova-heading > p:last-child {
    grid-column: 2;
    grid-row: 3;
    margin: 0;
  }

  .zv-prova-form-preview {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .zv-prova-form-preview label:nth-of-type(3),
  .zv-prova-form-preview button {
    grid-column: 1 / -1;
  }

  .zv-pricing-examples-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .zv-pricing-example {
    padding: 1.35rem 1.5rem 1.35rem 0;
  }

  .zv-pricing-example + .zv-pricing-example {
    padding-right: 0;
    padding-left: 1.5rem;
    border-top: 0;
    border-left: 1px solid var(--zv-line);
  }
}

@media (min-width: 64rem) {
  .zv-vertical-day-grid,
  .zv-vertical-booking-grid,
  .zv-vertical-value-grid {
    grid-template-columns: repeat(12, minmax(0, 1fr));
  }

  .zv-vertical-day-dentist header,
  .zv-vertical-day-auto header {
    grid-column: 1 / span 5;
  }

  .zv-vertical-day-dentist .zv-vertical-day-copy,
  .zv-vertical-day-auto .zv-vertical-day-copy {
    grid-column: 6 / -1;
  }

  .zv-vertical-day-trades header {
    grid-column: 8 / -1;
    grid-row: 1;
  }

  .zv-vertical-day-trades .zv-vertical-day-copy {
    grid-column: 1 / span 7;
    grid-row: 1;
  }

  .zv-vertical-day-salon header {
    grid-column: 2 / span 4;
  }

  .zv-vertical-day-salon .zv-vertical-day-copy {
    grid-column: 6 / -1;
  }

  .zv-vertical-booking-dentist header,
  .zv-vertical-booking-salon header {
    grid-column: 1 / span 5;
  }

  .zv-vertical-booking-dentist .zv-vertical-booking-copy,
  .zv-vertical-booking-salon .zv-vertical-booking-copy {
    grid-column: 6 / -1;
  }

  .zv-vertical-booking-trades header {
    grid-column: 1 / -1;
  }

  .zv-vertical-booking-trades .zv-vertical-booking-copy {
    grid-column: 3 / span 8;
  }

  .zv-vertical-booking-auto header {
    grid-column: 7 / -1;
    grid-row: 1;
  }

  .zv-vertical-booking-auto .zv-vertical-booking-copy {
    grid-column: 1 / span 6;
    grid-row: 1;
  }

  .zv-vertical-value-grid > header {
    grid-column: 1 / span 5;
  }

  .zv-vertical-value-copy {
    grid-column: 6 / -1;
  }
}

@media (min-width: 64rem) {
  .zv-vertical-page .zv-specialist-hero img {
    height: min(48vw, 43rem);
  }
}

@media (min-width: 72rem) {
  .zv-vertical-page .zv-specialist-trades .zv-specialist-grid,
  .zv-vertical-page .zv-specialist-salon .zv-specialist-grid {
    position: static;
    display: grid;
    grid-template-columns: minmax(0, 0.92fr) minmax(0, 1.08fr) !important;
  }

  .zv-vertical-page .zv-specialist-trades .zv-specialist-copy,
  .zv-vertical-page .zv-specialist-salon .zv-specialist-copy {
    position: static;
    width: auto;
    margin: 0;
    padding: 0;
    border-radius: 0;
    background: transparent;
    transform: none;
    box-shadow: none;
  }

  .zv-vertical-page .zv-specialist-trades figure img,
  .zv-vertical-page .zv-specialist-salon figure img {
    min-height: 28rem !important;
    aspect-ratio: 1.28 / 1;
  }
}

@media (max-width: 47.99rem) {
  .zv-vertical-page .zv-specialist-copy {
    padding-inline: 0.625rem;
  }

  .zv-vertical-selector-copy {
    padding: 0.75rem;
  }

  .zv-pricing-article > section {
    padding-block: var(--zv-section-compact);
  }

  .zv-pricing-intro {
    padding-block: 3rem !important;
  }

  .zv-pricing-table {
    font-size: 0.78rem;
  }

  .zv-pricing-table caption,
  .zv-pricing-table th,
  .zv-pricing-table td {
    padding: 0.65rem;
  }

  .zv-pricing-table th:first-child,
  .zv-pricing-table td:first-child {
    width: 44%;
  }

  .zv-vertical-page .zv-specialist-copy h1 {
    max-width: 100%;
    font-size: var(--zv-display-xl);
  }

  .zv-vertical-page .zv-specialist-hero figure img {
    min-height: 16rem;
    aspect-ratio: 4 / 3;
  }

  .zv-vertical-day-grid,
  .zv-vertical-booking-grid,
  .zv-vertical-value-grid {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (prefers-reduced-motion: reduce) {
  .zv-vertical-selector-picture {
    transition: none;
  }
}

/* Preview 8 visual lock correction: scale, light contact surface, and shared editorial grid. */
.zv-vertical-selector-item {
  min-height: clamp(12.4rem, 15.5vw, 14.4rem);
}

.zv-vertical-selector-picture {
  opacity: 0.7;
}

.zv-vertical-selector-picture img {
  object-position: center 43%;
}

.zv-vertical-selector-dentist .zv-vertical-selector-picture img {
  object-position: 63% 48%;
}

.zv-vertical-selector-trades .zv-vertical-selector-picture img {
  object-position: 68% 46%;
}

.zv-vertical-selector-auto .zv-vertical-selector-picture img {
  object-position: 58% 48%;
}

.zv-vertical-selector-salon .zv-vertical-selector-picture img {
  object-position: 67% 45%;
}

.zv-vertical-selector-copy {
  padding: 1rem;
  background: linear-gradient(180deg, rgba(23, 63, 74, 0.36), rgba(23, 63, 74, 0.94));
}

.zv-vertical-selector-item:hover .zv-vertical-selector-picture,
.zv-vertical-selector-item:focus-visible .zv-vertical-selector-picture {
  opacity: 0.82;
}

.zv-prova-channel,
.zv-prova-channel-chat,
.zv-prova-channel-phone {
  border-color: var(--zv-line);
  background: var(--zv-paper);
  color: var(--zv-text);
  box-shadow: 0 0.45rem 1.2rem rgba(23, 63, 74, 0.08);
}

.zv-prova-channel strong,
.zv-prova-channel h3 {
  color: var(--zv-ink);
}

.zv-prova-channel p,
.zv-prova-channel span,
.zv-prova-channel small,
.zv-prova-channel > span[aria-hidden="true"] {
  color: var(--zv-muted);
}

.zv-prova-channel:hover,
.zv-prova-channel:focus-within,
a.zv-prova-channel:focus-visible,
button.zv-prova-channel:focus-visible {
  border-color: var(--zv-green);
  background: var(--zv-cool);
  box-shadow: 0 0.55rem 1.5rem rgba(23, 63, 74, 0.13);
}

a.zv-prova-channel:focus-visible,
button.zv-prova-channel:focus-visible {
  outline: 3px solid var(--zv-sand);
  outline-offset: 3px;
}

button.zv-prova-channel:disabled {
  border-color: var(--zv-line);
  background: #edf5f2;
  color: var(--zv-muted);
  box-shadow: none;
  opacity: 1;
}

button.zv-prova-channel:disabled strong,
button.zv-prova-channel:disabled span {
  color: var(--zv-muted);
}

.zv-pricing-table tbody tr:first-child,
.zv-pricing-table tbody tr[data-tariff-category="fixed_monthly_fee"] {
  background: var(--zv-white);
}

.zv-pricing-table tbody tr:first-child th,
.zv-pricing-table tbody tr:first-child td,
.zv-pricing-table tbody tr[data-tariff-category="fixed_monthly_fee"] th,
.zv-pricing-table tbody tr[data-tariff-category="fixed_monthly_fee"] td {
  border-bottom: 1px solid var(--zv-line);
  color: inherit;
  font-weight: inherit;
}

.zv-pricing-table tbody tr[data-tariff-category="fixed_monthly_fee"] th {
  color: var(--zv-ink);
  font-weight: 720;
}

.zv-pricing-reading-column {
  max-width: var(--zv-container);
}

.zv-vertical-value .zv-container {
  max-width: var(--zv-container);
}

.zv-pricing-reading-column > .zv-eyebrow,
.zv-pricing-reading-column > h1,
.zv-pricing-reading-column > h2,
.zv-pricing-reading-column > .zv-actions {
  min-width: 0;
}

.zv-pricing-reading-column > p:not(.zv-eyebrow),
.zv-pricing-reading-column > .zv-actions {
  max-width: 48rem;
}

.zv-vertical-page-trades .zv-specialist-hero {
  background: var(--zv-paper);
}

.zv-vertical-day-trades {
  background: var(--zv-cool);
}

.zv-vertical-booking-trades {
  background: var(--zv-paper);
}

.zv-vertical-value-trades {
  background: var(--zv-warm);
}

@media (min-width: 48rem) {
  .zv-pricing-reading-column {
    display: grid;
    grid-template-columns: minmax(15rem, 0.78fr) minmax(0, 1.22fr);
    gap: 0 clamp(3rem, 6vw, 6rem);
    align-items: start;
  }

  .zv-pricing-reading-column > .zv-eyebrow,
  .zv-pricing-reading-column > h1,
  .zv-pricing-reading-column > h2 {
    grid-column: 1;
  }

  .zv-pricing-reading-column > h1,
  .zv-pricing-reading-column > h2 {
    grid-row: 2 / span 7;
  }

  .zv-pricing-reading-column > h1:first-child,
  .zv-pricing-reading-column > h2:first-child {
    grid-row: 1 / span 7;
  }

  .zv-pricing-reading-column > p:not(.zv-eyebrow),
  .zv-pricing-reading-column > .zv-actions {
    grid-column: 2;
    margin-top: 0;
  }

  .zv-pricing-reading-column > p:not(.zv-eyebrow) + p:not(.zv-eyebrow) {
    margin-top: 1rem;
  }

  .zv-pricing-reading-column > .zv-actions {
    margin-top: 1.3rem;
  }
}

@media (min-width: 64rem) {
  .zv-vertical-selector-inner {
    grid-template-columns: minmax(12rem, 0.34fr) minmax(0, 1.66fr);
  }

  .zv-vertical-day-grid,
  .zv-vertical-booking-grid,
  .zv-vertical-value-grid {
    grid-template-columns: repeat(12, minmax(0, 1fr));
  }

  .zv-vertical-day-grid > header,
  .zv-vertical-booking-grid > header,
  .zv-vertical-value-grid > header,
  .zv-vertical-day-trades header,
  .zv-vertical-day-auto header,
  .zv-vertical-booking-trades header,
  .zv-vertical-booking-auto header {
    grid-column: 1 / span 5;
    grid-row: 1;
    text-align: left;
  }

  .zv-vertical-day-copy,
  .zv-vertical-booking-copy,
  .zv-vertical-value-copy,
  .zv-vertical-day-trades .zv-vertical-day-copy,
  .zv-vertical-day-auto .zv-vertical-day-copy,
  .zv-vertical-booking-trades .zv-vertical-booking-copy,
  .zv-vertical-booking-auto .zv-vertical-booking-copy {
    grid-column: 6 / -1;
    grid-row: 1;
    text-align: left;
  }
}

@media (max-width: 63.99rem) {
  .zv-vertical-selector-item {
    min-height: clamp(12.2rem, 28vw, 15.2rem);
  }
}

@media (max-width: 47.99rem) {
  .zv-vertical-selector-item {
    min-height: clamp(12rem, 43vw, 12.8rem);
  }

  .zv-vertical-selector-copy {
    padding: 0.85rem;
  }
}

@media (max-width: 23rem) {
  .zv-vertical-selector-item {
    min-height: 11.5rem;
  }
}

/* Preview 8.1 staging polish: keep the fixed chat action out of mobile content. */
@media (max-width: 47.99rem) {
  .zv-chat-launcher {
    width: 3rem;
    min-width: 3rem;
    height: 3rem;
    padding: 0;
    border-radius: 0.9rem;
    justify-content: center;
  }

  .zv-chat-launcher strong {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
  }

  .zv-pricing-table {
    font-size: 0.74rem;
  }

  .zv-pricing-table th,
  .zv-pricing-table td {
    padding-inline: 0.52rem;
    overflow-wrap: break-word;
    word-break: normal;
    hyphens: manual;
  }

  .zv-pricing-table th:first-child,
  .zv-pricing-table td:first-child {
    width: 47%;
  }

  .zv-pricing-table .zv-nowrap {
    white-space: nowrap;
  }
}
