/* ============================================================
   REALESALETTER â€” Pricing Page
   v1.2 May 2026 â€” finish-quality polish on top of brand guidelines.
   Tokens only. No gradients on content. Navy-tinted shadows.
============================================================ */

/* Paw SVG â€” single source of truth for this page */
:root {
  --paw-orange: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14' fill='%23FF5B2E'%3E%3Cellipse cx='7' cy='9' rx='3.2' ry='2.8'/%3E%3Cellipse cx='3' cy='5' rx='1.3' ry='1.7'/%3E%3Cellipse cx='5.8' cy='3' rx='1.3' ry='1.7'/%3E%3Cellipse cx='8.7' cy='3' rx='1.3' ry='1.7'/%3E%3Cellipse cx='11' cy='5' rx='1.1' ry='1.4'/%3E%3C/svg%3E");
}

/* â”€â”€ Breadcrumbs â”€â”€ */
.pricingBanner .breadcrumbs {
  display: flex;
  align-items: center;
  gap: 4px;
  flex-wrap: wrap;
  font-size: var(--text-xs);
  color: var(--color-text-secondary);
  margin-bottom: var(--space-6);
}

.pricingBanner .breadcrumbs a {
  color: var(--color-text-secondary);
  text-decoration: none;
  font-weight: var(--weight-medium);
  padding: 2px 5px;
  border-radius: var(--radius-sm);
  transition: color var(--transition-fast), background var(--transition-fast);
}

.pricingBanner .breadcrumbs a:hover {
  color: var(--color-orange);
  background: rgba(255, 91, 46, 0.08);
}

.pricingBanner .breadcrumbs .crumb-sep {
  color: var(--color-text-disabled);
  font-size: 11px;
  user-select: none;
}

.pricingBanner .breadcrumbs strong {
  color: var(--color-orange);
  font-weight: var(--weight-bold);
  background: rgba(255, 91, 46, 0.08);
  padding: 2px 8px;
  border-radius: var(--radius-full);
}

/* â”€â”€ Banner â”€â”€ */
.pricingBanner {
  position: relative;
  background: var(--color-bg-warm);
  width: 100%;
  padding: var(--space-24) 0 178px;
  border-bottom-left-radius: 48px;
  border-bottom-right-radius: 48px;
  overflow: hidden;
}

.pricingBanner::before,
.pricingBanner::after {
  content: '';
  position: absolute;
  background-repeat: no-repeat;
  background-size: contain;
  opacity: 0.6;
}

.pricingBanner::before {
  background-image: url('../../all-states-page/images/pawBefore.svg');
  width: 51px;
  height: 70px;
  left: 0;
  top: var(--space-20);
}

.pricingBanner::after {
  background-image: url('../../all-states-page/images/pawAfter.svg');
  width: 57px;
  height: 79px;
  right: 0;
  top: var(--space-16);
  background-position: right;
}

.pricingBanner .bannerHeading {
  text-align: center;
  max-width: 880px;
  margin: 0 auto;
}

.pricingBanner .bannerHeading .eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-bottom: var(--space-4);
}

.pricingBanner .bannerHeading .eyebrow::before {
  content: '';
  width: 20px;
  height: 2px;
  background: var(--color-orange);
  border-radius: 1px;
  flex-shrink: 0;
}

.pricingBanner .bannerHeading h1 {
  font-family: var(--font-serif);
  font-size: clamp(32px, 4vw, var(--text-5xl));
  font-weight: var(--weight-regular);
  letter-spacing: var(--tracking-tight);
  line-height: var(--leading-tight);
  color: var(--color-text-heading);
  margin: 0 0 var(--space-5);
}

.pricingBanner .bannerHeading h1 .keyword-highlight {
  color: var(--color-orange);
}

.pricingBanner .bannerHeading>p {
  font-size: var(--text-md);
  line-height: var(--leading-body);
  color: var(--color-text-body);
  max-width: 720px;
  margin: 0 auto var(--space-6);
}

/* Hero trust strip */
.hero-trust-strip {
  list-style: none;
  padding: 0;
  margin: 0 auto var(--space-6);
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: var(--space-3) var(--space-6);
  font-family: var(--font-sans);
  font-size: var(--text-sm);
  color: var(--color-text-secondary);
  max-width: 760px;
}

.hero-trust-strip li {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  position: relative;
}

.hero-trust-strip li:not(:last-child)::after {
  content: '';
  position: absolute;
  right: calc(var(--space-6) * -0.5 - 1px);
  top: 50%;
  transform: translateY(-50%);
  width: 1px;
  height: 14px;
  background: var(--color-border-strong);
}

.hero-trust-strip li strong {
  color: var(--color-text-heading);
  font-weight: var(--weight-bold);
}

.hero-trust-stars {
  color: #F59E0B;
  letter-spacing: 1px;
  font-size: 13px;
}

/* Hero footnote callout â€” orange left-bar */
.hero-footnote {
  max-width: 780px;
  width: 100%;
  margin: 0 auto;
  display: flex;
  align-items: flex-start;
  gap: var(--space-3);
  padding: var(--space-4) var(--space-5);
  background: var(--color-bg-white);
  border-left: 3px solid var(--color-orange);
  border-radius: 0 var(--radius-md) var(--radius-md) 0;
  box-shadow: var(--shadow-xs);
  text-align: left;
}

.hero-footnote-icon {
  width: 18px;
  height: 18px;
  flex-shrink: 0;
  color: var(--color-orange);
  margin-top: 2px;
}

.hero-footnote p {
  font-family: var(--font-sans);
  font-size: var(--text-sm);
  font-style: italic;
  font-weight: var(--weight-regular);
  line-height: var(--leading-normal);
  color: var(--color-text-secondary);
  margin: 0;
}

.hero-footnote sup {
  color: var(--color-orange);
  font-weight: var(--weight-bold);
}

