/* Layout bridge for the native Elementor containers and widgets. */
.joy-elementor-page .joy-main{padding-bottom:0}
.elementor .e-con{--container-default-padding:0;--padding-top:0;--padding-bottom:0;--padding-left:0;--padding-right:0;--widgets-spacing:0px;--widgets-spacing-row:0px;--widgets-spacing-column:0px;min-width:0}
.elementor .elementor-widget{min-width:0}
.elementor .elementor-heading-title{color:inherit}
.elementor .elementor-widget-text-editor{color:inherit;font-family:inherit}
.elementor .joy-section{margin:0 auto 6rem;padding:0 1rem;max-width:64rem;width:100%}
.elementor .joy-hero{text-align:center;align-items:center}
.elementor .joy-hero>.elementor-widget{width:100%}
.elementor .joy-proof{width:fit-content;max-width:100%;padding:.5rem 1.25rem;margin:0 auto 2.25rem;gap:.75rem;border-radius:999px}
.elementor .joy-proof>.elementor-widget-text-editor{width:auto}
.elementor .joy-proof p{margin:0}
.elementor .joy-avatars{width:auto;flex-shrink:0;gap:0}
.elementor .joy-avatars .elementor-widget-image{width:1.5rem;margin-left:-.375rem!important}
.elementor .joy-avatars .elementor-widget-image:first-child{margin-left:0!important}
.elementor .joy-avatars img{display:block;border-radius:50%}
.elementor .joy-presentation{max-width:56rem;width:100%;padding:.625rem;margin:1.5rem auto 1.5rem;position:relative;border-radius:1rem}
.elementor .joy-hero .joy-intro{margin:1.25rem auto 0!important}
.elementor .joy-poster-widget{border-radius:.75rem;overflow:hidden;border:1px solid #ffffff0d}
.elementor .joy-poster-widget a{position:relative;display:block;width:100%;max-width:100%}
.elementor .joy-poster-widget img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;filter:brightness(.7)}
.elementor .joy-poster-widget a::before{content:"";position:absolute;z-index:1;top:50%;left:50%;transform:translate(-50%,-50%);width:5rem;height:5rem;background:var(--joy-button-gradient);border-radius:50%;box-shadow:0 8px 30px -8px #9869b5cc}
.elementor .joy-poster-widget a::after{content:"";position:absolute;z-index:2;top:50%;left:50%;transform:translate(-35%,-50%);border-top:.875rem solid transparent;border-bottom:.875rem solid transparent;border-left:1.4rem solid #fff}
.elementor .joy-caption-widget{position:absolute;left:1.6rem;bottom:1.35rem;pointer-events:none;width:auto}
.elementor .joy-caption{position:static;margin:0}
.elementor .joy-buttons{margin-top:2.5rem;align-items:center;gap:1rem}
.elementor .joy-buttons .elementor-widget-button{width:auto}
.elementor .joy-hero>.joy-buttons{margin-top:0}
.elementor .joy-button-widget .elementor-button{display:inline-flex;align-items:center;justify-content:center;min-height:4rem;padding:.8rem 3.5rem;background:var(--joy-button-gradient);border:0;border-radius:.75rem;color:#fff;font-family:inherit;font-size:1.125rem;font-weight:700;line-height:1.5;letter-spacing:-.025em;box-shadow:0 8px 30px -8px #9869b599;transition:background .2s,transform .2s}
.elementor .joy-button-widget .elementor-button:hover{background:var(--joy-button-hover);transform:translateY(-1px)}
.elementor .joy-button-widget span{font-size:inherit}
.elementor .joy-trusted{max-width:none;padding:0}
.elementor .joy-trusted-videos{max-width:64rem;padding:0 1rem;overflow:visible;scroll-margin-top:2rem}
.elementor .joy-trusted-video-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;width:100%;align-items:start}
.elementor .joy-trusted-video{width:100%;min-width:0;border:1px solid #e3c6e62e;border-radius:1rem;overflow:hidden;background:#10071b;box-shadow:0 16px 40px -24px #9869b566}
.joy-trusted-video .elementor-wrapper{border-radius:inherit}
.joy-trusted-video-placeholder{aspect-ratio:9/16;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.65rem;padding:1rem;text-align:center;background:radial-gradient(ellipse at 50% 25%,#77509655,transparent 70%),linear-gradient(155deg,#251235,#10071b 75%)}
.joy-trusted-video-symbol{display:grid;place-items:center;width:3.75rem;height:3.75rem;margin-bottom:.5rem;border:1px solid #e3c6e638;border-radius:50%;background:#e3c6e60c;color:#e3c6e6}
.joy-trusted-video-symbol svg{width:1.75rem;height:1.75rem}
.joy-section .joy-trusted-video-placeholder p{margin:0;color:#f6deef;font-weight:600;font-size:1rem;line-height:1.4}
.joy-trusted-video-soon{color:var(--joy-muted);font-size:.8125rem;line-height:1.4}
@media(max-width:767px){.elementor .joy-trusted-video-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.joy-trusted-video-placeholder{padding:.75rem}.joy-trusted-video-symbol{width:3rem;height:3rem}}
.elementor .joy-marquee-viewport{overflow:hidden}
.elementor .joy-marquee{width:max-content;max-width:none;gap:1rem;padding:.5rem;flex-wrap:nowrap}
.elementor .joy-person{width:auto;max-width:none;padding:.5rem 1.25rem .5rem .5rem;gap:.75rem;flex-shrink:0;border-radius:999px}
.elementor .joy-person .elementor-widget-image{width:2.5rem;flex-shrink:0}
.elementor .joy-person .elementor-widget-text-editor{width:auto}
.elementor .joy-grid{display:grid;gap:var(--gap,1rem);margin-top:3rem;grid-template-columns:var(--e-con-grid-template-columns);grid-template-rows:auto}
.elementor .joy-card{padding:2rem;border-radius:1rem}
.elementor .joy-person img,.elementor .joy-author img{border-radius:50%}
.elementor .joy-story img{border-radius:.75rem;aspect-ratio:1/1;object-fit:contain;background:#000}
.elementor .joy-story-lifestyle img{aspect-ratio:auto;height:auto;width:100%;background:transparent}
.elementor .joy-story.joy-story-lifestyle{align-items:start}
.elementor .joy-story-text .elementor-widget-text-editor p+p{margin-top:1rem}
.elementor .joy-card h3{line-height:1.35}
.elementor .joy-pains{margin:0}
.elementor .joy-prose>.elementor-widget+.elementor-widget{margin-top:1rem!important}
.elementor .joy-phase .joy-week{margin:0}
.elementor .joy-story{display:grid;grid-template-columns:var(--e-con-grid-template-columns,minmax(0,1.1fr) minmax(0,1.4fr));align-items:center;padding:2.5rem;gap:var(--gap,3rem)}
.elementor .joy-story-text{width:100%;min-width:0}
.elementor .joy-story.joy-story-no-photo{grid-template-columns:minmax(0,1fr)}
.elementor .joy-story-no-photo .joy-story-text{max-width:44rem;margin-inline:auto}
.elementor .joy-story-text>.elementor-widget+.elementor-widget{margin-top:1rem!important}
.elementor .joy-story-text h2{margin:0;line-height:1.15}
.elementor .joy-story-text p{margin:0}
.elementor .joy-testimonial{padding:1.75rem}
.elementor .joy-testimonial>.elementor-widget-text-editor{flex:1}
.elementor .joy-author{margin-top:1.5rem;padding-top:1.25rem;gap:.75rem}
.elementor .joy-author>.elementor-widget-image{width:2.75rem;flex-shrink:0}
.elementor .joy-author-text{width:auto}
.elementor .joy-faq{max-width:64rem;display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.65fr);gap:3rem;align-items:start;scroll-margin-top:2rem}
.elementor .joy-faq-intro{gap:1.25rem;width:100%;align-items:flex-start;padding-top:.5rem}
.elementor .joy-faq-intro h2{text-align:left;font-size:clamp(2rem,3.6vw,3rem);line-height:1.12;letter-spacing:-.035em}
.joy-faq-kicker{display:inline-flex;align-items:center;gap:.5rem;color:#e3c6e6!important;border:1px solid #e3c6e629;background:#7750961c;border-radius:999px;padding:.45rem .8rem;font-size:.6875rem;font-weight:600;letter-spacing:.1em}
.joy-faq-kicker::before{content:"";width:.375rem;height:.375rem;border-radius:50%;background:#d7b4e2;box-shadow:0 0 12px #d7b4e266}
.joy-faq-description{max-width:20rem;font-size:1rem;line-height:1.7;color:var(--joy-muted)}
.elementor .joy-faq-list{margin-top:0!important;width:100%;--n-accordion-title-font-size:1rem;--n-accordion-title-normal-color:#f6deef;--n-accordion-title-hover-color:#f6deef;--n-accordion-title-active-color:#f6deef;--n-accordion-item-title-space-between:0;--n-accordion-item-title-distance-from-content:0}
.elementor .joy-faq .e-n-accordion{display:flex;flex-direction:column;gap:.875rem;counter-reset:joy-question}
.elementor .joy-faq details{counter-increment:joy-question;border:1px solid #e3c6e624;border-radius:1.125rem;background:linear-gradient(120deg,#251632aa,#100b18e6);box-shadow:0 8px 24px -20px #0009;transition:border-color .2s,background .2s,box-shadow .2s;overflow:clip}
.elementor .joy-faq details:hover{border-color:#b085c666}
.elementor .joy-faq details[open]{border-color:#b085c688;background:radial-gradient(ellipse at 0 0,#77509638,transparent 75%),#160d22;box-shadow:0 12px 36px -24px #9869b588}
.elementor .joy-faq summary{display:flex;align-items:center;justify-content:flex-start;gap:1rem;min-height:5.5rem;padding:1.25rem 4.5rem 1.25rem 1.25rem;border:0;background:transparent;line-height:1.5;color:#f6deef;list-style:none}
.elementor .joy-faq summary::before{content:counter(joy-question,decimal-leading-zero);position:static;display:grid;place-items:center;flex:0 0 2rem;width:2rem;height:2rem;border-radius:.625rem;background:#e3c6e609;color:#bfa4cd;font-size:.75rem;font-weight:600;font-variant-numeric:tabular-nums;letter-spacing:.02em}
.elementor .joy-faq summary::after{content:"";position:absolute;right:1.25rem;top:50%;width:2.125rem;height:2.125rem;transform:translateY(-50%);border:1px solid #e3c6e629;border-radius:50%;background:linear-gradient(#d7b4e2,#d7b4e2) center/12px 1.5px no-repeat,linear-gradient(#d7b4e2,#d7b4e2) center/1.5px 12px no-repeat,#e3c6e606;transition:border-color .2s,background-color .2s}
.elementor .joy-faq details[open] summary::after{transform:translateY(-50%);border-color:#d7b4e257;background:linear-gradient(#f6deef,#f6deef) center/12px 1.5px no-repeat,#77509655}
.elementor .joy-faq summary:focus-visible{outline:2px solid #d7b4e2;outline-offset:-4px;border-radius:1rem}
.elementor .joy-faq .e-n-accordion-item-title-header{flex:1;min-width:0}
.elementor .joy-faq .e-n-accordion-item-title-text{font-size:1rem;font-weight:600;line-height:1.5;letter-spacing:-.015em}
.elementor .joy-faq .e-n-accordion-item-title-icon{display:none}
.elementor .joy-faq-answer{padding:0 4.5rem 1.5rem 4.25rem;border:0;background:transparent}
.elementor .joy-faq-answer p{margin:0;color:#c5b9ce;font-size:.9375rem;line-height:1.8}
@media(max-width:900px){.elementor .joy-faq{grid-template-columns:1fr;gap:2rem;max-width:48rem}.elementor .joy-faq-intro{align-items:center;padding:0;gap:1rem}.elementor .joy-faq-intro h2{text-align:center}.joy-faq-description{text-align:center;max-width:27rem}}
@media(max-width:639px){.elementor .joy-faq summary{gap:.75rem;padding:1.1rem 3.5rem 1.1rem 1rem;min-height:5.25rem}.elementor .joy-faq summary::before{flex-basis:1.625rem;width:1.625rem;height:1.625rem;font-size:.6875rem}.elementor .joy-faq summary::after{right:.875rem;width:1.875rem;height:1.875rem}.elementor .joy-faq .e-n-accordion-item-title-text{font-size:.9375rem}.elementor .joy-faq-answer{padding:0 1.1rem 1.25rem}.elementor .joy-faq-answer p{font-size:.875rem}.elementor .joy-faq-intro h2{font-size:2rem}}
@media(prefers-reduced-motion:reduce){.elementor .joy-faq details,.elementor .joy-faq summary::after{transition:none}}
.elementor .joy-apply{max-width:42rem;margin-bottom:0}
.elementor .joy-elementor-header{position:fixed;inset:auto 0 calc(1rem + env(safe-area-inset-bottom,0px));z-index:30;display:flex;align-items:center;width:100%;pointer-events:none}
@media(min-width:768px){.elementor .joy-elementor-header{left:auto;right:calc(1rem + env(safe-area-inset-right,0px));width:auto}}
.elementor .joy-header-inner{width:auto;gap:.75rem;pointer-events:auto;flex-wrap:nowrap}
.elementor .joy-header-inner>.elementor-widget{width:auto}
.elementor .joy-header .elementor-button{min-height:3rem;padding:.65rem 2rem;font-size:1rem}
.elementor .joy-brand{display:inline-block}
.elementor .joy-elementor-footer{display:flex;text-align:center;align-items:center;margin-top:5rem;padding:2.5rem 1rem;border-top:1px solid #ffffff0d}
.elementor .joy-elementor-footer .elementor-widget{width:100%}
.admin-bar .elementor .joy-elementor-header{top:auto}
@media(max-width:767px){.elementor .joy-section{margin-bottom:4rem}.elementor .joy-proof{padding:.5rem 1rem;gap:.625rem;margin-bottom:1.5rem}.elementor .joy-presentation{max-width:95%;padding:.375rem;margin:1.25rem auto 1.25rem}.elementor .joy-poster-widget a::before{width:4rem;height:4rem}.elementor .joy-caption-widget{left:1.1rem;bottom:1.1rem}.elementor .joy-button-widget .elementor-button{min-height:3.5rem;padding:.8rem 2rem;font-size:1rem}.elementor .joy-hero .joy-buttons,.elementor .joy-hero .elementor-widget-button,.elementor .joy-hero .elementor-button{width:100%}.elementor .joy-card{padding:1.5rem}.elementor .joy-story{padding:1.5rem;gap:2rem}.elementor .joy-apply{margin-bottom:0}.elementor .joy-elementor-header{top:auto;bottom:calc(.75rem + env(safe-area-inset-bottom,0px))}.elementor .joy-header .elementor-button{min-height:2.75rem;padding:.6rem 1.5rem;font-size:.875rem}.admin-bar .elementor .joy-elementor-header{top:auto}}
@media(max-width:639px){.elementor .joy-brand-widget{display:none}.elementor .joy-proof{padding:.5rem .75rem}}


.elementor .joy-header-inner{padding:.5rem;border-radius:1.1rem}.elementor .joy-header .elementor-button{min-height:3.25rem;border:1px solid #e3c6e647}
@media(max-width:639px){.elementor .joy-elementor-header{padding:0 1rem}.elementor .joy-header-inner{width:100%;max-width:24rem;gap:0}.elementor .joy-header-inner>.joy-button-widget{width:100%;flex:1}.elementor .joy-header .elementor-button{width:100%;min-height:3.25rem;font-size:1rem}}

/* Five testimonials in one row on desktop; retain the mobile carousel. */
@media(min-width:1024px){.elementor .joy-trusted-video-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}
