/* ==========================================================
   HANDL — HOW IT WORKS
   Reference recreation / responsive
   ========================================================== */

.handl-hiw-page{
    --hiw-violet:#6841ff;
    --hiw-violet-2:#5530f2;
    --hiw-orange:#ff3f16;
    --hiw-navy:#10142f;
    --hiw-muted:#737b93;
    --hiw-line:#e7e8f0;
    --hiw-soft:#f8f7ff;
    --hiw-shell:1320px;

    width:100%;
    max-width:none;
    margin:0;
    padding:0;
    overflow:hidden;
    background:#fff;
    color:var(--hiw-navy);
    font-family:inherit;
}

.handl-hiw-page *,
.handl-hiw-page *::before,
.handl-hiw-page *::after{
    box-sizing:border-box;
}

.handl-hiw-page svg{
    display:block;
    width:1em;
    height:1em;
    fill:none;
    stroke:currentColor;
    stroke-width:1.8;
    stroke-linecap:round;
    stroke-linejoin:round;
}

.handl-hiw-shell{
    width:min(var(--hiw-shell), calc(100% - 64px));
    margin:0 auto;
}


/* ==========================================================
   HERO
   Desktop target: ~700px high, content on left
   ========================================================== */

.handl-hiw-hero{
    position:relative;
    min-height:700px;
    display:flex;
    align-items:center;
    isolation:isolate;
    background-image:var(--handl-hiw-hero-image);
    background-size:cover;
    background-position:center center;
    background-repeat:no-repeat;
}

.handl-hiw-hero::before{
    content:"";
    position:absolute;
    inset:0;
    z-index:-1;
    background:
        linear-gradient(
            90deg,
            rgba(4,6,13,.93) 0%,
            rgba(4,6,13,.79) 30%,
            rgba(4,6,13,.46) 53%,
            rgba(4,6,13,.12) 75%,
            rgba(4,6,13,.05) 100%
        );
}

.handl-hiw-hero__inner{
    width:min(var(--hiw-shell), calc(100% - 64px));
    margin:0 auto;
    padding:150px 0 88px;
}

.handl-hiw-hero__content{
    width:min(510px, 45vw);
    text-align:left;
}

.handl-hiw-eyebrow,
.handl-hiw-section-heading__eyebrow,
.handl-hiw-audience__eyebrow{
    color:var(--hiw-violet);
    font-size:17px;
    line-height:1.2;
    font-weight:800;
    letter-spacing:.025em;
    text-transform:uppercase;
}

.handl-hiw-hero__title{
    margin:28px 0 0;
    color:#fff;
    font-size:clamp(58px, 5vw, 82px);
    line-height:.95;
    letter-spacing:-.045em;
    font-weight:800;
}

.handl-hiw-hero__title span{
    position:relative;
    display:inline-block;
    color:#7447ff;
}

.handl-hiw-hero__title span::after{
    content:"";
    position:absolute;
    left:0;
    right:0;
    bottom:-13px;
    height:5px;
    border-radius:999px;
    background:#7447ff;
    transform:rotate(-1deg);
}

.handl-hiw-hero__text{
    max-width:420px;
    margin:52px 0 0;
    color:rgba(255,255,255,.96);
    font-size:20px;
    line-height:1.48;
    font-weight:600;
}

.handl-hiw-hero__actions{
    display:flex;
    flex-wrap:wrap;
    gap:18px;
    margin-top:34px;
}


/* ==========================================================
   BUTTONS
   ========================================================== */

.handl-hiw-btn{
    min-height:54px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:12px;
    padding:0 26px;
    border-radius:999px;
    text-decoration:none !important;
    font-size:15px;
    line-height:1;
    font-weight:800;
    transition:transform .18s ease, box-shadow .18s ease, filter .18s ease;
}

.handl-hiw-btn svg{
    width:20px;
    height:20px;
}

.handl-hiw-btn:hover{
    transform:translateY(-1px);
}

