/* =========================================================
   INNER REFLECTIONS
   HEALING PAGE
========================================================= */

:root{

    --irh-plum:#78127F;
    --irh-plum-dark:#54115F;
    --irh-plum-soft:#F3E8F4;

    --irh-gold:#C99A2E;
    --irh-gold-light:#E7C46A;

    --irh-cream:#FBF6EE;
    --irh-cream-deep:#F3E5D2;

    --irh-lavender:#EEE7F1;
    --irh-rose:#F4E5ED;
    --irh-green:#E7EEE4;

    --irh-white:#FFFDFC;

    --irh-text:#3C3040;
    --irh-muted:#716672;

    --irh-border:rgba(120,18,127,.10);

    --irh-gold-border:rgba(201,154,46,.28);

    --irh-shadow:
        0 20px 55px rgba(84,17,95,.08);
}


/* =========================================================
   BASE
========================================================= */

.irh-hero *,
.irh-intro *,
.irh-paths *,
.irh-philosophy *,
.irh-session *,
.irh-benefits *,
.irh-guidance *,
.irh-note *,
.irh-final *{
    box-sizing:border-box;
}

.irh-hero,
.irh-intro,
.irh-paths,
.irh-philosophy,
.irh-session,
.irh-benefits,
.irh-guidance,
.irh-note,
.irh-final{
    position:relative;
    overflow:hidden;
}

.irh-container{
    width:min(1160px,92%);
    margin-inline:auto;
}

.irh-kicker{
    display:inline-block;

    color:var(--irh-gold);

    font-size:.67rem;
    font-weight:600;

    letter-spacing:2.8px;
    text-transform:uppercase;
}


/* =========================================================
   BUTTON
========================================================= */

.irh-primary-btn{
    display:inline-flex;

    align-items:center;
    justify-content:center;

    gap:11px;

    padding:14px 23px;

    border-radius:999px;

    background:
        linear-gradient(
            135deg,
            var(--irh-gold-light),
            var(--irh-gold)
        );

    color:#4A3205;

    font-size:.74rem;
    font-weight:600;

    text-decoration:none;

    box-shadow:
        0 12px 28px rgba(201,154,46,.15);

    transition:
        transform .3s ease,
        box-shadow .3s ease;
}

.irh-primary-btn:hover{
    transform:translateY(-3px);

    box-shadow:
        0 17px 34px rgba(201,154,46,.22);
}


/* =========================================================
   HERO
========================================================= */

.irh-hero{
    padding:
        clamp(95px,11vw,145px)
        20px
        clamp(80px,9vw,120px);

    background:
        radial-gradient(
            circle at 13% 25%,
            rgba(232,196,106,.18),
            transparent 27%
        ),
        radial-gradient(
            circle at 88% 70%,
            rgba(183,126,181,.19),
            transparent 32%
        ),
        linear-gradient(
            125deg,
            #FAEFE1,
            #FCF6F6 48%,
            #F4EAF3
        );
}

.irh-hero-content{
    position:relative;
    z-index:3;

    max-width:840px;

    margin-inline:auto;

    text-align:center;
}

.irh-eyebrow{
    display:flex;
    align-items:center;
    justify-content:center;

    gap:14px;

    margin-bottom:25px;

    color:var(--irh-gold);

    font-size:.64rem;
    font-weight:600;

    letter-spacing:3px;
}

.irh-eyebrow span{
    width:42px;
    height:1px;

    background:var(--irh-gold);
}

.irh-eyebrow small{
    font-size:.64rem;
}

.irh-hero h1{
    margin:0;

    color:var(--irh-plum);

    font-family:"Cormorant Garamond",serif;

    font-size:clamp(4rem,8vw,7.1rem);

    font-weight:500;

    line-height:.84;

    letter-spacing:-2px;
}

.irh-hero h1 em{
    display:block;

    color:var(--irh-gold);

    font-style:italic;
}

.irh-hero p{
    max-width:650px;

    margin:30px auto 0;

    color:var(--irh-muted);

    font-size:.95rem;

    line-height:1.9;
}

.irh-hero-actions{
    display:flex;

    align-items:center;
    justify-content:center;

    flex-wrap:wrap;

    gap:22px;

    margin-top:31px;
}