/* â”€â”€ Payment Section (4 cards) â”€â”€ */
.payment-section {
  padding: 0 0 var(--space-16);
}

.payment-wrapper {
  max-width: 1280px;
  width: 100%;
  margin: -88px auto 0;
  position: relative;
}

.payment-slider-row {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--space-5);
  align-items: stretch;
}

.payment-slider-item {
  display: flex;
  min-width: 0;
}

.payment-card {
  position: relative;
  width: 100%;
  display: flex;
  flex-direction: column;
  padding: var(--space-10) var(--space-6) var(--space-8);
  background: var(--color-bg-white);
  border: 1px solid var(--color-border-strong);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-sm);
  transition: transform var(--transition-normal),
    box-shadow var(--transition-normal),
    border-color var(--transition-normal);
}

.payment-card:hover {
  border-color: rgba(255, 91, 46, 0.20);
  box-shadow: var(--shadow-md);
  transform: translateY(-3px);
}

/* Popular card â€” physically elevated above siblings */
.popular-slot {
  align-items: stretch;
}

.popular-slot .payment-card {
  border-color: var(--color-orange);
  box-shadow: var(--shadow-md);
  background: var(--color-bg-warm);
  transform: translateY(-12px);
  z-index: 2;
}

.popular-slot .payment-card:hover {
  transform: translateY(-15px);
  box-shadow: var(--shadow-lg);
}

/* Card badges */
.card-badge {
  position: absolute;
  top: -10px;
  right: var(--space-5);
  display: inline-flex;
  align-items: center;
  padding: 4px 12px;
  font-family: var(--font-sans);
  font-size: var(--text-xs);
  font-weight: var(--weight-bold);
  letter-spacing: var(--tracking-wide);
  text-transform: uppercase;
  color: #fff;
  background: var(--color-orange);
  border-radius: var(--radius-full);
  box-shadow: var(--shadow-cta);
  white-space: nowrap;
  z-index: 1;
}

.card-badge-popular {
  background: var(--color-navy);
  box-shadow: var(--shadow-sm);
  left: 50%;
  right: auto;
  transform: translateX(-50%);
}

/* Card title (was <p> with bold, now <h2>) */
.payment-card .card-title {
  font-family: var(--font-sans);
  font-size: 18px;
  font-weight: var(--weight-bold);
  line-height: var(--leading-snug);
  letter-spacing: var(--tracking-normal);
  color: var(--color-text-heading);
  margin: 0 0 var(--space-5);
}

/* Price block */
.price-text {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: var(--space-2);
  margin: 0 0 var(--space-2);
  color: var(--color-orange);
}

.price-currency {
  font-size: 22px;
  font-weight: var(--weight-bold);
  line-height: 1;
  margin-right: 2px;
}

.price-amount {
  font-family: var(--font-serif);
  font-size: 48px;
  font-weight: var(--weight-regular);
  line-height: 1;
  letter-spacing: var(--tracking-tight);
}

.price-cents {
  font-size: 18px;
  font-weight: var(--weight-medium);
  color: var(--color-text-secondary);
  margin-left: 2px;
}

/* Struck-through original price on combo card */
.price-strike {
  font-family: var(--font-sans);
  font-size: var(--text-md);
  font-weight: var(--weight-medium);
  color: var(--color-text-secondary);
  text-decoration: line-through;
  text-decoration-thickness: 1.5px;
  text-decoration-color: var(--color-text-secondary);
  margin-left: var(--space-2);
}

/* Billing microcopy under price */
.price-billing {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: var(--space-2);
  font-family: var(--font-sans);
  font-size: var(--text-xs);
  font-weight: var(--weight-medium);
  letter-spacing: var(--tracking-wide);
  text-transform: uppercase;
  color: var(--color-text-secondary);
  margin: 0 0 var(--space-6);
  min-height: 22px;
}

/* "Save $X" savings pill */
.price-save-pill {
  display: inline-flex;
  align-items: center;
  padding: 3px 10px;
  font-family: var(--font-sans);
  font-size: var(--text-xs);
  font-weight: var(--weight-bold);
  letter-spacing: var(--tracking-wide);
  color: #15803d;
  background: rgba(34, 197, 94, 0.12);
  border-radius: var(--radius-full);
  white-space: nowrap;
}

/* Apply button */
.apply-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  width: 100%;
  margin: 0 0 var(--space-8);
  padding: 13px var(--space-4) 14px;
  font-family: var(--font-sans);
  font-size: var(--text-md);
  font-weight: var(--weight-bold);
  line-height: 1.2;
  text-align: center;
  color: var(--color-orange);
  background: var(--color-bg-white);
  border: 1.5px solid var(--color-border-strong);
  border-radius: var(--radius-full);
  text-decoration: none;
  transition: background var(--transition-normal),
    color var(--transition-normal),
    border-color var(--transition-normal),
    box-shadow var(--transition-normal),
    transform var(--transition-normal);
}

.apply-btn svg {
  width: 14px;
  height: 14px;
  flex-shrink: 0;
  transition: transform var(--transition-normal);
}

.apply-btn:hover {
  background: var(--color-orange);
  color: #fff;
  border-color: var(--color-orange);
  box-shadow: var(--shadow-cta);
  text-decoration: none;
}

.apply-btn:hover svg {
  transform: translateX(2px);
}

.payment-card.active .apply-btn {
  background: var(--color-orange);
  color: #fff;
  border-color: var(--color-orange);
  box-shadow: var(--shadow-cta);
}

.payment-card.active .apply-btn:hover {
  background: var(--color-orange-hover);
  border-color: var(--color-orange-hover);
  box-shadow: var(--shadow-cta-hover);
  transform: translateY(-1px);
}

/* Features list */
.payment-card .card-features {
  list-style: none;
  padding: 0;
  margin: 0 0 var(--space-6);
  flex-grow: 1;
}

