.elementor-kit-7{--e-global-color-primary:#FFFFFF;--e-global-color-secondary:#FFFFFF;--e-global-color-text:#000000;--e-global-color-accent:#FF8FC1;--e-global-color-bbc4384:#E285B9;--e-global-color-78146f2:#F6AECF;--e-global-typography-primary-font-family:"sloop-script";--e-global-typography-primary-font-size:35px;--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-family:"glacial-indifference";--e-global-typography-secondary-font-size:16px;--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"Glacial Indifference";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Playfair Display";--e-global-typography-accent-font-weight:500;background-color:#FFFFFF;}.elementor-kit-7 button,.elementor-kit-7 input[type="button"],.elementor-kit-7 input[type="submit"],.elementor-kit-7 .elementor-button{background-color:#E9BFC6;color:#111111;}.elementor-kit-7 button:hover,.elementor-kit-7 button:focus,.elementor-kit-7 input[type="button"]:hover,.elementor-kit-7 input[type="button"]:focus,.elementor-kit-7 input[type="submit"]:hover,.elementor-kit-7 input[type="submit"]:focus,.elementor-kit-7 .elementor-button:hover,.elementor-kit-7 .elementor-button:focus{background-color:#C47A85;color:#111111;}.elementor-kit-7 e-page-transition{background-color:#FFBC7D;}.elementor-kit-7 h1{color:#2A2A2A;}.elementor-kit-7 h2{color:#6F6F6F;font-family:"Playfair Display", Sans-serif;font-size:14px;}.elementor-kit-7 h3{color:#FFFFFF;}.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);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@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;}}/* Start custom CSS *//* ==========================================
   GLO ARTISTRY — RESPONSIVE BASELINE SYSTEM
   Tuned for 14" MacBook Pro (1512×982 default)
   Scales elegantly across 1280–1920px screens
========================================== */

/* --- Global browser normalization --- */
html, body {
  margin: 0;
  padding: 0;
  -webkit-text-size-adjust: 100%;
  scroll-behavior: smooth;
  overflow-x: clip; /* Prevents horizontal scroll without vertical artifacts */
}

/* --- Desktop layout baseline --- */
html, body {
  min-width: 1280px; /* keeps integrity on smaller laptops */
}

/* --- Global zoom consistency for Safari/Chrome --- */
html {
  zoom: 100%;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* =========================================================
   RESPONSIVE TYPOGRAPHY — Fluid between 1280px–1920px
   Preserves 1800px proportions while scaling naturally
========================================================= */
:root {
  --lux-h1: clamp(34px, 2.8vw, 56px);
  --lux-h2: clamp(26px, 2.1vw, 44px);
  --lux-body: clamp(15px, 0.9vw, 18px);
}

h1 { font-size: var(--lux-h1); }
h2 { font-size: var(--lux-h2); }
body, p, li { font-size: var(--lux-body); line-height: 1.55; }

/* =========================================================
   LAYOUT WIDTH CONTROL — Elegant Centered Structure
========================================================= */
.elementor-section.elementor-section-boxed > .elementor-container {
  max-width: 1600px; /* your luxury-wide baseline */
  padding-left: 40px;
  padding-right: 40px;
}

/* =========================================================
   RESPONSIVE CALIBRATION — Key Device Ranges
========================================================= */

/* --- Large desktop monitors (≥1800px) --- */
@media (min-width: 1800px) {
  .elementor-section.elementor-section-boxed > .elementor-container {
    max-width: 1700px;
  }
  body { font-size: 17px; }
}

/* --- MacBook range: 1300px–1550px (Air / 14" Pro / 16" Pro) --- */
@media (max-width: 1550px) and (min-width: 1300px) {
  section, .elementor-section {
    padding-top: 70px !important;
    padding-bottom: 70px !important;
  }
  .elementor-container { gap: 36px !important; }

  /* Adjust hero/banners slightly for smaller retina widths */
  .lux-hero .elementor-widget-image img,
  .lux-banner .elementor-widget-image img {
    object-position: center 43% !important;
    transform: scale(1.012);
  }

  .lux-featured-logos img,
  .site-header img {
    transform: scale(0.97);
  }
}

/* --- Compact laptops (≤1299px) --- */
@media (max-width: 1299px) and (min-width: 1025px) {
  html, body { min-width: 100%; }
  .elementor-section.elementor-section-boxed > .elementor-container {
    max-width: 1400px;
    padding-left: 30px;
    padding-right: 30px;
  }
  .lux-hero .elementor-widget-image img {
    object-position: center 45% !important;
  }
}

/* --- Tablets & below --- */
@media (max-width: 1024px) {
  html, body {
    min-width: auto;
    overflow-x: hidden !important;
  }
  .elementor-section.elementor-section-boxed > .elementor-container {
    max-width: 100%;
    padding-left: 20px;
    padding-right: 20px;
  }
}

/* --- Mobile refinement --- */
@media (max-width: 767px) {
  html, body { overflow-x: hidden !important; }
  section, .elementor-section { padding-top: 60px !important; padding-bottom: 60px !important; }
}

/* ==========================================================
   GLOBAL FONT LOADING FIX — For All Uploaded Custom Fonts
   Ensures crisp rendering, smooth load, and mobile stability
========================================================== */

/* Improve how ALL custom fonts render across browsers */
html, body {
  -webkit-font-smoothing: antialiased !important;
  -moz-osx-font-smoothing: grayscale !important;
  text-rendering: optimizeLegibility !important;
  font-display: swap !important; /* prevents FOIT (Invisible text) */
}

/* Force Elementor widgets to honor custom fonts */
.elementor-widget-heading,
.elementor-widget-text-editor,
.elementor-widget-button,
.elementor-widget-theme-post-title,
.elementor-widget-theme-site-title {
  font-feature-settings: "kern", "liga", "clig", "calt" !important;
  font-kerning: normal !important;
  font-variant-ligatures: normal !important;
}

/* Ensure SCRIPT FONTS never get cut off */
h1, h2, h3, h4, h5, h6 {
  overflow: visible !important;
  line-height: 1.2em !important;
}

/* Device-specific fixes */
@media (max-width: 767px) {
  body {
    -webkit-text-size-adjust: 100% !important; /* prevents iOS font zoom bug */
  }
}

/* ==========================================
   LUXURY SMOOTH IMAGE HOVER (Refined Version)
   Smooth upscale only — no opacity changes
   ========================================== */

.lux-hover-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition:
    transform 0.8s cubic-bezier(0.25, 0.1, 0.25, 1),
    box-shadow 0.8s ease;
  will-change: transform, box-shadow;
  backface-visibility: hidden;
  transform-origin: center center;
}

.lux-hover-img:hover img {
  transform: scale(1.08);
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.08);
}

