/** Shopify CDN: Minification failed

Line 370:0 Unexpected "}"
Line 3132:0 Unexpected "}"

**/
html, body {
  margin: 0 !important;
  padding: 0 !important;
  overflow-x: hidden !important;   /* ✅ stop phantom horizontal scroll */
  scroll-behavior: smooth !important;
  overscroll-behavior-x: none;
  overscroll-behavior-y: auto;
  width: 100%;                     /* ✅ safer than 100vw */
  max-width: 100%;                 /* ✅ match container, not scrollbar width */
}



/* === GLOBAL HEADER (default: white) === */
header.header,
.shopify-section-header,
.header-wrapper {
  background: #fff !important;
  position: relative;
  box-shadow: none;
  border: none;
  z-index: 1000;
}


/* Header layout */
.header__wrapper {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  max-width: 100%;
  padding: 18px 40px;
  margin: 0 auto;
  position: relative;
}

/* Center logo */
.header__heading {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  z-index: 5;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 0 !important;
  margin: 0 !important;
  flex: 1;
  text-align: center;
  line-height: 1;
}

.header__heading img {
  width: 240px !important;
  height: auto;
  display: block;
  max-width: none !important;
}

.header__heading-logo-wrapper {
  display: flex;
  align-items: center;
  height: 100%;
  max-height: 61px;
  padding-top: 40px;
  overflow: hidden;
}

/* Navigation (left) */
.header__inline-menu {
  flex: 1;
  display: flex;
  justify-content: center;
  gap: 36px;
}

.header__inline-menu a,
.header__inline-menu summary {
  color: #111 !important;
  text-decoration: none;
}

/* Icons (right) */
.header__icons {
  flex: 1;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 32px;
  font-size: 14px;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  padding-right: 90px;
  padding-top: 40px;
  color: #111 !important;
}

/* Replace icons with text labels */
.header__icon svg { display: none !important; }
.header__icon--search::after  { content: "SEARCH"; }
.header__icon--account::after { content: "ACCOUNT"; }
.header__icon--cart::after    { content: "BAG"; }

.header__icon::after {
  display: inline-block;
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: #111 !important;
  text-decoration: none;
}



/* Submenus */
.header__submenu a,
.list-menu__item,
.header__submenu summary,
.header__submenu summary span,
.header__submenu .header__menu-item {
  color: #111 !important;
}

.header__submenu .list-menu__item:hover {
  background: transparent !important;
  color: #111 !important;
  text-decoration: underline;
}

/* Spacing between top-level menu items */
.list-menu--inline > li { margin: 0 18px; }
.list-menu--inline > li:first-child { margin-left: 0; }
.list-menu--inline > li:last-child { margin-right: 0; }

/* Remove width constraints */
header.header.page-width {
  max-width: 100% !important;
  width: 100% !important;
  padding: 0 !important;
}


/* Remove underline on header icons */
.header__icon--search,
.header__icon--account,
.header__icon--cart {
  text-decoration: none !important;
}

.header__icon--search::after,
.header__icon--account::after,
.header__icon--cart::after {
  text-decoration: none !important;
}

/* Balance SEARCH spacing with BAG */
.header__icon--search {
  padding-left: 90px; /* match BAG spacing */
}

.header__icon--account {
  margin-right: 24px; /* Increase spacing between ACCOUNT and BAG */
}



/* === MOBILE HEADER LAYOUT & FIXES === */
@media (max-width: 767px) {

  /* Equal 3-column header: [hamburger] [logo] [icons] */
  .header__wrapper {
    display: grid !important;
    grid-template-columns: 40px 1fr 40px; /* equal sides for perfect centering */
    align-items: center;
    padding: 12px 16px;
  }

  /* Show the menu (hamburger) on the left */
  header-drawer,
  .menu-drawer-container,
  .header__icon--menu {
    display: block !important;
  }
  .header__icon--menu svg {
    display: block !important;
    width: 24px;
    height: 24px;
  }

  /* Center the logo */
  .header__heading {
    position: static !important;
    transform: none !important;
    margin: 0 auto !important;
    text-align: center !important;
    justify-self: center;
  }
  .header__heading-logo-wrapper {
    padding-top: 0 !important;
    max-height: none !important;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .header__heading img {
    width: 150px !important;
    max-width: 60vw !important;
    height: auto;
  }

  /* Right-side icons row */
  .header__icons {
    justify-self: end;
    display: flex;
    gap: 10px; /* tighter spacing between account + bag */
    padding: 0 !important;
    margin: 0 !important;
  }

  /* Show SVGs again on mobile */
  .header__icon svg {
    display: inline-block !important;
  }

  /* Hide search entirely on mobile */
  .header__icon--search { display: none !important; }

  /* Keep Account + Bag, remove labels */
  .header__icon--account,
  .header__icon--cart { display: flex !important; }
  .header__icon--account::after,
  .header__icon--cart::after { content: none !important; }

  /* Hide inline menu on mobile */
  .header__inline-menu { display: none !important; }
}

/* === MOBILE HEADER PERFECT CENTERING === */
@media (max-width: 767px) {
  .header__wrapper {
    display: grid !important;
    grid-template-columns: 40px 1fr 40px; /* equal left + right */
    align-items: center;
    padding: 12px 16px;
  }

  /* Center logo cleanly */
  .header__heading {
    grid-column: 2; /* force it to stay in the middle */
    justify-self: center;
    margin: 0 auto !important;
    text-align: center !important;
  }
  .header__heading-logo-wrapper {
    padding-top: 0 !important;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .header__heading img {
    width: 165px !important;
    max-width: 65vw !important;
    height: auto;
  }

  /* Right-side icons (account + bag tighter) */
  .header__icons {
    grid-column: 3;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 6px; /* tighten spacing */
    padding: 0 !important;
    margin: 0 !important;
  }

  /* Hide search on mobile */
  .header__icon--search { display: none !important; }

  /* Ensure both Account + Bag show, no text */
  .header__icon--account,
  .header__icon--cart { display: flex !important; }
  .header__icon--account::after,
  .header__icon--cart::after { content: none !important; }
}

@media (max-width: 767px) {
  /* Adjust hamburger position */
  .header__icon--menu {
    padding-left: 32px; /* nudge more to the right */
  }

  .header__icon--menu svg {
    width: 26px;
    height: 26px;
  }

  /* Bag spacing */
  .header__icon--cart {
    padding-right: 32px; /* push away from edge */
  }

  /* Move account closer to bag */
  .header__icon--account {
    margin-right: 10px; /* pull it closer to the bag */
  }

  /* Keep icons aligned neatly */
  .header__icons {
    display: flex;
    align-items: center;
    gap: 0; /* remove default gap since we control spacing manually */
  }

}




/* === HERO IMAGE WRAP === */
.lux-hero-image {
  position: relative;
  width: 100%;
  max-width: 100%;
  margin: 10px auto 0;
  overflow: hidden;
  z-index: 1;
}

/* Default (desktop/tablet) */
.lux-hero-image img {
  display: block;
  width: 100%;
  height: 100vh;
  object-fit: cover;
  object-position: center 20%;
  border-radius: 0;
  transition: transform 2.5s cubic-bezier(0.19, 1, 0.22, 1); /* buttery zoom */
  will-change: transform;
}

/* Zoom state */
.lux-hero-image.scaled img {
  transform: scale(1.12); /* touch more noticeable */
}

/* === Mobile Optimization === */
@media (max-width: 767px) {
  .lux-hero-image img {
    width: 100%;
    height: 35vh; /* keeps it cropped */
    object-fit: cover; /* required for object-position to work */
    object-position: center 10% !important; /* shift image upward */
    display: block;
  }
}

  .lux-hero-image.scaled img {
    transform: scale(1.08);   /* lighter zoom on small screens */
  }
}

@media (max-width: 480px) {
  .lux-hero-image img {
    height: 50vh;             /* even tighter for very small devices */
    object-position: top;     /* prioritize top content (faces/text) */
  }
}

/* === Luxe Services Section (Text Bottom-Center) === */
.lux-services-section {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 32px;
  width: 95%;
  max-width: 1600px;
  margin: 90px auto;
  padding: 0;
}

/* Each card */
.service-card {
  position: relative;
  text-decoration: none;
  color: inherit;
  display: block;
  overflow: hidden;
}

/* Image frame */
.service-frame {
  position: relative;
  aspect-ratio: 1 / 1.1;
  width: 100%;
  overflow: hidden;
  background: #f7f6f5;
  transition: transform 0.4s ease, box-shadow 0.4s ease;
}

.service-frame img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.6s ease, filter 0.6s ease;
}

/* Caption positioned bottom-center */
.service-caption {
  position: absolute;
  bottom: 20px;
  left: 50%;
  transform: translateX(-50%);
  font-family: 'Poppins', sans-serif;
  font-size: 16px;
  font-weight: 500;
  letter-spacing: 0.08em;
  color: #fff;
  text-transform: uppercase;
  font-style: italic;
  z-index: 2;
  text-align: center;
  transition: opacity 0.4s ease, transform 0.4s ease;
  opacity: 0.9;
}

/* Hover effects */
.service-card:hover .service-frame img {
  transform: scale(1.05);
  filter: brightness(0.88);
}

.service-card:hover .service-caption {
  transform: translateX(-50%) translateY(-2px);
  opacity: 1;
}

/* === Luxe Services Reveal Animation (via JS) === */
.lux-services-section .service-card {
  opacity: 0;
  transform: translateY(40px);
  transition: opacity 0.7s ease-out, transform 0.7s ease-out;
  will-change: opacity, transform;
}

.lux-services-section.is-visible .service-card {
  opacity: 1;
  transform: translateY(0);
}

/* === Mobile Optimization (under 767px) === */
@media (max-width: 767px) {
  .lux-services-section {
    display: flex;             /* switch to flex row for scrollable layout */
    overflow-x: auto;          /* ✅ horizontal scroll if needed */
    gap: 20px;
    padding: 0 16px;
    scroll-snap-type: x mandatory; /* luxe snap effect */
    -webkit-overflow-scrolling: touch; /* smooth on iOS */
  }

  .service-card {
    flex: 0 0 80%;             /* cards take up 80% of screen width */
    max-width: 280px;          /* keep them elegant, not oversized */
    scroll-snap-align: center; /* snap cards to center as you scroll */
  }


  .service-caption {
    margin-top: 10px;
    font-size: 14px;
    letter-spacing: 0.05em;
  }

  /* Hide scrollbar but keep scroll functionality */
.lux-services-section {
  -ms-overflow-style: none;  /* IE/Edge */
  scrollbar-width: none;     /* Firefox */
}

.lux-services-section::-webkit-scrollbar {
  display: none;             /* Chrome/Safari */
}

}



/* === Extra Small Screens (under 480px) === */
@media (max-width: 480px) {
  .service-card {
    flex: 0 0 85%;             /* slightly more breathing room */
    max-width: 240px;
  }

  .service-caption {
    font-size: 13px;
  }
}

/* === BASE SPLIT SECTION === */
.lux-split-section {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: stretch;
  width: 100%;
  max-width: 100%;
  max-height: 675px;
  overflow: hidden;

  opacity: 0;
  transform: translateY(40px);
  transition: opacity 0.8s ease-out, transform 0.8s ease-out;
  will-change: opacity, transform;
}

.lux-split-section.is-visible {
  opacity: 1;
  transform: translateY(0);
}

/* === IMAGE BLOCK === */
.lux-image {
  width: 40%;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  overflow: hidden;
}

.lux-image img {
  width: 100%;
  height: auto;
  object-fit: cover;
  display: block;

  opacity: 0;
  animation: luxFadeIn 1s ease-out forwards;
  animation-delay: 0.3s;
  will-change: opacity, transform;
}