.handl-hiw-btn--primary{
    color:#fff !important;
    background:linear-gradient(135deg,#7652ff 0%,#5832f4 100%);
    box-shadow:0 12px 28px rgba(91,50,244,.27);
}

.handl-hiw-btn--ghost{
    color:#fff !important;
    border:1px solid rgba(255,255,255,.75);
    background:rgba(255,255,255,.03);
}

.handl-hiw-btn--handler{
    color:#fff !important;
    background:linear-gradient(135deg,#ff4b20,#ed2c05);
    box-shadow:0 12px 28px rgba(237,44,5,.20);
}

.handl-hiw-btn--dark-ghost{
    color:#fff !important;
    border:1px solid rgba(255,255,255,.70);
    background:transparent;
}


/* ==========================================================
   HOW HANDL WORKS
   ========================================================== */

.handl-hiw-process{
    padding:62px 0 70px;
    background:#fff;
}

.handl-hiw-section-heading{
    max-width:820px;
    margin:0 auto;
    text-align:center;
}

.handl-hiw-section-heading h2{
    margin:14px 0 0;
    color:var(--hiw-navy);
    font-size:clamp(34px,3vw,48px);
    line-height:1.08;
    letter-spacing:-.035em;
    font-weight:800;
}

.handl-hiw-heading-rule{
    display:block;
    width:54px;
    height:4px;
    margin:14px auto 0;
    border-radius:999px;
    background:var(--hiw-violet);
}

.handl-hiw-section-heading p{
    margin:18px auto 0;
    color:var(--hiw-muted);
    font-size:17px;
    line-height:1.6;
}

.handl-hiw-steps{
    position:relative;
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:0;
    margin-top:46px;
}

.handl-hiw-steps::before{
    content:"";
    position:absolute;
    top:41px;
    left:12.5%;
    right:12.5%;
    border-top:2px dashed #ded9ff;
    z-index:0;
}

.handl-hiw-step{
    position:relative;
    z-index:1;
    min-width:0;
    padding:0 28px;
    text-align:center;
}

.handl-hiw-step + .handl-hiw-step{
    border-left:1px solid var(--hiw-line);
}

.handl-hiw-step__icon{
    width:78px;
    height:78px;
    margin:0 auto;
    display:flex;
    align-items:center;
    justify-content:center;
    border:1px solid #e3ddff;
    border-radius:50%;
    background:#faf9ff;
    color:var(--hiw-violet);
    font-size:34px;
    box-shadow:0 8px 22px rgba(104,65,255,.06);
}

.handl-hiw-step__icon--solid{
    color:#fff;
    border-color:var(--hiw-violet);
    background:var(--hiw-violet);
}

.handl-hiw-step__number{
    margin-top:18px;
    color:var(--hiw-violet);
    font-size:25px;
    line-height:1;
    font-weight:800;
}

.handl-hiw-step h3{
    min-height:58px;
    margin:14px 0 0;
    color:var(--hiw-navy);
    font-size:22px;
    line-height:1.18;
    letter-spacing:-.02em;
    font-weight:800;
}

.handl-hiw-step p{
    max-width:230px;
    margin:13px auto 0;
    color:var(--hiw-muted);
    font-size:15px;
    line-height:1.55;
}


/* ==========================================================
   CUSTOMER / HANDLER SPLIT
   ========================================================== */

.handl-hiw-audiences{
    padding:0 0 38px;
    background:#fff;
}

.handl-hiw-audience-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    overflow:hidden;
    border:1px solid #ebe9f7;
    border-radius:22px;
}

.handl-hiw-audience{
    position:relative;
    min-height:500px;
    padding:38px clamp(44px,5vw,86px) 42px;
    display:flex;
    flex-direction:column;
    align-items:center;
    text-align:center;
}

.handl-hiw-audience--customers{
    background:
        radial-gradient(circle at 0 0,rgba(104,65,255,.08),transparent 35%),
        linear-gradient(135deg,#fbfaff,#f8f7ff);
}

.handl-hiw-audience--handlers{
    background:
        radial-gradient(circle at 100% 100%,rgba(255,63,22,.08),transparent 35%),
        linear-gradient(135deg,#fffaf8,#fff5f1);
}

.handl-hiw-audience__icon{
    width:68px;
    height:68px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    font-size:32px;
    color:var(--hiw-violet);
    background:rgba(104,65,255,.07);
    border:1px solid rgba(104,65,255,.12);
}

.handl-hiw-audience--handlers .handl-hiw-audience__icon,
.handl-hiw-audience--handlers .handl-hiw-audience__eyebrow{
    color:var(--hiw-orange);
}

.handl-hiw-audience--handlers .handl-hiw-audience__icon{
    background:rgba(255,63,22,.06);
    border-color:rgba(255,63,22,.14);
}

.handl-hiw-audience__eyebrow{
    margin-top:20px;
    font-size:14px;
}

.handl-hiw-audience h2{
    margin:12px 0 0;
    color:var(--hiw-navy);
    font-size:clamp(32px,2.6vw,44px);
    line-height:1.02;
    letter-spacing:-.04em;
    font-weight:800;
}

.handl-hiw-list{
    width:min(430px,100%);
    margin:34px auto 0;
    padding:0;
    list-style:none;
    text-align:left;
}

.handl-hiw-list li{
    min-height:49px;
    display:grid;
    grid-template-columns:38px 1fr;
    gap:14px;
    align-items:center;
    border-bottom:1px solid rgba(17,20,47,.10);
}

.handl-hiw-list li:last-child{
    border-bottom:0;
}

.handl-hiw-list span{
    width:29px;
    height:29px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    color:var(--hiw-violet);
    background:#ece7ff;
    font-size:14px;
    font-weight:800;
}

.handl-hiw-audience--handlers .handl-hiw-list span{
    color:var(--hiw-orange);
    background:#ffe5dc;
}

.handl-hiw-list strong{
    color:#272a3c;
    font-size:15px;
    font-weight:600;
}

.handl-hiw-audience__button{
    margin-top:auto;
}


/* ==========================================================
   FINAL CTA + TRUST ROW
   ========================================================== */

.handl-hiw-final{
    padding:0 0 44px;
    background:#fff;
}

.handl-hiw-final__cta{
    min-height:285px;
    padding:48px 30px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    text-align:center;
    border-radius:22px 22px 0 0;
    color:#fff;
    background:
        radial-gradient(circle at 0 50%,rgba(110,74,255,.20),transparent 32%),
        linear-gradient(120deg,#07132f 0%,#111c43 46%,#4c28db 100%);
}

.handl-hiw-final__cta h2{
    margin:0;
    font-size:clamp(36px,3vw,48px);
    line-height:1.05;
    letter-spacing:-.035em;
    font-weight:800;
}

.handl-hiw-final__cta p{
    margin:16px 0 0;
    color:rgba(255,255,255,.92);
    font-size:17px;
}

.handl-hiw-final__actions{
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    gap:48px;
    margin-top:30px;
}

.handl-hiw-final__actions .handl-hiw-btn{
    min-width:240px;
}

.handl-hiw-trust{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:0;
    border:1px solid #ececf2;
    border-top:0;
    border-radius:0 0 22px 22px;
    background:#fff;
}

.handl-hiw-trust__item{
    min-height:128px;
    display:grid;
    grid-template-columns:48px 1fr;
    gap:15px;
    align-items:center;
    padding:24px 28px;
}

.handl-hiw-trust__item + .handl-hiw-trust__item{
    border-left:1px solid #eeeeF4;
}

.handl-hiw-trust__icon{
    width:42px;
    height:42px;
    display:flex;
    align-items:center;
    justify-content:center;
    color:var(--hiw-violet);
    font-size:31px;
}

.handl-hiw-trust__item h3{
    margin:0;
    color:var(--hiw-navy);
    font-size:15px;
    font-weight:800;
}

.handl-hiw-trust__item p{
    margin:6px 0 0;
    color:var(--hiw-muted);
    font-size:13px;
    line-height:1.45;
}


/* ==========================================================
   LARGE DESKTOP
   ========================================================== */

@media (min-width:1440px){
    .handl-hiw-hero{
        min-height:720px;
    }
}


/* ==========================================================
   LAPTOP — 901px to 1279px
   ========================================================== */

@media (max-width:1279px) and (min-width:901px){

    .handl-hiw-shell,
    .handl-hiw-hero__inner{
        width:calc(100% - 48px);
    }

    .handl-hiw-hero{
        min-height:620px;
        background-position:58% center;
    }

    .handl-hiw-hero__inner{
        padding:125px 0 70px;
    }

    .handl-hiw-hero__content{
        width:min(470px,46vw);
    }

    .handl-hiw-hero__title{
        font-size:58px;
    }

    .handl-hiw-hero__text{
        font-size:18px;
    }

    .handl-hiw-step{
        padding:0 18px;
    }

    .handl-hiw-step h3{
        font-size:20px;
    }

    .handl-hiw-step p{
        font-size:14px;
    }

    .handl-hiw-audience{
        padding-left:40px;
        padding-right:40px;
    }

    .handl-hiw-trust__item{
        padding:20px;
    }
}


/* ==========================================================
   TABLET — 601px to 900px
   ========================================================== */

@media (max-width:900px) and (min-width:601px){

    .handl-hiw-shell,
    .handl-hiw-hero__inner{
        width:calc(100% - 40px);
    }

    .handl-hiw-hero{
        min-height:660px;
        background-position:66% center;
    }

    .handl-hiw-hero::before{
        background:
            linear-gradient(
                90deg,
                rgba(4,6,13,.92) 0%,
                rgba(4,6,13,.74) 60%,
                rgba(4,6,13,.36) 100%
            );
    }

    .handl-hiw-hero__inner{
        padding:110px 0 62px;
    }

    .handl-hiw-hero__content{
        width:min(520px,72vw);
    }

    .handl-hiw-hero__title{
        font-size:56px;
    }

    .handl-hiw-steps{
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:34px 0;
    }

    .handl-hiw-steps::before{
        display:none;
    }

    .handl-hiw-step{
        padding:0 34px;
    }

    .handl-hiw-step:nth-child(3){
        border-left:0;
    }

    .handl-hiw-audience-grid{
        grid-template-columns:1fr;
    }

    .handl-hiw-audience{
        min-height:460px;
    }

    .handl-hiw-trust{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .handl-hiw-trust__item:nth-child(3){
        border-left:0;
        border-top:1px solid #eeeeF4;
    }

    .handl-hiw-trust__item:nth-child(4){
        border-top:1px solid #eeeeF4;
    }
}


/* ==========================================================
   MOBILE — <= 600px
   ========================================================== */

@media (max-width:600px){

    .handl-hiw-shell,
    .handl-hiw-hero__inner{
        width:calc(100% - 28px);
    }

    .handl-hiw-hero{
        min-height:700px;
        align-items:flex-end;
        background-position:67% center;
    }

    .handl-hiw-hero::before{
        background:
            linear-gradient(
                180deg,
                rgba(4,6,13,.28) 0%,
                rgba(4,6,13,.60) 40%,
                rgba(4,6,13,.91) 100%
            );
    }

    .handl-hiw-hero__inner{
        padding:150px 0 46px;
    }

    .handl-hiw-hero__content{
        width:100%;
        max-width:430px;
    }

    .handl-hiw-eyebrow{
        font-size:14px;
    }

    .handl-hiw-hero__title{
        margin-top:18px;
        font-size:46px;
        line-height:.98;
    }

    .handl-hiw-hero__title span::after{
        bottom:-8px;
        height:4px;
    }

    .handl-hiw-hero__text{
        max-width:360px;
        margin-top:36px;
        font-size:17px;
    }

    .handl-hiw-hero__actions{
        display:grid;
        grid-template-columns:1fr;
        width:100%;
        gap:10px;
        margin-top:26px;
    }

    .handl-hiw-hero__actions .handl-hiw-btn{
        width:100%;
    }

    .handl-hiw-process{
        padding:48px 0 54px;
    }

    .handl-hiw-section-heading__eyebrow{
        font-size:14px;
    }

    .handl-hiw-section-heading h2{
        font-size:34px;
    }

    .handl-hiw-section-heading p{
        font-size:15px;
    }

    .handl-hiw-steps{
        grid-template-columns:1fr;
        gap:28px;
        margin-top:38px;
    }

    .handl-hiw-steps::before{
        display:none;
    }

    .handl-hiw-step,
    .handl-hiw-step + .handl-hiw-step{
        padding:0 12px 28px;
        border-left:0;
        border-bottom:1px solid var(--hiw-line);
    }

    .handl-hiw-step:last-child{
        border-bottom:0;
    }

    .handl-hiw-step h3{
        min-height:0;
    }

    .handl-hiw-step p{
        max-width:310px;
    }

    .handl-hiw-audience-grid{
        grid-template-columns:1fr;
        border-radius:18px;
    }

    .handl-hiw-audience{
        min-height:0;
        padding:34px 22px 36px;
    }

    .handl-hiw-audience h2{
        font-size:34px;
    }

    .handl-hiw-list{
        margin-top:26px;
    }

    .handl-hiw-audience__button{
        width:100%;
        margin-top:30px;
    }

    .handl-hiw-final__cta{
        min-height:0;
        padding:42px 20px;
        border-radius:18px 18px 0 0;
    }

    .handl-hiw-final__cta h2{
        font-size:34px;
    }

    .handl-hiw-final__actions{
        width:100%;
        display:grid;
        grid-template-columns:1fr;
        gap:11px;
        margin-top:26px;
    }

    .handl-hiw-final__actions .handl-hiw-btn{
        min-width:0;
        width:100%;
    }

    .handl-hiw-trust{
        grid-template-columns:1fr;
        border-radius:0 0 18px 18px;
    }

    .handl-hiw-trust__item,
    .handl-hiw-trust__item + .handl-hiw-trust__item{
        min-height:100px;
        border-left:0;
        border-top:1px solid #eeeeF4;
    }

    .handl-hiw-trust__item:first-child{
        border-top:0;
    }
}
/* ==========================================================
   HOW IT WORKS — HERO TEXT POSITION
   Slightly back to the left
   ========================================================== */

.handl-hiw-hero__content{
    margin-left:clamp(35px, 3.5vw, 70px) !important;
}


/* LAPTOP */
@media (max-width:1279px){

    .handl-hiw-hero__content{
        margin-left:35px !important;
    }
}


/* TABLET */
@media (max-width:900px){

    .handl-hiw-hero__content{
        margin-left:20px !important;
    }
}


/* MOBILE */
@media (max-width:600px){

    .handl-hiw-hero__content{
        margin-left:0 !important;
    }
}