.ivt-process-section{
    position:relative;
    padding:28px 38px 30px;
    background:
        radial-gradient(circle at 18% 30%, rgba(35,135,255,.28), transparent 28%),
        radial-gradient(circle at 80% 50%, rgba(92,255,205,.14), transparent 30%),
        linear-gradient(180deg, #03152f 0%, #020817 100%);
    color:#fff;
    overflow:hidden;
    font-family:Segoe UI, Tahoma, Verdana, sans-serif;
}

.ivt-process-section *{
    box-sizing:border-box;
}

.ivt-process-shell{
    width:100%;
    max-width:none;
    margin:0 auto;
    position:relative;
}

.ivt-process-heading{
    text-align:center;
     margin-bottom:120px;
	 margin-top:20px;
}


.ivt-process-heading h2{
    margin:0;
    font-size:2.15rem;
    line-height:1.15;
    font-weight:850;
    letter-spacing:-1.5px;
}

.ivt-process-heading h2 strong{
    color:#55a8ff;
    font-style:normal;
}

.ivt-process-heading h2 em{
    color:#94d887;
    font-style:normal;
}

.ivt-process-heading p{
    max-width:560px;
    margin:14px auto 0;
    color:#c7d6ea;
}

/* Default (desktop) */
.ivt-laptop-break{
    display:none;
}


.ivt-process-grid{
    display:grid;
    grid-template-columns:repeat(7, minmax(0, 1fr));
    gap:10px;
    width:100%;


}
.ivt-process-card{
    position:relative;
    display:flex;
}
.ivt-card-body{
    position:relative;
    top:-24px;
    min-height:315px;
    padding:15px 18px;
    text-align:center;
    border:1px solid rgba(150,205,255,.48);
    border-radius:12px;
	 width:100%;
    background:
        radial-gradient(circle at 50% 8%, rgba(116,177,255,.22), transparent 35%),
        linear-gradient(180deg, rgba(29,68,111,.88), rgba(5,30,63,.9));
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.18),
        inset 0 -20px 45px rgba(35,148,255,.08),
        0 18px 38px rgba(0,0,0,.28);
}
.ivt-process-card.green .ivt-card-body{
    background:
        radial-gradient(circle at 50% 8%, rgba(142,232,127,.22), transparent 35%),
        linear-gradient(180deg, rgba(30,72,86,.88), rgba(5,42,63,.9));
}


