/* ================================================= */
/* =============== WINZIN DESIGN SYSTEM ============= */
/* ================================================= */

:root{
  --wz-ink:#14262b;
  --wz-heading:#102226;
  --wz-body:#60727d;
  --wz-muted:#8b9aa4;

  --wz-bg:#f7fafc;
  --wz-bg-soft:#eef5f8;
  --wz-card:#ffffff;
  --wz-border:rgba(196,210,218,.62);

  --wz-accent:#1f5f55;
  --wz-accent-dark:#123b36;
  --wz-accent-soft:#dcefeb;

  --wz-cta:#26363d;
  --wz-cta-hover:#17262c;

  --wz-radius:14px;
  --wz-radius-btn:9px;

  --wz-shadow:0 14px 36px rgba(18,36,43,.07);
  --wz-shadow-hover:0 20px 50px rgba(18,36,43,.12);

  --wz-section-y:112px;
  --wz-gap:64px;
}


/* ================================================= */
/* ================= GLOBAL BASE ==================== */
/* ================================================= */

html{
  scroll-behavior:smooth;
}

body{
  font-family:Inter,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  background:var(--wz-bg) !important;
  color:var(--wz-body);
}


/* Motion accessibility */

@media (prefers-reduced-motion:reduce){
  *{
    animation:none !important;
    transition:none !important;
    scroll-behavior:auto !important;
  }
}


/* Prevent Nyssa heading colour inheritance */

h1,
h2,
h3,
h4,
h5,
h6,
.winzin-a1 h2,
.winzin-success-left h2,
.winzin-card h3,
.a1-card h3,
.winzin-a4 .a4-heading,
.winzin-a5 .a5-heading,
.winzin-a5 label{
  color:var(--wz-heading) !important;
}


/* Case-study links */

.case-link,
a.case-link{
  color:var(--wz-accent) !important;
}


/* Remove unwanted WPBakery row decoration */

.vc_row,
.wpb_row,
.vc_section{
  border:0 !important;
  box-shadow:none !important;
}


/* Shared container */

.winzin-container{
  width:100%;
  max-width:1240px;
  margin:auto;
  padding-left:6%;
  padding-right:6%;
  position:relative;
}


/* ================================================= */
/* ============== SHARED LIGHT SECTIONS ============= */
/* ================================================= */

.winzin-hero,
.winzin-a1,
.winzin-a2,
.winzin-a4,
.winzin-a5{
  background:
    radial-gradient(
      900px 620px at 14% 38%,
      rgba(218,237,249,.68) 0%,
      rgba(218,237,249,0) 68%
    ),
    radial-gradient(
      820px 560px at 88% 48%,
      rgba(255,229,211,.34) 0%,
      rgba(255,229,211,0) 70%
    ),
    linear-gradient(
      135deg,
      #f8fbfd 0%,
      #f4f8fb 100%
    ) !important;
}

.winzin-a1,
.winzin-a2,
.winzin-a4,
.winzin-a5{
  margin-top:-1px;
}


/* ================================================= */
/* ================= BUTTON SYSTEM ================== */
/* ================================================= */

.btn-primary,
.btn-secondary,
.winzin-btn,
.winzin-a4 .a4-btn,
.winzin-a5 input[type="submit"],
.winzin-a3 .wz-a3-cta .vc_btn3,
.winzin-a3 .wz-a3-cta.vc_btn3{
  display:inline-block;
  border-radius:var(--wz-radius-btn) !important;
  font-size:15px !important;
  font-weight:650 !important;
  padding:14px 24px !important;
  line-height:1.2 !important;
  text-decoration:none !important;
  cursor:pointer;

  transition:
    transform .22s ease,
    box-shadow .22s ease,
    background .22s ease,
    border-color .22s ease,
    color .22s ease !important;
}


/* Primary */

.btn-primary,
.winzin-a5 input[type="submit"]{
  background:var(--wz-cta) !important;
  color:#fff !important;
  border:1px solid var(--wz-cta) !important;
}

.btn-primary:hover,
.winzin-a5 input[type="submit"]:hover{
  background:var(--wz-cta-hover) !important;
  color:#fff !important;
  transform:translateY(-2px);
  box-shadow:0 14px 34px rgba(18,36,43,.18);
}


/* Secondary */

.btn-secondary,
.winzin-btn,
.winzin-a4 .a4-btn{
  background:#fff !important;
  color:var(--wz-heading) !important;
  border:1px solid var(--wz-border) !important;
}

.btn-secondary:hover,
.winzin-btn:hover,
.winzin-a4 .a4-btn:hover{
  background:#f2f7f8 !important;
  color:var(--wz-heading) !important;
  border-color:rgba(31,95,85,.35) !important;
  transform:translateY(-2px);
  box-shadow:var(--wz-shadow);
}


/* ================================================= */
/* ==================== HERO A0 ===================== */
/* ================================================= */

.winzin-hero{
  position:relative;
  width:100%;
  min-height:720px;
  height:100vh;
  display:flex;
  align-items:center;
  overflow:hidden;
}

.winzin-hero-bg{
  position:absolute;
  inset:0;
  overflow:hidden;
  z-index:1;
  pointer-events:none;
}

.winzin-hero-bg::before{
  content:"";
  position:absolute;

  width:1300px;
  height:850px;

  top:50%;
  left:18%;

  transform:translate(-42%,-50%);

  background:
    radial-gradient(
      circle at 45% 50%,
      rgba(255,255,255,.9) 0%,
      rgba(226,242,255,.52) 45%,
      rgba(226,242,255,0) 72%
    );

  animation:heroFloat1 18s ease-in-out infinite alternate;
}

.winzin-hero-bg::after{
  content:"";
  position:absolute;

  width:1100px;
  height:760px;

  top:45%;
  right:8%;

  transform:translate(38%,-50%);

  background:
    radial-gradient(
      circle at 50% 50%,
      rgba(255,218,195,.34) 0%,
      rgba(255,218,195,0) 68%
    );

  animation:heroFloat2 22s ease-in-out infinite alternate;
}


@keyframes heroFloat1{
  0%{
    transform:translate(-42%,-50%) scale(1);
  }

  100%{
    transform:translate(-35%,-53%) scale(1.05);
  }
}


@keyframes heroFloat2{
  0%{
    transform:translate(38%,-50%) scale(1);
  }

  100%{
    transform:translate(30%,-47%) scale(1.07);
  }
}


.hero-content{
  position:relative;
  z-index:2;
  max-width:680px;
}


.hero-pill,
.a1-pill{
  display:inline-block;

  padding:9px 17px;
  margin-bottom:22px;

  border-radius:40px;
  border:1px solid rgba(200,215,230,.42);

  background:rgba(233,241,251,.78);

  color:#566874;
  font-size:13px;
  line-height:1;
}


.winzin-hero h1{
  margin-bottom:22px;

  font-size:clamp(44px,5vw,64px);
  line-height:1.06;
  letter-spacing:-1.5px;
  font-weight:700;
}


.hero-sub{
  max-width:540px;
  margin-bottom:30px;

  color:var(--wz-body);

  font-size:17px;
  line-height:1.72;
}


.hero-buttons{
  display:flex;
  gap:14px;
  flex-wrap:wrap;
}


/* ================================================= */
/* =================== SECTION A1 =================== */
/* ================================================= */

.winzin-a1{
  position:relative;
  padding:var(--wz-section-y) 0;
  overflow:hidden;
}


.winzin-a1-container{
  max-width:1240px;
  margin:auto;
  padding:0 6%;

  display:grid;
  grid-template-columns:1.04fr .96fr;
  gap:var(--wz-gap);
  align-items:flex-start;
}


.a1-left{
  max-width:560px;
}


.winzin-a1 h2{
  margin-bottom:20px;

  font-size:clamp(34px,3.4vw,44px);
  line-height:1.18;
  letter-spacing:-.6px;
  font-weight:700;
}


.a1-text{
  color:var(--wz-body);
  font-size:16.5px;
  line-height:1.75;
}


.a1-right{
  display:flex;
  flex-direction:column;
  gap:18px;
}


/* Shared A1 / A2 cards */

.a1-card,
.winzin-card{
  background:var(--wz-card);

  border:1px solid var(--wz-border);
  border-radius:var(--wz-radius);

  box-shadow:var(--wz-shadow);

  transition:
    transform .22s ease,
    box-shadow .22s ease,
    border-color .22s ease;
}


.a1-card{
  padding:28px 30px;
}


.a1-card:hover,
.winzin-card:hover{
  transform:translateY(-3px);
  box-shadow:var(--wz-shadow-hover);
  border-color:rgba(31,95,85,.22);
}


.a1-card h3{
  margin-bottom:10px;

  font-size:22px;
  line-height:1.28;
  font-weight:700;
}


.a1-card p{
  margin:0;

  color:var(--wz-body);

  font-size:15.5px;
  line-height:1.68;
}


/* A1 scroll arrow */

.a1-arrow{
  position:relative;

  display:flex;
  flex-direction:column;
  align-items:center;

  width:22px;
  height:50px;

  margin-top:34px;

  color:#9aa6b1;
  text-decoration:none;
}


.a1-arrow::before{
  content:"";

  position:absolute;
  top:0;

  width:1px;
  height:25px;

  background:
    linear-gradient(
      to bottom,
      rgba(124,135,146,0),
      rgba(124,135,146,.55)
    );
}


.a1-arrow svg{
  margin-top:24px;
  opacity:.75;
  animation:scrollFloat 2.2s ease-in-out infinite;
}


@keyframes scrollFloat{
  0%{
    transform:translateY(0);
    opacity:.58;
  }

  45%{
    transform:translateY(7px);
    opacity:1;
  }

  100%{
    transform:translateY(0);
    opacity:.58;
  }
}


/* ================================================= */
/* =================== SECTION A2 =================== */
/* ================================================= */

.winzin-a2{
  position:relative;
  padding:var(--wz-section-y) 0;
  overflow:hidden;
}


.winzin-a2::before,
.winzin-a2::after{
  content:"";

  position:absolute;
  inset:-35%;

  pointer-events:none;

  filter:blur(92px);
  opacity:.55;

  animation:drift 24s ease-in-out infinite alternate;
}


.winzin-a2::before{
  background:
    radial-gradient(
      circle at 5% 42%,
      rgba(210,230,255,.42) 0%,
      transparent 66%
    );
}


.winzin-a2::after{
  background:
    radial-gradient(
      circle at 100% 46%,
      rgba(255,210,170,.22) 0%,
      transparent 70%
    );

  animation-duration:30s;
  mix-blend-mode:multiply;
}


.winzin-a2 .grain{
  position:absolute;
  inset:0;

  pointer-events:none;
  opacity:.03;

  background-image:
    url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='0.6'/%3E%3C/svg%3E");
}


@keyframes drift{
  0%{
    transform:translate(0%,0%) scale(1);
  }

  50%{
    transform:translate(2.5%,-1.8%) scale(1.035);
  }

  100%{
    transform:translate(-2.5%,2%) scale(1);
  }
}


.winzin-success-container{
  position:relative;
  z-index:2;

  max-width:1240px;
  margin:auto;
  padding:0 6%;

  display:grid;
  grid-template-columns:1.04fr .96fr;
  gap:var(--wz-gap);
  align-items:flex-start;
}


.winzin-success-left{
  max-width:560px;
}


.winzin-success-left h2{
  margin-bottom:20px;

  font-size:clamp(34px,3.4vw,44px);
  line-height:1.18;
  letter-spacing:-.6px;
  font-weight:700;
}


.winzin-success-left p{
  margin-bottom:18px;

  color:var(--wz-body);

  font-size:16.5px;
  line-height:1.75;
}


.winzin-success-left .impact{
  margin-bottom:0;
  font-weight:650;
}


.winzin-btn{
  margin-top:28px;
}


.winzin-success-right{
  position:relative;
}


.winzin-rotator{
  position:relative;
  min-height:360px;
}


.winzin-card{
  display:none;

  max-width:520px;
  padding:32px 34px;
}


.winzin-card.active{
  display:block;
  animation:cardFade .35s ease both;
}


@keyframes cardFade{
  0%{
    opacity:0;
    transform:translateY(8px);
  }

  100%{
    opacity:1;
    transform:translateY(0);
  }
}


.winzin-card .category{
  margin-bottom:12px;

  color:#9894a0;

  font-size:12px;
  letter-spacing:.08em;
  text-transform:uppercase;
}


.winzin-card h3{
  margin-bottom:12px;

  font-size:23px;
  line-height:1.28;
  font-weight:700;
}


.winzin-card p{
  margin-bottom:14px;

  color:var(--wz-body);

  font-size:15.3px;
  line-height:1.68;
}


.winzin-card .metric{
  margin-bottom:16px;

  color:var(--wz-heading);

  font-size:15px;
  line-height:1.65;
  font-weight:650;
}


.soft-metrics{
  display:flex;
  flex-wrap:wrap;
  gap:10px;

  margin-bottom:18px;
}


.soft-metrics span{
  padding:7px 14px;

  background:#eef2f7;
  border-radius:30px;

  color:#4c5d68;
  font-size:12px;
}


.case-link{
  text-decoration:none;
  font-size:14px;
  font-weight:700;
}


.case-link:hover{
  text-decoration:underline;
}


/* A2 controls */

.winzin-controls{
  display:flex;
  align-items:center;
  gap:16px;

  margin-top:28px;
}


.winzin-controls button{
  width:42px;
  height:42px;

  border:1px solid #d6dee6;
  border-radius:50%;

  background:#fff;

  cursor:pointer;
  font-size:18px;

  transition:
    background .22s ease,
    transform .22s ease,
    box-shadow .22s ease;
}


.winzin-controls button:hover{
  background:#eef4fb;

  transform:translateY(-1px);

  box-shadow:0 8px 22px rgba(20,30,40,.08);
}


.winzin-counter{
  color:#9894a0;
  font-size:14px;
}


/* ================================================= */
/* =================== SECTION A3 =================== */
/* ================================================= */

.winzin-a3{
  position:relative;

  padding:110px 0;

  overflow:hidden;

  background:
    radial-gradient(
      900px 700px at 82% 46%,
      rgba(208,234,226,.22) 0%,
      rgba(208,234,226,0) 68%
    ),
    linear-gradient(
      135deg,
      #102426 0%,
      #1d5a51 52%,
      #6f9890 100%
    ) !important;
}


.winzin-a3::before{
  content:"";

  position:absolute;
  inset:-28%;

  pointer-events:none;

  background:
    radial-gradient(
      circle at 74% 36%,
      rgba(255,236,218,.20) 0%,
      transparent 46%
    ),
    radial-gradient(
      circle at 18% 70%,
      rgba(137,205,190,.18) 0%,
      transparent 48%
    );

  filter:blur(80px);
  opacity:.8;

  animation:a3Glow 28s ease-in-out infinite alternate;
}


@keyframes a3Glow{
  0%{
    transform:translate(0,0) scale(1);
  }

  100%{
    transform:translate(-2%,2%) scale(1.04);
  }
}


.winzin-a3 > *{
  position:relative;
  z-index:2;
}


/* A3 typography */

.winzin-a3 .wpb_text_column h2,
.winzin-a3 h2{
  color:#f7f4ee !important;

  font-size:clamp(34px,3.2vw,42px);
  line-height:1.18;
  letter-spacing:-.5px;
  font-weight:700;
}


.winzin-a3 .wpb_text_column p,
.winzin-a3 p{
  color:rgba(247,244,238,.82);

  font-size:16.2px;
  line-height:1.72;
}


/* Strong text on dark A3 content */

.winzin-a3 .a3-content strong{
  color:#fff;
  font-weight:700;
}


/* Strong text inside light accordion panels */

.winzin-a3 .vc_tta-panel-body strong{
  color:#39413f !important;
  font-weight:700;
}


.winzin-a3 .a3-list{
  margin-bottom:24px;
  padding-left:20px;
}


.winzin-a3 .a3-list li{
  margin-bottom:8px;

  color:rgba(247,244,238,.86);

  line-height:1.65;
}


.winzin-a3 .a3-list li::marker{
  color:#d7e8e2;
}


.a3-text:first-of-type{
  font-weight:500;
}


/* ================================================= */
/* ================= A3 CTA BUTTON ================== */
/* ================================================= */

/*
   The WPBakery button carries the custom Extra Class:
   wz-a3-cta

   This deliberately overrides Nyssa only for this CTA.
*/

.winzin-a3 .wz-a3-cta .vc_btn3,
.winzin-a3 .wz-a3-cta.vc_btn3{
  background:#f7f4ee !important;
  color:#174f47 !important;

  border:1px solid rgba(247,244,238,.85) !important;

  opacity:1 !important;
  box-shadow:none !important;
}


.winzin-a3 .wz-a3-cta .vc_btn3:hover,
.winzin-a3 .wz-a3-cta .vc_btn3:focus,
.winzin-a3 .wz-a3-cta.vc_btn3:hover,
.winzin-a3 .wz-a3-cta.vc_btn3:focus{
  background:#fff !important;
  color:#174f47 !important;

  border-color:#fff !important;

  opacity:1 !important;

  transform:translateY(-2px);

  box-shadow:0 12px 28px rgba(0,0,0,.10) !important;
}


