/* ==========================================================
   METHOD
   Produzza Premium
========================================================== */

.method{

    position:relative;
    overflow:hidden;

    background:#FFFFFF;
    color:var(--pz-text);

}

/* ==========================================================
   BACKGROUND
========================================================== */

.method::before{

    content:"";

    position:absolute;

    left:-260px;
    top:-180px;

    width:720px;
    height:720px;

    border-radius:50%;

    background:

        radial-gradient(

            circle,

            rgba(255,122,26,.08),

            rgba(255,122,26,.02),

            transparent 72%

        );

    filter:blur(70px);

    pointer-events:none;

}

.method::after{

    content:"";

    position:absolute;

    right:-260px;
    bottom:-220px;

    width:760px;
    height:760px;

    border-radius:50%;

    background:

        radial-gradient(

            circle,

            rgba(255,122,26,.06),

            transparent 72%

        );

    filter:blur(90px);

    pointer-events:none;

}

/* ==========================================================
   HEADER
========================================================== */

.method-header{

    position:relative;

    z-index:5;

    max-width:780px;

    margin:0 auto 95px;

    text-align:center;

}

.method-title{

    margin-top:30px;

    color:var(--pz-text);

    font-size:clamp(56px,5vw,82px);

    line-height:.94;

    letter-spacing:-3px;

    font-weight:900;

}

.method-description{

    max-width:670px;

    margin:34px auto 0;

    color:var(--pz-text-light);

    font-size:21px;

    line-height:1.8;

}

/* ==========================================================
   GRID
========================================================== */

.method-flow{

    position:relative;

    z-index:2;

    display:grid;

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

    gap:30px;

}

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

.method-step{

    position:relative;

    overflow:hidden;

    padding:42px;

    border-radius:32px;

    background:#FFF;

    border:1px solid rgba(226,232,240,.95);

    box-shadow:

        0 24px 70px rgba(15,23,42,.05);

    transition:

        transform .35s ease,

        box-shadow .35s ease,

        border-color .35s ease;

}

.method-step:hover{

    transform:translateY(-12px);

    border-color:rgba(255,122,26,.28);

    box-shadow:

        0 34px 90px rgba(15,23,42,.08);

}

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

.method-top{

    display:flex;

    align-items:center;

    gap:18px;

    margin-bottom:34px;

}

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

.method-number{

    width:56px;

    height:56px;

    border-radius:18px;

    display:flex;

    align-items:center;

    justify-content:center;

    flex-shrink:0;

    font-size:18px;

    font-weight:900;

    color:#FFF;

    background:var(--pz-gradient-primary);

    box-shadow:

        0 16px 36px rgba(255,122,26,.20);

}

/* ==========================================================
   LINE
========================================================== */

.method-line{

    flex:1;

    height:2px;

    border-radius:999px;

    background:

        linear-gradient(

            90deg,

            rgba(255,122,26,.40),

            rgba(255,122,26,.08)

        );

    transition:.35s;

}

.method-step:hover .method-line{

    background:

        linear-gradient(

            90deg,

            rgba(255,122,26,.95),

            rgba(255,122,26,.18)

        );

}

/* ==========================================================
   TOP BORDER
========================================================== */

.method-step::before{

    content:"";

    position:absolute;

    top:0;
    left:0;

    width:100%;
    height:4px;

    background:var(--pz-gradient-primary);

    transform:scaleX(0);

    transform-origin:left;

    transition:transform .35s ease;

}

.method-step:hover::before{

    transform:scaleX(1);

}

/* ==========================================================
   GLOW
========================================================== */

.method-step::after{

    content:"";

    position:absolute;

    right:-140px;
    bottom:-140px;

    width:280px;
    height:280px;

    border-radius:50%;

    opacity:0;

    background:

        radial-gradient(

            circle,

            rgba(255,122,26,.16),

            rgba(255,122,26,.04),

            transparent 72%

        );

    filter:blur(35px);

    transition:opacity .35s ease;

}

.method-step:hover::after{

    opacity:1;

}

/* ==========================================================
   TITLE
========================================================== */

.method-step h3{

    position:relative;

    z-index:2;

    color:var(--pz-text);

    font-size:28px;

    font-weight:800;

    line-height:1.2;

    margin-bottom:18px;

    transition:.30s;

}

.method-step:hover h3{

    color:var(--pz-primary);

}

/* ==========================================================
   TEXT
========================================================== */

.method-step p{

    position:relative;

    z-index:2;

    color:var(--pz-text-light);

    font-size:17px;

    line-height:1.85;

}

/* ==========================================================
   RESPONSIVE
========================================================== */

@media(max-width:1200px){

    .method-flow{

        grid-template-columns:repeat(2,1fr);

    }

}

@media(max-width:768px){

    .method-header{

        margin-bottom:60px;

    }

    .method-flow{

        grid-template-columns:1fr;

        gap:22px;

    }

    .method-step{

        padding:30px;

        border-radius:26px;

    }

    .method-top{

        margin-bottom:24px;

    }

    .method-number{

        width:52px;
        height:52px;

        border-radius:16px;

        font-size:17px;

    }

    .method-step h3{

        font-size:24px;

    }

    .method-step p{

        font-size:16px;

        line-height:1.75;

    }

}

@media(max-width:480px){

    .method-step{

        padding:26px;

    }

    .method-number{

        width:48px;
        height:48px;

        border-radius:15px;

        font-size:16px;

    }

    .method-step h3{

        font-size:22px;

    }

}