/* ── Spa Journey Section (Warm - Peaceful - Sanctuary) ──────────── */
    .spa-journey-section {
        background: #0d0d0d;
        padding: var(--section-py, 70px) 0;
    }
    .spa-journey-eyebrow {
        display: inline-block;
        font-size: var(--fs-xs, 12px);
        font-weight: 500;
        letter-spacing: 3px;
        text-transform: uppercase;
        color: #e8a83a;
        background: rgba(232, 168, 58, .1);
        border: 1px solid rgba(232, 168, 58, .28);
        border-radius: 999px;
        padding: 5px 18px;
        margin-bottom: 18px;
    }
    .spa-journey-heading {
        font-size: var(--fs-xl, clamp(26px, 3.5vw, 38px));
        font-weight: 800;
        line-height: var(--lh-tight, 1.15);
        color: #fff;
        margin: 0 0 44px;
    }
    .spa-journey-heading span { color: #e8a83a; }

    .spa-journey-grid {
        list-style: none;
        margin: 0;
        padding: 0;
        display: grid;
        grid-template-columns: 1fr;
        gap: 44px;
    }
    .spa-journey-item {
        display: flex;
        flex-direction: column;
        align-items: center;
        text-align: center;
    }
    .spa-journey-img-wrap {
        position: relative;
        width: 100%;
        margin-bottom: 22px;
    }
    .spa-journey-img-wrap img {
        width: 100%;
        height: auto;
        aspect-ratio: 3 / 2;
        object-fit: cover;
        display: block;
        border-radius: 16px;
        box-shadow: 0 12px 30px rgba(0, 0, 0, .35);
    }
    .spa-journey-step {
        position: absolute;
        top: 14px;
        left: 14px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 40px;
        height: 40px;
        border-radius: 50%;
        background: linear-gradient(135deg, #c7851a 0%, #e8a83a 100%);
        color: #0d0d0d;
        font-size: 15px;
        font-weight: 900;
        line-height: 1;
    }
    .spa-journey-content {
        width: 100%;
    }
    .spa-journey-title {
        font-size: var(--fs-lg, clamp(20px, 2.4vw, 24px));
        font-weight: 700;
        line-height: var(--lh-snug, 1.3);
        color: #fff;
        margin: 0 0 12px;
    }
    .spa-journey-desc {
        font-size: var(--fs-base, 15px);
        line-height: var(--lh-base, 1.65);
        color: rgba(255, 255, 255, .65);
        margin: 0;
    }

    @media (min-width: 768px) {
        .spa-journey-grid {
            grid-template-columns: repeat(3, 1fr);
            gap: 36px;
        }
    }
    @media (max-width: 480px) {
        .spa-journey-section { padding: 44px 0; }
        .spa-journey-heading { font-size: clamp(22px, 6vw, 32px); margin-bottom: 32px; }
        .spa-journey-grid { gap: 36px; }
    }

    /* ── Spa Video Section ──────────────────────────────────────────── */
    .spa-video-section {
        background: #141414;
        padding: var(--section-py, 70px) 0;
    }
    .spa-video-eyebrow {
        display: inline-block;
        font-size: var(--fs-xs, 12px);
        font-weight: 500;
        letter-spacing: 3px;
        text-transform: uppercase;
        color: #e8a83a;
        background: rgba(232, 168, 58, .1);
        border: 1px solid rgba(232, 168, 58, .28);
        border-radius: 999px;
        padding: 5px 18px;
        margin-bottom: 18px;
    }
    .spa-video-heading {
        font-size: var(--fs-xl, clamp(26px, 3.5vw, 38px));
        font-weight: 800;
        line-height: var(--lh-tight, 1.15);
        color: #fff;
        margin: 0 0 44px;
    }
    .spa-video-heading span { color: #e8a83a; }

    .spa-video-grid {
        display: grid;
        grid-template-columns: 1fr;
        gap: 36px;
    }
    .spa-video-card { width: 100%; }
    .spa-video-frame {
        position: relative;
        width: 100%;
        aspect-ratio: 16 / 9;
        border-radius: 16px;
        overflow: hidden;
        background: #000;
        box-shadow: 0 12px 30px rgba(0, 0, 0, .35);
        margin-bottom: 18px;
    }
    .spa-video-thumb,
    .spa-video-frame video {
        position: absolute;
        inset: 0;
        width: 100%;
        height: 100%;
        object-fit: cover;
        display: block;
        border: 0;
    }
    .spa-video-frame video {
        background: #000;
        display: none;
        z-index: 1;
    }
    .spa-video-play-btn {
        position: absolute;
        inset: 0;
        width: 100%;
        height: 100%;
        z-index: 2;
        display: flex;
        align-items: center;
        justify-content: center;
        background: rgba(0, 0, 0, .28);
        border: 0;
        cursor: pointer;
        padding: 0;
        transition: background .2s ease;
    }
    .spa-video-play-btn:hover,
    .spa-video-play-btn:focus-visible { background: rgba(0, 0, 0, .45); }
    .spa-video-play-btn .spa-video-play-icon {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 68px;
        height: 68px;
        border-radius: 50%;
        background: linear-gradient(135deg, #c7851a 0%, #e8a83a 100%);
        box-shadow: 0 8px 24px rgba(0, 0, 0, .4);
        transition: transform .2s ease;
    }
    .spa-video-play-btn:hover .spa-video-play-icon,
    .spa-video-play-btn:focus-visible .spa-video-play-icon { transform: scale(1.08); }
    .spa-video-play-btn svg { width: 24px; height: 24px; margin-left: 4px; fill: #0d0d0d; }
    .spa-video-card.is-playing .spa-video-thumb,
    .spa-video-card.is-playing .spa-video-play-btn { display: none; }
    .spa-video-card.is-playing .spa-video-frame video { display: block; }
    .spa-video-title {
        font-size: var(--fs-lg, clamp(20px, 2.4vw, 24px));
        font-weight: 700;
        line-height: var(--lh-snug, 1.3);
        color: #fff;
        margin: 0 0 10px;
    }
    .spa-video-desc {
        font-size: var(--fs-base, 15px);
        line-height: var(--lh-base, 1.65);
        color: rgba(255, 255, 255, .65);
        margin: 0;
    }

    @media (min-width: 768px) {
        .spa-video-grid { grid-template-columns: repeat(2, 1fr); gap: 40px; }
    }
    @media (max-width: 480px) {
        .spa-video-section { padding: 44px 0; }
        .spa-video-heading { font-size: clamp(22px, 6vw, 32px); margin-bottom: 32px; }
        .spa-video-play-btn .spa-video-play-icon { width: 56px; height: 56px; }
    }

    .step-phone { color: #e8a83a; font-weight: 700; }
    .step-price { color: #e8a83a; }
    .visit-map-wrap iframe { border: 0; }