@keyframes luxFadeIn {
  from { opacity: 0; transform: translateY(30px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* === TEXT BLOCK (DEFAULT: BLACK BG + WHITE TEXT) === */
.lux-text {
  width: 60%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;

  padding: 48px 32px;
  background-color: #111;
  color: #fff;
}

.lux-text .lux-vertical-title {
  font-family: 'Poppins', sans-serif;
  font-size: 30px;             /* luxe headline */
  font-weight: 400;
  line-height: 1.3;
  letter-spacing: 0.22em;      /* editorial spacing */
  margin: 0;
  color: inherit;
  text-transform: uppercase;
  white-space: nowrap;
}

.lux-subtext {
  font-family: 'Inter Tight', 'Helvetica Neue', sans-serif;
  font-size: 15px;             /* slightly larger */
  font-style: italic;
  font-weight: 300;
  margin-top: 28px;
  letter-spacing: 0.05em;
  line-height: 1.65;
  color: inherit;
  text-align: center;
  width: 100%;
}

/* Decorative Lines */
.lux-subtext-line {
  position: relative;
  padding: 0 20px;
}
.lux-subtext-line::before,
.lux-subtext-line::after {
  content: "";
  display: inline-block;
  height: 0.7px;
  background-color: currentColor;
  width: 150px;
  margin: 0 12px;
  vertical-align: middle;
}

/* === Animated Decorative Lines (Reveal on Scroll) === */
.lux-subtext-line::before,
.lux-subtext-line::after {
  content: "";
  display: inline-block;
  height: 0.7px;
  background-color: currentColor;
  width: 0; /* Start collapsed */
  margin: 0 12px;
  vertical-align: middle;
  transform-origin: center;
  transition: width 1s ease-out 0.3s; /* expand smoothly */
}

/* When section is visible, expand lines */
.lux-split-section.is-visible .lux-subtext-line::before,
.lux-split-section.is-visible .lux-subtext-line::after {
  width: 150px; /* Final width */
}



/* === Mobile Subtext Styling — single underline === */
@media (max-width: 767px) {
  .lux-subtext {
    text-align: center;
    padding: 0 12px;
  }

  .lux-subtext-line {
    display: inline-block;
    position: relative;
    padding: 0;                 /* remove side padding */
    border-bottom: 1px solid currentColor;  /* the single line */
    padding-bottom: 12px;       /* ⬅️ move line further down (tweak 8–16px) */
  }

  /* kill the desktop side lines */
  .lux-subtext-line::before,
  .lux-subtext-line::after {
    content: none;
  }
}






/* === VARIANT A: WHITE BG + BLACK TEXT === */
.lux-text-alt {
  background-color: #fafafa !important;
  color: #111 !important;
}
.lux-title-alt { color: #111 !important; }
.lux-subtext-alt {
  font-family:'Helvetica Neue', sans-serif;
  font-weight: 400;
  color: #111 !important;
}

/* === REVEAL ANIMATIONS === */
.lux-reveal {
  opacity: 0;
  transform: translateY(40px);
  transition: all 1s ease;
}
.lux-reveal.revealed {
  opacity: 1;
  transform: translateY(0);
}

/* Underline animation */
.lux-subtext-underline {
  position: absolute;
  left: 50%;
  bottom: -10px;
  transform: translateX(-50%) scaleX(0);
  transform-origin: center;
  width: 140px;
  height: 0.65px;
  background-color: currentColor;
  transition: transform 1s ease 0.3s;
}
.lux-reveal-line {
  position: relative;
  display: inline-block;
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.8s ease, transform 0.8s ease;
}
.lux-reveal-line.revealed {
  opacity: 1;
  transform: translateY(0);
}
.lux-reveal-line.revealed .lux-subtext-underline {
  transform: translateX(-50%) scaleX(1);
}

/* === MOBILE OPTIMIZATION (Taller Image) === */
@media (max-width: 767px) {
  .lux-split-section {
    flex-direction: column;
    max-height: none;
  }

  .lux-image {
    width: 100%;
    height: 340px;  /* taller for mobile */
    order: 1;
    overflow: hidden; /* prevent overflow edges */
  }

  .lux-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;         /* fills container */
    object-position: center 40%; /* adjust vertical framing */
    display: block;
  }

  .lux-text {
    width: 100%;
    padding: 28px 16px;
  }

  .lux-text .lux-vertical-title {
    font-size: 24px !important;
    line-height: 1.4 !important;
    letter-spacing: 0.14em !important;
    margin-bottom: 10px;
    white-space: normal;
  }

  .lux-subtext {
    font-size: 13px;
    margin-top: 12px;
    line-height: 1.55;
    padding: 0 12px;
  }

  .lux-subtext-line::before,
  .lux-subtext-line::after {
    width: 60px;
  }
}



/* Prevent scrolling beyond top edge (especially on mobile Safari) */
body {
  position: relative;
}



/* Hide all carets globally */
summary > .icon-caret {
  display: none !important;
}

/* BUT show caret icon only for 'IN-PERSON COURSES' */
#HeaderMenu-education-in-person-courses > .icon-caret {
  display: inline-block !important;
}

/* Top-level dropdown styles */
.header__inline-menu details {
  position: relative;
}
.header__inline-menu details[open] > ul {
  display: none;
}
.header__inline-menu details:hover > ul {
  display: block !important;
  position: absolute;
  top: 100%;
  left: 0;
  background: #fff;
  z-index: 1000;
  padding: 16px 20px;
  box-shadow: 0 10px 30px rgba(0,0,0,0.1);
  min-width: 220px;
  opacity: 1;
  pointer-events: auto;
}

.header__submenu a.header__menu-item {
  position: relative;
  display: inline-block;
  text-decoration: none !important;
  padding-bottom: 2px; /* space for underline */
}

.header__submenu a.header__menu-item::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  height: 1px;
  width: 0%;
  background-color: currentColor;
  transition: width 0.3s ease;
}

.header__submenu a.header__menu-item:hover::after {
  width: 100%;
}

/* Fade in product title on hover */
.card-wrapper:hover .card__heading {
  opacity: 1 !important;
  color: #fff !important;
  text-decoration: none !important;
}

/* Also ensure the link inside has no underline or box shadow */
.card__heading a {
  text-decoration: none !important;
  box-shadow: none !important;
  color: inherit !important;
}

.card__heading a:hover {
  text-decoration: none !important;
  box-shadow: none !important;
  background-image: none !important;
  color: #fff !important;
}


.card__heading,
.card__heading a {
  white-space: nowrap;         /* Keep title on one line */
  overflow: hidden;            /* Prevent overflow */
  text-overflow: ellipsis;     /* Show "..." if it's too long (optional) */
  word-break: normal !important;
  hyphens: none;
  max-width: 100%;
  display: block;
}


.lux-banner-row {
  width: 100%;
  margin-inline: calc(-1 * (100vw - 100%) / 2);
  overflow: hidden;
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: stretch;
}

.lux-banner-img {
  width: 100%;
  height: 70vh;
  object-fit: cover;
  flex: 1 1 33.33%;
  display: block;
}

.section-template--25109534671167__custom_liquid_jEYFiw-padding {
  padding-top: 0 !important;
  margin-top: 0 !important;
}

/* === Disable hover-to-open for SEARCH drawer === */
.header__icon--search:hover details[open] > summary + * {
  display: none !important;
}

.lux-video-banner {
  position: relative;
  width: 100%;
  height: 40vh;
  overflow: hidden;
}

.lux-video-banner video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.lux-video-overlay {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  text-align: center;
  color: #fff;
  z-index: 2;
  padding: 20px;
}

.lux-video-banner video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 20%; /* Adjust vertical focus */
  display: block;
}

.lux-video-heading {
  font-family: 'Poppins', sans-serif;
  font-size: 2rem;
  color: #fff;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  margin-bottom: 40px;
}


/* === Mobile Optimization: Lux Video Banner === */
@media (max-width: 767px) {
  .lux-video-banner {
    height: 50vh;                /* taller for mobile impact */
    min-height: 260px;           /* safety floor */
    max-height: 420px;           /* avoid overwhelming */
  }

  .lux-video-banner video {
    object-position: center 30%; /* adjust focus point slightly higher */
  }

  .lux-video-overlay {
    padding: 12px;               /* tighter padding */
    width: 90%;                  /* prevent text from hugging edges */
  }

  .lux-video-heading {
    font-size: 1.25rem;          /* ~20px for balance */
    line-height: 1.4;
    letter-spacing: 0.08em;      /* less airy for smaller screens */
    margin-bottom: 16px;         /* reduce bottom spacing */
  }
}

