/* ==========================================================
   THE DIVINE SPARKS — HEALERS PAGE
   Premium reviews-page visual language
   ========================================================== */

.healers-premium {
    --hp-navy: #071b36;
    --hp-navy-soft: #0d294b;
    --hp-cream: #f8f2e8;
    --hp-ivory: #fffdf8;
    --hp-gold: #bc9560;
    --hp-gold-light: #e4cfaa;
    --hp-text: #536274;
    --hp-line: rgba(188,149,96,.28);
    overflow: hidden;
    background: var(--hp-ivory);
}

.healers-premium h1,
.healers-premium h2 {
    font-family: Georgia, "Times New Roman", serif;
}

.healers-hero {
    position: relative;
    overflow: hidden;
    padding: 108px 0 102px;
    background:
        radial-gradient(circle at 82% 15%, rgba(188,149,96,.20), transparent 30%),
        radial-gradient(circle at 15% 95%, rgba(188,149,96,.13), transparent 33%),
        linear-gradient(135deg, #071b36 0%, #0d294b 100%);
}

.healers-hero:before,
.healers-hero:after {
    content: "";
    position: absolute;
    pointer-events: none;
}

.healers-hero:before {
    width: 460px;
    height: 460px;
    right: -155px;
    top: -215px;
    border: 1px solid rgba(228,207,170,.32);
    border-radius: 50%;
}

.healers-hero:after {
    width: 300px;
    height: 300px;
    left: -175px;
    bottom: -185px;
    border: 1px solid rgba(228,207,170,.20);
    border-radius: 50%;
}

.healers-hero-inner {
    position: relative;
    z-index: 1;
    max-width: 850px;
    margin: 0 auto;
    text-align: center;
}

.healers-eyebrow,
.section-eyebrow,
.modal-eyebrow {
    display: block;
    color: var(--hp-gold-light);
    font-family: Arial, sans-serif;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .18em;
    text-transform: uppercase;
}

.healers-hero h1 {
    max-width: 780px;
    margin: 15px auto 18px;
    color: #fff;
    font-size: clamp(40px, 5vw, 68px);
    line-height: 1.12;
}

.healers-hero-copy {
    max-width: 700px;
    margin: 0 auto;
}

.healers-hero-copy p,
.healers-hero-copy {
    color: rgba(255,255,255,.82);
    font-size: 17px;
    line-height: 1.8;
}

.healers-hero-line {
    width: 86px;
    height: 1px;
    margin: 32px auto 0;
    background: var(--hp-gold);
}

.guidance-premium {
    padding: 92px 0;
    background: var(--hp-cream);
}

.section-intro {
    max-width: 850px;
    margin: 0 auto 45px;
    text-align: center;
}

.section-intro .section-eyebrow {
    color: var(--hp-gold);
    margin-bottom: 13px;
}

.section-intro h1 {
    margin: 0 0 15px;
    color: var(--hp-navy);
    font-size: clamp(34px, 4vw, 52px);
    line-height: 1.18;
}

.section-intro p {
    margin: 0 auto;
    color: var(--hp-text);
    font-size: 16px;
    line-height: 1.85;
}

.guidance-grid {
    justify-content: center;
}

.guidance-card {
    height: 100%;
    min-height: 218px;
    padding: 34px 24px 30px;
    border: 1px solid var(--hp-line);
    background: rgba(255,253,248,.92);
    text-align: center;
    box-shadow: 0 12px 28px rgba(4,22,43,.05);
    transition: transform .25s ease, box-shadow .25s ease;
}

.guidance-card:hover {
    transform: translateY(-7px);
    box-shadow: 0 20px 35px rgba(4,22,43,.11);
}

.guidance-icon {
    width: 72px;
    height: 72px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 20px;
    border: 1px solid var(--hp-line);
    border-radius: 50%;
    background: #fff;
}

.guidance-icon img {
    width: 37px;
    height: 37px;
    object-fit: contain;
}

.guidance-card h2 {
    margin: 0;
    color: var(--hp-navy);
    font-size: 22px;
    line-height: 1.35;
}

.healers-team-premium {
    padding: 96px 0 104px;
    background:
        radial-gradient(circle at 8% 8%, rgba(188,149,96,.16), transparent 24%),
        linear-gradient(135deg, #071b36 0%, #0b2748 100%);
}

.section-intro-light h1,
.section-intro-light p {
    color: #fff;
}

.section-intro-light p {
    color: rgba(255,255,255,.78);
    max-width: 830px;
}

.healer-profile-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 28px;
}

.healer-profile-card {
    display: grid;
    grid-template-columns: minmax(190px, 37%) 1fr;
    overflow: hidden;
    min-height: 340px;
    border: 1px solid rgba(228,207,170,.35);
    background: rgba(255,253,248,.98);
    box-shadow: 0 15px 35px rgba(0,0,0,.12);
}

.healer-profile-image-wrap {
    position: relative;
    min-height: 100%;
    overflow: hidden;
    background: #e8dfd0;
}

.healer-profile-image-wrap:after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, transparent 55%, rgba(4,22,43,.20));
}

