/* QTi Beauty: aubergine, gold and violet from the logo. */
:root { --ink: #22122B; --blue: #8A5AB8; --gold: #C9A24A; --light: #F3ECF4; --cream: #FBF8F4; --muted: #6C5E70; --pink: #8A5AB8; --violet: #7B3FA6; }
.qt-brand .qt-logo { width: 150px; height: auto; display: block; }
.bh-foot .qt-brand .qt-logo { width: 190px; }
.bh-foot { background: #1C0F24; } .bh-hours li, .bh-foot-bottom { border-color: #33203D; }
.bh-hero .hero-image::before { background: linear-gradient(90deg, rgba(22,10,28,.88) 0%, rgba(22,10,28,.55) 45%, rgba(22,10,28,.1) 82%); }
@media (max-width: 650px) { .bh-hero .hero-image::before { background: linear-gradient(180deg, rgba(22,10,28,.15) 0%, rgba(22,10,28,.55) 35%, rgba(22,10,28,.93) 100%); } }
.bh-hero h1 em { color: #E1C277; font-style: italic; }
.section-heading h2 span, .reviews-heading h2 span, .bh-journey h2 span { color: var(--violet); font-style: italic; }
.service-strip { background: #1C0F24; color: #E1C277; } .service-strip i { color: #B48AE0; }
.review-initials { background: #EEE3F5; color: var(--ink); } .review-stars { color: var(--gold); }
.nav-cta, .button { background: var(--ink); }
.bh-hero .button { background: #E1C277; color: #22122B; }

/* Treatment menu with prices */
.qt-grid { grid-template-columns: repeat(3, 1fr); }
.qt-t .br-style-img { aspect-ratio: 4 / 3; }
.qt-menu { list-style: none; padding: 0; margin: 0 0 16px; display: grid; gap: 10px; }
.qt-menu li { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; border-bottom: 1px dashed #E3D6E8; padding-bottom: 8px; }
.qt-menu b { font-weight: 500; font-size: 14.5px; }
.qt-price { font-family: "Cormorant Garamond", serif; font-size: 22px; color: var(--violet); white-space: nowrap; }
@media (max-width: 1100px) { .qt-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 700px) { .qt-grid { grid-template-columns: 1fr; } }

/* Real before/after: portrait frame, no film */
.qt-ba-frame { max-width: 520px; aspect-ratio: 693 / 1030; margin: 0 auto; }
.qt-ba .ba-play, .qt-ba .ba-film { display: none !important; }

/* Mia */
.qt-mia-grid { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: 48px; align-items: start; }
.qt-mia-grid figure { margin: 0; border-radius: 22px; overflow: hidden; box-shadow: 0 30px 60px -36px rgba(34,18,43,.6); }
.qt-mia-grid figure img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; object-position: 35% center; display: block; }
.qt-points { list-style: none; padding: 0; margin: 22px 0; display: grid; gap: 12px; }
.qt-points li { background: #fff; border: 1px solid #E9DDEE; border-radius: 16px; padding: 14px 18px; }
.qt-points b { display: block; font-family: "Cormorant Garamond", serif; font-size: 24px; }
.qt-points span { color: var(--muted); font-size: 14.5px; }
.qt-photos { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-top: 36px; }
.qt-photos img { width: 100%; aspect-ratio: 1 / 1; object-fit: cover; border-radius: 16px; }
@media (max-width: 900px) { .qt-mia-grid { grid-template-columns: 1fr; gap: 28px; } .qt-photos { grid-template-columns: 1fr 1fr; } }

/* Kits */
.qt-shop { background: #F3ECF4; }
.qt-kits { display: grid; grid-template-columns: repeat(5, 1fr); gap: 16px; }
.qt-kit { margin: 0; background: #fff; border-radius: 18px; overflow: hidden; border: 1px solid #E9DDEE; }
.qt-kit img { width: 100%; aspect-ratio: 1 / 1; object-fit: cover; display: block; }
.qt-kit figcaption { padding: 14px 16px; display: flex; flex-direction: column; gap: 4px; }
.qt-kit b { font-weight: 500; font-size: 15px; } .qt-kit span { font-family: "Cormorant Garamond", serif; font-size: 22px; color: var(--violet); }
@media (max-width: 1100px) { .qt-kits { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 650px) { .qt-kits { grid-template-columns: 1fr 1fr; } }

/* Clinic */
.qt-clinic-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.qt-clinic-grid figure { margin: 0; border-radius: 18px; overflow: hidden; background: #fff; }
.qt-clinic-grid img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; display: block; }
.qt-clinic-grid figcaption { padding: 12px 16px; font-size: 13px; letter-spacing: .08em; text-transform: uppercase; color: var(--muted); }
@media (max-width: 700px) { .qt-clinic-grid { grid-template-columns: 1fr; } }
.bh-aerial-img.br-kb { width: 100%; height: 100%; object-fit: cover; }