.payment-card .card-features li {
  position: relative;
  font-family: var(--font-sans);
  font-size: var(--text-base);
  font-weight: var(--weight-medium);
  line-height: var(--leading-normal);
  color: var(--color-text-body);
  padding-left: 26px;
  margin-bottom: var(--space-4);
}

.payment-card .card-features li:last-child {
  margin-bottom: 0;
}

.payment-card .card-features li::before {
  content: '';
  position: absolute;
  background-image: var(--paw-orange);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  width: 16px;
  height: 16px;
  top: 5px;
  left: 0;
  transform: rotate(-8deg);
}

/* Card small print */
.card-small-print {
  font-family: var(--font-sans);
  font-size: var(--text-xs);
  font-weight: var(--weight-regular);
  line-height: var(--leading-normal);
  color: var(--color-text-secondary);
  border-top: 1px solid var(--color-border);
  padding-top: var(--space-4);
  margin: 0;
}

/* â”€â”€ Trust Logos â”€â”€ */
.logosfirst-section {
  padding: var(--space-16) 0;
}

.logosfirst-section .logos-wrapper {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--space-16);
  max-width: 1100px;
  margin: 0 auto;
}

.logosfirst-section .logos-card {
  margin: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

.logosfirst-img {
  height: 127px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.logosfirst-img img {
  max-width: 100%;
  height: auto;
}

.logosfirst-section .logo-content {
  margin: var(--space-6) 0 0;
}

.logosfirst-section .logo-content p {
  font-family: var(--font-sans);
  font-size: var(--text-base);
  font-weight: var(--weight-medium);
  line-height: var(--leading-normal);
  color: var(--color-text-body);
  margin: 0;
}

/* â”€â”€ Compare Section â”€â”€ */
.compare-section {
  padding: var(--space-16) 0;
  background: var(--color-bg-warm);
  position: relative;
}

.compare-heading {
  text-align: center;
  max-width: 720px;
  margin: 0 auto var(--space-12);
}

.compare-heading .eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-bottom: var(--space-3);
}

.compare-heading .eyebrow::before {
  content: '';
  width: 20px;
  height: 2px;
  background: var(--color-orange);
  border-radius: 1px;
  flex-shrink: 0;
}

.compare-heading h2 {
  font-family: var(--font-serif);
  font-size: clamp(26px, 3vw, var(--text-4xl));
  font-weight: var(--weight-regular);
  letter-spacing: var(--tracking-tight);
  line-height: var(--leading-tight);
  color: var(--color-text-heading);
  margin: 0 0 var(--space-4);
}

.compare-heading p {
  font-family: var(--font-sans);
  font-size: var(--text-md);
  line-height: var(--leading-body);
  color: var(--color-text-body);
  margin: 0 auto;
  max-width: 620px;
}

.compare-wrapper {
  max-width: 980px;
  width: 100%;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--space-5);
  position: relative;
  z-index: 1;
}

.true-col,
.false-col {
  background: var(--color-bg-white);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  padding: var(--space-8);
  box-shadow: var(--shadow-sm);
}

.true-col {
  border-color: rgba(255, 91, 46, 0.25);
  border-top: 3px solid var(--color-orange);
}

.false-col {
  border-top: 3px solid var(--color-text-secondary);
}

.col-head {
  margin: 0 0 var(--space-6);
}

.col-head h3 {
  font-family: var(--font-sans);
  font-size: 18px;
  font-weight: var(--weight-bold);
  line-height: var(--leading-snug);
  letter-spacing: var(--tracking-normal);
  color: var(--color-text-heading);
  margin: 0;
}

.true-col .col-head h3 {
  color: var(--color-orange);
}

.true-col ul,
.false-col ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.true-col ul li,
.false-col ul li {
  position: relative;
  font-family: var(--font-sans);
  font-size: var(--text-base);
  font-weight: var(--weight-regular);
  line-height: var(--leading-normal);
  color: var(--color-text-body);
  padding-left: 26px;
  margin-bottom: var(--space-4);
}

.true-col ul li:last-child,
.false-col ul li:last-child {
  margin-bottom: 0;
}

.true-col ul li::before,
.false-col ul li::before {
  content: '';
  position: absolute;
  background-repeat: no-repeat;
  background-size: contain;
  width: 15px;
  height: 15px;
  top: 6px;
  left: 0;
}

.true-col ul li::before {
  background-image: url('../images/check-icon.svg');
}

.false-col ul li::before {
  background-image: url('../images/cross-check-icon.svg');
}

/* â”€â”€ Legal Validity â€” 3 column grid â”€â”€ */
.letter-section {
  padding: var(--space-20) 0;
}

.letter-heading {
  text-align: center;
  max-width: 760px;
  margin: 0 auto var(--space-12);
}

.letter-heading .eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-bottom: var(--space-3);
}

.letter-heading .eyebrow::before {
  content: '';
  width: 20px;
  height: 2px;
  background: var(--color-orange);
  border-radius: 1px;
  flex-shrink: 0;
}

.letter-heading h2 {
  font-family: var(--font-serif);
  font-size: clamp(26px, 3vw, var(--text-4xl));
  font-weight: var(--weight-regular);
  letter-spacing: var(--tracking-tight);
  line-height: var(--leading-tight);
  color: var(--color-text-heading);
  margin: 0 0 var(--space-4);
}

.letter-heading p {
  font-family: var(--font-sans);
  font-size: var(--text-md);
  line-height: var(--leading-body);
  color: var(--color-text-body);
  margin: 0 auto;
  max-width: 660px;
}

.letter-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--space-5);
  max-width: 1100px;
  margin: 0 auto;
}

.letter-card {
  background: var(--color-bg-white);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  padding: var(--space-6) var(--space-6) var(--space-8);
  box-shadow: var(--shadow-sm);
  transition: box-shadow var(--transition-normal),
    border-color var(--transition-normal),
    transform var(--transition-normal);
}

