
/*
 * DSB Footer — exact source styling adapted to native Divi 5 modules.
 * Source values preserved:
 * navy #0A1A2F
 * gold #CF9F55
 * champagne #E6DCC1
 * Barlow font
 */

html{
    scroll-behavior:smooth;
}

.rbf-footer-section,
.rbf-footer-section *{
    box-sizing:border-box;
}

.rbf-footer-section{
    position:relative!important;
    overflow:hidden;
    background:#0A1A2F!important;
    color:#E6DCC1!important;
}

/* -----------------------------
   Main 4-column grid
   Source: 1.6fr 1fr 1fr 1fr
   ----------------------------- */
@media (min-width:901px){
    .rbf-footer-top-row{
        display:grid!important;
        grid-template-columns:1.6fr 1fr 1fr 1fr!important;
        gap:50px!important;
        width:88%!important;
        max-width:1590px!important;
        margin-left:auto!important;
        margin-right:auto!important;
    }

    .rbf-footer-top-row > .et_pb_column{
        width:auto!important;
        max-width:none!important;
        margin:0!important;
        min-width:0!important;
    }
}

/* Brand */
.rbf-footer-brand-group .et_pb_module{
    margin-top:0!important;
}

.rbf-footer-logo{
    margin-bottom:18px!important;
}

.rbf-footer-logo img{
    display:block;
    width:160px!important;
    height:auto!important;
}

.rbf-footer-description{
    max-width:380px;
}

.rbf-footer-description p{
    margin:0!important;
    padding:0!important;
    color:#E6DCC1!important;
    font-family:"Barlow",system-ui,sans-serif!important;
    font-size:14px!important;
    line-height:1.7!important;
    font-weight:300!important;
    opacity:.80;
}

/* Headings */
.rbf-footer-heading{
    margin-bottom:22px!important;
}

.rbf-footer-heading h4{
    margin:0!important;
    padding:0!important;
    color:#CF9F55!important;
    font-family:"Barlow",system-ui,sans-serif!important;
    font-size:12px!important;
    line-height:1.2!important;
    font-weight:500!important;
    letter-spacing:2px!important;
    text-transform:uppercase!important;
}

/* Link columns */
.rbf-footer-links p{
    margin:0!important;
    padding:0!important;
}

.rbf-footer-links a{
    display:block!important;
    width:max-content;
    max-width:100%;
    margin-bottom:12px!important;
    color:#E6DCC1!important;
    font-family:"Barlow",system-ui,sans-serif!important;
    font-size:14px!important;
    line-height:1.7!important;
    font-weight:300!important;
    text-decoration:none!important;
    opacity:.82;
    transition:color .25s ease,opacity .25s ease;
}

.rbf-footer-links a:hover{
    color:#CF9F55!important;
    opacity:1;
}

.rbf-footer-contact .rbf-address{
    display:block;
    margin-top:8px;
    color:#E6DCC1!important;
    font-family:"Barlow",system-ui,sans-serif!important;
    font-size:14px!important;
    line-height:1.7!important;
    font-weight:300!important;
    opacity:.80;
}

/* Divider */
.rbf-footer-divider-row,
.rbf-footer-bottom-row{
    width:88%!important;
    max-width:1590px!important;
    margin-left:auto!important;
    margin-right:auto!important;
}

.rbf-footer-divider{
    height:1px!important;
    min-height:1px!important;
    margin:0!important;
    padding:0!important;
}

.rbf-footer-divider:before,
.rbf-footer-divider .et_pb_divider_internal{
    border-top-color:rgba(207,159,85,.15)!important;
    border-top-width:1px!important;
}

/* Bottom line */
.rbf-footer-bottom-row{
    display:flex!important;
    justify-content:space-between!important;
    align-items:center!important;
    flex-wrap:wrap!important;
    gap:12px 30px!important;
}

.rbf-footer-bottom-row > .et_pb_column{
    width:auto!important;
    flex:0 1 auto!important;
    margin:0!important;
}

.rbf-footer-bottom-copy p,
.rbf-footer-bottom-copy a,
.rbf-footer-bottom-copy span{
    margin:0!important;
    padding:0!important;
    color:#E6DCC1!important;
    font-family:"Barlow",system-ui,sans-serif!important;
    font-size:12px!important;
    line-height:1.6!important;
    font-weight:300!important;
    letter-spacing:1px!important;
    text-decoration:none!important;
}

.rbf-footer-bottom-copy{
    opacity:.60;
}

.rbf-footer-legal{
    text-align:right;
}

.rbf-footer-legal a:hover{
    color:#CF9F55!important;
}







/* -----------------------------
   Tablet: source stacks the grid
   ----------------------------- */
@media (min-width:601px) and (max-width:900px){
    .rbf-footer-top-row{
        display:grid!important;
        grid-template-columns:1fr!important;
        gap:40px!important;
        width:88%!important;
        max-width:100%!important;
        margin-left:auto!important;
        margin-right:auto!important;
    }

    .rbf-footer-top-row > .et_pb_column{
        width:100%!important;
        margin:0!important;
    }

    .rbf-footer-description{
        max-width:520px;
    }
}

/* -----------------------------
   Mobile: exact source layout
   1) Brand spans both columns
   2) Explore + Services side-by-side
   3) Contact spans both columns
   ----------------------------- */
@media (max-width:600px){
    .rbf-footer-top-row{
        display:grid!important;
        grid-template-columns:1fr 1fr!important;
        gap:30px 22px!important;
        width:88%!important;
        max-width:100%!important;
        margin-left:auto!important;
        margin-right:auto!important;
        padding-bottom:36px!important;
    }

    .rbf-footer-top-row > .et_pb_column{
        width:auto!important;
        margin:0!important;
        min-width:0!important;
    }

    .rbf-footer-brand-col{
        grid-column:1 / -1!important;
    }

    .rbf-footer-contact-col{
        grid-column:1 / -1!important;
    }

    .rbf-footer-logo img{
        width:132px!important;
    }

    .rbf-footer-description{
        max-width:none!important;
    }

    .rbf-footer-description p{
        font-size:13px!important;
    }

    .rbf-desktop-break{
        display:none;
    }

    .rbf-footer-heading{
        margin-bottom:14px!important;
    }

    .rbf-footer-links a{
        font-size:13px!important;
        margin-bottom:9px!important;
        line-height:1.6!important;
    }

    .rbf-footer-contact .rbf-address{
        font-size:13px!important;
        line-height:1.7!important;
    }

    .rbf-footer-divider-row,
    .rbf-footer-bottom-row{
        width:88%!important;
        max-width:100%!important;
    }

    .rbf-footer-bottom-row{
        display:flex!important;
        flex-direction:column!important;
        align-items:flex-start!important;
        justify-content:flex-start!important;
        gap:12px!important;
        padding-top:20px!important;
        padding-right:70px!important;
    }

    .rbf-footer-bottom-row > .et_pb_column{
        width:100%!important;
        flex:1 1 100%!important;
    }

    .rbf-footer-bottom-copy p,
    .rbf-footer-bottom-copy a,
    .rbf-footer-bottom-copy span{
        font-size:11px!important;
    }

    .rbf-footer-legal{
        text-align:left!important;
    }

    

    

    
}
