.source-proof {
  display:flex;
  justify-content:center;
  flex-wrap:wrap;
  gap:10px;
  margin:28px auto 0;
  font-size:13px;
  color:var(--forest)
}

.source-proof span {
  padding:7px 14px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:100px
}

.source-hero-media {
  position:relative;
  max-width:1000px;
  margin:50px auto 0;
  padding:0 45px;
  isolation:isolate
}

.source-hero-media:before {
  content:"";
  position:absolute;
  z-index:-1;
  top:38%;
  bottom:-70px;
  left:-200px;
  right:-200px;
  background:var(--bright);
  border-radius:50% 50% 0 0
}

.source-hero-media img {
  display:block;
  width:100%;
  height:430px;
  object-fit:cover;
  border-radius:28px 28px 0 0;
  background:var(--forest)
}

.payment-strip {
  display:flex;
  justify-content:center;
  flex-wrap:wrap;
  gap:12px 25px;
  padding-block:30px;
  border-bottom:1px solid var(--line);
  font-size:13px;
  font-weight:600;
  color:var(--muted)
}

.source-product-grid {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:22px
}

.source-product {
  border:1px solid var(--line);
  border-radius:28px;
  padding:24px;
  display:flex;
  flex-direction:column
}

.source-product-image {
  position:relative;
  margin:-10px -10px 22px;
  display:grid;
  place-items:center;
  background:var(--mint);
  border-radius:20px;
  min-height:250px;
  padding:22px
}

.source-product-image img {
  height:215px;
  width:100%;
  object-fit:contain
}

.source-tag {
  position:absolute;
  top:12px;
  left:12px;
  background:var(--forest);
  color:white;
  font-size:11px;
  line-height:1.3;
  border-radius:100px;
  padding:7px 10px
}

.source-product h3 {
  font-size:24px;
  margin-bottom:15px
}

.source-model {
  font-size:12px;
  letter-spacing:.07em;
  color:var(--forest);
  margin-bottom:10px;
  font-weight:600
}

.source-product>p:not(.source-model) {
  font-size:15px;
  color:var(--muted);
  line-height:1.65
}

.source-product ul,.source-finder-result ul {
  list-style:none;
  padding:0;
  margin:0 0 25px;
  font-size:13px;
  display:grid;
  gap:9px;
  color:var(--muted)
}

.source-product li,.source-finder-result li {
  display:flex;
  align-items:center;
  gap:8px
}

.source-product li svg,.source-finder-result li svg {
  flex:none;
  color:var(--leaf)
}

.source-text-link {
  display:inline-flex;
  align-items:center;
  gap:10px;
  color:var(--forest);
  font-size:14px;
  font-weight:600
}

.source-product>.source-text-link {
  margin-top:auto
}

.source-section-action {
  margin-top:40px;
  text-align:center
}

.source-section-action p {
  margin:18px 0 0;
  color:var(--muted);
  font-size:14px
}

.source-software-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:26px
}

.source-software-card {
  display:flex;
  flex-direction:column;
  background:#fff;
  border:1px solid var(--line);
  border-radius:28px;
  padding:34px;
  transition:transform .18s
}

.source-software-card:hover {
  transform:translateY(-3px)
}

.source-software-card p {
  font-size:16px;
  color:var(--muted)
}

.source-software-card .source-text-link {
  margin-top:auto
}

.source-value-panel {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:70px;
  background:var(--forest) url('../../images/dark-pattern.webp') center/cover;
  color:#fff;
  padding:60px;
  border-radius:35px
}

.source-value-panel>div>p:not(.eyebrow) {
  color:#d0e5d4;
  font-size:17px
}

.source-value-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:32px;
  align-content:center
}

.source-value-grid strong {
  font-family:Urbanist,Arial,sans-serif;
  color:#bbedb0;
  font-size:37px;
  font-weight:600;
  line-height:1.2
}

.source-value-grid p {
  font-size:14px;
  margin:10px 0 0;
  color:#d0e5d4
}

.source-finder {
  display:grid;
  grid-template-columns:1fr 1.15fr;
  border-radius:32px;
  overflow:hidden;
  background:#fff;
  border:1px solid var(--line)
}

.source-finder-controls {
  padding:40px
}

.source-finder-controls>p {
  font-size:15px;
  color:var(--muted)
}

.source-finder fieldset {
  padding:0;
  margin:28px 0 0;
  border:0;
  min-width:0
}

.source-finder legend {
  font-size:13px;
  font-weight:600;
  color:var(--forest);
  margin-bottom:15px
}

.source-chips {
  display:flex;
  flex-wrap:wrap;
  gap:10px
}

.source-chips button {
  border:1px solid #bdd0b7;
  min-height:42px;
  border-radius:100px;
  padding:10px 16px;
  background:#fff;
  color:var(--forest);
  font-size:13px;
  line-height:1.4
}

.source-chips button[aria-pressed=true] {
  background:var(--forest);
  color:#fff;
  border-color:var(--forest)
}

.source-finder-result {
  display:grid;
  grid-template-columns:130px 1fr;
  gap:25px;
  align-items:center;
  padding:40px;
  background:#e7f0e1
}

.source-finder-result>img {
  width:100%;
  height:300px;
  object-fit:contain
}

.source-finder-result p:not(.eyebrow):not(.source-model) {
  font-size:15px;
  color:var(--muted)
}

