/* ==========================================================
   JOURNEY PAGE
   Darpan Mishra — Personal Brand
========================================================== */


/* ==========================================================
   JOURNEY HERO
========================================================== */

.journey-page-hero{
    position:relative;

    padding:90px 0 100px;

    overflow:hidden;

    isolation:isolate;
}

.journey-page-hero::before{
    content:"";

    position:absolute;

    width:520px;
    height:520px;

    right:-220px;
    top:-240px;

    border-radius:50%;

    background:
        radial-gradient(
            circle,
            rgba(200,161,74,.11),
            transparent 70%
        );

    filter:blur(25px);

    pointer-events:none;

    z-index:-1;
}

.journey-hero-grid{
    display:grid;

    grid-template-columns:
        minmax(0,1fr)
        260px;

    gap:90px;

    align-items:end;
}

.journey-page-label{
    display:block;

    margin-bottom:17px;

    color:var(--accent);

    font-size:.68rem;

    font-weight:800;

    letter-spacing:2.5px;
}

.journey-hero-content{
    max-width:800px;
}

.journey-hero-content h1{
    margin:0 0 25px;

    color:var(--text-primary);

    font-size:
        clamp(3.2rem,5vw,5.5rem);

    line-height:.98;

    letter-spacing:-.065em;
}

.journey-hero-content h1 span{
    display:block;

    color:var(--accent);
}

.journey-hero-content p{
    max-width:670px;

    margin:0;

    color:var(--text-secondary);

    font-size:.91rem;

    line-height:1.8;
}


/* ==========================================================
   HERO META
========================================================== */

.journey-hero-meta{
    padding:0 0 8px 30px;

    border-left:1px solid var(--border);
}

.journey-hero-meta strong{
    display:block;

    margin-bottom:9px;

    color:var(--accent);

    font-size:4rem;

    line-height:1;

    font-weight:800;

    letter-spacing:-.07em;
}

.journey-hero-meta span{
    display:block;

    max-width:150px;

    color:var(--text-secondary);

    font-size:.68rem;

    line-height:1.55;
}


/* ==========================================================
   CAREER OVERVIEW
========================================================== */

.journey-overview{
    padding:115px 0;

    background:var(--surface-soft);

    border-top:1px solid var(--border);

    border-bottom:1px solid var(--border);
}

.journey-overview-grid{
    display:grid;

    grid-template-columns:
        250px
        minmax(0,1fr);

    gap:80px;
}

.journey-overview-label{
    display:flex;

    align-items:flex-start;

    justify-content:space-between;

    padding-top:8px;
}

.journey-overview-label span{
    color:var(--accent);

    font-size:.63rem;

    font-weight:800;

    letter-spacing:2px;
}

.journey-overview-label strong{
    color:var(--accent);

    font-size:.68rem;
}

.journey-overview-content{
    max-width:800px;
}

.journey-overview-content h2{
    margin:0 0 30px;

    color:var(--text-primary);

    font-size:
        clamp(2.5rem,4vw,4.2rem);

    line-height:1.02;

    letter-spacing:-.055em;
}

.journey-overview-content h2 span{
    display:block;

    color:var(--accent);
}

.journey-overview-content p{
    max-width:730px;

    margin:0 0 18px;

    color:var(--text-secondary);

    font-size:.88rem;

    line-height:1.85;
}


/* ==========================================================
   SECTION HEADING
========================================================== */

.journey-section-heading{
    max-width:780px;

    margin-bottom:60px;
}

.journey-section-heading > span{
    display:block;

    margin-bottom:15px;

    color:var(--accent);

    font-size:.65rem;

    font-weight:800;

    letter-spacing:2.5px;
}

.journey-section-heading h2{
    margin:0 0 18px;

    color:var(--text-primary);

    font-size:
        clamp(2.7rem,4vw,4.4rem);

    line-height:1;

    letter-spacing:-.055em;
}

.journey-section-heading h2 span{
    display:block;

    color:var(--accent);
}

.journey-section-heading p{
    max-width:620px;

    margin:0;

    color:var(--text-secondary);

    font-size:.84rem;

    line-height:1.75;
}


/* ==========================================================
   PROFESSIONAL TIMELINE
========================================================== */

.professional-timeline{
    padding:125px 0;
}

.journey-timeline{
    position:relative;

    max-width:1000px;

    margin:0 auto;
}

.journey-timeline::before{
    content:"";

    position:absolute;

    top:15px;
    bottom:15px;

    left:105px;

    width:1px;

    background:var(--border);
}


/* ==========================================================
   TIMELINE ITEM
========================================================== */

.journey-timeline-item{
    position:relative;

    display:grid;

    grid-template-columns:210px minmax(0,1fr);

    gap:45px;

    padding-bottom:35px;
}

.journey-timeline-item:last-child{
    padding-bottom:0;
}


/* ==========================================================
   TIMELINE MARKER
========================================================== */

.journey-timeline-marker{
    position:relative;

    padding-top:8px;

    text-align:right;
}

