/* =========================================================
   INNER REFLECTIONS
   OUR JOURNEY
   PREMIUM COMPACT DESIGN
========================================================= */

:root{

    --irj-plum:#78127F;
    --irj-plum-dark:#54115F;
    --irj-plum-soft:#F3E8F4;

    --irj-gold:#C99A2E;
    --irj-gold-light:#E7C46A;

    --irj-cream:#FBF6EE;
    --irj-cream-deep:#F4E7D5;

    --irj-lavender:#EEE7F1;
    --irj-rose:#F4E5ED;

    --irj-white:#FFFDFC;

    --irj-text:#3C3040;
    --irj-muted:#716672;

    --irj-border:rgba(120,18,127,.10);
    --irj-gold-border:rgba(201,154,46,.25);

}


/* =========================================================
   BASE
========================================================= */

.irj-hero *,
.irj-intro *,
.irj-journey *,
.irj-expect *,
.irj-pace *,
.irj-final *{
    box-sizing:border-box;
}

.irj-hero,
.irj-intro,
.irj-journey,
.irj-expect,
.irj-pace,
.irj-final{
    position:relative;
    overflow:hidden;
}

.irj-container{
    width:min(1140px,92%);
    margin-inline:auto;
}

.irj-kicker{
    display:inline-block;

    color:var(--irj-gold);

    font-size:.65rem;
    font-weight:600;

    letter-spacing:2.6px;

    text-transform:uppercase;
}


/* =========================================================
   BUTTON
========================================================= */

.irj-gold-btn{

    display:inline-flex;

    align-items:center;
    justify-content:center;

    gap:10px;

    padding:14px 22px;

    border-radius:999px;

    color:#4A3104;

    background:
        linear-gradient(
            135deg,
            var(--irj-gold-light),
            var(--irj-gold)
        );

    text-decoration:none;

    font-size:.73rem;
    font-weight:600;

    box-shadow:
        0 10px 25px rgba(201,154,46,.14);

    transition:
        transform .3s ease,
        box-shadow .3s ease;
}

.irj-gold-btn:hover{
    transform:translateY(-3px);

    box-shadow:
        0 15px 32px rgba(201,154,46,.22);
}

.irj-simple-link{
    display:inline-flex;

    align-items:center;

    gap:9px;

    color:var(--irj-plum);

    font-size:.72rem;
    font-weight:600;

    text-decoration:none;
}

.irj-simple-link i{
    color:var(--irj-gold);

    transition:
        transform .3s ease;
}

.irj-simple-link:hover i{
    transform:translateY(4px);
}


/* =========================================================
   HERO
========================================================= */

.irj-hero{

    padding:
        clamp(75px,9vw,115px)
        20px
        clamp(65px,8vw,95px);

    background:
        radial-gradient(
            circle at 12% 25%,
            rgba(232,196,106,.17),
            transparent 27%
        ),
        radial-gradient(
            circle at 87% 70%,
            rgba(181,124,181,.18),
            transparent 31%
        ),
        linear-gradient(
            125deg,
            #FAEFE2,
            #FCF6F5 46%,
            #F4E9F3
        );
}

.irj-hero-content{

    position:relative;
    z-index:3;

    max-width:820px;

    margin-inline:auto;

    text-align:center;
}

.irj-eyebrow{

    display:flex;

    justify-content:center;
    align-items:center;

    gap:13px;

    margin-bottom:23px;

    color:var(--irj-gold);

    font-size:.63rem;
    font-weight:600;

    letter-spacing:3px;
}

.irj-eyebrow span{

    width:38px;
    height:1px;

    background:var(--irj-gold);
}

.irj-hero h1{

    margin:0;

    color:var(--irj-plum);

    font-family:"Cormorant Garamond",serif;

    font-size:
        clamp(3.5rem,7.3vw,6.4rem);

    line-height:.84;

    font-weight:500;

    letter-spacing:-1.5px;
}

.irj-hero h1 em{

    display:block;

    color:var(--irj-gold);

    font-style:italic;
}

.irj-hero p{

    max-width:650px;

    margin:27px auto 0;

    color:var(--irj-muted);

    font-size:.91rem;

    line-height:1.85;
}

.irj-hero-actions{

    display:flex;

    justify-content:center;
    align-items:center;

    flex-wrap:wrap;

    gap:20px;

    margin-top:29px;
}


/* hero decoration */

.irj-hero-orbit{

    position:absolute;

    border-radius:50%;

    border:
        1px solid
        rgba(201,154,46,.24);

    pointer-events:none;
}

.orbit-one{

    width:410px;
    aspect-ratio:1;

    right:-185px;
    top:-180px;
}