/* ================================================= */
/* ================= A3 ACCORDION =================== */
/* ================================================= */

.winzin-a3 .accordion-1{
  position:relative;
}


.winzin-a3 .vc_tta-panel{
  margin-bottom:16px !important;

  background:#fbfaf7 !important;

  border:1px solid rgba(255,255,255,.65) !important;

  box-shadow:0 12px 32px rgba(0,0,0,.08);

  transition:
    transform .2s ease,
    box-shadow .2s ease,
    border-color .2s ease;
}


.winzin-a3 .vc_tta-panel:hover{
  transform:translateY(-2px);
  box-shadow:0 18px 42px rgba(0,0,0,.12);
}


.winzin-a3 .vc_tta-panel-heading{
  background:transparent !important;
  border:none !important;
}


.winzin-a3 .vc_tta-panel-title > a{
  padding:25px 28px !important;
  color:#1f4f47 !important;
}


.winzin-a3 .vc_tta-title-text{
  color:#1f4f47 !important;

  font-size:18px;
  font-weight:700;
}


.winzin-a3 .vc_tta-controls-icon,
.winzin-a3 .vc_tta-controls-icon::before,
.winzin-a3 .vc_tta-controls-icon::after{
  border-color:#1f4f47 !important;
  color:#1f4f47 !important;
}


.winzin-a3 .vc_tta-panel-body{
  padding:0 32px 32px 72px !important;

  background:#fbfaf7 !important;

  border:none !important;
}


.winzin-a3 .vc_tta-panel-body,
.winzin-a3 .vc_tta-panel-body p,
.winzin-a3 .vc_tta-panel-body span,
.winzin-a3 .vc_tta-panel-body li{
  color:#39413f !important;

  font-size:15.8px;
  line-height:1.68;
}


.winzin-a3 .vc_tta-panel.vc_active{
  box-shadow:0 20px 48px rgba(0,0,0,.13);
}

.winzin-a3 .a3-eyebrow{
  margin:0 0 16px;

  color:rgba(247,244,238,.62);

  font-size:12px;
  line-height:1.2;
  font-weight:650;
  letter-spacing:.09em;
  text-transform:uppercase;
}

/* ================================================= */
/* =================== SECTION A4 =================== */
/* ================================================= */

.winzin-a4{
  position:relative;

  padding:110px 20px;

  overflow:hidden;
}


.winzin-a4::before,
.winzin-a4::after{
  content:"";

  position:absolute;
  inset:-35%;

  pointer-events:none;

  filter:blur(90px);
  opacity:.48;

  animation:a4Drift 28s ease-in-out infinite alternate;
}


.winzin-a4::before{
  background:
    radial-gradient(
      circle at 20% 42%,
      rgba(210,230,255,.42) 0%,
      transparent 66%
    );
}


.winzin-a4::after{
  background:
    radial-gradient(
      circle at 82% 60%,
      rgba(255,220,200,.25) 0%,
      transparent 70%
    );

  animation-duration:34s;
  mix-blend-mode:multiply;
}


@keyframes a4Drift{
  0%{
    transform:translate(0%,0%) scale(1);
  }

  50%{
    transform:translate(2%,-2%) scale(1.035);
  }

  100%{
    transform:translate(-2%,2%) scale(1);
  }
}


/* Wider A4 canvas */

.winzin-a4 .a4-wrapper{
  position:relative;
  z-index:2;

  width:100%;
  max-width:1380px;

  margin:0 auto;
}


/* Rebalanced content / framework columns */

.winzin-a4 .a4-grid{
  display:grid;

  grid-template-columns:
    minmax(440px,.82fr)
    minmax(620px,1.18fr);

  gap:clamp(44px,4.5vw,72px);

  align-items:center;
}


/* Give the copy more breathing room */

.winzin-a4 .a4-content{
  width:100%;
  max-width:600px;
}


.winzin-a4 .a4-heading{
  margin:0 0 22px;

  font-size:clamp(36px,4vw,54px);
  line-height:1.08;
  letter-spacing:-.8px;
  font-weight:700;
}


.winzin-a4 .a4-subheading{
  margin:0 0 28px;

  color:var(--wz-body);

  font-size:17px;
  line-height:1.7;
}


.winzin-a4 .a4-text{
  width:100%;
  max-width:600px;
}


.winzin-a4 .a4-text p{
  margin:0 0 18px;

  color:var(--wz-body);

  font-size:16.5px;
  line-height:1.78;
}


.winzin-a4 .a4-btn{
  margin-top:26px;
}


/* Framework */

.winzin-a4 .a4-framework-image{
  width:100%;

  display:flex;
  justify-content:center;
  align-items:center;
}


.winzin-a4 .a4-framework-image img{
  display:block;

  width:100%;
  max-width:800px;
  height:auto;
}

/* ================================================= */
/* =================== SECTION A5 =================== */
/* ================================================= */

.winzin-a5,
.winzin-a5 *{
  box-sizing:border-box;
}


.winzin-a5{
  position:relative;

  padding:100px 20px;

  overflow:hidden;
}


/* ================================================= */
/* ================= A5 TYPOGRAPHY ================== */
/* ================================================= */

.winzin-a5,
.winzin-a5 input,
.winzin-a5 select,
.winzin-a5 textarea,
.winzin-a5 button,
.winzin-a5 label,
.winzin-a5 .wpcf7,
.winzin-a5 .wpcf7-form-control,
.winzin-a5 .wpcf7-list-item-label{
  font-family:
    Inter,
    system-ui,
    -apple-system,
    "Segoe UI",
    Roboto,
    Arial,
    sans-serif !important;
}


/* A5 introductory copy */

.winzin-a5 .a5-section-title{
  max-width:820px;

  margin:0 auto 46px;

  text-align:center;
}


.winzin-a5 .a5-section-title h2{
  margin:0 0 14px;

  color:var(--wz-heading);

  font-size:clamp(36px,4.4vw,56px);
  line-height:1.05;
  font-weight:800;
  letter-spacing:-.045em;
}


.winzin-a5 .a5-section-title p{
  margin:0;

  color:var(--wz-body) !important;

  font-size:16px !important;
  line-height:1.7 !important;
  font-weight:500 !important;
}


/* ================================================= */
/* ================== A5 WRAPPER ==================== */
/* ================================================= */

.winzin-a5 .a5-wrapper{
  display:block !important;

  width:100%;
  max-width:1080px;

  margin:0 auto;
}


.winzin-a5 .a5-form-card{
  width:100%;
  max-width:1080px;

  margin:0 auto;
  padding:0 !important;

  background:transparent !important;

  border:0 !important;
  border-radius:0 !important;

  box-shadow:none !important;
  backdrop-filter:none !important;
}

/* ================================================= */
/* ================ A5 INTENT SELECTOR ============== */
/* ================================================= */

.winzin-a5 .wz-intent-selector{
  width:100%;
  margin:0 0 36px;
}


/* ================================================= */
/* ================= INTRO HEADER =================== */
/* ================================================= */

.winzin-a5 .wz-intent-header{
  max-width:920px;

  margin:0 auto 28px;

  text-align:center;
}


.winzin-a5 .wz-intent-header h2{
  margin:0 0 10px;

  color:var(--wz-heading);

  font-size:clamp(30px,3vw,38px);
  line-height:1.12;
  font-weight:750;
  letter-spacing:-.025em;
}


/* Supporting intro */

.winzin-a5 .wz-intent-subtitle{
  max-width:900px;

  margin:0 auto;

  color:var(--wz-body) !important;

  font-size:15.5px !important;
  line-height:1.55 !important;
  font-weight:500 !important;

  text-align:center;
}


.winzin-a5 .wz-intent-subtitle span{
  display:block;
}


/* ================================================= */
/* ================= INTENT CARDS =================== */
/* ================================================= */

.winzin-a5 .wz-intent-cards{
  display:grid;

  grid-template-columns:
    repeat(2,minmax(0,1fr));

  gap:18px;

  width:100%;
}


/* Individual intent card */

.winzin-a5 .wz-intent-card{
  -webkit-appearance:none;
  appearance:none;

  display:flex;
  align-items:center;

  gap:15px;

  width:100%;
  min-height:104px;

  padding:20px 24px;

  background:
    linear-gradient(
      180deg,
      #ffffff 0%,
      #f9fbfc 100%
    );

  border:1px solid #d7e2e9;
  border-radius:20px;

  color:var(--wz-heading);

  text-align:left;

  cursor:pointer;

  box-shadow:
    0 10px 28px rgba(18,36,43,.045);

  transition:
    transform .2s ease,
    border-color .2s ease,
    background .2s ease,
    box-shadow .2s ease;
}


/* Hover */

.winzin-a5 .wz-intent-card:hover{
  transform:translateY(-2px);

  background:#fff;

  border-color:rgba(47,111,104,.42);

  box-shadow:
    0 15px 34px rgba(18,36,43,.075);
}


/* Radio circle */

.winzin-a5 .wz-intent-radio{
  position:relative;

  flex:0 0 20px;

  width:20px;
  height:20px;

  margin:0;

  background:#fff;

  border:1.5px solid #aebdc5;
  border-radius:50%;

  transition:
    border-color .2s ease,
    background .2s ease,
    box-shadow .2s ease;
}


/* Copy wrapper */

.winzin-a5 .wz-intent-copy{
  display:flex;
  flex:1;
  flex-direction:column;
  justify-content:center;

  min-width:0;
}


/* Card headline */

.winzin-a5 .wz-intent-copy strong{
  display:block;

  margin:0 0 5px;

  color:var(--wz-heading);

  font-size:15.5px;
  line-height:1.35;
  font-weight:750;
}


/* Card supporting copy */

.winzin-a5 .wz-intent-copy > span{
  display:block;

  margin:0;

  color:var(--wz-body);

  font-size:14px;
  line-height:1.45;
  font-weight:500;
}


/* Italic supporting copy */

.winzin-a5 .wz-intent-copy em{
  font-style:italic;
}


/* ================================================= */
/* ================= SELECTED CARD ================== */
/* ================================================= */

.winzin-a5 .wz-intent-card.is-selected{
  background:
    linear-gradient(
      180deg,
      rgba(235,247,244,.96) 0%,
      rgba(245,251,249,.96) 100%
    );

  border-color:#5baea4;

  box-shadow:
    0 0 0 3px rgba(91,174,164,.10),
    0 14px 32px rgba(18,36,43,.06);
}


.winzin-a5 .wz-intent-card.is-selected .wz-intent-radio{
  background:#2f6f68;

  border-color:#2f6f68;

  box-shadow:
    inset 0 0 0 5px #fff;
}


/* ================================================= */
/* ============ HIDE INTERNAL CF7 INTENT ============ */
/* ================================================= */

.winzin-a5 .wz-cf7-intent{
  position:absolute !important;

  left:-99999px !important;
  top:auto !important;

  width:1px !important;
  height:1px !important;

  margin:0 !important;
  padding:0 !important;

  overflow:hidden !important;

  opacity:0 !important;

  pointer-events:none !important;
}


.winzin-a5 .wz-cf7-intent .wpcf7-form-control-wrap,
.winzin-a5 .wz-cf7-intent .wpcf7-radio,
.winzin-a5 .wz-cf7-intent .wpcf7-list-item{
  position:absolute !important;

  left:-99999px !important;

  width:1px !important;
  height:1px !important;

  overflow:hidden !important;

  opacity:0 !important;

  pointer-events:none !important;
}


/* ================================================= */
/* ==================== CF7 RESET =================== */
/* ================================================= */

.winzin-a5 .wpcf7,
.winzin-a5 .wpcf7 form,
.winzin-a5 .wpcf7 p{
  margin:0 !important;
  padding:0 !important;
}


.winzin-a5 .wpcf7 br{
  display:none !important;
}


.winzin-a5 .wpcf7-form-control-wrap{
  display:block !important;

  width:100% !important;
}


/* ================================================= */
/* ==================== A5 GRID ===================== */
/* ================================================= */

.winzin-a5 .wz-form-grid{
  display:grid !important;

  grid-template-columns:
    repeat(2,minmax(0,1fr)) !important;

  gap:34px 32px !important;

  width:100% !important;
}


.winzin-a5 .wz-field{
  width:100%;

  margin:0 !important;
}


.winzin-a5 .wz-field-full{
  margin-top:34px !important;
}


/* ================================================= */
/* ================== FIELD LABELS ================== */
/* ================================================= */

.winzin-a5 .wz-field > label{
  display:block;

  margin:0 0 9px;

  color:var(--wz-heading) !important;

  font-size:14px !important;
  font-weight:600 !important;
  line-height:1.35 !important;
  letter-spacing:0 !important;
}


/* ================================================= */
/* ================= INPUT FIELDS =================== */
/* ================================================= */

.winzin-a5 input[type="text"],
.winzin-a5 input[type="email"],
.winzin-a5 input[type="url"],
.winzin-a5 textarea{
  width:100% !important;
  max-width:100% !important;

  min-height:58px !important;

  padding:15px 18px !important;

  background:#fff !important;

  border:1px solid rgba(184,198,208,.95) !important;
  border-radius:18px !important;

  color:var(--wz-heading) !important;

  font-size:15px !important;
  font-weight:500 !important;
  line-height:1.45 !important;
  letter-spacing:0 !important;

  outline:none !important;

  box-shadow:
    0 10px 24px rgba(25,45,60,.045) !important;
}


.winzin-a5 textarea{
  min-height:145px !important;

  resize:vertical;
}


/* Placeholders */

.winzin-a5 input::placeholder,
.winzin-a5 textarea::placeholder{
  color:#7b8790 !important;

  font-weight:500 !important;

  opacity:1 !important;
}


/* Focus */

.winzin-a5 input:focus,
.winzin-a5 select:focus,
.winzin-a5 textarea:focus{
  border-color:#5baea4 !important;

  box-shadow:
    0 0 0 4px rgba(91,174,164,.18) !important;
}


/* ================================================= */
/* ================ NATIVE SELECTS ================== */
/* ================================================= */

.winzin-a5 select,
.winzin-a5 .wpcf7-select,
.winzin-a5 select.wpcf7-form-control{
  width:100% !important;
  max-width:100% !important;

  height:58px !important;
  min-height:58px !important;

  padding:0 48px 0 18px !important;

  background-color:#fff !important;

  border:1px solid rgba(184,198,208,.95) !important;
  border-radius:18px !important;

  color:var(--wz-heading) !important;

  font-size:15px !important;
  font-weight:500 !important;
  line-height:1.45 !important;
  letter-spacing:0 !important;

  outline:none !important;

  box-shadow:
    0 10px 24px rgba(25,45,60,.045) !important;

  -webkit-appearance:auto !important;
  appearance:auto !important;
}


.winzin-a5 select option{
  color:var(--wz-heading) !important;

  background:#fff !important;
}


/* ================================================= */
/* ============= SELECT2 / NYSSA OVERRIDE =========== */
/* ================================================= */

.winzin-a5 .select2-container{
  width:100% !important;
  max-width:100% !important;

  font-family:
    Inter,
    system-ui,
    -apple-system,
    "Segoe UI",
    Roboto,
    Arial,
    sans-serif !important;
}


/* Visible Select2 field */

.winzin-a5
.select2-container
.select2-selection--single{
  display:flex !important;
  align-items:center !important;

  width:100% !important;

  height:58px !important;
  min-height:58px !important;

  padding:0 48px 0 18px !important;

  background:#fff !important;

  border:1px solid rgba(184,198,208,.95) !important;
  border-radius:18px !important;

  outline:none !important;

  box-shadow:
    0 10px 24px rgba(25,45,60,.045) !important;
}


/* Selected value */

.winzin-a5
.select2-container
.select2-selection--single
.select2-selection__rendered{
  width:100% !important;

  padding:0 !important;

  color:var(--wz-heading) !important;

  font-family:
    Inter,
    system-ui,
    -apple-system,
    "Segoe UI",
    Roboto,
    Arial,
    sans-serif !important;

  font-size:15px !important;
  font-weight:500 !important;
  line-height:1.45 !important;
}


/* Select2 arrow */

.winzin-a5
.select2-container
.select2-selection--single
.select2-selection__arrow{
  position:absolute !important;

  top:50% !important;
  right:18px !important;

  width:20px !important;
  height:20px !important;

  transform:translateY(-50%) !important;
}


/* Select2 focus/open */

.winzin-a5
.select2-container--focus
.select2-selection--single,

.winzin-a5
.select2-container--open
.select2-selection--single{
  border-color:#5baea4 !important;

  box-shadow:
    0 0 0 4px rgba(91,174,164,.18) !important;
}


/* ================================================= */
/* ============= SELECT2 DROPDOWN MENU ============== */
/* ================================================= */

.select2-container--open .select2-dropdown{
  overflow:hidden !important;

  background:#fff !important;

  border:1px solid rgba(184,198,208,.95) !important;
  border-radius:14px !important;

  box-shadow:
    0 18px 40px rgba(18,36,43,.12) !important;
}