/* Fade-in Animation */
@keyframes luxFadeIn {
  0% {
    opacity: 0;
    transform: translateY(12px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Class to trigger animation */
.lux-fade-in {
  opacity: 0;
  animation: luxFadeIn 1.2s ease-out forwards;
}

/* Fade-up animation */
@keyframes fadeUp {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Logo animation */
.header__heading-logo {
  opacity: 0;
  animation: fadeUp 1.2s ease-out .5s forwards; /* 2s delay */
}

.collection__title h2 {
  letter-spacing: 0.15em; /* Adjust this value to suit your taste */
}

a[href*="shopify.com?utm_campaign=poweredby"] {
  display: none !important;
}

/* Hide the "Powered by Shopify" link */
a[href*="shopify.com?utm_campaign=poweredby"] {
  display: none !important;
}

/* Add period and "All rights reserved" after "BROW SURGEON" */
.footer__copyright .copyright__content:first-child a::after {
  content: ". All rights reserved.";
  color: inherit;
  font-weight: normal;
}




/* ===============================
   Luxe Double-Line Text Section
   (Premium Fade-In Animation)
================================= */

.lux-double-line-text {
  text-align: center;
  margin: 80px auto;
  padding: 36px 20px;
  max-width: 1500px;
  border-top: 1px solid rgba(0,0,0,0.4);
  border-bottom: 1px solid rgba(0,0,0,0.4);
  overflow: hidden; /* keeps animation clean */
}

.lux-double-line-text p {
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif !important;
  font-size: 18px;
  font-weight: 400;
  font-style: normal;
  letter-spacing: 0.06em;
  color: #222;
  line-height: 1.7;
  margin: 0;
  opacity: 0;
  transform: translateY(24px);
  animation: fadeUpSoft 1.4s cubic-bezier(0.77, 0, 0.175, 1) forwards;
  animation-delay: 0.2s;
}


/* ✨ Soft, slow fade-up animation */
@keyframes fadeUpSoft {
  0% {
    opacity: 0;
    transform: translateY(24px);
    filter: blur(2px);
  }
  60% {
    opacity: 0.9;
    transform: translateY(4px);
    filter: blur(0.5px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
    filter: blur(0);
  }
}

/* === Mobile Scaling: Luxe Double Line Text === */
@media (max-width: 767px) {
  .lux-double-line-text {
    margin: 48px auto;          /* tighter vertical space */
    padding: 20px 16px;         /* softer padding */
    max-width: 90%;             /* prevent edge-to-edge crowding */
    border-top: 1px solid rgba(0,0,0,0.08);
    border-bottom: 1px solid rgba(0,0,0,0.08);
  }

  .lux-double-line-text p {
    font-size: 15px;            /* scale down for mobile */
    line-height: 1.6;           /* slightly tighter but still airy */
    letter-spacing: 0.06em;     /* reduce tracking so it’s cleaner */
    text-align: center;         /* keep it balanced */
  }
}

/* Optional: fade-in effect for luxe feel */
.lux-double-line-text p {
  opacity: 0;
  transform: translateY(15px);
  animation: fadeUp 1.2s ease forwards;
}

@keyframes fadeUp {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}


.lux-marquee-wrap {
  overflow: hidden;
  position: relative;
  width: 100%;
  background-color: #fff; /* luxe white */
  padding: 12px 0;
}

.lux-marquee-track {
  display: flex;
  width: max-content;
  gap: 60px;
  will-change: transform;
}

.lux-marquee-text {
  font-family: "Helvetica Neue", sans-serif;
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0.15em;
  white-space: nowrap;
  color: #111;
  padding: 0 40px;
  user-select: none;
}

@keyframes luxScroll {
  0%   { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}


/* === Luxe Scroll Collage Section (Refined Slim) === */
.lux-scroll-collage {
  width: 100vw;
  max-width: 100%;
  margin-left: calc(50% - 50vw);   /* escape Dawn wrapper */
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
  scroll-snap-type: x mandatory;
  background: #fff;
  padding: 28px 0;                 /* slimmer breathing room */
  scrollbar-width: none;
  position: relative;
}

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

/* Track */
.lux-scroll-track {
  display: flex;
  gap: 0;                       /* tighter gap between videos */
  padding: 0 16x;                  /* slimmer edge gutters */
}

/* Videos */
.lux-scroll-track video {
  flex: 0 0 auto;
  width: 240px;                     /* slimmer fixed width for uniformity */
  max-height: 420px;                /* balanced vertical scale */
  aspect-ratio: 9 / 16;             /* portrait */
  object-fit: cover;
  border-radius: 0px;               /* subtle premium rounding */
  cursor: pointer;
  scroll-snap-align: center;

  /* refined micro-interaction */
  transition: transform 0.35s ease, box-shadow 0.35s ease;
  box-shadow: 0 4px 12px rgba(0,0,0,0.08);
}

.lux-scroll-track video:hover {
  transform: translateY(-8px) scale(1.03);
  box-shadow: 0 12px 28px rgba(0,0,0,0.18);
}

/* === Popup Preview (Draggable on Desktop) === */
.lux-video-preview {
  position: fixed;
  bottom: 32px;
  right: 32px;
  width: 380px;
  max-width: 90vw;
  height: 65vh;
  max-height: 540px;
  border-radius: 12px;
  background: #111;
  z-index: 9999;
  display: none;
  overflow: hidden;
  box-shadow: 0 12px 36px rgba(0,0,0,0.35);
  cursor: grab;
  transition: all 0.3s ease;
}
.lux-video-preview:active {
  cursor: grabbing;
}

/* Mobile → stick bottom-right, no drag */
@media (max-width: 767px) {
  .lux-video-preview {
    top: auto !important;
    left: auto !important;
    right: 16px !important;
    bottom: 16px !important;
    width: 85vw;
    height: 60vh;
    cursor: default;
  }
}

.lux-video-preview video {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.lux-close-preview {
  position: absolute;
  top: 8px;
  left: 8px;
  width: 28px;
  height: 28px;
  font-size: 16px;
  background: rgba(0,0,0,0.6);
  color: #fff;
  border: none;
  border-radius: 50%;
  cursor: pointer;
  z-index: 2;
}

/* === Mobile Tweaks === */
@media (max-width: 767px) {
  .lux-scroll-collage {
    padding: 20px 0;
  }

  .lux-scroll-track {
    gap: 12px;
    padding: 0 16px;
  }

  .lux-scroll-track video {
    max-height: 340px;
    border-radius: 6px;
  }

  .lux-video-preview {
    bottom: 20px;
    right: 20px;
    width: 85vw;
    height: 60vh;
    max-height: 480px;
  }

  .lux-close-preview {
    width: 28px;
    height: 28px;
    font-size: 18px;
  }
}



/* GLOBAL PRIMARY BUTTON STYLING - CHOCOLATE VERSION */
.button.button--primary {
  background-color: #2E120C !important; /* rich chocolate brown */
  color: #fff !important;
  border-radius: 8px;
  padding: 12px 28px;
  font-family: "Inter", sans-serif;
  font-size: 14px;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  transition: all 0.3s ease;
}

.button.button--primary:hover {
  background-color: #3C1A14 !important; /* slightly deeper on hover */
  transform: scale(1.02);
}

/* === FAQ: Wrapper (centered, luxe layout) === */
.lux-faq-row {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: flex-start;
  max-width: 1200px; /* wider, gives the questions more breathing room */
  margin: 120px auto;
  padding: 0 60px; /* comfortable side spacing */
  font-family: "Inter", sans-serif;
  box-sizing: border-box;
}

/* Single column centered */
.lux-faq {
  width: 100%;
  max-width: 1100px; /* main FAQ width */
}

/* Each accordion item */
.faq-item {
  border-top: 1px solid #e2e2e2;
  background: #f8f8f8;
  margin-bottom: 10px;
  transition: background 0.3s ease;
}
.faq-item:last-of-type {
  border-bottom: 1px solid #e2e2e2;
}
.faq-item:hover {
  background: #f3f3f3;
}

/* === Question Row (centered title) === */
.faq-question {
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  position: relative;
  padding: 22px 20px; /* slightly taller for a luxe feel */
  font-family: "Poppins", sans-serif;
  font-size: 16px;
  font-weight: 500;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #111;
  cursor: pointer;
  transition: color 0.3s ease;
}
.faq-question:hover {
  color: #000;
}
.faq-question::-webkit-details-marker {
  display: none;
}

/* Left icon */
.faq-question .faq-icon {
  position: absolute;
  left: 28px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 17px;
  color: #111;
}

/* Right caret arrow */
.faq-question .arrow {
  position: absolute;
  right: 28px;
  font-size: 17px;
  transition: transform 0.3s ease;
  color: #111;
}
.faq-item[open] .arrow {
  transform: rotate(180deg);
}

/* === Answer Section === */
.faq-answer {
  max-height: 0;
  overflow: hidden;
  opacity: 0;
  transform: translateY(8px);
  transition:
    max-height 0.6s cubic-bezier(.25,.8,.25,1),
    opacity 0.5s ease,
    transform 0.5s ease;
  padding: 0 28px;
  background: #fff;
  text-align: left;
  border-top: 1px solid #eee;
}
details[open] .faq-answer {
  max-height: 9999px;
  opacity: 1;
  transform: translateY(0);
  padding: 18px 28px 28px;
}

/* Answer text */
.faq-answer p,
.faq-answer ul {
  font-size: 15px;
  line-height: 1.8;
  color: #333;
  margin: 0 0 16px;
  overflow-wrap: break-word;
}
.faq-answer ul {
  padding-left: 24px;
}

/* === Mobile Adjustments === */
@media (max-width: 767px) {
  .lux-faq-row {
    padding: 0 20px;
    margin: 80px auto;
  }
  .lux-faq {
    max-width: 100%;
  }
  .faq-question {
    font-size: 14.5px;
    padding: 18px 16px;
  }
  .faq-question .faq-icon {
    left: 12px;
  }
  .faq-question .arrow {
    right: 12px;
  }
}

/* Anim */
@keyframes faqFade{
  from{ opacity:0; transform:translateY(-6px); }
  to{ opacity:1; transform:translateY(0); }
}




/* === Mobile FAQ Styling (Final) === */
@media (max-width: 767px) {
  .lux-faq-row.dual {
    flex-direction: column;   /* stack columns */
    gap: 60px;                /* space between FAQ + Policies */
    margin: 60px auto;        /* breathing room */
    padding: 0 18px;          /* safe side padding */
  }

  .lux-faq {
    min-width: auto;          /* override desktop min-width */
  }

  .lux-faq-heading {
    font-size: 18px;
    margin-bottom: 24px;
  }

  .faq-question {
    font-size: 14px;
    padding: 16px 0;
    line-height: 1.5;
  }

  .arrow {
    font-size: 16px;
    margin-left: 8px;
  }

  .faq-answer p,
  .faq-answer ul {
    font-size: 13.5px;
    line-height: 1.6;
  }


  /* === MOBILE FIX (no max-height animation) === */
@media (max-width: 767px) {
  .faq-answer {
    max-height: none !important;   /* kill height restriction */
    display: none;                 /* fully hidden when closed */
    opacity: 0;
    transform: translateY(8px);
    transition:
      opacity 0.4s ease,
      transform 0.4s ease;
  }

  details[open] .faq-answer {
    display: block;                /* reveal full content */
    opacity: 1;
    transform: translateY(0);
  }
}


/* Fix FAQ width jump on MOBILE */
@media (max-width: 767px) {
  .lux-faq-row.dual {
    flex-direction: column;
    width: 100% !important;
    max-width: 100% !important;
    margin: 60px 0;                /* or keep your auto centering */
    padding: 0 18px;               /* your existing safe padding */
    box-sizing: border-box;
  }

  /* force each column to fill the row */
  .lux-faq {
    flex: none !important;
    width: 100% !important;
    min-width: 100% !important;    /* overrides desktop 400px */
    box-sizing: border-box;
  }

  /* make all rows/answers use the same width box */
  .faq-item,
  .faq-question,
  .faq-answer {
    width: 100%;
    box-sizing: border-box;
  }

  /* optional: make padding consistent so width never changes on open */
  .faq-question { padding: 16px 0; }
  .faq-answer   { padding: 0 0 16px; }
}

/* --- Dropdown Fix for Mobile --- */
  .faq-answer {
    max-height: 0;
    overflow: hidden;
    opacity: 0;
    transform: translateY(8px);
    transition:
      max-height 0.6s cubic-bezier(0.25, 0.8, 0.25, 1),
      opacity 0.5s ease,
      transform 0.5s ease;
  }

  details[open] .faq-answer {
    max-height: 2000px;   /* large enough for long answers/tables */
    opacity: 1;
    transform: translateY(0);
  }
}

.lux-steps-horizontal {
  display: flex;
  flex-wrap: wrap;
  gap: 40px;
  justify-content: space-between;
  margin: 80px auto;
  max-width: 1280px;
  padding: 0 24px;
}

.lux-step-block {
  flex: 1 1 30%;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  text-align: left;
}

.lux-step-media {
  width: 100%;
  height: 560px; /* ⬅️ Taller desktop height */
  object-fit: cover;
  object-position: center;
  border-radius: 10px;
  margin-bottom: 24px;
  transition: transform 0.4s ease;
}

.lux-step-media:hover {
  transform: scale(1.02); /* Luxe subtle zoom */
}

/* Optional: keep image class consistent */
.lux-step-image {
  width: 100%;
  height: 560px; /* Match updated media height */
  object-fit: cover;
  object-position: center;
  border-radius: 10px;
  margin-bottom: 24px;
}

/* === Mobile scaling === */
@media (max-width: 767px) {
  .lux-steps-horizontal {
    flex-direction: column;
    gap: 60px;
    padding: 0 20px;
  }

  .lux-step-block {
    flex: 1 1 100%;
    align-items: center;
    text-align: center;
  }

  .lux-step-number,
  .lux-step-title,
  .lux-step-description {
    text-align: center;
  }

  .lux-step-media,
  .lux-step-image {
    height: 400px; /* ⬅️ Taller than before but not overwhelming */
  }
}


.lux-step-number {
  font-family: 'Playfair Display', serif;
  font-size: 32px;
  font-weight: 700;
  color: #7C7C7C;
  margin-bottom: 4px;
  line-height: 1;
}

.lux-step-title {
  font-family: 'Helvetica Neue', sans-serif;
  font-size: 14px;
  font-weight: 600;
  color: #7C7C7C;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  margin-bottom: 4px;
  position: relative;
  padding-bottom: 8px;
}

/* Thin editorial line underneath the title */
.lux-step-title::after {
  content: "";
  display: block;
  width: 85px;
  height: 1px;
  background-color: #111; 
  margin-top: 8px;
}


.lux-step-description {
  font-family: 'Helvetica Neue', sans-serif;
  font-size: 14px;
  line-height: 1.75;
  color: #333;
  margin: 0;
}

/* === Fade-up animation for each step block === */
.lux-step-block {
  opacity: 0;
  transform: translateY(40px);
  animation: fadeUpSteps 1s ease-out forwards;
}

/* Optional: stagger the fade-up for elegance */
.lux-step-block:nth-child(1) {
  animation-delay: 0.2s;
}
.lux-step-block:nth-child(2) {
  animation-delay: 0.4s;
}
.lux-step-block:nth-child(3) {
  animation-delay: 0.6s;
}

@keyframes fadeUpSteps {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* === Luxe Hover Effects for Step Images === */
.lux-step-image {
  width: 100%;
  height: 560px;
  object-fit: cover;
  object-position: center;
  border-radius: 10px;
  margin-bottom: 24px;

  transition: transform 0.6s cubic-bezier(0.25, 1, 0.3, 1), 
              box-shadow 0.6s ease;
  will-change: transform;
}

/* Elegant float/zoom on hover */
.lux-step-image:hover {
  transform: scale(1.04) translateY(-8px); /* smooth zoom + float */
  box-shadow: 0 20px 40px rgba(0,0,0,0.15); /* luxe shadow depth */
}

/* === Mobile: Lux Steps Horizontal Scroll (swipe) === */
@media (max-width: 767px) {
  /* Container becomes a horizontal scroller */
  .lux-steps-horizontal {
    /* override any earlier column rules */
    display: grid;
    grid-auto-flow: column;        /* lay cards side-by-side */
    grid-auto-columns: 80%;        /* each card ~80% of viewport */
    gap: 16px;

    width: 100%;
    padding: 0 16px 20px;
    margin: 32px 0;

    overflow-x: auto;
    overflow-y: visible;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior-x: contain;

    scroll-snap-type: x mandatory; /* snap per card */
    scroll-padding-left: 16px;     /* align first snap to padding */
  }

  /* Cards */
  .lux-step-block {
    scroll-snap-align: start;
    background: #fff;
    border-radius: 10px;
    box-shadow: 0 4px 14px rgba(0,0,0,0.06);
    padding: 14px;

    /* tidy inner layout */
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
  }

  /* Media sizing for mobile */
  .lux-step-media,
  .lux-step-image {
    height: 240px;
    margin-bottom: 12px;
    border-radius: 10px;
  }

  /* Type scale on mobile */
  .lux-step-number { font-size: 22px; margin-bottom: 2px; }
  .lux-step-title  { font-size: 13px; margin-bottom: 4px; }
  .lux-step-title::after { width: 48px; margin: 6px auto 0; }
  .lux-step-description { font-size: 13px; line-height: 1.6; }

  /* Optional: hide scrollbar for cleaner look */
  .lux-steps-horizontal::-webkit-scrollbar { display: none; }
  .lux-steps-horizontal { scrollbar-width: none; -ms-overflow-style: none; }
}

/* Fallback (older browsers without CSS Grid) */
@media (max-width: 767px) {
  @supports not (grid-auto-flow: column) {
    .lux-steps-horizontal {
      display: flex;
      flex-direction: row !important;  /* override any column rule */
      flex-wrap: nowrap !important;
      overflow-x: auto;
      gap: 16px;
      scroll-snap-type: x mandatory;
      -webkit-overflow-scrolling: touch;
      padding: 0 16px 20px;
    }
    .lux-step-block {
      flex: 0 0 80%;
      scroll-snap-align: start;
    }
  }
}

/* === Heading (MICROBLADING) === */
#shopify-section-template--25212340797759__rich_text_4dnRNY .rich-text__heading {
  font-family: 'Inter', sans-serif;
  font-weight: 700;
  font-size: 28px;
  color: #111;
  margin-bottom: 6px; /* Reduced from 12px */
}

/* === Subheading (Your Brows...) === */
#shopify-section-template--25212340797759__rich_text_4dnRNY .rich-text__text p {
  font-family: 'Poppins', sans-serif;
  font-style: italic;
  font-size: 16px;
  text-align: center;
  position: relative;
  margin: 0 auto 16px auto; /* Reduced gap below the subheading */
  max-width: 95vw;
  padding-bottom: 10px;
  color: #11;
  display: block;
}

#shopify-section-template--25212340797759__rich_text_4dnRNY .rich-text__text p::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 90vw; /* stays inside the screen */
  max-width: 1280px;
  height: 1px;
  background-color: #3a120e;
  opacity: 0.9;
}


/* === Luxe After Carousel: Slim, Modern & Editorial === */
.lux-after-carousel {
  display: flex;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  gap: 28px;
  padding: 40px 0;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  scroll-behavior: smooth;

  width: 96%;              /* wide but with elegant side breathing */
  margin: 0 auto;
  max-width: 1600px;
}

.lux-after-carousel::-webkit-scrollbar {
  display: none;
}

/* Media items — tall, narrow, refined proportions */
.after-media-item {
  flex: 0 0 auto;
  scroll-snap-align: start;
  width: 260px;            /* narrower for a luxe gallery look */
  height: 560px;           /* tall and elegant */
  border-radius: 0;
  overflow: hidden;
  background: #f6f1eb;
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.04);
  transition: transform 0.4s ease, box-shadow 0.4s ease;
}

.after-media-item:hover {
  transform: translateY(-6px);
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.08);
}

.after-media-item video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
  border: none;
}

/* === Optional subtle fade edges for ultra-premium scroll feel === */
.lux-after-carousel::before,
.lux-after-carousel::after {
  content: "";
  flex: 0 0 60px;
  pointer-events: none;
}

/* === Mobile Refinement === */
@media (max-width: 767px) {
  .lux-after-carousel {
    width: 94%;
    padding: 28px 0;
    gap: 18px;
  }

  .after-media-item {
    width: 220px;   /* keep elegant thin feel */
    height: 460px;
  }
}


.lux-booking-button-wrap {
  text-align: center;
  margin-top: 40px;
  opacity: 0;
  animation: fadeInBooking 1.2s ease-out forwards;
  animation-delay: 0.4s;
}

.lux-booking-button {
  display: inline-block;
  width: 100%;
  max-width: 420px;
  padding: 20px 32px; /* Slightly more height for elegance */
  font-family: "Poppins", sans-serif;
  font-size: 15px; /* Slightly smaller — feels more refined */
  font-weight: 500; /* Lighter weight */
  text-transform: uppercase;
  letter-spacing: 1px; /* Better tracking for uppercase */
  background-color: #111;
  color: #fff;
  text-decoration: none;
  border: none;
  border-radius: 0;
  text-align: center;
  transition: background-color 0.3s ease, transform 0.3s ease, box-shadow 0.3s ease;
  box-shadow: 0 6px 14px rgba(0, 0, 0, 0.1);
}

.lux-booking-button:hover {
  background-color: #111;
  transform: translateY(-2px);
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.15);
}

@keyframes fadeInBooking {
  to {
    opacity: 1;
  }
}

/* === Booking Button - Mobile Optimization === */
@media (max-width: 767px) {
  .lux-booking-button-wrap {
    margin-top: 28px;               /* tighter spacing */
    padding: 0 20px;                /* side breathing room */
  }

  .lux-booking-button {
    max-width: 90%;                 /* not edge-to-edge */
    padding: 18px 20px;             /* tall enough for thumb, slimmer sides */
    font-size: 14px;                /* scale down a touch */
    letter-spacing: 0.8px;          /* slightly tighter for small screens */
    border-radius: 6px;             /* softer, touch-friendly */
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12);
    transition: transform 0.2s ease, box-shadow 0.2s ease, background-color 0.25s ease;
  }

  /* Touch "press" effect */
  .lux-booking-button:active {
    transform: scale(0.98);         /* subtle shrink */
    box-shadow: 0 2px 8px rgba(0,0,0,0.15);
  }
}



