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


/* ==========================================================
   PAGE HERO
========================================================== */

.expertise-page-hero{
    position:relative;

    padding:90px 0 100px;

    overflow:hidden;

    isolation:isolate;
}

.expertise-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;
}

.expertise-hero-grid{
    display:grid;

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

    gap:80px;

    align-items:end;
}

.expertise-page-label{
    display:block;

    margin-bottom:17px;

    color:var(--accent);

    font-size:.68rem;

    font-weight:800;

    letter-spacing:2.5px;
}

.expertise-hero-content{
    max-width:760px;
}

.expertise-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;
}

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

    color:var(--accent);
}

.expertise-hero-content > p{
    max-width:680px;

    margin:0;

    color:var(--text-secondary);

    font-size:.91rem;

    line-height:1.8;
}

.expertise-hero-actions{
    display:flex;

    align-items:center;

    gap:12px;

    margin-top:30px;
}

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

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

    gap:11px;

    min-height:46px;

    padding:0 20px;

    border-radius:999px;

    font-size:.69rem;

    font-weight:700;

    text-decoration:none;

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

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

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

    color:#111;
}

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

    background:#E2BC4D;
}

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

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

.expertise-secondary-btn{
    background:transparent;

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

    color:var(--text-primary);
}

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

    border-color:var(--accent);

    color:var(--accent);
}


/* ==========================================================
   HERO SIDE
========================================================== */

.expertise-hero-side{
    padding:0 0 8px 30px;

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

.expertise-side-number{
    display:block;

    margin-bottom:20px;

    color:var(--accent);

    font-size:3.7rem;

    line-height:1;

    font-weight:800;

    letter-spacing:-.06em;
}

.expertise-side-label{
    display:block;

    margin-bottom:12px;

    color:var(--text-primary);

    font-size:.61rem;

    font-weight:800;

    letter-spacing:2px;
}

.expertise-hero-side p{
    margin:0;

    color:var(--text-secondary);

    font-size:.73rem;

    line-height:1.7;
}


/* ==========================================================
   INTRODUCTION
========================================================== */

.expertise-intro{
    padding:115px 0;

    background:var(--surface-soft);

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

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

.expertise-intro-grid{
    display:grid;

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

    gap:80px;
}

.expertise-intro-label{
    display:flex;

    align-items:flex-start;

    justify-content:space-between;

    padding-top:8px;
}

.expertise-intro-label span{
    color:var(--accent);

    font-size:.63rem;

    font-weight:800;

    letter-spacing:2px;
}

.expertise-intro-label strong{
    color:var(--accent);

    font-size:.68rem;
}

.expertise-intro-content{
    max-width:800px;
}

.expertise-intro-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;
}

.expertise-intro-content h2 span{
    display:block;

    color:var(--accent);
}

.expertise-intro-content p{
    max-width:730px;

    margin:0 0 18px;

    color:var(--text-secondary);

    font-size:.88rem;

    line-height:1.85;
}


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

.expertise-section-heading{
    max-width:760px;

    margin-bottom:55px;
}

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

    margin-bottom:15px;

    color:var(--accent);

    font-size:.65rem;

    font-weight:800;

    letter-spacing:2.5px;
}

.expertise-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;
}

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

    color:var(--accent);
}

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

    margin:0;

    color:var(--text-secondary);

    font-size:.84rem;

    line-height:1.75;
}


/* ==========================================================
   EXPERTISE AREAS
========================================================== */

.expertise-areas{
    padding:125px 0;
}

.expertise-area-list{
    display:flex;

    flex-direction:column;

    gap:14px;
}


/* ==========================================================
   DETAIL CARD
========================================================== */