.select2-results__option{
  padding:11px 18px !important;

  background:#fff !important;

  color:var(--wz-body) !important;

  font-family:
    Inter,
    system-ui,
    -apple-system,
    "Segoe UI",
    Roboto,
    Arial,
    sans-serif !important;

  font-size:15px !important;
  font-weight:500 !important;
  line-height:1.4 !important;
}


/* Hover / keyboard highlight */

.select2-results__option--highlighted,
.select2-results__option[aria-selected="true"]:hover{
  background:var(--wz-accent-soft) !important;

  color:var(--wz-heading) !important;
}


/* Selected option */

.select2-results__option[aria-selected="true"]{
  color:var(--wz-heading) !important;

  font-weight:600 !important;
}


/* ================================================= */
/* ================= CHECKBOX BLOCK ================= */
/* ================================================= */

.winzin-a5 .wz-stack-field{
  display:block !important;

  width:100% !important;

  padding:24px !important;

  background:
    linear-gradient(
      180deg,
      #ffffff,
      #f8fbfd
    ) !important;

  border:1px solid #dce6ec !important;
  border-radius:24px !important;
}


/* Marketing stack checkbox grid */

.winzin-a5 .wz-stack-field .wpcf7-checkbox{
  display:grid !important;

  grid-template-columns:
    repeat(4,minmax(0,1fr)) !important;

  gap:12px !important;

  width:100% !important;

  margin:16px 0 0 !important;
}


/* Individual checkbox item */

.winzin-a5 .wz-stack-field .wpcf7-list-item{
  display:block !important;

  width:100% !important;

  margin:0 !important;
}


/* Checkbox card */

.winzin-a5 .wz-stack-field .wpcf7-list-item label{
  display:flex !important;
  align-items:center !important;

  gap:10px !important;

  width:100% !important;
  min-height:46px !important;

  padding:10px 12px !important;

  background:#fff !important;

  border:1px solid #d7e2e9 !important;
  border-radius:15px !important;

  color:var(--wz-body) !important;

  font-size:14px !important;
  font-weight:650 !important;

  cursor:pointer;
}


/* Checkbox itself */

.winzin-a5 .wz-stack-field input[type="checkbox"]{
  flex:0 0 16px !important;

  width:16px !important;
  height:16px !important;

  margin:0 !important;

  accent-color:#2f6f68;
}


/* Checkbox text */

.winzin-a5 .wz-stack-field .wpcf7-list-item-label{
  display:block !important;

  color:#40505a !important;

  line-height:1.3 !important;
}


/* ================================================= */
/* ================== FORM SUBMIT =================== */
/* ================================================= */

.winzin-a5 input[type="submit"]{
  width:100% !important;
  min-height:60px !important;

  margin-top:34px !important;

  border:0 !important;
  border-radius:18px !important;

  background:#1f2a30 !important;
  color:#fff !important;

  font-size:15.5px !important;
  font-weight:800 !important;

  cursor:pointer;
}


.winzin-a5 input[type="submit"]:hover{
  background:#2d3940 !important;

  color:#fff !important;
}


/* CF7 messages */

.winzin-a5 .wpcf7-response-output{
  margin:18px 0 0 !important;

  padding:14px 16px !important;

  border-radius:12px !important;

  font-size:14px;
}


/* ================================================= */
/* ==================== TABLET ====================== */
/* ================================================= */

@media(max-width:980px){

  :root{
    --wz-section-y:86px;
    --wz-gap:42px;
  }


  /* Hero */

  .winzin-hero{
    min-height:680px;
    height:auto;

    padding:120px 0 90px;
  }


  /* Shared grids */

  .winzin-a1-container,
  .winzin-success-container,
  .winzin-a4 .a4-grid{
    grid-template-columns:1fr;

    gap:42px;
  }


  /* A2 */

  .winzin-rotator{
    min-height:auto;
  }


  .winzin-card{
    max-width:100%;
  }


  /* A3 */

  .winzin-a3{
    padding:86px 0;
  }


  .winzin-a3 .vc_tta-panel-title > a{
    padding:22px !important;
  }


  .winzin-a3 .vc_tta-panel-body{
    padding:0 24px 26px 56px !important;
  }


  /* A4 */

  .winzin-a4{
    padding:80px 20px;
  }


  /* A5 */

  .winzin-a5 .a5-wrapper{
    display:block !important;
  }
}


/* ================================================= */
/* ===================== MOBILE ===================== */
/* ================================================= */

@media(max-width:640px){

  /* Shared containers */

  .winzin-container,
  .winzin-a1-container,
  .winzin-success-container{
    padding-left:24px;
    padding-right:24px;
  }


  /* Hero */

  .winzin-hero h1{
    font-size:42px;
  }


  .hero-buttons{
    flex-direction:column;

    align-items:flex-start;
  }


  /* Cards */

  .a1-card,
  .winzin-card{
    padding:24px;
  }


  /* A4 / A5 */

  .winzin-a4,
  .winzin-a5{
    padding:64px 18px;
  }


  /* A5 */

  .winzin-a5 .a5-section-title{
    text-align:left;
  }


  /* Intent selector */

  .winzin-a5 .wz-intent-header{
    text-align:left;
  }


  .winzin-a5 .wz-intent-cards{
    grid-template-columns:1fr;

    gap:12px;
  }


  .winzin-a5 .wz-intent-card{
    min-height:auto;

    padding:18px;
  }


  .winzin-a5 .wz-intent-selector{
    margin-bottom:38px;
  }


  /* Form fields */

  .winzin-a5 .wz-form-grid{
    grid-template-columns:1fr !important;
  }


  /* Marketing stack */

  .winzin-a5 .wz-stack-field .wpcf7-checkbox{
    grid-template-columns:1fr !important;
  }
}

/* ================================================= */
/* ============== WINZIN CASE STUDIES =============== */
/* ================================================= */


/* ================================================= */
/* =============== CASE STUDY CANVAS ================ */
/* ================================================= */

/*
Prototype page only.

Creates one continuous neutral canvas underneath all
WPBakery full-width rows so tiny gaps / row calculations
do not reveal the Nyssa page background.

When the reusable Case Study template is created,
.page-id-166 should be replaced with the shared
Case Study template/body class.
*/

body.page-id-166{
  background:#fafbfb !important;
}

body.page-id-166 #page,
body.page-id-166 .site,
body.page-id-166 .site-content,
body.page-id-166 .content-area,
body.page-id-166 .entry-content{
  background:#fafbfb !important;
}



/* ================================================= */
/* ============== CASE BACKGROUND SYSTEM ============ */
/* ================================================= */

/*
BACKGROUND RHYTHM

C0  Atmospheric Light  → Hero
C1  Clean              → Outcome Snapshot
C2  Soft Cool          → Starting Point
C3  Dark Brand         → System We Built
C4  Clean              → Building the Engine
C5  Visual-led section
C6  Soft Warm          → Results
C7  Clean              → What Remained
C8  Dark / Atmospheric → Client Voice + CTA

Light states deliberately remain close in tone.
Layout rhythm should create most section demarcation.
*/


/* ------------------------------------------------- */
/* ATMOSPHERIC LIGHT                                 */
/* ------------------------------------------------- */

.wz-case-bg-atmosphere{
  background:
    radial-gradient(
      ellipse at 8% 24%,
      rgba(214,232,246,.30) 0%,
      rgba(214,232,246,.14) 30%,
      transparent 64%
    ),
    radial-gradient(
      ellipse at 92% 58%,
      rgba(248,222,205,.18) 0%,
      rgba(248,222,205,.08) 28%,
      transparent 58%
    ),
    linear-gradient(
      135deg,
      #f9fbfc 0%,
      #f8fafb 52%,
      #fafbfb 100%
    );
}


/* ------------------------------------------------- */
/* CLEAN                                             */
/* ------------------------------------------------- */

.wz-case-bg-clean{
  background:#fafbfb;
}


/* ------------------------------------------------- */
/* SOFT COOL                                         */
/* ------------------------------------------------- */

.wz-case-bg-cool{
  background:
    radial-gradient(
      ellipse at 14% 42%,
      rgba(215,232,243,.20) 0%,
      transparent 64%
    ),
    linear-gradient(
      135deg,
      #fafbfb 0%,
      #f7fafb 58%,
      #fafbfb 100%
    );
}


/* ------------------------------------------------- */
/* SOFT WARM                                         */
/* ------------------------------------------------- */

.wz-case-bg-warm{
  background:
    radial-gradient(
      ellipse at 84% 48%,
      rgba(247,224,210,.18) 0%,
      transparent 64%
    ),
    linear-gradient(
      135deg,
      #fafbfb 0%,
      #fbfaf8 55%,
      #fafbfb 100%
    );
}


/* ------------------------------------------------- */
/* DARK BRAND                                        */
/* ------------------------------------------------- */

.wz-case-bg-dark{
  background:
    radial-gradient(
      ellipse at 15% 20%,
      rgba(87,145,134,.18) 0%,
      transparent 52%
    ),
    linear-gradient(
      135deg,
      #173f39 0%,
      #123832 55%,
      #102f2b 100%
    );

  color:#fff;
}

/* ================================================= */
/* ================== C0 CASE HERO ================== */
/* ================================================= */

.winzin-case-hero{
  position:relative;

  /*
  Slightly tighter bottom spacing deliberately connects
  C0 to the Outcome Snapshot without crowding either.
  */

  padding:72px 20px 48px;

  overflow:hidden;

  background:
    radial-gradient(
      ellipse 75% 75% at 4% 18%,
      rgba(190,220,240,.38) 0%,
      rgba(210,231,244,.24) 32%,
      rgba(225,238,246,.10) 52%,
      transparent 72%
    ),
    radial-gradient(
      ellipse 72% 78% at 96% 58%,
      rgba(247,205,179,.32) 0%,
      rgba(249,220,201,.20) 34%,
      rgba(251,233,220,.09) 54%,
      transparent 74%
    ),
    linear-gradient(
      135deg,
      #f8fbfc 0%,
      #fafbfb 48%,
      #fbfaf9 100%
    );
}



/* ================================================= */
/* ================= HERO CONTENT =================== */
/* ================================================= */

.winzin-case-hero .case-hero-content{
  width:100%;
  max-width:680px;

  padding-right:48px;
}



/* ================================================= */
/* ==================== EYEBROW ===================== */
/* ================================================= */

.winzin-case-hero .case-eyebrow{
  margin:0 0 24px;

  color:var(--wz-accent);

  font-size:12.5px;
  line-height:1.4;
  font-weight:750;

  letter-spacing:.11em;
}



/* ================================================= */
/* ================= MAIN HEADLINE ================== */
/* ================================================= */

.winzin-case-hero .case-title{
  max-width:680px;

  margin:0 0 26px;

  color:var(--wz-heading);

  font-size:clamp(46px,4.5vw,66px);
  line-height:1.04;

  font-weight:750;

  letter-spacing:-.045em;
}



/* ================================================= */
/* ================= SUPPORTING COPY ================ */
/* ================================================= */

.winzin-case-hero .case-lead{
  max-width:610px;

  margin:0 0 28px;

  color:var(--wz-body);

  font-size:16.5px;
  line-height:1.7;

  font-weight:500;
}



/* ================================================= */
/* ===================== META ======================= */
/* ================================================= */

.winzin-case-hero .case-meta{
  display:flex;
  flex-direction:column;

  gap:6px;

  max-width:610px;

  margin-top:22px;
  padding-top:18px;

  border-top:1px solid var(--wz-border);
}


.winzin-case-hero .case-meta p{
  margin:0 !important;
  padding:0 !important;

  color:#81919a !important;

  font-size:13px !important;
  line-height:1.5 !important;
  font-weight:500 !important;

  letter-spacing:.01em;
}


.winzin-case-hero .case-meta p:last-child{
  color:#93a0a7 !important;

  font-size:12px !important;
}



/* ================================================= */
/* ================= HERO IMAGE ===================== */
/* ================================================= */

/*
Default media variant used by image-based case studies
such as Lake Waters.
*/

.winzin-case-hero .case-hero-image{
  display:block !important;

  width:100% !important;
  max-width:470px !important;

  margin:0 auto !important;
}


.winzin-case-hero
.case-hero-image
.vc_single_image-wrapper{
  display:block !important;

  width:100% !important;
  max-width:100% !important;
}


.winzin-case-hero .case-hero-image img{
  display:block !important;

  width:100% !important;
  max-width:100% !important;

  height:500px !important;

  margin:0 !important;

  object-fit:cover;
  object-position:center center;

  border-radius:24px;

  box-shadow:
    0 24px 60px rgba(18,36,43,.10);
}



/* ================================================= */
/* ============ C0 HERO — VIDEO VARIANT ============ */
/* ================================================= */

/*
Reusable alternative to .case-hero-image.

Used when the right-hand hero media is a Raw HTML
video rather than a WPBakery Single Image.

The desktop footprint deliberately matches the
image variant: 470px max-width × 500px height.
*/

.winzin-case-hero .case-hero-media--video{
  position:relative;

  display:block;

  width:100%;
  max-width:470px;

  height:500px;

  margin:0 auto;

  overflow:hidden;

  border-radius:24px;

  background:#111;

  box-shadow:
    0 24px 60px rgba(18,36,43,.10);
}


.winzin-case-hero
.case-hero-media--video
.case-hero-video{
  position:absolute;

  inset:0;

  display:block;

  width:100% !important;
  height:100% !important;

  margin:0 !important;
  padding:0 !important;

  object-fit:cover !important;
  object-position:center center !important;

  border:0 !important;
  border-radius:inherit;
}

/* ================================================= */
/* ===== C0 HERO VIDEO — FRONT-END FINAL LOCK ====== */
/* ================================================= */

.winzin-case-hero .case-hero-media--video{
  position:relative !important;

  display:block !important;

  width:100% !important;
  max-width:470px !important;

  height:500px !important;
  min-height:0 !important;
  max-height:500px !important;

  margin:0 auto !important;
  padding:0 !important;

  overflow:hidden !important;

  border-radius:24px !important;
  background:#111 !important;

  box-shadow:0 24px 60px rgba(18,36,43,.10) !important;
}


.winzin-case-hero .case-hero-media--video > video.case-hero-video{
  position:absolute !important;

  top:0 !important;
  right:0 !important;
  bottom:0 !important;
  left:0 !important;

  display:block !important;

  width:100% !important;
  max-width:none !important;

  height:100% !important;
  min-height:0 !important;
  max-height:none !important;

  margin:0 !important;
  padding:0 !important;

  object-fit:cover !important;
  object-position:center center !important;

  border:0 !important;
  border-radius:0 !important;
}


/* TABLET */

@media(max-width:980px){

  .winzin-case-hero .case-hero-media--video{
    max-width:620px !important;
    height:500px !important;
    max-height:500px !important;
  }

}


/* MOBILE */

@media(max-width:640px){

  .winzin-case-hero .case-hero-media--video{
    width:100% !important;
    max-width:100% !important;

    height:520px !important;
    max-height:520px !important;

    border-radius:18px !important;
  }

}

/* ================================================= */
/* =============== C1 OUTCOME SNAPSHOT ============= */
/* ================================================= */

.winzin-case-metrics{
  position:relative;

  /*
  C1 reads as the immediate evidence chapter
  following the hero rather than a detached section.
  */

  padding:52px 20px 72px;

  overflow:hidden;

  background:#fafbfb;
}



/* ================================================= */
/* ================= C1 CONTAINER =================== */
/* ================================================= */

.winzin-case-metrics .case-metrics-inner{
  width:100%;
  max-width:1140px;

  margin:0 auto;
}



/* ================================================= */
/* ================= C1 EYEBROW ===================== */
/* ================================================= */

.winzin-case-metrics h2.case-metrics-label{
  margin:0 0 28px !important;
  padding:0;

  color:var(--wz-accent) !important;

  font-family:inherit;

  font-size:12px !important;
  line-height:1.4 !important;
  font-weight:750 !important;

  letter-spacing:.11em !important;

  text-transform:none;
}



/* ================================================= */
/* ================= METRICS GRID =================== */
/* ================================================= */

.winzin-case-metrics .case-metrics-grid{
  display:grid;

  grid-template-columns:
    repeat(4,minmax(0,1fr));

  width:100%;

  margin:0;
  padding:0;

  list-style:none;

  border-top:1px solid var(--wz-border);
  border-bottom:1px solid var(--wz-border);
}



/* ================================================= */
/* ================= INDIVIDUAL METRIC ============== */
/* ================================================= */

.winzin-case-metrics .case-metric{
  position:relative;

  display:flex;
  flex-direction:column;
  justify-content:center;

  min-height:150px;

  padding:28px 32px;
}



/* Vertical separators */

.winzin-case-metrics .case-metric:not(:last-child){
  border-right:1px solid var(--wz-border);
}



/* ================================================= */
/* ================= METRIC VALUE =================== */
/* ================================================= */

/*
Default numerical treatment.

Used for quantitative cases such as Lake Waters:
~3,000 / ~₹250 / 3 / ~300/mo
*/

