/* ==========================================================
   OXAVIX HOMEPAGE V5
   Compact / technical / premium
   ========================================================== */


/* ----------------------------------------------------------
   HEADER
   ---------------------------------------------------------- */

.ox-site-header{
    background:#061a2a;
}

.ox-site-header .ox-header-inner{
    min-height:66px;
}

.ox-site-header .ox-brand img{
    width:auto;
    height:31px;
}

.ox-main-navigation{
    gap:25px;
}

.ox-main-navigation a{
    font-size:12.5px;
    font-weight:700;
}

.ox-header-actions{
    gap:12px;
}

.ox-header-phone{
    min-height:40px !important;
    padding:0 17px !important;

    display:inline-flex !important;
    align-items:center;
    justify-content:center;

    border:0 !important;
    border-radius:6px !important;

    background:#e97b00 !important;

    color:#fff !important;

    font-size:13px !important;
    font-weight:800 !important;

    text-decoration:none;
}

.ox-header-cta{
    display:none !important;
}


/* ----------------------------------------------------------
   HERO
   ---------------------------------------------------------- */

.ox-v5-hero{
    position:relative;

    min-height:405px;

    overflow:hidden;

    isolation:isolate;

    background:#071b2c;

    color:#fff;
}

.ox-v5-hero-image{
    position:absolute;

    z-index:-3;

    inset:0;

    width:100%;
    height:100%;

    object-fit:cover;

    object-position:center 52%;
}

.ox-v5-hero::before{
    content:"";

    position:absolute;

    z-index:-2;

    inset:0;

    background:
        linear-gradient(
            90deg,
            rgba(3,15,25,.94) 0%,
            rgba(3,15,25,.86) 37%,
            rgba(3,15,25,.48) 67%,
            rgba(3,15,25,.13) 100%
        );
}

.ox-v5-hero-inner{
    min-height:405px;

    padding-top:43px;
    padding-bottom:38px;

    display:flex;
    align-items:center;
}

.ox-v5-hero-copy{
    width:min(600px,100%);
}

.ox-v5-eyebrow{
    margin:0 0 10px;

    color:#f1a44d;

    font-family:Inter,Arial,sans-serif;

    font-size:12px;
    font-weight:800;

    letter-spacing:.08em;
    text-transform:uppercase;
}

.ox-v5-hero h1{
    max-width:570px;

    margin:0;

    color:#fff;

    font-family:Inter,Arial,sans-serif !important;

    font-size:clamp(38px,4.2vw,57px) !important;
    font-weight:850 !important;

    line-height:1.02 !important;

    letter-spacing:-.045em !important;
}

.ox-v5-hero h1 span{
    color:#ee8511;
}

.ox-v5-hero-lead{
    max-width:545px;

    margin:17px 0 0;

    color:rgba(255,255,255,.83);

    font-size:15px;
    line-height:1.55;
}

.ox-v5-actions{
    display:flex;
    flex-wrap:wrap;

    gap:11px;

    margin-top:22px;
}

.ox-v5-primary,
.ox-v5-secondary{
    min-height:44px;

    padding:0 18px;

    display:inline-flex;

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

    border-radius:6px;

    font-size:12.5px;
    font-weight:800;

    text-decoration:none;

    transition:.16s ease;
}

.ox-v5-primary{
    border:1px solid #ed8108;

    background:#ed8108;

    color:#fff;
}

.ox-v5-primary:hover{
    transform:translateY(-1px);

    background:#fa8a09;
}

.ox-v5-secondary{
    border:1px solid rgba(255,255,255,.55);

    color:#fff;

    background:rgba(6,26,42,.25);
}

.ox-v5-secondary:hover{
    background:rgba(255,255,255,.1);
}

.ox-v5-mini-trust{
    margin-top:18px;

    display:flex;
    flex-wrap:wrap;

    gap:9px 22px;
}

.ox-v5-mini-trust span{
    position:relative;

    padding-left:16px;

    color:rgba(255,255,255,.76);

    font-size:11.5px;
    font-weight:650;
}

.ox-v5-mini-trust span::before{
    content:"✓";

    position:absolute;

    left:0;

    color:#ef8b17;

    font-weight:900;
}


/* ----------------------------------------------------------
   GENERIC
   ---------------------------------------------------------- */

.ox-v5-section{
    padding:48px 0;
}

.ox-v5-section-soft{
    background:#f8f7f4;
}