.letter-card:hover {
  box-shadow: var(--shadow-md);
  border-color: rgba(255, 91, 46, 0.2);
  transform: translateY(-2px);
}

.letter-card-esa {
  border-top: 3px solid var(--color-orange);
}

.letter-card-psd {
  border-top: 3px solid var(--color-navy);
}

.letter-card-penalties {
  border-top: 3px solid #DC2626;
  background: rgba(220, 38, 38, 0.025);
}

.letter-card header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-3);
  margin-bottom: var(--space-4);
}

.letter-card-tag {
  display: inline-flex;
  align-items: center;
  padding: 3px 10px;
  font-family: var(--font-sans);
  font-size: var(--text-xs);
  font-weight: var(--weight-bold);
  letter-spacing: var(--tracking-wide);
  text-transform: uppercase;
  color: var(--color-orange);
  background: rgba(255, 91, 46, 0.1);
  border-radius: var(--radius-full);
}

.letter-card-psd .letter-card-tag {
  color: var(--color-navy);
  background: rgba(14, 20, 95, 0.08);
}

.letter-card-tag-warn {
  color: #DC2626;
  background: rgba(220, 38, 38, 0.08);
}

.letter-card-price {
  font-family: var(--font-serif);
  font-size: var(--text-2xl);
  font-weight: var(--weight-regular);
  letter-spacing: var(--tracking-tight);
  color: var(--color-orange);
  line-height: 1;
}

.letter-card-psd .letter-card-price {
  color: var(--color-navy);
}

.letter-card h3 {
  font-family: var(--font-sans);
  font-size: var(--text-md);
  font-weight: var(--weight-bold);
  line-height: var(--leading-snug);
  color: var(--color-text-heading);
  margin: 0 0 var(--space-4);
}

.letter-card ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.letter-card ul li {
  position: relative;
  font-family: var(--font-sans);
  font-size: var(--text-base);
  font-weight: var(--weight-regular);
  line-height: var(--leading-normal);
  color: var(--color-text-body);
  padding-left: 22px;
  margin-bottom: var(--space-3);
}

.letter-card ul li:last-child {
  margin-bottom: 0;
}

.letter-card-esa ul li::before,
.letter-card-psd ul li::before {
  content: '';
  position: absolute;
  background-image: url('../images/check-icon.svg');
  background-repeat: no-repeat;
  background-size: contain;
  width: 12px;
  height: 12px;
  top: 7px;
  left: 0;
}

.letter-card-penalties ul li::before {
  content: '';
  position: absolute;
  background-image: url('../images/cross-check-icon.svg');
  background-repeat: no-repeat;
  background-size: contain;
  width: 12px;
  height: 12px;
  top: 7px;
  left: 0;
  filter: hue-rotate(0);
}

/* Reviewer signature band */
.letter-reviewer {
  max-width: 760px;
  margin: var(--space-10) auto 0;
  display: flex;
  align-items: center;
  gap: var(--space-4);
  padding: var(--space-5) var(--space-6);
  background: var(--color-bg-warm);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
}

.letter-reviewer-avatar {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: var(--color-navy);
  color: #fff;
  font-family: var(--font-sans);
  font-size: 15px;
  font-weight: var(--weight-bold);
  letter-spacing: var(--tracking-wide);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  box-shadow: 0 0 0 3px rgba(14, 20, 95, 0.12);
  object-fit: cover;
}

img.letter-reviewer-avatar {
  display: block;
  padding: 0;
  background: transparent;
}

.letter-reviewer-txt {
  display: flex;
  flex-direction: column;
  gap: 2px;
  font-family: var(--font-sans);
  font-size: var(--text-sm);
  color: var(--color-text-secondary);
  line-height: var(--leading-snug);
}

.letter-reviewer-txt strong {
  font-size: var(--text-md);
  font-weight: var(--weight-bold);
  color: var(--color-text-heading);
}

.letter-reviewer-label {
  font-size: var(--text-xs);
  font-weight: var(--weight-bold);
  letter-spacing: var(--tracking-wide);
  text-transform: uppercase;
  color: var(--color-text-secondary);
}

/* â”€â”€ Review-Site Logos â”€â”€ */
.logos-section {
  padding: var(--space-16) 0;
  background: var(--color-bg-warm);
}

.logos-section .logos-wrapper {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--space-20);
  max-width: 1000px;
  margin: 0 auto;
}

.logos-section .logos-card {
  margin: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.logos-section .logos-img {
  max-width: 216px;
  width: 100%;
  height: 68px;
  object-fit: contain;
}

.logos-section .logo-content {
  margin-top: var(--space-5);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-2);
}

.logos-section .logo-content span {
  font-family: var(--font-sans);
  font-size: var(--text-base);
  font-weight: var(--weight-medium);
  line-height: var(--leading-normal);
  color: var(--color-text-body);
}

/* â”€â”€ Video Testimonials â”€â”€ */
.review-section {
  padding: var(--space-20) 0 var(--space-10);
}

.banner-reviews {
  max-width: 1080px;
  width: 100%;
  margin: 0 auto;
  border-radius: var(--radius-lg);
  border: 1px solid var(--color-border);
  padding: var(--space-6) var(--space-8) var(--space-8);
  background: var(--color-bg-white);
  box-shadow: var(--shadow-sm);
}

.reviews-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-4);
  flex-wrap: wrap;
  margin-bottom: var(--space-6);
  padding-bottom: var(--space-5);
  border-bottom: 1px solid var(--color-border);
}

.reviews-rating {
  display: inline-flex;
  align-items: center;
  gap: var(--space-3);
  background: var(--color-bg-peach);
  border-radius: var(--radius-full);
  padding: var(--space-2) var(--space-4);
}

.reviews-rating p {
  font-family: var(--font-sans);
  font-size: var(--text-sm);
  font-weight: var(--weight-medium);
  line-height: 1.4;
  color: var(--color-text-heading);
  margin: 0;
}