.winzin-case-metrics .case-metric-value{
  display:block;

  margin:0 0 8px;

  color:var(--wz-heading);

  font-size:clamp(36px,3.6vw,50px);
  line-height:1;

  font-weight:750;

  letter-spacing:-.035em;
}



/* ================================================= */
/* =============== METRIC DESCRIPTION ============== */
/* ================================================= */

.winzin-case-metrics .case-metric-label{
  display:block;

  color:var(--wz-body);

  font-size:14px;
  line-height:1.45;

  font-weight:550;
}

/* ================================================= */
/* ======== C1 TEXT-BASED OUTCOME VARIANT ========== */
/* ================================================= */

.winzin-case-metrics.case-metrics--text{
  padding-top:42px;
}


.winzin-case-metrics.case-metrics--text .case-metrics-grid{
  grid-template-columns:repeat(4,minmax(0,1fr));
}


.winzin-case-metrics.case-metrics--text .case-metric{
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:flex-start;

  min-width:0;
  min-height:138px;

  padding:26px 22px;

  overflow:hidden;
}


.winzin-case-metrics.case-metrics--text .case-metric-value{
  display:block;

  width:100%;
  max-width:100%;

  margin:0 0 8px;

  color:var(--wz-heading);

  font-size:clamp(18px,1.45vw,22px);
  line-height:1.15;

  font-weight:750;

  letter-spacing:-.025em;

  white-space:normal;
  word-break:normal;
  overflow-wrap:break-word;
}


.winzin-case-metrics.case-metrics--text .case-metric-label{
  display:block;

  width:100%;
  max-width:100%;

  color:var(--wz-body);

  font-size:12.5px;
  line-height:1.45;

  font-weight:550;
}


/* ================================================= */
/* ==================== TABLET ====================== */
/* ================================================= */

@media(max-width:980px){

  .winzin-case-metrics.case-metrics--text .case-metrics-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .winzin-case-metrics.case-metrics--text .case-metric{
    min-height:125px;
    padding:24px 26px;
  }

  .winzin-case-metrics.case-metrics--text .case-metric-value{
    font-size:21px;
  }

}


/* ================================================= */
/* ===================== MOBILE ===================== */
/* ================================================= */

@media(max-width:640px){

  .winzin-case-metrics.case-metrics--text{
    padding-top:36px;
  }

  .winzin-case-metrics.case-metrics--text .case-metrics-grid{
    grid-template-columns:1fr;
  }

  .winzin-case-metrics.case-metrics--text .case-metric{
    min-height:auto;

    padding:22px 4px;

    overflow:visible;

    border-right:0 !important;
  }

  .winzin-case-metrics.case-metrics--text .case-metric-value{
    font-size:21px;

    margin-bottom:6px;
  }

}
/* ================================================= */
/* ================= C2 STARTING POINT ============== */
/* ================================================= */

.winzin-case-start{
  position:relative;
  padding:88px 20px 94px;
  overflow:hidden;
}

/* ================================================= */
/* =============== C2 CONTENT WIDTH ================= */
/* ================================================= */

.winzin-case-start > .wpb_column,
.winzin-case-start > .vc_column_container{
  position:relative;
}

/*
WPBakery stretches the row to full viewport width.
Pull the two columns back into our case-study
content grid while allowing the background to remain full width.
*/

.winzin-case-start{
  padding-left:max(20px, calc((100vw - 1140px) / 2)) !important;
  padding-right:max(20px, calc((100vw - 1140px) / 2)) !important;
}

/* ================================================= */
/* ================= SECTION LABEL ================== */
/* ================================================= */

.winzin-case-start .case-section-label{
  margin:0 0 28px;

  color:var(--wz-accent);

  font-size:12px;
  line-height:1.4;
  font-weight:750;

  letter-spacing:.11em;
}


/* ================================================= */
/* ================= LEFT COLUMN ==================== */
/* ================================================= */

.winzin-case-start .case-start-intro{
  width:100%;
  max-width:440px;

  padding-right:32px;
}


.winzin-case-start .case-start-title{
  margin:0 0 26px;

  color:var(--wz-heading);

  font-size:clamp(36px,3.6vw,50px);
  line-height:1.08;

  font-weight:750;

  letter-spacing:-.04em;
}


.winzin-case-start .case-start-statement{
  max-width:420px;

  margin:0;

  color:var(--wz-body);

  font-size:17px;
  line-height:1.65;

  font-weight:500;
}


/* ================================================= */
/* ================= RIGHT COLUMN =================== */
/* ================================================= */

.winzin-case-start .case-start-detail{
  width:100%;
  max-width:620px;

  margin-left:auto;
}


.winzin-case-start .case-start-lead{
  margin:0 0 20px;

  color:var(--wz-heading);

  font-size:20px;
  line-height:1.55;

  font-weight:600;
}


.winzin-case-start .case-start-copy{
  max-width:620px;

  margin:0 0 38px;

  color:var(--wz-body);

  font-size:16px;
  line-height:1.75;

  font-weight:500;
}


/* ================================================= */
/* ================= PROBLEM LIST =================== */
/* ================================================= */

.winzin-case-start .case-start-list{
  width:100%;

  border-top:1px solid var(--wz-border);
}


.winzin-case-start .case-start-item{
  display:grid;

  grid-template-columns:48px 1fr;

  gap:18px;

  align-items:center;

  min-height:66px;

  padding:16px 0;

  border-bottom:1px solid var(--wz-border);
}


.winzin-case-start .case-start-item span{
  color:var(--wz-accent);

  font-size:11px;
  line-height:1;

  font-weight:750;

  letter-spacing:.08em;
}


.winzin-case-start .case-start-item p{
  margin:0;

  color:var(--wz-heading);

  font-size:15px;
  line-height:1.5;

  font-weight:600;
}
.winzin-case-start .case-start-list{
  width:100%;

  margin:0;
  padding:0;

  list-style:none;

  border-top:1px solid var(--wz-border);
}

/* ================================================= */
/* ================= C2 TABLET ====================== */
/* ================================================= */

@media(max-width:980px){

.winzin-case-start{
  padding-left:20px !important;
  padding-right:20px !important;
}

  .winzin-case-start{
    padding:76px 20px 82px;
  }


  .winzin-case-start .case-start-intro{
    max-width:620px;

    padding-right:0;
    padding-bottom:48px;
  }


  .winzin-case-start .case-start-detail{
    max-width:100%;

    margin-left:0;
  }

}


/* ================================================= */
/* ================= C2 MOBILE ====================== */
/* ================================================= */

@media(max-width:640px){

  .winzin-case-start{
    padding:64px 18px 68px;
  }


  .winzin-case-start .case-section-label{
    margin-bottom:22px;
  }


  .winzin-case-start .case-start-title{
    font-size:36px;
  }


  .winzin-case-start .case-start-statement{
    font-size:16px;
  }


  .winzin-case-start .case-start-lead{
    font-size:18px;
  }


  .winzin-case-start .case-start-copy{
    margin-bottom:30px;
  }


  .winzin-case-start .case-start-item{
    grid-template-columns:36px 1fr;

    gap:12px;

    min-height:auto;

    padding:16px 0;
  }

}

/* ================================================= */
/* ================= C3 SYSTEM ====================== */
/* ================================================= */

.winzin-case-system{
  position:relative;
  padding:104px 20px 92px;
  overflow:hidden;
}


/* ================================================= */
/* ============== C3 ATMOSPHERE ===================== */
/* ================================================= */

/*
Very restrained atmospheric depth.
C3 should feel architectural, not decorative.
*/

.winzin-case-system::before{
  content:"";
  position:absolute;

  width:680px;
  height:680px;

  top:-430px;
  right:-250px;

  border:none;
  border-radius:50%;

  background:
    radial-gradient(
      circle,
      rgba(102,190,166,.075) 0%,
      rgba(102,190,166,.025) 38%,
      transparent 70%
    );

  pointer-events:none;
}


.winzin-case-system::after{
  content:"";
  position:absolute;

  width:520px;
  height:520px;

  bottom:-360px;
  left:-300px;

  border-radius:50%;

  background:
    radial-gradient(
      circle,
      rgba(128,183,164,.065) 0%,
      transparent 68%
    );

  pointer-events:none;
}


/* ================================================= */
/* ================= C3 CONTAINER =================== */
/* ================================================= */

.winzin-case-system .case-system-inner{
  position:relative;
  z-index:2;

  width:100%;
  max-width:1140px;

  margin:0 auto;
}


/* ================================================= */
/* ================== C3 INTRO ====================== */
/* ================================================= */

.winzin-case-system .case-system-intro{
  display:grid;

  grid-template-columns:
    minmax(0,1.12fr)
    minmax(0,.88fr);

  gap:72px;

  align-items:end;

  margin-bottom:68px;
}


.winzin-case-system .case-system-eyebrow{
  margin:0 0 24px;

  color:#97d9c6;

  font-size:12px;
  line-height:1.4;
  font-weight:750;

  letter-spacing:.14em;
}


.winzin-case-system .case-system-title{
  max-width:650px;

  margin:0;

  color:#f5f8f6 !important;

  font-size:clamp(40px,4.2vw,58px);
  line-height:1.05;

  font-weight:750;

  letter-spacing:-.04em;
}


.winzin-case-system .case-system-copy{
  max-width:470px;

  margin-left:auto;
}


.winzin-case-system .case-system-copy p{
  margin:0;

  color:rgba(225,239,234,.76) !important;

  font-size:16.5px;
  line-height:1.72;

  font-weight:500;
}


/* ================================================= */
/* ================= SYSTEM FLOW ==================== */
/* ================================================= */

.winzin-case-system .case-system-flow{
  display:grid;

  grid-template-columns:
    1fr auto
    1fr auto
    1fr auto
    1fr auto
    1fr auto
    1fr auto
    1fr;

  align-items:start;

  gap:12px;

  width:100%;
}

.winzin-case-system .case-system-flow{
  /* retain all your existing properties */

  margin:0;
  padding:0;

  list-style:none;
}

/* ================================================= */
/* ================= SYSTEM STAGE =================== */
/* ================================================= */

.winzin-case-system .case-system-stage{
  display:flex;
  flex-direction:column;
  align-items:center;

  min-width:0;

  text-align:center;
}


.winzin-case-system .case-system-number{
  display:block;

  margin:0 0 14px;

  color:#91d4c1;

  font-size:11px;
  line-height:1;

  font-weight:750;

  letter-spacing:.08em;
}

.winzin-case-system h3.case-system-stage-title{
  display:block;

  margin:0 0 7px !important;
  padding:0;

  color:#f3f7f5 !important;

  font-family:inherit;
  font-size:13px !important;
  line-height:1.35 !important;

  font-weight:750 !important;

  letter-spacing:.065em !important;
  text-transform:uppercase;
}

/* ================================================= */
/* ================= SYSTEM NODE ==================== */
/* ================================================= */

.winzin-case-system .case-system-node{
  display:flex;
  align-items:center;
  justify-content:center;

  width:88px;
  height:88px;

  margin:0 0 20px;

  border:1px solid rgba(142,220,198,.46);
  border-radius:50%;

  background:
    radial-gradient(
      circle at 50% 45%,
      rgba(118,207,181,.10) 0%,
      rgba(255,255,255,.018) 68%
    );

  box-shadow:
    inset 0 0 28px rgba(115,205,178,.035);

  transition:
    border-color .25s ease,
    background .25s ease,
    transform .25s ease;
}


/*
Optional micro-interaction.
Subtle enough not to turn the diagram into UI.
*/

.winzin-case-system .case-system-stage:hover .case-system-node{
  transform:translateY(-2px);

  border-color:rgba(153,228,207,.68);

  background:
    radial-gradient(
      circle at 50% 45%,
      rgba(118,207,181,.15) 0%,
      rgba(255,255,255,.025) 70%
    );
}


/* ================================================= */
/* ================= SYSTEM ICON ==================== */
/* ================================================= */

.winzin-case-system .case-system-icon{
  display:flex;
  align-items:center;
  justify-content:center;

  width:34px;
  height:34px;

  color:#eef8f5;

  font-size:27px;
  line-height:1;

  font-weight:400;
}


/*
For SVG icons in the revised HTML.
*/

.winzin-case-system .case-system-icon svg{
  display:block;

  width:30px;
  height:30px;

  fill:none;

  stroke:currentColor;
  stroke-width:1.6;
  stroke-linecap:round;
  stroke-linejoin:round;

  vector-effect:non-scaling-stroke;
}


/* ================================================= */
/* ================= STAGE COPY ===================== */
/* ================================================= */

.winzin-case-system .case-system-stage-title{
  display:block;

  margin:0 0 7px;

  color:#f3f7f5 !important;

  font-size:13px;
  line-height:1.35;

  font-weight:750;

  letter-spacing:.065em;

  text-transform:uppercase;
}


.winzin-case-system .case-system-stage-copy{
  display:block;

  max-width:135px;

  color:rgba(220,238,232,.74) !important;

  font-size:12.75px;
  line-height:1.48;

  font-weight:500;
}


/* ================================================= */
/* ================= CONNECTORS ===================== */
/* ================================================= */

.winzin-case-system .case-system-connector{
  display:flex;
  align-items:center;

  padding-top:55px;
}


.winzin-case-system .case-system-connector span{
  position:relative;

  display:block;

  width:24px;
  height:1px;

  background:rgba(166,221,205,.34);
}


.winzin-case-system .case-system-connector span::after{
  content:"";

  position:absolute;

  top:50%;
  right:-1px;

  width:6px;
  height:6px;

  border-top:1px solid rgba(198,236,225,.62);
  border-right:1px solid rgba(198,236,225,.62);

  transform:
    translateY(-50%)
    rotate(45deg);
}


/* ================================================= */
/* =============== LEARNING LOOP ==================== */
/* ================================================= */

/*
This is now a genuine feedback path.

The horizontal line runs underneath the system.
The right side rises from Optimisation.
The left side rises back toward Discovery.
The arrowhead on the left communicates:
Optimisation feeds learning back into Discovery.
*/

.winzin-case-system .case-system-loop{
  position:relative;

  display:flex;
  align-items:center;
  justify-content:center;

  width:calc(100% - 70px);

  height:58px;

  margin:38px auto 0;

  border-bottom:
    1px solid rgba(143,214,194,.36);

  border-left:
    1px solid rgba(143,214,194,.36);

  border-right:
    1px solid rgba(143,214,194,.36);

  border-radius:
    0 0 38px 38px;
}


/*
The previous two decorative line elements are no
longer required visually.
*/

.winzin-case-system .case-system-loop-line{
  display:none;
}


.winzin-case-system .case-system-loop-label{
  position:absolute;

  left:50%;
  bottom:-7px;

  padding:0 18px;

  background:#123832;

  color:#91d4c1;

  font-size:10.5px;
  line-height:1.4;

  font-weight:750;

  letter-spacing:.20em;

  white-space:nowrap;

  transform:translateX(-50%);
}


/* Return arrow at Discovery side */

.winzin-case-system .case-system-loop::before{
  content:"";

  position:absolute;

  top:-1px;
  left:-1px;

  width:1px;
  height:28px;

  background:
    rgba(143,214,194,.36);
}


.winzin-case-system .case-system-loop::after{
  content:"";

  position:absolute;

  top:-2px;
  left:-5px;

  width:8px;
  height:8px;

  border-top:
    1px solid rgba(198,236,225,.70);

  border-left:
    1px solid rgba(198,236,225,.70);

  transform:rotate(45deg);
}


/* ================================================= */
/* ================= C3 OUTCOMES ==================== */
/* ================================================= */

/*
New lower layer from the approved visual direction.
*/

.winzin-case-system .case-system-outcomes{
  display:grid;

  grid-template-columns:
    repeat(3,minmax(0,1fr));

  width:88%;

  margin:66px auto 0;
}


.winzin-case-system .case-system-outcome{
  position:relative;

  padding:0 28px;

  text-align:center;
}


.winzin-case-system
.case-system-outcome:not(:last-child)::after{
  content:"";

  position:absolute;

  top:2px;
  right:0;

  width:1px;
  height:54px;

  background:
    linear-gradient(
      180deg,
      transparent,
      rgba(154,215,198,.25),
      transparent
    );
}


.winzin-case-system .case-system-outcome strong{
  display:block;

  margin:0 0 7px;

  color:#a4dfcd;

  font-size:11px;
  line-height:1.4;

  font-weight:750;

  letter-spacing:.18em;

  text-transform:uppercase;
}


.winzin-case-system .case-system-outcome span{
  display:block;

  color:rgba(225,239,234,.68);

  font-size:14px;
  line-height:1.5;

  font-weight:500;
}


/* ================================================= */
/* ================= C3 TABLET ====================== */
/* ================================================= */