.orbit-two{

    width:280px;
    aspect-ratio:1;

    right:-115px;
    top:-112px;

    border-style:dashed;
}

.irj-hero-glow{

    position:absolute;

    border-radius:50%;

    pointer-events:none;
}

.glow-one{

    width:175px;
    aspect-ratio:1;

    left:-65px;
    bottom:-70px;

    background:
        rgba(201,154,46,.08);

    filter:blur(12px);
}

.glow-two{

    width:150px;
    aspect-ratio:1;

    right:28%;
    bottom:-100px;

    background:
        rgba(120,18,127,.06);

    filter:blur(25px);
}


/* =========================================================
   INTRO
========================================================= */

.irj-intro{

    padding:
        clamp(65px,8vw,95px)
        20px;

    background:var(--irj-white);
}

.irj-intro-layout{

    display:grid;

    grid-template-columns:
        55px
        minmax(250px,.85fr)
        minmax(0,1.15fr);

    gap:28px;

    align-items:start;
}

.irj-intro-number{

    display:flex;

    flex-direction:column;

    color:var(--irj-gold);

    font-family:"Cormorant Garamond",serif;

    font-size:1.45rem;
}

.irj-intro-number div{

    width:34px;
    height:1px;

    margin-top:9px;

    background:var(--irj-gold);
}

.irj-intro-heading h2{

    margin:11px 0 0;

    color:var(--irj-plum);

    font-family:"Cormorant Garamond",serif;

    font-size:
        clamp(2.8rem,4.8vw,4.4rem);

    line-height:.88;

    font-weight:500;

    letter-spacing:-1px;
}

.irj-intro-heading h2 em{

    color:var(--irj-gold);

    font-style:italic;
}

.irj-intro-copy{

    padding-left:27px;

    border-left:
        1px solid
        rgba(201,154,46,.34);
}

.irj-intro-copy p{

    max-width:600px;

    margin-bottom:15px;

    color:var(--irj-muted);

    font-size:.82rem;

    line-height:1.8;
}

.irj-intro-copy p:last-child{
    margin-bottom:0;
}

.irj-lead{

    color:var(--irj-text) !important;

    font-size:1rem !important;
}


/* =========================================================
   JOURNEY SECTION
========================================================= */

.irj-journey{

    padding:
        clamp(75px,8vw,105px)
        20px;

    background:
        linear-gradient(
            180deg,
            #FBF7F1,
            #FFFDFC
        );
}

.irj-section-heading{

    max-width:700px;

    margin:0 auto 55px;

    text-align:center;
}

.irj-section-heading h2{

    margin:12px 0 15px;

    color:var(--irj-plum);

    font-family:"Cormorant Garamond",serif;

    font-size:
        clamp(3rem,5vw,4.6rem);

    line-height:.88;

    font-weight:500;
}

.irj-section-heading h2 em{

    color:var(--irj-gold);

    font-style:italic;
}

.irj-section-heading p{

    max-width:620px;

    margin-inline:auto;

    color:var(--irj-muted);

    font-size:.82rem;

    line-height:1.8;
}


/* journey map */

.irj-journey-map{

    max-width:930px;

    margin-inline:auto;
}

.irj-journey-step{

    display:grid;

    grid-template-columns:150px minmax(0,1fr);

    gap:36px;

    align-items:center;
}

.irj-step-reverse{

    grid-template-columns:minmax(0,1fr) 150px;
}

.irj-step-reverse .irj-step-visual{
    order:2;
}

.irj-step-reverse .irj-step-content{
    order:1;
    text-align:right;
}


/* visual */

.irj-step-visual{

    position:relative;

    display:flex;

    justify-content:center;
    align-items:center;
}

.irj-step-circle{

    position:relative;

    width:125px;
    aspect-ratio:1;

    display:grid;

    place-items:center;

    border-radius:50%;

    background:
        radial-gradient(
            circle at 38% 34%,
            #fff,
            var(--irj-cream-deep)
        );

    border:
        1px solid
        rgba(201,154,46,.38);

    box-shadow:
        0 15px 40px
        rgba(84,17,95,.06);
}

.irj-step-circle::before{

    content:"";

    position:absolute;

    inset:13px;

    border:
        1px dashed
        rgba(120,18,127,.22);

    border-radius:50%;
}

.irj-step-circle span{

    position:relative;
    z-index:2;

    color:var(--irj-gold);

    font-family:"Cormorant Garamond",serif;

    font-size:1.45rem;
}

.irj-final-step{

    background:
        radial-gradient(
            circle at 38% 34%,
            #fff,
            #F0E4EE
        );
}


/* step content */

.irj-step-label{

    color:var(--irj-gold);

    font-size:.62rem;
    font-weight:600;

    letter-spacing:2.2px;
}

