
:root{
    --irx-plum:#78127F;
    --irx-plum-dark:#53115D;
    --irx-plum-soft:#F3E9F4;

    --irx-gold:#C99A2E;
    --irx-gold-light:#E8C66D;

    --irx-cream:#FBF6EE;
    --irx-cream-deep:#F4E9D8;

    --irx-rose:#F4E6ED;
    --irx-lavender:#EEE6F1;
    --irx-green:#E8EEE4;

    --irx-white:#FFFDFC;

    --irx-text:#3C3040;
    --irx-muted:#716673;

    --irx-border:rgba(120,18,127,.10);
    --irx-gold-border:rgba(201,154,46,.28);

    --irx-shadow:
        0 20px 60px rgba(83,17,93,.08);
}


/* =========================================================
   RESET
========================================================= */

.irx-services-hero *,
.irx-introduction *,
.irx-services *,
.irx-personal-approach *,
.irx-not-sure *,
.irx-disclaimer *,
.irx-final-cta *{
    box-sizing:border-box;
}

.irx-services-hero,
.irx-introduction,
.irx-services,
.irx-personal-approach,
.irx-not-sure,
.irx-disclaimer,
.irx-final-cta{
    position:relative;
    overflow:hidden;
}

.irx-container{
    width:min(1180px,92%);
    margin-inline:auto;
}

.irx-section-kicker{
    display:inline-block;

    color:var(--irx-gold);

    font-size:.68rem;
    font-weight:600;

    letter-spacing:2.8px;

    text-transform:uppercase;
}


/* =========================================================
   HERO
========================================================= */

.irx-services-hero{
    padding:
        clamp(95px,11vw,145px)
        20px
        clamp(75px,8vw,110px);

    background:
        radial-gradient(
            circle at 16% 25%,
            rgba(232,198,109,.18),
            transparent 25%
        ),
        radial-gradient(
            circle at 85% 72%,
            rgba(182,118,181,.18),
            transparent 31%
        ),
        linear-gradient(
            125deg,
            #FBF0E1 0%,
            #FBF5F4 46%,
            #F5EAF3 100%
        );
}

.irx-hero-inner{
    position:relative;
    z-index:3;

    max-width:840px;

    margin-inline:auto;

    text-align:center;
}

.irx-overline{
    display:flex;
    align-items:center;
    justify-content:center;

    gap:14px;

    margin-bottom:25px;

    color:var(--irx-gold);

    font-size:.66rem;
    font-weight:600;

    letter-spacing:3px;
}

.irx-line{
    width:42px;
    height:1px;

    background:var(--irx-gold);
}

.irx-services-hero h1{
    margin:0;

    color:var(--irx-plum);

    font-family:"Cormorant Garamond",serif;

    font-size:clamp(4rem,8vw,7rem);
    line-height:.84;

    font-weight:500;
    letter-spacing:-2px;
}

.irx-services-hero h1 span{
    display:block;

    color:var(--irx-gold);

    font-style:italic;
}

.irx-services-hero p{
    max-width:650px;

    margin:30px auto 0;

    color:var(--irx-muted);

    font-size:.98rem;
    line-height:1.9;
}

.irx-hero-actions{
    display:flex;
    align-items:center;
    justify-content:center;

    flex-wrap:wrap;

    gap:22px;

    margin-top:32px;
}


/* hero decorative circles */

.irx-hero-orbit{
    position:absolute;

    border:1px solid rgba(201,154,46,.25);
    border-radius:50%;

    pointer-events:none;
}

.irx-orbit-one{
    width:420px;
    aspect-ratio:1;

    right:-190px;
    top:-190px;
}

.irx-orbit-two{
    width:290px;
    aspect-ratio:1;

    right:-120px;
    top:-125px;

    border-style:dashed;
}

.irx-hero-aura{
    position:absolute;

    border-radius:50%;

    filter:blur(3px);

    pointer-events:none;
}