@media(max-width:980px){

  .winzin-case-system{
    padding:84px 20px 80px;
  }


  .winzin-case-system .case-system-intro{
    grid-template-columns:1fr;

    gap:28px;

    margin-bottom:60px;
  }


  .winzin-case-system .case-system-copy{
    max-width:620px;

    margin-left:0;
  }


  .winzin-case-system .case-system-flow{
    grid-template-columns:
      repeat(4,minmax(0,1fr));

    gap:38px 24px;
  }


  .winzin-case-system .case-system-connector{
    display:none;
  }


  /*
  On tablet the seven-stage flow wraps,
  so a literal return path would imply
  incorrect geometry.
  Keep only the semantic label.
  */

  .winzin-case-system .case-system-loop{
    width:100%;
    height:auto;

    margin-top:50px;

    border:0;
  }


  .winzin-case-system .case-system-loop::before,
  .winzin-case-system .case-system-loop::after{
    display:none;
  }


  .winzin-case-system .case-system-loop-label{
    position:relative;

    left:auto;
    bottom:auto;

    padding:0;

    background:transparent;

    transform:none;
  }


  .winzin-case-system .case-system-outcomes{
    width:100%;

    margin-top:52px;
  }

}


/* ================================================= */
/* ================= C3 MOBILE ====================== */
/* ================================================= */

@media(max-width:640px){

  .winzin-case-system{
    padding:68px 18px 66px;
  }


  .winzin-case-system .case-system-title{
    font-size:38px;
  }


  .winzin-case-system .case-system-copy p{
    font-size:16px;
  }


  .winzin-case-system .case-system-intro{
    margin-bottom:44px;
  }


  .winzin-case-system .case-system-flow{
    grid-template-columns:1fr;

    gap:0;
  }


  .winzin-case-system .case-system-stage{
    position:relative;

    display:grid;

    grid-template-columns:
      28px 64px 1fr;

    grid-template-rows:auto auto;

    column-gap:16px;

    align-items:center;

    width:100%;

    padding:19px 0;

    text-align:left;

    border-bottom:
      1px solid rgba(160,211,197,.14);
  }


  .winzin-case-system .case-system-number{
    grid-row:1 / 3;

    margin:0;
  }


  .winzin-case-system .case-system-node{
    grid-row:1 / 3;

    width:58px;
    height:58px;

    margin:0;
  }


  .winzin-case-system .case-system-icon{
    width:25px;
    height:25px;

    font-size:22px;
  }


  .winzin-case-system .case-system-icon svg{
    width:24px;
    height:24px;
  }


  .winzin-case-system .case-system-stage-title{
    align-self:end;

    margin:0 0 3px;

    font-size:13px;
  }


  .winzin-case-system .case-system-stage-copy{
    align-self:start;

    max-width:none;

    font-size:13px;
  }


  .winzin-case-system .case-system-loop{
    margin-top:34px;
  }


  .winzin-case-system .case-system-loop-label{
    white-space:normal;

    text-align:center;
  }


  .winzin-case-system .case-system-outcomes{
    grid-template-columns:1fr;

    gap:26px;

    margin-top:48px;
  }


  .winzin-case-system .case-system-outcome{
    padding:0;
  }


  .winzin-case-system
  .case-system-outcome:not(:last-child)::after{
    display:none;
  }

}
/* C3 SVG ICONS */

.winzin-case-system .case-system-icon{
  display:flex;
  align-items:center;
  justify-content:center;
  width:30px;
  height:30px;
  color:#eaf7f3;
}

.winzin-case-system .case-system-icon svg{
  display:block;
  width:100%;
  height:100%;
}
/* ================================================= */
/* ================= C3 OUTCOMES ==================== */
/* ================================================= */

.winzin-case-system .case-system-outcomes{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  width:92%;
  margin:52px auto 0;
}

.winzin-case-system .case-system-outcome{
  padding:0 30px;
  text-align:center;
}

.winzin-case-system .case-system-outcome + .case-system-outcome{
  border-left:1px solid rgba(143,214,194,.20);
}

.winzin-case-system .case-system-outcome strong{
  display:block;
  margin-bottom:7px;

  color:#9adbc8;

  font-size:11px;
  line-height:1.4;
  font-weight:750;

  letter-spacing:.17em;
}

.winzin-case-system .case-system-outcome span{
  display:block;

  color:rgba(225,239,234,.72);

  font-size:14px;
  line-height:1.5;
  font-weight:500;
}


@media(max-width:640px){

  .winzin-case-system .case-system-outcomes{
    grid-template-columns:1fr;
    gap:24px;

    width:100%;
    margin-top:38px;
  }

  .winzin-case-system .case-system-outcome{
    padding:0;
  }

  .winzin-case-system .case-system-outcome + .case-system-outcome{
    padding-top:24px;
    border-left:0;
    border-top:1px solid rgba(143,214,194,.16);
  }

}

/* ================================================= */
/* ================= C4 BUILD ======================= */
/* ================================================= */

.winzin-case-build{
  position:relative;

  padding:118px 20px 124px;

  overflow:hidden;

 background:
  radial-gradient(
    circle at 4% 16%,
    rgba(220,234,255,.24) 0%,
    rgba(220,234,255,.09) 22%,
    transparent 43%
  ),
  radial-gradient(
    circle at 96% 82%,
    rgba(255,232,218,.20) 0%,
    rgba(255,232,218,.07) 22%,
    transparent 44%
  ),
  linear-gradient(
    180deg,
    #fbfcfd 0%,
    #ffffff 52%,
    #fdfcfb 100%
  );
}


/* ================================================= */
/* ================= C4 CONTAINER =================== */
/* ================================================= */

.winzin-case-build .case-build-inner{
  width:100%;
  max-width:1140px;

  margin:0 auto;
}


/* ================================================= */
/* =================== C4 INTRO ===================== */
/* ================================================= */

.winzin-case-build .case-build-intro{
  width:100%;
  max-width:760px;

  margin:0 0 96px;
}


.winzin-case-build .case-build-eyebrow{
  display:block;

  margin:0 0 22px;

  color:#2f7669;

  font-size:11.5px;
  line-height:1.4;

  font-weight:750;

  letter-spacing:.17em;
}


.winzin-case-build .case-build-title{
  margin:0 0 26px;

  color:#14262b;

  font-size:clamp(42px,4.5vw,60px);
  line-height:1.04;

  font-weight:750;

  letter-spacing:-.045em;
}


.winzin-case-build .case-build-lead{
  max-width:680px;

  margin:0;

  color:#60727d;

  font-size:17px;
  line-height:1.72;

  font-weight:500;
}


/* ================================================= */
/* ================= C4 MODULE ====================== */
/* ================================================= */

.winzin-case-build .case-build-module{
  display:grid;

  grid-template-columns:
    minmax(0,.82fr)
    minmax(0,1.18fr);

  gap:clamp(68px,7.5vw,110px);

  align-items:center;

  width:100%;

  padding:0 0 96px;
  margin:0 0 96px;

  border-bottom:
    1px solid rgba(29,67,62,.12);
}


.winzin-case-build .case-build-module:last-child{
  padding-bottom:0;
  margin-bottom:0;

  border-bottom:0;
}


/* ================================================= */
/* =============== ALTERNATING MODULE =============== */
/* ================================================= */

.winzin-case-build
.case-build-module-reverse
.case-build-content{
  order:2;
}


.winzin-case-build
.case-build-module-reverse
.case-build-visual{
  order:1;
}


/* ================================================= */
/* ================= MODULE COPY ==================== */
/* ================================================= */

.winzin-case-build .case-build-content{
  width:100%;
  max-width:470px;
}


.winzin-case-build .case-build-number{
  display:block;

  margin:0 0 22px;

  color:#4a8b7e;

  font-size:12px;
  line-height:1;

  font-weight:800;

  letter-spacing:.12em;
}


.winzin-case-build .case-build-module-title{
  margin:0 0 26px;

  color:#14262b;

  font-size:clamp(30px,3vw,42px);
  line-height:1.08;

  font-weight:750;

  letter-spacing:-.035em;
}


.winzin-case-build .case-build-content p{
  margin:0 0 18px;

  color:#60727d;

  font-size:15.5px;
  line-height:1.75;

  font-weight:500;
}


.winzin-case-build .case-build-content p:last-of-type{
  margin-bottom:0;
}


/* ================================================= */
/* ==================== TAGS ======================== */
/* ================================================= */

.winzin-case-build .case-build-tags{
  display:flex;
  flex-wrap:wrap;

  gap:8px;

  margin-top:30px;
}


.winzin-case-build .case-build-tags span{
  display:inline-flex;
  align-items:center;

  min-height:32px;

  padding:7px 12px;

  background:#edf5f2;

  border:
    1px solid rgba(70,130,116,.13);

  border-radius:999px;

  color:#356b61;

  font-size:11.5px;
  line-height:1.25;

  font-weight:650;

  letter-spacing:.01em;
}


/* ================================================= */
/* ============= C4 VISUAL ANNOTATIONS ============== */
/* ================================================= */

.winzin-case-build .case-build-visual-image{
  display:flex;
  flex-direction:column;
  align-items:stretch;
  justify-content:center;

  gap:18px;
}


/* ================================================= */
/* ================= CAPTION BASE =================== */
/* ================================================= */

.winzin-case-build .case-build-visual-note{
  position:relative !important;

  left:auto !important;
  right:auto !important;
  top:auto !important;
  bottom:auto !important;

  z-index:3;

  width:auto;

  margin:0;

  color:#244b44;
}


/* ================================================= */
/* ================= LABEL STYLE ==================== */
/* ================================================= */

.winzin-case-build .case-build-note-label{
  display:block;

  color:#4b877b;

  font-size:9px;
  line-height:1.25;

  font-weight:800;

  letter-spacing:.14em;
}


/* ================================================= */
/* =================== C4-01 ======================== */
/* ================================================= */

.winzin-case-build .case-build-foundation-note{
  align-self:flex-start;

  display:flex;
  align-items:center;

  width:auto;
  max-width:none;

  padding:11px 18px;

  background:rgba(255,255,255,.84);

  border:
    1px solid rgba(65,119,108,.13);

  border-radius:999px;

  box-shadow:
    0 8px 24px rgba(24,51,47,.045);

  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
}


.winzin-case-build
.case-build-foundation-note
.case-build-note-label{
  margin:0 14px 0 0;
  padding-right:14px;

  white-space:nowrap;
}


.winzin-case-build
.case-build-foundation-note strong{
  display:block;

  margin:0;

  color:#183b35;

  font-size:12.5px;
  line-height:1.3;

  font-weight:700;

  letter-spacing:-.01em;

  text-align:left;
}


/* ================================================= */
/* =================== C4-02 ======================== */
/* ================================================= */

.winzin-case-build .case-build-search-note{
  display:flex;

  align-items:center;
  justify-content:flex-start;

  gap:12px;

  align-self:flex-start;

  padding:7px;

  background:rgba(255,255,255,.78);

  border:
    1px solid rgba(65,119,108,.11);

  border-radius:999px;

  box-shadow:
    0 8px 24px rgba(24,51,47,.04);

  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
}


.winzin-case-build .case-build-search-pill{
  display:inline-flex;
  align-items:center;

  gap:8px;

  min-height:34px;

  padding:8px 13px;

  background:#ffffff;

  border:
    1px solid rgba(60,113,103,.14);

  border-radius:999px;

  color:#253f3b;

  font-size:11px;
  line-height:1;

  font-weight:700;
}


.winzin-case-build .case-build-search-icon{
  color:#398477;

  font-size:15px;
  line-height:1;
}


.winzin-case-build
.case-build-search-note
.case-build-note-label{
  padding-right:12px;

  white-space:nowrap;
}


/* ================================================= */
/* =================== C4-03 ======================== */
/* ================================================= */

.winzin-case-build .case-build-flow-note{
  align-self:center;

  display:inline-flex;
  align-items:center;
  justify-content:center;

  flex-wrap:wrap;

  gap:7px;

  width:auto;

  padding:11px 16px;

  background:rgba(255,255,255,.82);

  border:
    1px solid rgba(65,119,108,.13);

  border-radius:999px;

  box-shadow:
    0 8px 24px rgba(24,51,47,.045);

  color:#315f57;

  font-size:10px;
  line-height:1;

  font-weight:700;

  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
}


.winzin-case-build .case-build-flow-note b{
  color:#78a99f;

  font-size:10px;
  font-weight:700;
}


.winzin-case-build
.case-build-flow-note
.case-build-loop{
  margin-left:1px;

  color:#2f7669;

  font-size:15px;
  line-height:.8;
}


/* ================================================= */
/* ==================== MOBILE ====================== */
/* ================================================= */

@media(max-width:640px){

  .winzin-case-build .case-build-visual-image{
    gap:14px;
  }


  .winzin-case-build .case-build-foundation-note{
    max-width:240px;

    padding:11px 13px;
  }


  .winzin-case-build
  .case-build-foundation-note strong{
    font-size:11.5px;
  }


  .winzin-case-build .case-build-search-note{
    align-self:stretch;

    flex-wrap:wrap;

    border-radius:16px;

    padding:8px;
  }


  .winzin-case-build
  .case-build-search-note
  .case-build-note-label{
    padding:3px 8px 4px;
  }


  .winzin-case-build .case-build-flow-note{
    align-self:flex-start;

    border-radius:16px;

    font-size:9px;

    line-height:1.4;
  }

}
/* ================================================= */
/* =============== SUBTLE ATMOSPHERE ================ */
/* ================================================= */

.winzin-case-build
.case-build-visual-image::before{
  content:"";

  position:absolute;

  width:300px;
  height:300px;

  top:-180px;
  right:-150px;

  border-radius:50%;

  background:
    radial-gradient(
      circle,
      rgba(83,144,130,.07) 0%,
      transparent 70%
    );

  pointer-events:none;
}


.winzin-case-build
.case-build-visual-image::after{
  content:"";

  position:absolute;

  width:260px;
  height:260px;

  bottom:-170px;
  left:-150px;

  border-radius:50%;

  background:
    radial-gradient(
      circle,
      rgba(189,218,209,.10) 0%,
      transparent 70%
    );

  pointer-events:none;
}


.winzin-case-build
.case-build-visual-image img{
  position:relative;
  z-index:2;
}


/* ================================================= */
/* ==================== TABLET ====================== */
/* ================================================= */

@media(max-width:980px){

  .winzin-case-build{
    padding:90px 20px 96px;
  }


  .winzin-case-build .case-build-intro{
    margin-bottom:74px;
  }


  .winzin-case-build .case-build-module{
    grid-template-columns:1fr;

    gap:44px;

    padding-bottom:76px;
    margin-bottom:76px;
  }


  .winzin-case-build .case-build-content{
    max-width:650px;
  }


  .winzin-case-build
  .case-build-module-reverse
  .case-build-content{
    order:1;
  }


  .winzin-case-build
  .case-build-module-reverse
  .case-build-visual{
    order:2;
  }


  .winzin-case-build .case-build-visual-image{
    min-height:auto;

    padding:20px;
  }


  .winzin-case-build
  .case-build-visual-image img{
    max-height:none;
  }

}


/* ================================================= */
/* ==================== MOBILE ====================== */
/* ================================================= */

@media(max-width:640px){

  .winzin-case-build{
    padding:70px 18px 76px;
  }


  .winzin-case-build .case-build-intro{
    margin-bottom:58px;
  }


  .winzin-case-build .case-build-title{
    font-size:39px;
  }


  .winzin-case-build .case-build-lead{
    font-size:16px;
  }


  .winzin-case-build .case-build-module{
    gap:30px;

    padding-bottom:58px;
    margin-bottom:58px;
  }


  .winzin-case-build .case-build-module-title{
    font-size:31px;
  }


  .winzin-case-build .case-build-content p{
    font-size:15px;
  }


  .winzin-case-build .case-build-visual-image{
    padding:12px;

    border-radius:20px;
  }


  .winzin-case-build
  .case-build-visual-image img{
    width:100%;

    max-height:none;

    border-radius:14px;
  }

}
/* Reserve a quiet caption zone inside each visual */

.winzin-case-build .case-build-visual-foundation,
.winzin-case-build .case-build-visual-search,
.winzin-case-build .case-build-visual-workflow{
  padding-bottom:82px;
}


.winzin-case-build
.case-build-visual-foundation img,
.winzin-case-build
.case-build-visual-search img,
.winzin-case-build
.case-build-visual-workflow img{
  transform:translateY(-10px);
}
/* ================================================= */
/* ========== C4 FINAL VISUAL SPACING POLISH ======== */
/* ================================================= */


/* ---------- 01 : GSC + FOUNDATION ---------- */

.winzin-case-build
.case-build-module:nth-of-type(1)
.case-build-visual-image{
  gap:18px;
}

.winzin-case-build
.case-build-module:nth-of-type(1)
.case-build-foundation-note{
  width:auto;
  max-width:none;

  margin-top:0;

  padding:11px 18px;

  border-radius:999px;
}

/* ---------- 02 : SERP + SEARCH INTENT ---------- */

.winzin-case-build
.case-build-module:nth-of-type(2)
.case-build-visual-image{
  gap:12px;
}

.winzin-case-build
.case-build-module:nth-of-type(2)
.case-build-search-note{
  margin-top:-2px;
}


/* ---------- 03 : WORKFLOW + LOOP ---------- */

.winzin-case-build
.case-build-module:nth-of-type(3)
.case-build-visual-image{
  gap:10px;
}