/* === Inclusions Section - Editorial Smooth Marquee === */
.lux-inclusions-wrap {
  background: #fff;
  padding: 60px 20px;
  text-align: center;
  overflow: hidden;
}

.lux-inclusions-heading {
  font-family: 'Poppins', sans-serif;
  font-size: 28px;
  font-weight: 500;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: #111;
  margin-bottom: 40px;
}

/* Marquee wrapper */
.lux-inclusions-marquee {
  position: relative;
  overflow: hidden;
  white-space: nowrap;
  padding: 20px 0;
  mask-image: linear-gradient(to right, transparent, #111 10%, #111 90%, transparent);
  -webkit-mask-image: linear-gradient(to right, transparent, #111 10%, #111 90%, transparent);
}

/* Track (duplicated for seamless loop) */
.inclusion-track {
  display: inline-block;
  white-space: nowrap;
  animation: scrollInclusions 35s linear infinite;
  will-change: transform;
}

/* Pause on hover */
.lux-inclusions-marquee:hover .inclusion-track {
  animation-play-state: paused;
}

/* Each item */
.inclusion-item {
  display: inline-block;
  margin: 0 60px;
  font-family: 'Inter Tight', 'Helvetica Neue', sans-serif;
  font-size: 16px;
  font-weight: 300;
  font-style: italic;
  color: #111;
  letter-spacing: 0.04em;
}

/* Smooth scroll animation */
@keyframes scrollInclusions {
  0%   { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}

/* === Mobile Optimization === */
@media (max-width: 767px) {
  .lux-inclusions-wrap {
    padding: 40px 12px;
  }

  .lux-inclusions-heading {
    font-size: 20px;
    letter-spacing: 0.12em;
    margin-bottom: 28px;
  }

  .lux-inclusions-marquee {
    padding: 12px 0;
    mask-image: linear-gradient(to right, transparent, #111 6%, #111 94%, transparent);
    -webkit-mask-image: linear-gradient(to right, transparent, #111 6%, #111 94%, transparent);
  }

  .inclusion-track {
    animation: scrollInclusions 45s linear infinite; /* slower for easier reading */
  }

  .inclusion-item {
    margin: 0 30px;          /* tighter spacing */
    font-size: 14px;         /* lighter on small screens */
    white-space: nowrap;     /* prevent awkward breaks */
  }
}

.lux-split-edge {
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  width: 100%;
  max-width: 100vw;
  margin: 0;
  gap: 0; /* handled by margins below */
}

.lux-split-left,
.lux-split-right {
  flex: 1 1 50%;
}

.lux-split-left img,
.lux-split-right img {
  width: 100%;
  height: 85vh;           /* editorial feel on desktop */
  object-fit: cover;
  display: block;
}

/* Create breathing gap between the two halves */
.lux-split-left {
  margin-right: 40px;
}
.lux-split-right {
  margin-left: 40px;
}

/* === Mobile Optimization === */
@media (max-width: 767px) {
  .lux-split-edge {
    flex-direction: column;
    gap: 20px; /* clean spacing between stacked images */
  }

  .lux-split-left,
  .lux-split-right {
    margin: 0;
  }

  .lux-split-left img,
  .lux-split-right img {
    width: 100%;
    height: auto;               /* let image scale naturally */
    aspect-ratio: 4 / 5;        /* luxe editorial vertical ratio */
    object-fit: cover;
    border-radius: 4px;         /* subtle polish */
  }
}



/* Track - flex row (always horizontal) */
.carousel-track {
  display: flex;
  gap: 30px;
  flex-wrap: nowrap;        /* ❌ no wrapping */
  justify-content: flex-start;
  overflow-x: auto;          /* ✅ allow horizontal scroll */
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;     /* hide scrollbar Firefox */
}
.carousel-track::-webkit-scrollbar {
  display: none;             /* hide scrollbar Chrome/Safari */
}

/* Review Card Styling */
.review-card {
  flex: 0 0 360px; /* fixed width per card */
  background: #fafafa;
  border-radius: 10px;
  padding: 28px 24px;
  box-shadow: 0 6px 18px rgba(0,0,0,0.08);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

/* Hover effect */
.review-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 14px 32px rgba(0,0,0,0.12);
}

/* Review Images */
.review-with-image img {
  width: 100%;
  height: auto;
  border-radius: 8px;
  display: block;
}

/* Make screenshot reviews bigger */
.review-card.review-with-image {
  flex: 0 0 500px;   /* wider card */
  padding: 16px;     /* tighter padding so image dominates */
}

.review-card.review-with-image img {
  width: 100%;
  max-height: 600px; /* scale up more */
  object-fit: contain;
  border-radius: 10px;
}



/* Text-based review cards */
.review-text {
  text-align: center;
  font-family: 'Helvetica Neue', sans-serif;
  color: #222;
}

.review-text .review-quote {
  font-size: 18px;
  font-style: italic;
  line-height: 1.8;
  margin-bottom: 20px;
  color: #333;
}

.reviews-title {
  font-family: 'Poppins', sans-serif;
  font-size: 28px;
  font-weight: 500;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: #111; /* jet black */
  margin-bottom: 40px;
  text-align: center; /* ✅ keeps it centered */
}

.review-text .review-author {
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: #1a1a1a; /* brand red accent */
}

/* === Mobile Optimization: Reviews Carousel === */
@media (max-width: 767px) {
  .reviews-title {
    font-size: 20px;
    margin-bottom: 28px;
    letter-spacing: 0.12em;
  }

  .carousel-track {
    gap: 20px;                 /* tighter gap */
    padding: 0 16px;           /* side padding for safe edges */
  }

  .review-card {
    flex: 0 0 80%;             /* use 80% of viewport width */
    max-width: 320px;          /* cap so it doesn’t blow up */
    padding: 20px 18px;
    border-radius: 8px;
  }

  /* Image reviews */
  .review-card.review-with-image {
    flex: 0 0 85%;             /* image cards slightly wider */
    max-width: 340px;
    padding: 10px;
  }

  .review-card.review-with-image img {
    max-height: 420px;         /* shrink for small screens */
    object-fit: cover;
  }

  /* Text-based reviews */
  .review-text .review-quote {
    font-size: 15px;
    line-height: 1.6;
    margin-bottom: 16px;
  }

  .review-text .review-author {
    font-size: 12px;
    letter-spacing: 0.04em;
  }

  /* Extra polish: snap scrolling for mobile */
  .carousel-track {
    scroll-snap-type: x mandatory;
  }
  .review-card {
    scroll-snap-align: center;
  }
}


/* === THREE-VIDEO HERO === */
.lux-training-hero.three-videos {
  position: relative;
  width: 100%;
  height: 70vh; /* adjust as needed */
  overflow: hidden;
  display: flex;
  justify-content: center;
  align-items: center;
}

/* Flex container for 3 videos */
.lux-training-hero.three-videos .hero-videos {
  display: flex;
  width: 100%;
  height: 100%;
  z-index: 1;
}

.lux-training-hero.three-videos .hero-videos video {
  flex: 1;                  /* each takes equal width */
  height: 100%;
  object-fit: cover;
}

/* Overlay text */
.lux-training-hero.three-videos .hero-overlay {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 2;
  text-align: center;
  color: #fff;
  padding: 20px;
  width: 100%;
}

.lux-training-hero.three-videos .hero-title {
  font-size: 34px;
  font-weight: 400;
  margin-bottom: 24px;
}

/* === Sleek Underline Button (reuse same style) === */
.lux-training-hero.three-videos .hero-btn {
  display: inline;
  font-size: 18px;
  font-weight: 600;
  color: #fff;
  text-decoration: none;
  position: relative;
  padding: 0;
  background: none;
  border: none;
  transition: color 0.3s ease;
  line-height: 1.3;
}

.lux-training-hero.three-videos .hero-btn::before {
  display: none !important;
  content: none !important;
}

.lux-training-hero.three-videos .hero-btn::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -2px;
  width: 0%;
  height: 2px;
  background: #fff;
  transition: width 0.4s ease;
}

.lux-training-hero.three-videos .hero-btn:hover::after {
  width: 100%;
}

.lux-training-hero.three-videos .hero-btn:hover {
  color: #fff;
}

/* === Mobile Optimization: Three-Video Hero === */
@media (max-width: 767px) {
  .lux-training-hero.three-videos {
    height: auto;              /* let content define height */
    flex-direction: column;    /* stack vertically */
  }

  .lux-training-hero.three-videos .hero-videos {
    flex-direction: column;    /* stack videos */
    height: auto;
  }

  .lux-training-hero.three-videos .hero-videos video {
    width: 100%;
    height: 35vh;              /* shorter, elegant vertical ratio */
    object-fit: cover;
  }

  /* Overlay moves below videos for clarity */
  .lux-training-hero.three-videos .hero-overlay {
    position: relative;
    top: auto;
    left: auto;
    transform: none;
    padding: 28px 16px 40px;
    background: linear-gradient(to top, rgba(0,0,0,0.7), rgba(0,0,0,0)); 
    color: #fff;
  }

  .lux-training-hero.three-videos .hero-title {
    font-size: 22px;         /* smaller but strong */
    font-weight: 500;
    margin-bottom: 20px;
    line-height: 1.3;
    letter-spacing: 0.05em;
  }

  .lux-training-hero.three-videos .hero-btn {
    font-size: 15px;
    font-weight: 600;
  }

  .lux-training-hero.three-videos .hero-btn::after {
    bottom: -4px;
    height: 1.5px;           /* sleeker underline */
  }
}

/* Container */
.lux-training-hero.one-video {
  position: relative;
  width: 100%;
  height: 70vh; /* adjust height as needed */
  overflow: hidden;
  display: flex;
  justify-content: center;
  align-items: center;
}

/* Video styling */
.lux-training-hero.one-video .hero-video video {
  position: absolute;
  top: 0; left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 1;
}

/* Overlay text */
.lux-training-hero.one-video .hero-overlay {
  position: absolute;         /* sit on top of the video */
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%); /* center perfectly */
  z-index: 2;
  text-align: center;
  color: #fff;
  padding: 20px;
  width: 100%; /* ensures text wraps nicely */
}

.lux-training-hero.one-video .hero-title {
  font-size: 34px;
  font-weight: 400;
  margin-bottom: 24px; /* ⬅️ more breathing room before button */
}

/* === ONE-VIDEO HERO BUTTON (sleek underline animation) === */
.lux-training-hero.one-video .hero-btn {
  display: inline;   /* width matches text only */
  font-size: 18px;
  font-weight: 600;
  color: #fff;
  text-decoration: none;
  position: relative;
  padding: 0;
  background: none;
  border: none;
  transition: color 0.3s ease;
  line-height: 1.3;
}

/* Disable the fill effect from global .hero-btn */
.lux-training-hero.one-video .hero-btn::before {
  display: none !important;
  content: none !important;
}

/* Underline effect */
.lux-training-hero.one-video .hero-btn::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -2px;
  width: 0%;
  height: 2px;
  background: #fff;
  transition: width 0.4s ease;
}

/* Hover state */
.lux-training-hero.one-video .hero-btn:hover::after {
  width: 100%;
}

.lux-training-hero.one-video .hero-btn:hover {
  color: #fff;
}

/* Force overlay text white in both hero types */
.lux-training-hero.three-videos .hero-overlay,
.lux-training-hero.three-videos .hero-title,
.lux-training-hero.three-videos .hero-btn,
.lux-training-hero.one-video .hero-overlay,
.lux-training-hero.one-video .hero-title,
.lux-training-hero.one-video .hero-btn {
  color: #fff !important;
  fill: #fff !important;
}

/* === Mobile Optimization for One-Video Hero === */
@media (max-width: 767px) {
  .lux-training-hero.one-video {
    height: 55vh; /* shorter, more mobile-friendly hero */
  }

  .lux-training-hero.one-video .hero-overlay {
    padding: 12px;       /* tighter padding */
    width: 90%;          /* prevent text from touching edges */
  }

  .lux-training-hero.one-video .hero-title {
    font-size: 22px;     /* balanced headline size */
    line-height: 1.3;
    margin-bottom: 18px; /* slightly reduced gap above button */
  }

  .lux-training-hero.one-video .hero-btn {
    font-size: 15px;     /* slimmer button text */
  }

  .lux-training-hero.one-video .hero-btn::after {
    height: 1.5px;       /* sleeker underline */
  }
}


/* === Combined Intro + Info Section (Text Only, No Box) === */
.microblading-info {
  max-width: 950px;
  margin: 80px auto 60px;
  padding: 0 20px;
  text-align: center;

  opacity: 0;
  transform: translateY(30px);
  animation: fadeUpMicro 1.2s ease-out forwards;
  animation-delay: 0.2s;
}

/* Luxe Service Heading (Poppins uppercase, editorial spacing) */
.microblading-info .lux-service-heading {
  font-family: 'Poppins', sans-serif !important;
  font-weight: 400 !important;
  font-size: 32px !important;
  line-height: 1.3 !important;
  letter-spacing: 0.25em !important; /* strong editorial spacing */
  text-transform: uppercase !important;
  margin: 0 0 12px 0 !important;
  white-space: nowrap !important; /* prevent line break */
  color: #111;
}

/* Luxe Subheading (Inter Tight italic, light) */
.microblading-info .lux-service-subheading {
  font-family: 'Inter Tight', 'Helvetica Neue', sans-serif;
  font-style: italic;
  font-size: 14px;
  font-weight: 100;
  margin: 0 auto 28px auto;
  max-width: 80%;
  color: #555;
  opacity: 0.9;
}

/* Paragraphs (clean Inter Tight body) */
.microblading-info p {
  font-family: 'Inter Tight', 'Helvetica Neue', sans-serif;
  font-size: 16px;
  line-height: 1.85;
  color: #333;
  letter-spacing: 0.015em;
  font-weight: 300;
  margin-bottom: 20px;
}

.microblading-info p:last-child {
  margin-bottom: 0;
}

.microblading-info strong {
  font-weight: 600;
  color: #3a120e; /* accent */
}

/* Animation */
@keyframes fadeUpMicro {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Luxe highlighted line (uppercase editorial bar) */
.microblading-info .lux-highlight-line {
  font-family: 'Inter Tight', 'Helvetica Neue', sans-serif;
  font-size: 16px;
  font-weight: 400;
  font-style: italic;
  color: #111;
  text-transform: uppercase;
  letter-spacing: 0; /* normal spacing */
  margin: 32px auto 28px auto;
  display: inline-block;
  position: relative;
}

/* Champagne underline */
.microblading-info .lux-highlight-line::after {
  content: "";
  position: absolute;
  bottom: -8px;
  left: 50%;
  transform: translateX(-50%);
  width: 80%;
  height: 1px;
  background: linear-gradient(90deg, #444, #444);
  border-radius: 2px;
}

/* Parenthetical Playfair line (kept) */
.microblading-info .lux-parenthetical {
  font-family: 'Playfair Display', serif;
  font-size: 15px;
  font-style: italic;
  color: #555;
  margin-top: 16px;
  line-height: 1.7;
}

/* Mobile */
@media (max-width: 767px) {
  .microblading-info {
    max-width: 92vw;
    margin: 40px auto;
    padding: 0 14px;
  }

  .microblading-info .lux-service-heading {
    font-size: 24px !important;
    letter-spacing: 0.2em !important;
  }

  .microblading-info .lux-service-subheading {
    font-size: 13px;
    margin-bottom: 18px;
  }

  .microblading-info p {
    font-size: 14px;
    line-height: 1.7;
  }
}

/* === Mobile Scaling (≤767px) === */
@media (max-width: 767px) {
  /* Highlight line */
  .microblading-info .lux-highlight-line {
    font-size: 13px;              /* smaller, cleaner */
    letter-spacing: 0.02em;       /* subtle editorial spacing */
    margin: 20px auto 18px auto;  /* tighter vertical spacing */
    text-align: center;
  }

  /* Underline below highlight */
  .microblading-info .lux-highlight-line::after {
    width: 95%;                   /* stretch a bit more on mobile */
    bottom: -6px;                 /* closer to text */
  }

  /* Parenthetical text */
  .microblading-info .lux-parenthetical {
    font-size: 13px;              /* smaller body size */
    line-height: 1.6;             /* tighter leading for mobile */
    margin-top: 12px;
    text-align: center;           /* keep it centered */
    padding: 0 12px;              /* add breathing room on narrow screens */
  }
}



/* === LUX SCROLL-UP STICKY HEADER === */
.header-wrapper {
  position: fixed !important;   /* lock to top */
  top: 0;
  left: 0;
  right: 0;
  width: 100%;
  background: #fff;             /* premium clean background */
  z-index: 1000;
  transform: translateY(-100%); /* start hidden */
  opacity: 0;
  transition: transform 0.4s ease, opacity 0.4s ease;
  will-change: transform, opacity;
  box-shadow: 0 8px 24px rgba(0,0,0,0.05); /* subtle luxe shadow */
}

/* When scrolling up → reveal */
.header-wrapper.show-on-scroll-up {
  transform: translateY(0);
  opacity: 1;
}

/* === Show header immediately on page load === */
.header-wrapper.init-show {
  transform: translateY(0);
  opacity: 1;
}


/* === Tighten Left Alignment of Logo Section === */
.footer__content-top {
  padding-left: 2%;   /* reduce left space from ~5% → 2% */
}

@media (min-width: 1200px) {
  .footer__content-top {
    padding-left: 40px;  /* even cleaner, fixed offset */
  }
}

.footer__brand-logo-wrapper {
  margin-left: 0 !important;
  text-align: left !important;
}

.footer__brand-logo {
  margin-left: 0 !important;
  display: block;
}

/* === Align Footer Left Column (Logo + Newsletter) === */
.footer__brand-logo-wrapper,
.footer-block__heading.inline-richtext,
.footer__newsletter,
.footer__socials {
  text-align: left !important;
  margin-left: 0 !important;
}

/* tighter and structured alignment */
.footer__content-top {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr; /* logo/newsletter | center | right links */
  align-items: start;
  padding-left: 40px; /* consistent left breathing */
  padding-right: 40px;
  gap: 60px;
}

/* logo sizing */
.footer__brand-logo {
  max-width: 140px;
  height: auto;
  display: block;
  margin-bottom: 24px;
}

/* newsletter heading */
.footer-block__heading.inline-richtext {
  font-family: 'Inter', 'Helvetica Neue', Arial, sans-serif;
  font-weight: 500;
  font-size: 15px;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: #111;
  margin-bottom: 16px;
  text-align: left !important;
}

/* newsletter form (input + button) */
.footer__newsletter .newsletter-form__field-wrapper {
  max-width: 320px; /* match REFY width */
  width: 100%;
}

.footer__newsletter input {
  border: 1px solid #111;
  border-radius: 0;
  padding: 10px 14px;
  font-size: 14px;
  font-family: 'Inter', 'Helvetica Neue', Arial, sans-serif;
}

.footer__newsletter button {
  border-radius: 0;
  border: 1px solid #111;
  font-size: 14px;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  transition: background 0.3s ease;
}

.footer__newsletter button:hover {
  background: #111;
  color: #fff;
}

/* socials */
.footer__socials {
  margin-top: 24px;
  text-align: left !important;
}

/* === FOOTER SOCIALS (LEFT COLUMN UNDER NEWSLETTER) === */
.footer__socials {
  text-align: left !important;
  margin-top: 36px;          /* space above the "FOLLOW US" */
  margin-left: 0 !important;
}

.footer__social-title {
  font-family: 'Inter', 'Helvetica Neue', Arial, sans-serif;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #111;
  margin-bottom: 10px;       /* slight gap above icons */
  text-align: left !important;
}

/* Arrange the icons inline below the title */
.footer__list-social {
  display: flex;
  justify-content: flex-start !important;
  align-items: center;
  gap: 16px;
  padding: 0;
  list-style: none;
  margin: 0;
}

/* Icon style */
.footer__list-social .list-social__link svg {
  width: 26px;
  height: 26px;
  transition: transform 0.3s ease;
}

.footer__list-social .list-social__link:hover svg {
  transform: scale(1.15);
  opacity: 0.85;
}


/* === Footer Layout Refinement (Logo Left Like REFY) === */
.footer__content-top {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start; /* push content left */
  align-items: flex-start;
  gap: 60px; /* spacing between logo/newsletter and link columns */
  max-width: 1400px;
  margin: 0 auto;
  padding: 60px 5%; /* elegant horizontal breathing room */
}

/* Logo block far left */
.footer__brand-logo-wrapper {
  text-align: left !important;
  margin-bottom: 24px;
  flex: 1 1 300px; /* allow it to size nicely */
}

.footer__brand-logo {
  max-width: 140px; /* matches REFY’s proportion */
  height: auto;
  display: block;
}

/* Newsletter + social directly below logo */
.footer__newsletter,
.footer__socials {
  text-align: left !important;
  margin-left: 0 !important;
  max-width: 380px;
}

/* For the link columns (Brand, Customer Care, Legal) */
.footer-block {
  flex: 1 1 200px;
  text-align: left;
}

.footer-block__heading {
  font-size: 13px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  margin-bottom: 14px;
  color: #111;
}

.footer-block__list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.footer-block__list li a {
  color: #222;
  font-size: 14px;
  text-decoration: none;
  transition: color 0.3s ease;
}

.footer-block__list li a:hover {
  color: #000;
}

/* === Luxe Footer Left Alignment (Tighter like REFY) === */
.footer__content-top {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 60px;
  max-width: 1400px;
  margin: 0 auto;
  padding-left: 2%;  /* tighter — nearly flush with page edge */
  padding-right: 6%; /* keeps right side balanced */
  padding-top: 60px;
  padding-bottom: 60px;
}

/* For large screens, anchor even more precisely */
@media (min-width: 1600px) {
  .footer__content-top {
    padding-left: 40px;  /* pixel-based precision anchor */
    padding-right: 80px;
  }
}

/* Keep left column aligned */
.footer__brand-logo-wrapper,
.footer__newsletter,
.footer__socials {
  margin-left: 0 !important;
  text-align: left !important;
}

/* === Align Copyright Text to Far Right === */
.footer__content-bottom {
  position: relative; /* ensure positioning context */
}

/* === Copyright: Flush with Scrollbar (Bottom-Right Alignment) === */
.footer__content-bottom {
  position: relative !important;
  padding-bottom: 80px !important; /* keeps enough breathing room above the browser edge */
}

.footer__copyright {
  position: fixed !important;   /* lock to viewport edge */
  right: 6px !important;        /* almost touching the scrollbar */
  bottom: 8px !important;       /* tight to bottom */
  font-family: 'Inter', 'Helvetica Neue', Arial, sans-serif;
  font-size: 13px;
  color: #222;
  letter-spacing: 0.02em;
  opacity: 0.85;
  text-align: right;
  background: transparent;
  z-index: 9999;                /* stays above footer visuals */
  pointer-events: none;         /* ensures it doesn’t block interactions */
}



/* Mobile: pull it slightly inward for safe spacing */
@media (max-width: 767px) {
  .footer__copyright {
    right: 12px !important;
    bottom: 6px !important;
    font-size: 12px;
  }
}

/* Mobile tidy alignment */
@media (max-width: 767px) {
  .footer__content-top {
    flex-direction: column;
    align-items: flex-start;
    gap: 32px;
    padding: 40px 20px;
  }

  .footer__brand-logo {
    max-width: 120px;
  }
}


/* Mobile: pull cart-drawer close button inward */
@media (max-width: 767px) {
  /* make sure the header is the positioning context */
  cart-drawer .drawer__header,
  #CartDrawer .drawer__header {
    position: relative !important;
  }

  /* anchor + offset the X button */
  cart-drawer .drawer__close,
  #CartDrawer .drawer__close {
    position: absolute !important;
    top: 10px !important;
    /* iOS safe area + a little padding */
    right: calc(env(safe-area-inset-right, 0px) + 20px) !important;

    /* extra nudge inward in case a theme rule still pushes it */
    transform: translateX(-6px) !important;

    width: 36px !important;
    height: 36px !important;
    display: grid !important;
    place-items: center !important;
  }
}

@media (max-width: 767px) {
  /* Footer brand logo */
  .footer__brand-logo-wrapper {
    text-align: center;
    margin-bottom: 16px;   /* slightly tighter spacing */
  }

  .footer__brand-logo {
    max-width: 140px;      /* smaller + refined for mobile */
    height: auto;
    display: inline-block;
  }

  /* Social block */
  .footer__socials {
    text-align: center;
    width: 100%;
    margin: 24px auto 12px; /* more top breathing room, tighter bottom */
  }

  .footer__social-title {
    text-align: center;
    font-size: 12px;       /* slim + premium look */
    font-weight: 600;
    letter-spacing: 0.15em;
    margin-bottom: 8px;
    text-transform: uppercase;
    color: #111;
  }

  /* Social icons row */
  .footer__list-social {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 12px;             /* tighter than desktop */
    margin-top: 4px;
    padding: 0;
    list-style: none;
  }

  /* Icon sizing */
  .footer__list-social .list-social__link svg {
    width: 22px;
    height: 22px;
    transition: transform 0.25s ease;
  }

  .footer__list-social .list-social__link:hover svg {
    transform: scale(1.12); /* buttery micro-interaction */
  }
}



.lux-single-image {
  position: relative;
  width: 90%;
  max-width: 1200px;
  height: 60vh;
  margin: 0 auto;
  overflow: hidden;
  border-radius: 12px;
}

.lux-single-image img {
  width: 100%;
  height: 120%;              /* oversize to allow slide room */
  object-fit: cover;
  object-position: center;
  transform: translateY(-10%); /* starting offset */
  transition: transform 0.2s linear;
  will-change: transform;
}

.lux-single-image.parallax-active img {
  transform: translateY(-30%); /* deeper slide on scroll */
}



/* === Overlay Text Styling === */
.lux-overlay-text {
  position: absolute;
  top: 0; left: 0;
  width: 100%; height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: space-between; /* evenly spaced */
  align-items: center;
  padding: 30px 20px;
  text-align: center;
  color: #111;
  z-index: 2;
}

/* Text layers */
.lux-overlay-text .top-text {
  font-size: 16px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
}

.lux-overlay-text .middle-text {
  font-size: 22px;
  font-weight: 400;
  letter-spacing: 0.05em;
}

.lux-overlay-text .bottom-text {
  font-size: 16px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}
/* === Mobile Luxe Single Image Fix === */
@media (max-width: 767px) {
  .lux-single-image {
    width: 92%;              /* keep slim margins left + right */
    max-width: 100%;         
    height: 50vh;            /* shorter, more balanced height */
    border-radius: 10px;     /* subtle luxe rounding */
    margin: 0 auto 32px;     /* spacing below */
  }

  .lux-single-image img {
    width: 100%;
    height: 100%;            /* fit container exactly */
    object-fit: cover;
    object-position: center 35%; /* lift subject a bit */
    transform: none;         /* no offset on load */
  }

  /* Adjust parallax effect for mobile */
  .lux-single-image.parallax-active img {
    transform: translateY(-8%); /* gentle parallax */
  }
}
  .lux-overlay-text {
    padding: 20px 12px;
    text-align: center;
    color: #fff;             /* force white overlay text */
  }

  .lux-overlay-text .top-text,
  .lux-overlay-text .middle-text,
  .lux-overlay-text .bottom-text {
    color: #fff !important;
  }

  .lux-overlay-text .top-text {
    font-size: 13px;
    letter-spacing: 0.15em;
  }

  .lux-overlay-text .middle-text {
    font-size: 18px;
    line-height: 1.4;
  }

  .lux-overlay-text .bottom-text {
    font-size: 13px;
    letter-spacing: 0.08em;
  }
}

/* Hide "Protected by hCaptcha" ONLY in footer/newsletter */
.footer__newsletter .h-captcha,
.footer__newsletter span:contains("Protected by hCaptcha"),
.newsletter-form .h-captcha,
.newsletter-form span:contains("Protected by hCaptcha") {
  display: none !important;
  visibility: hidden !important;
}

/* Luxe Add to Cart – Vertical Fill */
.product-form__submit {
  position: relative;
  background-color: #111 !important;
  color: #fff !important;
  text-transform: uppercase !important;
  font-weight: 600;
  letter-spacing: 0.05em;
  border: none !important;
  border-radius: 0 !important;
  padding: 16px 0 !important;
  font-size: 14px !important;
  width: 100%;
  overflow: hidden;
  z-index: 1;
  transition: color 0.4s ease;
}

.product-form__submit::before {
  content: "";
  position: absolute;
  top: -100%;
  left: 0;
  width: 100%;
  height: 100%;
  background: #fff;
  z-index: -1;
  transition: top 0.5s ease;
}

.product-form__submit:hover {
  color: #111 !important;
}

.product-form__submit:hover::before {
  top: 0;   /* fill drops down */
}

/* === Luxe Cart Drawer Refinement === */
.cart-drawer,
.drawer {
  position: fixed !important;
  top: 0;
  right: 0 !important;
  left: auto !important;
  height: 100%;
  width: 420px !important;        /* breathable width */
  max-width: 90vw;
  background: #fff !important;
  padding: 24px 20px !important;
  box-shadow: -4px 0 24px rgba(0, 0, 0, 0.15); /* smoother shadow */
  overflow-y: auto;
  z-index: 9999;
  border: none !important;        /* remove outline */
  transition: transform 0.35s ease; /* buttery slide */
}

/* Remove unnecessary borders + flatten */
.cart-drawer *,
.drawer * {
  border: none !important;
  box-shadow: none !important;
}

/* Headings refinement */
.drawer__heading {
  font-family: "Helvetica Neue", sans-serif;
  font-size: 18px;
  font-weight: 600;
  letter-spacing: 0.04em;
  margin-bottom: 12px;
  text-transform: uppercase !important;
}

/* Cart items spacing */
.cart-items td {
  padding: 14px 10px !important;
  vertical-align: middle;
}

/* Subtotals & totals breathing */
.totals {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 12px;
  padding-top: 16px;
  border-top: 1px solid #eee;
}
.totals__total {
  font-size: 15px;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase !important;
}
.totals__total-value {
  font-size: 15px;
  font-weight: 500;
}

/* Footer (buttons area) */
.cart-drawer__footer,
.drawer__footer {
  padding: 24px 20px;
  background: #fff !important;
  position: sticky;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 10;
  border-top: 1px solid #f0f0f0;
}

/* CTA block */
.cart__ctas {
  display: flex !important;
  flex-direction: column;
  margin-top: 16px;
}

/* Checkout button with luxe shimmer */
.cart__checkout-button {
  background: #111 !important;
  color: #fff !important;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  font-weight: 600;
  font-size: 14px;
  padding: 14px 20px;
  border-radius: 4px;
  cursor: pointer;
  position: relative;
  overflow: hidden;
  z-index: 1;
}

/* Shimmer overlay */
.cart__checkout-button::before {
  content: "";
  position: absolute;
  top: 0;
  left: -180%;
  width: 150%;
  height: 100%;
  background: linear-gradient(
    120deg,
    transparent 0%,
    rgba(255,255,255,0.6) 50%,
    transparent 100%
  );
  transform: skewX(-20deg);
  z-index: 2;
  transition: left 1.6s cubic-bezier(0.4, 0, 0.2, 1); /* slower & smoother */
}

/* Animate shimmer on hover */
.cart__checkout-button:hover::before {
  left: 180%;
}

/* Keep text above shimmer */
.cart__checkout-button span,
.cart__checkout-button {
  position: relative;
  z-index: 3;
}

.cart__checkout-button:hover span {
  color: #111; /* invert when white fill is active */
}

/* Make BAG the positioning parent */
.header__icon--cart {
  position: relative !important;
  display: inline-block; /* ensures BAG text wraps bubble properly */
}

.cart-count-bubble {
  display: none !important;
}

/* Force login link to black */
.link.underlined-link {
  color: #111 !important;       /* luxe black */
  text-decoration: underline;   /* keep underline */
  font-weight: 500;             /* subtle emphasis */
}

.link.underlined-link:hover {
  color: #333 !important;       /* softer black hover */
  text-decoration: none;        /* cleaner hover */
}

a[href="/pages/privacy-policy"] {
  text-transform: uppercase !important;
}

/* === Empty Cart Drawer Styling === */
.cart-drawer__warnings {
  padding: 24px 16px;
  text-align: center;
  font-family: 'Inter', 'Helvetica Neue', Arial, sans-serif;
}

/* Empty cart heading */
.cart__empty-text {
  font-size: 20px;
  font-weight: 600;
  letter-spacing: 0.03em;
  margin-bottom: 16px;
  color: #111;
}

/* Close button */
.cart-drawer__warnings .drawer__close {
  position: absolute;
  top: 16px;
  right: 16px;
  background: none;
  border: none;
  padding: 8px;
  cursor: pointer;
}
.cart-drawer__warnings .drawer__close svg {
  width: 20px;
  height: 20px;
  color: #111;
}

/* Continue shopping button */
.cart-drawer__warnings .button {
  display: inline-block;
  margin: 20px 0;
  padding: 12px 28px;
  font-size: 14px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  border: 1px solid #111;
  background: #fff;
  color: #111;
  transition: all 0.3s ease;
}
.cart-drawer__warnings .button:hover {
  background: #111;
  color: #fff;
}

/* Account prompt */
.cart__login-title {
  font-size: 16px;
  font-weight: 600;
  margin-top: 16px;
  margin-bottom: 8px;
  color: #111;
}
.cart__login-paragraph {
  font-size: 14px;
  color: #444;
  margin: 0;
}
.cart__login-paragraph .link {
  font-weight: 600;
  color: #111;
  text-decoration: underline;
}

/* === Mobile adjustments === */
@media (max-width: 767px) {
  .cart__empty-text {
    font-size: 18px;
  }
  .cart-drawer__warnings .button {
    width: 100%;
    font-size: 13px;
    padding: 12px 0;
  }
  .cart__login-title {
    font-size: 15px;
  }
  .cart__login-paragraph {
    font-size: 13px;
  }
}

/* Center "More to Explore" heading */
.related-products__heading {
  text-align: center !important;
  width: 100%;
  margin: 0 auto 32px; /* centers + adds breathing room below */
}

.related-products__heading strong {
  display: inline-block; /* keeps strong text tidy */
}

/* Hide the default text */
body.product-nano-brows .product-form__submit span,
body.product-microblading .product-form__submit span,
body.product-lip-blush .product-form__submit span {
  visibility: hidden;
  position: relative;
}

/* Replace with BOOK NOW */
body.product-nano-brows .product-form__submit span::after,
body.product-microblading .product-form__submit span::after,
body.product-lip-blush .product-form__submit span::after {
  content: "BOOK NOW";
  visibility: visible;
  position: absolute;
  left: 0;
  right: 0;
  text-align: center;
}

/* Force BOOK NOW button initial style */
body.product-nano-brows .product-form__submit,
body.product-microblading .product-form__submit,
body.product-lip-blush .product-form__submit {
  background: #111 !important;  /* start black */
  color: #fff !important;       /* white text */
  border: none !important;
  text-align: center;
}

/* Preserve Dawn’s existing hover fill (white background, black text) */
body.product-nano-brows .product-form__submit:hover,
body.product-microblading .product-form__submit:hover,
body.product-lip-blush .product-form__submit:hover {
  background: #fff !important;
  color: #111 !important;
}


/* === CART DRAWER MOBILE FIX === */
@media (max-width: 768px) {
  /* Prevent horizontal scrolling */
  #CartDrawer,
  #CartDrawer .drawer__inner {
    overflow-x: hidden !important;
  }

  /* Reset cart items */
  #CartDrawer-CartItems .cart-items {
    display: block;
    width: 100%;
  }

  #CartDrawer-CartItems .cart-item {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    flex-wrap: wrap; /* allow quantity to drop under details */
    gap: 12px;
    padding: 16px 12px;
    border-bottom: 1px solid #eee;
  }

  /* Image */
  #CartDrawer-CartItems .cart-item__media {
    flex: 0 0 64px;
  }
  #CartDrawer-CartItems .cart-item__image {
    width: 64px;
    height: auto;
    border-radius: 4px;
    display: block;
  }

  /* Product details */
  #CartDrawer-CartItems .cart-item__details {
    flex: 1 1 100px;
    text-align: left;
    min-width: 0; /* prevents overflow */
  }
  #CartDrawer-CartItems .cart-item__name {
    font-size: 14px;
    font-weight: 600;
    margin-bottom: 4px;
    white-space: normal;
    line-height: 1.4;
  }
  #CartDrawer-CartItems .product-option {
    font-size: 13px;
    margin-top: 2px;
  }

  /* Quantity below details */
  #CartDrawer-CartItems .cart-item__quantity {
    flex: 1 1 100%;
    margin-top: 8px;
    display: flex;
    justify-content: flex-start;
  }
  #CartDrawer-CartItems .quantity.cart-quantity {
    max-width: 120px;
    margin: 0;
  }
  #CartDrawer-CartItems .quantity__input {
    text-align: center;
  }

  /* Hide table headers + per-item totals */
  #CartDrawer-CartItems thead,
  #CartDrawer-CartItems .cart-item__totals,
  #CartDrawer-ColumnTotal {
    display: none !important;
  }

  /* Checkout button centered */
  #CartDrawer .cart__ctas {
    display: flex;
    justify-content: center;
  }
  #CartDrawer .cart__checkout-button {
    width: 90%;
    max-width: 320px;
    margin: 0 auto;
    display: block;
  }
}

