/* tpn-brand-palette-v1 */
/**
 * Site chrome for Elementor-generated header/footer and page sections.
 * Scoped under .tpn-reviews-site — does not restyle unrelated WP/Elementor UI.
 */

/* Global typeface: Poppins everywhere (overrides Hello Elementor / kit Roboto). */
body,
button,
input,
select,
textarea,
.elementor-kit-6,
.elementor-kit-6 .elementor-widget-text-editor,
.ekit-template-content-header,
.ekit-template-content-footer {
  font-family: "Poppins", sans-serif !important;
}

.tpn-reviews-site,
.tpn-reviews-site * {
  box-sizing: border-box;
}

.tpn-reviews-site .tpn-muted {
  color: var(--tpn-text-muted, #666666);
  margin: 0 0 1rem;
  max-width: 40rem;
}

.tpn-reviews-site .tpn-hero-lead {
  color: rgba(255, 255, 255, 0.94);
  font-size: clamp(1rem, 2.2vw, 1.125rem);
  line-height: 1.55;
  max-width: 40rem;
  margin: 0 0 1.25rem;
}

.tpn-section--auth .tpn-muted,
.tpn-section--dashboard .tpn-muted {
  color: var(--tpn-text-muted, #666666);
}

/* —— Elementor sticky header —— */
.tpn-el-header {
  border-bottom: 1px solid var(--tpn-border, #e5e7eb);
  background: var(--tpn-white, #fff);
}

.tpn-el-header__inner {
  max-width: 1240px;
  margin: 0 auto;
  padding: 0.85rem 1.25rem;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.75rem 1.25rem;
}

.tpn-el-brand {
  text-decoration: none;
  margin-right: auto;
}

.tpn-el-brand__name {
  font-family: var(--tpn-font-heading, "Poppins", sans-serif);
  font-weight: 700;
  font-size: 1.125rem;
  color: var(--tpn-primary, #0e3691);
}

.tpn-el-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem 1.15rem;
  align-items: center;
}

.tpn-el-nav a {
  color: var(--tpn-text, #333);
  text-decoration: none;
  font-weight: 500;
  font-size: 0.95rem;
}

.tpn-el-nav a:hover,
.tpn-el-nav a:focus-visible {
  color: var(--tpn-secondary, #03aeed);
}

.tpn-el-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  align-items: center;
}

.tpn-el-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 0.55rem 1rem;
  border-radius: 10px;
  font-family: var(--tpn-font-heading, "Poppins", sans-serif);
  font-weight: 600;
  font-size: 0.9rem;
  text-decoration: none;
  border: 1px solid transparent;
  line-height: 1.2;
}

.tpn-el-btn--ghost {
  color: var(--tpn-primary, #0e3691);
  border-color: var(--tpn-primary, #0e3691);
  background: transparent;
}

.tpn-el-btn--primary {
  color: #111;
  background: var(--tpn-accent, #cc0000);
  border-color: var(--tpn-accent, #cc0000);
}

.tpn-el-nav-toggle {
  display: none;
  margin-left: auto;
  min-height: 40px;
  padding: 0.4rem 0.85rem;
  border-radius: 8px;
  border: 1px solid var(--tpn-border, #e5e7eb);
  background: var(--tpn-white, #fff);
  color: var(--tpn-primary, #0e3691);
  font-family: var(--tpn-font-heading, "Poppins", sans-serif);
  font-weight: 600;
  font-size: 0.85rem;
  cursor: pointer;
}

/* —— Trust / Why feedback matters (homepage) —— */
.tpn-trust {
  --tpn-trust-navy: #0e3691;
  --tpn-trust-cyan: #03aeed;
  --tpn-trust-red: #cc0000;
  --tpn-trust-ease: 240ms cubic-bezier(0.22, 1, 0.36, 1);
}

.tpn-trust .tpn-trust-card,
.tpn-trust .e-con.e-child.tpn-card {
  position: relative;
  overflow: hidden;
  background: #fff !important;
  border: 1px solid #e5e7eb !important;
  border-radius: 18px !important;
  box-shadow: 0 10px 28px rgba(14, 54, 145, 0.07) !important;
  transition:
    transform var(--tpn-trust-ease),
    box-shadow var(--tpn-trust-ease),
    border-color var(--tpn-trust-ease);
}

.tpn-trust .tpn-trust-card::before,
.tpn-trust .e-con.e-child.tpn-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: transparent;
  transition: background-color var(--tpn-trust-ease);
  pointer-events: none;
  z-index: 1;
}

.tpn-trust .tpn-trust-card .elementor-icon-box-wrapper,
.tpn-trust .e-con.e-child.tpn-card .elementor-icon-box-wrapper {
  text-align: center;
}

.tpn-trust .tpn-trust-card .elementor-icon-box-icon,
.tpn-trust .e-con.e-child.tpn-card .elementor-icon-box-icon {
  margin-bottom: 18px !important;
}

.tpn-trust .tpn-trust-card .elementor-icon-box-icon .elementor-icon,
.tpn-trust .e-con.e-child.tpn-card .elementor-icon-box-icon .elementor-icon {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 56px !important;
  height: 56px !important;
  min-width: 56px;
  min-height: 56px;
  margin: 0 auto !important;
  border-radius: 14px !important;
  background: rgba(14, 54, 145, 0.08) !important;
  color: var(--tpn-trust-navy) !important;
  box-shadow: inset 0 0 0 1px rgba(14, 54, 145, 0.06);
  transition:
    background-color var(--tpn-trust-ease),
    color var(--tpn-trust-ease),
    box-shadow var(--tpn-trust-ease),
    transform var(--tpn-trust-ease);
}

.tpn-trust .tpn-trust-card .elementor-icon-box-icon .elementor-icon svg,
.tpn-trust .tpn-trust-card .elementor-icon-box-icon .elementor-icon i,
.tpn-trust .e-con.e-child.tpn-card .elementor-icon-box-icon .elementor-icon svg,
.tpn-trust .e-con.e-child.tpn-card .elementor-icon-box-icon .elementor-icon i {
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  opacity: 0 !important;
}

.tpn-trust .tpn-trust-card .elementor-icon-box-icon .elementor-icon::before,
.tpn-trust .e-con.e-child.tpn-card .elementor-icon-box-icon .elementor-icon::before {
  content: "" !important;
  display: block !important;
  width: 26px !important;
  height: 26px !important;
  background-color: transparent !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-size: contain !important;
  transition: opacity var(--tpn-trust-ease);
}

/* Inline stroke SVG icons — navy default; white on hover via card rules below */
.tpn-trust .tpn-trust-card--verified .elementor-icon::before,
.tpn-trust .e-con.e-child.tpn-card:nth-child(1) .elementor-icon::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M6.5 8.5h11l.8 11.2a1.5 1.5 0 0 1-1.5 1.6H7.2a1.5 1.5 0 0 1-1.5-1.6L6.5 8.5Z' stroke='%230E3691' stroke-width='1.7' stroke-linejoin='round'/%3E%3Cpath d='M9 8.5V7a3 3 0 0 1 6 0v1.5' stroke='%230E3691' stroke-width='1.7' stroke-linecap='round'/%3E%3C/svg%3E") !important;
}

.tpn-trust .tpn-trust-card--feedback .elementor-icon::before,
.tpn-trust .e-con.e-child.tpn-card:nth-child(2) .elementor-icon::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M5.5 15.5h5.2L14 18.8V15.5h2.5a2 2 0 0 0 2-2V6.8a2 2 0 0 0-2-2H7.5a2 2 0 0 0-2 2v8.7Z' stroke='%230E3691' stroke-width='1.7' stroke-linejoin='round'/%3E%3Cpath d='M8.2 9.2h7.6M8.2 12h5' stroke='%230E3691' stroke-width='1.7' stroke-linecap='round'/%3E%3C/svg%3E") !important;
}

.tpn-trust .tpn-trust-card--customer .elementor-icon::before,
.tpn-trust .e-con.e-child.tpn-card:nth-child(3) .elementor-icon::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Ccircle cx='12' cy='8' r='3.25' stroke='%230E3691' stroke-width='1.7'/%3E%3Cpath d='M5.5 18.6c1.5-2.7 3.9-4.1 6.5-4.1s5 1.4 6.5 4.1' stroke='%230E3691' stroke-width='1.7' stroke-linecap='round'/%3E%3C/svg%3E") !important;
}

.tpn-trust .tpn-trust-card--moderated .elementor-icon::before,
.tpn-trust .e-con.e-child.tpn-card:nth-child(4) .elementor-icon::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M12 3.5 19 6.2v5.3c0 4.2-2.9 7.4-7 8.5-4.1-1.1-7-4.3-7-8.5V6.2L12 3.5Z' stroke='%230E3691' stroke-width='1.7' stroke-linejoin='round'/%3E%3Cpath d='m9.2 12.1 1.9 1.9 3.7-3.8' stroke='%230E3691' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
}

.tpn-trust .tpn-trust-card .elementor-icon-box-title,
.tpn-trust .e-con.e-child.tpn-card .elementor-icon-box-title {
  color: var(--tpn-trust-navy) !important;
  font-family: "Poppins", sans-serif !important;
  font-weight: 650 !important;
  font-size: 1.05rem !important;
  line-height: 1.3 !important;
  margin: 0 0 0.45rem !important;
  transition: color var(--tpn-trust-ease);
}

.tpn-trust .tpn-trust-card .elementor-icon-box-description,
.tpn-trust .e-con.e-child.tpn-card .elementor-icon-box-description {
  color: #666 !important;
  font-size: 0.95rem !important;
  line-height: 1.55 !important;
  margin: 0 !important;
}

@media (hover: hover) and (pointer: fine) {
  .tpn-trust .tpn-trust-card:hover,
  .tpn-trust .e-con.e-child.tpn-card:hover {
    transform: translateY(-6px) !important;
    border-color: rgba(3, 174, 237, 0.55) !important;
    box-shadow: 0 22px 44px rgba(14, 54, 145, 0.14) !important;
  }

  .tpn-trust .tpn-trust-card:hover::before,
  .tpn-trust .e-con.e-child.tpn-card:hover::before {
    background: linear-gradient(90deg, var(--tpn-trust-cyan), var(--tpn-trust-navy));
  }

  .tpn-trust .tpn-trust-card:hover .elementor-icon-box-icon .elementor-icon,
  .tpn-trust .e-con.e-child.tpn-card:hover .elementor-icon-box-icon .elementor-icon {
    background: var(--tpn-trust-cyan) !important;
    color: #fff !important;
    box-shadow: 0 8px 18px rgba(3, 174, 237, 0.35);
    transform: translateY(-2px);
  }

  .tpn-trust .tpn-trust-card:hover .elementor-icon-box-title,
  .tpn-trust .e-con.e-child.tpn-card:hover .elementor-icon-box-title {
    color: var(--tpn-trust-navy) !important;
  }

  .tpn-trust .tpn-trust-card--verified:hover .elementor-icon-box-icon .elementor-icon,
  .tpn-trust .tpn-trust-card--moderated:hover .elementor-icon-box-icon .elementor-icon,
  .tpn-trust .e-con.e-child.tpn-card:nth-child(1):hover .elementor-icon-box-icon .elementor-icon,
  .tpn-trust .e-con.e-child.tpn-card:nth-child(4):hover .elementor-icon-box-icon .elementor-icon {
    background: var(--tpn-trust-navy) !important;
    box-shadow: 0 8px 18px rgba(14, 54, 145, 0.28);
  }

  .tpn-trust .tpn-trust-card--feedback:hover .elementor-icon-box-icon .elementor-icon,
  .tpn-trust .tpn-trust-card--customer:hover .elementor-icon-box-icon .elementor-icon,
  .tpn-trust .e-con.e-child.tpn-card:nth-child(2):hover .elementor-icon-box-icon .elementor-icon,
  .tpn-trust .e-con.e-child.tpn-card:nth-child(3):hover .elementor-icon-box-icon .elementor-icon {
    background: var(--tpn-trust-cyan) !important;
  }

  .tpn-trust .tpn-trust-card--verified:hover .elementor-icon::before,
  .tpn-trust .e-con.e-child.tpn-card:nth-child(1):hover .elementor-icon::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M6.5 8.5h11l.8 11.2a1.5 1.5 0 0 1-1.5 1.6H7.2a1.5 1.5 0 0 1-1.5-1.6L6.5 8.5Z' stroke='%23FFFFFF' stroke-width='1.7' stroke-linejoin='round'/%3E%3Cpath d='M9 8.5V7a3 3 0 0 1 6 0v1.5' stroke='%23FFFFFF' stroke-width='1.7' stroke-linecap='round'/%3E%3C/svg%3E") !important;
  }

  .tpn-trust .tpn-trust-card--feedback:hover .elementor-icon::before,
  .tpn-trust .e-con.e-child.tpn-card:nth-child(2):hover .elementor-icon::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M5.5 15.5h5.2L14 18.8V15.5h2.5a2 2 0 0 0 2-2V6.8a2 2 0 0 0-2-2H7.5a2 2 0 0 0-2 2v8.7Z' stroke='%23FFFFFF' stroke-width='1.7' stroke-linejoin='round'/%3E%3Cpath d='M8.2 9.2h7.6M8.2 12h5' stroke='%23FFFFFF' stroke-width='1.7' stroke-linecap='round'/%3E%3C/svg%3E") !important;
  }

  .tpn-trust .tpn-trust-card--customer:hover .elementor-icon::before,
  .tpn-trust .e-con.e-child.tpn-card:nth-child(3):hover .elementor-icon::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Ccircle cx='12' cy='8' r='3.25' stroke='%23FFFFFF' stroke-width='1.7'/%3E%3Cpath d='M5.5 18.6c1.5-2.7 3.9-4.1 6.5-4.1s5 1.4 6.5 4.1' stroke='%23FFFFFF' stroke-width='1.7' stroke-linecap='round'/%3E%3C/svg%3E") !important;
  }

  .tpn-trust .tpn-trust-card--moderated:hover .elementor-icon::before,
  .tpn-trust .e-con.e-child.tpn-card:nth-child(4):hover .elementor-icon::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M12 3.5 19 6.2v5.3c0 4.2-2.9 7.4-7 8.5-4.1-1.1-7-4.3-7-8.5V6.2L12 3.5Z' stroke='%23FFFFFF' stroke-width='1.7' stroke-linejoin='round'/%3E%3Cpath d='m9.2 12.1 1.9 1.9 3.7-3.8' stroke='%23FFFFFF' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
  }
}

.tpn-trust .tpn-trust-card:focus-within,
.tpn-trust .e-con.e-child.tpn-card:focus-within {
  border-color: rgba(3, 174, 237, 0.55) !important;
  box-shadow: 0 16px 36px rgba(14, 54, 145, 0.12) !important;
}

.tpn-trust .tpn-trust-card:focus-within::before,
.tpn-trust .e-con.e-child.tpn-card:focus-within::before {
  background: var(--tpn-trust-red);
}

@media (prefers-reduced-motion: reduce) {
  .tpn-trust .tpn-trust-card,
  .tpn-trust .tpn-trust-card::before,
  .tpn-trust .tpn-trust-card .elementor-icon-box-icon .elementor-icon,
  .tpn-trust .tpn-trust-card .elementor-icon-box-title,
  .tpn-trust .e-con.e-child.tpn-card,
  .tpn-trust .e-con.e-child.tpn-card::before,
  .tpn-trust .e-con.e-child.tpn-card .elementor-icon-box-icon .elementor-icon,
  .tpn-trust .e-con.e-child.tpn-card .elementor-icon-box-title {
    transition: none !important;
  }

  .tpn-trust .tpn-trust-card:hover,
  .tpn-trust .e-con.e-child.tpn-card:hover {
    transform: none !important;
  }

  .tpn-trust .tpn-trust-card:hover .elementor-icon-box-icon .elementor-icon,
  .tpn-trust .e-con.e-child.tpn-card:hover .elementor-icon-box-icon .elementor-icon {
    transform: none !important;
  }
}

/* —— Explore Products (homepage category cards) —— */
.tpn-explore {
  --tpn-explore-navy: #0e3691;
  --tpn-explore-cyan: #03aeed;
  --tpn-explore-red: #cc0000;
  --tpn-explore-ease: 250ms cubic-bezier(0.22, 1, 0.36, 1);
  --tpn-explore-stage: linear-gradient(180deg, #f8fafc 0%, #eef3fa 100%);
}

/* Stretch row so every card shares one height */
.tpn-explore .e-con.e-flex > .e-con.tpn-cat-card,
.tpn-explore .tpn-cat-card {
  align-self: stretch !important;
  height: 100% !important;
}

.tpn-explore .tpn-cat-card {
  position: relative;
  overflow: hidden;
  display: flex !important;
  flex-direction: column !important;
  background: #fff !important;
  border: 1px solid #e5e7eb !important;
  border-radius: 20px !important;
  box-shadow:
    0 1px 0 rgba(14, 54, 145, 0.04),
    0 12px 32px rgba(14, 54, 145, 0.07) !important;
  transition:
    transform var(--tpn-explore-ease),
    box-shadow var(--tpn-explore-ease),
    border-color var(--tpn-explore-ease);
}

.tpn-explore .tpn-cat-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: transparent;
  transition: background var(--tpn-explore-ease);
  pointer-events: none;
  z-index: 2;
}

/* Identical product stage / frame for all four */
.tpn-explore .tpn-cat-card .tpn-product-photo,
.tpn-explore .tpn-cat-card .elementor-widget-image {
  margin: 0 0 2px !important;
  flex: 0 0 auto;
}

.tpn-explore .tpn-cat-card .tpn-product-photo,
.tpn-explore .tpn-cat-card .elementor-widget-image,
.tpn-explore .tpn-cat-card .tpn-product-photo .elementor-widget-container,
.tpn-explore .tpn-cat-card .elementor-widget-image .elementor-widget-container {
  overflow: hidden;
  border-radius: 14px;
  background:
    radial-gradient(140px 100px at 50% 40%, rgba(255, 255, 255, 0.95), transparent 72%),
    var(--tpn-explore-stage);
  box-shadow: inset 0 0 0 1px rgba(14, 54, 145, 0.05);
  padding: 14px 12px;
}

.tpn-explore .tpn-cat-card .tpn-product-photo .elementor-widget-container,
.tpn-explore .tpn-cat-card .elementor-widget-image .elementor-widget-container {
  aspect-ratio: 1 / 1;
  display: flex !important;
  align-items: center;
  justify-content: center;
}

.tpn-explore .tpn-cat-card .tpn-product-photo img,
.tpn-explore .tpn-cat-card .elementor-widget-image img {
  display: block;
  width: 100%;
  height: 100%;
  max-height: none;
  object-fit: contain !important;
  object-position: center center !important;
  transition: transform var(--tpn-explore-ease);
}

/* Cups: push residual lifestyle grey toward white studio language */
.tpn-explore .tpn-cat-card--cups .tpn-product-photo .elementor-widget-container,
.tpn-explore .tpn-cat-card--cups .elementor-widget-image .elementor-widget-container {
  background: #fff !important;
  box-shadow: inset 0 0 0 1px rgba(14, 54, 145, 0.04);
}

.tpn-explore .tpn-cat-card--cups .tpn-product-photo img,
.tpn-explore .tpn-cat-card--cups .elementor-widget-image img {
  filter: brightness(1.1) contrast(1.06) saturate(1.04);
}

/* Icon well + eyebrow — fixed two-line band */
.tpn-explore .tpn-cat-card .elementor-widget-image + .elementor-widget-text-editor {
  display: flex !important;
  align-items: center;
  gap: 12px;
  margin-top: 10px !important;
  margin-bottom: 0 !important;
  min-height: 44px;
}

.tpn-explore .tpn-cat-card .elementor-widget-image + .elementor-widget-text-editor .elementor-widget-container,
.tpn-explore .tpn-cat-card .elementor-widget-image + .elementor-widget-text-editor p {
  margin: 0 !important;
  flex: 1 1 auto;
  font-family: "Poppins", sans-serif !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 0.09em !important;
  line-height: 1.35 !important;
  text-transform: uppercase !important;
  color: var(--tpn-explore-red) !important;
  min-height: 2.7em;
}

.tpn-explore .tpn-cat-card .elementor-widget-image + .elementor-widget-text-editor::before {
  content: "" !important;
  flex: 0 0 auto;
  display: block !important;
  width: 42px !important;
  height: 42px !important;
  border-radius: 12px !important;
  background-color: rgba(14, 54, 145, 0.08) !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-size: 22px 22px !important;
  box-shadow: inset 0 0 0 1px rgba(14, 54, 145, 0.06);
  transition:
    background-color var(--tpn-explore-ease),
    box-shadow var(--tpn-explore-ease),
    transform var(--tpn-explore-ease);
}

.tpn-explore .tpn-cat-card--cups .elementor-widget-image + .elementor-widget-text-editor::before,
.tpn-explore .tpn-cat-card:nth-child(1) .elementor-widget-image + .elementor-widget-text-editor::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M8 4.5h8v2.2H8V4.5Z' stroke='%230E3691' stroke-width='1.7' stroke-linejoin='round'/%3E%3Cpath d='M9 6.7h6l.9 11.1a1.6 1.6 0 0 1-1.6 1.7H9.7a1.6 1.6 0 0 1-1.6-1.7L9 6.7Z' stroke='%230E3691' stroke-width='1.7' stroke-linejoin='round'/%3E%3Cpath d='M10.2 10.2h3.6' stroke='%230E3691' stroke-width='1.7' stroke-linecap='round'/%3E%3C/svg%3E") !important;
}

.tpn-explore .tpn-cat-card--dip .elementor-widget-image + .elementor-widget-text-editor::before,
.tpn-explore .tpn-cat-card:nth-child(2) .elementor-widget-image + .elementor-widget-text-editor::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Crect x='5.5' y='3.8' width='13' height='16.4' rx='2' stroke='%230E3691' stroke-width='1.7'/%3E%3Cpath d='M8.2 7.2v10M12 7.2v10M15.8 7.2v10' stroke='%230E3691' stroke-width='1.7' stroke-linecap='round'/%3E%3C/svg%3E") !important;
}