.winzin-case-build
.case-build-module:nth-of-type(3)
.case-build-flow-note{
  margin-top:-2px;
}
.winzin-case-build .case-build-foundation-note{
  display:flex;
  align-items:center;
  gap:14px;

  max-width:none;

  padding:11px 16px;

  border-radius:14px;
}

.winzin-case-build
.case-build-foundation-note
.case-build-note-label{
  margin:0;

  white-space:nowrap;
}

.winzin-case-build
.case-build-foundation-note strong{
  padding-left:14px;

  border-left:1px solid rgba(65,119,108,.14);

  white-space:nowrap;
}
/* ================================================= */
/* ================= C5 EVIDENCE ==================== */
/* ================================================= */

.winzin-case-evidence,
.winzin-case-evidence *{
  box-sizing:border-box;
}

.winzin-case-evidence{
  position:relative;

  padding:120px 20px 126px;

  overflow:hidden;

  background:
    radial-gradient(
      circle at 8% 18%,
      rgba(220,235,255,.48) 0%,
      transparent 34%
    ),
    radial-gradient(
      circle at 92% 72%,
      rgba(255,225,207,.38) 0%,
      transparent 36%
    ),
    linear-gradient(
      180deg,
      #ffffff 0%,
      #fbfcfd 100%
    );
}


/* ================================================= */
/* ================= C5 CONTAINER =================== */
/* ================================================= */

.winzin-case-evidence .case-evidence-inner{
  position:relative;
  z-index:2;

  width:100%;
  max-width:1140px;

  margin:0 auto;
}


/* ================================================= */
/* =================== C5 INTRO ===================== */
/* ================================================= */

.winzin-case-evidence .case-evidence-intro{
  width:100%;
  max-width:760px;

  margin:0 0 64px;
}


.winzin-case-evidence .case-evidence-eyebrow{
  display:block;

  margin:0 0 22px;

  color:#2f7669;

  font-size:11.5px;
  line-height:1.4;

  font-weight:750;

  letter-spacing:.17em;
}


.winzin-case-evidence .case-evidence-title{
  margin:0 0 25px;

  color:#14262b;

  font-size:clamp(42px,4.5vw,60px);
  line-height:1.04;

  font-weight:750;

  letter-spacing:-.045em;
}


.winzin-case-evidence .case-evidence-lead{
  width:100%;
  max-width:690px;

  margin:0;

  color:#60727d;

  font-size:17px;
  line-height:1.72;

  font-weight:500;
}

/* ================================================= */
/* ================= C5 VISUAL ====================== */
/* ================================================= */

.winzin-case-evidence .case-evidence-visual{
  width:100%;

  margin:0;
}


/* ================================================= */
/* ================= IMAGE FRAME ==================== */
/* ================================================= */

.winzin-case-evidence .case-evidence-image{
  position:relative;

  width:100%;
  height:clamp(480px,53vw,650px);

  overflow:hidden;

  background:#eef3f5;

  border-radius:30px;

  box-shadow:
    0 24px 60px rgba(24,42,48,.075);
}


.winzin-case-evidence .case-evidence-image img{
  display:block;

  width:100%;
  height:100%;

  object-fit:cover;
  object-position:center;

  transition:
    transform .8s cubic-bezier(.2,.65,.3,1);
}


.winzin-case-evidence
.case-evidence-visual:hover
.case-evidence-image img{
  transform:scale(1.012);
}


/* ================================================= */
/* =================== CAPTION ====================== */
/* ================================================= */

.winzin-case-evidence .case-evidence-caption{
  display:flex;
  align-items:center;
  justify-content:space-between;

  gap:28px;

  width:100%;

  padding:22px 4px 0;
}


.winzin-case-evidence .case-evidence-caption-label{
  flex:0 0 auto;

  color:#183b35;

  font-size:13px;
  line-height:1.4;

  font-weight:750;
}


.winzin-case-evidence .case-evidence-caption-text{
  max-width:520px;

  color:#73828b;

  font-size:13px;
  line-height:1.55;

  font-weight:500;

  text-align:right;
}


/* ================================================= */
/* ============== SUBTLE VISUAL DEPTH =============== */
/* ================================================= */

.winzin-case-evidence .case-evidence-image::after{
  content:"";

  position:absolute;
  inset:0;

  pointer-events:none;

  border:
    1px solid rgba(20,38,43,.07);

  border-radius:inherit;

  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.12);
}


/* ================================================= */
/* ==================== TABLET ====================== */
/* ================================================= */

@media(max-width:980px){

  .winzin-case-evidence{
    padding:92px 20px 98px;
  }

  .winzin-case-evidence .case-evidence-intro{
    margin-bottom:52px;
  }

  .winzin-case-evidence .case-evidence-image{
    height:clamp(420px,65vw,570px);
  }

}


/* ================================================= */
/* ==================== MOBILE ====================== */
/* ================================================= */

@media(max-width:640px){

  .winzin-case-evidence{
    padding:72px 18px 78px;
  }

  .winzin-case-evidence .case-evidence-intro{
    margin-bottom:40px;
  }

  .winzin-case-evidence .case-evidence-title{
    font-size:39px;
  }

  .winzin-case-evidence .case-evidence-lead{
    font-size:16px;
  }

  .winzin-case-evidence .case-evidence-image{
    height:430px;

    border-radius:22px;
  }

  .winzin-case-evidence .case-evidence-caption{
    display:block;

    padding:18px 2px 0;
  }

  .winzin-case-evidence .case-evidence-caption-label{
    display:block;

    margin-bottom:6px;
  }

  .winzin-case-evidence .case-evidence-caption-text{
    display:block;

    max-width:100%;

    text-align:left;
  }

}
/* ================================================= */
/* ================= C6 RESULTS ===================== */
/* ================================================= */

.winzin-case-results,
.winzin-case-results *{
  box-sizing:border-box;
}

.winzin-case-results{
  position:relative;

  padding:118px 20px 124px;

  overflow:hidden;

  background:
    radial-gradient(
      circle at 8% 12%,
      rgba(220,235,255,.42) 0%,
      transparent 34%
    ),
    radial-gradient(
      circle at 92% 82%,
      rgba(255,225,207,.34) 0%,
      transparent 36%
    ),
    linear-gradient(
      180deg,
      #ffffff 0%,
      #fbfcfd 52%,
      #ffffff 100%
    );
}


/* ================================================= */
/* ================= C6 CONTAINER =================== */
/* ================================================= */

.winzin-case-results .case-results-inner{
  position:relative;
  z-index:2;

  width:100%;
  max-width:1140px;

  margin:0 auto;
}


/* ================================================= */
/* =================== C6 INTRO ===================== */
/* ================================================= */

.winzin-case-results .case-results-intro{
  width:100%;
  max-width:760px;

  margin:0 0 68px;
}


.winzin-case-results .case-results-eyebrow{
  display:block;

  margin:0 0 22px;

  color:#2f7669;

  font-size:11.5px;
  line-height:1.4;

  font-weight:750;

  letter-spacing:.17em;
}


.winzin-case-results .case-results-title{
  margin:0 0 25px;

  color:#14262b;

  font-size:clamp(42px,4.5vw,60px);
  line-height:1.04;

  font-weight:750;

  letter-spacing:-.045em;
}


.winzin-case-results .case-results-lead{
  width:100%;
  max-width:690px;

  margin:0;

  color:#60727d;

  font-size:17px;
  line-height:1.72;

  font-weight:500;
}


/* ================================================= */
/* ================= RESULTS GRID =================== */
/* ================================================= */

.winzin-case-results .case-results-grid{
  display:grid;

  grid-template-columns:
    1.18fr .91fr .91fr;

  gap:18px;

  width:100%;

  align-items:stretch;
}


/* ================================================= */
/* ================= RESULT CARD ==================== */
/* ================================================= */

.winzin-case-results .case-result-card{
  position:relative;

  display:flex;
  flex-direction:column;

  width:100%;
  min-width:0;
  min-height:390px;

  padding:32px;

  overflow:hidden;

  background:
    rgba(255,255,255,.78);

  border:
    1px solid rgba(69,102,112,.12);

  border-radius:26px;

  box-shadow:
    0 18px 46px rgba(24,42,48,.055);

  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
}


/* ================================================= */
/* ================= CARD HEADER ==================== */
/* ================================================= */

.winzin-case-results .case-result-number{
  display:block;

  margin:0 0 17px;

  color:#4a8b7e;

  font-size:11px;
  line-height:1;

  font-weight:800;

  letter-spacing:.12em;
}


.winzin-case-results .case-result-label{
  display:block;

  color:#63747d;

  font-size:10.5px;
  line-height:1.3;

  font-weight:750;

  letter-spacing:.15em;
}


/* ================================================= */
/* ================= ACQUISITION ==================== */
/* ================================================= */

.winzin-case-results .case-result-metrics{
  display:grid;

  grid-template-columns:
    minmax(0,1.12fr)
    minmax(0,.88fr);

  gap:0;

  width:100%;

  margin-top:72px;
}


.winzin-case-results .case-result-metric{
  min-width:0;

  padding:28px 20px 4px 0;
}


.winzin-case-results
.case-result-metric + .case-result-metric{
  padding-left:24px;
  padding-right:0;

  border-left:
    1px solid rgba(69,102,112,.12);
}


.winzin-case-results .case-result-metric strong{
  display:block;

  margin:0 0 14px;

  color:#14262b;

  font-size:clamp(40px,3.6vw,54px);
  line-height:.95;

  font-weight:760;

  letter-spacing:-.055em;

  white-space:nowrap;
}


.winzin-case-results .case-result-metric span{
  display:block;

  max-width:165px;

  color:#60727d;

  font-size:13px;
  line-height:1.55;

  font-weight:500;
}


/* ================================================= */
/* =============== PRIMARY RESULTS ================= */
/* ================================================= */

.winzin-case-results .case-result-primary{
  margin-top:72px;
}


.winzin-case-results .case-result-primary strong{
  display:block;

  margin:0;

  color:#14262b;

  font-size:clamp(72px,7vw,100px);
  line-height:.82;

  font-weight:760;

  letter-spacing:-.065em;
}


.winzin-case-results .case-result-primary h3{
  margin:12px 0 16px;

  color:#14262b;

  font-size:22px;
  line-height:1.15;

  font-weight:700;

  letter-spacing:-.025em;
}


.winzin-case-results .case-result-primary p{
  max-width:250px;

  margin:0;

  color:#60727d;

  font-size:13px;
  line-height:1.6;

  font-weight:500;
}


/* ================================================= */
/* ============== ATTRIBUTED RESULT ================= */
/* ================================================= */

.winzin-case-results .case-result-attributed{
  background:
    radial-gradient(
      circle at 90% 10%,
      rgba(220,235,255,.48) 0%,
      transparent 52%
    ),
    rgba(255,255,255,.82);
}


/* ================================================= */
/* ================ PROJECT OUTCOME ================= */
/* ================================================= */

.winzin-case-results .case-result-outcome{
  background:
    radial-gradient(
      circle at 90% 10%,
      rgba(255,225,207,.42) 0%,
      transparent 52%
    ),
    rgba(255,255,255,.82);
}


/* ================================================= */
/* =============== ATTRIBUTION NOTE ================= */
/* ================================================= */

.winzin-case-results .case-results-attribution{
  display:grid;

  grid-template-columns:
    155px minmax(0,1fr);

  gap:28px;

  align-items:start;

  width:100%;
  max-width:850px;

  margin:30px 0 0;

  padding:22px 0 0;

  border-top:
    1px solid rgba(69,102,112,.12);
}


.winzin-case-results .case-results-attribution > span{
  color:#4a8b7e;

  font-size:10px;
  line-height:1.4;

  font-weight:800;

  letter-spacing:.14em;
}


.winzin-case-results .case-results-attribution p{
  max-width:650px;

  margin:0;

  color:#78868e;

  font-size:12.5px;
  line-height:1.65;

  font-weight:500;
}


/* ================================================= */
/* ==================== TABLET ====================== */
/* ================================================= */

@media(max-width:980px){

  .winzin-case-results{
    padding:92px 20px 98px;
  }


  .winzin-case-results .case-results-intro{
    margin-bottom:54px;
  }


  .winzin-case-results .case-results-grid{
    grid-template-columns:1fr 1fr;
  }


  .winzin-case-results .case-result-acquisition{
    grid-column:1 / -1;

    min-height:320px;
  }


  .winzin-case-results .case-result-card{
    min-height:360px;
  }


  .winzin-case-results .case-result-metrics{
    margin-top:58px;

    grid-template-columns:1fr 1fr;
  }


  .winzin-case-results .case-result-primary{
    margin-top:58px;
  }


  .winzin-case-results .case-result-metric strong{
    font-size:clamp(44px,7vw,58px);
  }

}


/* ================================================= */
/* ==================== MOBILE ====================== */
/* ================================================= */

@media(max-width:640px){

  .winzin-case-results{
    padding:72px 18px 78px;
  }


  .winzin-case-results .case-results-intro{
    margin-bottom:42px;
  }


  .winzin-case-results .case-results-title{
    font-size:39px;
  }


  .winzin-case-results .case-results-lead{
    font-size:16px;
  }


  .winzin-case-results .case-results-grid{
    grid-template-columns:1fr;

    gap:14px;
  }


  .winzin-case-results .case-result-acquisition{
    grid-column:auto;
  }


  .winzin-case-results .case-result-card{
    min-height:auto;

    padding:26px;

    border-radius:22px;
  }


  .winzin-case-results .case-result-metrics{
    grid-template-columns:1fr 1fr;

    margin-top:46px;
  }


  .winzin-case-results .case-result-metric{
    padding:
      18px 16px
      0 0;
  }


  .winzin-case-results
  .case-result-metric + .case-result-metric{
    padding-left:18px;
  }


  .winzin-case-results .case-result-metric strong{
    font-size:clamp(36px,11vw,48px);
  }


  .winzin-case-results .case-result-metric span{
    font-size:12.5px;
  }


  .winzin-case-results .case-result-primary{
    margin-top:46px;
  }


  .winzin-case-results .case-result-primary strong{
    font-size:78px;
  }


  .winzin-case-results .case-results-attribution{
    grid-template-columns:1fr;

    gap:10px;

    margin-top:26px;
  }

}
/* ================================================= */
/* =============== C7 COMPOUNDING ================== */
/* ================================================= */

.winzin-case-compound,
.winzin-case-compound *{
  box-sizing:border-box;
}

.winzin-case-compound{
  position:relative;

  padding:118px 20px 124px;

  overflow:hidden;

  background:
    radial-gradient(
      circle at 4% 14%,
      rgba(220,235,255,.38) 0%,
      transparent 32%
    ),
    radial-gradient(
      circle at 94% 86%,
      rgba(255,225,207,.30) 0%,
      transparent 34%
    ),
    linear-gradient(
      180deg,
      #ffffff 0%,
      #fbfcfd 52%,
      #ffffff 100%
    );
}


/* ================================================= */
/* ================= CONTAINER ====================== */
/* ================================================= */

.winzin-case-compound .case-compound-inner{
  position:relative;
  z-index:2;

  width:100%;
  max-width:1140px;

  margin:0 auto;
}


/* ================================================= */
/* =================== INTRO ======================== */
/* ================================================= */

.winzin-case-compound .case-compound-intro{
  width:100%;
  max-width:790px;

  margin:0 0 76px;
}


.winzin-case-compound .case-compound-eyebrow{
  display:block;

  margin:0 0 22px;

  color:#2f7669;

  font-size:11.5px;
  line-height:1.4;

  font-weight:750;

  letter-spacing:.17em;
}


.winzin-case-compound .case-compound-title{
  margin:0 0 26px;

  color:#14262b;

  font-size:clamp(42px,4.5vw,60px);
  line-height:1.04;

  font-weight:750;

  letter-spacing:-.045em;
}


.winzin-case-compound .case-compound-lead{
  width:100%;
  max-width:690px;

  margin:0;

  color:#60727d;

  font-size:17px;
  line-height:1.72;

  font-weight:500;
}


/* ================================================= */
/* ============== SYSTEM CONTAINER ================= */
/* ================================================= */

.winzin-case-compound .case-compound-system{
  width:100%;

  padding:38px;

  background:
    rgba(255,255,255,.72);

  border:
    1px solid rgba(69,102,112,.12);

  border-radius:28px;

  box-shadow:
    0 18px 48px rgba(24,42,48,.045);

  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
}


.winzin-case-compound .case-compound-system-label{
  display:flex;
  align-items:center;

  margin:0 0 30px;
}


.winzin-case-compound .case-compound-system-label span{
  color:#4a8b7e;

  font-size:10.5px;
  line-height:1.4;

  font-weight:800;

  letter-spacing:.16em;
}


/* ================================================= */
/* ================= ASSET GRID ===================== */
/* ================================================= */

.winzin-case-compound .case-compound-assets{
  display:grid;

  grid-template-columns:
    repeat(4,minmax(0,1fr));

  width:100%;

  border-top:
    1px solid rgba(69,102,112,.11);

  border-left:
    1px solid rgba(69,102,112,.11);
}


