/* ===================================
   Global Responsive Rules
   =================================== */

* {
  box-sizing: border-box;
}

img,
video {
  max-width: 100%;
  height: auto;
}

/* ===================================
   Banner Section
   =================================== */
.zwc-button-group .act-btn:last-child {
  border-color: #fff;
  color: #fff;
}

.zwc-banner-wrap {
  padding: 124px 0;
  position: relative;
  overflow: hidden;
  position: relative;
}
@-moz-document url-prefix() {
  .zwc-banner-wrap::after {
    background-image: url("/sites/zweb/images/pagesense/full-stack/hero_bg.png");
  }
}

.zwc-banner-wrap::after {
  content: "";
  top: 0;
  left: 0;
  position: absolute;
  height: 100%;
  width: 100%;
  background: url("/sites/zweb/images/pagesense/full-stack/banner_backgorund_animation.svg");
  z-index: -1;
  background-size: cover;
}

.zwc-banner-wrap .content-wrap {
  max-width: 1250px;
  margin: 0 auto;
}

.zwc-banner-content {
  display: flex;
  gap: 73px;
  align-items: center;
}

/* Page landing transition keyframes */
@keyframes zwc-fadeInUp {
  0% {
    opacity: 0;
    transform: translateY(30px);
  }

  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

.zwc-text-section {
  max-width: 555px;
}

/* Page landing transition animations - elements start hidden */
.zwc-text-section p.zwc-banner-label,
.zwc-text-section h1,
.zwc-text-section>p:not(.zwc-banner-label),
.zwc-text-section .zwc-button-group {
  opacity: 0;
  transform: translateY(30px);
  animation: zwc-fadeInUp 0.7s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}

.zwc-text-section p.zwc-banner-label {
  animation-delay: 0.05s;
}

.zwc-text-section h1 {
  animation-delay: 0.15s;
}

.zwc-text-section>p:not(.zwc-banner-label) {
  animation-delay: 0.25s;
}

.zwc-text-section .zwc-button-group {
  animation-delay: 0.35s;
}

.zwc-text-section p.zwc-banner-label {
  font-family: var(--zf-primary-medium);
  font-size: 18px;
  color: #ffffff;
  opacity: 0.88;
  line-height: 1;
  letter-spacing: -0.18px;
  margin: 0 0 23px 0;
  margin-bottom: 23px;
}

.zwc-text-section h1 {
  font-family: var(--primaryfont-semibold);
  font-size: 52px;
  color: #ffffff;
  line-height: 1.15;
  letter-spacing: -1.04px;
  margin: 0 0 26px 0;
}

.zwc-text-section p {
  font-family: var(--primaryfont-regular);
  font-size: 17px;
  color: #ffffff;
  opacity: 0.88;
  line-height: 1.65;
  letter-spacing: -0.17px;
  margin: 0 0 40px 0;
}

.zwc-button-group {
  display: flex;
  gap: 12px;
}

.zwc-hero-visual {
  max-width: 622px;
}

.zwc-hero-visual img,
.zwc-hero-visual video {
  width: 100%;
  height: auto;
  display: block;
  max-width: 100%;
}

/* ===================================
   Features Section
   =================================== */

.zwc-feature-wrapper {
  background-color: #0f0c0c;
  /* padding: 92px 0; */
  position: relative;
}

.zwc-feature-con {
  position: relative;
  padding: 92px 0;
}

.zwc-feature-content {
  z-index: 1;
  position: relative;
}

.zwc-feature-con::after {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  border-radius: 16px;
  border: 1px solid #2d2424;
  background: #140f0f;
  height: 100%;
  width: 90%;
  /* border: 2px solid transparent; */
  border-radius: 20px;
  background: #0d0a0a;
  border-image: linear-gradient(90deg,
      rgba(255, 136, 0, 0) 0%,
      rgba(255, 136, 0, 0.8) 50%,
      rgba(255, 136, 0, 0) 100%) 1;
}

.zwc-feature-wrapper .content-wrap {
  max-width: 1290px;
  margin: 0 auto;
}

.zwc-section-header {
  text-align: center;
  /* max-width: 555px; */
  margin: 0 auto 98px;
}

.zwc-section-header h2 {
  font-family: var(--zf-primary-medium);
  font-size: 48px;
  color: #ffffff;
  line-height: 1.2;
  letter-spacing: -1.44px;
  margin: 0 0 18px 0;
  display: flex;
  flex-direction: column;
}

.zwc-section-header h2 span {
  color: #ff6c3b;
  text-align: center;
  overflow: hidden;
  white-space: nowrap;
}

/* Flip Text Animation */
.zwc-flip-text {
  display: inline-grid;
  position: relative;
  text-align: center;
  vertical-align: bottom;
  min-width: 183px;
  justify-items: center;
}

.zwc-flip-word {
  grid-row: 1;
  grid-column: 1;
  display: inline-block;
  color: #ff6c3b;
  opacity: 0;
  transform: translateY(100%);
  animation: flipWord 6s infinite ease-in-out;
}

.zwc-flip-word:first-child {
  opacity: 1;
  transform: translateY(0);
}

.zwc-flip-word:nth-child(1) {
  animation-name: flipWord1;
}

.zwc-flip-word:nth-child(2) {
  animation-name: flipWord2;
}

.zwc-flip-word:nth-child(3) {
  animation-name: flipWord3;
}

@keyframes flipWord1 {
  0% {
    opacity: 0;
    transform: translateY(100%);
  }

  5%,
  28% {
    opacity: 1;
    transform: translateY(0);
  }

  33%,
  100% {
    opacity: 0;
    transform: translateY(-100%);
  }
}

@keyframes flipWord2 {

  0%,
  28% {
    opacity: 0;
    transform: translateY(100%);
  }

  33%,
  61% {
    opacity: 1;
    transform: translateY(0);
  }

  66%,
  100% {
    opacity: 0;
    transform: translateY(-100%);
  }
}

@keyframes flipWord3 {

  0%,
  61% {
    opacity: 0;
    transform: translateY(100%);
  }

  66%,
  95% {
    opacity: 1;
    transform: translateY(0);
  }

  100% {
    opacity: 0;
    transform: translateY(-100%);
  }
}

.zwc-section-header>p {
  font-family: var(--primaryfont-regular);
  font-size: 17px;
  color: #ffffff;
  line-height: 1.55;
  letter-spacing: -0.34px;
  margin: 0;
}

.zwc-feature-showcase {
  display: flex;
  gap: 106px;
  align-items: flex-start;
}

.zwc-visual-demo {
  flex-shrink: 0;
  position: relative;
  min-height: 513px;
  border-radius: 12px;
  border: 1px solid #1a1313;
  padding: 60px;
  background: #1a1313;
  width: 600px;
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: 1fr;
  align-items: center;
  justify-items: center;
}

.zwc-feature-image {
  grid-row: 1;
  grid-column: 1;
  width: 100%;
  opacity: 0;
  transition: opacity 0.5s ease;
  transform: scale(0.7);
  pointer-events: none;
}

.zwc-feature-image.active {
  opacity: 1;
  transform: scale(1);
  pointer-events: auto;
}

.zwc-visual-demo img,
.zwc-visual-demo video {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 12px;
  max-width: 100%;
}

.zwc-feature-details {
  max-width: 428px;
  position: relative;
}

/* Pause Button */
.zwc-feature-pause-btn {
  position: absolute;
  bottom: -45px;
  right: 0;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  border: 1px solid #3d3d3d;
  background: #1a1313;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.3s ease;
}

.zwc-feature-pause-btn:hover {
  border-color: #ff6c3b;
  background: #2a2222;
}

.zwc-feature-pause-btn .pause-icon {
  position: relative;
  width: 10px;
  height: 12px;
}

/* Pause icon (two vertical bars) */
.zwc-feature-pause-btn .pause-icon::before,
.zwc-feature-pause-btn .pause-icon::after {
  content: "";
  position: absolute;
  top: 0;
  width: 3px;
  height: 100%;
  background: #fff;
  border-radius: 1px;
  transition: all 0.3s ease;
}

.zwc-feature-pause-btn .pause-icon::before {
  left: 0;
}

.zwc-feature-pause-btn .pause-icon::after {
  right: 0;
}

/* Play icon (triangle) when paused */
.zwc-feature-pause-btn.is-paused .pause-icon::before {
  width: 0;
  height: 0;
  background: transparent;
  border-style: solid;
  border-width: 6px 0 6px 10px;
  border-color: transparent transparent transparent #fff;
  border-radius: 0;
  left: 2px;
}

.zwc-feature-pause-btn.is-paused .pause-icon::after {
  display: none;
}

/* Paused state for progress bar */
.zwc-feature-item.is-paused::before {
  animation-play-state: paused !important;
}

.zwc-feature-details>p {
  font-family: var(--primaryfont-regular);
  font-size: 17px;
  color: #ffffff;
  line-height: 1.55;
  letter-spacing: -0.34px;
  margin: 0 0 126px 0;
}

.zwc-feature-list {
  border-left: 1px solid #2e2e2e;
  padding-left: 32px;
  display: flex;
  flex-direction: column;
  gap: 32px;
  position: relative;
}

.zwc-feature-item {
  cursor: pointer;
  transition: all 0.3s ease;
  padding: 8px 0;
  position: relative;
}

.zwc-feature-item::after {
  content: "";
  position: absolute;
  left: -33px;
  top: 0;
  width: 2px;
  height: 100%;
  background-color: white;
  opacity: 0;
}

.zwc-feature-item::before {
  content: "";
  position: absolute;
  left: -33px;
  top: 0;
  width: 2px;
  height: 0;
  z-index: 1;
  background: white;
}

.act-btn {
  padding: 15px 30px;
}

/* Progress bar animation */
@keyframes progressFill {
  0% {
    height: 0;
  }

  100% {
    height: 100%;
  }
}

.zwc-feature-item.active::before {
  animation: progressFill var(--progress-duration, 5s) linear forwards;
}

.zwc-feature-item.active::after {
  opacity: 0.4;
}

.zwc-feature-item.no-animation::before {
  animation: none;
  height: 100%;
}

.zwc-feature-item:hover h3 {
  color: #c2c2c2;
}

.zwc-feature-item h3 {
  font-family: var(--primaryfont-semibold);
  font-size: 22px;
  color: #8f8f8f;
  line-height: 1.2;
  letter-spacing: -0.44px;
  margin: 0;
  transition: color 0.3s ease;
}

.zwc-feature-item p {
  font-family: var(--primaryfont-regular);
  font-size: 16px;
  color: #e0e0e0;
  line-height: 1.5;
  letter-spacing: -0.16px;
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows 0.4s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.4s ease, margin 0.4s ease;
  opacity: 0;
  margin: 0;
}

.zwc-feature-item-text {
  overflow: hidden;
  display: block;
}

.zwc-feature-item.active h3 {
  color: #ffffff;
}

.zwc-feature-item.active p {
  grid-template-rows: 1fr;
  opacity: 1;
  margin-top: 14px;
}

/* Feature Item Video - Hidden on desktop, shown on mobile */
.zwc-feature-item-video {
  display: none;
  grid-template-rows: 0fr;
  overflow: hidden;
  opacity: 0;
  transition: grid-template-rows 0.4s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.4s ease, margin 0.4s ease;
  border-radius: 8px;
  background: #1a1313;
}

.zwc-feature-item-video-inner {
  overflow: hidden;
}

.zwc-feature-item-video video {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 8px;
}

/* ===================================
   Experiments Section - Sticky Scroll
   =================================== */

.zwc-experiments-wrapper {
  background-color: #0f0c0c;
  padding: 72px 0;
}

.zwc-experiments-wrapper .content-wrap {
  max-width: 1169px;
  margin: 0 auto;
}

.zwc-experiments-content h2 {
  font-family: var(--zf-primary-medium);
  font-size: 48px;
  color: #ffffff;
  line-height: 1.2;
  letter-spacing: -1.44px;
  text-align: center;
  margin: 0 auto 60px;
  max-width: 700px;
}

/* Sticky Container Layout */
.zwc-sticky-container {
  position: relative;
}

/* Navigation - Tab/Pill Design */
.zwc-sticky-nav {
  display: flex;
  padding: 20px 50px;
  justify-content: center;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 60px;
  position: sticky;
  top: 64px;
  z-index: 10;
  background: #0f0c0c;
}

.zwc-nav-item {
  font-family: var(--primaryfont-regular);
  font-size: 16px;
  color: #a2a2a2;
  background-color: #1f1919;
  border: none;
  border-radius: 5px;
  padding: 14px 24px;
  cursor: pointer;
  line-height: 1;
  letter-spacing: -0.32px;
  transition: all 0.3s ease;
}

.zwc-nav-item:hover {
  background-color: #2a2222;
  color: #ffffff;
}

.zwc-nav-item.active {
  background-color: #da5700;
  color: #ffffff;
}

/* Scroll Panels */
.zwc-scroll-panels {
  display: flex;
  flex-direction: column;
  border-radius: 12px;
}

.zwc-banner-content .zwc-text-section {
  text-wrap: pretty;
}

.zwc-banner-content .zwc-text-section {
  text-wrap: balance;
}

.zwc-scroll-panel {
  display: flex;
  gap: 80px;
  align-items: center;
  justify-content: center;
  padding: 60px;
  background-color: #140F0F;
  border: 1px solid #2d2424;
  border-radius: 12px;
  background-image: url("/sites/zweb/images/pagesense/full-stack/card_bg.png");
  background-size: cover;
  background-position: left;
  position: sticky;
  top: 210px;
  opacity: 0;
  margin-bottom: 60vh;
}

.zwc-scroll-panel:last-child.active.click-active {
  margin-top: clamp(60px, 12vw, 240px);
}

/* Active card animation */
@keyframes cardActivate {
  0% {
    opacity: 0;
    transform: translateY(20px) scale(0.98);
  }

  100% {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

/* Active card highlight */
.zwc-scroll-panel.active {
  /* box-shadow: 0 10px 40px rgba(255, 108, 59, 0.15); */
  border-color: rgba(255, 108, 59, 0.4);
  opacity: 1;
  animation: cardActivate 0.4s ease-out forwards;
}

/* Passed cards scale down slightly */
.zwc-scroll-panel.passed {
  transform: scale(0.98);
  opacity: 0;
}

.zwc-panel-text {
  width: 50%;
}

.zwc-panel-text h3 {
  font-family: var(--primaryfont-semibold);
  font-size: 32px;
  color: #ffffff;
  line-height: 1.2;
  letter-spacing: -0.96px;
  margin: 0 0 18px 0;
}

.zwc-panel-text p,
.zwc-panel-text ul li {
  font-family: var(--primaryfont-regular);
  font-size: 16px;
  color: white;
  line-height: 160%;
  letter-spacing: -0.32px;
  margin-bottom: 14px;
}

.zwc-panel-text ul {
  padding-left: 20px;
}

.zwc-panel-text ul li {
  list-style-type: disc;
}

.zwc-panel-visual {
  max-width: 488px;
  width: 50%;
}

.zwc-environment-panel {
  background-color: #faf0e3;
  border-radius: 4px;
  padding: 59px 46px;
  max-width: 488px;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.zwc-environment-panel:hover {
  transform: translateY(-5px);
  box-shadow: 0 10px 40px rgba(218, 87, 0, 0.15);
}

.zwc-panel-header {
  border: 1px solid rgba(255, 102, 0, 0.9);
  border-radius: 4px;
  padding: 10px 14px;
  display: inline-flex;
  margin-bottom: 31px;
}

.zwc-panel-header span {
  font-family: var(--zf-primary-medium);
  font-size: 14px;
  color: #101010;
  letter-spacing: -0.28px;
  line-height: 1.1;
}

.zwc-environment-panel>p {
  font-family: var(--primaryfont-regular);
  font-size: 13px;
  color: #000000;
  line-height: 1.5;
  letter-spacing: -0.13px;
  margin: 0 0 44px 0;
}

.zwc-environment-list {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.zwc-environment-item {
  background-color: #ffffff;
  border: 0.8px solid #ff6600;
  border-radius: 4px;
  padding: 13px 37px;
  display: flex;
  align-items: center;
  gap: 16px;
  opacity: 0;
  transform: translateY(15px);
  transition: opacity 0.4s ease, transform 0.4s ease, background-color 0.3s ease;
}

.zwc-scroll-panel.active .zwc-environment-item {
  opacity: 1;
  transform: translateY(0);
}

.zwc-scroll-panel.active .zwc-environment-item:nth-child(1) {
  transition-delay: 0.1s;
}

.zwc-scroll-panel.active .zwc-environment-item:nth-child(2) {
  transition-delay: 0.2s;
}

.zwc-scroll-panel.active .zwc-environment-item:nth-child(3) {
  transition-delay: 0.3s;
}

.zwc-environment-item:hover {
  background-color: #fff5eb;
}

.zwc-environment-item .icon {
  font-size: 16px;
}

.zwc-environment-item .name {
  font-family: var(--primaryfont-regular);
  font-size: 14px;
  color: #000000;
  letter-spacing: -0.14px;
  line-height: 1;
}

.zwc-environment-item .key {
  font-family: var(--primaryfont-regular);
  font-size: 13px;
  color: #3d3d3d;
  letter-spacing: -0.13px;
  line-height: 1;
  margin-left: auto;
}

/* ===================================
   Teams Section
   =================================== */

.zwc-teams-wrapper {
  background-color: #0f0c0c;
  padding: 72px 0;
  position: relative;
  z-index: 11;
}

.zwc-teams-wrapper .content-wrap {
  max-width: 1169px;
  margin: 0 auto;
}

.zwc-teams-content h2 {
  font-family: var(--primaryfont-medium);
  font-size: 48px;
  color: #ffffff;
  line-height: 1.2;
  letter-spacing: -1.44px;
  text-align: center;
  margin: 0 0 82px 0;
}

.zwc-teams-content span {
  display: block;
}

.zwc-teams-showcase {
  display: flex;
  gap: 0;
  align-items: stretch;
  perspective: 1200px;
}

/* Team Card Base Styles - Inactive state */
.zwc-team-card {
  background-color: #1a1616;
  border-radius: 0;
  overflow: hidden;
  cursor: pointer;
  flex: 0 0 200px;
  opacity: 1;
  transition: flex 0.25s ease-out,
    width 0.25s ease-out,
    background-color 0.2s ease,
    opacity 0.2s ease-out,
    transform 0.2s ease-out,
    box-shadow 0.2s ease;
  transform-style: preserve-3d;
  will-change: flex, width, transform, opacity;
  contain: layout style;
}


.zwc-team-card:first-child {
  border-radius: 12px 0 0 12px;
  background-color: #2e2121;
}

.zwc-team-card:nth-child(2) {
  background-color: #241a1a;
}

.zwc-team-card:last-child {
  border-radius: 0 12px 12px 0;
  background-color: #1a1313;
}

.zwc-team-card-header {
  padding: 24px 28px;
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  transform-origin: top center;
}

.zwc-team-card-header h4 {
  font-family: var(--primaryfont-semibold);
  font-size: 22px;
  color: white;
  line-height: 1.2;
  letter-spacing: -0.44px;
  margin: 0;
  transition: color 0.4s ease, transform 0.3s ease;
}


.zwc-team-card-body {
  flex: 1;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.zwc-team-card-body-inner {
  display: flex;
  gap: 60px;
  padding: 24px 45px;
  transition: padding 0.4s cubic-bezier(0.4, 0, 0.2, 1),
    opacity 0.4s ease;
}

.zwc-team-image {
  flex-shrink: 0;
  overflow: hidden;
  border-radius: 8px;
  transition: width 0.5s cubic-bezier(0.4, 0, 0.2, 1),
    transform 0.5s cubic-bezier(0.4, 0, 0.2, 1),
    opacity 0.4s ease;
}

.zwc-team-card.active .zwc-team-image {
  animation: imageReveal 0.6s cubic-bezier(0.4, 0, 0.2, 1) forwards;
}

@keyframes imageReveal {
  0% {
    opacity: 0.5;
    transform: scale(0.95) translateX(-10px);
  }

  100% {
    opacity: 1;
    transform: scale(1) translateX(0);
  }
}

.zwc-team-image img {
  width: 250px;
  height: auto;
  display: block;
  transition: transform 0.4s ease;
}


.zwc-team-details {
  max-width: 340px;
  display: none;
  flex-direction: column;
  justify-content: center;
  opacity: 0;
  transform: translateX(20px);
}

.zwc-team-card.active .zwc-team-details {
  display: flex;
  animation: detailsSlideIn 0.5s cubic-bezier(0.4, 0, 0.2, 1) 0.15s forwards;
}

@keyframes detailsSlideIn {
  0% {
    opacity: 0;
    transform: translateX(20px);
  }

  100% {
    opacity: 1;
    transform: translateX(0);
  }
}

.zwc-team-card-header h4 {
  text-align: center;
  font-size: 18px;
}

.zwc-team-details h4 {
  font-family: var(--primaryfont-semibold);
  font-size: 28px;
  color: #ffffff;
  line-height: 1.2;
  letter-spacing: -0.44px;
  margin: 0 0 16px 0;
  position: relative;
  opacity: 0;
  animation: fadeSlideUp 0.4s cubic-bezier(0.4, 0, 0.2, 1) 0.2s forwards;
}

.zwc-team-details h4::before {
  content: "";
  top: 0;
  left: -20px;
  height: 0;
  width: 2px;
  background: linear-gradient(180deg, #ff6c3b 0%, #f60 100%);
  position: absolute;
  animation: lineGrow 0.4s cubic-bezier(0.4, 0, 0.2, 1) 0.3s forwards;
}

@keyframes lineGrow {
  0% {
    height: 0;
  }

  100% {
    height: 100%;
  }
}

@keyframes fadeSlideUp {
  0% {
    opacity: 0;
    transform: translateY(10px);
  }

  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

.zwc-team-details p {
  font-family: var(--primaryfont-regular);
  font-size: 16px;
  color: #e0e0e0;
  line-height: 1.55;
  letter-spacing: -0.16px;
  margin: 0 0 20px 0;
  opacity: 0;
}

.zwc-team-card.active .zwc-team-details p:nth-child(2) {
  animation: fadeSlideUp 0.4s cubic-bezier(0.4, 0, 0.2, 1) 0.35s forwards;
}

.zwc-team-card.active .zwc-team-details p:nth-child(3) {
  animation: fadeSlideUp 0.4s cubic-bezier(0.4, 0, 0.2, 1) 0.45s forwards;
}

.zwc-team-details p:last-child {
  margin-bottom: 0;
}

/* Active Card Styles */
.zwc-team-card.active {
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  align-items: center;
  box-shadow: 0 15px 40px rgba(0, 0, 0, 0.3);
  z-index: 2;
  transition: flex 0.2s ease-out,
    width 0.2s ease-out,
    background-color 0.25s ease,
    opacity 0.15s ease-out,
    transform 0.25s ease-out,
    box-shadow 0.15s ease;
}

.zwc-team-card.active .zwc-team-card-header {
  display: none;
  opacity: 0;
  transform: scale(0.95);
}

.zwc-team-card.active .zwc-team-image {
  width: 250px;
}

/* Dim non-active cards with smooth transition */
.zwc-team-card:not(.active) {
  opacity: 0.85;
}

.zwc-team-card:not(.active):hover {
  opacity: 1;
}

.zwc-team-card:not(.active) h4 {
  font-family: var(--zf-secondary-regular);
}

/* ===================================
   Tests Section
   =================================== */

.zwc-tests-wrapper {
  background-color: #0f0c0c;
  padding: 72px 0;
  position: relative;
}

.zwc-drop-down {
  padding-left: 10px;
  position: relative;
  width: fit-content;
}

.zwc-drop-down::after {
  content: "";
  position: absolute;
  width: clamp(12px, 1.3vw, 20px);
  height: clamp(12px, 1.3vw, 20px);
  transform: rotate(135deg);
  top: clamp(4px, 1vw, 15px);
  right: clamp(-34px, -3.5vw, -28px);
  border-top: 3px solid #ff6c3b;
  border-right: 3px solid #ff6c3b;
  transition: 0.4s;
}

.zwc-tests-wrapper .content-wrap {
  max-width: 1257px;
  margin: 0 auto;
  position: relative;
  z-index: 1;
}

.zwc-tests-content h2 {
  font-family: var(--primaryfont-medium);
  font-size: 48px;
  color: #ffffff;
  line-height: 1.2;
  letter-spacing: -1.44px;
  text-align: center;
  margin: auto auto 80px;
  max-width: 68%;
}

.zwc-tests-content h2 .zwc-drop-down {
  color: #ff6c3b;
  width: fit-content;
}

/* Dropdown Wrapper */
.zwc-drop-down-wrapper {
  position: relative;
  display: inline-block;
  cursor: pointer;
}

.zwc-drop-down-wrapper.active .zwc-drop-down::after {
  transform: rotate(-45deg);
  top: 20px;
}

/* Dropdown Menu */
.zwc-drop-down-menu {
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  background: #1a1717;
  border: 1px solid #333;
  border-radius: 8px;
  list-style: none;
  padding: 8px 0;
  margin: 10px 0 0 0;
  min-width: 280px;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s, visibility 0.3s;
  z-index: 100;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
}

.zwc-drop-down-wrapper.active .zwc-drop-down-menu {
  opacity: 1;
  visibility: visible;
}

.zwc-drop-down-menu li {
  padding: 12px 20px;
  font-size: 18px;
  color: #ffffff;
  cursor: pointer;
  transition: background 0.2s, color 0.2s;
}

.zwc-drop-down-menu li:hover {
  background: #2a2525;
  color: #ff6c3b;
}

.zwc-drop-down-menu li.active {
  color: #ff6c3b;
  background: #2a2525;
}

/* Show/Hide Test Showcases */
.zwc-tests-showcase {
  display: none;
}

.zwc-tests-showcase.active {
  display: flex;
  gap: clamp(30px, 6vw, 70px);
  align-items: flex-start;
}

.zwc-test-description {
  max-width: 30%;
  margin: auto;
}

.zwc-tests-wrapper::after {
  content: "";
  height: 100%;
  width: 95%;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  position: absolute;
  border-radius: 16px;
  border: 1px solid rgba(62, 27, 4, 0);
  background: #140f0f;
  border-image: linear-gradient(90deg,
      #3e1b0400 0%,
      #3e1b04 50%,
      #3e1b0400 100%) 1;
}

.zwc-test-description h3 {
  font-family: var(--primaryfont-semibold);
  font-size: 28px;
  color: #ffffff;
  line-height: 1.2;
  letter-spacing: -0.84px;
  margin: 0 0 18px 0;
}

.zwc-test-description p {
  font-family: var(--primaryfont-regular);
  font-size: 16px;
  color: #ffffff;
  line-height: 1.5;
  letter-spacing: -0.16px;
  margin: 0;
}

.zwc-product-card img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 8px;
}

/* ===================================
   Bottom CTA Section
   =================================== */

.zwc-bottom-cta-wrap {
  background-color: #0f0c0c;
  padding: 120px 0;
  position: relative;
  overflow: hidden;
}

.zwc-bottom-cta-wrap .content-wrap {
  max-width: 1600px;
  margin: 0 auto;
}

.zwc-cta-content {
  text-align: center;
}

.zwc-cta-content h1,
.zwc-cta-content h2 {
  font-family: var(--primaryfont-medium);
  font-size: 52px;
  color: #ffffff;
  line-height: 1;
  letter-spacing: -1.8px;
  margin: 0 0 20px 0;
}

.zwc-cta-content>p {
  /* font-family: var(--primaryfont-regular); */
  /* font-size: 26px; */
  color: #ffffff;
  line-height: 1;
  letter-spacing: -0.52px;
  margin: 0 0 52px 0;
}

.zwc-cta-content .zwc-button-group {
  justify-content: center;
}

.zwc-test-visual {
  width: 40%;
}

/* ===================================
   Responsive Styles
   =================================== */

/* Global responsive container */
/* .content-wrap {
  padding: 0 20px;
  box-sizing: border-box;
} */

/* Large Desktop (1400px and above) */
@media screen and (min-width: 1400px) {
  /* .content-wrap {
    padding: 0 40px;
  } */

  .zwc-tests-wrapper::after {
    width: 85%;
  }
}


/* Large Tablet (992px - 1199px) */
@media screen and (max-width: 1199px) {
  .zwc-banner-wrap {
    padding: 80px 0;
  }

  .zwc-banner-content {
    gap: 40px;
  }

  .zwc-text-section {
    max-width: 480px;
  }

  .zwc-text-section h1 {
    font-size: 42px;
  }

  .zwc-hero-visual {
    max-width: 500px;
  }

  .zwc-hero-visual video {
    width: 100%;
    height: auto;
  }

  .zwc-feature-showcase {
    gap: 60px;
  }

  .zwc-visual-demo {
    width: 500px;
    padding: 40px;
  }

  .zwc-section-header {
    margin-bottom: 60px;
  }

  .zwc-section-header h2 {
    font-size: 40px;
  }

  .zwc-feature-details>p {
    margin-bottom: 80px;
  }

  .zwc-experiments-content h2 {
    font-size: 40px;
  }

  .zwc-sticky-container {
    gap: 50px;
  }

  .zwc-panel-text h3 {
    font-size: 28px;
  }

  .zwc-teams-content h2 {
    font-size: 40px;
    margin-bottom: 60px;
  }

  .zwc-tests-content h2 {
    font-size: 40px;
    max-width: 80%;
  }

  .zwc-tests-showcase {
    gap: 60px;
  }

  .zwc-cta-content h1,
  .zwc-cta-content h2 {
    font-size: 44px;
  }

  .zwc-cta-content>p {
    font-size: 22px;
  }
}

@media screen and (min-width: 991px) {
  .zwc-experiments-wrapper {
    padding-bottom: 0;
  }

  .zwc-teams-wrapper {
    padding-top: 50px;
    margin-top: clamp(-350px, -30vw, -150px);
  }
}

/* Tablet (768px - 991px) */
@media screen and (max-width: 991px) {
  .zwc-feature-wrapper .content-wrap {
    max-width: 700px;
  }

  .zwc-banner-wrap {
    padding: 60px 0;
  }

  .zwc-banner-content {
    flex-direction: column;
    gap: 40px;
    text-align: center;
  }

  .zwc-text-section {
    max-width: 100%;
  }

  .zwc-text-section h1 {
    font-size: 36px;
  }

  .zwc-text-section p {
    margin-bottom: 30px;
  }

  .zwc-button-group {
    justify-content: center;
  }

  .zwc-text-section {
    max-width: 70%;
  }

  .zwc-hero-visual {
    max-width: 100%;
    display: flex;
    justify-content: center;
  }

  .zwc-hero-visual video {
    width: 100%;
    max-width: 500px;
    height: auto;
  }

  /* Feature Section */
  /* .zwc-feature-wrapper, */
  .zwc-feature-con {
    padding: 60px 0;
  }

  .zwc-feature-con::after {
    width: 95%;
  }

  .zwc-section-header {
    max-width: 100%;
    margin-bottom: 50px;
  }

  .zwc-section-header h2 {
    font-size: 34px;
  }

  .zwc-feature-showcase {
    flex-direction: column;
    gap: 40px;
  }

  .zwc-visual-demo {
    max-width: 100%;
    width: 100%;
    min-height: auto;
    padding: 30px;
    order: 1;
  }

  .zwc-visual-demo video {
    width: 100%;
    height: auto;
  }

  .zwc-feature-image {
    position: relative;
    display: none;
  }

  .zwc-feature-image.active {
    display: block;
  }

  .zwc-feature-details {
    max-width: 100%;
    order: 2;
  }

  .zwc-feature-details>p {
    margin-bottom: 40px;
    text-align: center;
  }

  .zwc-feature-pause-btn {
    top: -50px;
  }

  /* Show video inside feature items on tablet */
  .zwc-visual-demo {
    display: none;
  }

  .zwc-feature-item-video {
    display: grid;
    grid-template-rows: 0fr;
    opacity: 0;
    margin: 0;
    overflow: hidden;
  }

  .zwc-feature-item.active .zwc-feature-item-video {
    grid-template-rows: 1fr;
    opacity: 1;
    margin: 20px 0;
  }

  /* Experiments Section */
  .zwc-experiments-wrapper {
    padding: 60px 0;
  }

  .zwc-experiments-content h2 {
    font-size: 32px;
    margin-bottom: 40px;
  }

  .zwc-sticky-container {
    min-height: 300vh;
  }

  .zwc-sticky-nav {
    gap: 8px;
  }

  .zwc-nav-item {
    padding: 12px 20px;
  }

  .zwc-sticky-nav {
    display: none;
  }

  .zwc-scroll-panels {
    width: 100%;
    gap: 40px;
    max-width: 750px;
    margin: auto;
  }

  .zwc-panel-visual img {
    margin: 0 auto;
  }

  .zwc-scroll-panel,
  .zwc-scroll-panel:last-child {
    position: relative;
    top: auto;
    flex-direction: column;
    gap: 30px;
    padding: 40px 30px;
    background: #1a1313;
    border-radius: 20px;
    transform: none;
    opacity: 1;
    margin-bottom: 0;
  }

  .zwc-scroll-panel.passed {
    transform: none;
    opacity: 1;
  }

  .zwc-scroll-panels {
    gap: 24px;
  }

  .zwc-panel-text,
  .zwc-panel-visual {
    width: 100%;
  }

  .zwc-panel-text ul li {
    text-align: start;
  }

  .zwc-panel-text {
    text-align: center;
  }

  .zwc-panel-text h3 {
    font-size: 26px;
    margin-bottom: 30px;
  }

  /* .zwc-panel-visual {
    max-width: 100%;
  } */

  .zwc-environment-panel {
    max-width: 100%;
  }

  /* Teams Section */
  .zwc-teams-wrapper {
    padding: 60px 0;
  }

  .zwc-teams-content h2 {
    font-size: 32px;
    margin-bottom: 50px;
  }

  .zwc-teams-showcase {
    flex-direction: column;
    gap: 12px;
    perspective: none;
  }

  .zwc-teams-showcase .zwc-team-card {
    flex: none;
    width: 100%;
    border-radius: 12px;
    transform: none;
    box-shadow: none;
  }

  .zwc-teams-showcase .zwc-team-card:first-child,
  .zwc-teams-showcase .zwc-team-card:last-child {
    border-radius: 12px;
  }

  .zwc-teams-showcase .zwc-team-card:hover:not(.active) {
    transform: none;
    box-shadow: none;
  }

  .zwc-teams-showcase .zwc-team-card.active {
    flex: none;
    width: 100%;
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.25);
  }

  .zwc-team-card-header {
    padding: 20px 24px;
    display: block;
  }

  .zwc-team-card.active .zwc-team-card-header {
    display: none;
  }

  .zwc-team-card-body {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.5s cubic-bezier(0.4, 0, 0.2, 1);
  }

  .zwc-team-card.active .zwc-team-card-body {
    max-height: 600px;
  }

  /* Reset opacity animations for tablet - simpler approach */
  .zwc-team-card:not(.active) {
    opacity: 1;
  }

  .zwc-team-card-body-inner {
    gap: 24px;
    padding: 20px 24px;
    align-items: center;
  }

  .zwc-team-image {
    display: flex;
    justify-content: center;
  }

  .zwc-team-image img {
    width: 100%;
    max-width: 280px;
  }

  .zwc-team-details {
    max-width: 60%;
  }

  .zwc-team-details h4::before {
    display: none;
  }

  /* Disable hover effects on tablet */
  .zwc-teams-showcase:hover .zwc-team-card.active,
  .zwc-teams-showcase .zwc-team-card:hover {
    flex: none;
    width: 100%;
    transform: none;
    box-shadow: none;
  }

  .zwc-teams-showcase:hover .zwc-team-card:not(:hover) {
    opacity: 1;
  }

  /* Tests Section */
  .zwc-tests-wrapper {
    padding: 60px 0;
  }

  .zwc-tests-wrapper::after {
    width: 95%;
  }

  .zwc-tests-content h2 {
    font-size: 32px;
    max-width: 100%;
    margin-bottom: 50px;
    display: flex;
    flex-direction: column;
  }

  .zwc-tests-showcase {
    flex-direction: column;
    gap: 40px;
    align-items: center;
  }

  .zwc-test-description {
    width: 100%;
    text-align: center;
    max-width: 650px;
  }

  .zwc-test-visual {
    width: 100%;
    display: flex;
    justify-content: center;
  }

  .zwc-product-card {
    max-width: 500px;
  }

  .zwc-product-card img {
    width: 100%;
    height: auto;
  }

  /* CTA Section */
  .zwc-bottom-cta-wrap {
    padding: 80px 0;
  }

  .zwc-cta-content h1,
  .zwc-cta-content h2 {
    font-size: 36px;
  }

  .zwc-cta-content>p {
    font-size: 18px;
    margin-bottom: 40px;
  }
}

/* Mobile Large (576px - 767px) */
@media screen and (max-width: 767px) {
  .zwc-banner-wrap {
    padding: 50px 0;
  }

  .zwc-banner-wrap::after {
    background-position: center;
  }

  .zwc-text-section p.zwc-banner-label {
    font-size: 16px;
    margin-bottom: 16px;
  }

  .zwc-text-section h1 {
    font-size: 28px;
    letter-spacing: -0.5px;
  }

  .zwc-text-section>p {
    font-size: 15px;
    line-height: 1.6;
  }

  .zwc-button-group {
    flex-direction: column;
    width: 100%;
    gap: 10px;
  }

  .zwc-button-group .act-btn {
    text-align: center;
    padding: 14px 24px;
  }

  .zwc-text-section {
    max-width: 100%;
  }

  .zwc-scroll-panel {
    gap: 24px;
    padding: 30px 20px;
  }

  .zwc-team-card-body-inner {
    flex-direction: column;
  }

  .zwc-hero-visual video {
    max-width: 100%;
  }

  /* Feature Section */
  /* .zwc-feature-wrapper {
    padding: 50px 0;
  } */

  .zwc-feature-con::after {
    width: 100%;
    border-radius: 0;
  }

  .zwc-section-header {
    margin-bottom: 40px;
  }

  .zwc-section-header h2 {
    font-size: 26px;
    letter-spacing: -0.5px;
  }

  .zwc-section-header>p {
    font-size: 15px;
  }

  .zwc-visual-demo {
    padding: 20px;
    border-radius: 8px;
  }

  .zwc-feature-details>p {
    font-size: 15px;
    max-width: 600px;
    margin: 0 auto 30px;
  }

  .zwc-feature-list {
    padding-left: 0px;
    gap: 24px;
    border: 0px;
  }

  .zwc-feature-item::after,
  .zwc-feature-item::before {
    left: -25px;
  }

  .zwc-feature-item h3 {
    font-size: 18px;
    color: #ffffff;
  }

  .zwc-feature-item p {
    font-size: 14px;
    display: block;
    grid-template-rows: unset;
    overflow: visible;
    opacity: 1;
    margin: 0;
  }

  /* Show video inside feature items on mobile */
  .zwc-visual-demo {
    display: none;
  }

  .zwc-feature-item-video {
    display: block;
    max-height: 100%;
    opacity: 1;
    margin: 0;
  }

  .zwc-feature-item .zwc-feature-item-video {
    margin: 20px 0px;
  }

  /* .zwc-feature-item.active .zwc-feature-item-video {
    max-height: 400px;
    opacity: 1;
    margin: 16px 0;
  } */

  /* Experiments Section */
  .zwc-experiments-wrapper {
    padding: 50px 0;
  }

  .zwc-experiments-content h2 {
    font-size: 26px;
    margin-bottom: 30px;
  }

  .zwc-panel-text h3 {
    font-size: 22px;
  }

  .zwc-panel-text p {
    font-size: 15px;
  }

  .zwc-environment-panel {
    padding: 30px 20px;
  }

  .zwc-panel-header {
    margin-bottom: 20px;
  }

  .zwc-environment-panel>p {
    margin-bottom: 30px;
  }

  .zwc-environment-item {
    padding: 12px 16px;
    gap: 12px;
  }

  .zwc-environment-item .name {
    flex: 1;
  }

  .zwc-environment-item .key {
    font-size: 12px;
  }

  /* Teams Section */
  .zwc-teams-wrapper {
    padding: 50px 0;
  }

  .zwc-teams-content h2 {
    font-size: 26px;
    margin-bottom: 40px;
  }

  .zwc-team-card-header {
    padding: 16px 20px;
  }

  .zwc-team-card-header h4 {
    font-size: 16px;
  }

  .zwc-team-card-body-inner {
    padding: 16px 20px;
  }

  .zwc-team-details h4 {
    font-size: 22px;
    opacity: 1;
    animation: none;
  }

  .zwc-team-details h4::before {
    display: none;
  }

  .zwc-team-details p {
    font-size: 14px;
    opacity: 1;
    animation: none;
  }

  .zwc-team-card.active .zwc-team-details {
    animation: none;
    opacity: 1;
    transform: none;
  }

  .zwc-team-card.active .zwc-team-image {
    animation: none;
  }

  /* Tests Section */
  .zwc-tests-wrapper {
    padding: 50px 0;
  }

  .zwc-tests-wrapper::after {
    width: 100%;
    border-radius: 0;
  }

  .zwc-tests-content h2 {
    font-size: 26px;
    margin-bottom: 40px;
  }

  .zwc-test-description h3 {
    font-size: 22px;
  }

  .zwc-test-description p {
    font-size: 14px;
  }

  /* CTA Section */
  .zwc-bottom-cta-wrap {
    padding: 60px 0;
  }

  .zwc-cta-content h1,
  .zwc-cta-content h2 {
    font-size: 28px;
    line-height: 1.2;
  }

  .zwc-cta-content>p {
    font-size: 16px;
    line-height: 1.5;
    margin-bottom: 32px;
  }

  .zwc-team-details {
    max-width: 100%;
    display: block;
    opacity: 1;
  }

  .zwc-team-card-body {
    max-height: 100%;
  }

  .content-wrap,
  .zwc-banner-wrap .content-wrap,
  /* .zwc-feature-wrapper .content-wrap, */
  .zwc-experiments-wrapper .content-wrap,
  .zwc-teams-wrapper .content-wrap,
  .zwc-bottom-cta-wrap .content-wrap,
  .zwc-tests-wrapper .content-wrap {
    max-width: 550px;
  }

  .zwc-team-card-header {
    display: none;
  }

  .zwc-team-card-body-inner {
    flex-direction: column-reverse;
  }

  .zwc-team-card {
    text-align: center;
  }

  .zwc-feature-item.no-animation::before,
  .zwc-feature-item.active::after,
  .zwc-feature-pause-btn {
    display: none;
  }
}

/* Mobile Small (375px and below) */
@media screen and (max-width: 375px) {
  /* .content-wrap {
    padding: 0 16px;
  } */

  .zwc-text-section h1 {
    font-size: 24px;
  }

  .zwc-text-section>p {
    font-size: 14px;
  }

  .zwc-section-header h2 {
    font-size: 22px;
  }

  .zwc-experiments-content h2 {
    font-size: 22px;
  }

  .zwc-nav-item {
    padding: 8px 10px;
    font-size: 12px;
  }

  .zwc-teams-content h2 {
    font-size: 22px;
  }

  .zwc-tests-content h2 {
    font-size: 22px;
  }

  .zwc-cta-content h1,
  .zwc-cta-content h2 {
    font-size: 24px;
  }

  .zwc-cta-content>p {
    font-size: 14px;
  }

  .zwc-environment-item {
    padding: 10px 12px;
  }

  .zwc-environment-item .icon {
    font-size: 14px;
  }

  .zwc-environment-item .name {
    font-size: 13px;
  }

  .zwc-environment-item .key {
    font-size: 11px;
  }
}

/* Landscape orientation adjustments */
@media screen and (max-height: 500px) and (orientation: landscape) {
  .zwc-banner-wrap {
    padding: 40px 0;
  }

  .zwc-banner-content {
    flex-direction: row;
    align-items: center;
  }

  .zwc-text-section {
    max-width: 50%;
    text-align: left;
  }

  .zwc-hero-visual {
    max-width: 45%;
  }

  .zwc-button-group {
    flex-direction: row;
    justify-content: flex-start;
  }
}

/* High resolution displays */
@media screen and (-webkit-min-device-pixel-ratio: 2),
screen and (min-resolution: 192dpi) {

  .zwc-hero-visual video,
  .zwc-visual-demo video,
  .zwc-product-card img,
  .zwc-team-image img {
    image-rendering: -webkit-optimize-contrast;
  }
}