.reviews-rating p strong {
  font-weight: var(--weight-bold);
}

.reviews-watch-all {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-family: var(--font-sans);
  font-size: var(--text-sm);
  font-weight: var(--weight-bold);
  color: var(--color-orange);
  text-decoration: none;
  transition: color var(--transition-fast);
}

.reviews-watch-all svg {
  width: 12px;
  height: 12px;
  transition: transform var(--transition-fast);
}

.reviews-watch-all:hover {
  color: var(--color-orange-hover);
  text-decoration: underline;
}

.reviews-watch-all:hover svg {
  transform: translateX(2px);
}

.video-wrapper {
  max-width: 900px;
  width: 100%;
  position: relative;
  margin: 0 auto;
}

.video-card {
  position: relative;
  margin: 0;
}

.video-card a {
  display: block;
  max-width: 202px;
  width: 100%;
  height: 199px;
  border-radius: var(--radius-md);
  overflow: hidden;
  position: relative;
}

.video-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.video-card-caption {
  font-family: var(--font-sans);
  font-size: var(--text-xs);
  font-weight: var(--weight-bold);
  color: var(--color-text-heading);
  margin: var(--space-2) 0 0;
  max-width: 202px;
}

.play-btn {
  position: absolute;
  width: 48px;
  height: 48px;
  background: rgba(219, 43, 66, 0.7);
  border-radius: 50%;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  cursor: pointer;
  transition: background var(--transition-normal);
}

.play-btn::before {
  content: '';
  position: absolute;
  background-image: url('../images/play-button-icon.svg');
  background-repeat: no-repeat;
  background-size: contain;
  width: 19px;
  height: 21px;
  top: 50%;
  left: 54%;
  transform: translate(-50%, -50%);
}

.play-btn::after {
  content: '';
  width: 100%;
  height: 100%;
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  border-radius: inherit;
  animation: pulseAnimation 1.8s infinite;
}

.video-card:hover .play-btn {
  background: var(--color-orange);
}

@keyframes pulseAnimation {
  0% {
    box-shadow: 0 0 0 0 rgba(255, 91, 46, 0.45);
  }

  100% {
    box-shadow: 0 0 0 20px transparent;
  }
}

.videoSwipper {
  position: relative !important;
  width: 100%;
  margin: 0 auto;
  cursor: pointer;
}

.swiper-button-next-video {
  width: 48px;
  height: 199px;
  border: none;
  border-radius: var(--radius-md);
  transition: background var(--transition-normal);
  top: 0;
  bottom: auto;
  right: -56px;
  position: absolute;
  z-index: 1;
  cursor: pointer;
  background: var(--color-orange);
  padding: 0;
}

.swiper-button-next-video:hover {
  background: var(--color-orange-hover);
}

.swiper-button-next-video::after {
  content: '';
  position: absolute;
  background-image: url('../images/swiper-right-icon.svg');
  background-repeat: no-repeat;
  width: 25px;
  height: 25px;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  filter: brightness(0) invert(1);
}

.video-wrapper.firstSlide .swiper-button-next-video::after {
  transform: translate(-50%, -50%) rotate(180deg);
}

.fancybox__backdrop {
  background: rgba(14, 20, 95, 0.85) !important;
}

/* â”€â”€ FAQ â”€â”€ */
.faq-section {
  padding: var(--space-16) 0;
}

.faq-list {
  max-width: 820px;
  margin: 0 auto;
}

.faq-heading-block {
  text-align: center;
  margin: 0 auto var(--space-10);
}

.faq-heading-block .eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-bottom: var(--space-3);
}

.faq-heading-block .eyebrow::before {
  content: '';
  width: 20px;
  height: 2px;
  background: var(--color-orange);
  border-radius: 1px;
  flex-shrink: 0;
}

.faq-head {
  font-family: var(--font-serif);
  font-size: clamp(26px, 3vw, var(--text-4xl));
  font-weight: var(--weight-regular);
  line-height: var(--leading-tight);
  letter-spacing: var(--tracking-tight);
  text-align: center;
  color: var(--color-text-heading);
  margin: 0;
}

.faq-wrapper {
  width: 100%;
  margin: 0 auto;
}

.faq-card {
  background: var(--color-bg-white);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  position: relative;
  cursor: pointer;
  margin-bottom: var(--space-3);
  padding: var(--space-5) var(--space-6);
  box-shadow: var(--shadow-xs);
  transition: border-color var(--transition-normal),
    box-shadow var(--transition-normal);
}

.faq-card:hover {
  border-color: rgba(255, 91, 46, 0.25);
  box-shadow: var(--shadow-sm);
}

.faq-card.open {
  border-color: rgba(255, 91, 46, 0.35);
  background: var(--color-bg-warm);
  box-shadow: var(--shadow-sm);
}

.card-head {
  position: relative;
  padding-right: 40px;
  cursor: pointer;
}

.card-head p,
.card-head h3 {
  font-family: var(--font-sans);
  font-size: var(--text-md);
  font-weight: var(--weight-bold);
  line-height: var(--leading-snug);
  color: var(--color-text-heading);
  margin: 0;
  transition: color var(--transition-fast);
}

.faq-card:hover .card-head p,
.faq-card:hover .card-head h3,
.faq-card.open .card-head p,
.faq-card.open .card-head h3 {
  color: var(--color-orange);
}

.card-head::before {
  content: '';
  position: absolute;
  background-image: url('../../images/faq-arrowDown.svg');
  background-repeat: no-repeat;
  background-size: contain;
  width: 18px;
  height: 18px;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  transition: transform var(--transition-normal);
}

.card-head.rotate::before {
  transform: translateY(-50%) rotate(180deg);
}

.card-para {
  display: none;
  padding: var(--space-4) 0 0;
  border-top: 1px solid var(--color-border);
  margin-top: var(--space-4);
}

