/* =========================================================
   INNER REFLECTIONS HOMEPAGE
========================================================= */

:root{

    --irhome-plum:#78127F;
    --irhome-plum-dark:#54115F;
    --irhome-plum-soft:#F3E8F4;

    --irhome-gold:#C99A2E;
    --irhome-gold-light:#E7C46A;

    --irhome-cream:#FBF6EE;
    --irhome-cream-deep:#F3E5D3;

    --irhome-lavender:#EEE7F1;
    --irhome-rose:#F4E5ED;
    --irhome-green:#E8EEE4;

    --irhome-white:#FFFDFC;

    --irhome-text:#3C3040;
    --irhome-muted:#716672;

    --irhome-border:rgba(120,18,127,.10);
    --irhome-gold-border:rgba(201,154,46,.25);

    --irhome-shadow:
        0 20px 60px rgba(84,17,95,.08);
}


/* =========================================================
   BASE
========================================================= */

.irhome-hero *,
.irhome-intro *,
.irhome-services *,
.irhome-healing *,
.irhome-journey *,
.irhome-guidance *,
.irhome-about *,
.irhome-final *{
    box-sizing:border-box;
}

.irhome-hero,
.irhome-intro,
.irhome-services,
.irhome-healing,
.irhome-journey,
.irhome-guidance,
.irhome-about,
.irhome-final{

    position:relative;

    overflow:hidden;
}

.irhome-container{

    width:min(1160px,92%);

    margin-inline:auto;
}

.irhome-kicker{

    display:inline-block;

    color:var(--irhome-gold);

    font-size:.65rem;

    font-weight:600;

    letter-spacing:2.7px;

    text-transform:uppercase;
}


/* =========================================================
   BUTTONS
========================================================= */

.irhome-gold-btn{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    gap:10px;

    padding:14px 23px;

    border-radius:999px;

    background:
        linear-gradient(
            135deg,
            var(--irhome-gold-light),
            var(--irhome-gold)
        );

    color:#4B3204;

    text-decoration:none;

    font-size:.73rem;

    font-weight:600;

    box-shadow:
        0 11px 26px
        rgba(201,154,46,.15);

    transition:
        transform .3s ease,
        box-shadow .3s ease;
}

.irhome-gold-btn:hover{

    transform:translateY(-3px);

    box-shadow:
        0 16px 32px
        rgba(201,154,46,.22);
}


.irhome-outline-btn{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    gap:10px;

    padding:11px 18px;

    border:
        1px solid
        rgba(120,18,127,.19);

    color:var(--irhome-plum);

    background:transparent;

    border-radius:999px;

    text-decoration:none;

    font-size:.7rem;

    font-weight:600;

    transition:
        background .3s ease,
        color .3s ease,
        transform .3s ease;
}

.irhome-outline-btn:hover{

    background:var(--irhome-plum);

    color:white;

    transform:translateY(-2px);
}


.irhome-text-link{

    display:inline-flex;

    align-items:center;

    gap:10px;

    color:var(--irhome-plum);

    text-decoration:none;

    font-size:.72rem;

    font-weight:600;
}

.irhome-text-link i{

    color:var(--irhome-gold);

    transition:
        transform .3s ease;
}

.irhome-text-link:hover i{

    transform:translateX(5px);
}


/* =========================================================
   HERO
========================================================= */

.irhome-hero{

    padding:
        clamp(65px,8vw,105px)
        20px
        clamp(60px,7vw,90px);

    background:
        radial-gradient(
            circle at 11% 25%,
            rgba(232,196,106,.17),
            transparent 26%
        ),
        radial-gradient(
            circle at 86% 68%,
            rgba(181,124,181,.17),
            transparent 31%
        ),
        linear-gradient(
            125deg,
            #FAEFE2,
            #FCF7F6 47%,
            #F5EBF4
        );
}

.irhome-hero-grid{

    display:grid;

    grid-template-columns:
        minmax(0,1fr)
        minmax(330px,.8fr);

    align-items:center;

    gap:clamp(40px,7vw,90px);
}

.irhome-hero-content{

    position:relative;

    z-index:4;
}