.irx-aura-one{
    width:180px;
    aspect-ratio:1;

    left:-55px;
    bottom:-70px;

    background:rgba(201,154,46,.10);
}

.irx-aura-two{
    width:120px;
    aspect-ratio:1;

    right:22%;
    bottom:-60px;

    background:rgba(120,18,127,.07);

    filter:blur(20px);
}


/* =========================================================
   BUTTONS
========================================================= */

.irx-gold-button{
    display:inline-flex;
    align-items:center;
    justify-content:center;

    gap:11px;

    padding:14px 23px;

    background:
        linear-gradient(
            135deg,
            var(--irx-gold-light),
            var(--irx-gold)
        );

    color:#4C3303;

    border-radius:999px;

    text-decoration:none;

    font-size:.74rem;
    font-weight:600;

    box-shadow:
        0 10px 25px rgba(201,154,46,.14);

    transition:
        transform .3s ease,
        box-shadow .3s ease;
}

.irx-gold-button:hover{
    transform:translateY(-3px);

    box-shadow:
        0 15px 30px rgba(201,154,46,.22);
}

.irx-text-button{
    display:inline-flex;
    align-items:center;

    gap:10px;

    color:var(--irx-plum);

    font-size:.74rem;
    font-weight:600;

    text-decoration:none;
}

.irx-text-button i{
    color:var(--irx-gold);

    transition:transform .3s ease;
}

.irx-text-button:hover i{
    transform:translateX(4px);
}


/* =========================================================
   INTRODUCTION
========================================================= */

.irx-introduction{
    padding:clamp(75px,9vw,115px) 20px;

    background:var(--irx-white);
}

.irx-intro-layout{
    display:grid;

    grid-template-columns:65px minmax(260px,.85fr) minmax(0,1.15fr);

    gap:30px;

    align-items:start;
}

.irx-intro-number{
    display:flex;
    flex-direction:column;

    align-items:flex-start;

    color:var(--irx-gold);

    font-family:"Cormorant Garamond",serif;

    font-size:1.5rem;
}

.irx-intro-number div{
    width:34px;
    height:1px;

    margin-top:10px;

    background:var(--irx-gold);
}

.irx-intro-heading h2{
    margin:13px 0 0;

    color:var(--irx-plum);

    font-family:"Cormorant Garamond",serif;

    font-size:clamp(3rem,5vw,4.7rem);

    line-height:.9;

    font-weight:500;

    letter-spacing:-1px;
}

.irx-intro-heading h2 em{
    color:var(--irx-gold);

    font-style:italic;
}

.irx-intro-copy{
    padding-left:28px;

    border-left:
        1px solid
        rgba(201,154,46,.35);
}

.irx-intro-copy p{
    color:var(--irx-muted);

    font-size:.88rem;

    line-height:1.9;

    margin-bottom:17px;
}

.irx-intro-copy p:last-child{
    margin-bottom:0;
}

.irx-large-copy{
    color:var(--irx-text) !important;

    font-size:1.07rem !important;
}


/* =========================================================
   SERVICES HEADER
========================================================= */

.irx-services{
    padding:
        clamp(80px,9vw,120px)
        20px;

    background:
        linear-gradient(
            180deg,
            #FBF7F1,
            #FFFDFC
        );
}

.irx-services-heading{
    display:grid;

    grid-template-columns:1fr 340px;

    gap:60px;

    align-items:end;

    margin-bottom:70px;
}

.irx-services-heading h2{
    margin:12px 0 0;

    color:var(--irx-plum);

    font-family:"Cormorant Garamond",serif;

    font-size:clamp(3.4rem,6vw,5.4rem);

    line-height:.85;
    font-weight:500;

    letter-spacing:-1.5px;
}

.irx-services-heading h2 em{
    color:var(--irx-gold);

    font-style:italic;
}