.healer-profile-image {
    width: 100%;
    height: 100%;
    min-height: 340px;
    object-fit: cover;
    display: block;
    transition: transform .4s ease;
}

.healer-profile-card:hover .healer-profile-image {
    transform: scale(1.04);
}

.healer-profile-content {
    position: relative;
    padding: 34px 30px 28px;
}

.profile-number {
    display: block;
    margin-bottom: 16px;
    color: var(--hp-gold);
    font-family: Arial, sans-serif;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .17em;
}

.healer-profile-content h2 {
    margin: 0 0 17px;
    color: var(--hp-navy);
    font-size: 30px;
    line-height: 1.22;
}

.description-text {
    color: var(--hp-text);
    font-size: 15px;
    line-height: 1.8;
}

.profile-read-more {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-top: 16px;
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--hp-navy);
    font-weight: 700;
    font-size: 13px;
    letter-spacing: .03em;
    text-transform: uppercase;
}

.profile-read-more i {
    color: var(--hp-gold);
    font-size: 16px;
}

.premium-healer-modal .modal-content {
    overflow: hidden;
    border: 1px solid rgba(188,149,96,.30);
    border-radius: 0;
    background: var(--hp-ivory);
}

.premium-healer-modal .modal-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    padding: 27px 30px 23px;
    border-bottom: 1px solid var(--hp-line);
    background: var(--hp-navy);
}

.premium-healer-modal .modal-eyebrow {
    margin-bottom: 7px;
}

.premium-healer-modal .modal-title {
    margin: 0;
    color: #fff;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 28px;
}

.premium-healer-modal .crossicon {
    width: 38px;
    height: 38px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(228,207,170,.55);
    background: transparent;
    color: #fff;
}

.premium-healer-modal .modal-body {
    padding: 30px;
    color: var(--hp-text);
    font-size: 16px;
    line-height: 1.85;
}

@media (max-width: 991px) {
    .healers-hero {
        padding: 90px 0 85px;
    }

    .guidance-premium,
    .healers-team-premium {
        padding: 72px 0;
    }

    .healer-profile-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 767px) {
    .healers-hero {
        padding: 73px 0 70px;
    }

    .guidance-premium,
    .healers-team-premium {
        padding: 56px 0;
    }

    .section-intro {
        margin-bottom: 32px;
    }

    .guidance-card {
        min-height: 190px;
    }

    .healer-profile-card {
        grid-template-columns: 1fr;
    }

    .healer-profile-image-wrap,
    .healer-profile-image {
        min-height: 300px;
        max-height: 360px;
    }

    .healer-profile-content {
        padding: 28px 23px 25px;
    }

    .healer-profile-content h2 {
        font-size: 28px;
    }

    .premium-healer-modal .modal-header,
    .premium-healer-modal .modal-body {
        padding-left: 22px;
        padding-right: 22px;
    }
}


/* ===== Healers page layout refinement ===== */

.healers-hero {
    padding: 78px 0 74px;
}

.healers-hero h1 {
    font-size: clamp(40px, 4.7vw, 61px);
}

.healers-team-premium {
    padding: 82px 0 94px;
}

.healer-profile-grid {
    gap: 30px;
}

.healer-profile-card {
    display: flex;
    flex-direction: column;
    min-height: 0;
    background: rgba(255,253,248,.98);
}