.tpn-explore .tpn-cat-card--strips .elementor-widget-image + .elementor-widget-text-editor::before,
.tpn-explore .tpn-cat-card:nth-child(3) .elementor-widget-image + .elementor-widget-text-editor::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M7.2 4.2 5.8 19.8M12 4.2 10.6 19.8M16.8 4.2 15.4 19.8' stroke='%230E3691' stroke-width='1.7' stroke-linecap='round'/%3E%3Cpath d='M6.4 8.5h2.2M11.2 8.5h2.2M16 8.5h2.2' stroke='%230E3691' stroke-width='1.7' stroke-linecap='round'/%3E%3C/svg%3E") !important;
}

.tpn-explore .tpn-cat-card--swab .elementor-widget-image + .elementor-widget-text-editor::before,
.tpn-explore .tpn-cat-card:nth-child(4) .elementor-widget-image + .elementor-widget-text-editor::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M12 3.6c1.5 0 2.7 1.2 2.7 2.7v3.1H9.3V6.3c0-1.5 1.2-2.7 2.7-2.7Z' stroke='%230E3691' stroke-width='1.7' stroke-linejoin='round'/%3E%3Cpath d='M9.3 9.4h5.4v8.2a2.1 2.1 0 0 1-2.1 2.1h-1.2a2.1 2.1 0 0 1-2.1-2.1V9.4Z' stroke='%230E3691' stroke-width='1.7' stroke-linejoin='round'/%3E%3Cpath d='M10.2 12.2h3.6' stroke='%230E3691' stroke-width='1.7' stroke-linecap='round'/%3E%3C/svg%3E") !important;
}

.tpn-explore .tpn-cat-card .elementor-widget-heading {
  margin-top: 4px !important;
  margin-bottom: 0 !important;
}

.tpn-explore .tpn-cat-card .elementor-heading-title {
  color: var(--tpn-explore-navy) !important;
  font-family: "Poppins", sans-serif !important;
  font-size: 20px !important;
  font-weight: 650 !important;
  line-height: 1.25 !important;
  letter-spacing: -0.01em !important;
  min-height: 1.25em;
  transition: color var(--tpn-explore-ease);
}

/* Description clamp so CTA baseline aligns across panels */
.tpn-explore .tpn-cat-card .elementor-widget-heading + .elementor-widget-text-editor {
  margin-top: 6px !important;
  margin-bottom: 0 !important;
  flex: 0 0 auto;
}

.tpn-explore .tpn-cat-card .elementor-widget-heading + .elementor-widget-text-editor p {
  margin: 0 !important;
  font-family: "Poppins", sans-serif !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: 1.55 !important;
  color: #666666 !important;
  min-height: 4.65em;
}

/* Push every View Reviews button to a shared baseline */
.tpn-explore .tpn-cat-card > .elementor-widget-button,
.tpn-explore .tpn-cat-card .elementor-widget-button {
  margin-top: auto !important;
  padding-top: 14px !important;
}

.tpn-explore .tpn-cat-card .elementor-button {
  width: 100%;
  justify-content: center;
  border-radius: 12px !important;
  font-family: "Poppins", sans-serif !important;
  font-weight: 600 !important;
  transition:
    background-color var(--tpn-explore-ease),
    border-color var(--tpn-explore-ease),
    color var(--tpn-explore-ease),
    transform var(--tpn-explore-ease),
    box-shadow var(--tpn-explore-ease) !important;
}

@media (hover: hover) and (pointer: fine) {
  .tpn-explore .tpn-cat-card:hover {
    transform: translateY(-6px) !important;
    border-color: rgba(3, 174, 237, 0.55) !important;
    box-shadow: 0 22px 44px rgba(14, 54, 145, 0.14) !important;
  }

  .tpn-explore .tpn-cat-card:hover::before {
    background: linear-gradient(90deg, var(--tpn-explore-cyan), var(--tpn-explore-navy));
  }

  .tpn-explore .tpn-cat-card:hover .tpn-product-photo img,
  .tpn-explore .tpn-cat-card:hover .elementor-widget-image img {
    transform: scale(1.045);
  }

  .tpn-explore .tpn-cat-card:hover .elementor-widget-image + .elementor-widget-text-editor::before {
    background-color: var(--tpn-explore-cyan) !important;
    box-shadow: 0 8px 18px rgba(3, 174, 237, 0.35);
    transform: translateY(-2px);
  }

  .tpn-explore .tpn-cat-card--cups:hover .elementor-widget-image + .elementor-widget-text-editor::before,
  .tpn-explore .tpn-cat-card:nth-child(1):hover .elementor-widget-image + .elementor-widget-text-editor::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M8 4.5h8v2.2H8V4.5Z' stroke='%23FFFFFF' stroke-width='1.7' stroke-linejoin='round'/%3E%3Cpath d='M9 6.7h6l.9 11.1a1.6 1.6 0 0 1-1.6 1.7H9.7a1.6 1.6 0 0 1-1.6-1.7L9 6.7Z' stroke='%23FFFFFF' stroke-width='1.7' stroke-linejoin='round'/%3E%3Cpath d='M10.2 10.2h3.6' stroke='%23FFFFFF' stroke-width='1.7' stroke-linecap='round'/%3E%3C/svg%3E") !important;
  }

  .tpn-explore .tpn-cat-card--dip:hover .elementor-widget-image + .elementor-widget-text-editor::before,
  .tpn-explore .tpn-cat-card:nth-child(2):hover .elementor-widget-image + .elementor-widget-text-editor::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Crect x='5.5' y='3.8' width='13' height='16.4' rx='2' stroke='%23FFFFFF' stroke-width='1.7'/%3E%3Cpath d='M8.2 7.2v10M12 7.2v10M15.8 7.2v10' stroke='%23FFFFFF' stroke-width='1.7' stroke-linecap='round'/%3E%3C/svg%3E") !important;
  }

  .tpn-explore .tpn-cat-card--strips:hover .elementor-widget-image + .elementor-widget-text-editor::before,
  .tpn-explore .tpn-cat-card:nth-child(3):hover .elementor-widget-image + .elementor-widget-text-editor::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M7.2 4.2 5.8 19.8M12 4.2 10.6 19.8M16.8 4.2 15.4 19.8' stroke='%23FFFFFF' stroke-width='1.7' stroke-linecap='round'/%3E%3Cpath d='M6.4 8.5h2.2M11.2 8.5h2.2M16 8.5h2.2' stroke='%23FFFFFF' stroke-width='1.7' stroke-linecap='round'/%3E%3C/svg%3E") !important;
  }

  .tpn-explore .tpn-cat-card--swab:hover .elementor-widget-image + .elementor-widget-text-editor::before,
  .tpn-explore .tpn-cat-card:nth-child(4):hover .elementor-widget-image + .elementor-widget-text-editor::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M12 3.6c1.5 0 2.7 1.2 2.7 2.7v3.1H9.3V6.3c0-1.5 1.2-2.7 2.7-2.7Z' stroke='%23FFFFFF' stroke-width='1.7' stroke-linejoin='round'/%3E%3Cpath d='M9.3 9.4h5.4v8.2a2.1 2.1 0 0 1-2.1 2.1h-1.2a2.1 2.1 0 0 1-2.1-2.1V9.4Z' stroke='%23FFFFFF' stroke-width='1.7' stroke-linejoin='round'/%3E%3Cpath d='M10.2 12.2h3.6' stroke='%23FFFFFF' stroke-width='1.7' stroke-linecap='round'/%3E%3C/svg%3E") !important;
  }

  .tpn-explore .tpn-cat-card:hover .elementor-button,
  .tpn-explore .tpn-cat-card:hover .elementor-button:visited {
    background-color: var(--tpn-explore-navy) !important;
    border-color: var(--tpn-explore-navy) !important;
    color: #fff !important;
    box-shadow: 0 10px 22px rgba(14, 54, 145, 0.22);
    transform: translateY(-2px);
  }

  .tpn-explore .tpn-cat-card:hover .elementor-button .elementor-button-text {
    color: #fff !important;
  }
}

.tpn-explore .tpn-cat-card:focus-within {
  border-color: rgba(3, 174, 237, 0.55) !important;
  box-shadow: 0 16px 36px rgba(14, 54, 145, 0.12) !important;
}

.tpn-explore .tpn-cat-card:focus-within::before {
  background: var(--tpn-explore-red);
}

@media (max-width: 1024px) {
  .tpn-explore .tpn-cat-card .elementor-heading-title {
    font-size: 18px !important;
  }

  .tpn-explore .tpn-cat-card .elementor-widget-heading + .elementor-widget-text-editor p {
    min-height: 4.65em;
  }
}

@media (max-width: 767px) {
  .tpn-explore .tpn-cat-card {
    border-radius: 18px !important;
  }

  .tpn-explore .tpn-cat-card .elementor-widget-image + .elementor-widget-text-editor::before {
    width: 38px !important;
    height: 38px !important;
    background-size: 20px 20px !important;
    border-radius: 11px !important;
  }

  .tpn-explore .tpn-cat-card .elementor-heading-title {
    font-size: 19px !important;
  }

  .tpn-explore .tpn-cat-card .elementor-widget-heading + .elementor-widget-text-editor p {
    min-height: 0;
  }
}

@media (prefers-reduced-motion: reduce) {
  .tpn-explore .tpn-cat-card,
  .tpn-explore .tpn-cat-card::before,
  .tpn-explore .tpn-cat-card .tpn-product-photo img,
  .tpn-explore .tpn-cat-card .elementor-widget-image img,
  .tpn-explore .tpn-cat-card .elementor-widget-image + .elementor-widget-text-editor::before,
  .tpn-explore .tpn-cat-card .elementor-button,
  .tpn-explore .tpn-cat-card .elementor-heading-title {
    transition: none !important;
  }

  .tpn-explore .tpn-cat-card:hover {
    transform: none !important;
  }

  .tpn-explore .tpn-cat-card:hover .tpn-product-photo img,
  .tpn-explore .tpn-cat-card:hover .elementor-widget-image img,
  .tpn-explore .tpn-cat-card:hover .elementor-widget-image + .elementor-widget-text-editor::before,
  .tpn-explore .tpn-cat-card:hover .elementor-button {
    transform: none !important;
  }
}