.irhome-eyebrow{

    display:flex;

    align-items:center;

    gap:12px;

    margin-bottom:22px;

    color:var(--irhome-gold);

    font-size:.62rem;

    font-weight:600;

    letter-spacing:2.8px;
}

.irhome-eyebrow span{

    width:35px;
    height:1px;

    background:var(--irhome-gold);
}

.irhome-hero h1{

    max-width:700px;

    margin:0;

    color:var(--irhome-plum);

    font-family:"Cormorant Garamond",serif;

    font-size:
        clamp(4rem,7vw,6.9rem);

    font-weight:500;

    line-height:.83;

    letter-spacing:-2px;
}

.irhome-hero h1 em{

    display:block;

    color:var(--irhome-gold);

    font-style:italic;
}

.irhome-hero p{

    max-width:590px;

    margin-top:25px;

    color:var(--irhome-muted);

    font-size:.93rem;

    line-height:1.85;
}

.irhome-hero-actions{

    display:flex;

    align-items:center;

    flex-wrap:wrap;

    gap:20px;

    margin-top:29px;
}

.irhome-hero-link{

    display:inline-flex;

    align-items:center;

    gap:9px;

    color:var(--irhome-plum);

    font-size:.72rem;

    font-weight:600;

    text-decoration:none;
}

.irhome-hero-link i{

    color:var(--irhome-gold);

    transition:
        transform .3s ease;
}

.irhome-hero-link:hover i{

    transform:translateY(4px);
}

.irhome-hero-note{

    display:flex;

    align-items:center;

    gap:8px;

    margin-top:25px;

    color:var(--irhome-muted);

    font-size:.68rem;
}

.irhome-hero-note i{

    color:var(--irhome-gold);
}


/* =========================================================
   HERO VISUAL
========================================================= */

.irhome-hero-visual{

    position:relative;

    min-height:460px;

    display:grid;

    place-items:center;
}

.irhome-portrait-aura{

    position:absolute;

    width:290px;

    aspect-ratio:1;

    border-radius:50%;

    background:
        radial-gradient(
            circle,
            rgba(255,255,255,.9),
            rgba(232,196,106,.15),
            transparent 70%
        );

    filter:blur(3px);

    animation:
        irhomeBreathe 5s ease-in-out infinite;
}

.irhome-portrait-ring{

    position:absolute;

    border-radius:50%;

    border:
        1px solid
        rgba(201,154,46,.35);

    pointer-events:none;
}

.ring-main{

    width:355px;

    aspect-ratio:1;
}

.ring-inner{

    width:285px;

    aspect-ratio:1;

    border-style:dashed;

    border-color:
        rgba(120,18,127,.20);
}

.irhome-portrait{

    position:relative;

    z-index:3;

    width:min(63%,290px);

    aspect-ratio:1 / 1.18;

    padding:9px;

    background:
        linear-gradient(
            145deg,
            #fff,
            #F4E7D4
        );

    border:
        1px solid
        rgba(201,154,46,.45);

    border-radius:
        48%
        48%
        42%
        42%;

    box-shadow:
        0 30px 70px
        rgba(84,17,95,.13);
}

.irhome-portrait img{

    display:block;

    width:100%;

    height:100%;

    object-fit:cover;

    border-radius:inherit;
}


/* floating cards */

.irhome-floating-card{

    position:absolute;

    z-index:5;

    display:flex;

    align-items:center;

    gap:10px;

    padding:12px 14px;

    background:
        rgba(255,253,251,.91);

    border:
        1px solid
        rgba(201,154,46,.25);

    border-radius:14px;

    box-shadow:
        0 15px 35px
        rgba(84,17,95,.09);

    backdrop-filter:blur(10px);

    animation:
        irhomeFloat 4s ease-in-out infinite;
}

.irhome-floating-card i{

    width:32px;

    aspect-ratio:1;

    display:grid;

    place-items:center;

    border-radius:50%;

    background:#FFF7E9;

    color:var(--irhome-gold);

    font-size:.7rem;
}

.irhome-floating-card strong{

    display:block;

    color:var(--irhome-plum);

    font-family:"Cormorant Garamond",serif;

    font-size:1rem;
}

.irhome-floating-card span{

    display:block;

    margin-top:1px;

    color:var(--irhome-muted);

    font-size:.56rem;
}

.card-top{

    top:16%;

    left:0;
}