.lux-hover-bg {
  position: relative;
  overflow: hidden;
  background-position: center center;
  background-size: cover;
  background-repeat: no-repeat;
  transition: transform 0.9s cubic-bezier(0.25, 0.1, 0.25, 1),
              opacity 0.6s ease;
  will-change: transform;
  backface-visibility: hidden;
  transform-origin: center center;
}

/* === Hover Effect === */
.lux-hover-bg:hover {
  transform: scale(1.05);
  opacity: 0.98;
}


/* === Container cleanup === */
.lux-hover-img {
  overflow: hidden;
  border-radius: inherit;
}

/* === Responsive refinement (mobile) === */
@media (max-width: 767px) {
  .lux-hover-img:hover img {
    transform: scale(1.03);
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.1);
  }
}



/* Override clipping only inside marquee sections */
.lux-marquee-section .elementor-container,
.lux-marquee-section .e-con {
  overflow-x: visible !important;
  max-width: none !important; /* allows animation to flow naturally */
}

/* ==========================================
   CLEAN GLOBAL FIX — No Left/Right Scroll
   (Prevents horizontal overflow only)
========================================== */

html, body {
  overflow-x: hidden !important;
  width: 100%;
}

/* Limit only top-level layout containers */
.elementor-section,
.elementor-container,
.e-con {
  max-width: 100vw !important;
  overflow-x: clip !important; /* 'clip' hides overflow without scrollbars */
}

/* Optional safeguard for animations or parallax elements */
[class*="elementor-motion"] {
  overflow-x: clip !important;
}

/* ==========================================
   SLIM DEFAULT SCROLLBAR
   (Keeps system color, just thinner)
========================================== */
::-webkit-scrollbar {
  width: 6px;      /* slim vertical bar */
  height: 6px;     /* slim horizontal bar */
}

/* Optional: make edges smoother */
::-webkit-scrollbar-thumb {
  border-radius: 10px;
}

/* Firefox support */
* {
  scrollbar-width: thin; /* makes it slim but keeps default colors */
}

.lux-marquee-wrap {
  position: relative;
  overflow: hidden;
  width: 100%;
  background: transparent;
  white-space: nowrap;
}

.lux-marquee-track {
  display: inline-block;
  white-space: nowrap;
  animation: luxMarquee 45s linear infinite;
}

.lux-marquee-track span {
  font-family: "Relationship of Melodrame", serif; /* your custom font */
  font-size: 92px; /* adjust in Elementor if needed */
  font-weight: 100;
  color: #FF8FC1; /* your exact brand pink */
  letter-spacing: 0.06em;
  line-height: 0.95;
  user-select: none;
}

/* === Animation === */
@keyframes luxMarquee {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-50%);
  }
}

/* =======================================================
   LUX MARQUEE ALT — Playfair Display + Smooth Motion
======================================================= */

.lux-marquee-alt {
  width: 100vw;
  overflow: hidden;
  position: relative;
  background: #fff;
  padding: 14px 0;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
}

.lux-marquee-alt-track {
  display: flex;
  white-space: nowrap;

  /* 🟣 NEW: smoother, slightly faster desktop glide */
  animation: luxMarqueeAlt 22s linear infinite;

  font-family: "Playfair Display", serif !important;
  font-size: 32px;
  letter-spacing: 0.08em;
  color: #FF8FC1;
  font-weight: 400;
  line-height: 1.3;
  text-transform: uppercase;

  will-change: transform;
}

/* 🔥 NEW: More fluid movement */
@keyframes luxMarqueeAlt {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-50%);
  }
}

/* spacing between repeated phrases */
.lux-marquee-alt-track span {
  display: inline-block;
  padding: 0 4rem;
  word-spacing: 0.25em;
  letter-spacing: 0.08em;
}


/* =======================================================
   MOBILE — Smooth, Quicker Glide (iPhone Optimized)
======================================================= */
@media (max-width: 767px) {
  .lux-marquee-alt-track {
    font-size: 26px !important;

    /* 🟣 NEW: 12s = faster + still readable, perfect for mobile */
    animation-duration: 12s !important;
  }
}


/* === SAFARI NORMALIZATION === */

/* 1. Ensure Safari respects modern flex + grid gaps */
@supports (-webkit-touch-callout: none) {
  html, body {
    -webkit-text-size-adjust: 100%;
    -webkit-font-smoothing: antialiased;
    scroll-behavior: smooth;
    overflow-x: hidden !important;
  }

  /* 2. Prevent Safari from mis-rendering transform layers */
  .elementor,
  .elementor-section,
  .e-con {
    transform: none !important;
    will-change: auto !important;
  }

  /* 3. Fix motion-fx and parallax inconsistencies */
  [data-settings*="motion_fx"],
  [data-settings*="background_motion_fx"] {
    transform: none !important;
    background-attachment: scroll !important;
  }

  /* 4. Smooth out transitions + animations */
  * {
    -webkit-backface-visibility: hidden;
    -webkit-transform-style: preserve-3d;
  }
}