.irx-services-heading p{
    max-width:330px;

    color:var(--irx-muted);

    font-size:.82rem;

    line-height:1.85;

    padding-bottom:5px;
}


/* =========================================================
   SERVICE ROW
========================================================= */

.irx-service{
    display:grid;

    grid-template-columns:minmax(300px,.9fr) minmax(0,1.1fr);

    align-items:center;

    gap:clamp(50px,8vw,105px);

    padding:65px 0;

    border-top:
        1px solid
        rgba(120,18,127,.09);
}

.irx-service:last-child{
    border-bottom:
        1px solid
        rgba(120,18,127,.09);
}

.irx-service-right{
    grid-template-columns:minmax(0,1.1fr) minmax(300px,.9fr);
}

.irx-service-right .irx-service-art{
    order:2;
}

.irx-service-right .irx-service-info{
    order:1;
}


/* =========================================================
   ARTWORK
========================================================= */

.irx-service-art{
    position:relative;

    display:grid;
    place-items:center;

    min-height:300px;

    isolation:isolate;
}

.irx-art-circle{
    position:absolute;

    border-radius:50%;
}

.irx-art-circle-main{
    width:min(300px,85%);

    aspect-ratio:1;

    background:
        radial-gradient(
            circle at 40% 35%,
            rgba(255,255,255,.98),
            var(--irx-cream-deep)
        );

    border:
        1px solid
        rgba(201,154,46,.38);

    box-shadow:
        0 20px 50px rgba(83,17,93,.06);
}

.irx-art-circle-inner{
    width:min(220px,62%);

    aspect-ratio:1;

    border:
        1px dashed
        rgba(120,18,127,.22);

    z-index:1;
}

.irx-art-symbol{
    position:relative;
    z-index:3;

    width:70px;
    aspect-ratio:1;

    display:grid;
    place-items:center;

    border-radius:50%;

    color:var(--irx-gold);

    background:rgba(255,255,255,.80);

    border:
        1px solid
        rgba(201,154,46,.28);

    box-shadow:
        0 12px 35px rgba(83,17,93,.08);

    font-size:1.35rem;
}

.irx-art-number{
    position:absolute;

    left:9%;
    top:20%;

    z-index:4;

    color:rgba(120,18,127,.13);

    font-family:"Cormorant Garamond",serif;

    font-size:4.7rem;

    line-height:1;
}


/* art variations */

.irx-art-lavender .irx-art-circle-main{
    background:
        radial-gradient(
            circle at 40% 35%,
            #fff,
            var(--irx-lavender)
        );
}

.irx-art-cream .irx-art-circle-main{
    background:
        radial-gradient(
            circle at 40% 35%,
            #fff,
            #F5EBDD
        );
}

.irx-art-rose .irx-art-circle-main{
    background:
        radial-gradient(
            circle at 40% 35%,
            #fff,
            var(--irx-rose)
        );
}

.irx-art-gold .irx-art-circle-main{
    background:
        radial-gradient(
            circle at 40% 35%,
            #fff,
            #F4E5BE
        );
}

.irx-art-green .irx-art-circle-main{
    background:
        radial-gradient(
            circle at 40% 35%,
            #fff,
            var(--irx-green)
        );
}


/* =========================================================
   SERVICE CONTENT
========================================================= */

.irx-service-info{
    max-width:580px;
}

.irx-service-right .irx-service-info{
    justify-self:end;
}

.irx-service-kicker{
    color:var(--irx-gold);

    font-size:.65rem;
    font-weight:600;

    letter-spacing:2.5px;
}

.irx-service-info h3{
    margin:10px 0 14px;

    color:var(--irx-plum);

    font-family:"Cormorant Garamond",serif;

    font-size:clamp(2.7rem,4vw,4rem);

    line-height:.9;

    font-weight:500;
}

.irx-service-rule{
    width:54px;
    height:1px;

    margin-bottom:20px;

    background:var(--irx-gold);
}