/* —— From purchase to review (homepage process rail) —— */
.tpn-steps {
  --tpn-steps-navy: #0e3691;
  --tpn-steps-cyan: #03aeed;
  --tpn-steps-red: #cc0000;
  --tpn-steps-ease: 260ms cubic-bezier(0.22, 1, 0.36, 1);
  background:
    radial-gradient(1100px 420px at 8% 0%, rgba(3, 174, 237, 0.09), transparent 58%),
    radial-gradient(900px 360px at 92% 100%, rgba(14, 54, 145, 0.07), transparent 55%),
    linear-gradient(180deg, #f7fafd 0%, #ffffff 52%, #f5f8fc 100%) !important;
}

.tpn-steps > .elementor-widget-text-editor:first-child p,
.tpn-steps > .e-con-inner > .elementor-widget-text-editor:first-child p {
  margin: 0 !important;
  color: var(--tpn-steps-red) !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: 0.09em !important;
  text-transform: uppercase !important;
  line-height: 1.35 !important;
}

.tpn-steps > .elementor-widget-heading .elementor-heading-title,
.tpn-steps > .e-con-inner > .elementor-widget-heading .elementor-heading-title {
  color: var(--tpn-steps-navy) !important;
  font-family: "Poppins", sans-serif !important;
  font-weight: 700 !important;
  letter-spacing: -0.02em;
}

.tpn-steps .tpn-process {
  position: relative;
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: stretch !important;
  z-index: 0;
}

@media (min-width: 1025px) {
  .tpn-steps .tpn-process {
    flex-wrap: nowrap !important;
  }

  .tpn-steps .tpn-process > .e-con.e-child.tpn-step-card,
  .tpn-steps .tpn-process > .e-con.e-flex.e-child,
  .tpn-steps .tpn-process > .tpn-step-card {
    flex: 1 1 0 !important;
    flex-grow: 1 !important;
    flex-shrink: 1 !important;
    flex-basis: 0 !important;
    --flex-grow: 1 !important;
    --flex-shrink: 1 !important;
    --flex-basis: 0% !important;
    --width: auto !important;
    width: auto !important;
    max-width: none !important;
    align-self: stretch !important;
    height: auto !important;
    min-height: 0 !important;
  }
}

/*
 * Signature process rail (desktop only): soft dual-layer hairline + glow.
 * One cohesive connector language — icon wells punch through the rail.
 * Competing plain red accents / kit separators are neutralized below.
 */
@media (min-width: 1025px) {
  .tpn-steps .tpn-process {
    --tpn-rail-y: 86px;
  }

  /* Soft glow layer */
  .tpn-steps .tpn-process::before {
    content: "";
    position: absolute;
    top: var(--tpn-rail-y);
    left: 5%;
    right: 5%;
    height: 10px;
    margin-top: -4px;
    background: linear-gradient(
      90deg,
      transparent 0%,
      rgba(3, 174, 237, 0.2) 14%,
      rgba(3, 174, 237, 0.16) 42%,
      rgba(14, 54, 145, 0.16) 58%,
      rgba(14, 54, 145, 0.2) 86%,
      transparent 100%
    );
    border-radius: 999px;
    filter: blur(5px);
    z-index: 2;
    pointer-events: none;
  }

  /* Hairline core — fades at outer edges */
  .tpn-steps .tpn-process::after {
    content: "";
    position: absolute;
    top: var(--tpn-rail-y);
    left: 5%;
    right: 5%;
    height: 1px;
    background: linear-gradient(
      90deg,
      transparent 0%,
      rgba(3, 174, 237, 0.22) 8%,
      rgba(3, 174, 237, 0.48) 28%,
      rgba(14, 54, 145, 0.42) 72%,
      rgba(14, 54, 145, 0.22) 92%,
      transparent 100%
    );
    border-radius: 999px;
    box-shadow: 0 0 0 0.5px rgba(3, 174, 237, 0.08);
    z-index: 2;
    pointer-events: none;
  }

  /* Kill kit red card-to-card separators inside this section */
  .tpn-steps .tpn-process > .e-con.e-child:not(:last-child)::after,
  .tpn-steps .tpn-process > .tpn-step-card:not(:last-child)::after {
    content: none !important;
    display: none !important;
  }
}

.tpn-steps .tpn-step-card,
.tpn-steps .tpn-process > .e-con.e-child {
  position: relative;
  z-index: 1;
  display: flex !important;
  flex-direction: column !important;
  height: auto !important;
  min-height: 0 !important;
  overflow: visible;
  background: #fff !important;
  border: 1px solid #e5e7eb !important;
  border-radius: 18px !important;
  box-shadow: 0 10px 28px rgba(14, 54, 145, 0.07) !important;
  transition:
    transform var(--tpn-steps-ease),
    box-shadow var(--tpn-steps-ease),
    border-color var(--tpn-steps-ease);
}

.tpn-steps .tpn-step-card::before,
.tpn-steps .tpn-process > .e-con.e-child::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  border-radius: 18px 18px 0 0;
  background: transparent;
  transition: background var(--tpn-steps-ease);
  pointer-events: none;
  z-index: 4;
}

.tpn-steps .tpn-step-num {
  display: flex !important;
  align-items: center;
  justify-content: flex-start;
  gap: 12px;
  margin: 0 0 4px !important;
  color: var(--tpn-steps-red) !important;
  font-family: "Poppins", sans-serif !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
  line-height: 1.2 !important;
  position: relative;
  z-index: 3;
}

/* Remove plain red top separators — one rail language only */
.tpn-steps .tpn-step-num::after {
  content: none !important;
  display: none !important;
}

.tpn-steps .tpn-step-card .elementor-icon-box-wrapper,
.tpn-steps .tpn-process > .e-con.e-child .elementor-icon-box-wrapper {
  text-align: center;
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
}

.tpn-steps .tpn-step-card .elementor-icon-box-icon,
.tpn-steps .tpn-process > .e-con.e-child .elementor-icon-box-icon {
  position: relative;
  z-index: 3;
  margin-bottom: 16px !important;
}

.tpn-steps .tpn-step-card .elementor-icon-box-icon .elementor-icon,
.tpn-steps .tpn-process > .e-con.e-child .elementor-icon-box-icon .elementor-icon {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 56px !important;
  height: 56px !important;
  min-width: 56px;
  min-height: 56px;
  margin: 0 auto !important;
  border-radius: 14px !important;
  /* Solid well so the rail reads as interrupted by icons, not drawn through them */
  background: #eef4fb !important;
  color: var(--tpn-steps-navy) !important;
  box-shadow:
    inset 0 0 0 1px rgba(14, 54, 145, 0.06),
    0 0 0 6px #fff;
  transition:
    background-color var(--tpn-steps-ease),
    color var(--tpn-steps-ease),
    box-shadow var(--tpn-steps-ease),
    transform var(--tpn-steps-ease);
}

.tpn-steps .tpn-step-card .elementor-icon-box-icon .elementor-icon svg,
.tpn-steps .tpn-step-card .elementor-icon-box-icon .elementor-icon i,
.tpn-steps .tpn-process > .e-con.e-child .elementor-icon-box-icon .elementor-icon svg,
.tpn-steps .tpn-process > .e-con.e-child .elementor-icon-box-icon .elementor-icon i {
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  opacity: 0 !important;
}

.tpn-steps .tpn-step-card .elementor-icon-box-icon .elementor-icon::before,
.tpn-steps .tpn-process > .e-con.e-child .elementor-icon-box-icon .elementor-icon::before {
  content: "" !important;
  display: block !important;
  width: 26px !important;
  height: 26px !important;
  background-color: transparent !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-size: contain !important;
  transition: opacity var(--tpn-steps-ease);
}

/* Stroke SVG icons — cart / user / pen / search */
.tpn-steps .tpn-step-card--1 .elementor-icon::before,
.tpn-steps .tpn-process > .e-con.e-child:nth-child(1) .elementor-icon::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M3.5 5.5h1.7l1.3 9.4a1.6 1.6 0 0 0 1.6 1.4h8.7a1.6 1.6 0 0 0 1.6-1.3l1.1-6.1H7' stroke='%230E3691' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'/%3E%3Ccircle cx='9.2' cy='19' r='1.35' stroke='%230E3691' stroke-width='1.7'/%3E%3Ccircle cx='16.3' cy='19' r='1.35' stroke='%230E3691' stroke-width='1.7'/%3E%3C/svg%3E") !important;
}

.tpn-steps .tpn-step-card--2 .elementor-icon::before,
.tpn-steps .tpn-process > .e-con.e-child:nth-child(2) .elementor-icon::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Ccircle cx='12' cy='8' r='3.25' stroke='%230E3691' stroke-width='1.7'/%3E%3Cpath d='M5.5 18.6c1.5-2.7 3.9-4.1 6.5-4.1s5 1.4 6.5 4.1' stroke='%230E3691' stroke-width='1.7' stroke-linecap='round'/%3E%3C/svg%3E") !important;
}

.tpn-steps .tpn-step-card--3 .elementor-icon::before,
.tpn-steps .tpn-process > .e-con.e-child:nth-child(3) .elementor-icon::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M5.5 16.8 15.2 7.1a1.8 1.8 0 0 1 2.5 0l.7.7a1.8 1.8 0 0 1 0 2.5L8.7 20.1H5.5v-3.3Z' stroke='%230E3691' stroke-width='1.7' stroke-linejoin='round'/%3E%3Cpath d='m13.8 8.5 2.2 2.2' stroke='%230E3691' stroke-width='1.7' stroke-linecap='round'/%3E%3C/svg%3E") !important;
}

.tpn-steps .tpn-step-card--4 .elementor-icon::before,
.tpn-steps .tpn-process > .e-con.e-child:nth-child(4) .elementor-icon::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Ccircle cx='10.5' cy='10.5' r='5.2' stroke='%230E3691' stroke-width='1.7'/%3E%3Cpath d='m14.6 14.6 4.4 4.4' stroke='%230E3691' stroke-width='1.7' stroke-linecap='round'/%3E%3Cpath d='M8.4 10.5h4.2M10.5 8.4v4.2' stroke='%230E3691' stroke-width='1.7' stroke-linecap='round'/%3E%3C/svg%3E") !important;
}

.tpn-steps .tpn-step-card .elementor-icon-box-title,
.tpn-steps .tpn-process > .e-con.e-child .elementor-icon-box-title {
  color: var(--tpn-steps-navy) !important;
  font-family: "Poppins", sans-serif !important;
  font-weight: 650 !important;
  font-size: 1.05rem !important;
  line-height: 1.3 !important;
  margin: 0 0 0.45rem !important;
  transition: color var(--tpn-steps-ease);
}

.tpn-steps .tpn-step-card .elementor-icon-box-description,
.tpn-steps .tpn-process > .e-con.e-child .elementor-icon-box-description {
  color: #666 !important;
  font-size: 0.95rem !important;
  line-height: 1.55 !important;
  margin: 0 !important;
}

.tpn-steps .tpn-step-card .elementor-icon-box-content,
.tpn-steps .tpn-process > .e-con.e-child .elementor-icon-box-content {
  position: relative;
  z-index: 3;
  flex: 1 1 auto;
}

@media (hover: hover) and (pointer: fine) {
  .tpn-steps .tpn-step-card:hover,
  .tpn-steps .tpn-process > .e-con.e-child:hover {
    transform: translateY(-6px) !important;
    border-color: rgba(3, 174, 237, 0.55) !important;
    box-shadow: 0 22px 44px rgba(14, 54, 145, 0.14) !important;
  }

  .tpn-steps .tpn-step-card:hover::before,
  .tpn-steps .tpn-process > .e-con.e-child:hover::before {
    background: linear-gradient(90deg, var(--tpn-steps-cyan), var(--tpn-steps-navy));
  }

  .tpn-steps .tpn-step-card:hover .elementor-icon-box-icon .elementor-icon,
  .tpn-steps .tpn-process > .e-con.e-child:hover .elementor-icon-box-icon .elementor-icon {
    background: var(--tpn-steps-cyan) !important;
    color: #fff !important;
    box-shadow:
      0 0 0 6px #fff,
      0 8px 18px rgba(3, 174, 237, 0.35);
    transform: translateY(-2px);
  }

  .tpn-steps .tpn-step-card--1:hover .elementor-icon::before,
  .tpn-steps .tpn-process > .e-con.e-child:nth-child(1):hover .elementor-icon::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M3.5 5.5h1.7l1.3 9.4a1.6 1.6 0 0 0 1.6 1.4h8.7a1.6 1.6 0 0 0 1.6-1.3l1.1-6.1H7' stroke='%23FFFFFF' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'/%3E%3Ccircle cx='9.2' cy='19' r='1.35' stroke='%23FFFFFF' stroke-width='1.7'/%3E%3Ccircle cx='16.3' cy='19' r='1.35' stroke='%23FFFFFF' stroke-width='1.7'/%3E%3C/svg%3E") !important;
  }

  .tpn-steps .tpn-step-card--2:hover .elementor-icon::before,
  .tpn-steps .tpn-process > .e-con.e-child:nth-child(2):hover .elementor-icon::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Ccircle cx='12' cy='8' r='3.25' stroke='%23FFFFFF' stroke-width='1.7'/%3E%3Cpath d='M5.5 18.6c1.5-2.7 3.9-4.1 6.5-4.1s5 1.4 6.5 4.1' stroke='%23FFFFFF' stroke-width='1.7' stroke-linecap='round'/%3E%3C/svg%3E") !important;
  }

  .tpn-steps .tpn-step-card--3:hover .elementor-icon::before,
  .tpn-steps .tpn-process > .e-con.e-child:nth-child(3):hover .elementor-icon::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M5.5 16.8 15.2 7.1a1.8 1.8 0 0 1 2.5 0l.7.7a1.8 1.8 0 0 1 0 2.5L8.7 20.1H5.5v-3.3Z' stroke='%23FFFFFF' stroke-width='1.7' stroke-linejoin='round'/%3E%3Cpath d='m13.8 8.5 2.2 2.2' stroke='%23FFFFFF' stroke-width='1.7' stroke-linecap='round'/%3E%3C/svg%3E") !important;
  }

  .tpn-steps .tpn-step-card--4:hover .elementor-icon::before,
  .tpn-steps .tpn-process > .e-con.e-child:nth-child(4):hover .elementor-icon::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Ccircle cx='10.5' cy='10.5' r='5.2' stroke='%23FFFFFF' stroke-width='1.7'/%3E%3Cpath d='m14.6 14.6 4.4 4.4' stroke='%23FFFFFF' stroke-width='1.7' stroke-linecap='round'/%3E%3Cpath d='M8.4 10.5h4.2M10.5 8.4v4.2' stroke='%23FFFFFF' stroke-width='1.7' stroke-linecap='round'/%3E%3C/svg%3E") !important;
  }
}

.tpn-steps .tpn-step-card:focus-within,
.tpn-steps .tpn-process > .e-con.e-child:focus-within {
  border-color: rgba(3, 174, 237, 0.55) !important;
  box-shadow: 0 16px 36px rgba(14, 54, 145, 0.12) !important;
}

.tpn-steps .tpn-step-card:focus-within::before,
.tpn-steps .tpn-process > .e-con.e-child:focus-within::before {
  background: var(--tpn-steps-red);
}

