.elementor-kit-6{--e-global-color-primary:#6EC1E4;--e-global-color-secondary:#54595F;--e-global-color-text:#7A7A7A;--e-global-color-accent:#61CE70;--e-global-typography-primary-font-family:"Roboto";--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-family:"Roboto Slab";--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"Roboto";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Roboto";--e-global-typography-accent-font-weight:500;}.elementor-kit-6 e-page-transition{background-color:#FFBC7D;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}:root { --color-brand:#2a5f3c; --color-brand-deep:#0e2619; --color-brand-mist:#c3d4bd; --color-ivory:#dccfb4; --color-ivory-soft:#ece1cc; --color-paper:#e5d9c2; --color-ink:#171a16; --color-ink-soft:#464e43; --color-ink-faint:#515a4e; --color-ink-on-deep:#a3b79f; --color-line:#c9bb9d; --color-line-strong:#ab9a76; --color-green:#356b45; --color-green-soft:#d5ddc0; --color-sage:#748f72; --color-gold:#665214; --color-gold-soft:#e0d0ac; --color-studio:#dfd3ba; --color-accent-clay:#e2620f; --color-accent-clay-hover:#f5761f; --color-accent-clay-shadow:#a9430a; --color-accent-orange:#f2913f; --color-em-orange:#b34d08; --font-display:Jost, 'Helvetica Neue', sans-serif; --font-body:Karla, 'Helvetica Neue', sans-serif; --fs-xxs:0.6875rem; --fs-xs:0.8125rem; --fs-sm:0.9375rem; --fs-md:1.0625rem; --fs-lg:1.25rem; --fs-xl:1.5rem; --fs-2xl:2rem; --fs-3xl:2.625rem; --fs-4xl:3.5rem; --fs-5xl:4.5rem; --sp-1:4px; --sp-2:8px; --sp-3:12px; --sp-4:16px; --sp-5:24px; --sp-6:32px; --sp-7:48px; --sp-8:64px; --sp-9:88px; --sp-10:120px; --r-sm:4px; --r-md:10px; --r-lg:20px; --r-pill:999px; --r-circle:50%; --bw-1:1px; --bw-2:2px; --bw-3:3px; --lh-tight:1.04; --lh-snug:1.18; --lh-nml:1.5; --lh-loose:1.72; --ls-tight:-0.02em; --ls-nml:0em; --ls-wide:0.06em; --ls-xwide:0.14em; --fw-r:400; --fw-m:500; --fw-sb:600; --fw-b:700; --fs-5xl-tablet:3.25rem; --fs-5xl-mobile:2.5rem; --fs-4xl-tablet:2.625rem; --fs-4xl-mobile:2.125rem; --fs-3xl-tablet:2rem; --fs-3xl-mobile:1.75rem; --fs-2xl-tablet:1.625rem; --fs-2xl-mobile:1.4375rem; --sp-10-tablet:80px; --sp-10-mobile:56px; --sp-9-tablet:64px; --sp-9-mobile:48px; --sp-8-tablet:48px; --sp-8-mobile:40px; --sp-7-mobile:32px; }
/* Start custom CSS *//* The Human Remedy - motion only. Presentational; removing this block
   changes no layout or function, it only stops movement. */
@keyframes hr-rise{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}
@keyframes hr-rise-s{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@keyframes hr-pop{0%{opacity:0;transform:scale(.82)}60%{opacity:1;transform:scale(1.06)}100%{opacity:1;transform:scale(1)}}
@keyframes hr-strike{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes hr-pulse{0%,100%{transform:scale(1)}45%{transform:scale(1.07)}}
@media (prefers-reduced-motion: no-preference){
 @supports (animation-timeline: view()){
  .sh-card,.rc-card,.pain-card,.gold-rim-card,.membership-card,.card-neg,.card-service{
   animation:hr-rise both;animation-timeline:view();animation-range: entry 22% cover 36%}
  .mb-item,.sh-plan-item,.qs-plan{animation:hr-rise-s both;animation-timeline:view();animation-range: entry 20% cover 30%}
  .mb-item:nth-child(2),.sh-plan-item:nth-child(2){animation-range: entry 22% cover 32%}
  .mb-item:nth-child(3),.sh-plan-item:nth-child(3){animation-range: entry 24% cover 34%}
  .mb-item:nth-child(4),.sh-plan-item:nth-child(4){animation-range: entry 26% cover 36%}
  .mb-item:nth-child(5),.sh-plan-item:nth-child(5){animation-range: entry 28% cover 38%}
  .mb-item:nth-child(6),.sh-plan-item:nth-child(6){animation-range: entry 30% cover 40%}
  .mb-item:nth-child(7){animation-range: entry 32% cover 42%}
  .mb-item:nth-child(8){animation-range: entry 34% cover 44%}
  .mb-item:nth-child(9){animation-range: entry 36% cover 46%}
  .qs-badge,.badge-gold,.badge-sage{animation:hr-pop both;animation-timeline:view();animation-range: entry 24% cover 34%}
 }
 /* price anchor: draw the line through the old price */
 .qs-plan-was{position:relative;text-decoration:none}
 .qs-plan-was::after{content:"";position:absolute;left:0;right:0;top:50%;height:2px;
  background:currentColor;transform-origin:left center;animation:hr-strike .38s ease-out .22s both}
 /* one considered nudge on the social-proof badge, never a loop */
 .qs-plan-on .qs-badge{animation:hr-pulse 1.1s ease-in-out .5s 1}
}

/* HR-MOTION2-START */
@keyframes hr-nudge-r{0%,100%{transform:translateX(0)}50%{transform:translateX(7px)}}
@keyframes hr-nudge-l{0%,100%{transform:translateX(0)}50%{transform:translateX(-7px)}}
@keyframes hr-fade-up{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@keyframes hr-tick-pop{0%{opacity:0;transform:scale(.5)}70%{opacity:1;transform:scale(1.15)}100%{opacity:1;transform:scale(1)}}
@keyframes hr-num-pop{0%{opacity:0;transform:scale(.7) translateY(8px)}65%{opacity:1;transform:scale(1.08) translateY(0)}100%{opacity:1;transform:scale(1)}}
@media (prefers-reduced-motion: no-preference){
 /* Buy arrows: animate the img itself so motion never depends on the
    SVG document being animated internally. Applies to every CTA incl. the hero. */
 .buy-cta > .buy-arrow-img:first-child{animation:hr-nudge-r 1.15s ease-in-out infinite;will-change:transform}
 .buy-cta > .buy-arrow-img:last-child{animation:hr-nudge-l 1.15s ease-in-out infinite;will-change:transform}
 .jar-arrow-img{animation:hr-nudge-r 1.15s ease-in-out infinite}

 /* Tick lists: hero runs on load (above the fold), the rest on scroll. */
 .hero-ticks .hero-tick{opacity:0;animation:hr-fade-up .55s ease-out forwards}
 .hero-ticks .hero-tick:nth-child(1){animation-delay:.20s}
 .hero-ticks .hero-tick:nth-child(2){animation-delay:.34s}
 .hero-ticks .hero-tick:nth-child(3){animation-delay:.48s}
 .hero-ticks .hero-tick:nth-child(4){animation-delay:.62s}
 .hero-tick .hero-tick-mark{opacity:0;animation:hr-tick-pop .45s ease-out forwards}
 .hero-ticks .hero-tick:nth-child(1) .hero-tick-mark{animation-delay:.30s}
 .hero-ticks .hero-tick:nth-child(2) .hero-tick-mark{animation-delay:.44s}
 .hero-ticks .hero-tick:nth-child(3) .hero-tick-mark{animation-delay:.58s}
 .hero-ticks .hero-tick:nth-child(4) .hero-tick-mark{animation-delay:.72s}

 @supports (animation-timeline: view()){
  .why-list .list-item,.sh-plan-list .sh-plan-item,.hero-guarantee{
   animation:hr-fade-up both;animation-timeline:view();animation-range: entry 20% cover 30%}
  .why-list .list-item:nth-child(2){animation-range: entry 23% cover 33%}
  .why-list .list-item:nth-child(3){animation-range: entry 26% cover 36%}
  .why-list .list-item:nth-child(4){animation-range: entry 29% cover 39%}
  .why-list .list-item:nth-child(5){animation-range: entry 32% cover 42%}

  /* The 1-2-3 protocol: steps build in order, numbers pop as they land. */
  .easy-step,.pg-step{animation:hr-fade-up both;animation-timeline:view();animation-range: entry 21% cover 34%}
  .easy-step:nth-child(2),.pg-step:nth-child(2){animation-range: entry 26% cover 39%}
  .easy-step:nth-child(3),.pg-step:nth-child(3){animation-range: entry 31% cover 44%}
  .easy-step:nth-child(4),.pg-step:nth-child(4){animation-range: entry 36% cover 49%}
  .easy-num,.pg-step-n,.trust-num,.principle-num{
   animation:hr-num-pop both;animation-timeline:view();animation-range: entry 23% cover 36%}
 }
 /* connectors between steps keep nudging so the sequence reads as a flow */
 .step-arrow{animation:hr-nudge-r 1.4s ease-in-out infinite}
}
/* HR-MOTION2-END */
/* HR-LISTS-START  every tick / bullet list builds in sequence */
@media (prefers-reduced-motion: no-preference){
 @supports (animation-timeline: view()){
  .why-item,.list-item,.rc-item,.trust-item,.faq-item,.frag-wrap,.hero-proof,.hero-guarantee,.sh-plan-item,.mb-item{animation:hr-fade-up both;animation-timeline:view();animation-range: entry 20% cover 30%}
  .why-item:nth-child(2),.list-item:nth-child(2),.rc-item:nth-child(2),.trust-item:nth-child(2),.faq-item:nth-child(2),.frag-wrap:nth-child(2),.sh-plan-item:nth-child(2),.mb-item:nth-child(2){animation-range: entry 23% cover 33%}
  .why-item:nth-child(3),.list-item:nth-child(3),.rc-item:nth-child(3),.trust-item:nth-child(3),.faq-item:nth-child(3),.frag-wrap:nth-child(3),.sh-plan-item:nth-child(3),.mb-item:nth-child(3){animation-range: entry 26% cover 36%}
  .why-item:nth-child(4),.list-item:nth-child(4),.rc-item:nth-child(4),.trust-item:nth-child(4),.faq-item:nth-child(4),.frag-wrap:nth-child(4),.sh-plan-item:nth-child(4),.mb-item:nth-child(4){animation-range: entry 29% cover 39%}
  .why-item:nth-child(5),.list-item:nth-child(5),.rc-item:nth-child(5),.trust-item:nth-child(5),.faq-item:nth-child(5),.frag-wrap:nth-child(5),.sh-plan-item:nth-child(5),.mb-item:nth-child(5){animation-range: entry 32% cover 42%}
  .why-item:nth-child(6),.list-item:nth-child(6),.rc-item:nth-child(6),.trust-item:nth-child(6),.faq-item:nth-child(6),.frag-wrap:nth-child(6),.sh-plan-item:nth-child(6),.mb-item:nth-child(6){animation-range: entry 35% cover 45%}
  .why-item:nth-child(7),.list-item:nth-child(7),.rc-item:nth-child(7),.trust-item:nth-child(7),.faq-item:nth-child(7),.frag-wrap:nth-child(7),.sh-plan-item:nth-child(7),.mb-item:nth-child(7){animation-range: entry 38% cover 48%}
  .why-item:nth-child(8),.list-item:nth-child(8),.rc-item:nth-child(8),.trust-item:nth-child(8),.faq-item:nth-child(8),.frag-wrap:nth-child(8),.sh-plan-item:nth-child(8),.mb-item:nth-child(8){animation-range: entry 41% cover 51%}
  .why-item:nth-child(9),.list-item:nth-child(9),.rc-item:nth-child(9),.trust-item:nth-child(9),.faq-item:nth-child(9),.frag-wrap:nth-child(9),.sh-plan-item:nth-child(9),.mb-item:nth-child(9){animation-range: entry 44% cover 54%}
  .why-item:nth-child(10),.list-item:nth-child(10),.rc-item:nth-child(10),.trust-item:nth-child(10),.faq-item:nth-child(10),.frag-wrap:nth-child(10),.sh-plan-item:nth-child(10),.mb-item:nth-child(10){animation-range: entry 47% cover 57%}
  /* the tick glyph lands just after its row */
  .list-dot,.trust-icon,.why-item .frag,.hero-tick-mark{
   animation:hr-tick-pop both;animation-timeline:view();animation-range: entry 22% cover 32%}
 }
}
/* HR-LISTS-END */
/* HR-QUOTES-START  testimonials */
@keyframes hr-star-pop{0%{opacity:0;transform:scale(.4) rotate(-18deg)}70%{opacity:1;transform:scale(1.18) rotate(0)}100%{opacity:1;transform:scale(1)}}
@media (prefers-reduced-motion: no-preference){
 @supports (animation-timeline: view()){
  /* cards lift in one after another */
  .quote{animation:hr-rise both;animation-timeline:view();animation-range: entry 21% cover 34%}
  .quote:nth-child(2){animation-range: entry 26% cover 39%}
  .quote:nth-child(3){animation-range: entry 31% cover 44%}
  .quote:nth-child(4){animation-range: entry 36% cover 49%}
  /* the quote itself settles a beat after its card */
  .quote-text{animation:hr-fade-up both;animation-timeline:view();animation-range: entry 25% cover 38%}
  /* stars pop in sequence, which is what makes a rating feel earned */
  .stars .star,.stars>*{animation:hr-star-pop both;animation-timeline:view();animation-range: entry 23% cover 30%}
  .stars>*:nth-child(2){animation-range: entry 24% cover 31%}
  .stars>*:nth-child(3){animation-range: entry 25% cover 32%}
  .stars>*:nth-child(4){animation-range: entry 26% cover 33%}
  .stars>*:nth-child(5){animation-range: entry 27% cover 34%}
 }
}
/* HR-QUOTES-END */
/* HR-STEPARROW-START  1-2-3 connectors */
/* steps stack vertically on mobile, so the connector has to turn with them */
@keyframes hr-nudge-d{0%,100%{transform:rotate(90deg) translateX(0)}50%{transform:rotate(90deg) translateX(8px)}}
@media (max-width:767px){
 .step-arrow{transform:rotate(90deg);transform-origin:center;
  margin:6px auto;align-self:center;display:block}
}
@media (max-width:767px) and (prefers-reduced-motion: no-preference){
 .step-arrow{animation:hr-nudge-d 1.4s ease-in-out infinite}
}
@media (max-width:767px) and (prefers-reduced-motion: reduce){
 .step-arrow{animation:none;transform:rotate(90deg)}
}
/* HR-STEPARROW-END *//* End custom CSS */