.partners-page {
   width: min(100% - 64px, var(--page));
   margin: 0 auto;

   /* .hero padding-top + .email-section padding-bottom (style.css) */
   padding: 96px 0 82px;
}

.partners-hero {
   max-width: 880px;
   margin: 0 auto 72px;
   text-align: center;
}

/* .hero-kicker in style.css (landing hero eyebrow) */
.partners-hero .section-label {
   letter-spacing: 0.9px;
   margin-bottom: 22px;
}

/* Matches .hero h1 / .hero p in style.css (landing typography reference) */
.partners-hero h1 {
   font-size: clamp(48px, 5.8vw, 66px);
   font-weight: 800;
   line-height: 0.98;
   letter-spacing: -3px;
   margin-bottom: 4px;
}

.partners-hero p {
   max-width: 560px;
   margin: 22px auto 36px;
   color: var(--muted);
   font-size: 19px;
   font-weight: 400;
   line-height: 1.7;
}

.partners-actions {
   display: flex;
   align-items: center;
   justify-content: center;
   gap: 12px;
   flex-wrap: wrap;
}

.partners-grid {
   display: grid;
   grid-template-columns: repeat(3, 1fr);
   gap: 18px;
   margin-bottom: 72px;
}

.partner-card {
   background: #fff;
   border: 1px solid var(--border-soft);
   border-radius: 28px;
   padding: 48px 28px;
   min-height: 280px;
   box-shadow:
      0 1px 2px rgba(15,23,42,.03),
      0 12px 32px rgba(15,23,42,.04);
}


/* Matches .section-title + .why-item-title rhythm from style.css */
.partner-card h2 {
   font-size: 20px;
   font-weight: 800;
   letter-spacing: -0.5px;
   line-height: 1.2;
   margin-bottom: 8px;
}

.partner-card p {
   color: var(--muted);
   font-size: 16px;
   font-weight: 400;
   line-height: 1.6;
}

.partner-benefits {
   background: #f7faf3;
   border: 1px solid var(--border-soft);
   border-radius: 32px;
   padding: 42px;
   margin-bottom: 72px;
}

.benefits-list {
   display: grid;
   grid-template-columns: repeat(2, 1fr);
   gap: 14px;
   margin-top: 24px;
}

.benefits-list div {
   background: #fff;
   border: 1px solid var(--border-soft);
   border-radius: 18px;
   padding: 18px 20px;
   font-size: 16px;
   font-weight: 700;
   line-height: 1.6;
   color: var(--text);
}

.start-section {
   display: grid;
   grid-template-columns: 0.9fr 1.1fr;
   gap: 42px;
   align-items: start;
   margin-bottom: 72px;
}

/* Matches .email-title in style.css */
.start-heading h2 {
   font-size: clamp(34px, 3.2vw, 46px);
   font-weight: 800;
   line-height: 1.18;
   letter-spacing: -1.7px;
   margin-bottom: 4px;
}

.start-box {
   background: #fff;
   border: 1px solid var(--border-soft);
   border-radius: 28px;
   padding: 30px;
   box-shadow:
      0 1px 2px rgba(15,23,42,.03),
      0 12px 32px rgba(15,23,42,.04);
}

.start-box p {
   color: var(--muted);
   font-size: 17px;
   font-weight: 400;
   line-height: 1.6;
   margin-bottom: 18px;
}

.start-box p:last-child {
   margin-bottom: 0;
}


.partner-showcase {
   display: grid;
   grid-template-columns: 1fr 1fr;
   gap: 42px;
   align-items: center;

   margin-bottom: 72px;
   padding: 48px;

   background: #f7faf3;
   border: 1px solid var(--border-soft);
   border-radius: 34px;
}

.showcase-visual {
   min-height: 420px;
   display: flex;
   align-items: center;
   justify-content: center;
}

.mock-card {
   width: 100%;
   max-width: 460px;

   background: #fff;
   border: 1px solid var(--border-soft);
   border-radius: 30px;
   padding: 28px;

   box-shadow:
      0 20px 60px rgba(15,23,42,.08),
      0 1px 2px rgba(15,23,42,.04);

   transform: rotate(-1.5deg);
}

.mock-top {
   display: flex;
   align-items: center;
   justify-content: space-between;
   margin-bottom: 28px;
}

.mock-top span {
   color: var(--muted);
   font-size: 13px;
   font-weight: 700;
}