.irh-secondary-btn{
    display:inline-flex;

    align-items:center;

    gap:10px;

    color:var(--irh-plum);

    font-size:.73rem;

    font-weight:600;

    text-decoration:none;
}

.irh-secondary-btn i{
    color:var(--irh-gold);

    transition:
        transform .3s ease;
}

.irh-secondary-btn:hover i{
    transform:translateY(4px);
}


/* hero decorations */

.irh-hero-orbit{
    position:absolute;

    border-radius:50%;

    border:
        1px solid
        rgba(201,154,46,.25);

    pointer-events:none;
}

.irh-orbit-one{
    width:440px;
    aspect-ratio:1;

    right:-210px;
    top:-210px;
}

.irh-orbit-two{
    width:310px;
    aspect-ratio:1;

    right:-145px;
    top:-145px;

    border-style:dashed;
}

.irh-hero-glow{
    position:absolute;

    border-radius:50%;

    pointer-events:none;
}

.irh-glow-left{
    width:200px;
    aspect-ratio:1;

    left:-80px;
    bottom:-100px;

    background:
        rgba(201,154,46,.08);

    filter:blur(12px);
}

.irh-glow-right{
    width:180px;
    aspect-ratio:1;

    right:25%;
    bottom:-120px;

    background:
        rgba(120,18,127,.07);

    filter:blur(30px);
}


/* =========================================================
   INTRO
========================================================= */

.irh-intro{
    padding:
        clamp(75px,9vw,115px)
        20px;

    background:var(--irh-white);
}

.irh-intro-layout{
    display:grid;

    grid-template-columns:60px minmax(250px,.85fr) minmax(0,1.15fr);

    gap:30px;

    align-items:start;
}

.irh-intro-index{
    display:flex;

    flex-direction:column;

    align-items:flex-start;

    color:var(--irh-gold);

    font-family:"Cormorant Garamond",serif;

    font-size:1.5rem;
}

.irh-intro-index div{
    width:35px;
    height:1px;

    margin-top:10px;

    background:var(--irh-gold);
}

.irh-intro-title h2{
    margin:13px 0 0;

    color:var(--irh-plum);

    font-family:"Cormorant Garamond",serif;

    font-size:clamp(3rem,5vw,4.8rem);

    line-height:.89;

    font-weight:500;

    letter-spacing:-1px;
}

.irh-intro-title h2 em{
    color:var(--irh-gold);

    font-style:italic;
}

.irh-intro-copy{
    padding-left:28px;

    border-left:
        1px solid
        rgba(201,154,46,.35);
}

.irh-intro-copy p{
    max-width:600px;

    color:var(--irh-muted);

    font-size:.88rem;

    line-height:1.9;

    margin-bottom:17px;
}

.irh-intro-copy p:last-child{
    margin-bottom:0;
}

.irh-highlight{
    color:var(--irh-text) !important;

    font-size:1.05rem !important;
}


/* =========================================================
   HEALING PATHS
========================================================= */

.irh-paths{
    padding:
        clamp(80px,9vw,120px)
        20px;

    background:
        linear-gradient(
            180deg,
            #FBF7F1,
            #FFFDFC
        );
}

.irh-section-heading{
    max-width:720px;

    margin:0 auto 65px;

    text-align:center;
}

.irh-section-heading h2{
    margin:13px 0 17px;

    color:var(--irh-plum);

    font-family:"Cormorant Garamond",serif;

    font-size:clamp(3.2rem,5.5vw,5rem);

    line-height:.88;

    font-weight:500;
}

.irh-section-heading h2 em{
    color:var(--irh-gold);

    font-style:italic;
}

.irh-section-heading p{
    max-width:650px;

    margin-inline:auto;

    color:var(--irh-muted);

    font-size:.88rem;

    line-height:1.85;
}


/* cards */

.irh-path-grid{
    display:grid;

    grid-template-columns:
        repeat(3,minmax(0,1fr));

    gap:24px;
}

.irh-path-card{
    position:relative;
    overflow:hidden;

    background:
        linear-gradient(
            145deg,
            #fff,
            #fbf5ed
        );

    border:
        1px solid
        var(--irh-gold-border);

    border-radius:30px;

    box-shadow:
        0 12px 38px rgba(84,17,95,.05);

    transition:
        transform .35s ease,
        box-shadow .35s ease;
}