.source-finder-result .button {
  font-size:14px;
  min-height:48px;
  padding:12px 22px
}

.source-finder-result h3 {
  margin-bottom:12px
}

.source-platform-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:40px 45px
}

.source-platform-check {
  display:grid;
  place-items:center;
  width:42px;
  height:42px;
  border-radius:100%;
  background:var(--mint);
  color:var(--forest);
  margin-bottom:24px
}

.source-platform-grid h3 {
  font-size:22px
}

.source-platform-grid p {
  font-size:16px;
  color:var(--muted);
  margin:0
}

.source-business-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:28px
}

.source-business-grid>a {
  background:#fff;
  border:1px solid var(--line);
  padding:24px;
  border-radius:28px
}

.source-business-grid>a>div {
  background:var(--mint);
  border-radius:20px;
  margin-bottom:25px;
  display:grid;
  place-items:center;
  padding:24px
}

.source-business-grid img {
  height:260px;
  width:100%;
  object-fit:cover;
  border-radius:18px
}

.source-business-grid h3 {
  font-size:24px
}

.source-business-grid p {
  font-size:16px;
  color:var(--muted)
}

.source-faq-layout {
  display:grid;
  grid-template-columns:.8fr 1.2fr;
  gap:80px
}

.source-faq-layout>div:first-child>p:not(.eyebrow) {
  color:var(--muted);
  font-size:17px
}

.source-faqs {
  margin-top:28px
}

.source-faqs details {
  border-bottom:1px solid #bdcdb6
}

.source-faqs summary {
  list-style:none;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  padding:20px 0;
  font-size:17px;
  font-weight:600;
  font-family:Urbanist,Arial,sans-serif;
  line-height:1.4
}

.source-faqs summary::-webkit-details-marker {
  display:none
}

.source-faqs summary>span {
  font-family:Figtree,Arial,sans-serif;
  font-size:22px;
  font-weight:400;
  color:var(--forest)
}

.source-faqs details[open] summary>span {
  transform:rotate(45deg)
}

.source-faqs p {
  font-size:15px;
  color:var(--muted);
  line-height:1.75;
  margin-bottom:22px
}

.source-footnotes {
  padding-bottom:45px
}

.source-footnotes p {
  font-size:12px;
  line-height:1.7;
  color:var(--muted);
  margin-bottom:9px
}

@media(max-width:1024px) {
  .source-product-grid {
    grid-template-columns:repeat(2,minmax(0,1fr))
  }

  .source-value-panel {
    gap:40px;
    padding:45px
  }

  .source-finder {
    grid-template-columns:1fr 1fr
  }

  .source-finder-controls,.source-finder-result {
    padding:28px
  }

  .source-finder-result {
    grid-template-columns:100px 1fr;
    gap:20px
  }

  .source-software-card {
    padding:28px
  }

  .source-hero-media img {
    height:380px
  }

  .source-faq-layout {
    gap:40px
  }

}

@media(max-width:800px) {
  .source-hero-media {
    padding:0;
    margin-top:35px
  }

  .source-hero-media img {
    height:320px
  }

  .source-proof {
    font-size:12px;
    gap:8px
  }

  .source-proof span {
    padding:6px 10px
  }

  .source-software-grid,.source-platform-grid,.source-business-grid {
    grid-template-columns:1fr
  }

  .source-value-panel,.source-finder,.source-faq-layout {
    grid-template-columns:1fr
  }

  .source-value-panel {
    padding:35px;
    gap:35px
  }

  .source-finder-result {
    grid-template-columns:130px 1fr
  }

  .source-finder-controls,.source-finder-result {
    padding:30px
  }

  .source-platform-grid {
    gap:30px
  }

  .source-product-image {
    min-height:230px
  }

  .source-product-image img {
    height:200px
  }

  .source-business-grid>a>div {
    margin-inline:0
  }

  .source-business-grid img {
    height:250px
  }

  .source-faq-layout {
    gap:30px
  }

  .source-hero-media:before {
    left:-120px;
    right:-120px
  }

}

@media(max-width:480px) {
  .source-product-grid {
    grid-template-columns:1fr
  }

  .source-product-image img {
    height:250px
  }

  .source-finder-result {
    grid-template-columns:1fr
  }

  .source-finder-result>img {
    height:210px
  }

  .source-hero-media img {
    height:260px
  }

  .source-value-panel {
    padding:28px
  }

  .source-value-grid {
    gap:25px
  }

  .source-value-grid strong {
    font-size:30px
  }

  .source-software-card {
    padding:27px
  }

  .payment-strip {
    gap:12px 18px;
    font-size:12px
  }

}

.source-value-panel a:focus-visible  {
  outline-color: #bbedb0;
}

.source-selection  {
  font-size: 12px !important;
  margin-bottom: 14px;
}

.source-feedback  {
  max-width: 840px;
  text-align: center;
}

.source-feedback blockquote  {
  margin: 25px 0;
}

.source-feedback blockquote>p  {
  font-family: Urbanist, Arial, sans-serif;
  font-size: clamp(25px, 3vw, 34px);
  line-height: 1.4;
  color: var(--forest);
}

.source-feedback blockquote>footer  {
  font-size: 14px;
  color: var(--muted);
}

.source-feedback-note  {
  font-size: 12px;
  color: var(--muted);
}