/* Fix vertical titles globally */
#CartDrawer-CartItems .cart-item__name.break {
  word-break: normal !important;
  white-space: normal !important;
  overflow-wrap: break-word !important;
}

/* === Refined Training Description Block (Wider + Smaller Font) === */
.lux-training-description {
  font-family: "Helvetica Neue", "Inter", sans-serif;
  color: #333;
  line-height: 1.55;           /* slightly tighter line spacing */
  max-width: 860px;            /* widened container */
  margin: 0 auto 20px auto;    /* more breathing below */
  padding: 12px 0 0;           /* tighter top padding */
}

/* Intro paragraph text */
.lux-training-description .intro-text {
  font-family: "Poppins", sans-serif !important;
  font-size: 15px;             /* smaller text for more visible content */
  font-weight: 400;
  font-style: normal;
  color: #111;
  margin-bottom: 1.4em;        /* less vertical gap between paragraphs */
  letter-spacing: 0.02em;
}

/* Secondary paragraphs (below intro) */
.lux-training-description p {
  font-size: 15px;
  line-height: 1.55;
  color: #333;
  margin-bottom: 1.2em;
}

/* On mobile: slightly narrower but still readable */
@media (max-width: 767px) {
  .lux-training-description {
    max-width: 95%;
    padding: 8px 0;
    line-height: 1.6;
  }
  .lux-training-description .intro-text,
  .lux-training-description p {
    font-size: 14px;
  }
}

