/* Scoped reconstruction of the supplied 1-to-1 pricing design. */
@font-face {
 font-family: YVFPricingBody;
 src: url("assets/fonts/URWGothic-Book.otf") format("opentype");
 font-weight: 400;
 font-style: normal;
 font-display: swap;
}
@font-face {
 font-family: YVFPricingPrice;
 src: url("assets/fonts/NimbusRoman-Regular.otf") format("opentype");
 font-weight: 400;
 font-style: normal;
 font-display: swap;
}
.yvf-pt-pricing {
 color: #f5f4f1;
 background: #111 url("http://localhost/visionfitness/wp-content/uploads/2026/10/coaching-pricing-background.png") center/cover no-repeat;
 font-family: "Clarity City", sans-serif;
 isolation: isolate;
 position: relative;
}
.yvf-pt-pricing::after {
 content: "";
 position: absolute;
 inset: 0;
 background: url("assets/coaching-pricing-reference.jpeg") center/cover no-repeat;
 mask-image: linear-gradient(90deg, #000 0 16%, transparent 17.5% 82.7%, #000 84% 100%);
 pointer-events: none;
 z-index: -1;
}
.yvf-pt-pricing::before {
 content: "";
 position: absolute;
 inset: 0;
 background: linear-gradient(0deg, #09090966, transparent 48%, #0002);
 z-index: -1;
 pointer-events: none;
}
.yvf-pt-pricing .yvf-pt-inner {
 max-width: 1536px;
 margin: 0 auto;
 padding: 3.35% 0 3.5%;
 container-type: inline-size;
 text-align: center;
}
.yvf-pt-pricing .yvf-pt-brand {
 color: #c29c73;
 font-size: 1.65cqw;
 line-height: 1.3;
 letter-spacing: 0.33em;
 text-transform: uppercase;
 margin: 0 0 0.9cqw;
}
.yvf-pt-pricing .yvf-pt-heading h2 {
 font-family: "Clarity City", sans-serif;
 font-size: 4.15cqw;
 line-height: 1.1;
 letter-spacing: 0.025em;
 font-weight: 700;
 text-transform: uppercase;
 color: #f5f5f5;
 margin: 0 0 0.9cqw;
 text-wrap: initial;
}
.yvf-pt-pricing .yvf-pt-heading h2 span {
 color: #bd986d;
}
.yvf-pt-pricing .yvf-pt-subtitle {
 font-size: 1.35cqw;
 line-height: 1.4;
 letter-spacing: 0.25em;
 text-transform: uppercase;
 color: #c8c7c5;
 margin: 0;
}
.yvf-pt-pricing .yvf-pt-rule {
 display: block;
 width: 9.3cqw;
 height: 1px;
 background: #b99a73;
 margin: 1.3cqw auto 1.8cqw;
}
.yvf-pt-pricing .yvf-pt-cards {
 display: grid;
 grid-template-columns: repeat(2, minmax(0, 1fr));
 gap: 1.6cqw;
 width: 64.7%;
 margin: 0 auto;
}
.yvf-pt-pricing .yvf-pt-card {
 position: relative;
 display: flex;
 flex-direction: column;
 min-width: 0;
 min-height: 35.7cqw;
 border: 1px solid #70685d;
 border-radius: 16px;
 background: linear-gradient(135deg, #111111f5, #090909f5);
 padding: 2.65cqw 2.4cqw 1.75cqw;
 overflow: hidden;
}
.yvf-pt-pricing .yvf-pt-card-featured {
 border-color: #c39d71;
 background: linear-gradient(135deg, #1b1711f7, #090909f5);
 padding-top: 3.05cqw;
}
.yvf-pt-pricing .yvf-pt-best {
 position: absolute;
 top: 0;
 left: 0;
 right: 0;
 height: 2.2cqw;
 display: flex;
 align-items: center;
 justify-content: center;
 background: linear-gradient(110deg, #c49b6e, #b68f61, #c4a073);
 color: #090807;
 font-family: "Clarity City", sans-serif;
 font-size: 1.05cqw;
 font-weight: 600;
 letter-spacing: 0.2em;
 text-transform: uppercase;
 margin: 0;
}
.yvf-pt-pricing .yvf-pt-card h3 {
 font-family: "Clarity City", sans-serif;
 font-size: 1.8cqw;
 font-weight: 600;
 line-height: 1.3;
 letter-spacing: 0.14em;
 text-transform: uppercase;
 color: #cba67d;
 margin: 0 0 0.9cqw;
}
.yvf-pt-pricing .yvf-pt-card-tagline {
 font-size: 1cqw;
 line-height: 1.4;
 letter-spacing: 0.24em;
 text-transform: uppercase;
 margin: 0;
 color: #d0ceca;
}
.yvf-pt-pricing .yvf-pt-price {
 font-family: YVFPricingPrice, Georgia, serif;
 font-size: 5.7cqw;
 line-height: 1;
 letter-spacing: -0.03em;
 color: #f9f8f5;
 margin: 1.45cqw 0 0.6cqw;
}
.yvf-pt-pricing .yvf-pt-period {
 font-size: 0.94cqw;
 line-height: 1.4;
 letter-spacing: 0.36em;
 text-transform: uppercase;
 color: #aaa8a5;
 margin: 0;
}
.yvf-pt-pricing .yvf-pt-features {
 border-top: 1px solid #595047;
 list-style: none;
 margin: 1.25cqw 2.3cqw 1.8cqw;
 padding: 1.15cqw 0 0;
 display: grid;
 gap: 0.85cqw;
 text-align: left;
}
.yvf-pt-pricing .yvf-pt-features li {
 display: flex;
 align-items: center;
 gap: 2.15cqw;
 margin: 0;
 padding: 0;
 font-size: 1.17cqw;
 line-height: 1.4;
 letter-spacing: 0.04em;
 color: #f0eeeb;
 white-space: nowrap;
}
.yvf-pt-pricing svg {
 display: block;
 width: 1.8cqw;
 height: 1.8cqw;
 flex-shrink: 0;
 fill: none;
 stroke: currentColor;
 stroke-width: 1.7;
 stroke-linecap: round;
 stroke-linejoin: round;
 color: #d3ad82;
}
.yvf-pt-pricing .yvf-pt-start {
 display: flex;
 align-items: center;
 justify-content: center;
 gap: 1.35cqw;
 min-height: 3.9cqw;
 padding: 0.8cqw;
 border: 1px solid #d9b38b;
 border-radius: 9px;
 color: #d9b38b;
 text-decoration: none;
 font-family: "Clarity City", sans-serif;
 font-size: 1.03cqw;
 font-weight: 500;
 line-height: 1.25;
 letter-spacing: 0.14em;
 text-transform: uppercase;
 margin-top: auto;
 background: transparent;
}
.yvf-pt-pricing .yvf-pt-start span {
 font-family: "Clarity City", sans-serif;
 font-size: 1.8cqw;
 font-weight: 400;
 line-height: 1;
 letter-spacing: 0;
}
.yvf-pt-pricing .yvf-pt-card-featured .yvf-pt-start {
 background: linear-gradient(120deg, #c49a68, #b68c58);
 color: #0c0a07;
 border-color: #c9a77e;
 font-weight: 600;
}
.yvf-pt-pricing .yvf-pt-start:hover {
 filter: brightness(1.16);
}
.yvf-pt-pricing .yvf-pt-start:focus-visible {
 outline: 3px solid #fff;
 outline-offset: 4px;
}
.yvf-pt-pricing .yvf-pt-benefits {
 display: grid;
 grid-template-columns: repeat(4, minmax(0, 1fr));
 list-style: none;
 margin: 2.25cqw auto 0;
 padding: 0;
 width: 65%;
}
.yvf-pt-pricing .yvf-pt-benefits li {
 position: relative;
 margin: 0;
 padding: 0 1cqw;
}
.yvf-pt-pricing .yvf-pt-benefits li + li::before {
 content: "";
 position: absolute;
 left: 0;
 top: 1.5cqw;
 width: 1px;
 height: 4.5cqw;
 background: #635747;
}
.yvf-pt-pricing .yvf-pt-benefit-icon {
 width: 3.4cqw;
 height: 3.4cqw;
 display: grid;
 place-items: center;
 margin: 0 auto 0.8cqw;
 border: 1.5px solid #d5b28d;
 border-radius: 50%;
}
.yvf-pt-pricing .yvf-pt-benefit-icon svg {
 width: 2.1cqw;
 height: 2.1cqw;
}
.yvf-pt-pricing .yvf-pt-benefits p {
 font-size: 1cqw;
 line-height: 1.4;
 letter-spacing: 0.17em;
 text-transform: uppercase;
 margin: 0;
 color: #f0ece7;
}
@media (min-width: 1536px) {
 .yvf-pt-pricing .yvf-pt-inner {
  padding-top: 51px;
  padding-bottom: 54px;
 }
}
@media (max-width: 760px) {
 .yvf-pt-pricing::after {
  display: none;
 }
 .yvf-pt-pricing .yvf-pt-inner {
  padding: 38px 20px 36px;
 }
 .yvf-pt-pricing .yvf-pt-brand {
  font-size: 12px;
  letter-spacing: 0.25em;
  margin-bottom: 14px;
 }
 .yvf-pt-pricing .yvf-pt-heading h2 {
  font-size: clamp(26px, 5.5vw, 40px);
  line-height: 1.15;
  margin-bottom: 15px;
 }
 .yvf-pt-pricing .yvf-pt-subtitle {
  font-size: 11px;
  letter-spacing: 0.15em;
  line-height: 1.7;
 }
 .yvf-pt-pricing .yvf-pt-rule {
  width: 100px;
  margin: 18px auto 25px;
 }
 .yvf-pt-pricing .yvf-pt-cards {
  width: 100%;
  gap: 18px;
 }
 .yvf-pt-pricing .yvf-pt-card {
  padding: 30px 18px 20px;
  min-height: 430px;
  border-radius: 13px;
 }
 .yvf-pt-pricing .yvf-pt-card-featured {
  padding-top: 43px;
 }
 .yvf-pt-pricing .yvf-pt-best {
  height: 27px;
  font-size: 11px;
 }
 .yvf-pt-pricing .yvf-pt-card h3 {
  font-size: 20px;
  letter-spacing: 0.12em;
  margin-bottom: 12px;
 }
 .yvf-pt-pricing .yvf-pt-card-tagline {
  font-size: 10px;
  letter-spacing: 0.18em;
 }
 .yvf-pt-pricing .yvf-pt-price {
  font-size: 70px;
  margin: 20px 0 8px;
 }
 .yvf-pt-pricing .yvf-pt-period {
  font-size: 10px;
  letter-spacing: 0.3em;
 }
 .yvf-pt-pricing .yvf-pt-features {
  margin: 19px 0 25px;
  padding-top: 18px;
  gap: 13px;
 }
 .yvf-pt-pricing .yvf-pt-features li {
  gap: 12px;
  font-size: 12px;
  letter-spacing: 0;
  white-space: normal;
 }
 .yvf-pt-pricing svg {
  width: 22px;
  height: 22px;
 }
 .yvf-pt-pricing .yvf-pt-start {
  min-height: 48px;
  padding: 12px 8px;
  font-size: 11px;
  gap: 14px;
  border-radius: 7px;
 }
 .yvf-pt-pricing .yvf-pt-start span {
  font-size: 22px;
 }
 .yvf-pt-pricing .yvf-pt-benefits {
  width: 100%;
  margin-top: 28px;
 }
 .yvf-pt-pricing .yvf-pt-benefits li {
  padding: 0 8px;
 }
 .yvf-pt-pricing .yvf-pt-benefits li + li::before {
  top: 20px;
  height: 55px;
 }
 .yvf-pt-pricing .yvf-pt-benefit-icon {
  width: 43px;
  height: 43px;
  margin-bottom: 12px;
 }
 .yvf-pt-pricing .yvf-pt-benefit-icon svg {
  width: 27px;
  height: 27px;
 }
 .yvf-pt-pricing .yvf-pt-benefits p {
  font-size: 9px;
  letter-spacing: 0.08em;
  line-height: 1.5;
 }
}
@media (max-width: 540px) {
 .yvf-pt-pricing .yvf-pt-cards {
  grid-template-columns: 1fr;
  max-width: 390px;
 }
 .yvf-pt-pricing .yvf-pt-card {
  padding: 30px 26px 24px;
 }
 .yvf-pt-pricing .yvf-pt-card-featured {
  padding-top: 45px;
 }
 .yvf-pt-pricing .yvf-pt-features {
  margin-left: 14px;
  margin-right: 14px;
 }
 .yvf-pt-pricing .yvf-pt-features li {
  font-size: 14px;
  gap: 22px;
 }
 .yvf-pt-pricing .yvf-pt-benefits {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 25px 0;
  max-width: 390px;
 }
 .yvf-pt-pricing .yvf-pt-benefits li:nth-child(3)::before {
  display: none;
 }
 .yvf-pt-pricing .yvf-pt-benefits p {
  font-size: 11px;
  letter-spacing: 0.12em;
 }
}