.mock-top strong {
   font-family: "Plus Jakarta Sans", sans-serif;
   font-size: 28px;
   font-weight: 800;
   letter-spacing: -1px;
}

.mock-product {
   display: grid;
   grid-template-columns: 72px 1fr;
   gap: 16px;
   align-items: center;

   padding: 18px;
   border-radius: 22px;
   background: var(--bg-soft);
   margin-bottom: 18px;
}

.mock-img {
   width: 72px;
   height: 72px;
   border-radius: 18px;
   background: linear-gradient(135deg, #eef5e6, #ffffff);
   border: 1px solid var(--border-soft);
}

.mock-product strong {
   display: block;
   font-size: 16px;
   font-weight: 800;
   line-height: 1.35;
   letter-spacing: -0.2px;
   margin-bottom: 6px;
}

.mock-product span {
   display: block;
   color: var(--muted);
   font-size: 13px;
   font-weight: 700;
   line-height: 1.4;
}

.mock-img {
   width: 72px;
   height: 72px;

   display: flex;
   align-items: center;
   justify-content: center;

   border-radius: 18px;

   background: linear-gradient(135deg, #eef5e6, #ffffff);
   border: 1px solid var(--border-soft);

   overflow: hidden;
}

.mock-img img {
   width: 84%;
   height: 84%;

   object-fit: contain;
   display: block;
}

.mock-stats {
   display: grid;
   grid-template-columns: 1fr 1fr;
   gap: 12px;
   margin-bottom: 22px;
}

.mock-stats div {
   background: #f7faf3;
   border: 1px solid var(--border-soft);
   border-radius: 18px;
   padding: 18px;
}

.mock-stats strong {
   display: block;
   font-family: "Plus Jakarta Sans", sans-serif;
   font-size: 24px;
   font-weight: 800;
   letter-spacing: -1px;
   margin-bottom: 4px;
}

.mock-stats span {
   display: block;
   margin-top: 6px;
   color: var(--muted);
   font-size: 14px;
   font-weight: 700;
}

.mock-line {
   height: 10px;
   background: #edf2e8;
   border-radius: 999px;
   overflow: hidden;
}

.mock-line span {
   display: block;
   height: 100%;
   background: #9caf74;
   border-radius: 999px;
}

/* Matches .email-title + gap before list (see .email-title in style.css) */
.showcase-content h2 {
   font-size: clamp(34px, 3.2vw, 46px);
   font-weight: 800;
   line-height: 1.18;
   letter-spacing: -1.7px;
   margin: 0 0 22px;
}

.showcase-items {
   display: grid;
   gap: 18px;
}

.showcase-item {
   display: grid;
   grid-template-columns: 42px 1fr;
   gap: 16px;
   align-items: start;
}

.showcase-icon {
   width: 42px;
   height: 42px;

   display: flex;
   align-items: center;
   justify-content: center;

   background: #fff;
   border: 1px solid var(--border-soft);
   border-radius: 14px;

   color: var(--green-text);
   font-weight: 900;
}

.showcase-item strong {
   display: block;
   font-size: 18px;
   font-weight: 800;
   margin-bottom: 8px;
}

.showcase-item p {
   color: var(--muted);
   font-size: 16px;
   font-weight: 400;
   line-height: 1.6;
}


/* Mirrors .hero h1/.hero p spacing: tight title tail + 22px paragraph lead */
.start-heading p {
   margin-top: 22px;
   color: var(--muted);
   font-size: 17px;
   font-weight: 400;
   line-height: 1.6;
}

.start-steps {
   display: grid;
   gap: 14px;
}

.start-step {
   display: grid;
   grid-template-columns: 52px 1fr;
   gap: 18px;

   background: #fff;
   border: 1px solid var(--border-soft);
   border-radius: 22px;
   padding: 22px;

   box-shadow:
      0 1px 2px rgba(15,23,42,.03),
      0 12px 32px rgba(15,23,42,.04);
}

.step-number {
   font-family: "Plus Jakarta Sans", sans-serif;
   font-size: 13px;
   font-weight: 800;
   color: var(--green-text);
   background: var(--green-bg);
   border-radius: 999px;
   width: 42px;
   height: 42px;

   display: flex;
   align-items: center;
   justify-content: center;
}

.start-step strong {
   display: block;
   font-size: 18px;
   font-weight: 800;
   margin-bottom: 8px;
}

.start-step p {
   color: var(--muted);
   font-size: 16px;
   font-weight: 400;
   line-height: 1.6;
}

.demo-section {
   margin-bottom: 72px;
}

.demo-card {
   margin-top: 24px;
   background: #fff;
   border: 1px solid var(--border-soft);
   border-radius: 30px;
   padding: 24px;
   box-shadow:
      0 1px 2px rgba(15,23,42,.03),
      0 12px 32px rgba(15,23,42,.04);
}

.demo-product {
   display: grid;
   grid-template-columns: 88px 1fr auto;
   gap: 22px;
   align-items: center;
}

.demo-image {
   width: 88px;
   height: 88px;
   border-radius: 22px;
   background:
      linear-gradient(135deg, #f6f7f8, #eef3e7);
}

.demo-title {
   font-size: 18px;
   font-weight: 800;
   margin-bottom: 8px;
}

.demo-meta {
   color: var(--muted);
   font-size: 13px;
   font-weight: 700;
}

.demo-price {
   text-align: right;
}

.demo-price strong {
   display: block;
   font-family: "Plus Jakarta Sans", sans-serif;
   font-size: 28px;
   font-weight: 800;
   letter-spacing: -1px;
}

.demo-price span {
   display: inline-flex;
   margin-top: 6px;
   background: var(--green-bg);
   color: var(--green-text);
   border-radius: 8px;
   padding: 5px 9px;
   font-size: 13px;
   font-weight: 800;
}

.partners-contact {
   text-align: center;
   max-width: 760px;
   margin: 0 auto;
   padding: 64px 42px;
   background: var(--text);
   color: #fff;
   border-radius: 34px;
}

.partners-contact h2 {
   font-size: clamp(34px, 3.2vw, 46px);
   font-weight: 800;
   line-height: 1.18;
   letter-spacing: -1.7px;
   margin-bottom: 22px;
}

.partners-contact p {
   color: rgba(255,255,255,.72);
   font-size: 19px;
   font-weight: 400;
   line-height: 1.7;
   max-width: 560px;
   margin-left: auto;
   margin-right: auto;
   margin-bottom: 36px;
}

.partners-contact .btn-primary {
   background: #fff;
   color: var(--text);
}

.benefit-item {
   background: #fff;
   border: 1px solid var(--border-soft);
   border-radius: 22px;
   padding: 24px;
}

.benefit-item strong {
   display: block;
   font-size: 18px;
   font-weight: 800;
   line-height: 1.2;
   margin-bottom: 8px;
}

.benefit-item p {
   color: var(--muted);
   font-size: 16px;
   font-weight: 400;
   line-height: 1.6;
}

.demo-caption {
   margin: 16px 0 22px;
   color: var(--muted);
   font-size: 17px;
   font-weight: 400;
   line-height: 1.6;
}

@media (max-width: 860px) {
   .partner-showcase {
      grid-template-columns: 1fr;
      padding: 28px;
   }

   .showcase-visual {
      min-height: auto;
   }

   .mock-card {
      transform: none;
   }

   .partners-page {
      width: min(100% - 44px, var(--page));

      /* .hero mobile padding-top (style.css @640px); keep bottom for page end rhythm */
      padding: 40px 0 72px;
   }

   .partners-grid,
   .benefits-list,
   .start-section {
      grid-template-columns: 1fr;
   }

   .partner-benefits {
      padding: 28px;
   }

   .demo-product {
      grid-template-columns: 72px 1fr;
   }

   .demo-image {
      width: 72px;
      height: 72px;
      border-radius: 18px;
   }

   .demo-price {
      grid-column: 2;
      text-align: left;
   }

   .partners-contact {
      padding: 46px 24px;
   }
}

@media (max-width: 960px) {
   .partners-hero h1 {
      font-size: clamp(42px, 8vw, 62px);
   }
}

@media (max-width: 640px) {
   .partners-hero h1 {
      font-size: 54px;
      line-height: 1.12;
      letter-spacing: -1.4px;
   }

   .partners-hero p {
      font-size: 16px;
   }

   .start-heading p {
      font-size: 16px;
   }

   .partners-contact p {
      font-size: 16px;
   }

   .showcase-content h2,
   .start-heading h2,
   .partners-contact h2 {
      font-size: 28px;
      letter-spacing: -1px;
   }
}