.irj-step-content h3{

    margin:7px 0 8px;

    color:var(--irj-plum);

    font-family:"Cormorant Garamond",serif;

    font-size:2.45rem;

    line-height:.9;

    font-weight:500;
}

.irj-step-content p{

    max-width:520px;

    color:var(--irj-muted);

    font-size:.78rem;

    line-height:1.8;
}

.irj-step-reverse .irj-step-content p{
    margin-left:auto;
}

.irj-step-note{

    display:inline-flex;

    align-items:center;

    gap:8px;

    margin-top:14px;

    padding:8px 11px;

    color:var(--irj-plum);

    background:
        rgba(243,232,244,.65);

    border:
        1px solid
        rgba(120,18,127,.06);

    border-radius:999px;

    font-size:.61rem;
}

.irj-step-note i{
    color:var(--irj-gold);
}


/* connectors */

.irj-journey-connector{

    height:52px;

    display:flex;

    justify-content:center;

    align-items:center;
}

.irj-journey-connector span{

    display:block;

    width:1px;

    height:100%;

    background:
        linear-gradient(
            to bottom,
            transparent,
            rgba(201,154,46,.48),
            transparent
        );
}


/* =========================================================
   EXPECT
========================================================= */

.irj-expect{

    padding:
        clamp(65px,8vw,95px)
        20px;

    background:#FAF1E8;
}

.irj-expect-layout{

    display:grid;

    grid-template-columns:
        minmax(0,.82fr)
        minmax(0,1.18fr);

    gap:60px;

    align-items:start;
}

.irj-expect-heading h2{

    margin:12px 0 17px;

    color:var(--irj-plum);

    font-family:"Cormorant Garamond",serif;

    font-size:
        clamp(2.8rem,4.6vw,4.3rem);

    line-height:.88;

    font-weight:500;
}

.irj-expect-heading h2 em{

    display:block;

    color:var(--irj-gold);

    font-style:italic;
}

.irj-expect-heading p{

    max-width:450px;

    color:var(--irj-muted);

    font-size:.79rem;

    line-height:1.8;
}

.irj-expect-grid{

    display:grid;

    grid-template-columns:
        repeat(2,minmax(0,1fr));

    gap:12px;
}

.irj-expect-card{

    display:flex;

    align-items:flex-start;

    gap:12px;

    padding:17px;

    background:
        rgba(255,255,255,.72);

    border:
        1px solid
        rgba(201,154,46,.13);

    border-radius:16px;
}

.irj-expect-icon{

    flex-shrink:0;

    width:36px;
    aspect-ratio:1;

    display:grid;
    place-items:center;

    border-radius:50%;

    background:#FFF8EB;

    color:var(--irj-gold);

    font-size:.72rem;
}

.irj-expect-card h3{

    margin-bottom:3px;

    color:var(--irj-plum);

    font-family:"Cormorant Garamond",serif;

    font-size:1.25rem;

    font-weight:600;
}

.irj-expect-card p{

    color:var(--irj-muted);

    font-size:.64rem;

    line-height:1.6;
}


/* =========================================================
   PACE
========================================================= */

.irj-pace{

    padding:
        clamp(65px,8vw,95px)
        20px;

    background:var(--irj-white);
}

.irj-pace-box{

    display:grid;

    grid-template-columns:220px minmax(0,1fr);

    align-items:center;

    gap:50px;

    padding:
        clamp(32px,5vw,55px);

    background:
        linear-gradient(
            135deg,
            #F7ECF3,
            #FCF3E5
        );

    border:
        1px solid
        rgba(201,154,46,.21);

    border-radius:30px;
}


/* decoration */

.irj-pace-decoration{

    position:relative;

    display:grid;

    place-items:center;

    min-height:190px;
}

.irj-pace-ring{

    position:absolute;

    border-radius:50%;

    border:
        1px solid
        rgba(201,154,46,.32);
}

.ring-a{

    width:185px;
    aspect-ratio:1;
}

.ring-b{

    width:135px;
    aspect-ratio:1;

    border-style:dashed;
}

.irj-pace-icon{

    position:relative;
    z-index:3;

    width:60px;
    aspect-ratio:1;

    display:grid;
    place-items:center;

    background:white;

    color:var(--irj-gold);

    border-radius:50%;

    box-shadow:
        0 13px 32px
        rgba(84,17,95,.08);
}


/* content */

.irj-pace-content h2{

    max-width:650px;

    margin:12px 0 17px;

    color:var(--irj-plum);

    font-family:"Cormorant Garamond",serif;

    font-size:
        clamp(2.8rem,4.5vw,4.2rem);

    line-height:.88;

    font-weight:500;
}