body, html, * {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* =====================================================
   GLOBAL FIX — Remove Underline Animation on All Buttons
===================================================== */
.elementor-button::after,
.elementor-button-link::after,
.lux-btn::after {
  content: none !important;
  display: none !important;
}

.elementor-button,
.elementor-button-link,
.lux-btn {
  text-decoration: none !important;
  border: none !important;
}

/* =====================================================
   LUX HOVER GROW — Butter-Smooth Scale Animation
   (Add class "lux-hover-grow" to any button)
===================================================== */
.lux-hover-grow {
  display: inline-block;
  text-decoration: none !important;
  transition:
    transform 0.6s cubic-bezier(0.25, 1, 0.3, 1),
    filter 0.6s cubic-bezier(0.25, 1, 0.3, 1);
  will-change: transform, filter;
  transform-origin: center center;
}

.lux-hover-grow:hover {
  transform: scale(1.05);
  filter: brightness(1.03);
  transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
}

.lux-breadcrumb {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 22px;
  font-family: "Glacial Indifference", sans-serif;
  font-size: 18px;
  font-weight: 400;
  letter-spacing: 0.03em;
  color: #E285B9;
  text-transform: uppercase;
  padding: 12px 0;
}

.lux-breadcrumb a {
  color: #E285B9;
  text-decoration: none;
  transition: color 0.3s ease;
}

.lux-breadcrumb a.active {
  font-weight: 500;
  color: #FF8FC1; /* your brand red */
}

.lux-breadcrumb a:hover {
  color: #FF8FC1;
}

.lux-breadcrumb span {
  opacity: 0.4;
  font-weight: 300;
}



/* =========================
   TABLET (≤1024px)
   ========================= */
@media (max-width: 1024px) {
  .lux-breadcrumb {
    justify-content: center;
    gap: 18px;
    font-size: 14px;
    margin-right: 0;
    padding: 10px 0;
  }
}

/* =========================
   MOBILE (≤767px)
   ========================= */
@media (max-width: 767px) {
  .lux-breadcrumb {
    justify-content: center;            /* center-align for smaller screens */
    gap: 10px;                          /* tighter spacing */
    font-size: 12.5px;                  /* smaller but readable */
    letter-spacing: 0.04em;
    text-align: center;
    padding: 8px 10px;                  /* breathing space inside container */
    margin: 0 auto;
    width: 100%;
    flex-wrap: wrap;                    /* gracefully wraps long breadcrumbs */
    white-space: normal;
  }

  .lux-breadcrumb a,
  .lux-breadcrumb span {
    line-height: 1.5;
  }

  /* Optional — soften separator look */
  .lux-breadcrumb span {
    opacity: 0.3;
    font-size: 13px;
  }
}

/* ============================================================
   GLO — Fix Breadcrumb Alignment on Mobile (Hello + Elementor)
   ============================================================ */
@media (max-width: 767px) {

  /* Force breadcrumb container to center properly */
  .lux-breadcrumb {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    align-items: center !important;
    text-align: center !important;
    gap: 8px !important;
    width: 100% !important;
    padding: 6px 12px !important;
  }

  /* Each breadcrumb item stays small & inline */
  .lux-breadcrumb a,
  .lux-breadcrumb span {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    white-space: nowrap !important;     /* prevents weird half-breaks */
    font-size: 12.5px !important;
    line-height: 1.4 !important;
  }

  /* Soft, elegant dividers */
  .lux-breadcrumb span {
    opacity: 0.35 !important;
    padding: 0 4px !important;
  }

  /* Allow 2nd line to center perfectly */
  .lux-breadcrumb br {
    display: none; /* safety — Elementor sometimes injects BR tags */
  }
}

/* === Universal fix for Elementor hosted videos === */
.elementor-video {
  object-fit: cover;
  width: 100%;
  height: 100%;
  background-color: #000; /* avoids flash before video loads */
}

/* Safari sometimes holds autoplay until interaction */
video[autoplay][muted] {
  playsinline: true;
  -webkit-playsinline: true;
}


/* ==============================================
   LUX SHIMMER PINK-WHITE — Brand Pink + White Shine
   ============================================== */
.lux-shimmer-pinkwhite {
  position: relative;
  display: inline-block;
  font-weight: 600;

  /* Base = your pink */
  color: #FF8FC1;

  /* White shine sweep blended on top */
  background: linear-gradient(
    120deg,
    #FF8FC1 0%,
    #FF8FC1 30%,
    #ffffff 50%,      /* white shine peak */
    #FF8FC1 70%,
    #FF8FC1 100%
  );

  background-size: 250% auto;

  /* transparent text clip for the shimmer */
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;

  /* smooth & luxurious motion */
  animation: luxPinkWhiteSweep 8s ease-in-out infinite;

  text-rendering: optimizeLegibility;
  letter-spacing: 0.02em;
}

/* === Shine sweep animation === */
@keyframes luxPinkWhiteSweep {
  0%   { background-position: -120% center; }
  50%  { background-position: 120% center; }
  100% { background-position: -120% center; }
}


/* ==============================================
   LUX SHIMMER METALLIC PINK — Pearl Shine on Pink
   (Brand pink base + white metallic sweep)
   ============================================== */
.lux-shimmer-metallic-pink {
  position: relative;
  display: inline-block;
  font-weight: 600;

  /* metallic gradient with pink base + white shine */
  background: linear-gradient(
    120deg,
    #FF8FC1 0%,
    #ffffff 20%,        /* highlight */
    #FF8FC1 40%,
    #ffffff 60%,        /* second highlight pass */
    #FF8FC1 100%
  );

  background-size: 250% auto;

  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;

  animation: luxMetallicPinkSweep 7s linear infinite;

  letter-spacing: 0.02em;
  text-rendering: optimizeLegibility;

  /* subtle metallic depth */
  filter: drop-shadow(0 2px 2px rgba(255, 143, 193, 0.20));
  isolation: isolate;
}

/* === Pearl gloss reflection overlay === */
.lux-shimmer-metallic-pink::after {
  content: "";
  position: absolute;
  inset: 0;

  background: linear-gradient(
    180deg,
    rgba(255, 255, 255, 0.85) 0%,  /* glossy top */
    rgba(255, 143, 193, 0.25) 45%, /* subtle pink mid-tone */
    rgba(255, 255, 255, 0.55) 100% /* soft white bottom */
  );

  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;

  opacity: 0.7;
  pointer-events: none;
}

/* === Pink metallic sweep === */
@keyframes luxMetallicPinkSweep {
  0%   { background-position: -100% center; }
  100% { background-position: 200% center; }
}


/* ============================================================
   MOBILE-SAFE LUX SHIMMER — Works on Safari / iPhone
   ============================================================ */
.lux-shimmer-pinkwhite {
  position: relative;
  display: inline-block;

  /* Force Safari to animate gradient text */
  -webkit-background-clip: text !important;
  background-clip: text !important;
  -webkit-text-fill-color: transparent !important;

  /* Brand pink + moving white shine */
  background-image: linear-gradient(
    120deg,
    #FF8FC1 0%,
    #FF8FC1 30%,
    #ffffff 50%,
    #FF8FC1 70%,
    #FF8FC1 100%
  );
  background-size: 250% auto;

  /* Safari: force layer rendering */
  will-change: background-position;
  transform: translateZ(0);
  backface-visibility: hidden;

  animation: luxPinkWhiteSweep 8s ease-in-out infinite;
  letter-spacing: 0.02em;
  text-rendering: optimizeLegibility;
}

/* Keyframes (Safest mobile format) */
@keyframes luxPinkWhiteSweep {
  0%   { background-position: -200% center; }
  50%  { background-position: 200% center; }
  100% { background-position: -200% center; }
}

/* Mobile-only reinforcement */
@media (max-width: 767px) {
  .lux-shimmer-pinkwhite {
    background-size: 300% auto !important;
    animation-duration: 9s !important;
  }
}

/* =======================================================
   LUX HORIZONTAL SCROLL — Mentorship Section (Squared)
   ======================================================= */

/* --- Base desktop/tablet layout --- */
.lux-hscroll {
  display: flex;
  justify-content: center;
  align-items: stretch;
  gap: 0;
  flex-wrap: nowrap;
  overflow: hidden;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0px 0px;
  text-align: center;
}

.lux-session-row {
  flex: 1;
  padding: 60px 30px;
  background: #FFF5F8;
  /* ⛔ Removed border-radius */
  position: relative;
  box-sizing: border-box;
}

.lux-section-intro h2 {
  color: #FFF;
  font-family: "Relationship of Melodrame", serif;
  font-weight: 500;
  font-style: italic;
  font-size: 22px;
  margin-bottom: 18px;
}

.lux-section-intro h2 {
  margin-bottom: 18px;
}

/* Paragraphs */
.lux-session-row p {
  margin: 0 auto;
  max-width: 90%;
  line-height: 1.6;
}

/* ============================================
   DESKTOP ONLY — Vertical Divider Line
============================================ */
@media (min-width: 768px) {
  .lux-session-row:not(:last-child)::after {
    content: "";
    position: absolute;
    right: 0;
    top: 10%;
    height: 80%;
    width: 1px;
    background: rgba(255, 255, 255, 0.85); /* soft white for pink background */
    z-index: 2;
  }
}


/* ============================================
   MOBILE — TRUE FULL-WIDTH CENTERED CARDS
   ============================================ */
@media (max-width: 767px) {

  .lux-hscroll {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;

    /* Full screen scroll */
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    scroll-behavior: smooth;

    /* Remove all spacing so no card peeks */
    gap: 0 !important;
    padding: 0 !important;

    width: 100%;
    max-width: 100vw;

    scrollbar-width: none;
    position: relative;

    /* This centers the card when snapping */
    justify-content: center;
  }

  .lux-hscroll::-webkit-scrollbar {
    display: none;
  }

  .lux-session-row {
    flex: 0 0 100% !important;      /* FULL width card */
    width: 100% !important;
    max-width: 100% !important;

    scroll-snap-align: center;      /* center card perfectly on swipe */

    background: #FF96CA !important;
    color: #fff !important;
    padding: 32px 24px 36px !important;
    border-radius: 0 !important;
    box-shadow: 0 6px 18px rgba(255,150,202,0.25);

    margin: 0 !important;           /* prevent micro shifts */
    text-align: left;
  }

  /* Ensure the first card starts perfectly centered */
  .lux-hscroll > .lux-session-row:first-child {
    scroll-margin-left: 0 !important;
  }
}

@media (max-width: 767px) {
  .lux-hscroll {
    scroll-snap-stop: always;
  }

  .lux-hscroll > .lux-session-row:first-child {
    scroll-snap-align: start !important;
  }
}






html {
  font-smooth: always;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}


/* ======================================================
   LUX HERO OVERLAY — MOBILE TEXT CUT-OFF FIX
====================================================== */
@media (max-width: 767px) {
  .lux-hero-overlay {
    justify-content: flex-end !important; /* lowers text toward bottom elegantly */
    padding-bottom: 14vh !important; /* space above fold */
    transform: none !important; /* cancels Elementor translateY motion */
    height: 100% !important;
  }

  .lux-hero-overlay h1,
  .lux-hero-overlay h2 {
    color: #fff !important;
    text-shadow: 0 2px 6px rgba(0,0,0,0.2);
    margin: 0;
    line-height: 1.15;
    overflow-wrap: break-word;
  }

  .lux-hero-overlay h1 {
    font-size: clamp(16px, 4.2vw, 20px);
    letter-spacing: 0.02em;
    font-weight: 400;
  }

  .lux-hero-overlay h2 {
    font-size: clamp(34px, 7vw, 44px);
    font-weight: 400;
  }
}










/* ============================================================
   GLO ARTISTRY — MOBILE TEXT (LONG PARAGRAPHS)
============================================================ */
@media (max-width: 767px) {

  .glo-mobile-text-long {
    max-width: 94% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center !important;
  }

  .glo-mobile-text-long p,
  .glo-mobile-text-long span,
  .glo-mobile-text-long div,
  .glo-mobile-text-long li {
    font-size: 16px !important;
    line-height: 1.75 !important;       /* long-paragraph friendly */
    letter-spacing: 0.02em !important;
    font-family: 'Glacial Indifference', sans-serif !important;
    color: inherit !important;
    margin-bottom: 1.5em !important;
  }

  .glo-mobile-text-long p:last-of-type,
  .glo-mobile-text-long div:last-of-type,
  .glo-mobile-text-long span:last-of-type {
    margin-bottom: 0 !important;
  }
}

/* ============================================================
   GLO ARTISTRY — MOBILE TEXT (SHORT PARAGRAPHS)
============================================================ */
@media (max-width: 767px) {

  .glo-mobile-text-short {
    max-width: 94% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center !important;
  }

  .glo-mobile-text-short p,
  .glo-mobile-text-short span,
  .glo-mobile-text-short div,
  .glo-mobile-text-short li {
    font-size: 16px !important;
    line-height: 1.55 !important;       /* tighter for short content */
    letter-spacing: 0.015em !important;
    font-family: 'Glacial Indifference', sans-serif !important;
    color: inherit !important;
    margin-bottom: 1.1em !important;
  }

  .glo-mobile-text-short p:last-of-type,
  .glo-mobile-text-short div:last-of-type,
  .glo-mobile-text-short span:last-of-type {
    margin-bottom: 0 !important;
  }
}

/* ============================================================
   LUX-TESTIMONIALS — UNIFORM NAME ALIGNMENT
   Works for desktop + mobile + all card heights
============================================================ */

/* Desktop: lock footer height for perfect alignment */
@media (min-width: 768px) {
  .lux-testimonials .elementor-testimonial__footer {
    min-height: 60px !important;   /* adjusts baseline */
    display: flex !important;
    align-items: center !important; /* centers the name vertically */
  }
}

/* Mobile: slightly smaller baseline */
@media (max-width: 767px) {
  .lux-testimonials .elementor-testimonial__footer {
    min-height: 48px !important;
    display: flex !important;
    align-items: center !important;
  }
}

/* ============================================================
   LUX TESTIMONIAL ALIGNMENT SYSTEM  
   Apply class to carousel:  lux-testimonial-align
============================================================ */

/* --- Base structure for equal height slides --- */
.lux-testimonial-align .swiper-slide {
  display: flex !important;
  align-items: stretch !important;
}

/* --- Make each testimonial inside stretch cleanly --- */
.lux-testimonial-align .elementor-testimonial {
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
  height: 100% !important;
  text-align: center !important;
  transition: transform 0.6s ease;
}

/* Hover lift (desktop only) */
@media (min-width: 768px) {
  .lux-testimonial-align .elementor-testimonial:hover {
    transform: translateY(-3px);
  }
}

/* --- Content flex so text grows and footer stays aligned --- */
.lux-testimonial-align .elementor-testimonial__content {
  flex: 1 !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
}

/* --- Text container --- */
.lux-testimonial-align .elementor-testimonial__text {
  flex-grow: 1 !important;
  margin-bottom: 1.4rem !important;
  line-height: 1.75 !important;
  max-width: 600px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* --- Footer always aligned at the bottom --- */
.lux-testimonial-align .elementor-testimonial__footer {
  margin-top: auto !important;
  padding-top: 1.2rem !important;
  text-align: center !important;
}

/* --- Avatar alignment + luxury styling --- */
.lux-testimonial-align .elementor-testimonial__image img {
  width: 110px !important;
  height: 110px !important;
  object-fit: cover !important;
  border-radius: 50% !important;
  display: inline-block !important;
  margin-bottom: 0.6rem !important;
  box-shadow: 0 4px 12px rgba(255, 150, 180, 0.1) !important;
  transition:
    transform 0.9s cubic-bezier(0.25, 1, 0.3, 1),
    box-shadow 1s ease,
    border-color 0.8s ease !important;
}

/* --- Avatar hover --- */
@media (min-width: 768px) {
  .lux-testimonial-align .elementor-testimonial__image img:hover {
    transform: scale(1.06) translateY(-2px);
    box-shadow:
      0 6px 20px rgba(255, 180, 200, 0.25),
      0 0 40px rgba(255, 160, 200, 0.15) !important;
    border-color: rgba(255, 155, 185, 0.9) !important;
  }
}

/* ==========================================================
   GLOBAL FIX — Testimonial Body Text (Normal, Not Italic)
   Applies to all Elementor testimonial widgets site-wide
========================================================== */

/* Force testimonial text to normal style */
.elementor-testimonial__text {
  font-style: normal !important;
}

/* Ensure spans inside remain normal too */
.elementor-testimonial__text * {
  font-style: normal !important;
}

/* --- MOBILE OPTIMIZATION --- */
@media (max-width: 767px) {
  .lux-testimonial-align .elementor-testimonial__image img {
    width: 72px !important;
    height: 72px !important;
  }

  .lux-testimonial-align .elementor-testimonial__text {
    font-size: 16px !important;
    margin-bottom: 1.2rem !important;
  }

  .lux-testimonial-align .elementor-testimonial__name {
  font-family: "Playfair Display", serif !important;
  font-size: 22px !important;
  font-style: italic !important;
  font-weight: 400 !important; /* keeps it elegant */
  letter-spacing: 0.01em !important;
  }
}



/* ==========================================================
   GLO ARTISTRY — Global Luxury Testimonial Carousel Styling
   Apply this to any Elementor widget with class .lux-testimonials
========================================================== */

/* Each testimonial card */
.lux-testimonials .swiper-slide {
  background: #FFE9F1;
  border: 1px solid rgba(255, 143, 193, 0.28);
  border-radius: 0;
  padding: 48px 40px;
  transition: all 0.35s ease;
  height: auto !important;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

/* Desktop hover */
@media (hover: hover) and (pointer: fine) {
  .lux-testimonials .swiper-slide:hover {
    transform: translateY(-4px);
    border-color: rgba(255, 143, 193, 0.45);
    box-shadow: 0 12px 28px rgba(0,0,0,0.06);
  }
}

/* Content width */
.lux-testimonials .elementor-testimonial__content {
  max-width: 90%;
  margin: 0 auto;
}

/* Footer */
.lux-testimonials .elementor-testimonial__footer {
  padding-top: 12px;
  margin-top: auto;
  text-align: center;
}



/* ==========================================================
   REMOVE BOX / BACKGROUND FROM TESTIMONIAL ARROWS — DESKTOP
========================================================== */
@media (min-width: 768px) {
  .lux-testimonials .elementor-swiper-button {
    background: none !important;
    border: none !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
  }
}





/* ==========================================================
   GLOBAL LUX FAQ — NO OVERLAY + SMOOTH EXPAND
========================================================== */

/* Wrapper */
.lux-faq {
  width: 100%;
  max-width: 680px;
  margin: 0 auto 26px;
  text-align: center;
  position: relative;
}

/* -----------------------------------
   QUESTION BAR
----------------------------------- */
.lux-faq-question {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;

  padding: 20px 30px;
  width: 100%;

  background: rgba(255,255,255,0.75);
  border: 1px solid rgba(255,150,202,0.55);
  backdrop-filter: blur(10px);
  box-shadow: 0 5px 18px rgba(255,150,202,0.22);

  cursor: pointer;
  transition: all .35s ease;
}

/* Header text */
.lux-faq-title {
  flex: 1;
  text-align: center;
  font-family: "Relationship of Melodrame", serif;
  font-size: 24px;
  font-weight: 500;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: #FF96CA;
}



/* Plus icon */
.lux-faq-icon {
  font-size: 26px;
  margin-left: 18px;
  flex-shrink: 0;
  color: #FF96CA;
  transition: transform .35s ease;
}
.lux-faq.active .lux-faq-icon {
  transform: rotate(45deg);
}

/* -----------------------------------
   ANSWER PANEL — Smooth expand (NO OVERLAP)
----------------------------------- */
.lux-faq-answer {
  max-height: 0;
  overflow: hidden;
  opacity: 0;

  background: #fff;
  border: 1px solid rgba(255,150,202,0.35);
  box-shadow: 0 8px 22px rgba(255,150,202,0.25);

  margin-top: 12px;
  padding: 0 26px;

  transition:
    max-height .55s cubic-bezier(0.25,1,0.5,1),
    opacity .35s ease;
}

/* OPEN STATE — now pushes content down */
.lux-faq.active .lux-faq-answer {
  max-height: 500px; /* Big enough for any answer */
  opacity: 1;
  padding: 26px;
}

/* Answer text */
.lux-faq-answer p {
  font-family: "Glacial Indifference", sans-serif !important;
  font-size: 18px;
  margin: 0;
  text-align: center;
  line-height: 1.75;
}

/* ==========================================================
   LUX FAQ — PREMIUM HOVER EFFECT (Desktop Only)
========================================================== */
@media (hover: hover) and (pointer: fine) {
  .lux-faq-question:hover {
    background: #ffffff;
    transform: translateY(-2px);
    box-shadow:
      0 10px 25px rgba(255,150,202,0.28),
      0 6px 12px rgba(255,150,202,0.18); /* extra layer for depth */
    transition: all .35s cubic-bezier(0.25, 1, 0.5, 1);
  }
}

/* ==========================================================
   MOBILE — TRUE NO-SHAKE FAQ DROPDOWN
   (Matches Artist Dropdown Animation 1:1)
========================================================== */
@media (max-width: 767px) {

  /* Wrapper spacing — tighter, luxury */
  .lux-faq {
    width: calc(100% - 24px);
    max-width: 100%;
    margin: 0 auto 12px !important; /* tighter than before */
  }

  /* Question bar */
  .lux-faq-question {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 12px 18px !important;
    border-radius: 0;
    background: rgba(255,255,255,0.75);
    border: 1px solid rgba(255,150,202,0.6);
    box-shadow: 0 4px 14px rgba(255,150,202,0.22);
    backdrop-filter: blur(10px);

    color: #FF96CA;
    font-family: "Glacial Indifference", sans-serif;
    touch-action: manipulation;
    -webkit-tap-highlight-color: transparent;
  }


  /* Icon (plus) */
  .lux-faq-icon {
    font-size: 20px !important;
    transition: transform 0.35s ease;
  }

  /* Rotate icon when open */
  .lux-faq.active .lux-faq-icon {
    transform: rotate(45deg);
  }


/* ============================================
   FAQ ANSWER — EXACT ARTIST DROPDOWN ENGINE
   (No height animation, No shake)
============================================ */
.lux-faq-answer {
  opacity: 0;
  transform: scaleY(0.95);
  transform-origin: top;
  overflow: hidden;

  padding: 0 14px !important;
  margin-top: 4px !important;

  display: none; /* collapsed */
  
  transition:
    opacity 0.45s ease,
    transform 0.45s cubic-bezier(0.25,1,0.5,1);

  will-change: transform, opacity;
}

.lux-faq.active .lux-faq-answer {
  display: block; /* reveal content */
  opacity: 1;
  transform: scaleY(1);
  padding: 14px 14px 18px !important;
}

/* ==========================================================
   MOBILE — FORCE FAQ TITLES TO ONE LINE
   ========================================================== */
@media (max-width: 767px) {

  /* Prevent text wrapping */
  .lux-faq-title {
    white-space: nowrap !important;   /* KEEP text on one line */
    font-size: 14.5px !important;      /* reduced for perfect fit */
    letter-spacing: 0.03em !important; /* slightly tighter */
  }

  /* Make the question bar in mobile a bit wider inside its container */
  .lux-faq-question {
    padding: 10px 14px !important;
  }

  /* Make sure the plus icon stays centered vertically */
  .lux-faq-icon {
    font-size: 24px !important;
    line-height: 1 !important;
  }
}

@media (max-width: 767px) {

  /* FAQ Answer — mobile sizing */
  .lux-faq-answer p {
    font-family: "Glacial Indifference", sans-serif !important;
    font-size: 13.5px !important;        /* perfect balance */
    line-height: 1.6 !important;          /* tighter + elegant */
    margin: 0 !important;
    text-align: center !important;        /* match desktop */
    color: #000;
  }
}

/* ==========================================================
   PERFECT CENTERING FOR FAQ TITLE (Desktop & Mobile)
========================================================== */

.lux-faq-question {
  position: relative;
}

.lux-faq-title {
  margin-right: 26px !important; /* same width as icon area */
  margin-left: 26px !important;  /* balances visually */
  text-align: center !important;
}

/* Ensure icon stays perfectly aligned on right */
.lux-faq-icon {
  position: absolute;
  right: 26px;
  top: 50%;
  transform: translateY(-50%);
}


/* ============================================================
   GLOBAL SCRIPT HEADING FIX — Mobile Only
   Apply class: lux-script-fix
   Prevents clipping for script fonts (Sloop Script Pro etc.)
=========================================================== */
@media (max-width: 767px) {
  .lux-script-fix {
    text-align: center !important;
    margin: 0 auto 20px auto !important;
    padding: 12px 16px !important; /* breathing room */
  }

  .lux-script-fix .elementor-heading-title {
    font-size: 56px !important;       /* adjust as needed per page */
    line-height: 1.25 !important;     /* prevents clipping */
    color: #FF96CA !important;        /* brand blush pink */
    text-align: center !important;

    overflow: visible !important;     /* CRITICAL — fixes cutoff */
    display: inline-block !important; /* prevents baseline clipping */
    white-space: normal !important;   /* allows wrap */
  }
}


/* ==========================================================
   GLO ARTISTRY — Luxury Pricing Card (Updated Colors)
   Soft Petal Pink • Blush Mist • Signature Glo Pink
========================================================== */



.lux-price-card {
  background: #FFF7FB; /* Blush Mist inner */
  border: 2px solid rgba(255, 143, 193, 0.35); /* Soft pink border */
  padding: 48px 40px;
  border-radius: 0px; /* square editorial look */
  max-width: 520px;
  margin: 0 auto;
  text-align: center;
  box-shadow: 0 10px 28px rgba(255, 143, 193, 0.12); /* soft pink glow */
  transition: all 0.3s ease;
}

/* Desktop-only hover lift — SAFE version */
@media (hover: hover) and (pointer: fine) {
  .lux-price-card:hover {
    transform: translateY(-4px); /* smaller lift = smoother + no clipping */
    box-shadow: 0 18px 38px rgba(255, 143, 193, 0.22);
    border-color: #FF8FC1;
  }
}


/* ================================
   KILL ALL HOVER ON MOBILE
   Force-disable on iPhone/iPad/Android
=================================== */
@media (max-width: 1024px) {
  .lux-price-card:hover {
    transform: none !important;
    box-shadow: none !important;
    border-color: none !important;
  }
}

/* Header */
.lux-price-header {
  background: #FFE9F1; /* Soft Petal Pink */
  padding: 22px 10px;
  font-family: "Glacial Indifference", sans-serif;
  font-size: 22px;
  letter-spacing: 0.08em;
  color: #FF8FC1;
  font-weight: 600;
  text-transform: uppercase;
}

/* Price */
.lux-price-amount {
  font-family: "Glacial Indifference", sans-serif;
  font-size: 58px;
  color: #FF8FC1;
  font-weight: bold;
  margin: 32px 0 24px;
}

/* Divider */
.lux-price-divider {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  margin-bottom: 28px;
}

.lux-price-divider:before,
.lux-price-divider:after {
  content: "";
  width: 60px;
  height: 1px;
  background: rgba(255, 143, 193, 0.35);
}

.lux-price-divider .heart {
  font-size: 18px;
  color: #FF8FC1;
}

/* Description text */
.lux-price-text {
  font-family: "DM Sans", sans-serif;
  font-size: 17px;
  line-height: 1.75;
  color: #000000;
  margin-bottom: 24px;
}

/* Subnote */
.lux-price-note {
  font-family: "Playfair Display", serif;
  font-size: 16px;
  font-style: italic;
  color: #000000;
  margin-bottom: 34px;
}

/* Button */
.lux-price-btn {
  display: block;
  background: #FFE9F1; /* soft pink oval */
  padding: 20px 28px;
  border-radius: 0px;
  color: #FF8FC1;
  font-family: "Glacial Indifference", sans-serif;
  font-size: 20px;
  letter-spacing: 0.05em;
  text-decoration: none;
  font-weight: 600;
  transition: all 0.3s ease;
}



/* Button hover */
@media (hover: hover) and (pointer: fine) {
  .lux-price-btn:hover {
    background: #FF8FC1;
    color: #fff;
    box-shadow: 0 8px 20px rgba(255, 143, 193, 0.35);
  }
}

/* MOBILE REFINEMENT */
@media (max-width: 767px) {
  .lux-price-card {
    padding: 38px 28px;
    margin: 0 12px;
  }

  .lux-price-header {
    font-size: 18px;
    padding: 18px 8px;
  }

  .lux-price-amount {
    font-size: 46px;
    margin: 28px 0 20px;
  }

  .lux-price-text {
    font-size: 15px;
    line-height: 1.65;
  }

  .lux-price-btn {
    padding: 18px 22px;
    font-size: 18px;
  }
}

/* Discount strike-through */
.lux-old-price {
  font-size: 0.75em;
  font-weight: 400;
  opacity: 0.6;
  text-decoration: line-through;
  text-decoration-thickness: 2px;
  text-decoration-color: #FF8FC1; /* soft blush pink */
  margin-left: 6px;
  position: relative;
  top: -2px; /* slight lift */
}

/* ==========================================================
   MOBILE PERFECTION IMPROVEMENTS
========================================================== */
@media (max-width: 767px) {

  .lux-price-card {
    padding: 32px 22px !important;
    margin: 0 16px 36px !important;
    border-width: 1.5px !important;
    box-shadow: 0 6px 18px rgba(255, 143, 193, 0.15);
  }

  .lux-price-header {
    font-size: 17px !important;
    letter-spacing: 0.07em !important;
    padding: 16px 6px !important;
  }

  .lux-price-amount {
    font-size: 40px !important;
    margin: 26px 0 18px !important;
    line-height: 1.1 !important;
  }

  .lux-price-amount .lux-old-price {
    font-size: 0.7em !important;
    top: -1px !important;
  }

  .lux-price-divider {
    margin-bottom: 22px !important;
    gap: 10px !important;
  }
  .lux-price-divider:before,
  .lux-price-divider:after {
    width: 42px !important;
  }
  .lux-price-divider .heart {
    font-size: 16px !important;
  }

  .lux-price-text {
    font-size: 14.5px !important;
    line-height: 1.6 !important;
    margin-bottom: 22px !important;
    padding: 0 6px;
  }

  .lux-price-note {
    font-size: 15px !important;
    margin-bottom: 28px !important;
  }

  .lux-price-btn {
    padding: 16px 20px !important;
    font-size: 17px !important;
    border-radius: 0px !important;
    width: 100%;
  }
}

/* =======================================================
   DESKTOP GRID (NO HSCROLL)
======================================================= */
@media (min-width: 1025px) {
  .lux-price-scroll {
    display: flex !important;
    justify-content: center;
    align-items: stretch;
    gap: 28px;
    overflow: visible !important;
    padding: 20px 0;
  }

  .lux-price-scroll .lux-price-card {
    flex: 1 1 33%;
    max-width: 420px;
  }
}

/* ==========================================================
   MOBILE HORIZONTAL SCROLL
========================================================== */
@media (max-width: 767px) {

  .lux-price-scroll {
    display: flex !important;
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scroll-snap-type: x mandatory;
    gap: 20px;
    padding: 0 16px 20px;
    -webkit-overflow-scrolling: touch;
    scroll-behavior: smooth;
    scrollbar-width: none;
  }

  .lux-price-scroll::-webkit-scrollbar {
    display: none;
  }

  .lux-price-scroll .lux-price-card {
    flex: 0 0 85% !important;
    max-width: 85% !important;
    scroll-snap-align: start;
    margin: 0 !important;
  }
}

/* ================================================
   GLOBAL — Equal Height & Bottom-Aligned Buttons
   Works for desktop + mobile card internals
================================================== */

.lux-price-card {
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
}

.lux-price-card .lux-price-text,
.lux-price-card .lux-price-note {
  flex-grow: 0;
}

/* Button always stays at the bottom */
.lux-price-card .lux-price-btn {
  margin-top: auto !important;
}


/* ================================================
   MOBILE — Horizontal Scroll (Restored)
   + snap scrolling + smooth movement
================================================== */
@media (max-width: 767px) {

  .lux-price-scroll {
    display: flex !important;
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    gap: 20px;
    padding: 0 16px 20px;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    scroll-behavior: smooth;
  }

  .lux-price-scroll::-webkit-scrollbar {
    display: none;
  }

  .lux-price-scroll .lux-price-card {
    flex: 0 0 85% !important;
    max-width: 85% !important;
    scroll-snap-align: start;
    margin: 0 !important;
  }
}

/* ==========================================================
   FIX — Restore Horizontal Scroll on Mobile (Overrides grid)
   ========================================================== */
@media (max-width: 767px) {

  /* Force horizontal scroll layout */
  .lux-price-scroll {
    display: flex !important;
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scroll-snap-type: x mandatory;
    gap: 22px !important;
    padding: 0 16px 24px !important;
    -webkit-overflow-scrolling: touch;
    scroll-behavior: smooth;
    position: relative;
  }

  /* Make each card act like a horizontal slide */
  .lux-price-scroll .lux-price-card {
    flex: 0 0 85% !important;     /* width of each "slide" */
    max-width: 85% !important;
    scroll-snap-align: center;
    height: auto !important;
    margin: 0 !important;
  }

  /* Prevent lux-price-row from breaking layout */
  .lux-price-row {
    display: block !important;
  }

  .lux-price-row .lux-price-card {
    height: auto !important;
    margin-bottom: 32px !important;
  }

  /* Floating arrow hint stays visible */
  .lux-price-scroll::after {
    content: "→";
    position: absolute;
    right: 16px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 28px;
    color: #FF8FC1;
    opacity: 0.8;
    animation: luxPriceArrow 2s ease-in-out infinite;
    pointer-events: none;
  }

  @keyframes luxPriceArrow {
    0%,100% { opacity: 0.2; transform: translate(0, -50%); }
    50% { opacity: 1; transform: translate(6px, -50%); }
  
}/* End custom CSS */
/* Start Custom Fonts CSS */@font-face {
	font-family: 'Glacial Indifference';
	font-style: normal;
	font-weight: normal;
	font-display: auto;
	src: url('https://gloartistry.com/wp-content/uploads/2025/10/GlacialIndifference-Regular.woff2') format('woff2');
}
/* End Custom Fonts CSS */