.card-bottom{

    right:0;

    bottom:15%;

    animation-delay:
        -1.5s;
}


/* =========================================================
   INTRO
========================================================= */

.irhome-intro{

    padding:
        clamp(60px,7vw,95px)
        20px;

    background:var(--irhome-white);
}

.irhome-intro-grid{

    display:grid;

    grid-template-columns:
        55px
        minmax(250px,.85fr)
        minmax(0,1.15fr);

    gap:28px;

    align-items:start;
}

.irhome-section-number{

    display:flex;

    flex-direction:column;

    color:var(--irhome-gold);

    font-family:"Cormorant Garamond",serif;

    font-size:1.45rem;
}

.irhome-section-number div{

    width:34px;

    height:1px;

    margin-top:9px;

    background:var(--irhome-gold);
}

.irhome-intro-heading h2{

    margin-top:11px;

    color:var(--irhome-plum);

    font-family:"Cormorant Garamond",serif;

    font-size:
        clamp(2.9rem,5vw,4.6rem);

    line-height:.88;

    font-weight:500;

    letter-spacing:-1px;
}

.irhome-intro-heading h2 em{

    display:block;

    color:var(--irhome-gold);

    font-style:italic;
}

.irhome-intro-copy{

    padding-left:27px;

    border-left:
        1px solid
        rgba(201,154,46,.34);
}

.irhome-intro-copy p{

    max-width:600px;

    margin-bottom:16px;

    color:var(--irhome-muted);

    font-size:.83rem;

    line-height:1.8;
}

.irhome-lead{

    color:var(--irhome-text) !important;

    font-size:1rem !important;
}


/* =========================================================
   SECTION HEADING
========================================================= */

.irhome-section-heading{

    max-width:720px;

    margin:0 auto 45px;

    text-align:center;
}

.irhome-section-heading h2{

    margin:12px 0 15px;

    color:var(--irhome-plum);

    font-family:"Cormorant Garamond",serif;

    font-size:
        clamp(3rem,5vw,4.5rem);

    line-height:.88;

    font-weight:500;
}

.irhome-section-heading h2 em{

    color:var(--irhome-gold);

    font-style:italic;
}

.irhome-section-heading p{

    max-width:620px;

    margin-inline:auto;

    color:var(--irhome-muted);

    font-size:.81rem;

    line-height:1.8;
}


/* =========================================================
   SERVICES
========================================================= */

.irhome-services{

    padding:
        clamp(65px,8vw,100px)
        20px;

    background:
        linear-gradient(
            180deg,
            #FBF7F1,
            #FFFDFC
        );
}

.irhome-service-grid{

    display:grid;

    grid-template-columns:
        repeat(3,minmax(0,1fr));

    gap:18px;
}

.irhome-service-card{

    position:relative;

    padding:26px;

    background:
        linear-gradient(
            145deg,
            #fff,
            #FBF5EC
        );

    border:
        1px solid
        rgba(201,154,46,.20);

    border-radius:22px;

    overflow:hidden;

    transition:
        transform .35s ease,
        box-shadow .35s ease,
        border-color .35s ease;

    transform-style:preserve-3d;
}

.irhome-service-card::after{

    content:"";

    position:absolute;

    width:110px;

    aspect-ratio:1;

    right:-45px;

    top:-45px;

    border-radius:50%;

    background:
        rgba(201,154,46,.07);
}

.irhome-service-card:hover{

    transform:
        translateY(-7px);

    border-color:
        rgba(201,154,46,.40);

    box-shadow:
        0 22px 45px
        rgba(84,17,95,.10);
}

.service-lavender{

    background:
        linear-gradient(
            145deg,
            #fff,
            #F7EFF7
        );
}

.service-rose{

    background:
        linear-gradient(
            145deg,
            #fff,
            #F8ECF1
        );
}

.service-gold{

    background:
        linear-gradient(
            145deg,
            #fff,
            #F9F1D9
        );
}

.service-green{

    background:
        linear-gradient(
            145deg,
            #fff,
            #EEF3E9
        );
}

.irhome-service-card > span{

    position:absolute;

    top:19px;

    right:21px;

    color:
        rgba(120,18,127,.14);

    font-family:
        "Cormorant Garamond",
        serif;

    font-size:2.2rem;
}