.irj-pace-content h2 em{

    color:var(--irj-gold);

    font-style:italic;
}

.irj-pace-content p{

    max-width:700px;

    color:var(--irj-muted);

    font-size:.79rem;

    line-height:1.8;

    margin-bottom:12px;
}


/* =========================================================
   FINAL CTA
========================================================= */

.irj-final{

    padding:
        clamp(70px,8vw,105px)
        20px;

    background:
        radial-gradient(
            circle at 50% 20%,
            rgba(232,196,106,.10),
            transparent 29%
        ),
        linear-gradient(
            135deg,
            var(--irj-plum-dark),
            var(--irj-plum)
        );
}

.irj-final-content{

    position:relative;
    z-index:3;

    max-width:760px;

    margin-inline:auto;

    text-align:center;
}

.irj-final-content .irj-kicker{
    color:var(--irj-gold-light);
}

.irj-final-content h2{

    margin:13px 0 17px;

    color:white;

    font-family:"Cormorant Garamond",serif;

    font-size:
        clamp(3.3rem,6vw,5.5rem);

    line-height:.86;

    font-weight:500;
}

.irj-final-content h2 em{

    display:block;

    color:var(--irj-gold-light);

    font-style:italic;
}

.irj-final-content p{

    max-width:590px;

    margin-inline:auto;

    color:rgba(255,255,255,.75);

    font-size:.81rem;

    line-height:1.8;
}

.irj-final-actions{

    display:flex;

    align-items:center;

    justify-content:center;

    flex-wrap:wrap;

    gap:18px;

    margin-top:28px;
}

.irj-final-link{

    color:rgba(255,255,255,.82);

    font-size:.71rem;

    font-weight:600;

    text-decoration:none;

    border-bottom:
        1px solid
        rgba(232,196,106,.55);

    padding-bottom:3px;
}

.irj-final-orbit{

    position:absolute;

    width:460px;
    aspect-ratio:1;

    right:-210px;
    top:-215px;

    border:
        1px solid
        rgba(232,196,106,.14);

    border-radius:50%;
}

.irj-final-glow{

    position:absolute;

    width:230px;
    aspect-ratio:1;

    left:-100px;
    bottom:-130px;

    border-radius:50%;

    background:
        rgba(255,255,255,.035);

    filter:blur(20px);
}


/* =========================================================
   TABLET
========================================================= */

@media(max-width:950px){

    .irj-intro-layout{

        grid-template-columns:
            45px 1fr;
    }

    .irj-intro-copy{

        grid-column:2;

        padding-left:0;

        border-left:0;
    }

    .irj-expect-layout{

        grid-template-columns:1fr;

        gap:40px;
    }

    .irj-pace-box{

        grid-template-columns:1fr;
    }

    .irj-pace-decoration{
        display:none;
    }
}


/* =========================================================
   MOBILE
========================================================= */

@media(max-width:650px){

    .irj-container{
        width:min(100%,92%);
    }

    .irj-hero{

        padding-top:65px;
        padding-bottom:65px;
    }

    .irj-hero h1{

        font-size:
            clamp(3rem,14vw,4.2rem);

        letter-spacing:-.7px;
    }

    .irj-hero-actions{
        flex-direction:column;
    }

    .irj-intro-layout{

        grid-template-columns:1fr;

        gap:18px;
    }

    .irj-intro-number{

        flex-direction:row;

        align-items:center;

        gap:10px;
    }

    .irj-intro-number div{
        margin-top:0;
    }

    .irj-intro-copy{
        grid-column:auto;
    }


    /* journey mobile */

    .irj-journey-step,
    .irj-step-reverse{

        grid-template-columns:
            70px minmax(0,1fr);

        gap:18px;
    }

    .irj-step-reverse .irj-step-visual{
        order:initial;
    }

    .irj-step-reverse .irj-step-content{
        order:initial;

        text-align:left;
    }

    .irj-step-reverse .irj-step-content p{
        margin-left:0;
    }

    .irj-step-circle{

        width:68px;
    }

    .irj-step-circle::before{
        inset:8px;
    }

    .irj-step-circle span{
        font-size:.95rem;
    }

    .irj-step-content h3{
        font-size:2rem;
    }

    .irj-step-content p{
        font-size:.71rem;
    }

    .irj-step-note{
        border-radius:12px;

        line-height:1.45;
    }

    .irj-journey-connector{
        height:30px;

        justify-content:flex-start;

        padding-left:34px;
    }


    /* expect */

    .irj-expect-grid{
        grid-template-columns:1fr;
    }


    /* final */

    .irj-final-content h2{
        font-size:3.8rem;
    }

    .irj-final-actions{
        flex-direction:column;
    }

}