/* Quick Info Heading */
.lux-training-description .quick-info-heading {
  font-family: "Poppins", sans-serif !important;
  font-size: 20px;
  font-weight: 100;
  margin-bottom: 0.6em;
  color: #111; /* strong modern black */
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

/* Quick Info List */
.lux-training-description .quick-info-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.lux-training-description .quick-info-list li {
  font-size: 16px;
  font-weight: 300;
  padding: 8px 0;
  border-bottom: 1px solid #e5e5e5;
}

.lux-training-description .quick-info-list li strong {
  font-weight: 500;
  color: #111; /* branded highlight for labels */
}

/* ========== Collapsible Section 1 ========== */
#shopify-section-template--25236224868671__collapsible_content_YMy8DU .content-container,
#shopify-section-template--25236224868671__collapsible_content_YMy8DU .collapsible-content-wrapper-narrow {
  max-width: 95% !important;
  margin: 0 auto;
}

/* Full clickable width for summary */
#shopify-section-template--25236224868671__collapsible_content_YMy8DU .accordion summary {
  display: grid !important;
  grid-template-columns: auto 1fr auto; /* icon | title | caret */
  align-items: center;
  gap: 10px;
  width: 100%;
  cursor: pointer;
  box-sizing: border-box;
}

/* Title centered */
#shopify-section-template--25236224868671__collapsible_content_YMy8DU .accordion__title {
  text-align: center;
  margin: 0;
  justify-self: center;
}