.journey-timeline-marker::after{
    content:"";

    position:absolute;

    top:10px;
    right:-50px;

    width:10px;
    height:10px;

    border:2px solid var(--accent);

    border-radius:50%;

    background:var(--surface);

    box-shadow:
        0 0 0 5px var(--surface);
}

.journey-timeline-item.current
.journey-timeline-marker::after{
    background:var(--accent);
}

.journey-timeline-marker span{
    color:var(--accent);

    font-size:.61rem;

    font-weight:800;

    letter-spacing:1.7px;
}


/* ==========================================================
   TIMELINE CARD
========================================================== */

.journey-timeline-card{
    padding:32px 35px;

    border:1px solid var(--border);

    border-radius:20px;

    background:var(--surface);

    transition:
        transform .3s ease,
        border-color .3s ease,
        box-shadow .3s ease;
}

.journey-timeline-card:hover{
    transform:translateY(-4px);

    border-color:rgba(200,161,74,.42);

    box-shadow:
        0 20px 45px rgba(15,23,42,.07);
}

.journey-timeline-item.current
.journey-timeline-card{
    border-color:rgba(200,161,74,.32);

    background:
        linear-gradient(
            135deg,
            rgba(200,161,74,.035),
            var(--surface)
        );
}


/* ==========================================================
   CARD TOP
========================================================== */

.journey-card-top{
    display:flex;

    align-items:center;

    justify-content:space-between;

    gap:15px;

    margin-bottom:13px;
}

.journey-year{
    color:var(--text-secondary);

    font-size:.62rem;

    font-weight:600;

    letter-spacing:1px;
}

.journey-status,
.journey-start{
    display:inline-flex;

    align-items:center;

    min-height:24px;

    padding:0 9px;

    border:1px solid rgba(200,161,74,.30);

    border-radius:999px;

    color:var(--accent);

    font-size:.52rem;

    font-weight:800;

    letter-spacing:1.2px;
}


/* ==========================================================
   COMPANY
========================================================== */

.journey-company{
    display:block;

    margin-bottom:8px;

    color:var(--accent);

    font-size:.66rem;

    font-weight:800;

    letter-spacing:1.8px;

    text-transform:uppercase;
}

.journey-timeline-card h3{
    margin:0 0 14px;

    color:var(--text-primary);

    font-size:
        clamp(1.35rem,2vw,2rem);

    line-height:1.15;

    letter-spacing:-.035em;
}

.journey-timeline-card > p{
    max-width:700px;

    margin:0;

    color:var(--text-secondary);

    font-size:.77rem;

    line-height:1.8;
}


/* ==========================================================
   RESPONSIBILITIES
========================================================== */

.journey-responsibilities{
    display:flex;

    flex-wrap:wrap;

    gap:7px;

    margin-top:23px;
}

.journey-responsibilities span{
    display:inline-flex;

    align-items:center;

    min-height:29px;

    padding:0 11px;

    border:1px solid var(--border);

    border-radius:999px;

    background:var(--surface-soft);

    color:var(--text-secondary);

    font-size:.57rem;

    font-weight:600;
}


/* ==========================================================
   JOURNEY LESSONS
========================================================== */

.journey-lessons{
    padding:125px 0;

    background:var(--surface-soft);

    border-top:1px solid var(--border);

    border-bottom:1px solid var(--border);
}

.journey-lessons-grid{
    display:grid;

    grid-template-columns:
        repeat(4,minmax(0,1fr));

    gap:14px;
}

.journey-lesson-card{
    min-height:250px;

    padding:28px;

    display:flex;

    flex-direction:column;

    justify-content:space-between;

    border:1px solid var(--border);

    border-radius:19px;

    background:var(--surface);

    transition:
        transform .3s ease,
        border-color .3s ease;
}

.journey-lesson-card:hover{
    transform:translateY(-5px);

    border-color:rgba(200,161,74,.42);
}

.journey-lesson-card > span{
    color:var(--accent);

    font-size:.64rem;

    font-weight:800;

    letter-spacing:2px;
}

.journey-lesson-card h3{
    margin:25px 0 13px;

    color:var(--text-primary);

    font-size:1.13rem;

    line-height:1.3;

    letter-spacing:-.025em;
}

.journey-lesson-card p{
    margin:0;

    color:var(--text-secondary);

    font-size:.71rem;

    line-height:1.75;
}


/* ==========================================================
   CAREER PERSPECTIVE
========================================================== */

.journey-perspective{
    padding:125px 0;
}

.journey-perspective-box{
    position:relative;

    max-width:950px;

    margin:0 auto;

    padding:70px 80px;

    overflow:hidden;

    border:1px solid var(--border);

    border-radius:24px;

    background:var(--surface);
}

.journey-perspective-box::after{
    content:"";

    position:absolute;

    width:350px;
    height:350px;

    right:-170px;
    top:-180px;

    border-radius:50%;

    background:
        radial-gradient(
            circle,
            rgba(200,161,74,.10),
            transparent 70%
        );

    pointer-events:none;
}

