/* ==========================================================================
   Premium Spa Skin: Muted sage and warm taupe, Cormorant Garamond + Mulish
   ========================================================================== */
.style-premium-spa {
    --color-primary: #7a917f;
    --color-primary-dark: #647865;
    --color-accent: #b8a48a;
    --color-bg: #ffffff;
    --color-bg-secondary: #f6f4ef;
    --color-text: #3b3a35;
    --color-text-muted: #6f6c64;
    --color-border: #e7e1d6;
    --font-heading: 'Cormorant Garamond', Georgia, serif;
    --font-body: 'Mulish', sans-serif;
    --letter-spacing-heading: 0.005em;
}

.style-premium-spa h1,
.style-premium-spa h2,
.style-premium-spa h3 { font-weight: 600; }

/* Larger serif display scale for the refined feel */
.style-premium-spa {
    --font-size-h1: clamp(2.75rem, 5.5vw, 4.5rem);
    --font-size-h2: clamp(2rem, 3.4vw, 2.85rem);
    --font-size-h3: clamp(1.4rem, 2.2vw, 1.9rem);
}

/* Accent taupe needs dark text on accent buttons for contrast */
.style-premium-spa .btn--accent { color: #3b3a35; }

.style-premium-spa .btn--accent:hover,
.style-premium-spa .btn--accent:focus {
    background-color: var(--color-primary);
    border-color: var(--color-primary);
    color: #ffffff;
}

.style-premium-spa .mobile-cta__book { color: #3b3a35; }

/* --- Header --- */
.style-premium-spa .premium-spa-header__main {
    background-color: var(--color-white);
    border-bottom: 1px solid var(--color-border);
}

.style-premium-spa .premium-spa-header__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    height: 84px;
}

.style-premium-spa .premium-spa-header__logo {
    display: flex;
    align-items: center;
    gap: 0.625rem;
    text-decoration: none;
}

.style-premium-spa .premium-spa-header__logo-icon { color: var(--color-accent); }

.style-premium-spa .premium-spa-header__logo-text {
    font-family: var(--font-heading);
    font-size: 1.625rem;
    font-weight: 600;
    color: var(--color-primary-dark);
    letter-spacing: 0.02em;
}

@media (max-width: 620px) {
    .style-premium-spa .premium-spa-header__logo-text { font-size: 1.3125rem; }
}

.style-premium-spa .premium-spa-nav .main-nav__link {
    color: var(--color-text);
    font-family: var(--font-body);
    font-weight: 500;
    font-size: 0.8125rem;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.style-premium-spa .premium-spa-nav .main-nav__link:hover,
.style-premium-spa .premium-spa-nav .main-nav__link.is-active { color: var(--color-accent); }

.style-premium-spa .premium-spa-header__right {
    display: flex;
    align-items: center;
    gap: 1.25rem;
}

.style-premium-spa .premium-spa-header__phone {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    text-decoration: none;
    color: var(--color-text);
    font-family: var(--font-body);
    font-weight: 600;
    font-size: 1rem;
}

.style-premium-spa .premium-spa-header__phone svg { color: var(--color-accent); }

.style-premium-spa .premium-spa-header__cta { display: none; }

@media (min-width: 1024px) {
    .style-premium-spa .premium-spa-header__cta { display: inline-flex; }
}

.style-premium-spa .mobile-nav { background-color: var(--color-bg-secondary); }

/* --- Trust bar --- */
.style-premium-spa .trust-bar {
    background-color: var(--color-bg-secondary);
    border-color: var(--color-border);
}

.style-premium-spa .trust-bar__item {
    color: var(--color-text);
    font-family: var(--font-body);
    font-weight: 500;
    font-size: 0.8125rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.style-premium-spa .trust-bar__item svg { color: var(--color-accent); }
.style-premium-spa .trust-bar__sep { background-color: var(--color-accent); }

/* --- Buttons --- */
.style-premium-spa .btn {
    font-family: var(--font-body);
    text-transform: uppercase;
    letter-spacing: 0.12em;
    font-weight: 600;
    font-size: 0.8125rem;
    border-radius: 2px;
}

.style-premium-spa .btn--lg {
    font-size: 0.875rem;
}

/* --- Body prose stays in Mulish; only display headings use the serif --- */
.style-premium-spa .section-header p,
.style-premium-spa .service-card__description,
.style-premium-spa .care-card__desc,
.style-premium-spa .why-us__text,
.style-premium-spa .team-card__bio,
.style-premium-spa .testimonial-card__quote {
    font-family: var(--font-body);
}

.style-premium-spa .service-card,
.style-premium-spa .care-card,
.style-premium-spa .testimonial-card,
.style-premium-spa .team-card,
.style-premium-spa .cert-badge { border-radius: 4px; }

/* --- Footer --- */
.style-premium-spa .premium-spa-footer { background-color: #3b443c; }
.style-premium-spa .cta-banner { background-color: var(--color-primary); }