.card-para p {
  font-family: var(--font-sans);
  font-size: var(--text-md);
  font-weight: var(--weight-regular);
  line-height: var(--leading-body);
  color: var(--color-text-body);
  margin: 0 0 var(--space-3);
}

.card-para p:last-child {
  margin-bottom: 0;
}

.card-para a {
  color: var(--color-orange);
  text-decoration: none;
  border-bottom: 1px solid rgba(255, 91, 46, 0.25);
  font-weight: var(--weight-medium);
}

.card-para a:hover {
  border-bottom-color: var(--color-orange);
}

/* â”€â”€ Final CTA â”€â”€ */
.cta-section {
  padding: var(--space-12) 0 var(--space-20);
}

.cta-wrapper {
  max-width: 820px;
  width: 100%;
  margin: 0 auto;
  border-radius: var(--radius-xl);
  background: var(--color-bg-peach);
  border: 1px solid rgba(255, 91, 46, 0.2);
  padding: var(--space-16) var(--space-12);
  text-align: center;
  position: relative;
  overflow: hidden;
  box-shadow: var(--shadow-sm);
}

.cta-wrapper::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image: radial-gradient(circle, rgba(14, 20, 95, 0.04) 1px, transparent 1px);
  background-size: 22px 22px;
  pointer-events: none;
}

.cta-wrapper .cta-title {
  position: relative;
  font-family: var(--font-serif);
  font-size: clamp(26px, 3vw, var(--text-4xl));
  font-weight: var(--weight-regular);
  line-height: var(--leading-tight);
  letter-spacing: var(--tracking-tight);
  color: var(--color-text-heading);
  margin: 0 0 var(--space-4);
}

.cta-wrapper .cta-sub {
  position: relative;
  font-family: var(--font-sans);
  font-size: var(--text-md);
  font-weight: var(--weight-regular);
  line-height: var(--leading-body);
  color: var(--color-text-body);
  margin: 0 auto var(--space-8);
  max-width: 560px;
}

.cta-btn {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-2);
  padding: 16px 36px;
  font-family: var(--font-sans);
  font-size: 18px;
  font-weight: var(--weight-bold);
  line-height: 1.2;
  text-align: center;
  text-decoration: none;
  background: var(--color-orange);
  color: #fff;
  border-radius: var(--radius-full);
  border: none;
  border-bottom: 4px solid var(--color-orange-hover);
  box-shadow: var(--shadow-cta);
  transition: background var(--transition-normal),
    box-shadow var(--transition-normal),
    transform var(--transition-normal);
}

.cta-btn svg {
  width: 14px;
  height: 14px;
  flex-shrink: 0;
  transition: transform var(--transition-normal);
}

.cta-btn:hover {
  background: var(--color-orange-hover);
  box-shadow: var(--shadow-cta-hover);
  transform: translateY(2px);
  border-bottom-width: 2px;
  text-decoration: none;
  color: #fff;
}

.cta-btn:hover svg {
  transform: translateX(2px);
}

/* CTA reassure row */
.cta-reassure {
  list-style: none;
  padding: 0;
  margin: var(--space-6) 0 0;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: var(--space-4) var(--space-6);
}

.cta-reassure li {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-family: var(--font-sans);
  font-size: var(--text-sm);
  font-weight: var(--weight-medium);
  color: var(--color-text-body);
}

.cta-reassure svg {
  width: 14px;
  height: 14px;
  color: #15803d;
  flex-shrink: 0;
}

/* CTA phone fallback */
.cta-phone {
  position: relative;
  margin: var(--space-5) 0 0;
  font-family: var(--font-sans);
  font-size: var(--text-sm);
  color: var(--color-text-secondary);
  line-height: var(--leading-normal);
}

.cta-phone a {
  color: var(--color-orange);
  font-weight: var(--weight-bold);
  text-decoration: none;
  border-bottom: 1px solid rgba(255, 91, 46, 0.25);
  transition: border-color var(--transition-fast);
}

.cta-phone a:hover {
  border-bottom-color: var(--color-orange);
}

/* ============================================================
   RESPONSIVE
============================================================ */
@media (max-width: 1100px) {
  .payment-slider-row {
    grid-template-columns: repeat(2, 1fr);
  }

  .popular-slot .payment-card {
    transform: translateY(-6px);
  }

  .popular-slot .payment-card:hover {
    transform: translateY(-9px);
  }

  .letter-grid {
    grid-template-columns: 1fr;
    max-width: 720px;
  }

  .logosfirst-section .logos-wrapper {
    gap: var(--space-10);
  }

  .logos-section .logos-wrapper {
    gap: var(--space-12);
  }
}

@media (max-width: 900px) {
  .pricingBanner {
    padding: var(--space-16) 0 var(--space-20);
    border-bottom-left-radius: 32px;
    border-bottom-right-radius: 32px;
  }

  .pricingBanner::before,
  .pricingBanner::after {
    display: none;
  }

  .compare-wrapper {
    grid-template-columns: 1fr;
    gap: var(--space-5);
  }

  .hero-trust-strip li:not(:last-child)::after {
    display: none;
  }
}