/* Icons placement */
#shopify-section-template--25236224868671__collapsible_content_YMy8DU .accordion summary .svg-wrapper {
  justify-self: start;
}
#shopify-section-template--25236224868671__collapsible_content_YMy8DU .accordion summary .icon-caret {
  justify-self: end;
  transition: transform 0.3s ease;
}

/* Rotate caret when open */
#shopify-section-template--25236224868671__collapsible_content_YMy8DU details[open] .icon-caret {
  transform: rotate(180deg);
}

/* Base row styling */
#shopify-section-template--25236224868671__collapsible_content_YMy8DU details {
  background: #F4F4F4;
  border-radius: 0px;
  padding: 14px 18px;
  margin: 10px auto;
  width: 100%;
  transition: background-color 0.3s ease;
}

/* ✅ Entire row highlights on hover */
#shopify-section-template--25236224868671__collapsible_content_YMy8DU details:hover {
  background: #E6E6E6;
}

/* Expanded row */
#shopify-section-template--25236224868671__collapsible_content_YMy8DU details[open] {
  background: #EDEDED;
}


/* ========== Collapsible Section 2 ========== */
#shopify-section-template--25236224901439__collapsible_content_gHjzgY .content-container,
#shopify-section-template--25236224901439__collapsible_content_gHjzgY .collapsible-content-wrapper-narrow {
  max-width: 95% !important;
  margin: 0 auto;
}

