/* Maison Luxe x Elementor (Free). Applies the theme's look to Elementor widgets via CSS classes
   (Advanced > CSS Classes), so every widget stays fully editable in Elementor. */
.elementor-section .elementor-container{max-width:var(--w,1240px)}
.elementor-section.elementor-section-full_width>.elementor-container{max-width:none}
.elementor-widget-container{max-width:100%}

/* Headings */
.mlx-e-display .elementor-heading-title,.mlx-e-band .elementor-heading-title{font-family:var(--f-head);font-weight:400;font-size:calc(clamp(2rem,5.4vw,3.8rem)*var(--h-scale,1));line-height:1.08;letter-spacing:var(--h-track,.02em);text-transform:var(--h-case,uppercase);color:inherit}
.mlx-e-band .elementor-heading-title{font-size:calc(clamp(1.5rem,4vw,2.6rem)*var(--h-scale,1))}
.mlx-e-hero .elementor-heading-title{font-size:calc(clamp(2.4rem,6.6vw,5.4rem)*var(--h-scale,1));line-height:1.04;max-width:13em}
.mlx-e-label .elementor-heading-title{font-family:var(--f-body);font-size:.74rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--c-muted);line-height:1.4}
.mlx-e-giant .elementor-heading-title{font-family:var(--f-head);font-size:clamp(8rem,26vw,18rem);line-height:.82;font-weight:400;color:#111;margin:-.05em 0 .05em}
.mlx-e-text,.mlx-e-text p,.mlx-e-text .elementor-widget-container{font-family:var(--f-body);font-size:1rem;line-height:1.75;color:var(--c-text)}
.mlx-e-lead,.mlx-e-lead p{font-family:var(--f-body);font-size:clamp(1rem,1.5vw,1.2rem);line-height:1.6;max-width:36em}
.mlx-e-lead[class*="elementor-align-center"] .elementor-widget-container,.elementor-widget-text-editor.mlx-e-lead[style*="center"] p{margin-inline:auto}
.mlx-e-on-dark .elementor-heading-title,.mlx-e-on-dark,.mlx-e-on-dark p{color:#fff}
.mlx-e-label.mlx-e-on-dark .elementor-heading-title{color:rgba(255,255,255,.8)}
.elementor-section.elementor-top-section>.elementor-container>.elementor-column>.elementor-widget-wrap>.elementor-widget:not(:last-child){margin-bottom:20px}

/* Buttons */
.mlx-e-btn .elementor-button{display:inline-flex;align-items:center;min-height:50px;padding:.85em 2.2em;border:1px solid currentColor;border-radius:999px;background:transparent;color:var(--c-text);font:500 .75rem/1 var(--f-body);letter-spacing:.2em;text-transform:uppercase;transition:background .35s,color .35s,border-color .35s}
.mlx-e-btn .elementor-button:hover{background:var(--c-secondary);border-color:var(--c-secondary);color:#fff}
.mlx-e-btn-light .elementor-button{color:#fff;border-color:rgba(255,255,255,.85)}
.mlx-e-btn-light .elementor-button:hover{background:#fff;border-color:#fff;color:#111}

/* Images */
.mlx-e-img img{width:100%;height:auto;display:block}
.mlx-e-tall img{aspect-ratio:4/5;object-fit:cover;max-height:80vh}
.mlx-e-photo{min-height:60vh}

/* Cards: services */
.mlx-e-card .elementor-image-box-wrapper{text-align:left}
.mlx-e-card .elementor-image-box-img{display:block;width:100%!important;max-width:100%;margin:0 0 1.2rem!important;overflow:hidden}
.mlx-e-card .elementor-image-box-wrapper{display:block}
.mlx-e-card .elementor-image-box-img img{aspect-ratio:4/5;object-fit:cover;width:100%;transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}
.mlx-e-card:hover .elementor-image-box-img img{transform:scale(1.05)}
.mlx-e-card .elementor-image-box-title{font-family:var(--f-head);font-size:1.7rem;font-weight:400;margin:0 0 .4rem;text-transform:uppercase;letter-spacing:.04em}
.mlx-e-card .elementor-image-box-description{font-size:.92rem;color:var(--c-muted);line-height:1.65}

/* Steps */
.mlx-e-step .elementor-icon-box-wrapper{text-align:left}
.mlx-e-step .elementor-icon{font-size:30px;color:var(--c-accent)}
.mlx-e-step .elementor-icon-box-title{font-family:var(--f-head);font-size:1.6rem;font-weight:400;margin:.7rem 0 .4rem}
.mlx-e-step .elementor-icon-box-description{font-size:.92rem;color:var(--c-muted);line-height:1.65}

/* Stats */
.mlx-e-stat{text-align:center;border-top:1px solid rgba(0,0,0,.15);padding-top:24px}
.mlx-e-stat .elementor-counter-number-wrapper{font-family:var(--f-head);font-size:clamp(2.6rem,6vw,4.4rem);font-weight:400;line-height:1;color:var(--c-text)}
.mlx-e-stat .elementor-counter-title{font-family:var(--f-body);font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--c-muted);margin-top:.6rem}

/* Testimonials */
.mlx-e-quote .elementor-testimonial-content{font-family:var(--f-head);font-size:1.35rem;line-height:1.4;color:#fff;font-style:italic}
.mlx-e-quote .elementor-testimonial-name{font-family:var(--f-body);font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;color:#fff;font-weight:500;margin-top:1rem}
.mlx-e-quote .elementor-testimonial-job{font-size:.8rem;color:rgba(255,255,255,.65)}
.mlx-e-quote .elementor-testimonial-wrapper{border-top:1px solid rgba(255,255,255,.25);padding-top:1.6rem}

/* Icon lists, FAQ */
.mlx-e-list .elementor-icon-list-icon i{color:var(--c-accent);font-size:15px}
.mlx-e-list .elementor-icon-list-text{font-family:var(--f-body);font-size:.98rem;color:var(--c-text)}
.mlx-e-list .elementor-icon-list-item{padding:.35rem 0}
.mlx-e-faq .elementor-accordion-item{border:0;border-bottom:1px solid rgba(0,0,0,.15)}
.mlx-e-faq .elementor-tab-title{padding:1.3rem 0;border:0}
.mlx-e-faq .elementor-tab-title a{font-family:var(--f-head);font-size:1.45rem;font-weight:400;color:var(--c-text)}
.mlx-e-faq .elementor-tab-content{border:0;padding:0 0 1.4rem;font-size:.96rem;line-height:1.75;color:var(--c-muted)}
.mlx-e-faq .elementor-accordion-icon{color:var(--c-accent)}

/* Embedded theme blocks */
.elementor-widget-shortcode .mlx-grid{width:100%}
.elementor-widget-html .mlx-marquee{padding:0}
@media(max-width:767px){
	.mlx-e-card .elementor-image-box-img img{aspect-ratio:3/2}
	.elementor-column{width:100%}
}

/* ---------- Responsive ---------- */
.elementor-section.mlx-e-photo{background-attachment:fixed}
@media(max-width:1024px){
	.elementor-section.mlx-e-photo{background-attachment:scroll!important}
	.mlx-e-hero .elementor-heading-title{max-width:none}
	.mlx-e-giant .elementor-heading-title{font-size:clamp(6rem,22vw,12rem)}
	.mlx-e-tall img{max-height:70vh}
}
@media(max-width:767px){
	.elementor-widget-wrap>.elementor-element{max-width:100%}
	.mlx-e-display .elementor-heading-title{font-size:calc(clamp(1.7rem,8vw,2.4rem)*var(--h-scale,1))}
	.mlx-e-hero .elementor-heading-title{font-size:calc(clamp(2.1rem,10vw,3rem)*var(--h-scale,1))}
	.mlx-e-band .elementor-heading-title{font-size:calc(clamp(1.3rem,6vw,1.8rem)*var(--h-scale,1))}
	.mlx-e-btn .elementor-button{min-height:48px;padding:.8em 1.8em}
	.mlx-e-stat .elementor-counter-number-wrapper{font-size:clamp(2.2rem,11vw,3rem)}
	.mlx-e-faq .elementor-tab-title a{font-size:1.2rem}
	.mlx-e-tall img{aspect-ratio:4/5;max-height:none}
	.mlx-e-card .elementor-image-box-title{font-size:1.45rem}
}
.mlx-form,.mlx-form *{max-width:100%}
.elementor-column,.elementor-widget-wrap,.elementor-widget,.elementor-widget-container{min-width:0}
.elementor-widget-html .mlx-marquee{max-width:100%;contain:paint}
.elementor-widget-shortcode,.elementor-widget-shortcode .elementor-widget-container{overflow-wrap:anywhere}
.mlx-e-list .elementor-icon-list-text{overflow-wrap:anywhere;min-width:0}
.mlx-e-list .elementor-icon-list-item{align-items:flex-start}
.mlx-e-display .elementor-heading-title,.mlx-e-hero .elementor-heading-title,.mlx-e-band .elementor-heading-title{overflow-wrap:anywhere}
@media(max-width:400px){.mlx-e-hero .elementor-heading-title{font-size:calc(clamp(1.8rem,9vw,2.4rem)*var(--h-scale,1));letter-spacing:.01em}}