.irhome-service-icon{

    width:45px;

    aspect-ratio:1;

    display:grid;

    place-items:center;

    margin-bottom:22px;

    border-radius:50%;

    background:#FFF8EA;

    color:var(--irhome-gold);

    border:
        1px solid
        rgba(201,154,46,.22);
}

.irhome-service-card h3{

    margin:0 0 9px;

    color:var(--irhome-plum);

    font-family:"Cormorant Garamond",serif;

    font-size:2rem;

    font-weight:500;

    line-height:.95;
}

.irhome-service-card p{

    min-height:70px;

    margin-bottom:18px;

    color:var(--irhome-muted);

    font-size:.71rem;

    line-height:1.75;
}

.irhome-service-card a{

    display:inline-flex;

    align-items:center;

    gap:8px;

    color:var(--irhome-plum);

    font-size:.68rem;

    font-weight:600;

    text-decoration:none;
}

.irhome-service-card a i{

    color:var(--irhome-gold);

    transition:
        transform .3s ease;
}

.irhome-service-card:hover a i{

    transform:translateX(4px);
}

.irhome-section-action{

    display:flex;

    justify-content:center;

    margin-top:32px;
}


/* =========================================================
   HEALING
========================================================= */

.irhome-healing{

    padding:
        clamp(70px,8vw,100px)
        20px;

    background:#FAF0E6;
}

.irhome-healing-grid{

    display:grid;

    grid-template-columns:
        minmax(280px,.7fr)
        minmax(0,1.3fr);

    gap:clamp(45px,8vw,95px);

    align-items:center;
}

.irhome-healing-visual{

    position:relative;

    min-height:300px;

    display:grid;

    place-items:center;
}

.healing-ring{

    position:absolute;

    border-radius:50%;

    border:
        1px solid
        rgba(201,154,46,.36);
}

.healing-ring-1{

    width:260px;

    aspect-ratio:1;
}

.healing-ring-2{

    width:185px;

    aspect-ratio:1;

    border-style:dashed;

    border-color:
        rgba(120,18,127,.20);
}

.healing-center{

    position:relative;

    z-index:3;

    width:68px;

    aspect-ratio:1;

    display:grid;

    place-items:center;

    border-radius:50%;

    background:white;

    color:var(--irhome-gold);

    box-shadow:
        0 18px 40px
        rgba(84,17,95,.08);
}

.healing-vertical{

    position:absolute;

    left:3px;

    top:50%;

    transform:
        translateY(-50%)
        rotate(-90deg);

    color:
        rgba(120,18,127,.25);

    font-size:.48rem;

    letter-spacing:3px;
}

.irhome-healing-content h2{

    max-width:700px;

    margin:12px 0 19px;

    color:var(--irhome-plum);

    font-family:"Cormorant Garamond",serif;

    font-size:
        clamp(3rem,5vw,4.7rem);

    line-height:.87;

    font-weight:500;
}

.irhome-healing-content h2 em{

    display:block;

    color:var(--irhome-gold);

    font-style:italic;
}

.irhome-healing-content p{

    max-width:650px;

    color:var(--irhome-muted);

    font-size:.81rem;

    line-height:1.8;

    margin-bottom:14px;
}

.healing-lead{

    color:var(--irhome-text) !important;

    font-size:.95rem !important;
}

.irhome-healing-points{

    display:flex;

    flex-wrap:wrap;

    gap:9px;

    margin:23px 0;
}

.irhome-healing-points span{

    padding:8px 12px;

    background:
        rgba(255,255,255,.72);

    border:
        1px solid
        rgba(201,154,46,.15);

    border-radius:999px;

    color:var(--irhome-plum);

    font-size:.64rem;

    font-weight:600;
}

.irhome-healing-points i{

    margin-right:6px;

    color:var(--irhome-gold);

    font-size:.55rem;
}


/* =========================================================
   JOURNEY
========================================================= */

.irhome-journey{

    padding:
        clamp(70px,8vw,105px)
        20px;

    background:var(--irhome-white);
}

.irhome-journey-grid{

    display:grid;

    grid-template-columns:
        repeat(5,minmax(0,1fr));

    position:relative;

    max-width:1000px;

    margin-inline:auto;
}