.ox-v5-section-title{
    max-width:720px;

    margin:0 auto 25px;

    text-align:center;
}

.ox-v5-section-title.left{
    margin-left:0;

    text-align:left;
}

.ox-v5-section-title h2{
    margin:0;

    font-family:Inter,Arial,sans-serif !important;

    font-size:clamp(25px,3vw,34px) !important;
    font-weight:850 !important;

    letter-spacing:-.035em;

    line-height:1.12;
}

.ox-v5-section-title p{
    max-width:650px;

    margin:8px auto 0;

    color:var(--ox-muted);

    font-size:13px;
    line-height:1.55;
}

.ox-v5-section-title.left p{
    margin-left:0;
}


/* ----------------------------------------------------------
   PROBLEEMSTRIP
   ---------------------------------------------------------- */

.ox-v5-problems{
    padding:25px 0 31px;

    background:#fff;
}

.ox-v5-problems h2{
    margin:0 0 7px;

    text-align:center;

    font-family:Inter,Arial,sans-serif;

    font-size:18px;
    font-weight:850;
}

.ox-v5-problems-lead{
    margin:0 0 19px;

    text-align:center;

    color:var(--ox-muted);

    font-size:11.5px;
}

.ox-v5-problem-grid{
    display:grid;

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

    gap:9px;
}

.ox-v5-problem{
    min-height:100px;

    padding:15px 11px;

    display:flex;

    flex-direction:column;
    align-items:center;
    justify-content:center;

    border:1px solid #e6e2da;
    border-radius:7px;

    background:#fff;

    text-align:center;
}

.ox-v5-problem-icon{
    height:27px;

    margin-bottom:8px;

    display:flex;

    align-items:center;

    color:#e97900;

    font-size:22px;
    font-weight:800;
}

.ox-v5-problem strong{
    max-width:135px;

    color:#071b2c;

    font-size:10.8px;

    line-height:1.3;
}


/* ----------------------------------------------------------
   WORK + PROCESS
   ---------------------------------------------------------- */

.ox-v5-combo{
    padding:39px 0;
}

.ox-v5-combo-grid{
    display:grid;

    grid-template-columns:.95fr 1.05fr;

    gap:22px;
}

.ox-v5-panel{
    padding:20px;

    border:1px solid #e5e1d9;
    border-radius:8px;

    background:#fff;
}

.ox-v5-panel-head{
    margin-bottom:16px;

    font-family:Inter,Arial,sans-serif;

    font-size:17px;
    font-weight:850;
}

.ox-v5-work-grid{
    display:grid;

    grid-template-columns:1fr 1fr;

    gap:10px;
}

.ox-v5-work{
    min-height:110px;

    padding:14px;

    border:1px solid #ece8e1;
    border-radius:7px;

    background:#faf9f7;
}

.ox-v5-work-icon{
    margin-bottom:7px;

    color:#e77b00;

    font-size:19px;
}

.ox-v5-work strong{
    display:block;

    font-size:12px;
}

.ox-v5-work p{
    margin:5px 0 0;

    color:var(--ox-muted);

    font-size:10.8px;
    line-height:1.45;
}


.ox-v5-process{
    display:grid;

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

    gap:0;

    margin-top:24px;
}

.ox-v5-step{
    position:relative;

    min-height:145px;

    padding:42px 12px 12px;

    border-right:1px solid #e8e4dc;

    text-align:center;
}

.ox-v5-step:last-child{
    border-right:0;
}

.ox-v5-step-number{
    position:absolute;

    top:0;
    left:50%;

    width:28px;
    height:28px;

    transform:translateX(-50%);

    display:flex;

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

    border-radius:50%;

    background:#071b2c;

    color:#fff;

    font-size:11px;
    font-weight:850;
}

.ox-v5-step::before{
    content:"";

    position:absolute;

    top:14px;
    left:0;

    width:calc(50% - 22px);

    border-top:1px dashed #b9bec1;
}

.ox-v5-step::after{
    content:"";

    position:absolute;

    top:14px;
    right:0;

    width:calc(50% - 22px);

    border-top:1px dashed #b9bec1;
}

.ox-v5-step:first-child::before,
.ox-v5-step:last-child::after{
    display:none;
}

.ox-v5-step strong{
    display:block;

    margin-top:3px;

    font-size:11px;
}

.ox-v5-step p{
    margin:7px 0 0;

    color:var(--ox-muted);

    font-size:9.8px;
    line-height:1.48;
}