.healer-profile-image-wrap {
    width: 100%;
    height: 320px;
    min-height: 320px;
}

.healer-profile-image {
    width: 100%;
    height: 320px;
    min-height: 320px;
    object-fit: cover;
    object-position: center top;
}

.healer-profile-content {
    display: flex;
    flex: 1;
    flex-direction: column;
    padding: 28px 30px 27px;
}

.healer-profile-content h2 {
    font-size: 31px;
    margin-bottom: 15px;
}

.description-text {
    font-size: 15px;
    line-height: 1.76;
}

.profile-read-more {
    margin-top: auto;
    padding-top: 20px;
}

@media (max-width: 767px) {
    .healers-hero {
        padding: 62px 0 60px;
    }

    .healer-profile-image-wrap,
    .healer-profile-image {
        height: 280px;
        min-height: 280px;
    }

    .healer-profile-content {
        padding: 25px 22px 24px;
    }
}


/* ==========================================================
   Healers — Reviews-page scale and portrait refinement
   ========================================================== */

@media (min-width: 992px) {
    .healers-hero {
        padding: 52px 0 50px;
    }

    .healers-hero h1 {
        font-size: clamp(38px, 4vw, 55px);
        margin-top: 11px;
        margin-bottom: 13px;
    }

    .healers-hero-copy p,
    .healers-hero-copy {
        font-size: 16px;
        line-height: 1.65;
    }

    .healers-hero-line {
        margin-top: 23px;
    }

    .guidance-premium {
        padding: 60px 0 66px;
    }

    .guidance-premium .section-intro {
        margin-bottom: 28px;
    }

    .healers-team-premium {
        padding: 68px 0 78px;
    }

    .healers-team-premium .section-intro {
        margin-bottom: 34px;
    }
}

/* Portraits: show the full healer rather than cropping faces. */
.healer-profile-image-wrap {
    height: 360px;
    min-height: 360px;
    display: flex;
    align-items: center;
    justify-content: center;
    background:
        radial-gradient(circle at 50% 18%, rgba(188,149,96,.18), transparent 42%),
        #e8e1d5;
}

.healer-profile-image-wrap:after {
    display: none;
}

.healer-profile-image {
    width: 100%;
    height: 100%;
    min-height: 0;
    object-fit: contain;
    object-position: center center;
    background: transparent;
    transform: none !important;
}

.healer-profile-card:hover .healer-profile-image {
    transform: none !important;
}

.healer-profile-content {
    padding: 25px 29px 24px;
}

.healer-profile-content h2 {
    font-size: 29px;
    margin-bottom: 13px;
}

.description-text {
    font-size: 15px;
    line-height: 1.68;
}

.profile-read-more {
    padding-top: 15px;
}

@media (max-width: 767px) {
    .healers-hero {
        padding: 47px 0 45px;
    }

    .healers-hero h1 {
        font-size: 39px;
    }

    .guidance-premium {
        padding: 48px 0 52px;
    }

    .healers-team-premium {
        padding: 55px 0 62px;
    }

    .healer-profile-image-wrap {
        height: 330px;
        min-height: 330px;
    }

    .healer-profile-content {
        padding: 23px 21px;
    }
}


/* ==========================================================
   Healers hero — exact Reviews page palette and treatment
   ========================================================== */

.healers-premium {
    --hp-navy: #054D71;
    --hp-navy-soft: #03364F;
    --hp-cream: #F6F3EB;
    --hp-ivory: #FFFDF8;
    --hp-gold: #C99A3E;
    --hp-gold-light: #E8C779;
}

.healers-hero {
    background:
        radial-gradient(circle at 86% 14%, rgba(232,199,121,.16), transparent 31%),
        radial-gradient(circle at 12% 95%, rgba(232,199,121,.10), transparent 34%),
        linear-gradient(135deg, #03364F 0%, #054D71 100%);
}

.healers-hero:before {
    border-color: rgba(232,199,121,.38);
}

.healers-hero:after {
    border-color: rgba(232,199,121,.24);
}

.healers-eyebrow {
    color: #E8C779;
}

.healers-hero-line {
    background: #E8C779;
}