.irhome-journey-line{

    position:absolute;

    left:50%;

    transform:translateX(-50%);

    width:min(780px,70%);

    height:1px;

    margin-top:21px;

    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(201,154,46,.45),
            rgba(201,154,46,.45),
            transparent
        );

    z-index:0;
}

.irhome-journey-item{

    position:relative;

    z-index:2;

    text-align:center;

    padding-inline:12px;
}

.irhome-journey-number{

    width:43px;

    aspect-ratio:1;

    display:grid;

    place-items:center;

    margin:0 auto 14px;

    border-radius:50%;

    background:
        linear-gradient(
            145deg,
            #FFF,
            #F4E8D8
        );

    border:
        1px solid
        rgba(201,154,46,.35);

    color:var(--irhome-gold);

    font-family:
        "Cormorant Garamond",
        serif;

    font-size:.9rem;

    box-shadow:
        0 8px 22px
        rgba(84,17,95,.06);
}

.irhome-journey-item h3{

    margin-bottom:5px;

    color:var(--irhome-plum);

    font-family:
        "Cormorant Garamond",
        serif;

    font-size:1.7rem;

    font-weight:600;
}

.irhome-journey-item p{

    color:var(--irhome-muted);

    font-size:.61rem;

    line-height:1.65;
}


/* =========================================================
   GUIDANCE
========================================================= */

.irhome-guidance{

    padding:
        clamp(65px,8vw,100px)
        20px;

    background:#F8EEE4;
}

.irhome-guidance-box{

    display:grid;

    grid-template-columns:
        minmax(0,1fr)
        250px;

    align-items:center;

    gap:50px;

    padding:
        clamp(35px,5vw,55px);

    background:
        linear-gradient(
            135deg,
            #F6EBF3,
            #FCF4E7
        );

    border:
        1px solid
        rgba(201,154,46,.20);

    border-radius:30px;
}

.irhome-guidance-content h2{

    max-width:600px;

    margin:12px 0 17px;

    color:var(--irhome-plum);

    font-family:
        "Cormorant Garamond",
        serif;

    font-size:
        clamp(3rem,5vw,4.6rem);

    line-height:.87;

    font-weight:500;
}

.irhome-guidance-content h2 em{

    display:block;

    color:var(--irhome-gold);

    font-style:italic;
}

.irhome-guidance-content p{

    max-width:650px;

    color:var(--irhome-muted);

    font-size:.8rem;

    line-height:1.8;

    margin-bottom:17px;
}

.irhome-guidance-tags{

    display:flex;

    flex-wrap:wrap;

    gap:8px;

    margin-bottom:22px;
}

.irhome-guidance-tags span{

    padding:7px 11px;

    color:var(--irhome-plum);

    background:
        rgba(255,255,255,.70);

    border:
        1px solid
        rgba(120,18,127,.08);

    border-radius:999px;

    font-size:.61rem;

    font-weight:600;
}


/* art */

.irhome-guidance-art{

    position:relative;

    min-height:225px;

    display:grid;

    place-items:center;
}

.guidance-orbit{

    position:absolute;

    border-radius:50%;

    border:
        1px solid
        rgba(201,154,46,.34);
}

.orbit-inner{

    width:145px;

    aspect-ratio:1;

    border-style:dashed;
}

.orbit-outer{

    width:215px;

    aspect-ratio:1;
}

.guidance-center{

    position:relative;

    z-index:3;

    width:61px;

    aspect-ratio:1;

    display:grid;

    place-items:center;

    border-radius:50%;

    background:white;

    color:var(--irhome-gold);

    box-shadow:
        0 15px 35px
        rgba(84,17,95,.08);
}


/* =========================================================
   ABOUT
========================================================= */

.irhome-about{

    padding:
        clamp(70px,8vw,105px)
        20px;

    background:var(--irhome-white);
}

.irhome-about-grid{

    display:grid;

    grid-template-columns:
        minmax(290px,.78fr)
        minmax(0,1.22fr);

    align-items:center;

    gap:clamp(50px,8vw,90px);
}

.irhome-about-image{

    position:relative;

    display:flex;

    justify-content:center;
}