@media (max-width: 1024px) {
  /* Hide horizontal rail — no broken mid-card connectors on tablet/mobile */
  .tpn-steps .tpn-process::before,
  .tpn-steps .tpn-process::after {
    content: none !important;
    display: none !important;
  }

  /* Kill kit vertical timeline dots inside this section (card ::before is hover accent) */
  .tpn-steps .tpn-process > .e-con.e-child {
    padding-left: 0 !important;
  }

  .tpn-steps .tpn-step-card .elementor-icon-box-icon .elementor-icon,
  .tpn-steps .tpn-process > .e-con.e-child .elementor-icon-box-icon .elementor-icon {
    width: 52px !important;
    height: 52px !important;
    min-width: 52px;
    min-height: 52px;
    box-shadow: inset 0 0 0 1px rgba(14, 54, 145, 0.06);
  }
}

@media (max-width: 767px) {
  .tpn-steps .tpn-step-card,
  .tpn-steps .tpn-process > .e-con.e-child {
    border-radius: 18px !important;
  }

  .tpn-steps .tpn-step-card .elementor-icon-box-icon .elementor-icon,
  .tpn-steps .tpn-process > .e-con.e-child .elementor-icon-box-icon .elementor-icon {
    width: 48px !important;
    height: 48px !important;
    min-width: 48px;
    min-height: 48px;
    border-radius: 12px !important;
  }

  .tpn-steps .tpn-step-card .elementor-icon-box-icon .elementor-icon::before,
  .tpn-steps .tpn-process > .e-con.e-child .elementor-icon-box-icon .elementor-icon::before {
    width: 24px !important;
    height: 24px !important;
  }

  .tpn-steps .tpn-step-card .elementor-icon-box-title,
  .tpn-steps .tpn-process > .e-con.e-child .elementor-icon-box-title {
    font-size: 1.02rem !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .tpn-steps .tpn-step-card,
  .tpn-steps .tpn-step-card::before,
  .tpn-steps .tpn-step-card .elementor-icon-box-icon .elementor-icon,
  .tpn-steps .tpn-step-card .elementor-icon-box-title,
  .tpn-steps .tpn-process > .e-con.e-child,
  .tpn-steps .tpn-process > .e-con.e-child::before,
  .tpn-steps .tpn-process > .e-con.e-child .elementor-icon-box-icon .elementor-icon,
  .tpn-steps .tpn-process > .e-con.e-child .elementor-icon-box-title {
    transition: none !important;
  }

  .tpn-steps .tpn-step-card:hover,
  .tpn-steps .tpn-process > .e-con.e-child:hover {
    transform: none !important;
  }

  .tpn-steps .tpn-step-card:hover .elementor-icon-box-icon .elementor-icon,
  .tpn-steps .tpn-process > .e-con.e-child:hover .elementor-icon-box-icon .elementor-icon {
    transform: none !important;
  }
}

/* —— Principles / How this portal is built (homepage) —— */
.tpn-principles {
  --tpn-principles-navy: #0e3691;
  --tpn-principles-cyan: #03aeed;
  --tpn-principles-red: #cc0000;
  --tpn-principles-ease: 240ms cubic-bezier(0.22, 1, 0.36, 1);
  background:
    radial-gradient(1000px 380px at 12% 8%, rgba(3, 174, 237, 0.08), transparent 56%),
    radial-gradient(860px 320px at 94% 92%, rgba(14, 54, 145, 0.06), transparent 54%),
    linear-gradient(180deg, #f5f8fc 0%, #ffffff 48%, #f7f9fc 100%) !important;
}
.tpn-principles > .elementor-widget-text-editor:first-child p,
.tpn-principles > .e-con-inner > .elementor-widget-text-editor:first-child p {
  margin: 0 !important;
  color: var(--tpn-principles-red) !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: 0.09em !important;
  text-transform: uppercase !important;
  line-height: 1.35 !important;
}
.tpn-principles > .elementor-widget-heading .elementor-heading-title,
.tpn-principles > .e-con-inner > .elementor-widget-heading .elementor-heading-title {
  color: var(--tpn-principles-navy) !important;
  font-family: "Poppins", sans-serif !important;
  font-weight: 700 !important;
  letter-spacing: -0.02em;
}
.tpn-principles > .elementor-widget-heading + .elementor-widget-text-editor p,
.tpn-principles > .e-con-inner > .elementor-widget-heading + .elementor-widget-text-editor p {
  color: #666 !important;
  font-size: 16px !important;
  line-height: 1.6 !important;
  max-width: 42rem;
}
.tpn-principles .tpn-principles-grid {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: stretch !important;
}
@media (min-width: 1025px) {
  .tpn-principles .tpn-principles-grid { flex-wrap: nowrap !important; }
  .tpn-principles .tpn-principles-grid > .e-con.e-child.tpn-principle-card,
  .tpn-principles .tpn-principles-grid > .tpn-principle-card,
  .tpn-principles .tpn-principles-grid > .e-con.e-child.tpn-card {
    flex: 1 1 0 !important;
    width: auto !important;
    max-width: none !important;
    align-self: stretch !important;
  }
}
.tpn-principles .tpn-principle-card,
.tpn-principles .tpn-principles-grid > .e-con.e-child.tpn-card {
  position: relative;
  overflow: hidden;
  display: flex !important;
  flex-direction: column !important;
  background: #fff !important;
  border: 1px solid #e5e7eb !important;
  border-radius: 18px !important;
  box-shadow: 0 10px 28px rgba(14, 54, 145, 0.07) !important;
  transition: transform var(--tpn-principles-ease), box-shadow var(--tpn-principles-ease), border-color var(--tpn-principles-ease);
}
.tpn-principles .tpn-principle-card::before,
.tpn-principles .tpn-principles-grid > .e-con.e-child.tpn-card::before {
  content: "";
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 3px;
  border-radius: 18px 18px 0 0;
  background: transparent;
  transition: background var(--tpn-principles-ease);
  pointer-events: none;
  z-index: 1;
}
.tpn-principles .tpn-principle-card .elementor-icon-box-wrapper,
.tpn-principles .tpn-principles-grid > .e-con.e-child.tpn-card .elementor-icon-box-wrapper {
  text-align: center;
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
}
.tpn-principles .tpn-principle-card .elementor-icon-box-icon,
.tpn-principles .tpn-principles-grid > .e-con.e-child.tpn-card .elementor-icon-box-icon {
  margin-bottom: 18px !important;
}
.tpn-principles .tpn-principle-card .elementor-icon-box-icon .elementor-icon,
.tpn-principles .tpn-principles-grid > .e-con.e-child.tpn-card .elementor-icon-box-icon .elementor-icon {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 56px !important;
  height: 56px !important;
  margin: 0 auto !important;
  border-radius: 14px !important;
  background: #eef4fb !important;
  color: var(--tpn-principles-navy) !important;
  box-shadow: inset 0 0 0 1px rgba(14, 54, 145, 0.06);
  transition: background-color var(--tpn-principles-ease), box-shadow var(--tpn-principles-ease), transform var(--tpn-principles-ease);
}
.tpn-principles .tpn-principle-card .elementor-icon-box-icon .elementor-icon svg,
.tpn-principles .tpn-principle-card .elementor-icon-box-icon .elementor-icon i,
.tpn-principles .tpn-principles-grid > .e-con.e-child.tpn-card .elementor-icon-box-icon .elementor-icon svg,
.tpn-principles .tpn-principles-grid > .e-con.e-child.tpn-card .elementor-icon-box-icon .elementor-icon i {
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  opacity: 0 !important;
}
.tpn-principles .tpn-principle-card .elementor-icon-box-icon .elementor-icon::before,
.tpn-principles .tpn-principles-grid > .e-con.e-child.tpn-card .elementor-icon-box-icon .elementor-icon::before {
  content: "" !important;
  display: block !important;
  width: 26px !important;
  height: 26px !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-size: contain !important;
}
.tpn-principles .tpn-principle-card--purchase .elementor-icon::before,
.tpn-principles .tpn-principles-grid > .e-con.e-child:nth-child(1) .elementor-icon::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M6.5 8.5h11l.8 11.2a1.5 1.5 0 0 1-1.5 1.6H7.2a1.5 1.5 0 0 1-1.5-1.6L6.5 8.5Z' stroke='%230E3691' stroke-width='1.7' stroke-linejoin='round'/%3E%3Cpath d='M9 8.5V7a3 3 0 0 1 6 0v1.5' stroke='%230E3691' stroke-width='1.7' stroke-linecap='round'/%3E%3C/svg%3E") !important;
}
.tpn-principles .tpn-principle-card--categories .elementor-icon::before,
.tpn-principles .tpn-principles-grid > .e-con.e-child:nth-child(2) .elementor-icon::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M4.5 15.2 12 19.2l7.5-4' stroke='%230E3691' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M4.5 11.2 12 15.2l7.5-4' stroke='%230E3691' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='m4.5 7.2 7.5 4 7.5-4-7.5-4-7.5 4Z' stroke='%230E3691' stroke-width='1.7' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
}
.tpn-principles .tpn-principle-card--moderated .elementor-icon::before,
.tpn-principles .tpn-principles-grid > .e-con.e-child:nth-child(3) .elementor-icon::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M12 3.5 19 6.2v5.3c0 4.2-2.9 7.4-7 8.5-4.1-1.1-7-4.3-7-8.5V6.2L12 3.5Z' stroke='%230E3691' stroke-width='1.7' stroke-linejoin='round'/%3E%3Cpath d='m9.2 12.1 1.9 1.9 3.7-3.8' stroke='%230E3691' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
}
.tpn-principles .tpn-principle-card--sample .elementor-icon::before,
.tpn-principles .tpn-principles-grid > .e-con.e-child:nth-child(4) .elementor-icon::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Crect x='5.5' y='10.2' width='13' height='10' rx='2' stroke='%230E3691' stroke-width='1.7'/%3E%3Cpath d='M8.5 10.2V7.8a3.5 3.5 0 0 1 7 0v2.4' stroke='%230E3691' stroke-width='1.7' stroke-linecap='round'/%3E%3Ccircle cx='12' cy='15.2' r='1.2' fill='%230E3691'/%3E%3C/svg%3E") !important;
}
.tpn-principles .tpn-principle-card .elementor-icon-box-title,
.tpn-principles .tpn-principles-grid > .e-con.e-child.tpn-card .elementor-icon-box-title {
  color: var(--tpn-principles-navy) !important;
  font-family: "Poppins", sans-serif !important;
  font-weight: 650 !important;
  font-size: 1.05rem !important;
  line-height: 1.3 !important;
  margin: 0 0 0.45rem !important;
}
.tpn-principles .tpn-principle-card .elementor-icon-box-description,
.tpn-principles .tpn-principles-grid > .e-con.e-child.tpn-card .elementor-icon-box-description {
  color: #666 !important;
  font-size: 0.95rem !important;
  line-height: 1.55 !important;
  margin: 0 !important;
}
.tpn-principles .tpn-principle-card .elementor-icon-box-content,
.tpn-principles .tpn-principles-grid > .e-con.e-child.tpn-card .elementor-icon-box-content {
  flex: 1 1 auto;
}
@media (hover: hover) and (pointer: fine) {
  .tpn-principles .tpn-principle-card:hover,
  .tpn-principles .tpn-principles-grid > .e-con.e-child.tpn-card:hover {
    transform: translateY(-6px) !important;
    border-color: rgba(3, 174, 237, 0.55) !important;
    box-shadow: 0 22px 44px rgba(14, 54, 145, 0.14) !important;
  }
  .tpn-principles .tpn-principle-card:hover::before,
  .tpn-principles .tpn-principles-grid > .e-con.e-child.tpn-card:hover::before {
    background: linear-gradient(90deg, var(--tpn-principles-cyan), var(--tpn-principles-navy));
  }
  .tpn-principles .tpn-principle-card:hover .elementor-icon-box-icon .elementor-icon,
  .tpn-principles .tpn-principles-grid > .e-con.e-child.tpn-card:hover .elementor-icon-box-icon .elementor-icon {
    transform: translateY(-2px);
  }
  .tpn-principles .tpn-principle-card:hover .elementor-icon::before,
  .tpn-principles .tpn-principles-grid > .e-con.e-child.tpn-card:hover .elementor-icon::before {
    filter: brightness(0) invert(1);
  }
  .tpn-principles .tpn-principle-card--purchase:hover .elementor-icon-box-icon .elementor-icon,
  .tpn-principles .tpn-principle-card--moderated:hover .elementor-icon-box-icon .elementor-icon,
  .tpn-principles .tpn-principles-grid > .e-con.e-child:nth-child(1):hover .elementor-icon-box-icon .elementor-icon,
  .tpn-principles .tpn-principles-grid > .e-con.e-child:nth-child(3):hover .elementor-icon-box-icon .elementor-icon {
    background: var(--tpn-principles-navy) !important;
    box-shadow: 0 8px 18px rgba(14, 54, 145, 0.28);
  }
  .tpn-principles .tpn-principle-card--categories:hover .elementor-icon-box-icon .elementor-icon,
  .tpn-principles .tpn-principle-card--sample:hover .elementor-icon-box-icon .elementor-icon,
  .tpn-principles .tpn-principles-grid > .e-con.e-child:nth-child(2):hover .elementor-icon-box-icon .elementor-icon,
  .tpn-principles .tpn-principles-grid > .e-con.e-child:nth-child(4):hover .elementor-icon-box-icon .elementor-icon {
    background: var(--tpn-principles-cyan) !important;
    box-shadow: 0 8px 18px rgba(3, 174, 237, 0.35);
  }
}
.tpn-principles .tpn-principle-card:focus-within,
.tpn-principles .tpn-principles-grid > .e-con.e-child.tpn-card:focus-within {
  border-color: rgba(3, 174, 237, 0.55) !important;
  box-shadow: 0 16px 36px rgba(14, 54, 145, 0.12) !important;
}
.tpn-principles .tpn-principle-card:focus-within::before,
.tpn-principles .tpn-principles-grid > .e-con.e-child.tpn-card:focus-within::before {
  background: var(--tpn-principles-red);
}
@media (max-width: 767px) {
  .tpn-principles .tpn-principle-card .elementor-icon-box-icon .elementor-icon,
  .tpn-principles .tpn-principles-grid > .e-con.e-child.tpn-card .elementor-icon-box-icon .elementor-icon {
    width: 48px !important;
    height: 48px !important;
    border-radius: 12px !important;
  }
  .tpn-principles .tpn-principle-card .elementor-icon-box-icon .elementor-icon::before,
  .tpn-principles .tpn-principles-grid > .e-con.e-child.tpn-card .elementor-icon-box-icon .elementor-icon::before {
    width: 24px !important;
    height: 24px !important;
  }
}
@media (prefers-reduced-motion: reduce) {
  .tpn-principles .tpn-principle-card,
  .tpn-principles .tpn-principle-card::before,
  .tpn-principles .tpn-principle-card .elementor-icon-box-icon .elementor-icon,
  .tpn-principles .tpn-principles-grid > .e-con.e-child.tpn-card,
  .tpn-principles .tpn-principles-grid > .e-con.e-child.tpn-card::before,
  .tpn-principles .tpn-principles-grid > .e-con.e-child.tpn-card .elementor-icon-box-icon .elementor-icon {
    transition: none !important;
  }
  .tpn-principles .tpn-principle-card:hover,
  .tpn-principles .tpn-principles-grid > .e-con.e-child.tpn-card:hover { transform: none !important; }
  .tpn-principles .tpn-principle-card:hover .elementor-icon-box-icon .elementor-icon,
  .tpn-principles .tpn-principles-grid > .e-con.e-child.tpn-card:hover .elementor-icon-box-icon .elementor-icon { transform: none !important; }
}