.expertise-detail-card{
    position:relative;

    display:grid;

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

    gap:25px;

    padding:38px 40px;

    overflow:hidden;

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

    border-radius:21px;

    background:var(--surface);

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

.expertise-detail-card::after{
    content:"";

    position:absolute;

    width:260px;
    height:260px;

    right:-150px;
    bottom:-180px;

    border-radius:50%;

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

    pointer-events:none;
}

.expertise-detail-card:hover{
    transform:translateY(-5px);

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

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

.expertise-detail-card.featured{
    border-color:rgba(200,161,74,.30);
}

.expertise-detail-card.featured-tech{
    background:
        linear-gradient(
            135deg,
            rgba(200,161,74,.045),
            var(--surface)
        );

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


/* ==========================================================
   DETAIL NUMBER
========================================================== */

.expertise-detail-number{
    color:var(--accent);

    font-size:.72rem;

    font-weight:800;

    letter-spacing:2px;

    padding-top:5px;
}


/* ==========================================================
   DETAIL CONTENT
========================================================== */

.expertise-detail-main{
    position:relative;

    z-index:1;

    max-width:850px;
}

.expertise-detail-main > span{
    display:block;

    margin-bottom:12px;

    color:var(--accent);

    font-size:.61rem;

    font-weight:800;

    letter-spacing:2px;
}

.expertise-detail-main h3{
    max-width:760px;

    margin:0 0 16px;

    color:var(--text-primary);

    font-size:
        clamp(1.5rem,2.3vw,2.25rem);

    line-height:1.15;

    letter-spacing:-.035em;
}

.expertise-detail-main > p{
    max-width:760px;

    margin:0;

    color:var(--text-secondary);

    font-size:.78rem;

    line-height:1.8;
}


/* ==========================================================
   DETAIL POINTS
========================================================== */

.expertise-detail-points{
    display:flex;

    flex-wrap:wrap;

    gap:8px;

    margin-top:25px;
}

.expertise-detail-points span{
    display:inline-flex;

    align-items:center;

    min-height:31px;

    padding:0 12px;

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

    border-radius:999px;

    background:var(--surface-soft);

    color:var(--text-secondary);

    font-size:.59rem;

    font-weight:600;
}


/* ==========================================================
   PROCESS
========================================================== */

.expertise-process{
    padding:125px 0;

    background:var(--surface-soft);

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

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

.expertise-process-grid{
    display:grid;

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

    gap:14px;
}

.process-step{
    min-height:245px;

    padding:27px;

    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;
}

.process-step:hover{
    transform:translateY(-5px);

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

.process-step > span{
    color:var(--accent);

    font-size:.65rem;

    font-weight:800;

    letter-spacing:2px;
}

.process-step h3{
    margin:25px 0 12px;

    color:var(--text-primary);

    font-size:1.25rem;
}

.process-step p{
    margin:0;

    color:var(--text-secondary);

    font-size:.72rem;

    line-height:1.75;
}


/* ==========================================================
   WHO I HELP
========================================================== */

.expertise-audience{
    padding:125px 0;
}

.expertise-audience-grid{
    display:grid;

    grid-template-columns:
        minmax(280px,.75fr)
        minmax(0,1.25fr);

    gap:100px;

    align-items:start;
}

.expertise-audience-intro{
    position:sticky;

    top:110px;
}

.expertise-audience-intro > span{
    display:block;

    margin-bottom:15px;

    color:var(--accent);

    font-size:.65rem;

    font-weight:800;

    letter-spacing:2.5px;
}

.expertise-audience-intro h2{
    margin:0 0 20px;

    color:var(--text-primary);

    font-size:
        clamp(2.3rem,3.5vw,3.8rem);

    line-height:1.02;

    letter-spacing:-.05em;
}

.expertise-audience-intro h2 span{
    display:block;

    color:var(--accent);
}

.expertise-audience-intro p{
    max-width:430px;

    margin:0;

    color:var(--text-secondary);

    font-size:.82rem;

    line-height:1.8;
}


/* ==========================================================
   AUDIENCE LIST
========================================================== */

.audience-list{
    border-top:1px solid var(--border);
}

.audience-item{
    display:grid;

    grid-template-columns:55px 1fr;

    column-gap:20px;

    padding:27px 0;

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

.audience-item > span{
    grid-row:span 2;

    color:var(--accent);

    font-size:.65rem;

    font-weight:800;

    letter-spacing:1.5px;

    padding-top:3px;
}

.audience-item strong{
    display:block;

    margin-bottom:7px;

    color:var(--text-primary);

    font-size:1rem;
}

.audience-item p{
    max-width:600px;

    margin:0;

    color:var(--text-secondary);

    font-size:.73rem;

    line-height:1.7;
}


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

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

.expertise-final-box{
    position:relative;

    overflow:hidden;

    padding:80px 50px;

    border-radius:24px;

    text-align:center;

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

    border:1px solid #263247;
}

.expertise-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;
}

.expertise-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;
}

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

    z-index:1;

    max-width:780px;

    margin:0 auto 20px;

    color:#fff;

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

    line-height:1.03;

    letter-spacing:-.055em;
}

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

    color:var(--accent);
}

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

    z-index:1;

    margin:0 auto;

    color:#AAB4C5;

    font-size:.82rem;

    line-height:1.7;
}

.expertise-final-actions{
    position:relative;

    z-index:1;

    display:flex;

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

    gap:12px;

    margin-top:30px;
}


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

html[data-theme="dark"] .expertise-intro,
html[data-theme="dark"] .expertise-process{
    background:#0C1321;

    border-color:#263247;
}

html[data-theme="dark"] .expertise-detail-card,
html[data-theme="dark"] .process-step{
    background:#0F172A;

    border-color:#263247;
}

html[data-theme="dark"] .expertise-detail-card:hover,
html[data-theme="dark"] .process-step:hover{
    border-color:rgba(212,175,55,.42);
}

html[data-theme="dark"] .expertise-detail-card.featured-tech{
    background:
        linear-gradient(
            135deg,
            rgba(212,175,55,.055),
            #0F172A
        );

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

html[data-theme="dark"] .expertise-detail-points span{
    background:#111827;

    border-color:#263247;
}


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

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

    .expertise-page-hero *,
    .expertise-intro *,
    .expertise-areas *,
    .expertise-process *,
    .expertise-audience *,
    .expertise-final-cta *{

        animation:none !important;

        transition:none !important;

    }

}