.about-image-frame{

    width:min(80%,330px);

    aspect-ratio:1 / 1.1;

    padding:9px;

    background:
        linear-gradient(
            145deg,
            #FFF,
            #F4E7D5
        );

    border:
        1px solid
        rgba(201,154,46,.38);

    border-radius:
        45%
        45%
        40%
        40%;

    box-shadow:
        0 25px 60px
        rgba(84,17,95,.10);
}

.about-image-frame img{

    width:100%;
    height:100%;

    object-fit:cover;

    border-radius:inherit;
}

.about-image-badge{

    position:absolute;

    right:3%;

    bottom:9%;

    display:flex;

    flex-direction:column;

    padding:12px 16px;

    background:
        rgba(255,253,251,.94);

    border:
        1px solid
        rgba(201,154,46,.25);

    border-radius:13px;

    box-shadow:
        0 14px 30px
        rgba(84,17,95,.08);

    backdrop-filter:blur(8px);
}

.about-image-badge span{

    color:var(--irhome-gold);

    font-size:.55rem;

    letter-spacing:2px;
}

.about-image-badge strong{

    color:var(--irhome-plum);

    font-family:
        "Cormorant Garamond",
        serif;

    font-size:1rem;

    letter-spacing:1px;
}

.irhome-about-content h2{

    max-width:620px;

    margin:12px 0 20px;

    color:var(--irhome-plum);

    font-family:
        "Cormorant Garamond",
        serif;

    font-size:
        clamp(3rem,5vw,4.8rem);

    line-height:.87;

    font-weight:500;
}

.irhome-about-content h2 em{

    display:block;

    color:var(--irhome-gold);

    font-style:italic;
}

.irhome-about-content p{

    max-width:650px;

    color:var(--irhome-muted);

    font-size:.81rem;

    line-height:1.85;

    margin-bottom:15px;
}

.about-lead{

    color:var(--irhome-text) !important;

    font-size:.97rem !important;
}


/* =========================================================
   FINAL CTA
========================================================= */

.irhome-final{

    padding:
        clamp(75px,9vw,110px)
        20px;

    background:
        radial-gradient(
            circle at 50% 20%,
            rgba(232,196,106,.10),
            transparent 27%
        ),
        linear-gradient(
            135deg,
            var(--irhome-plum-dark),
            var(--irhome-plum)
        );
}

.irhome-final-content{

    position:relative;

    z-index:3;

    max-width:760px;

    margin-inline:auto;

    text-align:center;
}

.irhome-final-content .irhome-kicker{

    color:var(--irhome-gold-light);
}

.irhome-final-content h2{

    margin:14px 0 18px;

    color:white;

    font-family:
        "Cormorant Garamond",
        serif;

    font-size:
        clamp(3.5rem,7vw,6rem);

    line-height:.84;

    font-weight:500;
}

.irhome-final-content h2 em{

    display:block;

    color:var(--irhome-gold-light);

    font-style:italic;
}

.irhome-final-content p{

    max-width:620px;

    margin-inline:auto;

    color:rgba(255,255,255,.74);

    font-size:.84rem;

    line-height:1.85;
}

.irhome-final-actions{

    display:flex;

    justify-content:center;

    align-items:center;

    flex-wrap:wrap;

    gap:20px;

    margin-top:29px;
}

.irhome-final-link{

    color:rgba(255,255,255,.82);

    font-size:.71rem;

    font-weight:600;

    text-decoration:none;

    padding-bottom:3px;

    border-bottom:
        1px solid
        rgba(232,196,106,.55);
}


/* CTA decorations */

.irhome-final-orbit{

    position:absolute;

    border-radius:50%;

    border:
        1px solid
        rgba(232,196,106,.14);
}

.orbit-final-a{

    width:470px;

    aspect-ratio:1;

    right:-225px;

    top:-220px;
}

.orbit-final-b{

    width:300px;

    aspect-ratio:1;

    right:-140px;

    top:-150px;

    border-style:dashed;
}

.irhome-final-glow{

    position:absolute;

    width:220px;

    aspect-ratio:1;

    left:-90px;

    bottom:-120px;

    border-radius:50%;

    background:
        rgba(255,255,255,.03);

    filter:blur(20px);
}


/* =========================================================
   REVEAL ANIMATION
========================================================= */