.irh-path-card:hover{
    transform:translateY(-8px);

    box-shadow:
        0 24px 55px rgba(84,17,95,.11);
}


/* card art */

.irh-path-art{
    position:relative;

    display:grid;
    place-items:center;

    min-height:245px;

    overflow:hidden;
}

.irh-path-art span{
    position:absolute;

    top:20px;
    right:24px;

    color:rgba(120,18,127,.13);

    font-family:"Cormorant Garamond",serif;

    font-size:3.4rem;
}

.irh-path-circle{
    position:absolute;

    border-radius:50%;
}

.circle-main{
    width:220px;
    aspect-ratio:1;

    background:
        radial-gradient(
            circle at 40% 35%,
            #fff,
            var(--irh-cream-deep)
        );

    border:
        1px solid
        rgba(201,154,46,.32);
}

.circle-inner{
    width:155px;
    aspect-ratio:1;

    border:
        1px dashed
        rgba(120,18,127,.24);
}

.irh-path-icon{
    position:relative;
    z-index:3;

    width:65px;
    aspect-ratio:1;

    display:grid;
    place-items:center;

    color:var(--irh-gold);

    background:white;

    border:
        1px solid
        rgba(201,154,46,.26);

    border-radius:50%;

    box-shadow:
        0 13px 35px rgba(84,17,95,.08);

    font-size:1.25rem;
}


/* variations */

.irh-path-hypno{
    background:
        linear-gradient(
            145deg,
            #fff,
            #f7eff7
        );
}

.irh-path-hypno .circle-main{
    background:
        radial-gradient(
            circle at 40% 35%,
            #fff,
            var(--irh-lavender)
        );
}

.irh-path-child{
    background:
        linear-gradient(
            145deg,
            #fff,
            #f5eee7
        );
}

.irh-path-child .circle-main{
    background:
        radial-gradient(
            circle at 40% 35%,
            #fff,
            var(--irh-green)
        );
}


/* card content */

.irh-path-content{
    padding:28px 28px 31px;
}

.irh-path-content > small{
    display:block;

    color:var(--irh-gold);

    font-size:.58rem;
    font-weight:600;

    letter-spacing:2px;
}

.irh-path-content h3{
    margin:9px 0 12px;

    color:var(--irh-plum);

    font-family:"Cormorant Garamond",serif;

    font-size:2.35rem;

    line-height:.92;

    font-weight:500;
}

.irh-path-content > p{
    color:var(--irh-muted);

    font-size:.8rem;

    line-height:1.8;

    margin-bottom:19px;
}

.irh-path-content ul{
    display:grid;

    gap:8px;

    padding:0;

    margin:0 0 24px;

    list-style:none;
}

.irh-path-content li{
    display:flex;

    align-items:flex-start;

    gap:8px;

    color:var(--irh-text);

    font-size:.7rem;
}

.irh-path-content li i{
    color:var(--irh-gold);

    font-size:.55rem;

    margin-top:4px;
}

.irh-path-link{
    display:inline-flex;

    align-items:center;

    gap:10px;

    color:var(--irh-plum);

    font-size:.71rem;

    font-weight:600;

    text-decoration:none;
}

.irh-path-link i{
    color:var(--irh-gold);

    transition:
        transform .3s ease;
}

.irh-path-link:hover i{
    transform:translateX(5px);
}


/* =========================================================
   PHILOSOPHY
========================================================= */

.irh-philosophy{
    padding:
        clamp(80px,9vw,120px)
        20px;

    background:#FAF1E7;
}

.irh-philosophy-layout{
    display:grid;

    grid-template-columns:
        minmax(270px,.8fr)
        minmax(0,1.2fr);

    align-items:center;

    gap:clamp(45px,9vw,105px);
}

.irh-philosophy-visual{
    position:relative;

    min-height:350px;

    display:grid;

    place-items:center;
}

.irh-philosophy-ring{
    position:absolute;

    border-radius:50%;

    border:
        1px solid
        rgba(201,154,46,.38);
}

.ring-one{
    width:300px;
    aspect-ratio:1;
}

.ring-two{
    width:220px;
    aspect-ratio:1;

    border-style:dashed;
}