.irx-service-info > p{
    max-width:530px;

    color:var(--irx-muted);

    font-size:.88rem;

    line-height:1.9;

    margin-bottom:23px;
}


/* =========================================================
   SERVICE FEATURES
========================================================= */

.irx-service-features{
    display:flex;
    flex-wrap:wrap;

    gap:8px;

    margin-bottom:28px;
}

.irx-service-features span{
    padding:8px 12px;

    color:var(--irx-plum);

    background:var(--irx-plum-soft);

    border:
        1px solid
        rgba(120,18,127,.07);

    border-radius:999px;

    font-size:.65rem;
    font-weight:500;
}


/* =========================================================
   SERVICE ACTION
========================================================= */

.irx-service-action{
    display:inline-flex;

    align-items:center;

    gap:12px;

    color:var(--irx-plum);

    font-size:.73rem;

    font-weight:600;

    text-decoration:none;
}

.irx-service-action span{
    width:33px;
    aspect-ratio:1;

    display:grid;
    place-items:center;

    border:
        1px solid
        rgba(201,154,46,.45);

    border-radius:50%;

    color:var(--irx-gold);

    transition:
        background .3s ease,
        transform .3s ease;
}

.irx-service-action:hover span{
    background:var(--irx-gold);

    color:white;

    transform:translateX(4px);
}


/* =========================================================
   PERSONAL APPROACH
========================================================= */

.irx-personal-approach{
    padding:
        clamp(80px,9vw,115px)
        20px;

    background:#FAF2E8;
}

.irx-approach-layout{
    display:grid;

    grid-template-columns:minmax(0,1fr) minmax(330px,.9fr);

    gap:clamp(50px,8vw,100px);

    align-items:start;
}

.irx-approach-copy h2{
    max-width:620px;

    margin:13px 0 21px;

    color:var(--irx-plum);

    font-family:"Cormorant Garamond",serif;

    font-size:clamp(3.1rem,5vw,5rem);

    line-height:.88;

    font-weight:500;
}

.irx-approach-copy h2 em{
    display:block;

    color:var(--irx-gold);

    font-style:italic;
}

.irx-approach-copy p{
    max-width:590px;

    color:var(--irx-muted);

    font-size:.88rem;

    line-height:1.9;

    margin-bottom:17px;
}

.irx-outline-button{
    display:inline-flex;

    align-items:center;
    gap:10px;

    margin-top:15px;

    padding:12px 19px;

    color:var(--irx-plum);

    border:
        1px solid
        rgba(120,18,127,.18);

    border-radius:999px;

    text-decoration:none;

    font-size:.71rem;
    font-weight:600;

    transition:.3s ease;
}

.irx-outline-button:hover{
    background:var(--irx-plum);
    color:white;
}


/* values */

.irx-approach-values{
    border-top:
        1px solid
        rgba(120,18,127,.12);
}

.irx-value{
    display:grid;

    grid-template-columns:45px 1fr;

    gap:15px;

    padding:21px 0;

    border-bottom:
        1px solid
        rgba(120,18,127,.12);
}

.irx-value > span{
    color:var(--irx-gold);

    font-family:"Cormorant Garamond",serif;

    font-size:1.15rem;
}

.irx-value h3{
    margin-bottom:5px;

    color:var(--irx-plum);

    font-family:"Cormorant Garamond",serif;

    font-size:1.6rem;
}

.irx-value p{
    color:var(--irx-muted);

    font-size:.73rem;

    line-height:1.7;
}


/* =========================================================
   NOT SURE
========================================================= */

.irx-not-sure{
    padding:
        clamp(75px,9vw,105px)
        20px;

    background:var(--irx-white);
}

.irx-not-sure-box{
    position:relative;
    overflow:hidden;

    display:grid;

    grid-template-columns:minmax(0,1fr) 250px;

    align-items:center;

    gap:40px;

    padding:
        clamp(40px,5vw,65px);

    background:
        linear-gradient(
            125deg,
            #F7ECF4,
            #FCF4E8
        );

    border:
        1px solid
        rgba(201,154,46,.20);

    border-radius:34px;
}

