.our-promise {
    padding: var(--container-padding);
    width: 100%;
    height: auto;
    display: flex;
    position: relative;
    /* Layered subtle grid + dotted/noise texture (much lighter) */
    background-image:
        /* main grid (larger cells) - very light */
        linear-gradient(rgba(37, 99, 235, 0.03) 1px, transparent 1px),
        linear-gradient(90deg, rgba(37, 99, 235, 0.03) 1px, transparent 1px),
        /* small dot matrix for messy texture - very faint */
        radial-gradient(circle, rgba(30, 58, 138, 0.02) 1px, rgba(30, 58, 138, 0.00) 2px),
        /* soft irregular washes - ultra faint */
        radial-gradient(circle at 15% 25%, rgba(30, 58, 138, 0.008), transparent 40%),
        radial-gradient(circle at 80% 75%, rgba(30, 58, 138, 0.005), transparent 35%);
    background-size: 72px 72px, 72px 72px, 12px 12px, 600px 600px, 600px 600px;
    background-position: 0 0, 0 0, 6px 6px, 0 0, 0 0;
    mix-blend-mode: normal;
    opacity: 1;
    /* individual layers remain very faint */
    /* small dot matrix for messy texture */
    background: (circle, rgba(30, 58, 138, 0.06) 1px, rgba(30, 58, 138, 0.00) 2px),
        /* soft irregular washes */
        radial-gradient(circle at 15% 25%, rgba(30, 58, 138, 0.02), transparent 40%),
        radial-gradient(circle at 80% 75%, rgba(30, 58, 138, 0.01), transparent 35%);
    background-size: 72px 72px, 72px 72px, 12px 12px, 600px 600px, 600px 600px;
    background-position: 0 0, 0 0, 6px 6px, 0 0, 0 0;
    mix-blend-mode: normal;
    opacity: 1;
    /* layer opacities are controlled per-layer via rgba */
}

.our-promise__title {
    font-size: var(--mini-text);
    color: var(--super-light-blue-bg);
    text-transform: uppercase;
    font-weight: 600;
}

.our-promise__subhead {
    font-size: var(--big-head);
    color: var(--dark-font);
    font-weight: 600;

}

.our-promise__subhead span {
    color: var(--light-blue-bg);
    font-weight: 700;
}

.our-promise__description {
    font-size: var(--small-para);
    color: var(--light-font);
    line-height: 1.8;

}

.our-promise__container {
    display: flex;
    flex-direction: column;
    gap: var(--space-md);
    max-width: 600px;
    width: 100%;

}

/* =========================================
   RIGHT GRAPHICS
========================================= */

/* =========================================
   RIGHT GRAPHICS
========================================= */

.our-promise__graphics {
    position: relative;

    overflow: hidden;

    background: #fcfcfc;

    clip-path: polygon(12% 0,
            100% 0,
            100% 100%,
            0 100%);
}

/* =========================================
   BLUEPRINT WRAPPER
========================================= */

.our-promise__blueprint {
    position: absolute;

    top: 50%;
    left: 55%;

    transform:
        translate(-50%, -50%) scale(1.35);

    width: 120%;
    height: 120%;

    pointer-events: none;

    mix-blend-mode: multiply;
}

/* =========================================
   SVG IMAGE
========================================= */

.our-promise__blueprint img {
    width: 100%;
    height: 100%;

    object-fit: contain;
}

/* =========================================
   BLUE ACCENT LINE
========================================= */

.our-promise__graphics::before {
    content: '';

    position: absolute;

    left: -14px;
    top: 0;

    width: 5px;
    height: 100%;

    background: var(--super-light-blue-bg);

    transform: skewX(-12deg);

    z-index: 2;
}

/* =========================================
   OPTIONAL GRID OVERLAY
========================================= */

.our-promise__graphics::after {
    content: '';

    position: absolute;
    inset: 0;

    background-image:
        linear-gradient(rgba(37, 99, 235, 0.03) 1px,
            transparent 1px),
        linear-gradient(90deg,
            rgba(37, 99, 235, 0.03) 1px,
            transparent 1px);

    background-size: 80px 80px;

    pointer-events: none;
}



.our-promise::before {
    content: '';
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 100%;
    height: 100%;
    background-image: url('../../images/icons/blueprint.svg');
    background-repeat: no-repeat;
    background-position: center right;
    background-size: contain;
    pointer-events: none;
    z-index: -1;
    opacity: .15;
    filter: blur(0.3px);
}

.our-promise>* {
    position: relative;
    z-index: 2;
}

/* responsive */
@media (max-width: 768px) {
    .our-promise::before {
        opacity: .15;
    }
}

/* mobile */
@media (max-width: 576px) {

    /* .our-promise::before {
        opacity: .3;
    } */
    .hero-seperator {
        display: block;

        width: min(100%, 400px);
    }
}