/* —— Why 12PanelNow Reviews (homepage benefit cards) —— */
.tpn-why {
  --tpn-why-navy: #0e3691;
  --tpn-why-cyan: #03aeed;
  --tpn-why-red: #cc0000;
  --tpn-why-ease: 250ms cubic-bezier(0.22, 1, 0.36, 1);
  background:
    radial-gradient(980px 360px at 10% 6%, rgba(3, 174, 237, 0.09), transparent 58%),
    radial-gradient(820px 300px at 96% 94%, rgba(14, 54, 145, 0.06), transparent 55%),
    linear-gradient(180deg, #f5f8fc 0%, #ffffff 46%, #f7f9fc 100%) !important;
}
.tpn-why > .elementor-widget-text-editor:first-child p,
.tpn-why > .e-con-inner > .elementor-widget-text-editor:first-child p {
  margin: 0 !important;
  color: var(--tpn-why-red) !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: 0.09em !important;
  text-transform: uppercase !important;
  line-height: 1.35 !important;
}
.tpn-why > .elementor-widget-heading .elementor-heading-title,
.tpn-why > .e-con-inner > .elementor-widget-heading .elementor-heading-title {
  color: var(--tpn-why-navy) !important;
  font-family: "Poppins", sans-serif !important;
  font-weight: 700 !important;
  letter-spacing: -0.02em;
  max-width: 40rem;
}
.tpn-why .tpn-why-grid {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: stretch !important;
}
@media (min-width: 1025px) {
  .tpn-why .tpn-why-grid { flex-wrap: nowrap !important; }
  .tpn-why .tpn-why-grid > .e-con.e-child.tpn-why-card,
  .tpn-why .tpn-why-grid > .tpn-why-card,
  .tpn-why .tpn-why-grid > .e-con.e-child.tpn-card {
    flex: 1 1 0 !important;
    width: auto !important;
    max-width: none !important;
    align-self: stretch !important;
  }
}
.tpn-why .tpn-why-card,
.tpn-why .tpn-why-grid > .e-con.e-child.tpn-card {
  position: relative;
  overflow: hidden;
  display: flex !important;
  flex-direction: column !important;
  background: #fff !important;
  border: 1px solid #e5e7eb !important;
  border-radius: 18px !important;
  box-shadow: 0 10px 28px rgba(14, 54, 145, 0.07) !important;
  transition:
    transform var(--tpn-why-ease),
    box-shadow var(--tpn-why-ease),
    border-color var(--tpn-why-ease);
}
.tpn-why .tpn-why-card::before,
.tpn-why .tpn-why-grid > .e-con.e-child.tpn-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  border-radius: 18px 18px 0 0;
  background: transparent;
  transition: background var(--tpn-why-ease);
  pointer-events: none;
  z-index: 1;
}
.tpn-why .tpn-why-card .elementor-icon-box-wrapper,
.tpn-why .tpn-why-grid > .e-con.e-child.tpn-card .elementor-icon-box-wrapper {
  text-align: center;
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
}
.tpn-why .tpn-why-card .elementor-icon-box-icon,
.tpn-why .tpn-why-grid > .e-con.e-child.tpn-card .elementor-icon-box-icon {
  margin-bottom: 18px !important;
}
.tpn-why .tpn-why-card .elementor-icon-box-icon .elementor-icon,
.tpn-why .tpn-why-grid > .e-con.e-child.tpn-card .elementor-icon-box-icon .elementor-icon {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 56px !important;
  height: 56px !important;
  margin: 0 auto !important;
  border-radius: 14px !important;
  background: #eef4fb !important;
  color: var(--tpn-why-navy) !important;
  box-shadow: inset 0 0 0 1px rgba(14, 54, 145, 0.06);
  transition:
    background-color var(--tpn-why-ease),
    box-shadow var(--tpn-why-ease),
    transform var(--tpn-why-ease);
}
.tpn-why .tpn-why-card .elementor-icon-box-icon .elementor-icon svg,
.tpn-why .tpn-why-card .elementor-icon-box-icon .elementor-icon i,
.tpn-why .tpn-why-grid > .e-con.e-child.tpn-card .elementor-icon-box-icon .elementor-icon svg,
.tpn-why .tpn-why-grid > .e-con.e-child.tpn-card .elementor-icon-box-icon .elementor-icon i {
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  opacity: 0 !important;
}
.tpn-why .tpn-why-card .elementor-icon-box-icon .elementor-icon::before,
.tpn-why .tpn-why-grid > .e-con.e-child.tpn-card .elementor-icon-box-icon .elementor-icon::before {
  content: "" !important;
  display: block !important;
  width: 26px !important;
  height: 26px !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-size: contain !important;
  transition: filter var(--tpn-why-ease);
}
/* Stroke SVG wells: search / flask / clipboard-check / write */
.tpn-why .tpn-why-card--find .elementor-icon::before,
.tpn-why .tpn-why-grid > .e-con.e-child:nth-child(1) .elementor-icon::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Ccircle cx='10.5' cy='10.5' r='5.75' stroke='%230E3691' stroke-width='1.7'/%3E%3Cpath d='m15.2 15.2 4.1 4.1' stroke='%230E3691' stroke-width='1.7' stroke-linecap='round'/%3E%3C/svg%3E") !important;
}
.tpn-why .tpn-why-card--product .elementor-icon::before,
.tpn-why .tpn-why-grid > .e-con.e-child:nth-child(2) .elementor-icon::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M9.2 3.8h5.6M10.2 3.8v4.1L6.4 15.2a3.2 3.2 0 0 0 2.8 4.8h5.6a3.2 3.2 0 0 0 2.8-4.8l-3.8-7.3V3.8' stroke='%230E3691' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M8.6 14.2h6.8' stroke='%230E3691' stroke-width='1.7' stroke-linecap='round'/%3E%3C/svg%3E") !important;
}
.tpn-why .tpn-why-card--verified .elementor-icon::before,
.tpn-why .tpn-why-grid > .e-con.e-child:nth-child(3) .elementor-icon::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M8.2 4.5h7.6a1.8 1.8 0 0 1 1.8 1.8v13.4a1.8 1.8 0 0 1-1.8 1.8H8.2a1.8 1.8 0 0 1-1.8-1.8V6.3a1.8 1.8 0 0 1 1.8-1.8Z' stroke='%230E3691' stroke-width='1.7' stroke-linejoin='round'/%3E%3Cpath d='M9.4 4.5V3.8a1.2 1.2 0 0 1 1.2-1.2h2.8a1.2 1.2 0 0 1 1.2 1.2v.7' stroke='%230E3691' stroke-width='1.7' stroke-linejoin='round'/%3E%3Cpath d='m9.4 12.2 1.8 1.8 3.6-3.7' stroke='%230E3691' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
}
.tpn-why .tpn-why-card--simple .elementor-icon::before,
.tpn-why .tpn-why-grid > .e-con.e-child:nth-child(4) .elementor-icon::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M5.5 16.6 16.2 5.9a2 2 0 0 1 2.9 2.9L8.4 19.5H5.5v-2.9Z' stroke='%230E3691' stroke-width='1.7' stroke-linejoin='round'/%3E%3Cpath d='m14.2 7.9 2 2' stroke='%230E3691' stroke-width='1.7' stroke-linecap='round'/%3E%3C/svg%3E") !important;
}
.tpn-why .tpn-why-card .elementor-icon-box-title,
.tpn-why .tpn-why-grid > .e-con.e-child.tpn-card .elementor-icon-box-title {
  color: var(--tpn-why-navy) !important;
  font-family: "Poppins", sans-serif !important;
  font-weight: 650 !important;
  font-size: 1.05rem !important;
  line-height: 1.3 !important;
  margin: 0 0 0.45rem !important;
}
.tpn-why .tpn-why-card .elementor-icon-box-description,
.tpn-why .tpn-why-grid > .e-con.e-child.tpn-card .elementor-icon-box-description {
  color: #666 !important;
  font-size: 0.95rem !important;
  line-height: 1.55 !important;
  margin: 0 !important;
}
.tpn-why .tpn-why-card .elementor-icon-box-content,
.tpn-why .tpn-why-grid > .e-con.e-child.tpn-card .elementor-icon-box-content {
  flex: 1 1 auto;
}
@media (hover: hover) and (pointer: fine) {
  .tpn-why .tpn-why-card:hover,
  .tpn-why .tpn-why-grid > .e-con.e-child.tpn-card:hover {
    transform: translateY(-6px) !important;
    border-color: rgba(3, 174, 237, 0.55) !important;
    box-shadow: 0 22px 44px rgba(14, 54, 145, 0.14) !important;
  }
  .tpn-why .tpn-why-card:hover::before,
  .tpn-why .tpn-why-grid > .e-con.e-child.tpn-card:hover::before {
    background: linear-gradient(90deg, var(--tpn-why-cyan), var(--tpn-why-navy));
  }
  .tpn-why .tpn-why-card:hover .elementor-icon-box-icon .elementor-icon,
  .tpn-why .tpn-why-grid > .e-con.e-child.tpn-card:hover .elementor-icon-box-icon .elementor-icon {
    transform: translateY(-2px);
  }
  .tpn-why .tpn-why-card:hover .elementor-icon::before,
  .tpn-why .tpn-why-grid > .e-con.e-child.tpn-card:hover .elementor-icon::before {
    filter: brightness(0) invert(1);
  }
  .tpn-why .tpn-why-card--find:hover .elementor-icon-box-icon .elementor-icon,
  .tpn-why .tpn-why-card--verified:hover .elementor-icon-box-icon .elementor-icon,
  .tpn-why .tpn-why-grid > .e-con.e-child:nth-child(1):hover .elementor-icon-box-icon .elementor-icon,
  .tpn-why .tpn-why-grid > .e-con.e-child:nth-child(3):hover .elementor-icon-box-icon .elementor-icon {
    background: var(--tpn-why-navy) !important;
    box-shadow: 0 8px 18px rgba(14, 54, 145, 0.28);
  }
  .tpn-why .tpn-why-card--product:hover .elementor-icon-box-icon .elementor-icon,
  .tpn-why .tpn-why-card--simple:hover .elementor-icon-box-icon .elementor-icon,
  .tpn-why .tpn-why-grid > .e-con.e-child:nth-child(2):hover .elementor-icon-box-icon .elementor-icon,
  .tpn-why .tpn-why-grid > .e-con.e-child:nth-child(4):hover .elementor-icon-box-icon .elementor-icon {
    background: var(--tpn-why-cyan) !important;
    box-shadow: 0 8px 18px rgba(3, 174, 237, 0.35);
  }
}
.tpn-why .tpn-why-card:focus-within,
.tpn-why .tpn-why-grid > .e-con.e-child.tpn-card:focus-within {
  border-color: rgba(3, 174, 237, 0.55) !important;
  box-shadow: 0 16px 36px rgba(14, 54, 145, 0.12) !important;
}
.tpn-why .tpn-why-card:focus-within::before,
.tpn-why .tpn-why-grid > .e-con.e-child.tpn-card:focus-within::before {
  background: var(--tpn-why-red);
}
@media (max-width: 767px) {
  .tpn-why .tpn-why-card .elementor-icon-box-icon .elementor-icon,
  .tpn-why .tpn-why-grid > .e-con.e-child.tpn-card .elementor-icon-box-icon .elementor-icon {
    width: 48px !important;
    height: 48px !important;
    border-radius: 12px !important;
  }
  .tpn-why .tpn-why-card .elementor-icon-box-icon .elementor-icon::before,
  .tpn-why .tpn-why-grid > .e-con.e-child.tpn-card .elementor-icon-box-icon .elementor-icon::before {
    width: 24px !important;
    height: 24px !important;
  }
  .tpn-why > .elementor-widget-heading .elementor-heading-title,
  .tpn-why > .e-con-inner > .elementor-widget-heading .elementor-heading-title {
    font-size: clamp(1.45rem, 5.5vw, 1.85rem) !important;
  }
}
@media (prefers-reduced-motion: reduce) {
  .tpn-why .tpn-why-card,
  .tpn-why .tpn-why-card::before,
  .tpn-why .tpn-why-card .elementor-icon-box-icon .elementor-icon,
  .tpn-why .tpn-why-grid > .e-con.e-child.tpn-card,
  .tpn-why .tpn-why-grid > .e-con.e-child.tpn-card::before,
  .tpn-why .tpn-why-grid > .e-con.e-child.tpn-card .elementor-icon-box-icon .elementor-icon {
    transition: none !important;
  }
  .tpn-why .tpn-why-card:hover,
  .tpn-why .tpn-why-grid > .e-con.e-child.tpn-card:hover { transform: none !important; }
  .tpn-why .tpn-why-card:hover .elementor-icon-box-icon .elementor-icon,
  .tpn-why .tpn-why-grid > .e-con.e-child.tpn-card:hover .elementor-icon-box-icon .elementor-icon { transform: none !important; }
}