.irx-not-sure-content h2{
    max-width:650px;

    margin:13px 0 18px;

    color:var(--irx-plum);

    font-family:"Cormorant Garamond",serif;

    font-size:clamp(3rem,5vw,4.6rem);

    line-height:.88;

    font-weight:500;
}

.irx-not-sure-content h2 em{
    color:var(--irx-gold);

    font-style:italic;
}

.irx-not-sure-content p{
    max-width:650px;

    color:var(--irx-muted);

    font-size:.85rem;

    line-height:1.85;

    margin-bottom:15px;
}


/* art */

.irx-not-sure-art{
    position:relative;

    display:grid;
    place-items:center;

    min-height:230px;
}

.irx-flower-ring{
    position:absolute;

    border-radius:50%;

    border:
        1px solid
        rgba(201,154,46,.34);
}

.ring-a{
    width:210px;
    aspect-ratio:1;
}

.ring-b{
    width:155px;
    aspect-ratio:1;

    border-style:dashed;
}

.irx-not-sure-art i{
    position:relative;
    z-index:3;

    width:62px;
    aspect-ratio:1;

    display:grid;
    place-items:center;

    border-radius:50%;

    color:var(--irx-gold);

    background:white;

    box-shadow:0 15px 35px rgba(83,17,93,.08);
}


/* =========================================================
   DISCLAIMER
========================================================= */

.irx-disclaimer{
    padding:
        0
        20px
        clamp(65px,8vw,90px);

    background:var(--irx-white);
}

.irx-disclaimer-inner{
    display:flex;

    gap:18px;

    padding:23px 25px;

    border-top:
        1px solid
        rgba(120,18,127,.10);

    border-bottom:
        1px solid
        rgba(120,18,127,.10);
}

.irx-disclaimer-icon{
    flex-shrink:0;

    color:var(--irx-gold);

    font-size:1rem;

    padding-top:2px;
}

.irx-disclaimer-inner span{
    display:block;

    margin-bottom:7px;

    color:var(--irx-gold);

    font-size:.64rem;
    font-weight:600;

    letter-spacing:2px;
}

.irx-disclaimer-inner p{
    max-width:920px;

    color:var(--irx-muted);

    font-size:.69rem;

    line-height:1.7;

    margin-bottom:6px;
}

.irx-disclaimer-inner p:last-child{
    margin-bottom:0;
}


/* =========================================================
   FINAL CTA
========================================================= */

.irx-final-cta{
    padding:
        clamp(85px,10vw,125px)
        20px;

    background:
        radial-gradient(
            circle at 50% 25%,
            rgba(232,198,109,.11),
            transparent 28%
        ),
        linear-gradient(
            135deg,
            #53115D,
            #78127F
        );
}

.irx-final-content{
    position:relative;
    z-index:3;

    max-width:760px;

    margin-inline:auto;

    text-align:center;
}

.irx-final-content .irx-section-kicker{
    color:var(--irx-gold-light);
}

.irx-final-content h2{
    margin:15px 0 18px;

    color:white;

    font-family:"Cormorant Garamond",serif;

    font-size:clamp(3.5rem,7vw,6rem);

    line-height:.85;

    font-weight:500;
}

.irx-final-content h2 em{
    display:block;

    color:var(--irx-gold-light);

    font-style:italic;
}

.irx-final-content p{
    max-width:600px;

    margin-inline:auto;

    color:rgba(255,255,255,.75);

    font-size:.88rem;

    line-height:1.9;
}

.irx-final-actions{
    display:flex;

    align-items:center;
    justify-content:center;

    flex-wrap:wrap;

    gap:20px;

    margin-top:30px;
}