.ivt-step-badge{
    position:absolute;
    top:-59px;
    left:50%;
    transform:translateX(-50%);

    display:flex;
    align-items:center;
    justify-content:center;
    width:46px;
    height:46px;
    border-radius:50%;
    color:#fff;
    font-size:1.35rem;
    font-weight:850;
    border:3px solid #5da8ff;
    background:linear-gradient(180deg, #143c81, #061f51);
    box-shadow:0 0 0 5px rgba(74,154,255,.18), 0 0 22px rgba(74,154,255,.8);
}

.ivt-process-card.green .ivt-step-badge{
    border-color:#9de48b;
    background:linear-gradient(180deg, #3f7d3d, #163d26);
    box-shadow:0 0 0 5px rgba(157,228,139,.18), 0 0 22px rgba(157,228,139,.8);
}


.ivt-icon-orb{
    width:112px;
    height:112px;
    margin:0 auto 12px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    background:
        radial-gradient(circle at 35% 30%, rgba(255,255,255,.12), transparent 28%),
        linear-gradient(180deg, rgba(55,96,139,.55), rgba(3,20,50,.35));
    border:1px solid rgba(255,255,255,.08);
    box-shadow:inset 0 0 35px rgba(255,255,255,.05);
}

.ivt-process-icon{
    display:block;

    width:92px;
    height:92px;

    object-fit:contain;
    object-position:center;

    filter:drop-shadow(0 10px 14px rgba(0,0,0,.35));
}
.ivt-process-card h3{
    position:relative;
    min-height:42px;
    color:#fff;
font-weight:850;
    margin:0;
}

.ivt-process-card h3:after{
    content:"";
    position:absolute;
    left:50%;
    width:36px;
    height:2px;
    transform:translateX(-50%);
    background:#4ca3ff;
    border-radius:10px;
    bottom:10px;
}


.ivt-process-card.green h3:after{
    background:#9de48b;
}

.ivt-process-card.green .ivt-card-footer-icon{
    background:#123522;
    border-color:rgba(157,228,139,.6);
    box-shadow:0 0 22px rgba(157,228,139,.25);
}

.ivt-card-footer-icon svg{
    width:23px;
    height:23px;
    fill:none;
    stroke:#4fa6ff;
    stroke-width:1.7;
    stroke-linecap:round;
    stroke-linejoin:round;
}

.ivt-process-card.green .ivt-card-footer-icon svg{
    stroke:#9de48b;
}

.ivt-benefits-bar{
    display:grid;
    grid-template-columns:repeat(4, 1fr);
    gap:0;
    margin-top:2px;
    padding:20px 24px;
    border:1px solid rgba(130,194,255,.35);
    border-radius:14px;
    background:linear-gradient(180deg, rgba(18,50,88,.85), rgba(6,26,58,.9));
    box-shadow:inset 0 1px 0 rgba(255,255,255,.12), 0 18px 35px rgba(0,0,0,.22);
}

.ivt-benefit{
    display:grid;
    grid-template-columns:54px 1fr;
    gap:14px;
    align-items:center;
    padding:0 20px;
    border-right:1px solid rgba(132,180,230,.28);
}

.ivt-benefit:last-child{
    border-right:none;
}

.ivt-benefit svg{
    width:48px;
    height:48px;
    fill:none;
    stroke:#4fa6ff;
    stroke-width:2.3;
    stroke-linecap:round;
    stroke-linejoin:round;
    filter:drop-shadow(0 0 8px rgba(79,166,255,.4));
}

.ivt-benefit:nth-child(2) svg,
.ivt-benefit:nth-child(4) svg{
    stroke:#9de48b;
}

.ivt-benefit h4{
    margin:0 0 5px;
color:#fff;
    font-weight:850;
}

.ivt-benefit p{
    margin:0;
    color:#c8d5e6;
}

.ivt-process-note{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:9px;
    margin:20px 0 0;
    color:#75aaff;
letter-spacing:1.5px;
}

.ivt-process-note svg{
    width:17px;
    height:17px;
    fill:none;
    stroke:#75aaff;
    stroke-width:1.6;
}


.ivt-process-card p{
    max-width:210px;
    margin:0 auto;
    color:#d5e1ef;
text-align:left;
}


/* Responsive */
@media (max-width:1200px){
    .ivt-process-section{
        padding-left:22px;
        padding-right:22px;
    }

    .ivt-laptop-break{
        display:inline;
    }

    .ivt-process-grid{
        gap:6px;
    }

    .ivt-process-card{
        padding-left:0;
        padding-right:0;
    }


.ivt-card-body{
    width:100%;
    padding-left:8px;
    padding-right:8px;
	min-height:315px;
}


    .ivt-process-card p{
        max-width:none;
        width:100%;
        font-size:.76rem;
        text-align:left;
    }


	.ivt-icon-orb{
    width:96px;
    height:96px;
    margin:0 auto 10px;
}

.ivt-process-icon{
    width:78px;
    height:78px;
}
}
@media (max-width:980px){
    .ivt-process-heading{
        margin-bottom:34px;
    }

    .ivt-process-grid{
        grid-template-columns:repeat(2, 1fr);
        gap:22px 16px;
    }

    .ivt-process-card{
        display:flex;
        min-height:auto;
        padding-top:34px;
    }

    .ivt-card-body{
        top:0;
        width:100%;
        min-height:auto;
        padding:22px 22px 24px;
    }

    .ivt-step-badge{
        top:-18px;
        left:22px;
        transform:none;
    }


    .ivt-icon-orb{
        width:86px;
        height:86px;
        margin:0 auto 14px;
    }

.ivt-process-icon{
    width:68px;
    height:68px;
}

    .ivt-process-card h3{
        font-size:1.15rem;
        line-height:1.18;
        min-height:auto;
        margin-bottom:20px;
    }

    .ivt-process-card p{
        max-width:none;
        width:100%;
        font-size:.95rem;
        line-height:1.45;
        text-align:left;
    }

    .ivt-benefits-bar{
        grid-template-columns:repeat(2, 1fr);
        gap:22px 0;
    }

    .ivt-benefit:nth-child(2){
        border-right:none;
    }
}

@media (max-width:620px){
    .ivt-process-section{
        padding:34px 16px;
    }


.ivt-process-card h3{

    margin:0 0 18px;

}
.ivt-process-card h3:after{

    bottom:-10px;

}
    .ivt-process-heading h2{
        font-size:1.75rem;
    }

    .ivt-process-heading p{
        font-size:.95rem;
    }

    .ivt-process-grid,
    .ivt-benefits-bar{
        grid-template-columns:1fr;
    }

    .ivt-process-grid{
        gap:22px;
    }

    .ivt-card-body{
        padding:22px 20px 22px;
    }

    .ivt-icon-orb{
        width:82px;
        height:82px;
    }

.ivt-process-icon{
    width:64px;
    height:64px;
}

    .ivt-process-card h3{
        font-size:1.12rem;
    }

    .ivt-process-card p{
        font-size:.95rem;
        line-height:1.45;
    }

    .ivt-benefit{
        border-right:none;
        border-bottom:1px solid rgba(132,180,230,.28);
        padding:0 0 18px;
    }

    .ivt-benefit:last-child{
        border-bottom:none;
        padding-bottom:0;
    }

	.ivt-step-badge{
        top:12px;
        left:22px;
        transform:none;
    }

	.ivt-process-grid{
    gap:10px;
}

.ivt-benefits-bar{
    margin-top:22px;
}
}
/* =====================================================
   PROCESS HERO
   ===================================================== */

.ivt-process-section{
    padding-top:0;
}

.ivt-process-hero{
    position:relative;
    width:100vw;
    min-height:300px;
    margin-left:calc(50% - 50vw);


    display:flex;
    align-items:center;
    justify-content:flex-start;

    padding:0 7vw;
    overflow:hidden;
}

.ivt-process-banner{
    position:absolute;
    inset:0;
    z-index:0;
    overflow:hidden;
}

.ivt-process-banner img{
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center 48%;
}

.ivt-process-banner::before{
    content:"";
    position:absolute;
    inset:0;
    z-index:1;
    background:linear-gradient(
        180deg,
        rgba(3,21,47,.66) 0%,
        rgba(3,21,47,.42) 42%,
        rgba(3,21,47,.08) 100%
    );
    pointer-events:none;
}

.ivt-process-banner::after{
    content:"";
    position:absolute;
    left:0;
    right:0;
    bottom:0;
    height:2px;

    background:linear-gradient(
        90deg,
        rgba(255,255,255,0),
        rgba(140,205,255,.35) 15%,
        rgba(235,248,255,.95) 50%,
        rgba(140,205,255,.35) 85%,
        rgba(255,255,255,0)
    );

    box-shadow:
        0 0 10px rgba(110,190,255,.45),
        0 0 24px rgba(110,190,255,.22);

    pointer-events:none;
}

.ivt-process-heading{
    position:relative;
    z-index:2;

    width:min(620px, 48%);
    max-width:620px;

    margin:0;
    padding:0;

    text-align:left;
}

.ivt-process-heading h1{
    margin:0;
    color:#fff;
    font-size:2.15rem;
    line-height:1.15;
    font-weight:850;
    letter-spacing:-1.5px;
}

.ivt-process-heading h1 strong{
    color:#55a8ff;
}

.ivt-process-heading h1 em{
    color:#94d887;
    font-style:normal;
}

.ivt-process-heading p{
    max-width:560px;
    margin:14px 0 0;

    color:#e1ebf7;
    font-size:.98rem;
    line-height:1.55;
    text-align:left;

    text-shadow:0 2px 8px rgba(0,0,0,.65);
}

.ivt-process-flow{
    position:relative;
    padding-top:35px;
}


/* =====================================================
   TABLET
   ===================================================== */

@media (max-width:980px){

    .ivt-process-hero{
        min-height:260px;
        margin-bottom:24px;
        padding:0 40px;
    }

    .ivt-process-heading{
        width:58%;
        max-width:560px;
    }

    .ivt-process-flow{
        padding-top:0;
    }
}


/* =====================================================
   MOBILE
   ===================================================== */

@media (max-width:620px){

    .ivt-process-hero{
        min-height:230px;
        margin-bottom:18px;
        padding:28px 20px;
    }

    .ivt-process-heading{
        width:100%;
        max-width:100%;
    }

    .ivt-process-heading h1{
        font-size:1.75rem;
        letter-spacing:-.8px;
    }

    .ivt-process-heading p{
        font-size:.95rem;
    }

}

/* Laptop only */
@media (min-width:981px) and (max-width:1600px){


    .ivt-process-card h3{
        width:100%;
        max-width:none;
        padding-left:0;
        padding-right:0;

        font-size:0.88rem;
        line-height:1.12;
        white-space:nowrap;
    }

}

.ivt-process-banner img{

    animation: kenBurns 5s ease-in-out infinite alternate;

}

@keyframes kenBurns{

    0%{
        transform:scale(1.00);
    }

    100%{
        transform:scale(1.10) translateX(-3%);
    }

}


.ivt-step-badge{
    z-index:20;
}

.ivt-card-body,
.ivt-process-card.green .ivt-card-body {
    background: transparent !important;
    border-color: transparent !important;
    box-shadow: none !important;
}

/* =====================================================
   DESCRIPTION BACKGROUND
   SAME WIDTH / HEIGHT AS ORIGINAL CARD
   ===================================================== */

.ivt-process-card p {
    /* Restore the exact original card width */
    width: calc(100% + 36px);
    max-width: none;

    margin-left: -18px;
    margin-right: -18px;

    /* Keep the height you already wanted */

    padding: 18px 18px 22px;


    border-radius: 12px;

    background:
        radial-gradient(
            circle at 50% 0%,
            rgba(116,177,255,.18),
            transparent 40%
        ),
        linear-gradient(
            180deg,
            rgba(29,68,111,.88),
            rgba(5,30,63,.90)
        );

    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.14),
        0 14px 30px rgba(0,0,0,.22);
}


/* GREEN */
.ivt-process-card.green p {
    border-color: rgba(157,228,139,.38);

    background:
        radial-gradient(
            circle at 50% 0%,
            rgba(142,232,127,.18),
            transparent 40%
        ),
        linear-gradient(
            180deg,
            rgba(30,72,86,.88),
            rgba(5,42,63,.90)
        );
}

@media (max-width:620px){

    .ivt-step-badge{
        top: -28px;

        left: 50%;
        transform: translateX(-50%);

        z-index: 20;
    }
	    .ivt-card-body{
        top: -35px;
    }


}

/* =========================================================
   PROCESS PAGE — FINAL TYPOGRAPHY OVERRIDE
   ========================================================= */


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

/* Main hero heading */
.ivt-process-section .ivt-process-heading h1 {
    font-size: clamp(2.5rem, 3vw, 3.2rem) !important;
    line-height: 1.08 !important;
    letter-spacing: -1px;
}
/* Hero description */
.ivt-process-section .ivt-process-heading p {
    font-size: 1rem !important;
    line-height: 1.65 !important;
}


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

/* Step numbers */
.ivt-process-section .ivt-step-badge {
    font-size: 1.25rem !important;
    line-height: 1 !important;
}

/* Process card titles */
.ivt-process-section .ivt-process-card h3 {
    font-size: 1rem !important;
    line-height: 1.3 !important;
}

/* Process descriptions */
.ivt-process-section .ivt-process-card p {
    font-size: 0.9375rem !important;
    line-height: 1.6 !important;
}


/* =========================================================
   BENEFITS BAR
   ========================================================= */

/* Benefit titles */
.ivt-process-section .ivt-benefit h4 {
    font-size: 1rem !important;
    line-height: 1.35 !important;
}

/* Benefit descriptions */
.ivt-process-section .ivt-benefit p {
    font-size: 0.875rem !important;
    line-height: 1.5 !important;
}


/* =========================================================
   SUPPORTING NOTE
   ========================================================= */

.ivt-process-section .ivt-process-note {
    font-size: 0.8125rem !important;
    line-height: 1.5 !important;
}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 620px) {

    .ivt-process-section .ivt-process-heading h1 {
        font-size: clamp(2.1rem, 9vw, 2.6rem) !important;
    }

    .ivt-process-section .ivt-process-heading p {
        font-size: 1rem !important;
    }

    .ivt-process-section .ivt-process-card h3 {
        font-size: 1.0625rem !important;
    }

    .ivt-process-section .ivt-process-card p {
        font-size: 0.9375rem !important;
    }

    .ivt-process-section .ivt-benefit h4 {
        font-size: 1rem !important;
    }

    .ivt-process-section .ivt-benefit p {
        font-size: 0.875rem !important;
    }
}

    .ivt-process-section .ivt-process-card p {
        min-height: 270px !important;
        height: 270px !important;
    }
	
	/* Mobile — let process cards fit their content */
@media (max-width: 620px) {
    .ivt-process-section .ivt-process-card p {
        min-height: 0 !important;
        height: auto !important;
    }
}