.irhome-reveal{

    opacity:0;

    transform:
        translateY(25px);

    transition:
        opacity .8s ease,
        transform .8s cubic-bezier(.22,.61,.36,1);
}

.irhome-reveal.irhome-visible{

    opacity:1;

    transform:translateY(0);
}


/* =========================================================
   BREATHING / FLOAT
========================================================= */

@keyframes irhomeBreathe{

    0%,100%{
        transform:scale(1);
    }

    50%{
        transform:scale(1.06);
    }

}

@keyframes irhomeFloat{

    0%,100%{
        transform:translateY(0);
    }

    50%{
        transform:translateY(-7px);
    }

}


/* =========================================================
   TABLET
========================================================= */

@media(max-width:1000px){

    .irhome-hero-grid{

        grid-template-columns:1fr;

        text-align:center;
    }

    .irhome-hero-content{

        max-width:800px;

        margin-inline:auto;
    }

    .irhome-eyebrow{

        justify-content:center;
    }

    .irhome-hero p{

        margin-inline:auto;
    }

    .irhome-hero-actions{

        justify-content:center;
    }

    .irhome-hero-note{

        justify-content:center;
    }

    .irhome-hero-visual{

        min-height:380px;
    }

    .irhome-service-grid{

        grid-template-columns:
            repeat(2,minmax(0,1fr));
    }

    .irhome-journey-grid{

        grid-template-columns:
            repeat(3,minmax(0,1fr));

        gap:30px;
    }

    .irhome-journey-line{
        display:none;
    }

    .irhome-guidance-box{

        grid-template-columns:1fr;
    }

    .irhome-guidance-art{
        display:none;
    }

    .irhome-about-grid{

        grid-template-columns:
            1fr;

        text-align:center;
    }

    .irhome-about-content p{
        margin-inline:auto;
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media(max-width:650px){

    .irhome-container{

        width:min(100%,92%);
    }

    .irhome-hero{

        padding-top:60px;

        padding-bottom:60px;
    }

    .irhome-hero h1{

        font-size:
            clamp(3.2rem,14vw,4.4rem);

        letter-spacing:-.8px;
    }

    .irhome-hero-actions{

        flex-direction:column;
    }

    .irhome-hero-visual{

        min-height:330px;
    }

    .ring-main{
        width:300px;
    }

    .ring-inner{
        width:235px;
    }

    .irhome-portrait{
        width:68%;
    }

    .irhome-floating-card{

        padding:9px 11px;
    }

    .card-top{

        left:-8px;
    }

    .card-bottom{

        right:-5px;
    }


    .irhome-intro-grid{

        grid-template-columns:1fr;

        gap:18px;
    }

    .irhome-section-number{

        flex-direction:row;

        align-items:center;

        gap:10px;
    }

    .irhome-section-number div{

        margin-top:0;
    }

    .irhome-intro-copy{

        padding-left:0;

        border-left:0;
    }


    .irhome-service-grid{

        grid-template-columns:1fr;
    }

    .irhome-service-card p{

        min-height:0;
    }


    .irhome-healing-grid{

        grid-template-columns:1fr;

        gap:35px;
    }

    .irhome-healing-visual{

        min-height:245px;
    }

    .irhome-healing-content{

        text-align:center;
    }

    .irhome-healing-content p{

        margin-inline:auto;
    }

    .irhome-healing-points{

        justify-content:center;
    }


    .irhome-journey-grid{

        grid-template-columns:1fr;

        gap:11px;
    }

    .irhome-journey-item{

        display:grid;

        grid-template-columns:42px 1fr;

        gap:12px;

        text-align:left;

        align-items:center;

        padding:13px 0;

        border-bottom:
            1px solid
            rgba(120,18,127,.09);
    }

    .irhome-journey-item:last-child{

        border-bottom:0;
    }

    .irhome-journey-number{

        margin:0;
    }

    .irhome-journey-item p{

        grid-column:2;
    }


    .irhome-guidance-box{

        padding:30px 24px;
    }


    .irhome-about-grid{

        gap:40px;
    }

    .about-image-frame{

        width:min(78%,290px);
    }


    .irhome-final-content h2{

        font-size:3.8rem;
    }

    .irhome-final-actions{

        flex-direction:column;
    }

}