/* ================================================================
   QwikGlam — Home Page Couture Styles v7
   Upgraded: Deep Plum + Hermès Gold + Ivory Cream + Rich Rose
   New sections: Press, Trust Bar, Safety, Membership, Seasonal,
                 Referral. Color: solid plum/gold = luxury authority.
   ================================================================ */

/* ── Section Defaults ── */
section { padding-block: clamp(4rem, 7vw, 7rem); }

.qg-eyebrow {
  display: inline-block;
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: var(--qg-gold, #D4AF6A);
  margin-bottom: 1rem;
  position: relative;
  padding: 0 1.2rem;
}
.qg-eyebrow::before,
.qg-eyebrow::after {
  content: "—";
  position: absolute;
  color: rgba(212,175,106,.45);
  top: 50%; transform: translateY(-50%);
  font-size: .7em;
}
.qg-eyebrow::before { left: 0; }
.qg-eyebrow::after  { right: 0; }

.qg-section-head {
  max-width: 860px;
  margin: 0 auto clamp(2.5rem, 4vw, 4rem);
  text-align: center;
}
.qg-section-head h2 {
  font-family: "Playfair Display", serif;
  font-size: clamp(2rem, 4.5vw, 3.2rem);
  font-weight: 700;
  line-height: 1.15;
  color: var(--qg-text, #3A1C30);
  margin: 0 0 .8rem;
}
.qg-section-head h2 span {
  font-style: italic;
  background: linear-gradient(135deg, #A83060, #D4608A, #D4AF6A);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}
.qg-section-head p {
  font-size: 1.05rem;
  line-height: 1.7;
  color: var(--qg-text-soft, #6A4060);
  margin: 0;
  max-width: 640px;
  margin-inline: auto;
}

/* Scroll reveal */
[data-animate] {
  opacity: 0;
  transform: translateY(28px);
  transition: opacity .8s cubic-bezier(.22,1,.36,1), transform .8s cubic-bezier(.22,1,.36,1);
}
[data-animate].visible {
  opacity: 1;
  transform: none;
}


/* ================================================================
   HERO — CINEMATIC VELVET
   ================================================================ */
.qg-hero {
  position: relative;
  min-height: 100svh;
  display: grid;
  place-items: center;
  text-align: center;
  overflow: hidden;
  isolation: isolate;
}

.qg-hero__video {
  position: absolute;
  inset: 0;
  width: 100%; height: 100%;
  object-fit: cover;
  object-position: center top;
  z-index: -3;
}

.qg-hero__overlay {
  position: absolute;
  inset: 0;
  z-index: -2;
  background:
    linear-gradient(180deg, rgba(10,4,22,.35) 0%, rgba(10,4,22,.15) 30%, rgba(10,4,22,.25) 60%, rgba(10,4,22,.72) 85%, rgba(10,4,22,.92) 100%),
    radial-gradient(ellipse 70% 50% at 75% 15%, rgba(212,96,138,.18), transparent 60%),
    radial-gradient(ellipse 50% 40% at 20% 30%, rgba(212,175,106,.12), transparent 55%),
    radial-gradient(ellipse 80% 60% at 50% 50%, rgba(176,144,208,.07), transparent 65%);
}

.qg-hero__petals {
  position: absolute; inset: 0; z-index: -1; pointer-events: none; overflow: hidden;
}
.qg-petal {
  position: absolute;
  width: 6px; height: 10px;
  border-radius: 80% 20% 80% 20% / 60% 40% 60% 40%;
  opacity: 0;
  animation: qgPetalFall linear infinite;
}
.qg-star {
  width: auto; height: auto;
  background: none !important;
  border-radius: 0;
  color: rgba(212,175,106,.4);
  font-size: var(--fs, 10px);
  animation: qgStarFloat linear infinite;
}
.qg-star::before { content: var(--char, '✦'); }

@keyframes qgStarFloat {
  0%   { transform: translateY(100vh) rotate(0deg); opacity: 0; left: var(--x, 50%); }
  10%  { opacity: .6; }
  90%  { opacity: .3; }
  100% { transform: translateY(-80px) rotate(360deg); opacity: 0; left: calc(var(--x, 50%) + 20px); }
}
@keyframes qgPetalFall {
  0%   { transform: translateY(-10px) rotate(0deg); opacity: 0; left: var(--x, 50%); }
  10%  { opacity: .5; }
  90%  { opacity: .2; }
  100% { transform: translateY(100vh) rotate(360deg); opacity: 0; }
}

/* Live Ticker */
.qg-hero__live-ticker {
  position: absolute;
  bottom: 120px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  align-items: center;
  gap: 8px;
  background: rgba(255,255,255,.08);
  backdrop-filter: blur(10px);
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 99px;
  padding: 7px 16px;
  font-size: .78rem;
  color: rgba(255,255,255,.8);
  white-space: nowrap;
  z-index: 2;
}

.qg-hero__live-dot {
  width: 7px; height: 7px;
  border-radius: 50%;
  background: #2ecc71;
  animation: qgLivePulse 1.5s ease-in-out infinite;
  flex-shrink: 0;
}

@keyframes qgLivePulse { 0%,100%{opacity:1;} 50%{opacity:.3;} }

/* Hero Content */
.qg-hero__content {
  position: relative;
  z-index: 2;
  padding: clamp(80px,12vw,120px) clamp(1rem,4vw,2rem) 2rem;
  max-width: 900px;
}

.qg-hero__badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: rgba(212,175,106,.15);
  border: 1px solid rgba(212,175,106,.3);
  border-radius: 99px;
  padding: 6px 18px;
  font-size: .7rem;
  font-weight: 700;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--qg-gold);
  margin-bottom: 1.5rem;
}

.qg-hero__urgency {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: rgba(46,204,113,.1);
  border: 1px solid rgba(46,204,113,.25);
  border-radius: 99px;
  padding: 6px 14px;
  font-size: .75rem;
  font-weight: 600;
  color: #5efa9a;
  margin-bottom: 1.5rem;
}

.qg-hero__urgency-dot {
  width: 6px; height: 6px;
  border-radius: 50%;
  background: #2ecc71;
  animation: qgLivePulse 1.5s infinite;
}

.qg-hero__content h1 {
  font-family: "Playfair Display", serif;
  font-size: clamp(2.8rem, 7vw, 5.5rem);
  font-weight: 800;
  line-height: 1.08;
  color: #fff;
  margin: 0 0 1.2rem;
  letter-spacing: -.02em;
}

.qg-hero__content h1 em {
  font-style: italic;
  background: linear-gradient(135deg, #D4AF6A, #F0D898, #D4AF6A);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  display: block;
}

.qg-hero__content > p {
  font-size: clamp(1rem, 1.8vw, 1.18rem);
  line-height: 1.65;
  color: rgba(255,255,255,.72);
  margin: 0 0 2rem;
  max-width: 600px;
  margin-inline: auto;
}

.qg-hero__ornament {
  display: flex;
  align-items: center;
  gap: 16px;
  justify-content: center;
  margin-bottom: 2rem;
  font-family: "Cormorant Garamond", serif;
  font-size: .85rem;
  font-style: italic;
  color: rgba(212,175,106,.6);
  letter-spacing: .08em;
}
.qg-hero__ornament::before,
.qg-hero__ornament::after {
  content: ''; flex: 1; max-width: 80px;
  height: 1px; background: rgba(212,175,106,.3);
}

.qg-hero__cta {
  display: flex;
  gap: 14px;
  justify-content: center;
  flex-wrap: wrap;
  margin-bottom: 2.5rem;
}

/* Hero proof strip */
.qg-hero__proof {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0;
  background: rgba(255,255,255,.06);
  backdrop-filter: blur(10px);
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 16px;
  padding: 16px 24px;
  margin: 0 auto;
  max-width: 560px;
  flex-wrap: wrap;
}

.qg-hero__proof-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 0 20px;
}

.qg-hero__proof-item strong {
  font-family: "Playfair Display", serif;
  font-size: 1.3rem;
  font-weight: 700;
  color: var(--qg-gold);
}

.qg-hero__proof-item span {
  font-size: .65rem;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: rgba(255,255,255,.5);
  margin-top: 2px;
}

.qg-hero__proof-divider {
  width: 1px; height: 28px;
  background: rgba(255,255,255,.12);
}

/* Hero scroll */
.qg-hero__scroll {
  position: absolute; bottom: 36px; left: 50%; transform: translateX(-50%);
  display: flex; flex-direction: column; align-items: center; gap: 6px;
  font-size: .65rem; letter-spacing: .14em; text-transform: uppercase;
  color: rgba(255,255,255,.35);
}

.qg-scroll-mouse {
  width: 22px; height: 34px;
  border: 1.5px solid rgba(255,255,255,.25);
  border-radius: 99px;
  position: relative;
}

.qg-scroll-mouse::after {
  content: ''; position: absolute;
  width: 4px; height: 8px;
  background: rgba(212,175,106,.5);
  border-radius: 99px;
  left: 50%; transform: translateX(-50%);
  top: 6px;
  animation: scrollMouse 1.6s ease-in-out infinite;
}

@keyframes scrollMouse { 0%,100%{opacity:1;top:6px;} 60%{opacity:0;top:16px;} }


/* ================================================================
   PRESS STRIP — section 2
   ================================================================ */
.qg-press {
  padding-block: 1.5rem;
  background: #fff;
  border-block: 1px solid rgba(212,175,106,.12);
}

.qg-press__inner {
  display: flex;
  align-items: center;
  gap: 2rem;
  flex-wrap: wrap;
  justify-content: center;
}

.qg-press__label {
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--qg-text-muted, #A07090);
  white-space: nowrap;
  flex-shrink: 0;
}

.qg-press__logos {
  display: flex;
  align-items: center;
  gap: 2.5rem;
  flex-wrap: wrap;
  justify-content: center;
}

.qg-press__logo {
  display: flex;
  align-items: baseline;
  gap: 3px;
  opacity: .5;
  filter: grayscale(1);
  transition: opacity .25s, filter .25s;
  cursor: default;
}

.qg-press__logo:hover { opacity: .9; filter: grayscale(0); }

.qg-press__logo-text {
  font-family: "Playfair Display", serif;
  font-size: 1.15rem;
  color: var(--qg-ink, #1A0A28);
  letter-spacing: .01em;
}

.qg-press__logo-sub {
  font-size: .7rem;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--qg-text-soft);
}


/* ================================================================
   LIVE TRUST BAR — section 3
   ================================================================ */
.qg-trust-bar {
  padding-block: 2.5rem;
  background: var(--qg-plum, #1C0A2E);
}

.qg-trust-bar__inner {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0;
  flex-wrap: wrap;
}

.qg-trust-bar__item {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 0.75rem 2.5rem;
  text-align: center;
}

.qg-trust-bar__item strong {
  font-family: "Playfair Display", serif;
  font-size: 1.8rem;
  font-weight: 700;
  color: var(--qg-gold, #D4AF6A);
  line-height: 1;
  display: block;
}

.qg-trust-bar__item span {
  font-size: .72rem;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: rgba(255,255,255,.45);
  margin-top: 5px;
}

.qg-trust-bar__divider {
  width: 1px; height: 40px;
  background: rgba(255,255,255,.1);
  flex-shrink: 0;
}

@media (max-width: 700px) {
  .qg-trust-bar__inner  { gap: 0; }
  .qg-trust-bar__item   { padding: 12px 16px; }
  .qg-trust-bar__item strong { font-size: 1.4rem; }
  .qg-trust-bar__divider { display: none; }
}


/* ================================================================
   SERVICES SECTION
   ================================================================ */
.qg-services {
  background: var(--qg-bg, #FBF7F0);
}

.qg-services__inner {
  max-width: var(--qg-max, 1240px);
  margin: 0 auto;
  padding-inline: clamp(1.25rem, 3vw, 2.5rem);
}

/* Urgency signal above services */
.qg-services__urgency {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: rgba(46,204,113,.08);
  border: 1px solid rgba(46,204,113,.2);
  border-radius: 99px;
  padding: 6px 16px;
  font-size: .78rem;
  font-weight: 600;
  color: #1a7a4a;
  margin-bottom: 2rem;
}

.qg-urgency-dot {
  width: 7px; height: 7px;
  border-radius: 50%;
  background: #2ecc71;
  animation: qgLivePulse 1.5s infinite;
  flex-shrink: 0;
}

/* Promo Banner */
.qg-promo-banner {
  display: flex;
  align-items: center;
  gap: 16px;
  background: linear-gradient(135deg, var(--qg-plum), #2E1650);
  border: 1px solid rgba(212,175,106,.2);
  border-radius: 16px;
  padding: 18px 24px;
  margin-bottom: 3rem;
  flex-wrap: wrap;
}

.qg-promo-banner__icon { font-size: 1.6rem; flex-shrink: 0; }

.qg-promo-banner__text {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 3px;
  min-width: 200px;
}

.qg-promo-banner__text strong {
  font-size: 1rem;
  font-weight: 700;
  color: #fff;
}

.qg-promo-banner__text span {
  font-size: .82rem;
  color: rgba(255,255,255,.6);
}

.qg-promo-banner__text em {
  font-style: normal;
  background: rgba(212,175,106,.2);
  border: 1px solid rgba(212,175,106,.35);
  border-radius: 6px;
  padding: 1px 8px;
  color: var(--qg-gold);
  font-weight: 600;
  font-size: .78rem;
}

.qg-promo-banner__cta {
  flex-shrink: 0;
  background: var(--qg-gold);
  color: var(--qg-plum);
  border: none;
  border-radius: 12px;
  padding: 10px 20px;
  font-size: .82rem;
  font-weight: 700;
  text-decoration: none;
  letter-spacing: .04em;
  transition: background .2s;
  white-space: nowrap;
}

.qg-promo-banner__cta:hover { background: var(--qg-champagne); }

/* Service Filter */
.qg-services-filter {
  display: flex;
  gap: 8px;
  justify-content: center;
  margin-bottom: 2.5rem;
  flex-wrap: wrap;
}

.qg-filter-tab {
  padding: 8px 20px;
  border-radius: 99px;
  border: 1.5px solid rgba(212,175,106,.25);
  background: transparent;
  color: var(--qg-text-soft);
  font-size: .82rem;
  font-weight: 600;
  letter-spacing: .04em;
  transition: all .22s;
}

.qg-filter-tab:hover {
  border-color: var(--qg-gold);
  color: var(--qg-plum);
}

.qg-filter-tab.active {
  background: var(--qg-plum);
  border-color: var(--qg-plum);
  color: var(--qg-gold);
}

/* Service Grid */
.qg-services-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
  gap: 24px;
  margin-bottom: 2.5rem;
}

.qg-service-card {
  background: #fff;
  border-radius: var(--qg-radius-card, 24px);
  overflow: hidden;
  border: 1px solid rgba(212,175,106,.12);
  box-shadow: var(--qg-shadow-sm);
  transition: transform .3s, box-shadow .3s;
  display: flex;
  flex-direction: column;
}

.qg-service-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--qg-shadow-gold);
}

.qg-service-card__link { text-decoration: none; color: inherit; }

.qg-service-card__img {
  position: relative;
  aspect-ratio: 4/3;
  overflow: hidden;
}

.qg-service-card__img img {
  width: 100%; height: 100%;
  object-fit: cover;
  transition: transform .5s ease;
}

.qg-service-card:hover .qg-service-card__img img {
  transform: scale(1.06);
}

.qg-service-card__badge {
  position: absolute;
  top: 12px;
  left: 12px;
  padding: 4px 10px;
  border-radius: 99px;
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.qg-badge--popular {
  background: var(--qg-plum);
  color: var(--qg-gold);
  border: 1px solid rgba(212,175,106,.3);
}

.qg-badge--trending {
  background: var(--qg-rose);
  color: #fff;
}

.qg-service-card__bookings {
  position: absolute;
  bottom: 12px;
  right: 12px;
  background: rgba(10,4,22,.75);
  backdrop-filter: blur(6px);
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 99px;
  padding: 3px 10px;
  font-size: .65rem;
  color: rgba(255,255,255,.85);
  font-weight: 600;
}

.qg-service-card__body {
  padding: 20px;
  flex: 1;
  display: flex;
  flex-direction: column;
}

.qg-service-card__icon { font-size: 1.3rem; margin-bottom: 8px; }

.qg-service-card__body h3 {
  font-family: "Playfair Display", serif;
  font-size: 1.15rem;
  font-weight: 700;
  color: var(--qg-text);
  margin: 0 0 6px;
}

.qg-service-card__body p {
  font-size: .87rem;
  line-height: 1.6;
  color: var(--qg-text-soft);
  margin: 0 0 12px;
  flex: 1;
}

.qg-service-card__meta {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 8px;
}

.qg-service-card__price {
  font-size: .9rem;
  font-weight: 700;
  color: var(--qg-plum);
}

.qg-service-card__duration {
  font-size: .75rem;
  color: var(--qg-text-soft);
}

.qg-service-card__book-btn {
  display: block;
  padding: 13px 20px;
  background: var(--qg-plum);
  color: var(--qg-gold);
  border: none;
  font-size: .82rem;
  font-weight: 700;
  letter-spacing: .06em;
  text-align: center;
  text-decoration: none;
  transition: background .2s;
  border-top: 1px solid rgba(212,175,106,.15);
}

.qg-service-card__book-btn:hover { background: #2E1650; }


/* ================================================================
   HOW IT WORKS — 3 steps
   ================================================================ */
.qg-how { background: var(--qg-bg-alt, #F5EDE2); }

.qg-how__inner {
  max-width: var(--qg-max);
  margin: 0 auto;
  padding-inline: clamp(1.25rem, 3vw, 2.5rem);
}

.qg-how__steps {
  display: grid;
  grid-template-columns: 1fr auto 1fr auto 1fr;
  gap: 0;
  align-items: start;
  margin-bottom: 2.5rem;
}

.qg-step {
  background: #fff;
  border-radius: var(--qg-radius-card);
  padding: 2rem;
  text-align: center;
  border: 1px solid rgba(212,175,106,.12);
  box-shadow: var(--qg-shadow-sm);
}

.qg-step__num {
  font-family: "Cormorant Garamond", serif;
  font-size: 2.5rem;
  font-style: italic;
  color: rgba(212,175,106,.3);
  line-height: 1;
  margin-bottom: 8px;
}

.qg-step__icon { font-size: 1.8rem; margin-bottom: 12px; }

.qg-step h3 {
  font-family: "Playfair Display", serif;
  font-size: 1.1rem;
  font-weight: 700;
  color: var(--qg-text);
  margin: 0 0 8px;
}

.qg-step p {
  font-size: .87rem;
  line-height: 1.65;
  color: var(--qg-text-soft);
  margin: 0;
}

.qg-step__connector {
  display: flex;
  align-items: center;
  justify-content: center;
  color: rgba(212,175,106,.4);
  font-size: 1.2rem;
  padding: 0 1rem;
  margin-top: 3.5rem;
}

.qg-step__connector::after {
  content: '→';
  font-size: 1.5rem;
  color: rgba(212,175,106,.4);
}

.qg-how__promise {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 14px 24px;
  background: rgba(212,175,106,.1);
  border: 1px solid rgba(212,175,106,.2);
  border-radius: 99px;
  font-size: .85rem;
  color: var(--qg-text-soft);
  width: fit-content;
  margin: 0 auto;
}

.qg-how__promise strong { color: var(--qg-plum); }
.qg-how__promise-icon  { font-size: 1rem; }

@media (max-width: 900px) {
  .qg-how__steps {
    grid-template-columns: 1fr;
    gap: 1.5rem;
  }
  .qg-step__connector { transform: rotate(90deg); margin: 0 auto; padding: 0; }
}


/* ================================================================
   SAFETY SECTION — dark plum background
   ================================================================ */
.qg-safety {
  background: var(--qg-plum, #1C0A2E);
  position: relative;
  overflow: hidden;
}

.qg-safety::before {
  content: '';
  position: absolute;
  top: -100px; right: -100px;
  width: 400px; height: 400px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(212,175,106,.07) 0%, transparent 70%);
  pointer-events: none;
}

.qg-safety__grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap: 20px;
}

.qg-safety-card {
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(212,175,106,.12);
  border-radius: var(--qg-radius-card);
  padding: 28px;
  transition: background .25s, border-color .25s, transform .25s;
}

.qg-safety-card:hover {
  background: rgba(255,255,255,.07);
  border-color: rgba(212,175,106,.28);
  transform: translateY(-2px);
}

.qg-safety-card__icon {
  font-size: 1.8rem;
  margin-bottom: 12px;
}

.qg-safety-card h3 {
  font-family: "Playfair Display", serif;
  font-size: 1.05rem;
  font-weight: 700;
  color: var(--qg-gold);
  margin: 0 0 8px;
}

.qg-safety-card p {
  font-size: .87rem;
  line-height: 1.65;
  color: rgba(255,255,255,.55);
  margin: 0;
}


/* ================================================================
   ARTIST CARDS
   ================================================================ */
.qg-artists { background: var(--qg-bg, #FBF7F0); }

.qg-artists__inner {
  max-width: var(--qg-max);
  margin: 0 auto;
  padding-inline: clamp(1.25rem, 3vw, 2.5rem);
}

.qg-artists-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: 24px;
  margin-bottom: 2.5rem;
}

.qg-artist-card {
  background: #fff;
  border-radius: var(--qg-radius-card);
  overflow: hidden;
  border: 1px solid rgba(212,175,106,.12);
  box-shadow: var(--qg-shadow-sm);
  display: flex;
  flex-direction: column;
  transition: transform .3s, box-shadow .3s;
}

.qg-artist-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--qg-shadow-gold);
}

.qg-artist-media {
  position: relative;
  aspect-ratio: 4/5;
  overflow: hidden;
}

.qg-artist-media img {
  width: 100%; height: 100%;
  object-fit: cover;
  transition: transform .5s;
}

.qg-artist-card:hover .qg-artist-media img { transform: scale(1.04); }

.qg-artist-avail {
  position: absolute;
  bottom: 12px;
  left: 12px;
  padding: 4px 10px;
  border-radius: 99px;
  font-size: .65rem;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.qg-avail--open  { background: #d4f7e7; color: #1a8a4a; }
.qg-avail--busy  { background: #fff0d4; color: #b8690a; }

.qg-artist-body {
  padding: 20px 20px 8px;
  flex: 1;
}

.qg-artist-body h3 {
  font-family: "Playfair Display", serif;
  font-size: 1.05rem;
  font-weight: 700;
  color: var(--qg-text);
  margin: 0 0 4px;
  display: flex;
  align-items: center;
  gap: 6px;
}

.qg-artist-verified {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 16px; height: 16px;
  border-radius: 50%;
  background: var(--qg-gold);
  color: var(--qg-plum);
  font-size: .55rem;
  font-weight: 700;
}

.qg-artist-body > p {
  font-size: .82rem;
  color: var(--qg-text-soft);
  margin: 0 0 10px;
}

.qg-artist-rating {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 6px;
}

.qg-artist-stars { color: var(--qg-gold); font-size: .85rem; }
.qg-artist-count { font-size: .75rem; color: var(--qg-text-muted); }

.qg-artist-meta {
  font-size: .72rem;
  color: var(--qg-text-muted);
  letter-spacing: .03em;
}

.qg-artist-profile-btn {
  display: block;
  padding: 12px 20px;
  background: var(--qg-plum);
  color: var(--qg-gold);
  font-size: .8rem;
  font-weight: 700;
  letter-spacing: .06em;
  text-align: center;
  text-decoration: none;
  border-top: 1px solid rgba(212,175,106,.15);
  transition: background .2s;
}

.qg-artist-profile-btn:hover { background: #2E1650; }


/* ================================================================
   BEFORE & AFTER
   ================================================================ */
.qg-before-after { background: var(--qg-bg-alt, #F5EDE2); }

.qg-ba-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
  gap: 24px;
  max-width: var(--qg-max);
  margin: 0 auto;
  padding-inline: clamp(1.25rem, 3vw, 2.5rem);
}

.qg-ba-card {
  border-radius: var(--qg-radius-card);
  overflow: hidden;
  box-shadow: var(--qg-shadow);
}

.qg-ba-slider {
  position: relative;
  aspect-ratio: 4/3;
  overflow: hidden;
  user-select: none;
}

.qg-ba-before,
.qg-ba-after {
  position: absolute;
  inset: 0;
}

.qg-ba-before img,
.qg-ba-after img {
  width: 100%; height: 100%;
  object-fit: cover;
  pointer-events: none;
}

.qg-ba-after { clip-path: inset(0 0 0 50%); }

.qg-ba-label {
  position: absolute;
  bottom: 12px;
  padding: 4px 10px;
  border-radius: 99px;
  font-size: .65rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.qg-ba-label--before { left: 12px; background: rgba(0,0,0,.5); color: rgba(255,255,255,.8); }
.qg-ba-label--after  { right: 12px; background: var(--qg-gold); color: var(--qg-plum); }

.qg-ba-handle {
  position: absolute;
  top: 0; bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  flex-direction: column;
  align-items: center;
  cursor: ew-resize;
  z-index: 4;
}

.qg-ba-handle__line {
  width: 2px; height: 100%;
  background: rgba(255,255,255,.7);
  flex: 1;
}

.qg-ba-handle__btn {
  position: absolute;
  top: 50%; transform: translateY(-50%);
  width: 36px; height: 36px;
  border-radius: 50%;
  background: #fff;
  color: var(--qg-plum);
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 2px 12px rgba(0,0,0,.25);
}

.qg-ba-info {
  background: #fff;
  padding: 14px 20px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: .82rem;
}

.qg-ba-info strong { font-weight: 700; color: var(--qg-text); }
.qg-ba-info span   { color: var(--qg-gold); font-size: .78rem; }


/* ================================================================
   TESTIMONIALS
   ================================================================ */
.qg-testimonials { background: var(--qg-bg, #FBF7F0); }

.qg-testi-aggregate {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background: rgba(212,175,106,.1);
  border: 1px solid rgba(212,175,106,.2);
  border-radius: 99px;
  padding: 8px 20px;
  margin-top: 1rem;
  font-size: .83rem;
  color: var(--qg-text-soft);
}

.qg-testi-agg-stars { color: var(--qg-gold); font-size: 1rem; }

.qg-testi-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap: 24px;
  max-width: var(--qg-max);
  margin: 0 auto;
  padding-inline: clamp(1.25rem, 3vw, 2.5rem);
}

.qg-testi {
  background: #fff;
  border-radius: var(--qg-radius-card);
  padding: 28px;
  border: 1px solid rgba(212,175,106,.12);
  box-shadow: var(--qg-shadow-sm);
  display: flex;
  flex-direction: column;
  gap: 1rem;
  transition: transform .3s, box-shadow .3s;
}

.qg-testi:hover {
  transform: translateY(-3px);
  box-shadow: var(--qg-shadow-gold);
}

.qg-testi__stars { color: var(--qg-gold); font-size: 1rem; letter-spacing: 2px; }

.qg-testi__body {
  font-family: "Cormorant Garamond", serif;
  font-size: 1.05rem;
  font-style: italic;
  line-height: 1.7;
  color: var(--qg-text);
  margin: 0;
  flex: 1;
}

.qg-testi__author {
  display: flex;
  align-items: center;
  gap: 12px;
}

.qg-testi__avatar {
  width: 44px; height: 44px;
  border-radius: 50%;
  background: var(--qg-plum);
  color: var(--qg-gold);
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: "Playfair Display", serif;
  font-size: 1.1rem;
  font-weight: 700;
  flex-shrink: 0;
}

.qg-testi__name { font-size: .88rem; font-weight: 600; color: var(--qg-text); }
.qg-testi__city { font-size: .75rem; color: var(--qg-text-muted); margin-top: 1px; }


/* ================================================================
   INNER CIRCLE MEMBERSHIP — dark luxury section
   ================================================================ */
.qg-membership {
  background: var(--qg-plum);
  position: relative;
  overflow: hidden;
}

.qg-membership::before {
  content: '';
  position: absolute;
  top: 50%; left: 50%;
  transform: translate(-50%, -50%);
  width: 800px; height: 800px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(212,175,106,.05) 0%, transparent 70%);
  pointer-events: none;
}

.qg-membership__header {
  text-align: center;
  margin-bottom: 3rem;
}

.qg-membership__cards {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 20px;
  align-items: stretch;
}

.qg-membership-plan {
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(212,175,106,.15);
  border-radius: var(--qg-radius-card);
  padding: 2rem;
  display: flex;
  flex-direction: column;
  gap: 1.2rem;
  transition: border-color .25s, background .25s;
}

.qg-membership-plan:hover {
  border-color: rgba(212,175,106,.35);
  background: rgba(255,255,255,.06);
}

.qg-plan--featured {
  border-color: var(--qg-gold);
  background: rgba(212,175,106,.08);
  position: relative;
}

.qg-plan__badge {
  font-size: .65rem;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--qg-gold);
  padding: 4px 12px;
  border: 1px solid rgba(212,175,106,.25);
  border-radius: 99px;
  display: inline-block;
  width: fit-content;
}

.qg-plan--featured .qg-plan__badge {
  background: rgba(212,175,106,.15);
}

.qg-plan__price {
  display: flex;
  align-items: baseline;
  gap: 4px;
}

.qg-plan__currency {
  font-size: 1.2rem;
  color: var(--qg-gold);
  font-weight: 600;
}

.qg-plan__amount {
  font-family: "Playfair Display", serif;
  font-size: 3rem;
  font-weight: 700;
  color: #fff;
  line-height: 1;
}

.qg-plan__period {
  font-size: .82rem;
  color: rgba(255,255,255,.45);
}

.qg-plan__perks {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
  flex: 1;
}

.qg-plan__perks li {
  font-size: .87rem;
  color: rgba(255,255,255,.65);
  padding-left: 2px;
}

.qg-membership__cta {
  text-align: center;
  margin-top: 2rem;
}


/* ================================================================
   SEASONAL COLLECTIONS
   ================================================================ */
.qg-seasonal { background: var(--qg-bg, #FBF7F0); }

.qg-seasonal__grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 24px;
}

.qg-seasonal-card {
  border-radius: var(--qg-radius-card);
  overflow: hidden;
  min-height: 380px;
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  background-size: cover;
  background-position: center;
  transition: transform .35s;
}

.qg-seasonal-card:hover { transform: scale(1.02); }

/* Placeholder gradients until real images are available */
.qg-seasonal-card--bridal  { background-color: #2E1650; background-image: linear-gradient(160deg, #3d1b5e, #6b2d5e, #c9536b); }
.qg-seasonal-card--diwali  { background-color: #3d2000; background-image: linear-gradient(160deg, #5c2800, #b86c00, #d4af6a); }
.qg-seasonal-card--office  { background-color: #1C2E40; background-image: linear-gradient(160deg, #1a2d3d, #2d4a60, #4a7090); }
.qg-seasonal-card--gift    { background-color: #2E1628; background-image: linear-gradient(160deg, #3d1440, #6b2060, #d4608a); }

.qg-seasonal-card__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(0deg, rgba(10,4,22,.85) 0%, rgba(10,4,22,.3) 50%, transparent 100%);
}

.qg-seasonal-card__body {
  position: relative;
  z-index: 2;
  padding: 2rem;
}

.qg-seasonal-card__tag {
  display: inline-block;
  padding: 3px 12px;
  background: rgba(212,175,106,.2);
  border: 1px solid rgba(212,175,106,.3);
  border-radius: 99px;
  font-size: .65rem;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--qg-gold);
  margin-bottom: 10px;
}

.qg-seasonal-card__body h3 {
  font-family: "Playfair Display", serif;
  font-size: 1.4rem;
  font-weight: 700;
  color: #fff;
  margin: 0 0 8px;
  line-height: 1.2;
}

.qg-seasonal-card__body p {
  font-size: .85rem;
  line-height: 1.6;
  color: rgba(255,255,255,.65);
  margin: 0 0 8px;
}

.qg-seasonal-card__price {
  font-size: .88rem;
  font-weight: 700;
  color: var(--qg-gold);
}


/* ================================================================
   BRANDS MARQUEE
   ================================================================ */
.qg-brands {
  padding-block: 2rem;
  background: #fff;
  border-block: 1px solid rgba(212,175,106,.1);
  overflow: hidden;
}

.qg-brands__eyebrow {
  text-align: center;
  font-size: .65rem;
  font-weight: 700;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--qg-text-muted, #A07090);
  margin-bottom: 1.2rem;
}

.qg-brands__track-wrap {
  overflow: hidden;
  position: relative;
}

.qg-brands__track-wrap::before,
.qg-brands__track-wrap::after {
  content: '';
  position: absolute;
  top: 0; bottom: 0;
  width: 80px;
  z-index: 2;
  pointer-events: none;
}

.qg-brands__track-wrap::before { left: 0;  background: linear-gradient(90deg, #fff, transparent); }
.qg-brands__track-wrap::after  { right: 0; background: linear-gradient(-90deg, #fff, transparent); }

.qg-brands__track {
  display: flex;
  gap: 2rem;
  white-space: nowrap;
  animation: qgMarquee 30s linear infinite;
}

@keyframes qgMarquee {
  0%   { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}

.qg-brand-pill {
  display: inline-flex;
  align-items: center;
  padding: 6px 20px;
  border: 1px solid rgba(212,175,106,.2);
  border-radius: 99px;
  font-size: .78rem;
  font-weight: 600;
  color: var(--qg-text-soft);
  letter-spacing: .04em;
  white-space: nowrap;
  background: rgba(212,175,106,.04);
}


/* ================================================================
   GUARANTEE STRIP
   ================================================================ */
.qg-guarantee { padding-block: 2.5rem; background: var(--qg-plum); }

.qg-guarantee__inner {
  max-width: var(--qg-max);
  margin: 0 auto;
  padding-inline: clamp(1.25rem, 3vw, 2.5rem);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0;
  flex-wrap: wrap;
}

.qg-guarantee__badge {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 2rem;
  flex-shrink: 0;
}

.qg-guarantee__icon { font-size: 1.4rem; }

.qg-guarantee__badge div {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.qg-guarantee__badge strong {
  font-size: .88rem;
  font-weight: 700;
  color: #fff;
}

.qg-guarantee__badge span {
  font-size: .75rem;
  color: rgba(255,255,255,.5);
}

.qg-guarantee__divider {
  width: 1px; height: 36px;
  background: rgba(255,255,255,.1);
  flex-shrink: 0;
}

@media (max-width: 700px) {
  .qg-guarantee__inner  { flex-direction: column; align-items: flex-start; gap: 4px; padding-block: 0.5rem; }
  .qg-guarantee__divider { display: none; }
}


/* ================================================================
   APP CTA — dark section
   ================================================================ */
.qg-app {
  background: var(--qg-plum);
  text-align: center;
}

.qg-app .qg-section-head h2 { color: #fff; }
.qg-app .qg-section-head p  { color: rgba(255,255,255,.55); }

.qg-app__inner {
  max-width: var(--qg-max);
  margin: 0 auto;
  padding-inline: clamp(1.25rem, 3vw, 2.5rem);
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 4rem;
  align-items: center;
  text-align: left;
}

.qg-app__text h3 {
  font-family: "Playfair Display", serif;
  font-size: 1.5rem;
  font-weight: 700;
  color: #fff;
  margin: 0 0 1rem;
}

.qg-app__text > p {
  font-size: .95rem;
  line-height: 1.7;
  color: rgba(255,255,255,.6);
  margin: 0 0 1.5rem;
  max-width: 480px;
}

.qg-app__features {
  list-style: none;
  padding: 0;
  margin: 0 0 2rem;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.qg-app__features li {
  font-size: .87rem;
  color: rgba(255,255,255,.65);
  display: flex;
  align-items: center;
  gap: 8px;
}

.qg-store {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
}

.qg-store__btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 20px;
  border-radius: 12px;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.15);
  color: #fff;
  font-size: .83rem;
  font-weight: 600;
  text-decoration: none;
  transition: background .2s, border-color .2s;
}

.qg-store__btn:hover {
  background: rgba(212,175,106,.15);
  border-color: rgba(212,175,106,.3);
  color: var(--qg-gold);
}

.qg-app__qr {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: 1.5rem;
}

.qg-app__qr span {
  font-size: .75rem;
  color: rgba(255,255,255,.35);
  letter-spacing: .06em;
  text-transform: uppercase;
}

.qg-app-img {
  max-height: 480px;
  filter: drop-shadow(0 20px 40px rgba(10,4,22,.5));
}

@media (max-width: 700px) {
  .qg-app__inner { grid-template-columns: 1fr; text-align: center; }
  .qg-app__features { align-items: center; }
  .qg-store, .qg-app__qr { justify-content: center; }
  .qg-app-img { max-height: 280px; }
}


/* ================================================================
   FAQ
   ================================================================ */
.qg-faq { background: var(--qg-bg, #FBF7F0); }

.qg-faq__container {
  max-width: 720px;
  margin: 0 auto;
  padding-inline: clamp(1.25rem, 3vw, 2.5rem);
}

.qg-acc {
  border-bottom: 1px solid rgba(212,175,106,.15);
}

.qg-acc__header {
  width: 100%;
  background: none;
  border: none;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 20px 0;
  font-family: var(--qg-font-serif, "Playfair Display", serif);
  font-size: 1.05rem;
  font-weight: 600;
  color: var(--qg-text);
  gap: 16px;
  cursor: pointer;
  text-align: left;
  transition: color .2s;
}

.qg-acc__header:hover { color: var(--qg-plum); }
.qg-acc.open .qg-acc__header { color: var(--qg-plum); }

.qg-acc-icon {
  width: 20px; height: 20px;
  border-radius: 50%;
  border: 1.5px solid rgba(212,175,106,.35);
  flex-shrink: 0;
  position: relative;
  transition: background .2s, border-color .2s, transform .3s;
}

.qg-acc-icon::before,
.qg-acc-icon::after {
  content: '';
  position: absolute;
  background: var(--qg-text-soft);
  top: 50%; left: 50%;
  transform: translate(-50%, -50%);
  border-radius: 99px;
  transition: transform .3s, opacity .3s;
}

.qg-acc-icon::before { width: 8px; height: 1.5px; }
.qg-acc-icon::after  { width: 1.5px; height: 8px; }

.qg-acc.open .qg-acc-icon {
  background: var(--qg-gold);
  border-color: var(--qg-gold);
}

.qg-acc.open .qg-acc-icon::before,
.qg-acc.open .qg-acc-icon::after { background: var(--qg-plum); }
.qg-acc.open .qg-acc-icon::after  { transform: translate(-50%, -50%) rotate(90deg); opacity: 0; }

.qg-acc__content {
  max-height: 0;
  overflow: hidden;
  transition: max-height .35s ease;
}

.qg-acc__content p {
  padding: 0 0 20px;
  font-size: .9rem;
  line-height: 1.72;
  color: var(--qg-text-soft);
  margin: 0;
}

.qg-faq-cta {
  padding: 2rem 0 0;
  font-size: .9rem;
  color: var(--qg-text-soft);
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  flex-wrap: wrap;
}

.qg-faq-chat-btn {
  background: var(--qg-plum);
  color: var(--qg-gold);
  border: 1px solid rgba(212,175,106,.2);
  border-radius: 99px;
  padding: 8px 20px;
  font-size: .82rem;
  font-weight: 600;
  cursor: pointer;
  transition: background .2s;
}

.qg-faq-chat-btn:hover { background: #2E1650; }


/* ================================================================
   REFERRAL SECTION
   ================================================================ */
.qg-referral { padding-block: 3rem; background: var(--qg-bg-alt, #F5EDE2); }

.qg-referral__inner {
  display: flex;
  align-items: center;
  gap: 2rem;
  flex-wrap: wrap;
  background: var(--qg-plum);
  border: 1px solid rgba(212,175,106,.2);
  border-radius: var(--qg-radius-card);
  padding: 2.5rem;
}

.qg-referral__icon { font-size: 2.5rem; flex-shrink: 0; }

.qg-referral__text {
  flex: 1;
  min-width: 200px;
}

.qg-referral__text h3 {
  font-family: "Playfair Display", serif;
  font-size: 1.4rem;
  font-weight: 700;
  color: var(--qg-gold);
  margin: 0 0 6px;
}

.qg-referral__text p {
  font-size: .9rem;
  line-height: 1.65;
  color: rgba(255,255,255,.6);
  margin: 0;
}


/* ================================================================
   ARTIST JOIN CTA
   ================================================================ */
.qg-artist-join {
  background: var(--qg-plum);
  border-top: 1px solid rgba(212,175,106,.1);
}

.qg-artist-join__inner {
  max-width: var(--qg-max);
  margin: 0 auto;
  padding-inline: clamp(1.25rem, 3vw, 2.5rem);
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 4rem;
  align-items: center;
}

.qg-artist-join__content h2 {
  font-family: "Playfair Display", serif;
  font-size: clamp(2rem, 4vw, 3rem);
  font-weight: 700;
  color: #fff;
  margin: 0.8rem 0;
  line-height: 1.15;
}

.qg-artist-join__content h2 span {
  font-style: italic;
  color: var(--qg-gold);
}

.qg-artist-join__content > p {
  font-size: .95rem;
  line-height: 1.72;
  color: rgba(255,255,255,.6);
  margin: 0 0 2rem;
  max-width: 480px;
}

.qg-artist-join__perks {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}

.qg-join-perk {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: .85rem;
  color: rgba(255,255,255,.7);
}

.qg-join-perk__icon { font-size: 1.1rem; flex-shrink: 0; }

.qg-artist-join__stats {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}

.qg-join-stat {
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(212,175,106,.12);
  border-radius: 16px;
  padding: 20px;
  text-align: center;
}

.qg-join-stat strong {
  display: block;
  font-family: "Playfair Display", serif;
  font-size: 1.8rem;
  font-weight: 700;
  color: var(--qg-gold);
  margin-bottom: 4px;
}

.qg-join-stat span {
  font-size: .72rem;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: rgba(255,255,255,.4);
}

@media (max-width: 900px) {
  .qg-artist-join__inner { grid-template-columns: 1fr; gap: 2.5rem; }
}


/* ================================================================
   MANIFESTO SECTION
   ================================================================ */
.qg-manifesto { background: var(--qg-bg-alt, #F5EDE2); }

.qg-manifesto__inner {
  max-width: var(--qg-max);
  margin: 0 auto;
  padding-inline: clamp(1.25rem, 3vw, 2.5rem);
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 5rem;
  align-items: center;
}

.qg-manifesto__copy h2 {
  font-family: "Playfair Display", serif;
  font-size: clamp(1.8rem, 3.5vw, 2.6rem);
  font-weight: 700;
  line-height: 1.2;
  color: var(--qg-text);
  margin: 0.8rem 0;
}

.qg-manifesto__copy h2 span {
  font-style: italic;
  color: var(--qg-rose);
}

.qg-manifesto__copy p {
  font-size: .95rem;
  line-height: 1.75;
  color: var(--qg-text-soft);
  margin: 0 0 1rem;
}

.qg-manifesto__copy p.subtle {
  font-family: "Cormorant Garamond", serif;
  font-size: 1.05rem;
  font-style: italic;
  color: var(--qg-text-muted);
}

.qg-manifesto__metrics {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
}

.qg-metric {
  background: #fff;
  border: 1px solid rgba(212,175,106,.15);
  border-radius: 18px;
  padding: 24px;
  text-align: center;
  box-shadow: var(--qg-shadow-sm);
}

.qg-metric strong {
  display: block;
  font-family: "Playfair Display", serif;
  font-size: 2rem;
  font-weight: 700;
  color: var(--qg-plum);
  margin-bottom: 4px;
}

.qg-metric span {
  font-size: .72rem;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--qg-text-muted);
}

@media (max-width: 900px) {
  .qg-manifesto__inner { grid-template-columns: 1fr; gap: 2.5rem; }
}


/* ================================================================
   RESPONSIVE — Global
   ================================================================ */
@media (max-width: 700px) {
  section { padding-block: clamp(3rem, 8vw, 4rem); }
  .qg-hero__proof { padding: 12px 16px; }
  .qg-hero__proof-item { padding: 0 12px; }
  .qg-hero__proof-item strong { font-size: 1.05rem; }
  .qg-services-grid,
  .qg-artists-grid,
  .qg-ba-grid,
  .qg-testi-grid,
  .qg-safety__grid,
  .qg-membership__cards,
  .qg-seasonal__grid { grid-template-columns: 1fr; }
  .qg-trust-bar__item strong { font-size: 1.5rem; }
  .qg-plan__amount { font-size: 2.2rem; }
  .qg-referral__inner { flex-direction: column; text-align: center; padding: 1.8rem; }
  .qg-artist-join__perks { grid-template-columns: 1fr; }
  .qg-artist-join__stats  { grid-template-columns: 1fr 1fr; }
  .qg-press__logos { gap: 1.5rem; }
}/* ================================================================
   QwikGlam — Mobile Definitive Patch v6
   Fixes all 11 reported issues. Appended to qg-services-additions.css
   and qg-global.css. Desktop untouched.
   ================================================================ */

/* ================================================================
   ISSUE 1 — HEADER: Search visible, no gap, compact bar
   ================================================================ */
@media (max-width: 900px) {

  /* Announcement bar: reduce to 32px */
  .qg-announcement-bar {
    height: 32px !important;
    max-height: 32px !important;
    font-size: .65rem !important;
  }

  /* Header sits directly below bar, no gap */
  .qg-header {
    top: 32px !important;
  }

  body.qg-bar-hidden .qg-header {
    top: 0 !important;
  }

  /* Header inner: 56px tall, tight spacing */
  .qg-header__inner {
    height: 56px !important;
    padding: 0 1rem !important;
    gap: .5rem !important;
  }

  /* Logo: slightly smaller */
  .qg-logo a {
    font-size: 1.3rem !important;
  }

  /* City btn: compact pill */
  .qg-city-btn {
    padding: 4px 10px !important;
    font-size: .7rem !important;
    gap: 4px !important;
  }

  /* Actions: always flex, search ALWAYS visible */
  .qg-header__actions {
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
    margin-left: auto !important;
    flex-shrink: 0 !important;
  }

  /* Search + icon buttons: forced visible */
  .qg-header__search-btn,
  .qg-header__icon-btn {
    display: flex !important;
    width: 34px !important;
    height: 34px !important;
    flex-shrink: 0 !important;
    flex-basis: 34px !important;
    min-width: 34px !important;
  }

  /* Hide CTA buttons that bloat the header row */
  .qg-btn--glow    { display: none !important; }
  .qg-btn--book-now { display: none !important; }

  /* Hamburger: visible and ordered last */
  .qg-menu-toggle {
    display: flex !important;
    order: 99 !important;
    margin-left: 0 !important;
    padding: 4px !important;
    flex-shrink: 0 !important;
  }

  /* Bottom nav: always shown on mobile */
  .qg-bottom-nav {
    display: block !important;
    z-index: 9980 !important;
  }

} /* end header @media */


/* ================================================================
   ALL REMAINING FIXES — max-width: 768px
   ================================================================ */
@media (max-width: 768px) {

  /* ================================================================
     ISSUE 1b — Hero starts right after header (no gap)
     header top: 32px + header height: 56px = 88px total
     ================================================================ */
  .qg-hero {
    margin-top: 0 !important;
    padding-top: 0 !important;
  }

  /* If hero is a section inside a wrapper, kill any top-margin */
  main > .qg-hero:first-child,
  #qg-home > .qg-hero:first-child {
    margin-top: 0 !important;
  }

  /* ================================================================
     ISSUE 2 — HERO: Proper height, centered text, clean layout
     ================================================================ */
  .qg-hero {
    min-height: 64svh !important;
    min-height: 64vh !important;
    height: 64svh !important;
    height: 64vh !important;
    display: flex !important;
    flex-direction: column !important;
    place-items: unset !important;
    align-items: stretch !important;
    justify-content: flex-end !important;
    overflow: hidden !important;
    position: relative !important;
  }

  /* BG layers */
  .qg-hero__video,
  .qg-hero__overlay,
  .qg-hero__veil,
  .qg-hero__particles,
  .qg-hero__petals {
    position: absolute !important;
    inset: 0 !important;
  }
  .qg-hero__video     { z-index: -3 !important; }
  .qg-hero__overlay,
  .qg-hero__veil      { z-index: -2 !important; }
  .qg-hero__particles,
  .qg-hero__petals    { z-index: -1 !important; }

  /* Strong dark overlay so text is legible */
  .qg-hero__overlay {
    background: linear-gradient(180deg,
      rgba(10,4,22,.12) 0%, rgba(10,4,22,.0) 15%,
      rgba(10,4,22,.45) 48%, rgba(10,4,22,.88) 74%,
      rgba(10,4,22,.99) 100%) !important;
  }
  .qg-hero__veil {
    background: linear-gradient(180deg,
      rgba(42,14,34,.18) 0%, rgba(42,14,34,.04) 15%,
      rgba(42,14,34,.48) 48%, rgba(42,14,34,.9) 74%,
      rgba(42,14,34,.99) 100%) !important;
  }

  /* Live ticker */
  .qg-hero__live-ticker {
    position: absolute !important;
    top: 68px !important; bottom: auto !important;
    left: 50% !important; transform: translateX(-50%) !important;
    z-index: 3 !important; font-size: .66rem !important;
    padding: 4px 12px !important;
    max-width: calc(100vw - 2rem) !important;
    white-space: nowrap !important; overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  .qg-hero__scroll, .qg-scroll-cue { display: none !important; }

  /* Hero content: bottom, left-aligned, premium */
  .qg-hero__content {
    position: relative !important;
    z-index: 2 !important;
    width: 100% !important; max-width: 100% !important;
    padding: 5.5rem 1.15rem 1.5rem !important;
    text-align: left !important;
    display: flex !important; flex-direction: column !important;
    align-items: flex-start !important;
    gap: .65rem !important; margin-top: auto !important;
    overflow: visible !important;
  }

  /* Hero badge */
  .qg-hero__badge {
    font-size: .6rem !important; padding: 4px 13px !important; margin: 0 !important;
    letter-spacing: .14em !important;
  }

  /* Hero urgency pill */
  .qg-hero__urgency {
    font-size: .68rem !important; padding: 4px 11px !important;
    margin: 0 !important; display: inline-flex !important;
  }

  /* Services hero H1 */
  .qg-hero__title {
    font-size: clamp(2rem, 9vw, 2.8rem) !important;
    font-family: "Playfair Display", serif !important;
    line-height: 1.07 !important; margin: 0 !important;
    font-weight: 700 !important; color: #fff !important;
  }
  .qg-hero__title em { display: block !important; }

  /* Services hero subtitle */
  .qg-hero__subtitle {
    font-size: .85rem !important; line-height: 1.58 !important;
    margin: 0 !important; color: rgba(255,230,240,.8) !important;
  }

  /* Services hero CTA */
  button.qg-hero__cta,
  .qg-hero__cta:not(.qg-hero__cta .qg-btn) {
    width: 100% !important; min-height: 50px !important;
    border-radius: 14px !important; font-size: .88rem !important;
    padding: .9rem 1.5rem !important;
    justify-content: center !important;
    display: flex !important; align-items: center !important; margin: 0 !important;
  }

  /* Home hero H1 */
  .qg-hero__content h1 {
    font-family: "Playfair Display", serif !important;
    font-size: clamp(2rem, 9.5vw, 2.9rem) !important;
    line-height: 1.06 !important; letter-spacing: -.02em !important;
    margin: 0 !important; color: #fff !important; font-weight: 700 !important;
  }
  .qg-hero__content h1 em { display: block !important; }

  /* Home hero body text */
  .qg-hero__content > p {
    font-size: .86rem !important; line-height: 1.58 !important;
    margin: 0 !important; color: rgba(255,255,255,.75) !important; max-width: 100% !important;
  }

  /* Ornament divider: hide */
  .qg-hero__ornament { display: none !important; }

  /* Home hero CTAs: stacked */
  .qg-hero__cta {
    display: flex !important; flex-direction: column !important;
    gap: 9px !important; align-items: stretch !important;
    width: 100% !important; margin: 0 !important;
  }
  .qg-hero__cta .qg-btn {
    display: flex !important; align-items: center !important;
    justify-content: center !important; width: 100% !important;
    min-height: 50px !important; padding: 13px 20px !important;
    font-size: .88rem !important; border-radius: 14px !important;
  }

  /* Home proof strip: 2×2 grid */
  .qg-hero__proof {
    display: grid !important; grid-template-columns: 1fr 1fr !important;
    gap: 0 !important; padding: 10px 8px !important;
    max-width: 100% !important; border-radius: 14px !important;
  }
  .qg-hero__proof-divider { display: none !important; }
  .qg-hero__proof-item {
    padding: 8px 7px !important; display: flex !important;
    flex-direction: column !important; align-items: center !important;
  }
  .qg-hero__proof-item:nth-child(1),
  .qg-hero__proof-item:nth-child(3) { border-right: 1px solid rgba(255,255,255,.1) !important; }
  .qg-hero__proof-item:nth-child(1),
  .qg-hero__proof-item:nth-child(2) { border-bottom: 1px solid rgba(255,255,255,.1) !important; }
  .qg-hero__proof-item strong { font-size: 1.02rem !important; }
  .qg-hero__proof-item span   { font-size: .56rem !important; }


  /* ================================================================
     ISSUE 3 — PAYMENT TRUST: Single scrolling row
     ================================================================ */
  .qg-payment-trust {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
    scrollbar-width: none !important;
    align-items: center !important;
    gap: .5rem !important;
    padding: .55rem 1rem !important;
    justify-content: flex-start !important;
    -webkit-mask-image: linear-gradient(to right, black 88%, transparent 100%) !important;
    mask-image: linear-gradient(to right, black 88%, transparent 100%) !important;
    background: #FFFBFD !important;
  }
  .qg-payment-trust::-webkit-scrollbar { display: none !important; }

  .qg-pt-label,
  .qg-pt-method,
  .qg-pt-ssl,
  .qg-pt-sep,
  .qg-pt-logos {
    flex-shrink: 0 !important;
    white-space: nowrap !important;
  }
  .qg-pt-label   { font-size: .66rem !important; }
  .qg-pt-method  { font-size: .66rem !important; }
  .qg-pt-ssl     { font-size: .66rem !important; }
  .qg-pt-logos   { display: flex !important; gap: 4px !important; flex-wrap: nowrap !important; }


  /* ================================================================
     ISSUE 4 — FILTER: Single scrolling row
     ================================================================ */
  /* Services page filter hub */
  .qg-filter-hub {
    top: calc(32px + 56px) !important;
    background: #FFFBFD !important;
    border-bottom: 1px solid rgba(212,84,122,.1) !important;
    box-shadow: 0 2px 10px rgba(42,14,34,.05) !important;
  }
  .qg-filter-hub-inner { padding: .3rem 0 .25rem !important; }
  .qg-filter-row {
    display: flex !important; flex-direction: row !important;
    flex-wrap: nowrap !important;
    overflow-x: auto !important; scrollbar-width: none !important;
    -webkit-overflow-scrolling: touch !important;
    gap: .28rem !important; padding: .22rem .85rem !important;
    scroll-snap-type: x mandatory !important;
    -webkit-mask-image: linear-gradient(to right,
      transparent 0, black .85rem, black calc(100% - .85rem), transparent 100%) !important;
    mask-image: linear-gradient(to right,
      transparent 0, black .85rem, black calc(100% - .85rem), transparent 100%) !important;
    align-items: center !important;
  }
  .qg-filter-row::-webkit-scrollbar { display: none !important; }
  .qg-category-btn {
    flex-shrink: 0 !important; scroll-snap-align: start !important;
    white-space: nowrap !important; padding: .38rem .88rem !important;
    font-size: .72rem !important; min-height: 32px !important;
  }
  .qg-occasion-btn {
    flex-shrink: 0 !important; scroll-snap-align: start !important;
    white-space: nowrap !important; padding: .34rem .78rem !important;
    font-size: .7rem !important; min-height: 30px !important;
  }
  .qg-cat-icon { width: 11px !important; height: 11px !important; }
  .qg-occasion-label { display: none !important; }
  .qg-filter-row-divider { margin: 0 .5rem !important; flex-shrink: 0 !important; }

  /* Home page filter tabs */
  .qg-services-filter {
    display: flex !important; flex-wrap: nowrap !important;
    overflow-x: auto !important; justify-content: flex-start !important;
    scroll-snap-type: x mandatory !important;
    -webkit-overflow-scrolling: touch !important;
    scrollbar-width: none !important;
    padding: 0 1rem 5px !important; gap: 6px !important;
    margin-bottom: 1.1rem !important;
    -webkit-mask-image: linear-gradient(to right, black 85%, transparent 100%) !important;
    mask-image: linear-gradient(to right, black 85%, transparent 100%) !important;
  }
  .qg-services-filter::-webkit-scrollbar { display: none !important; }
  .qg-filter-tab {
    flex-shrink: 0 !important; scroll-snap-align: start !important;
    white-space: nowrap !important; padding: 6px 15px !important;
    font-size: .76rem !important; min-height: 34px !important;
  }


  /* ================================================================
     ISSUE 5 — THE PROCESS / HOW IT WORKS: 2-column grid
     ================================================================ */
  .qg-how-it-works { padding: 2.5rem 1rem !important; }
  .qg-hiw-header { margin-bottom: 1.4rem !important; text-align: center !important; }
  .qg-hiw-header h2 { font-size: clamp(1.6rem, 7vw, 2.2rem) !important; }
  .qg-hiw-header p  { font-size: .85rem !important; }

  /* 2-col grid — OVERRIDE all previous single-col rules */
  .qg-hiw-steps {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    grid-template-rows: auto !important;
    gap: 10px !important;
    max-width: 100% !important; width: 100% !important;
    margin: 0 0 1.2rem !important;
    align-items: stretch !important;
    /* Kill flex overrides */
    flex-direction: unset !important;
    flex-wrap: unset !important;
    justify-content: unset !important;
  }

  /* Step card */
  .qg-hiw-steps .qg-hiw-step {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
    padding: 1rem .85rem !important;
    border-radius: 16px !important;
    background: rgba(255,255,255,.9) !important;
    border: 1.5px solid rgba(212,84,122,.1) !important;
    box-shadow: 0 4px 14px rgba(42,14,34,.07) !important;
    gap: .5rem !important;
    max-width: 100% !important; min-width: 0 !important;
    flex: unset !important;
  }
  .qg-hiw-steps .qg-hiw-step:hover { transform: none !important; }

  /* Step 3: full-width horizontal */
  .qg-hiw-steps .qg-hiw-step:last-of-type {
    grid-column: 1 / -1 !important;
    flex-direction: row !important;
    text-align: left !important;
    align-items: flex-start !important;
    gap: .85rem !important;
  }
  .qg-hiw-steps .qg-hiw-step:last-of-type .qg-hiw-icon { display: none !important; }

  .qg-hiw-num {
    width: 44px !important; height: 44px !important; min-width: 44px !important;
    border-radius: 50% !important; margin: 0 !important;
    font-size: 1.1rem !important; flex-shrink: 0 !important;
    display: grid !important; place-items: center !important;
  }
  .qg-hiw-icon {
    display: flex !important; width: 38px !important; height: 38px !important;
    min-width: 38px !important; margin: 0 auto !important;
  }
  .qg-hiw-step h3 { font-size: .88rem !important; margin: 0 !important; font-weight: 700 !important; }
  .qg-hiw-step p  { font-size: .76rem !important; margin: 0 !important; line-height: 1.52 !important; }
  .qg-hiw-time    { font-size: .6rem !important; padding: .18rem .6rem !important; display: inline-block !important; }
  .qg-hiw-connector { display: none !important; }

  .qg-hiw-cta-row { padding: 0 !important; margin-top: 1.1rem !important; }
  .qg-hiw-explore-btn {
    width: 100% !important; display: flex !important;
    align-items: center !important; justify-content: center !important;
    padding: .85rem 2rem !important; border-radius: 12px !important;
    font-size: .85rem !important; min-height: 46px !important;
  }

  /* Home page HIW — also 2-col */
  .qg-how__inner { padding-inline: 1rem !important; }
  .qg-how__steps {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 10px !important;
    margin-bottom: 1.1rem !important;
    flex-direction: unset !important;
    align-items: stretch !important;
  }
  .qg-step:last-of-type { grid-column: 1 / -1 !important; }
  .qg-step {
    display: flex !important; flex-direction: column !important;
    align-items: center !important; text-align: center !important;
    background: #fff !important; border: 1px solid rgba(212,175,106,.14) !important;
    box-shadow: 0 4px 12px rgba(28,10,46,.07) !important;
    border-radius: 16px !important; padding: 1rem .85rem !important;
    gap: .5rem !important; border-bottom: none !important;
  }
  .qg-step:hover { transform: none !important; }
  .qg-step:last-of-type {
    flex-direction: row !important; text-align: left !important;
    align-items: flex-start !important; gap: .85rem !important;
  }
  .qg-step__num {
    font-family: "Playfair Display", serif !important;
    font-style: italic !important; font-size: 1.65rem !important;
    color: rgba(212,175,106,.55) !important; background: none !important;
    width: auto !important; height: auto !important; min-width: auto !important;
    border-radius: 0 !important; box-shadow: none !important;
    margin: 0 !important; line-height: 1 !important; flex-shrink: 0 !important;
  }
  .qg-step__icon { display: none !important; }
  .qg-step h3 { font-size: .88rem !important; font-weight: 700 !important; margin: 0 !important; }
  .qg-step p   { font-size: .76rem !important; line-height: 1.52 !important; margin: 0 !important; }
  .qg-step__connector { display: none !important; }
  .qg-how__promise {
    padding: 10px 1rem !important; font-size: .78rem !important;
    text-align: center !important; border-radius: 12px !important;
    margin: 0 !important; flex-wrap: wrap !important; gap: 5px !important; width: 100% !important;
  }


  /* ================================================================
     ISSUE 6 — YOUR SAFETY: 2-column grid
     ================================================================ */
  /* Home page safety */
  .qg-safety { padding: 2.5rem 1rem !important; }
  .qg-safety__inner { padding-inline: 0 !important; }
  .qg-safety__grid {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 10px !important;
    grid-template-columns: repeat(2, 1fr) !important;
  }
  .qg-safety-card { padding: 14px 11px !important; border-radius: 16px !important; }
  .qg-safety-card:hover { transform: none !important; }
  .qg-safety-card__icon { font-size: 1.3rem !important; margin-bottom: 6px !important; }
  .qg-safety-card h3 { font-size: .82rem !important; margin-bottom: 4px !important; }
  .qg-safety-card p  { font-size: .72rem !important; line-height: 1.5 !important; }

  /* Services page hygiene section */
  .qg-hygiene { padding: 2.5rem 1rem !important; }
  .qg-hygiene .qg-hygiene-inner,
  .qg-hygiene-inner { padding: 0 !important; max-width: 100% !important; }
  .qg-hygiene-grid {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 10px !important;
    max-width: 100% !important;
  }
  .qg-hygiene-card {
    padding: 1rem .85rem !important; border-radius: 16px !important;
    text-align: center !important;
  }
  .qg-hygiene-card:hover { transform: none !important; }
  .qg-hygiene-icon { width: 44px !important; height: 44px !important; margin: 0 auto .8rem !important; }
  .qg-hygiene-icon svg { width: 20px !important; height: 20px !important; }
  .qg-hygiene-card h3 { font-size: .82rem !important; margin-bottom: .3rem !important; }
  .qg-hygiene-card p  { font-size: .72rem !important; line-height: 1.52 !important; margin-bottom: .5rem !important; }
  .qg-hygiene-cert    { font-size: .58rem !important; padding: .14rem .52rem !important; }


  /* ================================================================
     ISSUE 7 — MEET YOUR ARTISTS: 2-col grid (not carousel)
     ================================================================ */
  /* Home page */
  .qg-artists { background: var(--qg-bg, #FBF7F0) !important; }
  .qg-artists__inner { padding-inline: 0 !important; }
  .qg-artists__inner .qg-section-head { padding-inline: 1rem !important; }
  .qg-artists__inner .qg-center       { padding-inline: 1rem !important; }

  .qg-artists-grid {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 12px !important;
    padding: 0 1rem 1rem !important;
    margin-bottom: 1rem !important;
    /* Kill all carousel overrides */
    flex-direction: unset !important;
    overflow-x: unset !important;
    scroll-snap-type: unset !important;
    -webkit-mask-image: none !important;
    mask-image: none !important;
    -webkit-overflow-scrolling: unset !important;
  }

  .qg-artist-card {
    flex: unset !important; max-width: 100% !important; min-width: 0 !important;
    scroll-snap-align: unset !important;
    border-radius: 18px !important;
    box-shadow: 0 4px 16px rgba(28,10,46,.1) !important;
    display: flex !important; flex-direction: column !important;
  }
  .qg-artist-card:hover { transform: none !important; }

  .qg-artist-media { aspect-ratio: 3/4 !important; overflow: hidden !important; }
  .qg-artist-media img { width: 100% !important; height: 100% !important; object-fit: cover !important; object-position: top center !important; }

  .qg-artist-body { padding: 10px 10px 6px !important; }
  .qg-artist-body h3 { font-size: .83rem !important; }
  .qg-artist-body > p { font-size: .72rem !important; margin-bottom: 6px !important; }
  .qg-artist-stars   { font-size: .72rem !important; }
  .qg-artist-count   { font-size: .65rem !important; }
  .qg-artist-meta    { font-size: .62rem !important; }
  .qg-artist-profile-btn { padding: 9px 12px !important; font-size: .7rem !important; }

  /* Services page artist strip */
  .qg-artist-strip { padding: 2.5rem 1rem !important; }
  .qg-artist-strip-inner {
    grid-template-columns: 1fr !important; gap: 1.5rem !important;
  }
  .qg-artist-stats { grid-template-columns: 1fr 1fr !important; gap: 10px !important; }
  .qg-artist-stat  { padding: 1.2rem 1rem !important; }
  .qg-artist-stat:hover { transform: none !important; }


  /* ================================================================
     ISSUE 8 — ARTIST SPOTLIGHT: 2-column grid
     ================================================================ */
  .qg-spotlight { padding: 2.5rem 1rem !important; }
  .qg-spotlight-header { margin-bottom: 1.4rem !important; text-align: center !important; }
  .qg-spotlight-header h2 { font-size: clamp(1.6rem, 7vw, 2.2rem) !important; }

  .qg-spotlight-grid {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 12px !important;
    max-width: 100% !important;
    margin: 0 0 1.5rem !important;
    /* Kill the 4-col and 2-col at 1100px from base */
    grid-template-columns: repeat(2, 1fr) !important;
  }

  .qg-spotlight-card {
    border-radius: 16px !important; overflow: hidden !important;
    background: #fff !important;
    border: 1.5px solid rgba(212,84,122,.11) !important;
    box-shadow: 0 4px 14px rgba(42,14,34,.08) !important;
    display: block !important;
  }
  .qg-spotlight-card:hover { transform: none !important; }
  .qg-spotlight-card:hover .qg-spotlight-img-wrap img { transform: none !important; }

  .qg-spotlight-img-wrap { height: 130px !important; overflow: hidden !important; }
  .qg-spotlight-img-wrap img { transform: none !important; transition: none !important; width: 100% !important; height: 100% !important; object-fit: cover !important; object-position: top center !important; }

  .qg-spotlight-avail { font-size: .6rem !important; padding: .22rem .62rem !important; }
  .qg-spotlight-body  { padding: .9rem .85rem 1rem !important; }
  .qg-spotlight-body h3 { font-size: .83rem !important; }
  .qg-spot-spec  { font-size: .72rem !important; }
  .qg-spot-bio   { font-size: .74rem !important; margin-bottom: .4rem !important; display: -webkit-box !important; -webkit-line-clamp: 2 !important; -webkit-box-orient: vertical !important; overflow: hidden !important; }
  .qg-spot-cta   { font-size: .78rem !important; }
  .qg-spotlight-cta-row .qg-btn-primary {
    width: 100% !important; justify-content: center !important; min-height: 46px !important;
  }


  /* ================================================================
     ISSUE 9 — OUR PROMISE / PLEDGE / STANDARD: 2-col grid
     ================================================================ */
  /* QwikGlam Standard */
  .qg-standard { padding: 2.5rem 1rem !important; }
  .qg-standard .qg-standard-header,
  .qg-standard-header { margin-bottom: 1.4rem !important; text-align: center !important; }
  .qg-standard-header h2 { font-size: clamp(1.6rem, 7vw, 2.2rem) !important; }

  .qg-standard-grid {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 10px !important;
    max-width: 100% !important;
    margin: 0 0 1.5rem !important;
  }
  .qg-standard-card {
    padding: 1.1rem .9rem !important; border-radius: 16px !important;
    display: flex !important; flex-direction: column !important;
  }
  .qg-standard-card h3 { font-size: .83rem !important; }
  .qg-standard-card p  { font-size: .73rem !important; }

  /* Pledge */
  .qg-pledge { padding: 2.5rem 1rem !important; }
  .qg-pledge-header { margin-bottom: 1.4rem !important; text-align: center !important; }
  .qg-pledge-header h2 { font-size: clamp(1.6rem, 7vw, 2.2rem) !important; }

  .qg-pledge-grid {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 10px !important;
    max-width: 100% !important;
    margin: 0 0 1.5rem !important;
  }
  .qg-pledge-card {
    padding: 1.1rem .9rem !important; border-radius: 16px !important;
    animation: none !important;
  }
  .qg-pledge-card:hover { transform: none !important; }
  .qg-pledge-card::before { display: none !important; }
  .qg-pledge-icon { font-size: 1.5rem !important; margin-bottom: .6rem !important; }
  .qg-pledge-card h3 { font-size: .83rem !important; margin-bottom: .35rem !important; }
  .qg-pledge-card p  { font-size: .73rem !important; line-height: 1.52 !important; }
  .qg-pledge-badge   { font-size: .6rem !important; padding: .2rem .6rem !important; margin-top: .65rem !important; }


  /* ================================================================
     ISSUE 10 — GLOW GUIDE / BLOG: 2-col grid
     ================================================================ */
  .qg-blog-teaser { padding: 2.5rem 1rem !important; }
  .qg-blog-header { margin-bottom: 1.4rem !important; text-align: center !important; }
  .qg-blog-header h2 { font-size: clamp(1.6rem, 7vw, 2.2rem) !important; }

  .qg-blog-grid {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 12px !important;
    max-width: 100% !important;
  }

  .qg-blog-card { border-radius: 16px !important; overflow: hidden !important; }
  .qg-blog-card:hover { transform: none !important; }
  .qg-blog-hero { height: 100px !important; }
  .qg-blog-hero-emoji { font-size: 2rem !important; }
  .qg-blog-body { padding: .9rem .85rem .95rem !important; gap: .38rem !important; }
  .qg-blog-cat   { font-size: .58rem !important; }
  .qg-blog-title { font-size: .82rem !important; line-height: 1.3 !important; margin: 0 !important; }
  .qg-blog-excerpt { font-size: .73rem !important; -webkit-line-clamp: 2 !important; display: -webkit-box !important; -webkit-box-orient: vertical !important; overflow: hidden !important; margin: 0 !important; }
  .qg-blog-read-more { font-size: .72rem !important; padding-top: .25rem !important; }
  .qg-blog-date, .qg-blog-read { font-size: .64rem !important; }
  .qg-blog-cta-row { margin-top: 1.5rem !important; }
  .qg-blog-cta-row .qg-btn--ghost {
    width: 100% !important; justify-content: center !important; min-height: 46px !important;
  }


  /* ================================================================
     ISSUE 11 — CART FAB: Must be ABOVE bottom nav (z-index 9980)
     Bottom nav ≈ 60px tall. Cart fab needs bottom > 60px + safe area.
     z-index must beat 9980.
     ================================================================ */

  /* Cart FAB: positioned cleanly above bottom nav */
  .qg-cart-fab {
    position: fixed !important;
    right: 14px !important;
    bottom: calc(64px + env(safe-area-inset-bottom, 0px)) !important;
    z-index: 9990 !important;  /* beats bottom-nav z-index: 9980 */
    width: 46px !important; height: 46px !important;
    border-radius: 50% !important;
    background: linear-gradient(135deg, #B03060, #E07AA4) !important;
    color: #fff !important;
    display: flex !important; align-items: center !important; justify-content: center !important;
    box-shadow: 0 4px 18px rgba(176,48,96,.4) !important;
    text-decoration: none !important; flex-shrink: 0 !important;
  }

  .qg-cart-fab svg {
    width: 20px !important; height: 20px !important;
    stroke: #fff !important; fill: none !important;
    display: block !important;
  }

  .qg-fab-count {
    position: absolute !important;
    top: -4px !important; right: -4px !important;
    width: 18px !important; height: 18px !important;
    border-radius: 50% !important;
    background: var(--qg-gold, #D4AF6A) !important;
    color: var(--qg-plum, #1C0A2E) !important;
    font-size: .58rem !important; font-weight: 700 !important;
    display: flex !important; align-items: center !important; justify-content: center !important;
    border: 1.5px solid rgba(253,246,248,.6) !important;
  }

  /* Concierge: sits above cart fab, with 10px gap */
  .qg-concierge {
    right: 14px !important;
    bottom: calc(64px + env(safe-area-inset-bottom, 0px) + 56px) !important;
    /* 56px = cart fab (46px) + gap (10px) */
    z-index: 9991 !important;
    padding: .65rem .78rem .55rem !important;
    border-radius: 16px !important;
    gap: .18rem !important;
    box-shadow: 0 6px 22px rgba(10,4,22,.4) !important;
    animation: none !important;
  }
  .qg-concierge:hover { transform: none !important; }
  .qg-concierge__icon svg { width: 19px !important; height: 19px !important; }
  .qg-concierge__label    { font-size: .47rem !important; }

  /* WA fab: above concierge with 10px gap */
  .qg-wa-fab {
    right: 14px !important;
    bottom: calc(64px + env(safe-area-inset-bottom, 0px) + 56px + 60px) !important;
    z-index: 9992 !important;
    width: 44px !important; height: 44px !important;
  }
  .qg-wa-fab svg { width: 22px !important; height: 22px !important; }
  .qg-wa-fab:hover { transform: none !important; }

  /* Toast: above all FABs */
  .qg-toast {
    right: 1rem !important; left: 1rem !important;
    bottom: calc(70px + env(safe-area-inset-bottom, 0px)) !important;
    max-width: none !important; font-size: .82rem !important; z-index: 9993 !important;
  }

  /* Back to top: LEFT side to keep right side clear */
  #qgBackToTop {
    right: auto !important; left: 14px !important;
    bottom: calc(68px + env(safe-area-inset-bottom, 0px)) !important;
    width: 38px !important; height: 38px !important; border-radius: 12px !important;
  }


  /* ================================================================
     GLOBAL SPACING + SECTION HEADS
     ================================================================ */
  section { padding-block: 2.5rem !important; }

  .qg-section-head {
    margin-bottom: 1.4rem !important; padding-inline: 1rem !important;
    text-align: center !important;
  }
  .qg-section-head h2 { font-size: clamp(1.6rem, 7.5vw, 2.2rem) !important; line-height: 1.1 !important; }
  .qg-section-head p  { font-size: .86rem !important; line-height: 1.6 !important; }


  /* ================================================================
     SERVICE CARDS — 2-col portrait grid (both pages)
     ================================================================ */
  /* Services page ultra-card */
  .qg-services-grid,
  #qgServicesGrid {
    display: grid !important; grid-template-columns: 1fr 1fr !important;
    gap: 12px !important; padding: 0 1rem 1.5rem !important;
    border-top: none !important; margin-bottom: 0 !important;
  }
  .qg-services-grid .qg-ultra-card,
  #qgServicesGrid .qg-ultra-card {
    display: flex !important; flex-direction: column !important;
    width: 100% !important; min-height: unset !important; max-height: unset !important;
    border-radius: 16px !important; border: 1.5px solid rgba(212,84,122,.12) !important;
    box-shadow: 0 4px 14px rgba(42,14,34,.08) !important;
    overflow: hidden !important; animation: none !important; background: #fff !important;
  }
  .qg-services-grid .qg-ultra-card:hover,
  #qgServicesGrid .qg-ultra-card:hover { transform: none !important; }
  .qg-services-grid .qg-ultra-card::before,
  .qg-services-grid .qg-ultra-card::after,
  #qgServicesGrid .qg-ultra-card::before,
  #qgServicesGrid .qg-ultra-card::after { display: none !important; }

  .qg-services-grid .qg-ultra-media,
  #qgServicesGrid .qg-ultra-media {
    width: 100% !important; min-width: 100% !important; max-width: 100% !important;
    height: 128px !important; min-height: 128px !important; max-height: 128px !important;
    flex-shrink: 0 !important; border-radius: 0 !important;
    position: relative !important; overflow: hidden !important;
  }
  .qg-services-grid .qg-ultra-media img,
  #qgServicesGrid .qg-ultra-media img {
    position: absolute !important; inset: 0 !important;
    width: 100% !important; height: 100% !important;
    object-fit: cover !important; object-position: top center !important;
    transform: none !important; filter: none !important; transition: none !important;
  }
  .qg-services-grid .qg-ultra-offer, #qgServicesGrid .qg-ultra-offer { display: none !important; }
  .qg-services-grid .qg-ultra-body,
  #qgServicesGrid .qg-ultra-body {
    flex: 1 !important; padding: .62rem .68rem .65rem !important;
    text-align: left !important; display: flex !important; flex-direction: column !important;
    gap: .25rem !important; background: #fff !important;
  }
  .qg-services-grid .qg-card-artist, #qgServicesGrid .qg-card-artist,
  .qg-services-grid .qg-card-grain,  #qgServicesGrid .qg-card-grain { display: none !important; }
  .qg-services-grid .qg-ultra-title,
  #qgServicesGrid .qg-ultra-title {
    font-size: .82rem !important; font-weight: 700 !important; line-height: 1.26 !important;
    margin: 0 !important; display: -webkit-box !important; -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important; overflow: hidden !important;
  }
  .qg-services-grid .qg-ultra-rating,
  #qgServicesGrid .qg-ultra-rating { justify-content: flex-start !important; gap: .2rem !important; margin: 0 !important; }
  .qg-services-grid .qg-ultra-stars,
  #qgServicesGrid .qg-ultra-stars { font-size: .65rem !important; }
  .qg-services-grid .qg-ultra-rating-score,
  #qgServicesGrid .qg-ultra-rating-score { font-size: .65rem !important; font-weight: 700 !important; }
  .qg-services-grid .qg-ultra-desc, #qgServicesGrid .qg-ultra-desc { display: none !important; }
  .qg-services-grid .qg-ultra-meta,
  #qgServicesGrid .qg-ultra-meta { font-size: .8rem !important; font-weight: 800 !important; margin: 0 !important; }
  .qg-services-grid .qg-ultra-proof, #qgServicesGrid .qg-ultra-proof,
  .qg-services-grid .qg-viewing-badge, #qgServicesGrid .qg-viewing-badge,
  .qg-services-grid .qg-points-badge, #qgServicesGrid .qg-points-badge,
  .qg-services-grid .qg-emi-tag, #qgServicesGrid .qg-emi-tag,
  .qg-services-grid [class*="emi"], #qgServicesGrid [class*="emi"],
  .qg-services-grid [class*="addons"], #qgServicesGrid [class*="addons"] { display: none !important; }
  .qg-services-grid .qg-ultra-cta,
  #qgServicesGrid .qg-ultra-cta {
    display: flex !important; align-items: center !important; justify-content: center !important;
    width: 100% !important; padding: .5rem .5rem !important;
    font-size: .7rem !important; font-weight: 700 !important;
    border-radius: 9px !important; min-height: 33px !important; margin-top: auto !important;
  }
  .qg-services-grid .qg-ultra-cta::before, .qg-services-grid .qg-ultra-cta::after,
  #qgServicesGrid .qg-ultra-cta::before, #qgServicesGrid .qg-ultra-cta::after { display: none !important; }
  .qg-skeleton-card {
    display: flex !important; flex-direction: column !important;
    height: auto !important; border-radius: 16px !important;
  }
  .qg-skel-img { width: 100% !important; min-width: 100% !important; height: 128px !important; }

  /* Home page service cards: 2-col portrait */
  .qg-services__inner { padding-inline: 0 !important; }
  .qg-services__inner .qg-section-head,
  .qg-services__inner .qg-promo-banner,
  .qg-services__inner .qg-services__urgency,
  .qg-services__inner .qg-center,
  .qg-services__inner .qg-services-filter { padding-inline: 1rem !important; }
  .qg-services__urgency { margin-inline: 1rem !important; }

  /* Override the services-grid to be 2-col for home page cards too */
  .qg-services-grid {
    grid-template-columns: 1fr 1fr !important; gap: 12px !important;
    padding: 0 1rem !important; border-top: none !important; margin-bottom: 1.5rem !important;
  }
  .qg-service-card {
    display: flex !important; flex-direction: column !important;
    border-radius: 16px !important; border: 1px solid rgba(212,175,106,.14) !important;
    box-shadow: 0 4px 14px rgba(28,10,46,.08) !important; overflow: hidden !important;
    min-height: unset !important; background: #fff !important;
  }
  .qg-service-card:hover { transform: none !important; }
  .qg-service-card__link { display: flex !important; flex-direction: column !important; flex: 1 !important; }
  .qg-service-card__img {
    width: 100% !important; min-width: 100% !important; height: 118px !important;
    min-height: 118px !important; aspect-ratio: unset !important;
    border-radius: 0 !important; position: relative !important;
    overflow: hidden !important; flex-shrink: 0 !important;
  }
  .qg-service-card__img img {
    position: absolute !important; inset: 0 !important; width: 100% !important;
    height: 100% !important; object-fit: cover !important;
    object-position: top center !important; transition: none !important;
  }
  .qg-service-card:hover .qg-service-card__img img { transform: none !important; }
  .qg-service-card__badge { top: 6px !important; left: 6px !important; font-size: .55rem !important; padding: 2px 6px !important; }
  .qg-service-card__bookings { bottom: 6px !important; left: 6px !important; right: auto !important; font-size: .54rem !important; }
  .qg-service-card__body {
    padding: .6rem .7rem .5rem !important; flex: 1 !important;
    display: flex !important; flex-direction: column !important; gap: .18rem !important;
  }
  .qg-service-card__icon { font-size: .82rem !important; margin-bottom: 1px !important; }
  .qg-service-card__body h3 {
    font-size: .8rem !important; font-weight: 700 !important; line-height: 1.24 !important; margin: 0 !important;
    display: -webkit-box !important; -webkit-line-clamp: 2 !important; -webkit-box-orient: vertical !important; overflow: hidden !important;
  }
  .qg-service-card__body p { display: none !important; }
  .qg-service-card__price    { font-size: .79rem !important; font-weight: 700 !important; }
  .qg-service-card__duration { font-size: .64rem !important; }
  .qg-service-card__book-btn {
    display: flex !important; align-items: center !important; justify-content: center !important;
    position: static !important; width: 100% !important; padding: .58rem .5rem !important;
    font-size: .7rem !important; border-radius: 0 !important;
    border-top: 1px solid rgba(212,175,106,.15) !important; border-left: none !important;
    margin-top: auto !important;
  }
  .qg-center { padding-inline: 1rem !important; padding-top: 1rem !important; }
  .qg-center .qg-btn { width: 100% !important; justify-content: center !important; min-height: 46px !important; display: flex !important; }

  /* Promo banner */
  .qg-promo-banner {
    flex-direction: row !important; flex-wrap: nowrap !important;
    align-items: center !important; gap: 10px !important;
    padding: 11px 13px !important; border-radius: 14px !important; margin-bottom: 1.25rem !important;
  }
  .qg-promo-banner__icon { font-size: 1.25rem !important; }
  .qg-promo-banner__text { min-width: unset !important; }
  .qg-promo-banner__text strong { font-size: .83rem !important; }
  .qg-promo-banner__text span   { font-size: .7rem !important; }
  .qg-promo-banner__cta { font-size: .7rem !important; padding: 7px 12px !important; border-radius: 9px !important; }


  /* ================================================================
     MISC — Trust bar, press, testimonials, membership, etc.
     ================================================================ */
  .qg-trust-bar { padding-block: 0 !important; }
  .qg-trust-bar__inner {
    display: grid !important; grid-template-columns: repeat(3, 1fr) !important;
    gap: 0 !important; flex-wrap: unset !important;
  }
  .qg-trust-bar__divider { display: none !important; }
  .qg-trust-bar__item {
    padding: .85rem .38rem !important;
    border-right: 1px solid rgba(255,255,255,.07) !important;
    border-bottom: 1px solid rgba(255,255,255,.07) !important;
  }
  .qg-trust-bar__item:nth-child(3n) { border-right: none !important; }
  .qg-trust-bar__item:last-child { grid-column: 1 / -1 !important; border-right: none !important; border-bottom: none !important; padding: .72rem 1rem !important; }
  .qg-trust-bar__item strong { font-size: 1.1rem !important; }
  .qg-trust-bar__item span   { font-size: .55rem !important; }

  .qg-trust-strip { padding: 0 !important; }
  .qg-trust-strip-inner {
    display: grid !important; grid-template-columns: repeat(3, 1fr) !important;
    gap: 0 !important; flex-direction: unset !important; max-width: 100% !important;
  }
  .qg-trust-strip-divider { display: none !important; }
  .qg-trust-stat { padding: .78rem .38rem !important; gap: .1rem !important; border-right: 1px solid rgba(212,84,122,.1) !important; border-bottom: 1px solid rgba(212,84,122,.08) !important; }
  .qg-trust-stat:nth-child(3n)  { border-right: none !important; }
  .qg-trust-stat:nth-last-child(-n+3) { border-bottom: none !important; }
  .qg-trust-stat:last-child { grid-column: 1 / -1 !important; border-right: none !important; border-bottom: none !important; }
  .qg-trust-stat-num   { font-size: clamp(.95rem, 3.6vw, 1.2rem) !important; }
  .qg-trust-stat-label { font-size: .52rem !important; }

  .qg-press { padding-block: .8rem !important; overflow: hidden !important; }
  .qg-press__inner { flex-direction: column !important; gap: .48rem !important; padding: 0 1rem !important; }
  .qg-press__logos { display: flex !important; flex-wrap: nowrap !important; overflow-x: auto !important; gap: 1.5rem !important; padding-bottom: 2px !important; scrollbar-width: none !important; -webkit-overflow-scrolling: touch !important; width: 100% !important; -webkit-mask-image: linear-gradient(to right, black 88%, transparent 100%) !important; mask-image: linear-gradient(to right, black 88%, transparent 100%) !important; }
  .qg-press__logos::-webkit-scrollbar { display: none !important; }
  .qg-press__logo { flex-shrink: 0 !important; }
  .qg-press__logo-text { font-size: .88rem !important; }

  /* Testimonials carousel */
  .qg-testi-grid, .qg-t-list, .qg-t-list--six {
    display: flex !important; flex-direction: row !important; overflow-x: auto !important;
    scroll-snap-type: x mandatory !important; -webkit-overflow-scrolling: touch !important;
    gap: 12px !important; padding: 0 1rem 1rem !important;
    scrollbar-width: none !important; grid-template-columns: unset !important; flex-wrap: nowrap !important;
    -webkit-mask-image: linear-gradient(to right, black 85%, transparent 100%) !important;
    mask-image: linear-gradient(to right, black 85%, transparent 100%) !important;
  }
  .qg-testi-grid::-webkit-scrollbar, .qg-t-list::-webkit-scrollbar, .qg-t-list--six::-webkit-scrollbar { display: none !important; }
  .qg-testi, .qg-t-list > *, .qg-t-list--six > * {
    flex: 0 0 80vw !important; max-width: 300px !important; min-width: 240px !important;
    scroll-snap-align: start !important; border-radius: 18px !important;
  }
  .qg-testi:hover, .qg-t-list > *:hover, .qg-t-list--six > *:hover { transform: none !important; }
  .qg-testi__body { font-size: .88rem !important; }

  /* B/A carousel */
  .qg-ba-grid { display: flex !important; flex-direction: row !important; overflow-x: auto !important; scroll-snap-type: x mandatory !important; -webkit-overflow-scrolling: touch !important; gap: 12px !important; padding: 0 1rem 1rem !important; scrollbar-width: none !important; grid-template-columns: unset !important; -webkit-mask-image: linear-gradient(to right, black 88%, transparent 100%) !important; mask-image: linear-gradient(to right, black 88%, transparent 100%) !important; }
  .qg-ba-grid::-webkit-scrollbar { display: none !important; }
  .qg-ba-card { flex: 0 0 80vw !important; max-width: 300px !important; scroll-snap-align: start !important; }
  .qg-ba-handle__btn { width: 42px !important; height: 42px !important; }

  /* Membership carousel */
  .qg-membership__cards { display: flex !important; flex-direction: row !important; overflow-x: auto !important; scroll-snap-type: x mandatory !important; -webkit-overflow-scrolling: touch !important; gap: 12px !important; padding: 0 1rem 1rem !important; scrollbar-width: none !important; grid-template-columns: unset !important; -webkit-mask-image: linear-gradient(to right, black 85%, transparent 100%) !important; mask-image: linear-gradient(to right, black 85%, transparent 100%) !important; }
  .qg-membership__cards::-webkit-scrollbar { display: none !important; }
  .qg-membership-plan { flex: 0 0 76vw !important; max-width: 270px !important; scroll-snap-align: start !important; border-radius: 18px !important; }
  .qg-plan__amount { font-size: 2.1rem !important; }
  .qg-membership__cta { padding-inline: 1rem !important; }
  .qg-membership__cta .qg-btn { width: 100% !important; justify-content: center !important; }

  /* Loyalty carousel */
  .qg-loyalty-tiers { display: flex !important; flex-direction: row !important; overflow-x: auto !important; scroll-snap-type: x mandatory !important; -webkit-overflow-scrolling: touch !important; gap: 12px !important; padding: 0 1rem 1rem !important; scrollbar-width: none !important; grid-template-columns: unset !important; max-width: 100% !important; margin: 0 0 1.5rem !important; -webkit-mask-image: linear-gradient(to right, black 85%, transparent 100%) !important; mask-image: linear-gradient(to right, black 85%, transparent 100%) !important; }
  .qg-loyalty-tiers::-webkit-scrollbar { display: none !important; }
  .qg-loyalty-tier { flex: 0 0 76vw !important; max-width: 270px !important; scroll-snap-align: start !important; }

  /* Transformation carousel */
  .qg-transformation { padding: 2.5rem 0 !important; }
  .qg-trans-header { padding-inline: 1rem !important; margin-bottom: 1.4rem !important; }
  .qg-trans-grid { display: flex !important; flex-direction: row !important; overflow-x: auto !important; scroll-snap-type: x mandatory !important; -webkit-overflow-scrolling: touch !important; gap: 14px !important; padding: 0 1rem 1rem !important; max-width: 100vw !important; width: 100% !important; margin: 0 0 1.2rem !important; grid-template-columns: unset !important; scrollbar-width: none !important; -webkit-mask-image: linear-gradient(to right, black 88%, transparent 100%) !important; mask-image: linear-gradient(to right, black 88%, transparent 100%) !important; }
  .qg-trans-grid::-webkit-scrollbar { display: none !important; }
  .qg-trans-card { flex: 0 0 76vw !important; max-width: 288px !important; scroll-snap-align: start !important; aspect-ratio: 3/4 !important; }
  .qg-trans-card:hover { transform: none !important; }
  .qg-trans-cta-row { padding-inline: 1rem !important; }
  .qg-trans-cta-row .qg-btn--ghost { width: 100% !important; justify-content: center !important; display: flex !important; }

  /* Artist join */
  .qg-artist-join__inner { grid-template-columns: 1fr !important; gap: 1.75rem !important; padding-inline: 1rem !important; }
  .qg-artist-join__perks { grid-template-columns: 1fr 1fr !important; }
  .qg-artist-join__stats { grid-template-columns: 1fr 1fr !important; gap: 10px !important; }
  .qg-artist-join__content .qg-btn { width: 100% !important; justify-content: center !important; min-height: 48px !important; display: flex !important; margin-top: 1rem !important; }

  /* FAQ */
  .qg-faq__container, .qg-faq-inner { padding-inline: 1rem !important; }
  .qg-acc__header { padding: 14px 0 !important; font-size: .9rem !important; min-height: 48px !important; }
  .qg-faq-q { padding: .95rem 1rem !important; font-size: .86rem !important; min-height: 50px !important; }

  /* Referral */
  .qg-referral { padding-block: 1.75rem !important; }
  .qg-referral__inner { flex-direction: column !important; align-items: center !important; text-align: center !important; padding: 1.5rem 1.2rem !important; gap: .9rem !important; margin-inline: 1rem !important; border-radius: 20px !important; }
  .qg-referral__inner .qg-btn { width: 100% !important; justify-content: center !important; min-height: 46px !important; }

  /* App section */
  .qg-app__inner { grid-template-columns: 1fr !important; gap: 1.75rem !important; text-align: center !important; padding-inline: 1rem !important; }
  .qg-store { justify-content: center !important; gap: 9px !important; }
  .qg-app__qr { display: none !important; }
  .qg-app-img { max-height: 190px !important; }

  /* Manifesto */
  .qg-manifesto__inner { grid-template-columns: 1fr !important; gap: 1.75rem !important; padding-inline: 1rem !important; }

} /* end @media (max-width: 768px) */


/* ================================================================
   SMALL PHONE ≤430px
   ================================================================ */
@media (max-width: 430px) {

  /* Header even smaller */
  .qg-announcement-bar { height: 28px !important; max-height: 28px !important; font-size: .62rem !important; }
  .qg-header { top: 28px !important; }
  body.qg-bar-hidden .qg-header { top: 0 !important; }
  .qg-header__inner { height: 52px !important; padding: 0 .85rem !important; }
  .qg-logo a { font-size: 1.22rem !important; }

  /* Hero shorter */
  .qg-hero { min-height: 60svh !important; min-height: 60vh !important; height: 60svh !important; height: 60vh !important; }
  .qg-hero__content { padding: 4.5rem 1rem 1.25rem !important; gap: .52rem !important; }
  .qg-hero__title, .qg-hero__content h1 { font-size: clamp(1.85rem, 9.5vw, 2.5rem) !important; }

  /* Cards: shorter image */
  .qg-services-grid .qg-ultra-media, #qgServicesGrid .qg-ultra-media { height: 108px !important; min-height: 108px !important; max-height: 108px !important; }
  .qg-service-card__img { height: 100px !important; min-height: 100px !important; }
  .qg-services-grid .qg-ultra-title, #qgServicesGrid .qg-ultra-title, .qg-service-card__body h3 { font-size: .76rem !important; }

  /* Artist: square crop */
  .qg-artist-media { aspect-ratio: 1/1 !important; }

  /* HIW/process: 1-col on tiny screens */
  .qg-hiw-steps, .qg-how__steps { grid-template-columns: 1fr !important; }
  .qg-hiw-steps .qg-hiw-step:last-of-type, .qg-step:last-of-type { grid-column: 1 !important; flex-direction: column !important; align-items: center !important; text-align: center !important; }

  /* Safety/Hygiene: 1-col */
  .qg-safety__grid, .qg-hygiene-grid { grid-template-columns: 1fr !important; }

  /* Standard/Pledge: 1-col */
  .qg-standard-grid, .qg-pledge-grid { grid-template-columns: 1fr !important; }

  /* Spotlight: 1-col */
  .qg-spotlight-grid { grid-template-columns: 1fr !important; }
  .qg-spotlight-img-wrap { height: 155px !important; }
  .qg-spot-bio { -webkit-line-clamp: 3 !important; }

  /* Blog: 1-col */
  .qg-blog-grid { grid-template-columns: 1fr !important; }
  .qg-blog-hero { height: 115px !important; }
  .qg-blog-title { font-size: .88rem !important; }
  .qg-blog-excerpt { -webkit-line-clamp: 3 !important; }

  /* Trust bar: 2-col */
  .qg-trust-bar__inner, .qg-trust-strip-inner { grid-template-columns: 1fr 1fr !important; }
  .qg-trust-bar__item:nth-child(3n), .qg-trust-stat:nth-child(3n) { border-right: 1px solid rgba(255,255,255,.07) !important; }
  .qg-trust-bar__item:nth-child(2n), .qg-trust-stat:nth-child(2n) { border-right: none !important; }
  .qg-trust-bar__item:last-child, .qg-trust-stat:last-child { grid-column: 1 / -1 !important; border-right: none !important; }

  /* Artists 2-col even on 430 */
  .qg-artists-grid { grid-template-columns: 1fr 1fr !important; }

  /* FAB adjustments for smaller screens */
  .qg-cart-fab { width: 42px !important; height: 42px !important; bottom: calc(60px + env(safe-area-inset-bottom, 0px)) !important; }
  .qg-concierge { bottom: calc(60px + env(safe-area-inset-bottom, 0px) + 52px) !important; }
  .qg-wa-fab { bottom: calc(60px + env(safe-area-inset-bottom, 0px) + 52px + 56px) !important; }

  /* Carousels: wider */
  .qg-testi, .qg-t-list > *, .qg-t-list--six > * { flex: 0 0 86vw !important; }
  .qg-membership-plan { flex: 0 0 82vw !important; }
  .qg-trans-card { flex: 0 0 82vw !important; }
  .qg-loyalty-tier { flex: 0 0 82vw !important; }

  /* Artist join: 1-col perks */
  .qg-artist-join__perks { grid-template-columns: 1fr !important; }

} /* end @media (max-width: 430px) */

/* ════════════════════════════════════════════════════════════════
   HOME PAGE — MOBILE PREMIUM PATCH  v1.0
   MOBILE ONLY  ·  ≤768px  ·  Zero desktop changes
   Missing sections + polish pass for the full home page
════════════════════════════════════════════════════════════════ */

@media (max-width: 768px) {

  /* ── Global: tighter section padding, centred heads ── */
  section { padding-block: 2.2rem !important; }

  .qg-section-head {
    padding-inline: 1rem !important;
    margin-bottom: 1.4rem !important;
  }
  .qg-section-head h2 {
    font-size: clamp(1.6rem, 7vw, 2.2rem) !important;
    margin-bottom: .5rem !important;
  }
  .qg-section-head p {
    font-size: .84rem !important;
    line-height: 1.62 !important;
    margin: 0 !important;
  }
  .qg-eyebrow { font-size: .62rem !important; letter-spacing: .16em !important; margin-bottom: .6rem !important; }


  /* ── SEASONAL COLLECTIONS — 2-column cards ── */
  .qg-seasonal { padding: 2.2rem 1rem !important; }
  .qg-seasonal__grid {
    grid-template-columns: 1fr 1fr !important;
    gap: 12px !important;
  }
  .qg-seasonal-card {
    min-height: 260px !important;
    border-radius: 20px !important;
    transition: none !important;
  }
  .qg-seasonal-card:hover { transform: none !important; }
  .qg-seasonal-card__body { padding: 1.2rem !important; }
  .qg-seasonal-card__tag {
    font-size: .58rem !important;
    padding: 2px 9px !important;
    margin-bottom: 7px !important;
  }
  .qg-seasonal-card__body h3 {
    font-size: 1.05rem !important;
    margin-bottom: 5px !important;
    line-height: 1.2 !important;
  }
  .qg-seasonal-card__body p {
    font-size: .74rem !important;
    line-height: 1.5 !important;
    -webkit-line-clamp: 2 !important;
    display: -webkit-box !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
    margin-bottom: 6px !important;
  }
  .qg-seasonal-card__price { font-size: .82rem !important; }
  /* Explore button in seasonal card */
  .qg-seasonal-card .qg-btn,
  .qg-seasonal-card a[class*="btn"] {
    padding: 8px 16px !important;
    font-size: .76rem !important;
    border-radius: 10px !important;
    display: inline-flex !important;
    align-items: center !important;
    margin-top: 8px !important;
  }


  /* ── TRUST BAR — already 3-col, just polish ── */
  .qg-trust-bar { padding-block: 0 !important; }


  /* ── GUARANTEE STRIP — horizontal, no overflow ── */
  .qg-guarantee { padding-block: 1.25rem !important; }
  .qg-guarantee__inner {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 0 !important;
    padding-inline: 1rem !important;
  }
  .qg-guarantee__badge {
    padding: 8px 0 !important;
    gap: 10px !important;
  }
  .qg-guarantee__badge strong { font-size: .84rem !important; }
  .qg-guarantee__badge span   { font-size: .7rem !important; }
  .qg-guarantee__icon { font-size: 1.25rem !important; }
  .qg-guarantee__divider {
    width: calc(100% - 2px) !important;
    height: 1px !important;
    margin: 0 !important;
    background: rgba(255,255,255,.08) !important;
  }


  /* ── BEFORE & AFTER — carousel polish ── */
  .qg-before-after { padding: 2.2rem 0 !important; }
  .qg-ba-grid { padding-bottom: 1rem !important; }
  .qg-ba-card { border-radius: 18px !important; }
  .qg-ba-info { padding: 10px 14px !important; }
  .qg-ba-info strong { font-size: .8rem !important; }
  .qg-ba-info span   { font-size: .72rem !important; }


  /* ── TESTIMONIALS — carousel already done, polish cards ── */
  .qg-testimonials { padding: 2.2rem 0 !important; }
  .qg-testi-aggregate { font-size: .76rem !important; padding: 6px 14px !important; margin-top: .6rem !important; }
  .qg-testi { padding: 18px 16px !important; }
  .qg-testi__body { font-size: .88rem !important; line-height: 1.62 !important; }
  .qg-testi__name { font-size: .82rem !important; }
  .qg-testi__city { font-size: .7rem !important; }
  .qg-testi__avatar { width: 36px !important; height: 36px !important; font-size: .95rem !important; }


  /* ── MEMBERSHIP — carousel already done, header fix ── */
  .qg-membership { padding: 2.2rem 0 !important; }
  .qg-membership__header { padding-inline: 1rem !important; margin-bottom: 1.2rem !important; }
  .qg-membership__header h2 { color: #fff !important; font-size: clamp(1.6rem, 7vw, 2.2rem) !important; }
  .qg-membership__header p  { color: rgba(255,255,255,.55) !important; font-size: .84rem !important; }
  .qg-plan__amount { font-size: 2.1rem !important; }
  .qg-plan__perks li { font-size: .82rem !important; }
  .qg-membership__cta { padding-inline: 1rem !important; }


  /* ── BRANDS MARQUEE — tighter ── */
  .qg-brands { padding-block: 1.2rem !important; }
  .qg-brands__eyebrow { font-size: .6rem !important; margin-bottom: .75rem !important; }
  .qg-brand-pill { font-size: .72rem !important; padding: 4px 14px !important; }


  /* ── APP DOWNLOAD SECTION ── */
  .qg-app { padding: 2.2rem 1rem !important; }
  .qg-app__inner { gap: 1.4rem !important; }
  .qg-app__text h3 { font-size: 1.3rem !important; text-align: center !important; }
  .qg-app__text > p { text-align: center !important; font-size: .84rem !important; }
  .qg-app__features { align-items: center !important; }
  .qg-app__features li { font-size: .82rem !important; }
  .qg-store { justify-content: center !important; }
  .qg-store__btn { font-size: .78rem !important; padding: 8px 16px !important; }
  .qg-app-img { max-height: 180px !important; filter: drop-shadow(0 10px 20px rgba(10,4,22,.4)) !important; }


  /* ── FAQ ── */
  .qg-faq { padding: 2.2rem 0 !important; }
  .qg-faq__container { padding-inline: 1rem !important; }
  .qg-faq .qg-section-head { padding-inline: 0 !important; }
  .qg-acc__header {
    font-size: .9rem !important;
    padding: 14px 0 !important;
    min-height: 48px !important;
  }
  .qg-acc__content p { font-size: .84rem !important; line-height: 1.65 !important; }
  .qg-faq-cta { font-size: .84rem !important; flex-direction: column !important; }
  .qg-faq-chat-btn { width: 100% !important; min-height: 44px !important; display: flex !important; align-items: center !important; justify-content: center !important; }


  /* ── REFERRAL SECTION ── */
  .qg-referral { padding-block: 1.5rem !important; }
  .qg-referral__inner {
    flex-direction: column !important;
    text-align: center !important;
    padding: 1.5rem 1.2rem !important;
    gap: 1rem !important;
    margin-inline: 1rem !important;
    border-radius: 20px !important;
  }
  .qg-referral__icon { font-size: 2rem !important; }
  .qg-referral__text h3 { font-size: 1.2rem !important; }
  .qg-referral__text p  { font-size: .84rem !important; }


  /* ── ARTIST JOIN CTA ── */
  .qg-artist-join { padding: 2.2rem 0 !important; }
  .qg-artist-join__inner {
    grid-template-columns: 1fr !important;
    gap: 1.5rem !important;
    padding-inline: 1rem !important;
  }
  .qg-artist-join__content h2 { font-size: clamp(1.6rem, 7vw, 2.2rem) !important; }
  .qg-artist-join__content > p { font-size: .84rem !important; line-height: 1.62 !important; margin-bottom: 1.2rem !important; }
  .qg-artist-join__perks { grid-template-columns: 1fr 1fr !important; gap: 8px !important; }
  .qg-join-perk { font-size: .8rem !important; }
  .qg-artist-join__stats { grid-template-columns: 1fr 1fr !important; gap: 10px !important; }
  .qg-join-stat { padding: 16px 12px !important; border-radius: 14px !important; }
  .qg-join-stat strong { font-size: 1.5rem !important; }
  .qg-join-stat span   { font-size: .64rem !important; }
  .qg-artist-join__content .qg-btn {
    width: 100% !important; justify-content: center !important;
    min-height: 48px !important; display: flex !important; margin-top: 1rem !important;
  }


  /* ── MANIFESTO / CLOSING SECTION ── */
  .qg-manifesto { padding: 2.2rem 0 !important; }
  .qg-manifesto__inner {
    grid-template-columns: 1fr !important;
    gap: 1.4rem !important;
    padding-inline: 1rem !important;
  }


  /* ── PRESS STRIP ── */
  .qg-press { padding-block: .9rem !important; }


  /* ── UNIVERSAL BUTTON TOUCH TARGETS ── */
  .qg-btn { min-height: 44px !important; }

} /* end home mobile patch 768px */


@media (max-width: 430px) {

  /* Seasonal: smaller phones, still 2-col but shorter cards */
  .qg-seasonal__grid { grid-template-columns: 1fr 1fr !important; gap: 10px !important; }
  .qg-seasonal-card { min-height: 220px !important; }
  .qg-seasonal-card__body h3 { font-size: .92rem !important; }
  .qg-seasonal-card__body p  { -webkit-line-clamp: 1 !important; font-size: .7rem !important; }
  .qg-seasonal-card .qg-btn,
  .qg-seasonal-card a[class*="btn"] { font-size: .7rem !important; padding: 6px 12px !important; }

  /* Trust bar: 2-col at ≤430px */
  .qg-trust-bar__inner { grid-template-columns: 1fr 1fr !important; }
  .qg-trust-bar__item:nth-child(3n) { border-right: 1px solid rgba(255,255,255,.07) !important; }
  .qg-trust-bar__item:nth-child(2n) { border-right: none !important; }
  .qg-trust-bar__item:last-child { grid-column: 1 / -1 !important; border-right: none !important; }

  /* Section headings even tighter */
  section { padding-block: 1.8rem !important; }
  .qg-section-head h2 { font-size: clamp(1.45rem, 8vw, 1.9rem) !important; }

  /* Testimonial card wider */
  .qg-testi { flex: 0 0 86vw !important; }

} /* end home mobile patch 430px */