.winzin-case-compound .case-compound-asset{
  position:relative;

  min-height:190px;

  padding:25px 24px 28px;

  background:
    rgba(255,255,255,.44);

  border-right:
    1px solid rgba(69,102,112,.11);

  border-bottom:
    1px solid rgba(69,102,112,.11);
}


.winzin-case-compound .case-compound-index{
  display:block;

  margin:0 0 34px;

  color:#4a8b7e;

  font-size:10px;
  line-height:1;

  font-weight:800;

  letter-spacing:.12em;
}


.winzin-case-compound .case-compound-asset h3{
  margin:0 0 10px;

  color:#14262b;

  font-size:16px;
  line-height:1.25;

  font-weight:700;

  letter-spacing:-.02em;
}


.winzin-case-compound .case-compound-asset p{
  max-width:190px;

  margin:0;

  color:#6b7c85;

  font-size:12.5px;
  line-height:1.6;

  font-weight:500;
}


/* ================================================= */
/* =============== SUBTLE ASSET TINTS =============== */
/* ================================================= */

.winzin-case-compound
.case-compound-asset:nth-child(2),
.winzin-case-compound
.case-compound-asset:nth-child(5){
  background:
    radial-gradient(
      circle at 100% 0%,
      rgba(220,235,255,.34),
      transparent 65%
    ),
    rgba(255,255,255,.48);
}


.winzin-case-compound
.case-compound-asset:nth-child(4),
.winzin-case-compound
.case-compound-asset:nth-child(7){
  background:
    radial-gradient(
      circle at 100% 0%,
      rgba(255,225,207,.28),
      transparent 65%
    ),
    rgba(255,255,255,.48);
}


/* ================================================= */
/* ============== PROJECT PROGRESSION =============== */
/* ================================================= */

.winzin-case-compound .case-compound-progression{
  display:grid;

  grid-template-columns:
    minmax(0,.72fr)
    minmax(0,1.28fr);

  gap:70px;

  align-items:center;

  width:100%;

  margin-top:84px;
  padding-top:76px;

  border-top:
    1px solid rgba(69,102,112,.12);
}


/* ================================================= */
/* ============== PROGRESSION COPY ================= */
/* ================================================= */

.winzin-case-compound
.case-compound-progression-label{
  display:block;

  margin:0 0 18px;

  color:#4a8b7e;

  font-size:10.5px;
  line-height:1.4;

  font-weight:800;

  letter-spacing:.16em;
}


.winzin-case-compound
.case-compound-progression-copy h3{
  max-width:420px;

  margin:0 0 18px;

  color:#14262b;

  font-size:clamp(28px,3vw,38px);
  line-height:1.1;

  font-weight:730;

  letter-spacing:-.035em;
}


.winzin-case-compound
.case-compound-progression-copy p{
  max-width:430px;

  margin:0;

  color:#60727d;

  font-size:14.5px;
  line-height:1.7;

  font-weight:500;
}


/* ================================================= */
/* ================= PROJECT JOURNEY ================ */
/* ================================================= */

.winzin-case-compound .case-compound-journey{
  display:flex;

  align-items:stretch;

  width:100%;
}


/* ================================================= */
/* ================= PROJECT NODE =================== */
/* ================================================= */

.winzin-case-compound .case-compound-project{
  display:flex;
  flex:1;
  flex-direction:column;
  justify-content:center;

  min-width:0;
  min-height:150px;

  padding:24px 22px;

  background:
    rgba(255,255,255,.76);

  border:
    1px solid rgba(69,102,112,.13);

  border-radius:20px;

  box-shadow:
    0 12px 30px rgba(24,42,48,.045);
}


.winzin-case-compound
.case-compound-project-first{
  background:
    radial-gradient(
      circle at 90% 10%,
      rgba(220,235,255,.48),
      transparent 60%
    ),
    rgba(255,255,255,.82);
}


.winzin-case-compound .case-compound-project > span{
  display:block;

  margin:0 0 24px;

  color:#4a8b7e;

  font-size:10px;
  line-height:1;

  font-weight:800;

  letter-spacing:.12em;
}


.winzin-case-compound .case-compound-project strong{
  display:block;

  margin:0 0 7px;

  color:#14262b;

  font-size:16px;
  line-height:1.25;

  font-weight:700;
}


.winzin-case-compound .case-compound-project small{
  display:block;

  color:#78868e;

  font-size:11px;
  line-height:1.4;

  font-weight:600;

  letter-spacing:.04em;
}


/* ================================================= */
/* ===================== ARROW ====================== */
/* ================================================= */

.winzin-case-compound .case-compound-arrow{
  display:flex;
  align-items:center;
  justify-content:center;

  flex:0 0 38px;

  color:#4a8b7e;

  font-size:20px;
  line-height:1;

  font-weight:500;
}


/* ================================================= */
/* ==================== TABLET ====================== */
/* ================================================= */

@media(max-width:980px){

  .winzin-case-compound{
    padding:92px 20px 98px;
  }


  .winzin-case-compound .case-compound-intro{
    margin-bottom:58px;
  }


  .winzin-case-compound .case-compound-assets{
    grid-template-columns:
      repeat(2,minmax(0,1fr));
  }


  .winzin-case-compound .case-compound-progression{
    grid-template-columns:1fr;

    gap:44px;

    margin-top:68px;
    padding-top:62px;
  }

}


/* ================================================= */
/* ==================== MOBILE ====================== */
/* ================================================= */

@media(max-width:640px){

  .winzin-case-compound{
    padding:72px 18px 78px;
  }


  .winzin-case-compound .case-compound-intro{
    margin-bottom:44px;
  }


  .winzin-case-compound .case-compound-title{
    font-size:39px;
  }


  .winzin-case-compound .case-compound-lead{
    font-size:16px;
  }


  .winzin-case-compound .case-compound-system{
    padding:24px 18px;

    border-radius:22px;
  }


  .winzin-case-compound .case-compound-assets{
    grid-template-columns:1fr;
  }


  .winzin-case-compound .case-compound-asset{
    min-height:auto;

    padding:22px;
  }


  .winzin-case-compound .case-compound-index{
    margin-bottom:22px;
  }


  .winzin-case-compound .case-compound-asset p{
    max-width:none;
  }


  .winzin-case-compound .case-compound-progression{
    margin-top:58px;
    padding-top:54px;
  }


  .winzin-case-compound .case-compound-journey{
    flex-direction:column;
  }


  .winzin-case-compound .case-compound-project{
    min-height:125px;
  }


  .winzin-case-compound .case-compound-arrow{
    flex:0 0 38px;

    transform:rotate(90deg);
  }

}

/* ================================================= */
/* =============== CASE STUDY CLOSE ================= */
/* ================================================= */

.winzin-case-close,
.winzin-case-close *{
  box-sizing:border-box;
}


/* ================================================= */
/* ================= SECTION SHELL ================== */
/* ================================================= */

.winzin-case-close{
  position:relative;

  width:100%;

  padding:116px 20px 82px;

  overflow:hidden;

  background:
    radial-gradient(
      circle at 8% 18%,
      rgba(220,235,255,.42) 0%,
      transparent 34%
    ),
    radial-gradient(
      circle at 92% 48%,
      rgba(255,224,205,.34) 0%,
      transparent 36%
    ),
    #ffffff;
}


/* Remove WPBakery spacing interference */

.winzin-case-close > .wpb_column,
.winzin-case-close > .vc_column_container,
.winzin-case-close .wpb_wrapper{
  margin-top:0;
  margin-bottom:0;
}


/* ================================================= */
/* ================= INNER WIDTH ==================== */
/* ================================================= */

.winzin-case-close .case-close-inner{
  position:relative;
  z-index:2;

  width:100%;
  max-width:1140px;

  margin:0 auto;
}


/* ================================================= */
/* ================= CLIENT VOICE =================== */
/* ================================================= */

.winzin-case-close .case-close-testimonial{
  display:grid;

  grid-template-columns:
    280px minmax(0,1fr);

  gap:82px;

  align-items:start;

  width:100%;

  padding:0 0 104px;
}


/* ================================================= */
/* ================= PERSON ========================= */
/* ================================================= */

.winzin-case-close .case-close-person{
  width:100%;
}


.winzin-case-close .case-close-photo{
  width:230px;

  overflow:hidden;

  border-radius:22px;

  box-shadow:
    0 14px 36px rgba(18,36,43,.07);
}


.winzin-case-close .case-close-photo img{
  display:block;

  width:100%;
  height:auto;

  aspect-ratio:4 / 5;

  object-fit:cover;
}


.winzin-case-close .case-close-person-meta{
  margin-top:18px;
}


.winzin-case-close .case-close-person-meta strong{
  display:block;

  margin:0 0 5px;

  color:#14262b;

  font-size:14px;
  line-height:1.35;

  font-weight:750;
}


.winzin-case-close .case-close-person-meta span{
  display:block;

  color:#788891;

  font-size:12.5px;
  line-height:1.45;

  font-weight:500;
}


/* ================================================= */
/* ================= QUOTE ========================== */
/* ================================================= */

.winzin-case-close .case-close-quote{
  width:100%;
  max-width:760px;
}


.winzin-case-close .case-close-eyebrow{
  display:block;

  margin:2px 0 28px;

  color:#2f7669;

  font-size:11px;
  line-height:1.3;

  font-weight:800;

  letter-spacing:.17em;
}


.winzin-case-close .case-close-quote blockquote{
  margin:0 !important;
  padding:0 !important;

  border:0 !important;

  background:none !important;
}


.winzin-case-close .case-close-quote blockquote::before,
.winzin-case-close .case-close-quote blockquote::after{
  display:none !important;
  content:none !important;
}


.winzin-case-close .case-close-quote blockquote p{
  margin:0 0 24px !important;
  padding:0 !important;

  color:#14262b !important;

  font-size:clamp(19px,1.45vw,23px) !important;
  line-height:1.55 !important;

  font-weight:500 !important;

  letter-spacing:-.018em !important;
}


.winzin-case-close
.case-close-quote
blockquote p:last-child{
  margin-bottom:0 !important;
}


/* ================================================= */
/* ================= PRIMARY CTA ==================== */
/* ================================================= */

.winzin-case-close .case-close-cta{
  position:relative;

  width:100%;

  margin:0 0 92px;

  padding:62px 70px;

  overflow:hidden;

  background:
    radial-gradient(
      circle at 90% 20%,
      rgba(220,235,255,.28) 0%,
      transparent 40%
    ),
    radial-gradient(
      circle at 12% 90%,
      rgba(255,225,207,.22) 0%,
      transparent 42%
    ),
    rgba(255,255,255,.82);

  border:
    1px solid rgba(69,102,112,.13);

  border-radius:28px;

  box-shadow:
    0 18px 48px rgba(24,42,48,.055);

  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
}


/* ================================================= */
/* ================= CTA COPY ======================= */
/* ================================================= */

.winzin-case-close .case-close-cta-copy{
  width:100%;
  max-width:680px;
}


.winzin-case-close .case-close-cta-label{
  display:block;

  margin:0 0 22px;

  color:#4a8b7e;

  font-size:10.5px;
  line-height:1.3;

  font-weight:800;

  letter-spacing:.16em;
}


.winzin-case-close .case-close-cta h2{
  margin:0 0 22px;

  color:#14262b;

  font-size:clamp(34px,3.4vw,46px);
  line-height:1.08;

  font-weight:750;

  letter-spacing:-.04em;
}


.winzin-case-close .case-close-cta p{
  width:100%;
  max-width:620px;

  margin:0;

  color:#60727d;

  font-size:15.5px;
  line-height:1.72;

  font-weight:500;
}


/* ================================================= */
/* ================= CTA BUTTON ===================== */
/* ================================================= */

.winzin-case-close .case-close-button{
  display:inline-flex;

  align-items:center;
  justify-content:center;

  gap:28px;

  min-height:54px;

  margin-top:30px;

  padding:0 24px;

  background:#26363d;

  border:1px solid #26363d;

  border-radius:10px;

  color:#ffffff !important;

  font-size:13.5px;
  line-height:1;

  font-weight:750;

  text-decoration:none !important;

  transition:
    transform .2s ease,
    background .2s ease,
    box-shadow .2s ease;
}


.winzin-case-close .case-close-button:hover{
  transform:translateY(-2px);

  background:#17262c;

  border-color:#17262c;

  color:#ffffff !important;

  box-shadow:
    0 12px 28px rgba(18,36,43,.14);
}


.winzin-case-close .case-close-button-arrow{
  font-size:20px;
  line-height:1;

  transition:transform .2s ease;
}


.winzin-case-close
.case-close-button:hover
.case-close-button-arrow{
  transform:translateX(4px);
}


/* ================================================= */
/* ================= NEXT CASE ====================== */
/* ================================================= */

.winzin-case-close .case-close-next{
  display:grid;

  grid-template-columns:
    minmax(0,1fr) auto;

  gap:40px;

  align-items:end;

  width:100%;

  padding:36px 0 8px;

  border-top:
    1px solid rgba(69,102,112,.14);

  color:#14262b !important;

  text-decoration:none !important;

  transition:opacity .2s ease;
}


.winzin-case-close .case-close-next:hover{
  opacity:.78;
}


/* ================================================= */
/* ================= NEXT META ====================== */
/* ================================================= */

.winzin-case-close .case-close-next-meta > span{
  display:block;

  margin:0 0 10px;

  color:#4a8b7e;

  font-size:10.5px;
  line-height:1.3;

  font-weight:800;

  letter-spacing:.16em;
}


.winzin-case-close .case-close-next-meta small{
  display:block;

  color:#7a8991;

  font-size:12.5px;
  line-height:1.5;

  font-weight:500;
}


/* ================================================= */
/* ================= NEXT TITLE ===================== */
/* ================================================= */

.winzin-case-close .case-close-next-title{
  display:flex;

  align-items:center;

  gap:24px;
}


.winzin-case-close .case-close-next-title strong{
  display:block;

  color:#14262b;

  font-size:clamp(28px,3vw,38px);
  line-height:1;

  font-weight:750;

  letter-spacing:-.04em;
}


.winzin-case-close .case-close-next-title > span{
  display:block;

  color:#2f7669;

  font-size:30px;
  line-height:1;

  transition:transform .2s ease;
}


.winzin-case-close
.case-close-next:hover
.case-close-next-title > span{
  transform:translateX(6px);
}


/* ================================================= */
/* ==================== TABLET ====================== */
/* ================================================= */

@media(max-width:980px){

  .winzin-case-close{
    padding:92px 20px 72px;
  }


  .winzin-case-close .case-close-testimonial{
    grid-template-columns:210px minmax(0,1fr);

    gap:48px;

    padding-bottom:82px;
  }


  .winzin-case-close .case-close-photo{
    width:200px;
  }


  .winzin-case-close .case-close-cta{
    padding:54px;
  }

}


/* ================================================= */
/* ==================== MOBILE ====================== */
/* ================================================= */

@media(max-width:640px){

  .winzin-case-close{
    padding:72px 18px 58px;
  }


  .winzin-case-close .case-close-testimonial{
    grid-template-columns:1fr;

    gap:38px;

    padding-bottom:68px;
  }


  .winzin-case-close .case-close-photo{
    width:180px;
  }


  .winzin-case-close .case-close-eyebrow{
    margin-bottom:20px;
  }


  .winzin-case-close .case-close-quote blockquote p{
    font-size:18px !important;

    line-height:1.55 !important;
  }


  .winzin-case-close .case-close-cta{
    margin-bottom:66px;

    padding:38px 28px;

    border-radius:22px;
  }


  .winzin-case-close .case-close-cta h2{
    font-size:34px;
  }


  .winzin-case-close .case-close-button{
    width:100%;

    justify-content:space-between;
  }


  .winzin-case-close .case-close-next{
    grid-template-columns:1fr;

    gap:26px;

    align-items:start;
  }


  .winzin-case-close .case-close-next-title{
    justify-content:space-between;
  }

}
.case-close-form-wrap{
  max-height:0;
  opacity:0;
  overflow:hidden;
  transform:translateY(-8px);

  transition:
    max-height .55s cubic-bezier(.22,1,.36,1),
    opacity .3s ease,
    transform .45s cubic-bezier(.22,1,.36,1);
}

.case-close-form-wrap.is-open{
  max-height:850px;
  opacity:1;
  transform:translateY(0);
}

/* ================================================= */
/* ============ CASE STUDY ENQUIRY FORM ============= */
/* ================================================= */


/* ================================================= */
/* ================ FORM CONTAINER ================== */
/* ================================================= */

.winzin-case-close .case-close-form-wrap{
  width:100%;
  max-width:680px;

  max-height:0;
  margin-top:0;

  overflow:hidden;

  opacity:0;
  transform:translateY(-8px);

  transition:
    max-height .55s cubic-bezier(.22,1,.36,1),
    opacity .30s ease,
    transform .45s cubic-bezier(.22,1,.36,1),
    margin-top .45s ease;
}


/* OPEN STATE */

.winzin-case-close .case-close-form-wrap.is-open{
  max-height:1200px;
  margin-top:34px;

  opacity:1;
  transform:translateY(0);
}