@media (max-width: 768px) {
  .payment-slider-row {
    grid-template-columns: 1fr;
    gap: var(--space-4);
    padding: var(--space-5) 0 var(--space-10);
  }

  .payment-wrapper {
    margin: -64px auto 0;
  }

  .popular-slot .payment-card {
    transform: none;
  }

  .popular-slot .payment-card:hover {
    transform: translateY(-3px);
  }

  .payment-wrapper .swiper-slide {
    display: flex;
    justify-content: center;
  }

  .swiper-pagination-payment {
    position: absolute !important;
    text-align: center !important;
    transition: 0.3s opacity !important;
    transform: translate3d(0, 0, 0) !important;
    bottom: 1px !important;
    z-index: 1 !important;
  }

  .swiper-pagination-payment .swiper-pagination-bullet {
    background: var(--color-bg-peach);
    opacity: 1;
    width: 9px;
    height: 9px;
  }

  .swiper-pagination-payment .swiper-pagination-bullet-active {
    background: var(--color-orange) !important;
    width: 28px !important;
    height: 9px !important;
    border-radius: var(--radius-full) !important;
  }

  .logosfirst-section {
    padding: var(--space-10) 0;
  }

  .logosfirst-section .logos-wrapper {
    grid-template-columns: 1fr;
    gap: var(--space-10);
  }

  .logos-section {
    padding: var(--space-10) 0;
  }

  .logos-section .logos-wrapper {
    grid-template-columns: 1fr;
    gap: var(--space-8);
  }

  .logos-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
  }

  .logosfirst-img {
    height: auto;
  }

  .compare-section {
    padding: var(--space-12) 0;
  }

  .letter-section {
    padding: var(--space-12) 0;
  }

  .letter-grid {
    grid-template-columns: 1fr;
  }

  .review-section {
    padding: var(--space-12) 0;
  }

  .banner-reviews {
    padding: var(--space-5) var(--space-4) var(--space-6);
  }

  .reviews-header {
    flex-direction: column;
    align-items: flex-start;
  }

  .swiper-button-next-video {
    display: none;
  }
}

@media (max-width: 575px) {
  .pricingBanner {
    padding: var(--space-12) 0 var(--space-16);
    border-bottom-left-radius: 24px;
    border-bottom-right-radius: 24px;
  }

  .pricingBanner .bannerHeading h1 {
    font-size: 28px;
  }

  .pricingBanner .bannerHeading>p {
    font-size: var(--text-base);
  }

  .payment-card {
    padding: var(--space-8) var(--space-5);
  }

  .price-amount {
    font-size: 42px;
  }

  .letter-reviewer {
    flex-direction: column;
    align-items: flex-start;
  }

  .faq-section {
    padding: var(--space-10) 0 var(--space-12);
  }

  .faq-head {
    font-size: 24px;
  }

  .card-head p,
  .card-head h3 {
    font-size: var(--text-base);
  }

  .card-para p {
    font-size: var(--text-base);
  }

  .review-section {
    padding: var(--space-10) 0;
  }

  .reviews-watch-all {
    font-size: var(--text-xs);
  }

  .video-card a {
    max-width: 150px;
    height: 150px;
  }

  .play-btn {
    width: 40px;
    height: 40px;
  }

  .play-btn::before {
    width: 14px;
    height: 15px;
  }

  @keyframes pulseAnimation {
    0% {
      box-shadow: 0 0 0 0 rgba(255, 91, 46, 0.45);
    }

    100% {
      box-shadow: 0 0 0 12px transparent;
    }
  }

  .cta-section {
    padding: var(--space-10) 0 var(--space-16);
  }

  .cta-wrapper {
    padding: var(--space-10) var(--space-5);
  }

  .cta-wrapper .cta-title {
    font-size: 22px;
  }

  .cta-btn {
    padding: 14px 28px;
    font-size: var(--text-md);
  }

  .cta-reassure {
    gap: var(--space-3);
  }
}

/* ============================================================
   LIVELINESS LAYER â€” motion + micro-interactions
   Respects prefers-reduced-motion.
============================================================ */

/* Hero background orbs â€” soft, slow drift */
.banner-orb {
  position: absolute;
  border-radius: 50%;
  filter: blur(60px);
  opacity: 0.55;
  pointer-events: none;
  z-index: 0;
}

.banner-orb-1 {
  width: 280px;
  height: 280px;
  background: rgba(255, 91, 46, 0.22);
  top: -80px;
  left: -60px;
  animation: orbFloat 14s ease-in-out infinite;
}

.banner-orb-2 {
  width: 220px;
  height: 220px;
  background: rgba(255, 217, 178, 0.5);
  top: 40%;
  right: -40px;
  animation: orbFloat 18s ease-in-out infinite 2s reverse;
}

.banner-orb-3 {
  width: 180px;
  height: 180px;
  background: rgba(14, 20, 95, 0.08);
  bottom: -40px;
  left: 35%;
  animation: orbFloat 22s ease-in-out infinite 4s;
}

@keyframes orbFloat {

  0%,
  100% {
    transform: translate(0, 0) scale(1);
  }

  33% {
    transform: translate(20px, -15px) scale(1.06);
  }

  66% {
    transform: translate(-15px, 10px) scale(0.96);
  }
}

.pricingBanner>.container {
  position: relative;
  z-index: 1;
}

/* Scroll-reveal */
.js-reveal {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.6s cubic-bezier(0.4, 0, 0.2, 1),
    transform 0.6s cubic-bezier(0.4, 0, 0.2, 1);
}

.js-reveal.is-visible {
  opacity: 1;
  transform: translateY(0);
}

.js-reveal[data-reveal-delay="1"] {
  transition-delay: 0.08s;
}

.js-reveal[data-reveal-delay="2"] {
  transition-delay: 0.16s;
}

.js-reveal[data-reveal-delay="3"] {
  transition-delay: 0.24s;
}

/* Most Popular badge â€” gentle breathing pulse */
.card-badge-popular {
  animation: badgeBreathe 2.6s ease-in-out infinite;
}

@keyframes badgeBreathe {

  0%,
  100% {
    transform: translateX(-50%) scale(1);
    box-shadow: var(--shadow-sm);
  }

  50% {
    transform: translateX(-50%) scale(1.04);
    box-shadow: 0 4px 18px rgba(14, 20, 95, 0.22);
  }
}

/* Combo card â€” subtle orange glow on hover */
.payment-card.active {
  position: relative;
}

.payment-card.active::after {
  content: '';
  position: absolute;
  inset: -2px;
  border-radius: calc(var(--radius-lg) + 2px);
  background: var(--color-bg-peach);
  z-index: -1;
  opacity: 0;
  transition: opacity var(--transition-normal);
}