/* ----------------------------------------------------------
   PRIJSCATEGORIEËN
   ---------------------------------------------------------- */

.ox-v5-price{
    padding:38px 0;

    background:#f8f7f4;
}

.ox-v5-price-grid{
    display:grid;

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

    gap:10px;

    max-width:810px;

    margin:0 auto;
}

.ox-v5-price-card{
    position:relative;

    min-height:175px;

    padding:22px 19px;

    border:1px solid #ddd9d1;
    border-radius:7px;

    background:#fff;

    text-align:center;
}

.ox-v5-price-card.featured{
    border:1.5px solid #ee850e;
}

.ox-v5-price-label{
    position:absolute;

    top:0;
    left:0;
    right:0;

    height:23px;

    display:flex;

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

    border-radius:6px 6px 0 0;

    background:#ed8108;

    color:#fff;

    font-size:9px;
    font-weight:800;

    text-transform:uppercase;

    letter-spacing:.04em;
}

.ox-v5-price-card.featured{
    padding-top:35px;
}

.ox-v5-price-card h3{
    font-family:Inter,Arial,sans-serif;

    font-size:14px;
    font-weight:850;
}

.ox-v5-price-card .ox-v5-price-text{
    margin-top:9px;

    color:#071b2c;

    font-size:17px;
    font-weight:850;
}

.ox-v5-price-card p{
    margin:7px 0 0;

    color:var(--ox-muted);

    font-size:10.5px;
    line-height:1.5;
}

.ox-v5-price-note{
    margin:13px 0 0;

    text-align:center;

    color:var(--ox-muted);

    font-size:10.5px;
}


/* ----------------------------------------------------------
   SUPPLIER / B2B
   ---------------------------------------------------------- */

.ox-v5-partner-row{
    display:grid;

    grid-template-columns:1fr 1fr;

    gap:12px;

    margin-top:25px;
}

.ox-v5-supplier,
.ox-v5-b2b{
    min-height:175px;

    padding:22px;

    border-radius:8px;
}

.ox-v5-supplier{
    border:1px solid #e4e0d8;

    background:#fff;
}

.ox-v5-b2b{
    position:relative;

    overflow:hidden;

    background:#071b2c;

    color:#fff;
}

.ox-v5-supplier h3,
.ox-v5-b2b h3{
    margin:0;

    font-family:Inter,Arial,sans-serif;

    font-size:17px;
    font-weight:850;

    line-height:1.25;
}

.ox-v5-supplier p,
.ox-v5-b2b p{
    max-width:500px;

    margin:9px 0 15px;

    font-size:11.5px;
    line-height:1.55;
}

.ox-v5-supplier p{
    color:var(--ox-muted);
}

.ox-v5-b2b p{
    color:rgba(255,255,255,.72);
}

.ox-v5-supplier-pills{
    display:flex;

    flex-wrap:wrap;

    gap:7px;

    margin-bottom:15px;
}

.ox-v5-supplier-pills span{
    padding:6px 10px;

    border:1px solid #e5e0d8;
    border-radius:99px;

    background:#faf9f7;

    color:#071b2c;

    font-size:10px;
    font-weight:750;
}

.ox-v5-small-link{
    color:#c76600;

    font-size:11px;
    font-weight:800;

    text-decoration:none;
}

.ox-v5-b2b .ox-v5-small-link{
    color:#ff9a26;
}


/* ----------------------------------------------------------
   PROJECTS
   ---------------------------------------------------------- */

.ox-v5-project-grid{
    display:grid;

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

    gap:12px;
}

.ox-v5-project{
    overflow:hidden;

    border:1px solid #e5e1da;
    border-radius:8px;

    background:#fff;
}

.ox-v5-project img{
    width:100%;
    height:150px;

    display:block;

    object-fit:cover;
}

.ox-v5-project-copy{
    padding:15px;
}

.ox-v5-project-copy strong{
    display:block;

    font-size:12.5px;
}

.ox-v5-project-copy span{
    display:block;

    margin-top:4px;

    color:var(--ox-muted);

    font-size:10px;
}


/* ----------------------------------------------------------
   WHY
   ---------------------------------------------------------- */

.ox-v5-why-grid{
    display:grid;

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

    border:1px solid #e5e1da;
    border-radius:8px;

    background:#fff;
}

.ox-v5-why{
    min-height:115px;

    padding:19px;

    border-right:1px solid #e7e3dc;
}

.ox-v5-why:last-child{
    border-right:0;
}