.journey-perspective-box > span{
    position:relative;

    z-index:1;

    display:block;

    margin-bottom:17px;

    color:var(--accent);

    font-size:.64rem;

    font-weight:800;

    letter-spacing:2.5px;
}

.journey-perspective-box h2{
    position:relative;

    z-index:1;

    max-width:760px;

    margin:0 0 25px;

    color:var(--text-primary);

    font-size:
        clamp(2.4rem,4vw,4rem);

    line-height:1.04;

    letter-spacing:-.055em;
}

.journey-perspective-box p{
    position:relative;

    z-index:1;

    max-width:720px;

    margin:0 0 15px;

    color:var(--text-secondary);

    font-size:.84rem;

    line-height:1.85;
}


/* ==========================================================
   FINAL CTA
========================================================== */

.journey-final-cta{
    padding:95px 0 120px;
}

.journey-final-box{
    position:relative;

    overflow:hidden;

    padding:80px 50px;

    border:1px solid #263247;

    border-radius:24px;

    text-align:center;

    background:
        linear-gradient(
            135deg,
            #111827,
            #0B1220
        );
}

.journey-final-box::after{
    content:"";

    position:absolute;

    width:430px;
    height:430px;

    left:-210px;
    bottom:-280px;

    border-radius:50%;

    background:
        radial-gradient(
            circle,
            rgba(212,175,55,.12),
            transparent 70%
        );

    pointer-events:none;
}

.journey-final-box > span{
    position:relative;

    z-index:1;

    display:block;

    margin-bottom:17px;

    color:var(--accent);

    font-size:.64rem;

    font-weight:800;

    letter-spacing:2.5px;
}

.journey-final-box h2{
    position:relative;

    z-index:1;

    max-width:820px;

    margin:0 auto 20px;

    color:#fff;

    font-size:
        clamp(2.5rem,4vw,4.2rem);

    line-height:1.03;

    letter-spacing:-.055em;
}

.journey-final-box h2 span{
    display:block;

    color:var(--accent);
}

.journey-final-box > p{
    position:relative;

    z-index:1;

    max-width:600px;

    margin:0 auto;

    color:#AAB4C5;

    font-size:.82rem;

    line-height:1.75;
}

.journey-final-actions{
    position:relative;

    z-index:1;

    display:flex;

    align-items:center;
    justify-content:center;

    gap:12px;

    margin-top:30px;
}

.journey-primary-btn,
.journey-secondary-btn{
    display:inline-flex;

    align-items:center;
    justify-content:center;

    gap:10px;

    min-height:46px;

    padding:0 20px;

    border-radius:999px;

    font-size:.68rem;

    font-weight:700;

    text-decoration:none;

    transition:
        transform .3s ease,
        background .3s ease,
        border-color .3s ease,
        color .3s ease;
}

.journey-primary-btn{
    background:var(--accent);

    border:1px solid var(--accent);

    color:#111;
}

.journey-primary-btn:hover{
    transform:translateY(-2px);

    background:#E2BC4D;
}

.journey-primary-btn span{
    transition:transform .3s ease;
}

.journey-primary-btn:hover span{
    transform:translateX(4px);
}

.journey-secondary-btn{
    background:transparent;

    border:1px solid #344155;

    color:#fff;
}

.journey-secondary-btn:hover{
    transform:translateY(-2px);

    border-color:var(--accent);

    color:var(--accent);
}


/* ==========================================================
   DARK MODE
========================================================== */

html[data-theme="dark"] .journey-overview,
html[data-theme="dark"] .journey-lessons{
    background:#0C1321;

    border-color:#263247;
}

html[data-theme="dark"] .journey-timeline-card,
html[data-theme="dark"] .journey-lesson-card,
html[data-theme="dark"] .journey-perspective-box{
    background:#0F172A;

    border-color:#263247;
}

html[data-theme="dark"]
.journey-timeline-item.current
.journey-timeline-card{
    background:
        linear-gradient(
            135deg,
            rgba(212,175,55,.055),
            #0F172A
        );

    border-color:rgba(212,175,55,.32);
}

html[data-theme="dark"] .journey-timeline-card:hover,
html[data-theme="dark"] .journey-lesson-card:hover{
    border-color:rgba(212,175,55,.42);
}

html[data-theme="dark"] .journey-timeline-marker::after{
    background:#0F172A;

    box-shadow:
        0 0 0 5px #0C1321;
}

html[data-theme="dark"]
.journey-timeline-item.current
.journey-timeline-marker::after{
    background:var(--accent);
}

html[data-theme="dark"] .journey-responsibilities span{
    background:#111827;

    border-color:#263247;
}


/* ==========================================================
   REDUCED MOTION
========================================================== */

@media (prefers-reduced-motion:reduce){

    .journey-page-hero *,
    .journey-overview *,
    .professional-timeline *,
    .journey-lessons *,
    .journey-perspective *,
    .journey-final-cta *{

        animation:none !important;

        transition:none !important;

    }

}