/* --- BASIS & VARIABLEN --- */
.oag-premium-wrapper {
    --accent-color: #005fa8;
    position: relative;
    width: 100%;
}

.bg-hero-container {
    position: relative; width: 100%; min-height: 450px; overflow: hidden; background: #1a1a1a;
}

.bg-hero-container img {
    position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; z-index: 1;
}

.overlay-content { position: relative; z-index: 3; padding: 80px 50px 140px 50px; }

/* --- DEKO-BALKEN --- */
.has-decor::before {
    content: ""; position: absolute; top: 0; right: 10%; height: 70px; 
    background: var(--accent-color); z-index: 2; transition: all 0.3s;
}
.decor-skew::before   { width: 280px; transform: skewX(-30deg) translateX(30px); }
.decor-round::before  { width: 200px; border-radius: 0 0 40px 40px; }
.decor-pill::before   { width: 250px; height: 40px; top: 20px; border-radius: 50px; }
.decor-stripe::before { width: 100%; right: 0; height: 8px; }

/* --- VIDEO BUTTON (REPAIRED) --- */
.video-play-link { display: inline-flex; align-items: center; gap: 15px; text-decoration: none; z-index: 20; position: relative; }
.play-icon { 
    width: 60px; height: 60px; background-color: #ffffff !important; 
    border-radius: 50%; display: block; position: relative; 
    box-shadow: 0 4px 15px rgba(0,0,0,0.3); transition: transform 0.3s ease; 
}
.play-icon::after {
    content: ""; position: absolute; width: 0; height: 0; top: 50%; left: 58%;
    transform: translate(-50%, -50%); border-style: solid;
    border-width: 10px 0 10px 18px; 
    border-color: transparent transparent transparent var(--accent-color);
}
.video-play-link:hover .play-icon { transform: scale(1.1); }
.video-label { color: #fff; font-weight: 700; text-transform: uppercase; text-shadow: 0 2px 5px rgba(0,0,0,0.5); }

/* --- GRID & BOXEN --- */
.box-overlay { margin-top: -100px; position: relative; z-index: 10; padding: 0 50px; }
.services-grid { display: flex; flex-wrap: wrap; gap: 25px; align-items: stretch; }
.services-grid.is-staggered { align-items: flex-start; }
.services-grid.is-staggered .service-box:nth-child(even) { margin-top: 60px; }

.service-box {
    background: #fff; flex: 1; min-width: 260px; padding: 35px 30px;
    box-shadow: 0 15px 45px rgba(0,0,0,0.1); display: flex; flex-direction: column;
    text-decoration: none; color: inherit; transition: all 0.3s;
}
.service-box:hover { transform: translateY(-8px); }

/* --- SHAPES --- */
.service-box.shape-angled { clip-path: polygon(0 0, 100% 0, 100% 90%, 10% 100%, 0 100%); padding-bottom: 45px; }
.service-box.shape-edge   { border-radius: 2px 2px 60px 2px; }
.service-box.shape-border { border-left: 6px solid var(--accent-color); border-bottom: 6px solid var(--accent-color); }
.service-box.shape-topline { border-top: 6px solid var(--accent-color); }

.step-number { background: var(--accent-color); color: #fff; padding: 4px 12px; font-weight: 700; margin-right: 12px; }
.service-box h3 { color: #00457a; font-size: 1.3rem; margin-bottom: 15px; font-weight: 700; }

@media (max-width: 768px) {
    .box-overlay { padding: 0 20px; margin-top: -50px; }
    .services-grid { flex-direction: column; }
    .services-grid.is-staggered .service-box:nth-child(even) { margin-top: 0; }
}