.payment-card.active:hover::after {
  opacity: 1;
}

/* Video card â€” gentle zoom on hover */
.video-card a {
  transition: transform var(--transition-normal),
    box-shadow var(--transition-normal);
}

.video-card:hover a {
  transform: scale(1.03);
  box-shadow: var(--shadow-md);
}

.video-card .play-btn {
  transition: background var(--transition-normal),
    transform var(--transition-normal);
}

.video-card:hover .play-btn {
  transform: translate(-50%, -50%) scale(1.1);
}

/* Buttons get GPU layer hint to keep hover lifts smooth */
.apply-btn,
.cta-btn,
.btn-upsell-strip {
  will-change: transform;
}

/* Counter-up stats â€” prevent layout shift while digits change */
.hero-trust-strip li strong[data-count] {
  display: inline-block;
  min-width: 1ch;
  font-variant-numeric: tabular-nums;
}

/* Respect users who prefer no motion */
@media (prefers-reduced-motion: reduce) {
  .banner-orb {
    animation: none;
  }

  .card-badge-popular {
    animation: none;
  }

  .js-reveal {
    opacity: 1;
    transform: none;
    transition: none;
  }

  .video-card:hover a {
    transform: none;
  }
}

/* ============================================================
   AOS-LIKE ANIMATIONS â€” data-aos attribute system
   Mirrors the AOS library API (fade-up/down/left/right, zoom-in/out, flip-up)
   without the dependency. Driven by IntersectionObserver in JS.
============================================================ */
[data-aos] {
  opacity: 0;
  transition-property: transform, opacity;
  transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94);
  transition-duration: 700ms;
  will-change: transform, opacity;
}

[data-aos="fade-up"] {
  transform: translate3d(0, 30px, 0);
}

[data-aos="fade-down"] {
  transform: translate3d(0, -30px, 0);
}

[data-aos="fade-left"] {
  transform: translate3d(40px, 0, 0);
}

[data-aos="fade-right"] {
  transform: translate3d(-40px, 0, 0);
}

[data-aos="zoom-in"] {
  transform: scale(0.92);
}

[data-aos="zoom-out"] {
  transform: scale(1.06);
}

[data-aos="flip-up"] {
  transform: perspective(2500px) rotateX(-90deg);
}

[data-aos].aos-animate {
  opacity: 1;
  transform: translate3d(0, 0, 0) scale(1) rotateX(0);
}

@media (prefers-reduced-motion: reduce) {
  [data-aos] {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }
}

/* ============================================================
   Section background paws â€” compare, letter, faq
   ============================================================ */
.pricing-section-paws {
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 0;
  overflow: hidden;
}

.pricing-bg-paw {
  position: absolute;
  display: block;
  background-image: var(--paw-orange);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}

.compare-section,
.letter-section,
.faq-section {
  position: relative;
  overflow: hidden;
}

.compare-section .container,
.letter-section .container,
.faq-section .container {
  position: relative;
  z-index: 1;
}

/* Compare section */
.compare-paw-a {
  top: 6%;
  left: 2%;
  width: 44px;
  height: 44px;
  transform: rotate(-18deg);
  opacity: 0.09;
}

.compare-paw-b {
  top: 24%;
  right: 3%;
  width: 36px;
  height: 36px;
  transform: rotate(14deg);
  opacity: 0.08;
}

.compare-paw-c {
  bottom: 18%;
  left: 3%;
  width: 40px;
  height: 40px;
  transform: rotate(8deg);
  opacity: 0.08;
}

.compare-paw-d {
  bottom: 8%;
  right: 4%;
  width: 30px;
  height: 30px;
  transform: rotate(-12deg);
  opacity: 0.10;
}

/* Letter section */
.letter-paw-a {
  top: 4%;
  left: 3%;
  width: 46px;
  height: 46px;
  transform: rotate(-20deg);
  opacity: 0.09;
}

.letter-paw-b {
  top: 28%;
  right: 2%;
  width: 34px;
  height: 34px;
  transform: rotate(16deg);
  opacity: 0.08;
}

.letter-paw-c {
  bottom: 12%;
  left: 4%;
  width: 42px;
  height: 42px;
  transform: rotate(6deg);
  opacity: 0.09;
}

.letter-paw-d {
  bottom: 6%;
  right: 5%;
  width: 30px;
  height: 30px;
  transform: rotate(-10deg);
  opacity: 0.10;
}

/* FAQ section â€” tall, 5 paws */
.faq-paw-a {
  top: 3%;
  left: 3%;
  width: 50px;
  height: 50px;
  transform: rotate(-20deg);
  opacity: 0.08;
}

.faq-paw-b {
  top: 22%;
  right: 2%;
  width: 40px;
  height: 40px;
  transform: rotate(12deg);
  opacity: 0.07;
}

.faq-paw-c {
  top: 55%;
  left: 2%;
  width: 44px;
  height: 44px;
  transform: rotate(5deg);
  opacity: 0.09;
}

.faq-paw-d {
  bottom: 18%;
  right: 3%;
  width: 36px;
  height: 36px;
  transform: rotate(-16deg);
  opacity: 0.08;
}

.faq-paw-e {
  bottom: 5%;
  left: 10%;
  width: 32px;
  height: 32px;
  transform: rotate(22deg);
  opacity: 0.07;
}

@media (max-width: 768px) {

  .compare-paw-a,
  .compare-paw-c,
  .letter-paw-a,
  .letter-paw-c,
  .faq-paw-a,
  .faq-paw-c,
  .faq-paw-d {
    width: 30px;
    height: 30px;
  }

  .compare-paw-b,
  .compare-paw-d,
  .letter-paw-b,
  .letter-paw-d,
  .faq-paw-b,
  .faq-paw-e {
    width: 24px;
    height: 24px;
  }
}