#shopify-section-template--25236224901439__collapsible_content_gHjzgY .accordion summary {
  display: grid !important;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 10px;
  width: 100%;
  cursor: pointer;
  box-sizing: border-box;
}

#shopify-section-template--25236224901439__collapsible_content_gHjzgY .accordion__title {
  text-align: center;
  margin: 0;
  justify-self: center;
}

#shopify-section-template--25236224901439__collapsible_content_gHjzgY .accordion summary .svg-wrapper {
  justify-self: start;
}
#shopify-section-template--25236224901439__collapsible_content_gHjzgY .accordion summary .icon-caret {
  justify-self: end;
  transition: transform 0.3s ease;
}

#shopify-section-template--25236224901439__collapsible_content_gHjzgY details[open] .icon-caret {
  transform: rotate(180deg);
}

#shopify-section-template--25236224901439__collapsible_content_gHjzgY details {
  background: #F4F4F4;
  border-radius: 0px;
  padding: 14px 18px;
  margin: 10px auto;
  width: 100%;
  transition: background-color 0.3s ease;
}

/* ✅ Entire row highlights on hover */
#shopify-section-template--25236224901439__collapsible_content_gHjzgY details:hover {
  background: #E6E6E6;
}

#shopify-section-template--25236224901439__collapsible_content_gHjzgY details[open] {
  background: #EDEDED;
}

/* Remove background on summary so only details controls color */
#shopify-section-template--25236224868671__collapsible_content_YMy8DU .accordion summary,
#shopify-section-template--25236224901439__collapsible_content_gHjzgY .accordion summary {
  background: transparent !important;
  padding: 0; /* keeps it clean, outer padding on details controls spacing */
}

/* Remove lines (default Dawn borders) */
#shopify-section-template--25236224868671__collapsible_content_YMy8DU details,
#shopify-section-template--25236224868671__collapsible_content_YMy8DU summary,
#shopify-section-template--25236224901439__collapsible_content_gHjzgY details,
#shopify-section-template--25236224901439__collapsible_content_gHjzgY summary {
  border: none !important;
  box-shadow: none !important;
}

/* Control vertical spacing for training description block */
.lux-training-description {
  margin-top: -10px; /* pulls it up closer */
  padding-top: 0; /* optional inner space */
  padding-bottom: 0; /* optional inner space */
}

/* Add spacing between collapsible heading and content */
#shopify-section-template--25236224868671__collapsible_content_YMy8DU details[open] .accordion__content,
#shopify-section-template--25236224901439__collapsible_content_gHjzgY details[open] .accordion__content {
  padding-top: 40px; /* adjust between 15–25px for balance */
}

/* ===== Global fix: keep related product titles dark on hover ===== */

/* Default link color for related product titles */
.related-products .card__heading a,
.related-products .card__heading.h5 a {
  color: #222 !important; /* use your preferred text color */
  transition: color 0.3s ease;
}

/* Prevent text color from turning white on hover */
.related-products .card__heading a:hover,
.related-products .card__heading.h5 a:hover {
  color: #222 !important;
}

/* Ensure underline-links-hover class doesn’t override color */
.related-products .underline-links-hover:hover a {
  color: #222 !important;
}

/* Remove divider lines for Collapsible Section 1 */
#shopify-section-template--25236224868671__collapsible_content_YMy8DU details,
#shopify-section-template--25236224868671__collapsible_content_YMy8DU .accordion,
#shopify-section-template--25236224868671__collapsible_content_YMy8DU .collapsible-content {
  border: none !important;
  border-top: none !important;
  border-bottom: none !important;
  box-shadow: none !important;
}

/* Remove divider lines for Collapsible Section 2 */
#shopify-section-template--25236224901439__collapsible_content_gHjzgY details,
#shopify-section-template--25236224901439__collapsible_content_gHjzgY .accordion,
#shopify-section-template--25236224901439__collapsible_content_gHjzgY .collapsible-content {
  border: none !important;
  border-top: none !important;
  border-bottom: none !important;
  box-shadow: none !important;
}

/* ===============================
   Mobile Refinement (under 767px)
================================= */
@media (max-width: 767px) {

  /* Reduce vertical spacing for compact flow */
  .image-with-text {
    padding: 40px 0;
  }

  /* Let the section breathe edge-to-edge slightly more */
  .image-with-text__text-item {
    padding: 40px 24px;
    background-color: #F8F7F6; /* slightly lighter gray for softer tone */
    border-radius: 0;
  }

  /* Headings — elegant but smaller for mobile */
  .image-with-text__heading {
    font-size: 22px;
    letter-spacing: 0.03em;
    text-align: center;
    margin-bottom: 12px;
  }

  /* Text readability improvements */
  .image-with-text__text,
  .image-with-text__text p {
    font-size: 15px;
    line-height: 1.7;
    text-align: center;
  }

  /* Intro line keeps its elegance */
  .image-with-text__text p:first-child {
    font-size: 16px;
    line-height: 1.6;
    margin-bottom: 8px;
    color: #4A3E3E;
  }

  /* Stack layout cleanly (text above image) */
  .image-with-text__grid {
    display: flex;
    flex-direction: column-reverse; /* ensures text appears above image */
    gap: 30px;
  }

  /* Image refinement */
  .image-with-text__media img {
    width: 100%;
    height: auto;
    border-radius: 4px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.05);
  }

  /* Center-align text content */
  .image-with-text__content {
    max-width: 100%;
    text-align: center;
  }
}



/* Hide all breadcrumb navigation sitewide */
nav.breadcrumb,
.lux-breadcrumb {
  display: none !important;
  visibility: hidden !important;
}


/* === Luxe Hero Image Fade-In === */
.lux-hero-image img {
  opacity: 0;
  transform: translateY(20px);
  animation: luxHeroFadeIn 1.2s ease-out forwards;
  animation-delay: 0.2s; /* small delay for polish */
  will-change: opacity, transform;
}

@keyframes luxHeroFadeIn {
  0% {
    opacity: 0;
    transform: translateY(20px);
  }
  60% {
    opacity: 0.7;
    transform: translateY(8px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}


@media (max-width: 767px) {
  /* Center the brand logo */
  .footer__brand-logo-wrapper {
    text-align: center !important;
    margin: 0 auto 16px !important;
    width: 100% !important;
  }

  .footer__brand-logo {
    display: inline-block !important;
    max-width: 140px !important;
    height: auto !important;
  }

  /* Center the "FOLLOW US" title */
  .footer__social-title {
    text-align: center !important;
    margin: 16px 0 8px !important;
  }

  /* Center the social icon row */
  .footer__socials {
    text-align: center !important;
    margin: 0 auto !important;
    width: 100% !important;
  }

  .footer__list-social {
    display: flex !important;
    justify-content: center !important;
    gap: 14px !important;
    padding: 0 !important;
    margin: 0 auto !important;
  }
}

@media (max-width: 767px) {
  /* Ensure footer menu links are centered */
  .footer-block--menu {
    text-align: center !important;
  }

  .footer-block--menu ul,
  .footer-block--menu .footer-block__list {
    padding: 0 !important;
    margin: 0 auto !important;
    list-style: none !important;
    text-align: center !important;
  }

  .footer-block--menu li {
    margin: 6px 0 !important;
  }

  .footer-block--menu a {
    display: inline-block !important;
    text-align: center !important;
    font-size: 14px !important;
    letter-spacing: 0.06em;
  }
}

.footer__copyright {
  position: absolute !important;   /* place it inside footer area */
  right: 16px !important;          /* tight to right edge */
  bottom: 16px !important;         /* anchors to bottom of footer */
  white-space: nowrap !important;  /* prevent wrapping */
  text-align: right !important;
  font-family: 'Inter', 'Helvetica Neue', Arial, sans-serif;
  font-size: 13px;
  color: #222;
  opacity: 0.85;
  pointer-events: none;            /* optional: keeps it non-interactive */
}

/* ===============================
   Luxe Bio Section Refinement
=============================== */

.lux-bio-section {
  display: flex;
  flex-wrap: wrap;
  width: 95%;
  max-width: 1400px;
  margin: 0 auto;
  overflow: hidden;
}

/* === Image Side === */
.lux-bio-image {
  flex: 1 1 50%;
  position: relative;
}

.lux-bio-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 50%; /* push image UP to show more eyes */
  display: block;
  transition: transform 0.6s ease, box-shadow 0.5s ease;
}

.lux-bio-image img:hover {
  transform: scale(1.03);
  box-shadow: 0 10px 26px rgba(0, 0, 0, 0.12);
}

/* === Text Side === */
.lux-bio-text {
  flex: 1 1 50%;
  background-color: #F6F5F4;
  display: flex;
  flex-direction: column;
  justify-content: flex-start; /* move content higher */
  align-items: center;
  text-align: center;
  padding: 80px 60px;
  padding-top: 100px; /* lift text slightly */
}

.lux-bio-text h2 {
  font-family: "Poppins", sans-serif;
  font-size: 30px;
  font-weight: 600;
  color: #3B2E2E;
  margin-bottom: 20px;
  letter-spacing: 0.02em;
  line-height: 1.4;
}

.lux-bio-text p {
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 17px;
  line-height: 1.8;
  color: #333;
  max-width: 520px;
  margin: 0 auto;
}

/* === Mobile Responsive === */
@media (max-width: 767px) {
  .lux-bio-section {
    flex-direction: column;
  }

  .lux-bio-image,
  .lux-bio-text {
    flex: 1 1 100%;
    width: 100%;
  }

  .lux-bio-image img {
    height: 60vh;
    object-position: center 20%; /* mobile fine-tune */
  }

  .lux-bio-text {
    padding: 50px 24px 60px;
    justify-content: flex-start;
  }

  .lux-bio-text h2 {
    font-size: 22px;
    margin-bottom: 12px;
  }

  .lux-bio-text p {
    font-size: 15px;
    line-height: 1.7;
  }
}


/* ===== Centered Luxe Button Under Text ===== */
.lux-btn-wrap {
  margin-top: 36px;
  display: flex;
  justify-content: center;
}

.lux-btn {
  display: inline-block;
  background: #3B2E2E; /* brand red */
  color: #fff;
  font-family: "Inter", sans-serif;
  font-size: 15px;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  padding: 12px 36px;
  border: none;
  border-radius: 0;
  text-decoration: none;
  transition: all 0.4s ease;
}

.lux-btn:hover {
  background: #3B2E2E; /* deeper luxe red */
  transform: scale(1.04);
}