/* =========================================================
   WINZIN CASE STUDY ENQUIRY FORM
   CF7 + NYSSA ISOLATED
   ========================================================= */


/* =========================================================
   01. CF7 ROOT
   ========================================================= */

.winzin-case-close .wpcf7,
.winzin-case-close .wpcf7 form.wpcf7-form{
  width:100% !important;
  max-width:100% !important;

  margin:0 !important;
  padding:0 !important;

  float:none !important;

  box-sizing:border-box !important;
}


/* =========================================================
   02. FORM ROOT
   ========================================================= */

.winzin-case-close
.wpcf7
form.wpcf7-form
.wz-case-enquiry-form{
  display:block !important;

  width:100% !important;

  margin:0 !important;
  padding:0 !important;

  float:none !important;
  clear:none !important;

  box-sizing:border-box !important;
}


/* =========================================================
   03. NEUTRALISE NYSSA DIV LAYOUT
   ========================================================= */

.winzin-case-close
.wpcf7
form.wpcf7-form
.wz-case-enquiry-form div{
  float:none !important;
  clear:none !important;

  box-sizing:border-box !important;
}


/* =========================================================
   04. FORM INTRO
   ========================================================= */

.winzin-case-close .case-close-form-intro{
  width:100%;

  margin:0 0 26px;
  padding:26px 0 0;

  border-top:
    1px solid rgba(69,102,112,.12);

  box-sizing:border-box;
}


.winzin-case-close .case-close-form-intro strong{
  display:inline;

  margin:0;

  color:#14262b;

  font-size:14.5px;
  line-height:1.5;

  font-weight:700;
}


.winzin-case-close .case-close-form-intro span{
  display:inline;

  margin-left:4px;

  color:#60727d;

  font-size:14.5px;
  line-height:1.5;

  font-weight:500;
}


/* =========================================================
   05. TWO-COLUMN GRID
   ========================================================= */

.winzin-case-close
.wpcf7
form.wpcf7-form
.wz-case-form-grid{
  display:grid !important;

  grid-template-columns:
    repeat(2,minmax(0,1fr)) !important;

  column-gap:18px !important;
  row-gap:0 !important;

  width:100% !important;

  margin:0 !important;
  padding:0 !important;

  float:none !important;

  border:0 !important;
  background:transparent !important;

  box-sizing:border-box !important;
}


/* =========================================================
   06. FIELD CONTAINERS
   ========================================================= */

.winzin-case-close
.wpcf7
form.wpcf7-form
.wz-case-field{
  display:block !important;

  width:100% !important;
  min-width:0 !important;

  margin:0 0 20px !important;
  padding:0 !important;

  float:none !important;
  clear:none !important;

  border:0 !important;
  border-radius:0 !important;

  outline:0 !important;

  background:transparent !important;

  box-shadow:none !important;

  box-sizing:border-box !important;
}


.winzin-case-close .wz-case-field-full{
  grid-column:1 / -1;
}


/* =========================================================
   07. CF7 AUTO-GENERATED PARAGRAPHS
   ========================================================= */

.winzin-case-close
.wpcf7
form.wpcf7-form
.wz-case-field > p{
  display:block !important;

  width:100% !important;

  margin:0 !important;
  padding:0 !important;

  float:none !important;
  clear:none !important;

  border:0 !important;
  border-radius:0 !important;

  outline:0 !important;

  background:transparent !important;

  box-shadow:none !important;

  box-sizing:border-box !important;
}


.winzin-case-close
.wpcf7
form.wpcf7-form
.wz-case-field > p > br{
  display:none !important;
}


/* =========================================================
   08. LABELS
   ========================================================= */

.winzin-case-close
.wpcf7
form.wpcf7-form
.wz-case-field label{
  display:block !important;

  width:100% !important;

  margin:0 0 8px !important;
  padding:0 !important;

  float:none !important;

  color:#344b53 !important;

  font-size:12.5px !important;
  line-height:1.4 !important;

  font-weight:650 !important;

  border:0 !important;
  outline:0 !important;

  background:transparent !important;

  box-shadow:none !important;
}


/* =========================================================
   09. CF7 CONTROL WRAPPER
   ========================================================= */

.winzin-case-close
.wpcf7
form.wpcf7-form
.wz-case-enquiry-form
span.wpcf7-form-control-wrap{
  position:static !important;

  display:block !important;

  width:100% !important;
  max-width:100% !important;

  height:auto !important;

  margin:0 !important;
  padding:0 !important;

  float:none !important;
  clear:none !important;

  z-index:auto !important;

  border:0 !important;
  border-radius:0 !important;

  outline:0 !important;

  background:transparent !important;

  box-shadow:none !important;

  box-sizing:border-box !important;
}


/* =========================================================
   10. INPUTS + TEXTAREA
   ========================================================= */

.winzin-case-close
.wpcf7
form.wpcf7-form
.wz-case-enquiry-form
.wz-case-field
input.wpcf7-form-control[type="text"],

.winzin-case-close
.wpcf7
form.wpcf7-form
.wz-case-enquiry-form
.wz-case-field
input.wpcf7-form-control[type="email"],

.winzin-case-close
.wpcf7
form.wpcf7-form
.wz-case-enquiry-form
.wz-case-field
textarea.wpcf7-form-control{
  -webkit-appearance:none !important;
  appearance:none !important;

  position:static !important;

  display:block !important;

  width:100% !important;
  max-width:100% !important;

  margin:0 !important;

  padding:14px 16px !important;

  float:none !important;

  background:
    rgba(255,255,255,.82) !important;

  border:
    1px solid rgba(130,153,162,.34) !important;

  border-radius:14px !important;

  color:#14262b !important;

  font-family:
    Inter,
    system-ui,
    -apple-system,
    "Segoe UI",
    sans-serif !important;

  font-size:14px !important;
  line-height:1.5 !important;

  font-weight:500 !important;

  outline:0 !important;
  outline-offset:0 !important;

  box-sizing:border-box !important;

  box-shadow:
    0 7px 20px rgba(18,36,43,.035) !important;

  transition:
    border-color .20s ease,
    box-shadow .20s ease,
    background .20s ease !important;
}


/* =========================================================
   11. INPUT HEIGHT
   ========================================================= */

.winzin-case-close
.wpcf7
form.wpcf7-form
.wz-case-enquiry-form
.wz-case-field
input.wpcf7-form-control[type="text"],

.winzin-case-close
.wpcf7
form.wpcf7-form
.wz-case-enquiry-form
.wz-case-field
input.wpcf7-form-control[type="email"]{
  height:52px !important;
  min-height:52px !important;
}


/* =========================================================
   12. TEXTAREA
   ========================================================= */

.winzin-case-close
.wpcf7
form.wpcf7-form
.wz-case-enquiry-form
.wz-case-field
textarea.wpcf7-form-control{
  height:auto !important;
  min-height:118px !important;

  resize:vertical !important;
}


/* =========================================================
   13. PLACEHOLDERS
   ========================================================= */

.winzin-case-close
.wz-case-field
input::placeholder,

.winzin-case-close
.wz-case-field
textarea::placeholder{
  color:#87949b !important;

  opacity:1 !important;

  font-weight:500 !important;
}


/* =========================================================
   14. FOCUS
   OVERRIDES NYSSA GLOBAL CF7 FOCUS RULE
   ========================================================= */

.winzin-case-close
.wpcf7
form.wpcf7-form
.wz-case-enquiry-form
.wz-case-field
input.wpcf7-form-control[type="text"]:focus,

.winzin-case-close
.wpcf7
form.wpcf7-form
.wz-case-enquiry-form
.wz-case-field
input.wpcf7-form-control[type="email"]:focus,

.winzin-case-close
.wpcf7
form.wpcf7-form
.wz-case-enquiry-form
.wz-case-field
textarea.wpcf7-form-control:focus,

.winzin-case-close
.wpcf7
form.wpcf7-form
.wz-case-enquiry-form
.wz-case-field
input.wpcf7-form-control[type="text"]:focus-visible,

.winzin-case-close
.wpcf7
form.wpcf7-form
.wz-case-enquiry-form
.wz-case-field
input.wpcf7-form-control[type="email"]:focus-visible,

.winzin-case-close
.wpcf7
form.wpcf7-form
.wz-case-enquiry-form
.wz-case-field
textarea.wpcf7-form-control:focus-visible{
  background:#ffffff !important;

  border:
    1px solid #5baea4 !important;

  outline:none !important;
  outline-width:0 !important;
  outline-offset:0 !important;

  box-shadow:
    0 0 0 4px rgba(91,174,164,.12) !important;

  -webkit-box-shadow:
    0 0 0 4px rgba(91,174,164,.12) !important;
}


/* =========================================================
   15. VALIDATION MESSAGE
   ========================================================= */

.winzin-case-close .wpcf7-not-valid-tip{
  display:block !important;

  width:100% !important;

  margin:7px 0 0 !important;
  padding:0 !important;

  color:#b65b50 !important;

  font-size:12px !important;
  line-height:1.4 !important;

  font-weight:500 !important;
}


/* =========================================================
   16. HIDDEN TRACKING FIELD
   ========================================================= */

.winzin-case-close
.wpcf7
form.wpcf7-form
.wz-case-hidden{
  display:none !important;

  width:0 !important;
  height:0 !important;

  margin:0 !important;
  padding:0 !important;

  float:none !important;
}


/* =========================================================
   17. SUBMIT WRAPPER
   ========================================================= */

.winzin-case-close
.wpcf7
form.wpcf7-form
.wz-case-submit{
  display:block !important;

  width:auto !important;

  margin:4px 0 0 !important;
  padding:0 !important;

  float:none !important;
  clear:both !important;
}


/* =========================================================
   18. SUBMIT BUTTON
   ========================================================= */

.winzin-case-close
.wpcf7
form.wpcf7-form
.wz-case-enquiry-form
input.wpcf7-submit{
  -webkit-appearance:none !important;
  appearance:none !important;

  display:inline-block !important;

  width:auto !important;
  min-width:190px !important;

  height:52px !important;
  min-height:52px !important;

  margin:4px 0 0 !important;

  padding:0 24px !important;

  background:#26363d !important;

  border:
    1px solid #26363d !important;

  border-radius:10px !important;

  color:#ffffff !important;

  font-family:
    Inter,
    system-ui,
    -apple-system,
    "Segoe UI",
    sans-serif !important;

  font-size:13.5px !important;
  line-height:50px !important;

  font-weight:750 !important;

  letter-spacing:0 !important;

  text-align:center !important;
  text-transform:none !important;

  cursor:pointer;

  box-shadow:none !important;

  transition:
    transform .20s ease,
    background .20s ease,
    border-color .20s ease,
    box-shadow .20s ease !important;
}


.winzin-case-close
.wpcf7
form.wpcf7-form
.wz-case-enquiry-form
input.wpcf7-submit:hover{
  background:#17262c !important;

  border-color:#17262c !important;

  color:#ffffff !important;

  transform:translateY(-2px);

  box-shadow:
    0 12px 28px rgba(18,36,43,.14) !important;
}


/* =========================================================
   19. CF7 SPINNER
   ========================================================= */

/* =========================================================
   CF7 SPINNER — HIDE IN CASE STUDY FORM
   ========================================================= */

.winzin-case-close
.wpcf7
form.wpcf7-form
.wz-case-enquiry-form
.wpcf7-spinner{
  display:none !important;

  width:0 !important;
  height:0 !important;

  min-width:0 !important;
  min-height:0 !important;

  margin:0 !important;
  padding:0 !important;

  border:0 !important;
  outline:0 !important;

  background:none !important;

  box-shadow:none !important;
}


/* =========================================================
   20. EXPAND / COLLAPSE ARROW
   ========================================================= */

.winzin-case-close
#case-enquiry-trigger
.case-close-button-arrow{
  display:inline-block;

  transition:
    transform .35s cubic-bezier(.22,1,.36,1);
}


.winzin-case-close
#case-enquiry-trigger[aria-expanded="true"]
.case-close-button-arrow{
  transform:rotate(180deg);
}


/* =========================================================
   21. OPEN TRIGGER
   HOME SECONDARY CTA STYLE
   ========================================================= */

.winzin-case-close
#case-enquiry-trigger[aria-expanded="true"]{
  background:
    rgba(255,255,255,.58) !important;

  color:#14262b !important;

  border:
    1px solid rgba(69,102,112,.34) !important;

  box-shadow:none !important;
}


.winzin-case-close
#case-enquiry-trigger[aria-expanded="true"]:hover{
  background:#ffffff !important;

  color:#14262b !important;

  border-color:
    rgba(69,102,112,.52) !important;

  transform:translateY(-2px);
}

/* ================================================= */
/* ============= CF7 RESPONSE MESSAGE ============== */
/* ================================================= */

/*
 * Hide the empty CF7 response container by default.
 * This prevents Nyssa / CF7 from showing the blue
 * empty rectangle before submission.
 */

.winzin-case-close
.wpcf7
form.wpcf7-form
.wpcf7-response-output{

  display:none !important;

  width:100% !important;
  max-width:620px !important;

  margin:18px 0 0 !important;
  padding:14px 18px !important;

  box-sizing:border-box !important;

  border-radius:12px !important;

  font-size:13px !important;
  line-height:1.5 !important;
  font-weight:600 !important;

  box-shadow:none !important;
}


/* ================================================= */
/* =============== SUCCESS MESSAGE ================= */
/* ================================================= */

.winzin-case-close
.wpcf7
form.sent
.wpcf7-response-output{

  display:block !important;

  background:rgba(220,239,235,.55) !important;

  border:
    1px solid rgba(47,118,105,.20) !important;

  color:#2f6f68 !important;
}


/* ================================================= */
/* ============== VALIDATION MESSAGE =============== */
/* ================================================= */

.winzin-case-close
.wpcf7
form.invalid
.wpcf7-response-output{

  display:block !important;

  background:rgba(255,241,237,.72) !important;

  border:
    1px solid rgba(194,91,72,.18) !important;

  color:#a34e40 !important;
}


/* ================================================= */
/* ================= ERROR MESSAGE ================= */
/* ================================================= */

.winzin-case-close
.wpcf7
form.failed
.wpcf7-response-output,

.winzin-case-close
.wpcf7
form.aborted
.wpcf7-response-output,

.winzin-case-close
.wpcf7
form.spam
.wpcf7-response-output{

  display:block !important;

  background:rgba(255,241,237,.72) !important;

  border:
    1px solid rgba(194,91,72,.18) !important;

  color:#a34e40 !important;
}


/* =========================================================
   23. MOBILE
   ========================================================= */

@media (max-width:640px){

  .winzin-case-close .case-close-form-wrap{
    max-width:100%;
  }


  .winzin-case-close .case-close-form-wrap.is-open{
    margin-top:28px;
  }


  .winzin-case-close .case-close-form-intro{
    margin-bottom:22px;

    padding-top:22px;
  }


  .winzin-case-close .case-close-form-intro strong,
  .winzin-case-close .case-close-form-intro span{
    font-size:14px;
  }


  .winzin-case-close
  .wpcf7
  form.wpcf7-form
  .wz-case-form-grid{
    grid-template-columns:1fr !important;

    column-gap:0 !important;
  }


  .winzin-case-close .wz-case-field-full{
    grid-column:auto;
  }


  .winzin-case-close
  .wpcf7
  form.wpcf7-form
  .wz-case-enquiry-form
  input.wpcf7-submit{
    width:100% !important;
    min-width:0 !important;
  }


  .winzin-case-close .wpcf7-response-output{
    max-width:100% !important;
  }

}
/* ================================================= */
/* ======== SUCCESS MESSAGE — CLEAN INLINE ========== */
/* ================================================= */

.winzin-case-close
.wpcf7
form.sent
.wpcf7-response-output{

  display:block !important;

  width:100% !important;
  max-width:620px !important;

  margin:14px 0 0 !important;
  padding:0 !important;

  position:static !important;

  background:transparent !important;

  border:0 !important;
  border-radius:0 !important;

  box-shadow:none !important;
  outline:0 !important;

  color:#3f756e !important;

  font-size:13px !important;
  line-height:1.5 !important;
  font-weight:600 !important;

  text-align:left !important;

  float:none !important;
  clear:both !important;
}

.winzin-case-close
.wpcf7
form.sent
.wpcf7-response-output{
  margin:8px 0 0 !important;
}

/* REMOVE ANY PREVIOUS SUCCESS ICON */

.winzin-case-close
.wpcf7
form.sent
.wpcf7-response-output::before,

.winzin-case-close
.wpcf7
form.sent
.wpcf7-response-output::after{

  content:none !important;
  display:none !important;
}



/* CHECK ICON */

.winzin-case-close
.wpcf7
form.sent
.wpcf7-response-output::before{

  content:"✓";

  position:absolute;

  left:17px;
  top:50%;

  transform:translateY(-50%);

  display:flex;

  align-items:center;
  justify-content:center;

  width:20px;
  height:20px;

  border-radius:50%;

  background:#dcefeb;

  color:#2f7669;

  font-size:12px;
  line-height:1;
  font-weight:800;
}