.ox-v5-why strong{
    display:block;

    font-size:12px;
}

.ox-v5-why p{
    margin:6px 0 0;

    color:var(--ox-muted);

    font-size:10.5px;
    line-height:1.5;
}


/* ----------------------------------------------------------
   QUICKSTART LOWER ON PAGE
   ---------------------------------------------------------- */

.ox-v5-other-project{
    max-width:820px;

    margin:0 auto;
}

.ox-v5-other-project details{
    border:1px solid #e5e1da;
    border-radius:8px;

    background:#fff;
}

.ox-v5-other-project summary{
    padding:15px 19px;

    cursor:pointer;

    color:#071b2c;

    font-size:12px;
    font-weight:800;
}

.ox-v5-other-project .ox-quickstart{
    margin:0;

    border:0 !important;
    border-top:1px solid #ebe7e0 !important;
    border-radius:0 0 8px 8px !important;

    box-shadow:none !important;
}


/* ----------------------------------------------------------
   EXISTING WONINGSCAN / FINAL CTA
   ---------------------------------------------------------- */

.ox-scan{
    padding-top:52px !important;
    padding-bottom:52px !important;
}

.ox-final-cta{
    padding-top:28px !important;
    padding-bottom:28px !important;
}


/* ----------------------------------------------------------
   MOBILE
   ---------------------------------------------------------- */

@media(max-width:1050px){

    .ox-main-navigation{
        gap:16px;
    }

    .ox-main-navigation a{
        font-size:11px;
    }

    .ox-v5-problem-grid{
        grid-template-columns:repeat(3,1fr);
    }

    .ox-v5-combo-grid{
        grid-template-columns:1fr;
    }

}


@media(max-width:820px){

    .ox-site-header .ox-header-inner{
        min-height:62px;
    }

    .ox-header-phone{
        display:none !important;
    }

    .ox-v5-hero{
        min-height:390px;
    }

    .ox-v5-hero-inner{
        min-height:390px;

        padding-top:47px;
        padding-bottom:42px;
    }

    .ox-v5-hero::before{
        background:
            linear-gradient(
                90deg,
                rgba(3,15,25,.95),
                rgba(3,15,25,.72)
            );
    }

    .ox-v5-hero h1{
        max-width:510px;

        font-size:clamp(37px,9vw,49px) !important;
    }

    .ox-v5-problem-grid{
        grid-template-columns:repeat(2,1fr);
    }

    .ox-v5-price-grid,
    .ox-v5-partner-row,
    .ox-v5-project-grid{
        grid-template-columns:1fr;
    }

    .ox-v5-process{
        grid-template-columns:1fr 1fr;

        gap:10px;
    }

    .ox-v5-step{
        border:1px solid #e8e4dc;
        border-radius:7px;
    }

    .ox-v5-step::before,
    .ox-v5-step::after{
        display:none;
    }

    .ox-v5-why-grid{
        grid-template-columns:1fr 1fr;
    }

    .ox-v5-why:nth-child(2){
        border-right:0;
    }

    .ox-v5-why{
        border-bottom:1px solid #e7e3dc;
    }

    .ox-v5-why:nth-child(3),
    .ox-v5-why:nth-child(4){
        border-bottom:0;
    }

}


@media(max-width:560px){

    .ox-v5-hero{
        min-height:420px;
    }

    .ox-v5-hero-inner{
        min-height:420px;

        align-items:flex-end;
    }

    .ox-v5-hero-image{
        object-position:62% center;
    }

    .ox-v5-hero::before{
        background:
            linear-gradient(
                90deg,
                rgba(3,15,25,.97),
                rgba(3,15,25,.78)
            );
    }

    .ox-v5-hero h1{
        font-size:39px !important;
    }

    .ox-v5-hero-lead{
        font-size:14px;
    }

    .ox-v5-actions{
        display:grid;

        grid-template-columns:1fr;
    }

    .ox-v5-primary,
    .ox-v5-secondary{
        width:100%;
    }

    .ox-v5-problem-grid,
    .ox-v5-work-grid,
    .ox-v5-process,
    .ox-v5-why-grid{
        grid-template-columns:1fr;
    }

    .ox-v5-problem{
        min-height:82px;
    }

    .ox-v5-why{
        border-right:0;
        border-bottom:1px solid #e7e3dc !important;
    }

    .ox-v5-why:last-child{
        border-bottom:0 !important;
    }

    .ox-v5-project img{
        height:190px;
    }

}