.irh-philosophy-symbol{
    position:relative;
    z-index:3;

    width:76px;
    aspect-ratio:1;

    display:grid;
    place-items:center;

    border-radius:50%;

    background:white;

    color:var(--irh-gold);

    border:
        1px solid
        rgba(201,154,46,.28);

    box-shadow:
        0 18px 40px rgba(84,17,95,.08);

    font-size:1.4rem;
}

.irh-vertical-text{
    position:absolute;

    left:0;
    top:50%;

    transform:
        translateY(-50%)
        rotate(-90deg);

    color:rgba(120,18,127,.28);

    font-size:.55rem;

    letter-spacing:4px;
}

.irh-philosophy-content h2{
    margin:13px 0 20px;

    color:var(--irh-plum);

    font-family:"Cormorant Garamond",serif;

    font-size:clamp(3.1rem,5vw,5rem);

    line-height:.87;

    font-weight:500;
}

.irh-philosophy-content h2 em{
    color:var(--irh-gold);

    font-style:italic;
}

.irh-philosophy-content p{
    max-width:650px;

    color:var(--irh-muted);

    font-size:.87rem;

    line-height:1.9;

    margin-bottom:16px;
}

.irh-philosophy-lead{
    color:var(--irh-text) !important;

    font-size:1.02rem !important;
}

.irh-quote{
    position:relative;

    display:flex;

    gap:12px;

    margin-top:25px;

    padding-top:22px;

    border-top:
        1px solid
        rgba(201,154,46,.25);
}

.irh-quote > span{
    color:var(--irh-gold);

    font-family:"Cormorant Garamond",serif;

    font-size:3rem;

    line-height:.6;
}

.irh-quote p{
    color:var(--irh-plum) !important;

    font-family:"Cormorant Garamond",serif;

    font-size:1.3rem !important;

    font-style:italic;
}


/* =========================================================
   SESSION EXPERIENCE
========================================================= */

.irh-session{
    padding:
        clamp(80px,9vw,115px)
        20px;

    background:var(--irh-white);
}

.irh-session-heading{
    max-width:700px;

    text-align:center;

    margin:0 auto 55px;
}

.irh-session-heading h2{
    margin-top:13px;

    color:var(--irh-plum);

    font-family:"Cormorant Garamond",serif;

    font-size:clamp(3rem,5vw,4.7rem);

    line-height:.9;

    font-weight:500;
}

.irh-session-heading h2 em{
    color:var(--irh-gold);

    font-style:italic;
}

.irh-session-grid{
    display:grid;

    grid-template-columns:
        repeat(4,minmax(0,1fr));

    border-top:
        1px solid
        rgba(120,18,127,.12);

    border-bottom:
        1px solid
        rgba(120,18,127,.12);
}

.irh-session-item{
    display:grid;

    grid-template-columns:40px 1fr;

    gap:14px;

    padding:25px 20px 25px 0;

    border-right:
        1px solid
        rgba(120,18,127,.12);
}

.irh-session-item:not(:first-child){
    padding-left:20px;
}

.irh-session-item:last-child{
    border-right:none;
}

.irh-session-item > span{
    color:var(--irh-gold);

    font-family:"Cormorant Garamond",serif;

    font-size:1.2rem;
}

.irh-session-item h3{
    margin-bottom:7px;

    color:var(--irh-plum);

    font-family:"Cormorant Garamond",serif;

    font-size:1.75rem;

    font-weight:600;
}

.irh-session-item p{
    color:var(--irh-muted);

    font-size:.72rem;

    line-height:1.75;
}


/* =========================================================
   BENEFITS
========================================================= */

.irh-benefits{
    padding:
        clamp(80px,9vw,115px)
        20px;

    background:
        radial-gradient(
            circle at 8% 30%,
            rgba(201,154,46,.08),
            transparent 28%
        ),
        #F8F0E7;
}

.irh-benefits-layout{
    display:grid;

    grid-template-columns:
        minmax(0,.85fr)
        minmax(0,1.15fr);

    gap:clamp(50px,9vw,100px);

    align-items:start;
}

.irh-benefits-heading h2{
    margin:13px 0 20px;

    color:var(--irh-plum);

    font-family:"Cormorant Garamond",serif;

    font-size:clamp(3rem,5vw,4.8rem);

    line-height:.87;

    font-weight:500;
}

.irh-benefits-heading h2 em{
    display:block;

    color:var(--irh-gold);

    font-style:italic;
}