/* —— Customer Stories (homepage carousel) —— */
.tpn-stories {
  --tpn-stories-navy: #0e3691;
  --tpn-stories-cyan: #03aeed;
  --tpn-stories-red: #cc0000;
  --tpn-stories-gold: #f5b301;
  --tpn-stories-ease: 260ms cubic-bezier(0.22, 1, 0.36, 1);
  position: relative;
  isolation: isolate;
  background:
    radial-gradient(640px 280px at 8% 12%, rgba(3, 174, 237, 0.1), transparent 60%),
    radial-gradient(520px 240px at 94% 88%, rgba(14, 54, 145, 0.08), transparent 58%),
    linear-gradient(180deg, #f7fafc 0%, #eef3fa 100%) !important;
}

.tpn-stories > .elementor-widget-text-editor:first-child p,
.tpn-stories > .e-con-inner > .elementor-widget-text-editor:first-child p {
  margin: 0 !important;
  color: var(--tpn-stories-red) !important;
  font: 700 13px/1.35 Poppins, sans-serif !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
}

.tpn-stories > .elementor-widget-heading .elementor-heading-title,
.tpn-stories > .e-con-inner > .elementor-widget-heading .elementor-heading-title {
  color: var(--tpn-stories-navy) !important;
  font-family: Poppins, sans-serif !important;
  font-weight: 700 !important;
  letter-spacing: -0.02em;
}

.tpn-stories > .elementor-widget-heading + .elementor-widget-text-editor p,
.tpn-stories > .e-con-inner > .elementor-widget-heading + .elementor-widget-text-editor p {
  color: #666666 !important;
  max-width: 42rem;
  line-height: 1.55 !important;
}

.tpn-stories .tpn-tcar,
.tpn-stories .tpn-story-card {
  overflow: visible;
}

.tpn-stories .tpn-tcar .elementor-widget-container,
.tpn-stories .tpn-tcar .ekit-wid-con,
.tpn-stories .tpn-tcar .elementskit-testimonial-slider,
.tpn-stories .tpn-story-card .elementor-widget-container,
.tpn-stories .tpn-story-card .ekit-wid-con,
.tpn-stories .tpn-story-card .elementskit-testimonial-slider {
  overflow: visible !important;
}

.tpn-stories .elementskit-testimonial-slider {
  padding: 12px 52px 64px !important;
}

.tpn-stories a.elementskit-testimonial_card,
.tpn-stories .elementskit-testimonial_card {
  position: relative !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
  min-height: 280px !important;
  padding: 28px 26px 24px !important;
  background: rgba(255, 255, 255, 0.96) !important;
  background-image: none !important;
  border: 1px solid rgba(14, 54, 145, 0.1) !important;
  border-radius: 20px !important;
  box-shadow:
    0 1px 2px rgba(14, 54, 145, 0.04),
    0 14px 34px rgba(14, 54, 145, 0.08) !important;
  color: inherit !important;
  text-decoration: none !important;
  transition:
    transform var(--tpn-stories-ease),
    box-shadow var(--tpn-stories-ease),
    border-color var(--tpn-stories-ease) !important;
}

.tpn-stories a.elementskit-testimonial_card::before,
.tpn-stories .elementskit-testimonial_card::before {
  content: "";
  position: absolute;
  left: 0;
  top: 18px;
  bottom: 18px;
  width: 3px;
  border-radius: 0 3px 3px 0;
  background: linear-gradient(180deg, var(--tpn-stories-cyan), var(--tpn-stories-navy));
  opacity: 0.85;
  transition: opacity var(--tpn-stories-ease), width var(--tpn-stories-ease);
}

@media (hover: hover) and (pointer: fine) {
  .tpn-stories a.elementskit-testimonial_card:hover,
  .tpn-stories .elementskit-testimonial_card:hover,
  .tpn-stories .swiper-slide-active .elementskit-testimonial_card {
    transform: translateY(-6px) !important;
    border-color: rgba(3, 174, 237, 0.35) !important;
    box-shadow: 0 18px 40px rgba(14, 54, 145, 0.12) !important;
  }

  .tpn-stories a.elementskit-testimonial_card:hover::before,
  .tpn-stories .elementskit-testimonial_card:hover::before {
    width: 4px;
    opacity: 1;
  }
}

.tpn-stories .elementskit-stars {
  display: flex !important;
  align-items: center;
  gap: 3px !important;
  margin: 0 0 4px !important;
  padding: 0 !important;
  list-style: none !important;
  color: var(--tpn-stories-gold) !important;
}

.tpn-stories .elementskit-stars li {
  margin: 0 !important;
  padding: 0 !important;
  line-height: 0 !important;
}

.tpn-stories .elementskit-stars svg {
  width: 16px !important;
  height: 16px !important;
  fill: var(--tpn-stories-gold) !important;
  color: var(--tpn-stories-gold) !important;
}

.tpn-stories .elementskit-stars .elementskit-star-empty svg,
.tpn-stories .elementskit-stars li.elementskit-star-empty svg,
.tpn-stories .elementskit-stars .far svg {
  fill: #e5e7eb !important;
  color: #e5e7eb !important;
  opacity: 1 !important;
}

.tpn-stories .elementskit-commentor-coment,
.tpn-stories .elementskit-commentor-content,
.tpn-stories .elementskit-commentor-dek,
.tpn-stories .elementskit-testimonial_card p {
  position: relative;
  margin: 4px 0 8px !important;
  color: #333333 !important;
  font: 500 16px/1.65 Poppins, sans-serif !important;
  font-style: normal !important;
  letter-spacing: -0.01em;
}

.tpn-stories .elementskit-commentor-coment::before,
.tpn-stories .elementskit-commentor-content::before,
.tpn-stories .elementskit-testimonial_card > p::before {
  content: "\201C";
  display: block;
  margin: 0 0 2px;
  color: var(--tpn-stories-cyan);
  font: 700 34px/0.8 Poppins, sans-serif;
  opacity: 0.9;
}

.tpn-stories .elementskit-profile-info {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  margin-top: auto !important;
  padding-top: 8px;
}

.tpn-stories .elementskit-profile-info::before {
  content: "A" !important;
  grid-column: 1;
  grid-row: 1 / span 2;
  display: flex !important;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  border: 2px solid rgba(3, 174, 237, 0.5);
  box-shadow: 0 0 0 4px rgba(14, 54, 145, 0.06);
  background: linear-gradient(145deg, #0e3691 0%, #0a2a70 100%);
  color: #ffffff;
  font: 600 16px/1 Poppins, sans-serif;
  letter-spacing: 0;
}

.tpn-stories .elementskit-commentor-image,
.tpn-stories .elementskit-profile-image-card,
.tpn-stories .elementskit-testimonial_card img {
  display: none !important;
}


.tpn-stories .elementskit-profile-info::before {
  content: "A" !important;
  grid-column: 1;
  grid-row: 1 / span 2;
  display: flex !important;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  border: 2px solid rgba(3, 174, 237, 0.5);
  box-shadow: 0 0 0 4px rgba(14, 54, 145, 0.06);
  background: linear-gradient(145deg, #0e3691 0%, #0a2a70 100%);
  color: #ffffff;
  font: 600 16px/1 Poppins, sans-serif;
}
.tpn-stories .elementor-repeater-item-9a7cfdc .elementskit-profile-info::before { content: "B" !important; }
.tpn-stories .elementor-repeater-item-93aa7ac .elementskit-profile-info::before { content: "C" !important; }
.tpn-stories .elementor-repeater-item-868022d .elementskit-profile-info::before { content: "D" !important; }
.tpn-stories .elementor-repeater-item-e3f5c69 .elementskit-profile-info::before { content: "E" !important; }
.tpn-stories .elementor-repeater-item-639f6bf .elementskit-profile-info::before { content: "F" !important; }

.tpn-stories .elementskit-author-name,
.tpn-stories .elementskit-commentor-name,
.tpn-stories .ekit-testimonial-client-name {
  display: block !important;
  color: var(--tpn-stories-navy) !important;
  font: 600 15px/1.3 Poppins, sans-serif !important;
}

.tpn-stories .elementskit-author-des,
.tpn-stories .elementskit-commentor-designation {
  display: block !important;
  margin-top: 2px;
  color: #666666 !important;
  font: 400 13px/1.4 Poppins, sans-serif !important;
}

.tpn-stories .swiper-navigation-button,
.tpn-stories .swiper-button-prev,
.tpn-stories .swiper-button-next {
  width: 46px !important;
  height: 46px !important;
  margin-top: 0 !important;
  border-radius: 50% !important;
  border: 1px solid rgba(14, 54, 145, 0.14) !important;
  background: #ffffff !important;
  color: var(--tpn-stories-navy) !important;
  box-shadow: 0 10px 24px rgba(14, 54, 145, 0.1) !important;
  transition:
    background-color var(--tpn-stories-ease),
    border-color var(--tpn-stories-ease),
    color var(--tpn-stories-ease),
    box-shadow var(--tpn-stories-ease),
    transform var(--tpn-stories-ease) !important;
}

.tpn-stories .swiper-button-prev::after,
.tpn-stories .swiper-button-next::after {
  content: none !important;
  display: none !important;
  font-size: 0 !important;
}

.tpn-stories .swiper-button-prev svg,
.tpn-stories .swiper-button-next svg {
  width: 18px !important;
  height: 18px !important;
  fill: currentColor !important;
  color: inherit !important;
}

.tpn-stories .swiper-button-prev svg path,
.tpn-stories .swiper-button-next svg path {
  fill: currentColor !important;
}

@media (hover: hover) and (pointer: fine) {
  .tpn-stories .swiper-button-prev:hover,
  .tpn-stories .swiper-button-next:hover {
    background: var(--tpn-stories-cyan) !important;
    border-color: var(--tpn-stories-cyan) !important;
    color: #ffffff !important;
    box-shadow: 0 12px 28px rgba(3, 174, 237, 0.28) !important;
    transform: scale(1.04);
  }
}

.tpn-stories .swiper-pagination-bullet {
  width: 8px !important;
  height: 8px !important;
  background: #d7dee8 !important;
  opacity: 1 !important;
  transition: width var(--tpn-stories-ease), background-color var(--tpn-stories-ease) !important;
}

.tpn-stories .swiper-pagination-bullet-active {
  width: 22px !important;
  border-radius: 99px !important;
  background: var(--tpn-stories-red) !important;
}

.tpn-stories .elementskit-watermark-icon {
  opacity: 0.06 !important;
}

.tpn-stories > .elementor-widget-button .elementor-button,
.tpn-stories > .e-con-inner > .elementor-widget-button .elementor-button {
  background: transparent !important;
  border: 1.5px solid var(--tpn-stories-navy) !important;
  border-radius: 999px !important;
  color: var(--tpn-stories-navy) !important;
  font: 600 14px/1 Poppins, sans-serif !important;
  padding: 14px 22px !important;
  box-shadow: none !important;
  transition:
    background-color var(--tpn-stories-ease),
    border-color var(--tpn-stories-ease),
    color var(--tpn-stories-ease),
    box-shadow var(--tpn-stories-ease),
    transform var(--tpn-stories-ease) !important;
}

@media (hover: hover) and (pointer: fine) {
  .tpn-stories > .elementor-widget-button .elementor-button:hover,
  .tpn-stories > .e-con-inner > .elementor-widget-button .elementor-button:hover {
    background: var(--tpn-stories-navy) !important;
    border-color: var(--tpn-stories-navy) !important;
    color: #ffffff !important;
    box-shadow: 0 12px 28px rgba(14, 54, 145, 0.2) !important;
    transform: translateY(-2px);
  }
}

.tpn-stories > .elementor-widget-button .elementor-button:focus-visible,
.tpn-stories > .e-con-inner > .elementor-widget-button .elementor-button:focus-visible,
.tpn-stories .swiper-button-prev:focus-visible,
.tpn-stories .swiper-button-next:focus-visible {
  outline: 2px solid var(--tpn-stories-red);
  outline-offset: 3px;
}

@media (max-width: 1024px) {
  .tpn-stories .elementskit-testimonial-slider {
    padding: 10px 40px 56px !important;
  }
}

@media (max-width: 767px) {
  .tpn-stories .elementskit-testimonial-slider {
    padding: 8px 12px 52px !important;
  }

  .tpn-stories .swiper-button-prev {
    left: 0 !important;
  }

  .tpn-stories .swiper-button-next {
    right: 0 !important;
  }

  .tpn-stories a.elementskit-testimonial_card,
  .tpn-stories .elementskit-testimonial_card {
    min-height: 0 !important;
    padding: 24px 20px 20px !important;
  }

  .tpn-stories > .elementor-widget-heading .elementor-heading-title,
  .tpn-stories > .e-con-inner > .elementor-widget-heading .elementor-heading-title {
    font-size: clamp(1.45rem, 5.5vw, 1.85rem) !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .tpn-stories a.elementskit-testimonial_card,
  .tpn-stories .elementskit-testimonial_card,
  .tpn-stories a.elementskit-testimonial_card::before,
  .tpn-stories .elementskit-testimonial_card::before,
  .tpn-stories .swiper-navigation-button,
  .tpn-stories .swiper-button-prev,
  .tpn-stories .swiper-button-next,
  .tpn-stories > .elementor-widget-button .elementor-button,
  .tpn-stories > .e-con-inner > .elementor-widget-button .elementor-button {
    transition: none !important;
  }

  .tpn-stories a.elementskit-testimonial_card:hover,
  .tpn-stories .elementskit-testimonial_card:hover,
  .tpn-stories .swiper-slide-active .elementskit-testimonial_card,
  .tpn-stories .swiper-button-prev:hover,
  .tpn-stories .swiper-button-next:hover,
  .tpn-stories > .elementor-widget-button .elementor-button:hover {
    transform: none !important;
  }
}


/* tpn-stories-v158 */
.tpn-stories .swiper-wrapper{align-items:stretch!important}
.tpn-stories .swiper-slide{height:auto!important;display:flex!important}
.tpn-stories .swiper-slide-inner{display:flex!important;flex:1 1 auto!important;width:100%!important}
.tpn-stories .xs-overlay,.tpn-stories .elementskit-testimonial_card .xs-overlay,.tpn-stories .elementskit-testimonial_card::after{display:none!important;opacity:0!important;background:transparent!important;pointer-events:none!important}
.tpn-stories a.elementskit-testimonial_card,.tpn-stories .elementskit-testimonial_card{position:relative!important;display:flex!important;flex-direction:column!important;flex:1 1 auto!important;gap:12px!important;width:100%!important;min-height:280px!important;height:100%!important;padding:28px 26px 24px 30px!important;background:#fff!important;background-image:none!important;border:1px solid rgba(14,54,145,.1)!important;border-radius:20px!important;box-shadow:0 10px 28px rgba(14,54,145,.06)!important;color:inherit!important;text-decoration:none!important;overflow:hidden!important}
.tpn-stories a.elementskit-testimonial_card::before,.tpn-stories .elementskit-testimonial_card::before{content:""!important;position:absolute!important;left:0!important;top:18px!important;bottom:18px!important;width:3px!important;border-radius:0 3px 3px 0!important;background:linear-gradient(180deg,var(--tpn-stories-cyan),var(--tpn-stories-navy))!important;opacity:.85!important;z-index:2!important}
.tpn-stories .elementskit-commentor-coment,.tpn-stories .elementskit-testimonial_card p{font-style:normal!important;color:#333!important;font:500 16px/1.65 Poppins,sans-serif!important}
.tpn-stories .elementskit-commentor-coment::before,.tpn-stories .elementskit-testimonial_card>p::before{content:"\201C";display:block;margin:0 0 2px;color:var(--tpn-stories-cyan);font:700 34px/.8 Poppins,sans-serif;opacity:.9}
.tpn-stories .elementskit-profile-info{display:grid!important;grid-template-columns:44px minmax(0,1fr)!important;grid-template-rows:auto auto!important;column-gap:12px!important;row-gap:2px!important;align-items:center!important;margin-top:auto!important;padding-top:12px!important;border-top:1px solid rgba(14,54,145,.08)!important}
.tpn-stories .elementskit-profile-info::before{content:""!important;grid-column:1!important;grid-row:1 / span 2!important;width:44px!important;height:44px!important;border-radius:50%!important;border:2px solid rgba(3,174,237,.4)!important;box-shadow:0 0 0 4px rgba(14,54,145,.06)!important;background:#0e3691 center/18px no-repeat!important}
.tpn-stories .elementskit-testimonial_card img{display:none!important}
.tpn-stories .elementskit-author-name{display:block!important;grid-column:2!important;grid-row:1!important;color:var(--tpn-stories-navy)!important;font:600 15px/1.3 Poppins,sans-serif!important}
.tpn-stories .elementskit-author-des{display:block!important;grid-column:2!important;grid-row:2!important;margin-top:0!important;color:#475569!important;font:500 13px/1.4 Poppins,sans-serif!important}
.tpn-stories .elementskit-stars svg{fill:#f5b301!important;color:#f5b301!important;width:16px!important;height:16px!important}
.tpn-stories .swiper-button-prev,.tpn-stories .swiper-button-next,.tpn-stories .swiper-navigation-button{width:46px!important;height:46px!important;border-radius:50%!important;border:1px solid rgba(14,54,145,.14)!important;background:#fff!important;color:#0e3691!important;box-shadow:0 10px 24px rgba(14,54,145,.1)!important}
.tpn-stories .swiper-button-prev svg,.tpn-stories .swiper-button-next svg{fill:currentColor!important;color:inherit!important;width:18px!important;height:18px!important}
@media(hover:hover) and (pointer:fine){.tpn-stories .swiper-button-prev:hover,.tpn-stories .swiper-button-next:hover{background:#03aeed!important;border-color:#03aeed!important;color:#fff!important}.tpn-stories a.elementskit-testimonial_card:hover,.tpn-stories .elementskit-testimonial_card:hover{transform:translateY(-6px)!important;border-color:rgba(3,174,237,.35)!important;box-shadow:0 18px 40px rgba(14,54,145,.12)!important}}
@media(prefers-reduced-motion:reduce){.tpn-stories a.elementskit-testimonial_card,.tpn-stories .swiper-button-prev,.tpn-stories .swiper-button-next{transition:none!important}.tpn-stories a.elementskit-testimonial_card:hover{transform:none!important}}

/* —— Footer —— */
.tpn-el-footer {
  background: #071f3f;
  color: rgba(255, 255, 255, 0.92);
}

.tpn-el-footer__inner {
  max-width: 1240px;
  margin: 0 auto;
  padding: 2.5rem 1.25rem 1.75rem;
}

.tpn-el-footer__brand strong {
  font-family: var(--tpn-font-heading, "Poppins", sans-serif);
  font-size: 1.15rem;
  display: block;
  margin-bottom: 0.4rem;
}

.tpn-el-footer__brand p {
  margin: 0 0 1.25rem;
  max-width: 28rem;
  color: rgba(255, 255, 255, 0.88);
  line-height: 1.5;
}

.tpn-el-footer__nav {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem 1.15rem;
  margin-bottom: 1.25rem;
}

.tpn-el-footer__nav a {
  color: #fff;
  text-decoration: none;
  font-size: 0.95rem;
}

.tpn-el-footer__nav a:hover,
.tpn-el-footer__nav a:focus-visible {
  text-decoration: underline;
}

.tpn-el-footer__copy {
  margin: 0;
  font-size: 0.875rem;
  color: rgba(255, 255, 255, 0.7);
}

/* Auth / dashboard page shell */
.tpn-section--auth .elementor-widget-shortcode,
.tpn-section--dashboard .elementor-widget-shortcode {
  max-width: 720px;
}

/* —— Responsive —— */
@media (max-width: 1024px) {
  .tpn-trust .tpn-trust-card .elementor-icon-box-icon .elementor-icon {
    width: 52px !important;
    height: 52px !important;
    min-width: 52px;
    min-height: 52px;
  }
}

@media (max-width: 768px) {
  .tpn-el-nav-toggle {
    display: inline-flex;
    align-items: center;
  }

  .tpn-el-nav,
  .tpn-el-actions {
    display: none;
    width: 100%;
  }

  .tpn-el-header.is-open .tpn-el-nav,
  .tpn-el-header.is-open .tpn-el-actions {
    display: flex;
  }

  .tpn-el-header.is-open .tpn-el-nav {
    flex-direction: column;
    align-items: flex-start;
    padding-top: 0.25rem;
  }

  .tpn-el-header.is-open .tpn-el-actions {
    flex-direction: column;
    align-items: stretch;
  }

  .tpn-el-header.is-open .tpn-el-btn {
    width: 100%;
  }

  .tpn-trust .tpn-trust-card .elementor-icon-box-icon .elementor-icon {
    width: 48px !important;
    height: 48px !important;
    min-width: 48px;
    min-height: 48px;
    border-radius: 12px !important;
  }

  .tpn-trust .tpn-trust-card .elementor-icon-box-icon .elementor-icon::before {
    width: 24px !important;
    height: 24px !important;
  }

  .tpn-el-header__inner,
  .tpn-el-footer__inner {
    padding-left: 1rem;
    padding-right: 1rem;
  }
}

@media (max-width: 480px) {
  .tpn-el-brand__name {
    font-size: 1rem;
  }

  .tpn-reviews-site .tpn-hero-lead {
    font-size: 1rem;
  }
}

/* Prevent accidental horizontal scroll from Elementor sections */
.elementor-section,
.e-con,
.tpn-reviews-site {
  max-width: 100%;
  overflow-x: clip;
}

/* === TPN HOME HERO === */
:is(.tpn-home-hero, body.home .tpn-hero:not(.tpn-reviews-hero):not([class*="tpn-cat"])){
  --tpn-navy:#0E3691;
  --tpn-blue:#03AEED;
  --tpn-orange:#CC0000;
  --tpn-ease:cubic-bezier(.23,1,.32,1);
  position:relative;
  overflow:hidden;
  isolation:isolate;
  min-height:min(92vh,900px);
  display:flex;
  align-items:center;
  background:
    radial-gradient(980px 560px at 94% 0%,rgba(204,0,0,.18),transparent 56%),
    radial-gradient(760px 520px at 0% 100%,rgba(14,54,145,.14),transparent 58%),
    radial-gradient(640px 420px at 58% 108%,rgba(3,174,237,.10),transparent 62%),
    linear-gradient(168deg,#EAF0F8 0%,#FFFFFF 38%,#F3F6FB 72%,#EEF3FA 100%)!important
}
:is(.tpn-home-hero, body.home .tpn-hero:not(.tpn-reviews-hero):not([class*="tpn-cat"])):before,
:is(.tpn-home-hero, body.home .tpn-hero:not(.tpn-reviews-hero):not([class*="tpn-cat"])):after{
  content:"";
  position:absolute;
  border-radius:50%;
  pointer-events:none;
  z-index:0;
  will-change:transform;
  filter:blur(0px)
}
:is(.tpn-home-hero, body.home .tpn-hero:not(.tpn-reviews-hero):not([class*="tpn-cat"])):before{
  width:min(58vw,560px);
  height:min(58vw,560px);
  right:-10%;
  top:-14%;
  background:radial-gradient(circle,rgba(204,0,0,.28) 0%,rgba(204,0,0,.08) 42%,transparent 70%);
  animation:tpn-orb-a 18s var(--tpn-ease) infinite alternate
}
:is(.tpn-home-hero, body.home .tpn-hero:not(.tpn-reviews-hero):not([class*="tpn-cat"])):after{
  width:min(52vw,500px);
  height:min(52vw,500px);
  left:-12%;
  bottom:-22%;
  background:radial-gradient(circle,rgba(14,54,145,.20) 0%,rgba(3,174,237,.08) 46%,transparent 72%);
  animation:tpn-orb-b 22s var(--tpn-ease) infinite alternate
}
:is(.tpn-home-hero, body.home .tpn-hero:not(.tpn-reviews-hero):not([class*="tpn-cat"])) .tpn-home-mesh{
  display:none
}
:is(.tpn-home-hero, body.home .tpn-hero:not(.tpn-reviews-hero):not([class*="tpn-cat"]))>.e-con,
:is(.tpn-home-hero, body.home .tpn-hero:not(.tpn-reviews-hero):not([class*="tpn-cat"])) .e-con-inner{position:relative;z-index:1}
:is(.tpn-home-hero, body.home .tpn-hero:not(.tpn-reviews-hero):not([class*="tpn-cat"]))>.e-con>.e-con-inner{
  padding-top:clamp(56px,8vh,96px)!important;
  padding-bottom:clamp(56px,8vh,96px)!important
}
@keyframes tpn-orb-a{
  0%{transform:translate3d(0,0,0) scale(1)}
  100%{transform:translate3d(-42px,34px,0) scale(1.1)}
}
@keyframes tpn-orb-b{
  0%{transform:translate3d(0,0,0) scale(1)}
  100%{transform:translate3d(48px,-30px,0) scale(1.12)}
}
@keyframes tpn-rise-in{
  from{opacity:0;transform:translate3d(0,18px,0)}
  to{opacity:1;transform:translate3d(0,0,0)}
}
@keyframes tpn-stage-in{
  from{opacity:0;transform:translate3d(24px,0,0) scale(.98)}
  to{opacity:1;transform:translate3d(0,0,0) scale(1)}
}
@keyframes tpn-product-float{
  0%,100%{transform:translate3d(0,0,0)}
  50%{transform:translate3d(0,-12px,0)}
}
@keyframes tpn-parallax-up{
  from{transform:translate3d(0,14px,0)}
  to{transform:translate3d(0,-32px,0)}
}
@keyframes tpn-parallax-down{
  from{transform:translate3d(0,-8px,0)}
  to{transform:translate3d(0,28px,0)}
}

/* Brand signal — stronger than a tiny eyebrow */
:is(.tpn-home-hero, body.home .tpn-hero:not(.tpn-reviews-hero):not([class*="tpn-cat"])) .tpn-home-brand,
:is(.tpn-home-hero, body.home .tpn-hero:not(.tpn-reviews-hero):not([class*="tpn-cat"])) .tpn-home-brand p{
  margin:0 0 6px!important;
  display:inline-flex!important;
  align-items:center;
  gap:10px;
  padding:8px 14px;
  border-radius:999px;
  background:rgba(255,255,255,.78);
  border:1px solid rgba(204,0,0,.12);
  box-shadow:0 10px 28px rgba(14,54,145,.06);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  color:var(--tpn-orange)!important;
  font:700 11px/1.2 Poppins,sans-serif!important;
  letter-spacing:.16em!important;
  text-transform:uppercase!important
}
:is(.tpn-home-hero, body.home .tpn-hero:not(.tpn-reviews-hero):not([class*="tpn-cat"])) .tpn-home-brand p:before{
  content:"";
  width:8px;height:8px;border-radius:50%;
  background:linear-gradient(135deg,var(--tpn-orange),#ff5a5a);
  box-shadow:0 0 0 4px rgba(204,0,0,.18);
  flex:0 0 auto
}

/* Expressive Poppins headline (overrides ElementsKit Inter) */
:is(.tpn-home-hero, body.home .tpn-hero:not(.tpn-reviews-hero):not([class*="tpn-cat"])) .elementskit-section-title,
:is(.tpn-home-hero, body.home .tpn-hero:not(.tpn-reviews-hero):not([class*="tpn-cat"])) .elementskit-heading .elementskit-section-title,
:is(.tpn-home-hero, body.home .tpn-hero:not(.tpn-reviews-hero):not([class*="tpn-cat"])) h2.elementskit-section-title,
:is(.tpn-home-hero, body.home .tpn-hero:not(.tpn-reviews-hero):not([class*="tpn-cat"])) .ekit-heading__title{
  font-family:Poppins,sans-serif!important;
  font-weight:800!important;
  font-size:clamp(2.05rem,4.6vw,3.55rem)!important;
  line-height:1.06!important;
  letter-spacing:-.04em!important;
  color:var(--tpn-navy)!important;
  max-width:min(15ch,100%);
  margin:0!important
}
:is(.tpn-home-hero, body.home .tpn-hero:not(.tpn-reviews-hero):not([class*="tpn-cat"])) .elementskit-section-title .elementskit-heading-title-focus,
:is(.tpn-home-hero, body.home .tpn-hero:not(.tpn-reviews-hero):not([class*="tpn-cat"])) .elementskit-section-title span,
:is(.tpn-home-hero, body.home .tpn-hero:not(.tpn-reviews-hero):not([class*="tpn-cat"])) .ekit_heading_focus,
:is(.tpn-home-hero, body.home .tpn-hero:not(.tpn-reviews-hero):not([class*="tpn-cat"])) .elementor-widget-elementskit-heading .focus-text,
:is(.tpn-home-hero, body.home .tpn-hero:not(.tpn-reviews-hero):not([class*="tpn-cat"])) .elementskit-heading-title span{
  color:var(--tpn-orange)!important;
  font-family:inherit!important;
  font-weight:inherit!important
}
:is(.tpn-home-hero, body.home .tpn-hero:not(.tpn-reviews-hero):not([class*="tpn-cat"])) > .e-con > .e-con-inner > .e-con.e-child:first-child > .elementor-widget-text-editor:nth-of-type(2) .elementor-widget-container,
:is(.tpn-home-hero, body.home .tpn-hero:not(.tpn-reviews-hero):not([class*="tpn-cat"])) > .e-con > .e-con-inner > .e-con.e-child:first-child .elementor-widget-text-editor .elementor-widget-container p{
  color:#475569!important;
  font:400 16px/1.65 Poppins,sans-serif!important;
  max-width:32rem;
  margin-top:2px!important
}

/* Staggered entry — left copy */
:is(.tpn-home-hero, body.home .tpn-hero:not(.tpn-reviews-hero):not([class*="tpn-cat"])) > .e-con > .e-con-inner > .e-con.e-child:first-child > .elementor-element{
  animation:tpn-rise-in .7s var(--tpn-ease) both
}
:is(.tpn-home-hero, body.home .tpn-hero:not(.tpn-reviews-hero):not([class*="tpn-cat"])) > .e-con > .e-con-inner > .e-con.e-child:first-child > .elementor-element:nth-child(1){animation-delay:.04s}
:is(.tpn-home-hero, body.home .tpn-hero:not(.tpn-reviews-hero):not([class*="tpn-cat"])) > .e-con > .e-con-inner > .e-con.e-child:first-child > .elementor-element:nth-child(2){animation-delay:.12s}
:is(.tpn-home-hero, body.home .tpn-hero:not(.tpn-reviews-hero):not([class*="tpn-cat"])) > .e-con > .e-con-inner > .e-con.e-child:first-child > .elementor-element:nth-child(3){animation-delay:.2s}
:is(.tpn-home-hero, body.home .tpn-hero:not(.tpn-reviews-hero):not([class*="tpn-cat"])) > .e-con > .e-con-inner > .e-con.e-child:first-child > .elementor-element:nth-child(4){animation-delay:.28s}
:is(.tpn-home-hero, body.home .tpn-hero:not(.tpn-reviews-hero):not([class*="tpn-cat"])) > .e-con > .e-con-inner > .e-con.e-child:first-child > .elementor-element:nth-child(5){animation-delay:.36s}

/* Stage + product — cyan rim light + disciplined floats */
:is(.tpn-home-hero, body.home .tpn-hero:not(.tpn-reviews-hero):not([class*="tpn-cat"])) > .e-con > .e-con-inner > .tpn-hero-stage{
  animation:tpn-stage-in .85s var(--tpn-ease) .18s both
}
:is(.tpn-home-hero, body.home .tpn-hero:not(.tpn-reviews-hero):not([class*="tpn-cat"])) .tpn-hero-stage{
  min-height:min(56vh,560px);
  display:flex;
  align-items:center;
  justify-content:center
}
:is(.tpn-home-hero, body.home .tpn-hero:not(.tpn-reviews-hero):not([class*="tpn-cat"])) .tpn-hero-stage:before{
  content:"";
  position:absolute;
  inset:8% 6%;
  border-radius:50%;
  pointer-events:none;
  z-index:0;
  background:
    radial-gradient(circle at 52% 46%,rgba(3,174,237,.22) 0%,rgba(3,174,237,.08) 34%,transparent 68%),
    radial-gradient(circle at 48% 58%,rgba(14,54,145,.10) 0%,transparent 64%),
    radial-gradient(circle at 50% 50%,rgba(255,255,255,.7) 0%,transparent 58%);
  filter:blur(16px);
  opacity:1
}
:is(.tpn-home-hero, body.home .tpn-hero:not(.tpn-reviews-hero):not([class*="tpn-cat"])) .tpn-hero-photo,
:is(.tpn-home-hero, body.home .tpn-hero:not(.tpn-reviews-hero):not([class*="tpn-cat"])) .tpn-hero-photo .elementor-widget-container{
  display:flex!important;
  justify-content:center;
  width:100%;
  position:relative;
  z-index:1
}
:is(.tpn-home-hero, body.home .tpn-hero:not(.tpn-reviews-hero):not([class*="tpn-cat"])) .tpn-hero-photo img,
:is(.tpn-home-hero, body.home .tpn-hero:not(.tpn-reviews-hero):not([class*="tpn-cat"])) .tpn-hero-photo .elementor-widget-container img{
  width:min(100%,440px)!important;
  height:min(56vh,540px)!important;
  max-width:100%!important;
  object-fit:cover!important;
  object-position:center 40%!important;
  border-radius:28px!important;
  border:1px solid rgba(3,174,237,.28);
  box-shadow:
    0 0 0 1px rgba(255,255,255,.55) inset,
    0 0 0 6px rgba(3,174,237,.10),
    0 0 36px rgba(3,174,237,.18),
    0 28px 56px rgba(14,54,145,.16);
  filter:none;
  animation:tpn-product-float 7.5s ease-in-out infinite
}

/* Glass sample cards — rating + layout */
:is(.tpn-home-hero, body.home .tpn-hero:not(.tpn-reviews-hero):not([class*="tpn-cat"])) .tpn-float-rating,
:is(.tpn-home-hero, body.home .tpn-hero:not(.tpn-reviews-hero):not([class*="tpn-cat"])) .tpn-float-cat{
  display:flex!important;
  flex-direction:column;
  background:rgba(255,255,255,.78)!important;
  border:1px solid rgba(255,255,255,.82)!important;
  border-radius:18px!important;
  box-shadow:
    0 18px 42px rgba(14,54,145,.13),
    0 1px 0 rgba(255,255,255,.92) inset!important;
  backdrop-filter:blur(16px) saturate(1.15);
  -webkit-backdrop-filter:blur(16px) saturate(1.15);
  transition:transform .35s var(--tpn-ease),box-shadow .35s ease;
  z-index:3
}
:is(.tpn-home-hero, body.home .tpn-hero:not(.tpn-reviews-hero):not([class*="tpn-cat"])) .tpn-float-rating{
  left:8px;bottom:26px;width:186px;padding:14px 16px!important
}
:is(.tpn-home-hero, body.home .tpn-hero:not(.tpn-reviews-hero):not([class*="tpn-cat"])) .tpn-float-cat{
  right:6px;top:22px;width:168px;padding:12px 14px!important
}
:is(.tpn-home-hero, body.home .tpn-hero:not(.tpn-reviews-hero):not([class*="tpn-cat"])) .tpn-float-rating .elementor-heading-title,
:is(.tpn-home-hero, body.home .tpn-hero:not(.tpn-reviews-hero):not([class*="tpn-cat"])) .tpn-float-cat .elementor-heading-title{
  font-family:Poppins,sans-serif!important;
  color:var(--tpn-navy)!important;
  margin:0!important
}
:is(.tpn-home-hero, body.home .tpn-hero:not(.tpn-reviews-hero):not([class*="tpn-cat"])) .tpn-float-rating .elementor-widget-text-editor:first-child .elementor-widget-container,
:is(.tpn-home-hero, body.home .tpn-hero:not(.tpn-reviews-hero):not([class*="tpn-cat"])) .tpn-float-rating .elementor-widget-text-editor:first-child p,
:is(.tpn-home-hero, body.home .tpn-hero:not(.tpn-reviews-hero):not([class*="tpn-cat"])) .tpn-float-cat .elementor-widget-text-editor:first-child .elementor-widget-container,
:is(.tpn-home-hero, body.home .tpn-hero:not(.tpn-reviews-hero):not([class*="tpn-cat"])) .tpn-float-cat .elementor-widget-text-editor:first-child p{
  margin:0!important;
  color:#03AEED!important;
  font:700 10px/1 Poppins,sans-serif!important;
  letter-spacing:.1em!important;
  text-transform:uppercase!important
}
@media(hover:hover) and (pointer:fine){
  :is(.tpn-home-hero, body.home .tpn-hero:not(.tpn-reviews-hero):not([class*="tpn-cat"])) .tpn-float-rating:hover,
  :is(.tpn-home-hero, body.home .tpn-hero:not(.tpn-reviews-hero):not([class*="tpn-cat"])) .tpn-float-cat:hover{
    transform:translateY(-5px);
    box-shadow:0 24px 48px rgba(14,54,145,.16),0 1px 0 rgba(255,255,255,.95) inset!important
  }
  :is(.tpn-home-hero, body.home .tpn-hero:not(.tpn-reviews-hero):not([class*="tpn-cat"])) .elementor-button:hover{
    transform:translateY(-3px);
    box-shadow:0 14px 32px rgba(14,54,145,.2)
  }
  :is(.tpn-home-hero, body.home .tpn-hero:not(.tpn-reviews-hero):not([class*="tpn-cat"])) .elementor-button[href*="reviews"]:hover{
    background:#0B2D5C!important;
    box-shadow:0 16px 36px rgba(14,54,145,.28)
  }
  :is(.tpn-home-hero, body.home .tpn-hero:not(.tpn-reviews-hero):not([class*="tpn-cat"])) .elementor-button[href*="write"]:hover,
  :is(.tpn-home-hero, body.home .tpn-hero:not(.tpn-reviews-hero):not([class*="tpn-cat"])) .elementor-button[href*="login"]:hover{
    border-color:var(--tpn-navy)!important;
    color:var(--tpn-navy)!important;
    background:rgba(14,54,145,.04)!important
  }
}

/* Scroll-linked card parallax (Chromium / modern Safari) */
@supports (animation-timeline:view()){
  :is(.tpn-home-hero, body.home .tpn-hero:not(.tpn-reviews-hero):not([class*="tpn-cat"])) .tpn-float-rating{
    animation:tpn-parallax-up linear both;
    animation-timeline:view();
    animation-range:entry 0% cover 55%
  }
  :is(.tpn-home-hero, body.home .tpn-hero:not(.tpn-reviews-hero):not([class*="tpn-cat"])) .tpn-float-cat{
    animation:tpn-parallax-down linear both;
    animation-timeline:view();
    animation-range:entry 0% cover 50%
  }
  :is(.tpn-home-hero, body.home .tpn-hero:not(.tpn-reviews-hero):not([class*="tpn-cat"])) .tpn-hero-photo img{
    animation:tpn-product-float 7.5s ease-in-out infinite
  }
}

/* CTAs */
:is(.tpn-home-hero, body.home .tpn-hero:not(.tpn-reviews-hero):not([class*="tpn-cat"])) .elementor-button{
  border-radius:999px!important;
  padding:15px 24px!important;
  font:600 14px/1.2 Poppins,sans-serif!important;
  letter-spacing:.01em
}
:is(.tpn-home-hero, body.home .tpn-hero:not(.tpn-reviews-hero):not([class*="tpn-cat"])) .elementor-button-link{
  transition:transform .28s var(--tpn-ease),box-shadow .28s ease,background .2s ease,border-color .2s ease,color .2s ease
}

/* Trust line under CTAs */
:is(.tpn-home-hero, body.home .tpn-hero:not(.tpn-reviews-hero):not([class*="tpn-cat"])) > .e-con > .e-con-inner > .e-con.e-child:first-child > .elementor-widget-text-editor:last-child .elementor-widget-container,
:is(.tpn-home-hero, body.home .tpn-hero:not(.tpn-reviews-hero):not([class*="tpn-cat"])) > .e-con > .e-con-inner > .e-con.e-child:first-child > .elementor-element:last-child .elementor-widget-container{
  color:#64748B!important;
  font:500 13px/1.5 Poppins,sans-serif!important
}

@media(max-width:900px){
  :is(.tpn-home-hero, body.home .tpn-hero:not(.tpn-reviews-hero):not([class*="tpn-cat"])){min-height:0}
  :is(.tpn-home-hero, body.home .tpn-hero:not(.tpn-reviews-hero):not([class*="tpn-cat"]))>.e-con>.e-con-inner{
    padding-top:40px!important;
    padding-bottom:48px!important
  }
  :is(.tpn-home-hero, body.home .tpn-hero:not(.tpn-reviews-hero):not([class*="tpn-cat"])) .elementskit-section-title,
  :is(.tpn-home-hero, body.home .tpn-hero:not(.tpn-reviews-hero):not([class*="tpn-cat"])) .ekit-heading__title{max-width:none}
}
@media(max-width:767px){
  :is(.tpn-home-hero, body.home .tpn-hero:not(.tpn-reviews-hero):not([class*="tpn-cat"])):before,
  :is(.tpn-home-hero, body.home .tpn-hero:not(.tpn-reviews-hero):not([class*="tpn-cat"])):after{animation:none;opacity:.65}
  :is(.tpn-home-hero, body.home .tpn-hero:not(.tpn-reviews-hero):not([class*="tpn-cat"])) > .e-con > .e-con-inner > .e-con.e-child:first-child > .elementor-element,
  :is(.tpn-home-hero, body.home .tpn-hero:not(.tpn-reviews-hero):not([class*="tpn-cat"])) > .e-con > .e-con-inner > .tpn-hero-stage{
    animation:none!important;opacity:1!important;transform:none!important
  }
  :is(.tpn-home-hero, body.home .tpn-hero:not(.tpn-reviews-hero):not([class*="tpn-cat"])) .tpn-hero-photo img,
  :is(.tpn-home-hero, body.home .tpn-hero:not(.tpn-reviews-hero):not([class*="tpn-cat"])) .tpn-float-rating,
  :is(.tpn-home-hero, body.home .tpn-hero:not(.tpn-reviews-hero):not([class*="tpn-cat"])) .tpn-float-cat{
    animation:none!important
  }
  :is(.tpn-home-hero, body.home .tpn-hero:not(.tpn-reviews-hero):not([class*="tpn-cat"])) .tpn-hero-photo img{
    width:min(100%,300px)!important;
    height:280px!important;
    border-radius:22px!important;
    box-shadow:
      0 0 0 1px rgba(255,255,255,.55) inset,
      0 0 0 4px rgba(3,174,237,.10),
      0 18px 36px rgba(14,54,145,.14)
  }
  :is(.tpn-home-hero, body.home .tpn-hero:not(.tpn-reviews-hero):not([class*="tpn-cat"])) .tpn-hero-stage{min-height:300px;overflow:hidden}
  :is(.tpn-home-hero, body.home .tpn-hero:not(.tpn-reviews-hero):not([class*="tpn-cat"])) .tpn-float-rating{left:8px;bottom:12px;width:148px;padding:10px 12px!important}
  :is(.tpn-home-hero, body.home .tpn-hero:not(.tpn-reviews-hero):not([class*="tpn-cat"])) .tpn-float-cat{right:6px;top:10px;width:128px;padding:10px 12px!important}
  :is(.tpn-home-hero, body.home .tpn-hero:not(.tpn-reviews-hero):not([class*="tpn-cat"])) .elementskit-section-title,
  :is(.tpn-home-hero, body.home .tpn-hero:not(.tpn-reviews-hero):not([class*="tpn-cat"])) .ekit-heading__title{font-size:clamp(1.85rem,8.2vw,2.35rem)!important}
}
@media(prefers-reduced-motion:reduce){
  :is(.tpn-home-hero, body.home .tpn-hero:not(.tpn-reviews-hero):not([class*="tpn-cat"])):before,
  :is(.tpn-home-hero, body.home .tpn-hero:not(.tpn-reviews-hero):not([class*="tpn-cat"])):after,
  :is(.tpn-home-hero, body.home .tpn-hero:not(.tpn-reviews-hero):not([class*="tpn-cat"])) .tpn-hero-photo img,
  :is(.tpn-home-hero, body.home .tpn-hero:not(.tpn-reviews-hero):not([class*="tpn-cat"])) .tpn-float-rating,
  :is(.tpn-home-hero, body.home .tpn-hero:not(.tpn-reviews-hero):not([class*="tpn-cat"])) .tpn-float-cat,
  :is(.tpn-home-hero, body.home .tpn-hero:not(.tpn-reviews-hero):not([class*="tpn-cat"])) > .e-con > .e-con-inner > .e-con.e-child:first-child > .elementor-element,
  :is(.tpn-home-hero, body.home .tpn-hero:not(.tpn-reviews-hero):not([class*="tpn-cat"])) > .e-con > .e-con-inner > .tpn-hero-stage{
    animation:none!important;transition:none!important;transform:none!important
  }
}
/* === TPN SVG STARS (no Unicode) === */
.elementor-star-rating{
  display:inline-flex!important;
  align-items:center!important;
  gap:3px!important;
  letter-spacing:0!important;
  line-height:1!important;
  color:#F5B301!important;
  font-family:Poppins,sans-serif!important
}
.elementor-star-rating i{
  font-family:inherit!important;
  font-style:normal!important;
  font-size:0!important;
  font-weight:400!important;
  width:16px!important;
  height:16px!important;
  line-height:0!important;
  position:relative!important;
  display:inline-block!important;
  overflow:hidden!important;
  vertical-align:middle;
  color:#F5B301!important;
  text-indent:0!important
}
.elementor-star-rating i:before{
  content:""!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  position:static!important;
  inset:auto!important;
  background-color:currentColor!important;
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M12 2.2l2.9 5.88 6.49.94-4.7 4.58 1.11 6.48L12 16.98l-5.8 3.1 1.11-6.48-4.7-4.58 6.49-.94L12 2.2z'/%3E%3C/svg%3E")!important;
  -webkit-mask-repeat:no-repeat!important;
  -webkit-mask-position:center!important;
  -webkit-mask-size:contain!important;
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M12 2.2l2.9 5.88 6.49.94-4.7 4.58 1.11 6.48L12 16.98l-5.8 3.1 1.11-6.48-4.7-4.58 6.49-.94L12 2.2z'/%3E%3C/svg%3E")!important;
  mask-repeat:no-repeat!important;
  mask-position:center!important;
  mask-size:contain!important
}
.elementor-star-rating i.elementor-star-empty{color:#E5E7EB!important}
.elementor-star-rating i.elementor-star-empty:before{background-color:currentColor!important}
.tpn-hero-stars{
  display:inline-flex!important;
  align-items:center;
  gap:3px;
  margin-right:10px;
  vertical-align:-2px;
  color:#F5B301;
  font-family:Poppins,sans-serif!important;
  letter-spacing:0!important
}
.tpn-hero-stars i{
  display:inline-block;
  width:14px;
  height:14px;
  background-color:currentColor;
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M12 2.2l2.9 5.88 6.49.94-4.7 4.58 1.11 6.48L12 16.98l-5.8 3.1 1.11-6.48-4.7-4.58 6.49-.94L12 2.2z'/%3E%3C/svg%3E");
  -webkit-mask-repeat:no-repeat;
  -webkit-mask-position:center;
  -webkit-mask-size:contain;
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M12 2.2l2.9 5.88 6.49.94-4.7 4.58 1.11 6.48L12 16.98l-5.8 3.1 1.11-6.48-4.7-4.58 6.49-.94L12 2.2z'/%3E%3C/svg%3E");
  mask-repeat:no-repeat;
  mask-position:center;
  mask-size:contain
}
.tpn-hero-trust{
  display:flex!important;
  flex-wrap:wrap;
  align-items:center;
  gap:0;
  margin:10px 0 0!important;
  color:#64748B!important;
  font:500 13px/1.5 Poppins,sans-serif!important
}
.tpn-hero-trust-copy{color:inherit}
.tpn-hero-trust-sep{
  display:inline-block;
  width:4px;
  height:4px;
  margin:0 10px;
  border-radius:50%;
  background:#94A3B8;
  flex:0 0 auto
}
.tpn-float-rating .elementor-star-rating i{
  width:15px!important;
  height:15px!important
}
/* === /TPN SVG STARS === */
/* Hero trust stars + float rating polish */
:is(.tpn-home-hero, body.home .tpn-hero:not(.tpn-reviews-hero):not([class*="tpn-cat"])) .tpn-hero-trust{
  display:flex!important;
  flex-wrap:wrap;
  align-items:center;
  gap:0;
  margin-top:12px!important
}
:is(.tpn-home-hero, body.home .tpn-hero:not(.tpn-reviews-hero):not([class*="tpn-cat"])) .tpn-hero-stars{
  display:inline-flex!important;
  align-items:center;
  gap:3px;
  margin-right:10px;
  color:#F5B301
}
:is(.tpn-home-hero, body.home .tpn-hero:not(.tpn-reviews-hero):not([class*="tpn-cat"])) .tpn-hero-stars i{
  width:15px;height:15px;background-color:currentColor;
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M12 2.2l2.9 5.88 6.49.94-4.7 4.58 1.11 6.48L12 16.98l-5.8 3.1 1.11-6.48-4.7-4.58 6.49-.94L12 2.2z'/%3E%3C/svg%3E");-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain;
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M12 2.2l2.9 5.88 6.49.94-4.7 4.58 1.11 6.48L12 16.98l-5.8 3.1 1.11-6.48-4.7-4.58 6.49-.94L12 2.2z'/%3E%3C/svg%3E");mask-repeat:no-repeat;mask-position:center;mask-size:contain
}
:is(.tpn-home-hero, body.home .tpn-hero:not(.tpn-reviews-hero):not([class*="tpn-cat"])) .tpn-hero-trust-sep{
  width:4px;height:4px;margin:0 10px;border-radius:50%;background:#94A3B8
}
:is(.tpn-home-hero, body.home .tpn-hero:not(.tpn-reviews-hero):not([class*="tpn-cat"])) .tpn-float-rating .elementor-star-rating{
  margin-top:2px
}
:is(.tpn-home-hero, body.home .tpn-hero:not(.tpn-reviews-hero):not([class*="tpn-cat"])) .tpn-float-rating .elementor-star-rating i{
  width:16px!important;height:16px!important
}
/* === /TPN HOME HERO === */

/* Featured quote mark: CSS glyph only (avoids UTF-8 mojibake in Elementor HTML). */
.tpn-quote-mark {
  margin: 8px 0 0 !important;
  padding: 0 !important;
  font-size: 0 !important;
  line-height: 0 !important;
  color: transparent !important;
  min-height: 0.85em;
}
.tpn-quote-mark::before {
  content: "\201C";
  display: block;
  font: 700 64px/1 Poppins, sans-serif;
  color: #cc0000;
  opacity: 0.9;
}