.irx-final-link{
    color:rgba(255,255,255,.82);

    font-size:.73rem;
    font-weight:600;

    text-decoration:none;

    border-bottom:
        1px solid
        rgba(232,198,109,.55);

    padding-bottom:3px;
}


/* CTA decoration */

.irx-cta-orbit{
    position:absolute;

    width:500px;
    aspect-ratio:1;

    right:-230px;
    top:-220px;

    border:
        1px solid
        rgba(232,198,109,.16);

    border-radius:50%;
}

.irx-cta-glow{
    position:absolute;

    width:280px;
    aspect-ratio:1;

    left:-120px;
    bottom:-150px;

    border-radius:50%;

    background:
        rgba(255,255,255,.04);

    filter:blur(20px);
}


/* =========================================================
   TABLET
========================================================= */

@media(max-width:1000px){

    .irx-intro-layout{
        grid-template-columns:45px 1fr;
    }

    .irx-intro-copy{
        grid-column:2;
        padding-left:0;
        border-left:0;
        padding-top:5px;
    }

    .irx-services-heading{
        grid-template-columns:1fr;
        gap:20px;
    }

    .irx-services-heading p{
        max-width:560px;
    }

    .irx-service,
    .irx-service-right{
        grid-template-columns:1fr;
        gap:35px;
    }

    .irx-service-right .irx-service-art,
    .irx-service-right .irx-service-info{
        order:initial;
    }

    .irx-service-art{
        max-width:450px;
        width:100%;
        margin-inline:auto;
    }

    .irx-service-info,
    .irx-service-right .irx-service-info{
        justify-self:initial;
        margin-inline:auto;
        width:100%;
    }

    .irx-approach-layout{
        grid-template-columns:1fr;
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media(max-width:650px){

    .irx-container{
        width:min(100%,92%);
    }

    .irx-services-hero{
        padding-top:70px;
        padding-bottom:70px;
    }

    .irx-services-hero h1{
        font-size:clamp(3.4rem,15vw,4.8rem);
        letter-spacing:-1px;
    }

    .irx-hero-actions{
        flex-direction:column;
    }

    .irx-intro-layout{
        grid-template-columns:1fr;
        gap:20px;
    }

    .irx-intro-number{
        flex-direction:row;
        align-items:center;
        gap:10px;
    }

    .irx-intro-number div{
        margin-top:0;
    }

    .irx-intro-copy{
        grid-column:auto;
    }

    .irx-services-heading{
        margin-bottom:40px;
    }

    .irx-service{
        padding:48px 0;
    }

    .irx-service-art{
        min-height:260px;
    }

    .irx-art-number{
        left:8%;
        top:17%;
        font-size:4rem;
    }

    .irx-service-info h3{
        font-size:3rem;
    }

    .irx-service-features{
        gap:7px;
    }

    .irx-approach-copy h2,
    .irx-not-sure-content h2{
        font-size:3.3rem;
    }

    .irx-not-sure-box{
        grid-template-columns:1fr;
    }

    .irx-not-sure-art{
        display:none;
    }

    .irx-disclaimer-inner{
        padding-inline:0;
        border-left:0;
        border-right:0;
    }

    .irx-final-content h2{
        font-size:3.8rem;
    }

    .irx-final-actions{
        flex-direction:column;
    }

}

/* === Premium Service Images === */
.irx-service-art{position:relative;overflow:hidden;border-radius:36px;min-height:340px}
.irx-service-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .8s ease}
.irx-service-art:hover .irx-service-image{transform:scale(1.08)}
.irx-service-art::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.05),rgba(0,0,0,.22));border-radius:36px}
.irx-art-circle,.irx-art-circle-inner{display:none}
.irx-art-symbol{position:absolute;bottom:22px;left:22px;z-index:3;background:rgba(255,255,255,.92)}
.irx-art-number{position:absolute;top:18px;right:22px;left:auto;color:rgba(255,255,255,.55);z-index:3}