.irh-benefits-heading > p{
    max-width:480px;

    color:var(--irh-muted);

    font-size:.84rem;

    line-height:1.85;
}

.irh-benefits-list{
    border-top:
        1px solid
        rgba(120,18,127,.12);
}

.irh-benefit{
    display:grid;

    grid-template-columns:45px 1fr;

    gap:15px;

    padding:19px 0;

    border-bottom:
        1px solid
        rgba(120,18,127,.12);
}

.irh-benefit span{
    color:var(--irh-gold);

    font-family:"Cormorant Garamond",serif;

    font-size:1.15rem;
}

.irh-benefit p{
    color:var(--irh-text);

    font-size:.77rem;

    line-height:1.7;
}


/* =========================================================
   GUIDANCE
========================================================= */

.irh-guidance{
    padding:
        clamp(75px,9vw,110px)
        20px;

    background:var(--irh-white);
}

.irh-guidance-box{
    display:grid;

    grid-template-columns:
        minmax(0,1fr)
        280px;

    align-items:center;

    gap:45px;

    padding:
        clamp(40px,5vw,65px);

    background:
        linear-gradient(
            135deg,
            #F6EBF4,
            #FCF3E6
        );

    border:
        1px solid
        rgba(201,154,46,.23);

    border-radius:33px;
}

.irh-guidance-content h2{
    max-width:670px;

    margin:13px 0 19px;

    color:var(--irh-plum);

    font-family:"Cormorant Garamond",serif;

    font-size:clamp(3rem,5vw,4.7rem);

    line-height:.87;

    font-weight:500;
}

.irh-guidance-content h2 em{
    color:var(--irh-gold);

    font-style:italic;
}

.irh-guidance-content p{
    max-width:670px;

    color:var(--irh-muted);

    font-size:.84rem;

    line-height:1.85;

    margin-bottom:14px;
}


/* guidance art */

.irh-guidance-art{
    position:relative;

    min-height:250px;

    display:grid;

    place-items:center;
}

.irh-guidance-circle{
    position:absolute;

    border-radius:50%;
}

.guidance-main{
    width:215px;
    aspect-ratio:1;

    background:
        radial-gradient(
            circle at 40% 35%,
            #fff,
            #F1E2D1
        );

    border:
        1px solid
        rgba(201,154,46,.35);
}

.guidance-inner{
    width:150px;
    aspect-ratio:1;

    border:
        1px dashed
        rgba(120,18,127,.23);
}

.irh-guidance-center{
    position:relative;
    z-index:3;

    width:62px;
    aspect-ratio:1;

    display:grid;
    place-items:center;

    background:white;

    color:var(--irh-gold);

    border-radius:50%;

    box-shadow:
        0 15px 35px rgba(84,17,95,.08);
}


/* =========================================================
   NOTE
========================================================= */

.irh-note{
    padding:
        0
        20px
        clamp(65px,8vw,90px);

    background:var(--irh-white);
}

.irh-note-inner{
    display:flex;

    align-items:flex-start;

    gap:18px;

    padding:23px 0;

    border-top:
        1px solid
        rgba(120,18,127,.10);

    border-bottom:
        1px solid
        rgba(120,18,127,.10);
}

.irh-note-icon{
    flex-shrink:0;

    color:var(--irh-gold);

    font-size:1rem;

    padding-top:2px;
}

.irh-note-inner span{
    display:block;

    margin-bottom:7px;

    color:var(--irh-gold);

    font-size:.63rem;

    font-weight:600;

    letter-spacing:2px;
}

.irh-note-inner p{
    max-width:950px;

    color:var(--irh-muted);

    font-size:.68rem;

    line-height:1.7;

    margin-bottom:7px;
}

.irh-note-inner p:last-child{
    margin-bottom:0;
}


/* =========================================================
   FINAL CTA
========================================================= */

.irh-final{
    padding:
        clamp(85px,10vw,125px)
        20px;

    background:
        radial-gradient(
            circle at 50% 25%,
            rgba(232,196,106,.10),
            transparent 28%
        ),
        linear-gradient(
            135deg,
            var(--irh-plum-dark),
            var(--irh-plum)
        );
}

.irh-final-content{
    position:relative;
    z-index:3;

    max-width:760px;

    margin-inline:auto;

    text-align:center;
}

.irh-final-content .irh-kicker{
    color:var(--irh-gold-light);
}

.irh-final-content h2{
    margin:15px 0 18px;

    color:white;

    font-family:"Cormorant Garamond",serif;

    font-size:clamp(3.7rem,7vw,6.2rem);

    line-height:.83;

    font-weight:500;
}

.irh-final-content h2 em{
    display:block;

    color:var(--irh-gold-light);

    font-style:italic;
}

.irh-final-content p{
    max-width:600px;

    margin-inline:auto;

    color:rgba(255,255,255,.75);

    font-size:.87rem;

    line-height:1.9;
}

.irh-final-content .irh-primary-btn{
    margin-top:30px;
}

.irh-final-orbit{
    position:absolute;

    width:480px;
    aspect-ratio:1;

    right:-220px;
    top:-220px;

    border:
        1px solid
        rgba(232,196,106,.16);

    border-radius:50%;
}

.irh-final-glow{
    position:absolute;

    width:240px;
    aspect-ratio:1;

    left:-90px;
    bottom:-130px;

    border-radius:50%;

    background:
        rgba(255,255,255,.04);

    filter:blur(20px);
}


/* =========================================================
   TABLET
========================================================= */

@media(max-width:1000px){

    .irh-intro-layout{
        grid-template-columns:45px 1fr;
    }

    .irh-intro-copy{
        grid-column:2;

        padding-left:0;

        border-left:0;
    }

    .irh-path-grid{
        grid-template-columns:
            repeat(2,minmax(0,1fr));
    }

    .irh-path-card:last-child{
        grid-column:1 / -1;

        max-width:520px;

        width:100%;

        margin-inline:auto;
    }

    .irh-philosophy-layout{
        grid-template-columns:1fr;
    }

    .irh-philosophy-visual{
        min-height:300px;
    }

    .irh-philosophy-content{
        text-align:center;
    }

    .irh-philosophy-content p{
        margin-inline:auto;
    }

    .irh-quote{
        justify-content:center;
    }

    .irh-session-grid{
        grid-template-columns:
            repeat(2,minmax(0,1fr));
    }

    .irh-session-item:nth-child(2){
        border-right:none;
    }

    .irh-session-item:nth-child(3){
        border-top:
            1px solid
            rgba(120,18,127,.12);

        padding-left:0;
    }

    .irh-session-item:nth-child(4){
        border-top:
            1px solid
            rgba(120,18,127,.12);
    }

    .irh-benefits-layout{
        grid-template-columns:1fr;
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media(max-width:650px){

    .irh-container{
        width:min(100%,92%);
    }

    .irh-hero{
        padding-top:70px;
        padding-bottom:70px;
    }

    .irh-hero h1{
        font-size:clamp(3.3rem,14vw,4.7rem);

        letter-spacing:-1px;
    }

    .irh-hero-actions{
        flex-direction:column;
    }

    .irh-intro-layout{
        grid-template-columns:1fr;

        gap:20px;
    }

    .irh-intro-index{
        flex-direction:row;

        align-items:center;

        gap:10px;
    }

    .irh-intro-index div{
        margin-top:0;
    }

    .irh-intro-copy{
        grid-column:auto;
    }

    .irh-section-heading{
        margin-bottom:40px;
    }

    .irh-path-grid{
        grid-template-columns:1fr;
    }

    .irh-path-card:last-child{
        grid-column:auto;
        max-width:none;
    }

    .irh-path-art{
        min-height:220px;
    }

    .irh-path-content{
        padding:25px 23px 28px;
    }

    .irh-philosophy-visual{
        min-height:270px;
    }

    .irh-vertical-text{
        left:-22px;
    }

    .irh-session-grid{
        grid-template-columns:1fr;
    }

    .irh-session-item,
    .irh-session-item:not(:first-child){
        border-right:none;

        padding-left:0;

        border-bottom:
            1px solid
            rgba(120,18,127,.12);
    }

    .irh-session-item:last-child{
        border-bottom:none;
    }

    .irh-guidance-box{
        grid-template-columns:1fr;
    }

    .irh-guidance-art{
        display:none;
    }

    .irh-note-inner{
        padding-inline:0;
    }

    .irh-final-content h2{
        font-size:4rem;
    }

}