/* =========================================================
   ROOT VARIABLES
========================================================= */

:root {
    --ab-red: #e5232d;
    --ab-red-dark: #bd1720;

    --ab-navy: #10283d;

    --ab-text: #263746;
    --ab-muted: #6d7780;

    --ab-border: #e7e7e7;

    --ab-white: #ffffff;

    --ab-slider-red: #d71920;

    --ab-slider-red-dark: #a90f15;

    --ab-slider-white: #ffffff;

    --ab-slider-black: #111315;

    --ab-slider-grey: #aeb2b4;

    --ab-slider-font:
        "Rajdhani", sans-serif;

    --ab-slider-heading:
        "Rajdhani", sans-serif;
}

html {
    scroll-behavior: smooth;
}

/* =========================================
   CUSTOM SCROLLBAR
========================================= */

html {
    scrollbar-width: thin;
    scrollbar-color: #e5232d #f5f2ec;
}

/* Chrome, Edge, Safari */
::-webkit-scrollbar {
    width: 8px;
}

::-webkit-scrollbar-track {
    background: #f5f2ec;
}

::-webkit-scrollbar-thumb {
    background: #e5232d;
    border-radius: 0;
}

::-webkit-scrollbar-thumb:hover {
    background: #bd1720;
}

a,
a:focus {
    outline: none !important;
}

/* =========================================================
   BODY
========================================================= */

body {
    margin: 0;
    padding: 0;
    font-family: "Rajdhani", sans-serif;

    color: var(--ab-text);
    border-left: 5px solid var(--ab-red);

}

@media(max-width:993px) {
    body {
        text-align: center;
    }
}

a {
    text-decoration: none;
}

img {
    display: block;
    max-width: 100%;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: "Rajdhani", sans-serif;
    font-weight: 500;

    margin: 0;
}

ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.container {
    width: 80%;
    max-width: 100%;
}

@media (max-width: 1401px) {
    .container {
        width: 80%;
    }
}

@media (max-width: 1204px) {
    .container {
        width: 95%;
    }
}

figcaption,
figure {
    margin: 0;
    padding: 0;
}

button {
    font-family:
        "Poppins",
        sans-serif;
}

.cr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.cr-figure {
    margin: 0;
    padding: 0;
}








/* =====================================================
           MAIN HEADER
        ====================================================== */

.ab-main-header {

    position: relative;

    width: 100%;

    z-index: 1050;

    background: rgba(255, 255, 255, 0.98);

    border-bottom:
        1px solid rgba(0, 0, 0, 0.06);

    transition:
        all 0.35s ease;

}


/* =====================================================
           FIXED / SHRINK HEADER
        ====================================================== */

.ab-main-header.ab-header-scrolled {

    position: fixed;

    top: 0;
    left: 0;
    right: 0;

    background:
        rgba(255, 255, 255, 0.96);

    backdrop-filter: blur(14px);

    -webkit-backdrop-filter: blur(14px);

    box-shadow:
        0 8px 30px rgba(10, 20, 30, 0.11);


}


/* =====================================================
           HEADER INNER
        ====================================================== */

.ab-header-inner {

    min-height: 104px;

    display: flex;

    align-items: center;

    transition:
        min-height 0.35s ease;

}


.ab-main-header.ab-header-scrolled .ab-header-inner {

    min-height: 72px;

}


/* =====================================================
           LOGO
        ====================================================== */

.ab-brand {

    display: inline-flex;

    align-items: center;

    flex-shrink: 0;

    text-decoration: none;

    position: relative;
    /* 
            z-index: 1060; */

}


.ab-brand img {

    width: 255px;

    height: auto;

    display: block;

    object-fit: contain;

    transition:
        width 0.35s ease;

}


.ab-main-header.ab-header-scrolled .ab-brand img {

    width: 210px;

}


/* =====================================================
           BOOTSTRAP RESPONSIVE NAVBAR
           
           IMPORTANT:
           THIS IS THE ONLY MENU.
           
           The same navbar becomes the mobile offcanvas.
        ====================================================== */

.ab-navbar {

    margin-left: auto;

    padding: 0;

}


/* =====================================================
           OFFCANVAS DESKTOP RESET
           
           At desktop the Bootstrap offcanvas becomes a normal
           visible navbar.
        ====================================================== */


/* MOBILE OFFCANVAS */
@media (max-width: 991.98px) {
    .ab-navbar .offcanvas {
        position: fixed;
        top: 0;
        bottom: 0;
        left: 0;

        width: min(320px, 85vw);
        height: 100vh;
        height: 100dvh;
        max-height: 100dvh;

        overflow-x: hidden;
        overflow-y: auto;
        z-index: 1060;

        background: #ffffff;
        visibility: hidden;
    }

    .ab-navbar .offcanvas.show,
    .ab-navbar .offcanvas.showing {
        visibility: visible;
    }

    .ab-navbar .offcanvas-body {
        display: block;
        overflow-y: auto;
        padding: 20px;
    }

    .ab-navbar .offcanvas-header {
        display: flex;
        align-items: center;
        justify-content: space-between;
    }
}

/* DESKTOP NAVIGATION */
@media (min-width: 992px) {
    .ab-navbar .offcanvas {
        position: static;
        width: auto !important;
        height: auto !important;
        max-height: none;
        visibility: visible !important;
        background: transparent;
        border: 0;
        transform: none !important;
        overflow: visible;
        z-index: auto;
    }

    .ab-navbar .offcanvas-body {
        display: flex;
        align-items: center;
        justify-content: flex-end;
        padding: 0;
        overflow: visible;
    }

    .ab-navbar .offcanvas-header {
        display: none;
    }
}


/* =====================================================
           NAVIGATION LIST
        ====================================================== */

.ab-navbar .navbar-nav {

    display: flex;

    align-items: center;

    gap: 3px;

}


/* =====================================================
           NAV LINK
           
           NEW HOVER EFFECT:
           No bottom line.
           No corner boxes.
           A subtle red vertical accent + soft pill.
        ====================================================== */

.ab-navbar .nav-link {

    position: relative;

    display: inline-flex;

    align-items: center;

    justify-content: center;

    min-height: 46px;

    padding:
        10px 15px !important;

    color: #56616b;

    background: transparent;

    border-radius: 8px;

    font-size: 15px;

    font-weight: 600;

    white-space: nowrap;

    transition:
        color 0.25s ease,
        background 0.25s ease,
        padding-left 0.25s ease;

}


/* =====================================================
           CREATIVE HOVER ACCENT
           
           This uses BEFORE only.
           AFTER remains completely free for Bootstrap arrow.
        ====================================================== */

.ab-navbar .nav-link::before {

    content: "";

    position: absolute;

    left: 5px;

    top: 50%;

    width: 3px;

    height: 0;

    border-radius: 20px;

    background: var(--ab-red);

    transform:
        translateY(-50%);

    opacity: 0;

    transition:
        height 0.25s ease,
        opacity 0.25s ease;

}


.ab-navbar .nav-link:hover,
.ab-navbar .nav-link:focus {

    color: var(--ab-red);

    background:
        rgba(229, 35, 45, 0.055);


}


.ab-navbar .nav-link:hover::before,
.ab-navbar .nav-link:focus::before {

    height: 20px;

    opacity: 1;

}


/* =====================================================
           ACTIVE MENU
        ====================================================== */

.ab-navbar .nav-link.ab-active {

    color: var(--ab-red);

    background:
        rgba(229, 35, 45, 0.055);

}


.ab-navbar .nav-link.ab-active::before {

    height: 20px;

    opacity: 1;

}


/* =====================================================
           DROPDOWN TOGGLE
           
           BOOTSTRAP CARET
           
           ALWAYS VISIBLE.
           
           Right side.
           
           NOT dependent on hover.
        ====================================================== */

.ab-navbar .dropdown-toggle {

    padding-right: 29px !important;

}


.ab-navbar .dropdown-toggle::after {

    content: "";

    position: absolute;

    right: 10px;

    top: 50%;

    margin: 0;

    width: 0;

    height: 0;

    border-top:
        5px solid currentColor;

    border-right:
        4px solid transparent;

    border-left:
        4px solid transparent;

    border-bottom: 0;

    transform:
        translateY(-50%);

    opacity: 1;

    transition:
        transform 0.25s ease;

}


/* Dropdown opened */

.ab-navbar .dropdown-toggle.show::after {

    transform:
        translateY(-50%) rotate(180deg);

}


/* =====================================================
           DROPDOWN MENU
        ====================================================== */

.ab-navbar .dropdown-menu {

    min-width: 225px;

    margin-top: 0px;

    padding: 9px;

    border:
        1px solid rgba(0, 0, 0, 0.07);

    border-radius: 12px;

    background:
        #ffffff;

    box-shadow:
        0 18px 45px rgba(20, 30, 40, 0.13);

}


/* =====================================================
           DROPDOWN ITEM
           
           NO ICONS
        ====================================================== */

.ab-navbar .dropdown-item {

    position: relative;

    padding:
        11px 14px;

    color: #4b5660;

    font-size: 13px;

    font-weight: 500;

    border-radius: 7px;

    transition:
        color 0.2s ease,
        background 0.2s ease,
        padding-left 0.2s ease;

}


.ab-navbar .dropdown-item:hover,
.ab-navbar .dropdown-item:focus {

    color: var(--ab-red);

    background:
        rgba(229, 35, 45, 0.055);

    padding-left: 20px;

}


/* =====================================================
           ENQUIRE NOW
           
           NEW HOVER EFFECT
        ====================================================== */

.ab-enquiry-wrap {

    margin-left: 24px;

}


.ab-enquiry-btn {

    position: relative;

    overflow: hidden;

    display: inline-flex;

    align-items: center;

    justify-content: center;

    gap: 9px;

    min-width: 137px;

    min-height: 46px;

    padding:
        11px 19px;

    color: #ffffff;

    background:
        var(--ab-red);

    border:
        1px solid var(--ab-red);

    border-radius: 5px;

    text-decoration: none;

    font-size: 14px;

    font-weight: 700;

    letter-spacing: 0.02em;

    box-shadow:
        0 7px 18px rgba(229, 35, 45, 0.16);

    transition:
        transform 0.3s ease,
        box-shadow 0.3s ease,
        background 0.3s ease;

}


/* White diagonal hover layer */

.ab-enquiry-btn::before {

    content: "";

    position: absolute;

    left: -10%;

    top: 0;

    width: 0;

    height: 100%;

    background:
        rgba(255, 255, 255, 0.18);

    transform:
        skewX(-20deg);

    transition:
        width 0.45s ease;

}


.ab-enquiry-btn span,
.ab-enquiry-btn i {

    position: relative;

    z-index: 2;

}


.ab-enquiry-btn:hover {

    color: #ffffff;

    background:
        var(--ab-red-dark);

    border-color:
        var(--ab-red-dark);

    transform:
        translateY(-2px);

    box-shadow:
        0 12px 26px rgba(229, 35, 45, 0.25);

}


.ab-enquiry-btn:hover::before {

    width: 125%;

}


.ab-enquiry-btn i {

    transition:
        transform 0.25s ease;

}


.ab-enquiry-btn:hover i {

    transform:
        translateX(5px);

}


/* =====================================================
           MOBILE OFFCANVAS
           
           Same menu.
           Opens LEFT -> RIGHT.
        ====================================================== */

.ab-navbar .offcanvas {

    background:
        linear-gradient(145deg,
            #ffffff 0%,
            #fbfbfa 55%,
            #f5f5f3 100%);
    z-index: 2001;

}


/* =====================================================
           MOBILE OFFCANVAS HEADER
        ====================================================== */

.ab-offcanvas-header {

    min-height: 88px;

    padding:
        18px 22px;

    border-bottom:
        1px solid rgba(0, 0, 0, 0.07);

}


.ab-offcanvas-logo {

    width: 185px;

    height: auto;

}


/* =====================================================
           MOBILE CLOSE BUTTON
        ====================================================== */

.ab-offcanvas-close {
    position: absolute;
    right: 20px;
    width: 42px;

    height: 42px;

    padding: 0;

    border-radius: 50%;

    background:
        #f3f3f2;

    border:
        1px solid #e2e2e2;

    display: flex;

    align-items: center;

    justify-content: center;

    color:
        var(--ab-navy);

    font-size: 16px;

    transition:
        background 0.25s ease,
        color 0.25s ease,
        transform 0.3s ease;

}


.ab-offcanvas-close:hover {

    background:
        var(--ab-red);

    border-color:
        var(--ab-red);

    color:
        #ffffff;

    transform:
        rotate(90deg);

}


/* =====================================================
           MOBILE MENU
        ====================================================== */

@media (max-width: 991.98px) {

    .ab-navbar .offcanvas-body {

        padding:
            18px 20px 30px;

    }


    .ab-navbar .navbar-nav {

        width: 100%;

        align-items: stretch;

        gap: 4px;

    }


    .ab-navbar .nav-item {

        width: 100%;

    }


    .ab-navbar .nav-link {

        width: 100%;

        justify-content: flex-start;

        min-height: 52px;

        padding:
            14px 14px !important;

        border-radius: 8px;

    }


    .ab-navbar .nav-link:hover::before,
    .ab-navbar .nav-link:focus::before {

        height: 22px;

    }


    /* Mobile dropdown arrow */

    .ab-navbar .dropdown-toggle {

        justify-content: space-between;

        padding-right: 18px !important;

    }


    .ab-navbar .dropdown-toggle::after {

        position: static;

        margin-left: auto;

        transform:
            rotate(0deg);

    }


    .ab-navbar .dropdown-toggle.show::after {

        transform:
            rotate(180deg);

    }


    /* Mobile dropdown */

    .ab-navbar .dropdown-menu {

        position: static !important;

        transform: none !important;

        width: 100%;

        margin:
            0 0 5px;

        padding:
            5px 0 7px 13px;

        border: 0;

        border-left:
            1px solid rgba(229,
                35,
                45,
                0.20);

        border-radius: 0;

        box-shadow: none;

        background: transparent;

    }


    .ab-navbar .dropdown-item {

        padding:
            11px 14px;

    }


    .ab-navbar .dropdown-item:hover {

        padding-left:
            20px;

    }


    /* Enquiry */

    .ab-enquiry-wrap {

        margin:
            22px 0 0;

        padding-top:
            20px;

        border-top:
            1px solid rgba(0, 0, 0, 0.07);

    }


    .ab-enquiry-btn {

        width: 100%;

        min-height: 52px;

    }

}


/* =====================================================
           MOBILE HEADER
        ====================================================== */

@media (max-width: 991.98px) {

    .ab-header-inner {

        min-height: 82px;

    }


    .ab-main-header.ab-header-scrolled .ab-header-inner {

        min-height: 66px;

    }


    .ab-brand img {

        width: 215px;

    }


    .ab-main-header.ab-header-scrolled .ab-brand img {

        width: 185px;

    }


    .ab-navbar {

        margin-left: auto;

    }


    .ab-mobile-toggle {

        width: 48px;

        height: 48px;

        padding: 0;

        margin-left: auto;

        border:
            1px solid rgba(16,
                40,
                61,
                0.13);

        border-radius: 50%;

        background:
            #ffffff;

        display: flex;

        align-items: center;

        justify-content: center;

        box-shadow:
            0 5px 18px rgba(0, 0, 0, 0.07);

    }

}


/* =====================================================
           CREATIVE MOBILE TOGGLE
        ====================================================== */

.ab-toggle-lines {

    width: 21px;

    height: 16px;

    display: flex;

    flex-direction: column;

    justify-content: space-between;

}


.ab-toggle-lines span {

    display: block;

    width: 100%;

    height: 2px;

    background:
        var(--ab-navy);

    border-radius: 20px;

    transition:
        width 0.25s ease,
        background 0.25s ease;

}


.ab-toggle-lines span:nth-child(2) {

    width: 70%;

    margin-left: auto;

}


.ab-mobile-toggle:hover {

    background:
        var(--ab-red);

    border-color:
        var(--ab-red);

}


.ab-mobile-toggle:hover .ab-toggle-lines span {

    background:
        #ffffff;

}


.ab-mobile-toggle:hover .ab-toggle-lines span:nth-child(2) {

    width: 100%;

}



/* Remove blue browser/Bootstrap focus outline */
.ab-navbar .nav-link:focus,
.ab-navbar .nav-link:focus-visible,
.ab-navbar .dropdown-toggle:focus,
.ab-navbar .dropdown-toggle:focus-visible {
    outline: none !important;
    box-shadow: none !important;
}


/* Keep your custom menu appearance when focused */
.ab-navbar .nav-link:focus {
    color: #56616b;
    background: transparent;
}


/* Dropdown opened state */
.ab-navbar .dropdown-toggle.show {
    color: var(--ab-red);
    background: rgba(229, 35, 45, 0.055);
}


/* Remove Bootstrap's blue focus ring */
.ab-navbar .dropdown-toggle:focus {
    box-shadow: none !important;
}

/* =====================================================
           MOBILE
        ====================================================== */

@media (max-width: 575.98px) {

    .ab-header-inner {

        min-height: 72px;

    }


    .ab-main-header.ab-header-scrolled .ab-header-inner {

        min-height: 62px;

    }


    .ab-brand img {

        width: 185px;

    }


    .ab-main-header.ab-header-scrolled .ab-brand img {

        width: 165px;

    }


    .ab-mobile-toggle {

        width: 44px;

        height: 44px;

    }


    .ab-offcanvas-header {

        min-height: 78px;

        padding:
            17px 20px;

    }


    .ab-offcanvas-logo {

        width: 170px;

    }

}





/* =====================================================
           HERO SLIDER
        ====================================================== */

.ab-slider {

    position:
        relative;

    width:
        100%;

    height:
        calc(100vh - 108px);

    min-height:
        650px;

    overflow:
        hidden;

    background:
        var(--ab-slider-black);

}


/* =====================================================
           CAROUSEL
        ====================================================== */

.ab-slider .carousel,

.ab-slider .carousel-inner,

.ab-slider .carousel-item {

    height:
        100%;

}


/* =====================================================
           SLIDE IMAGE
        ====================================================== */

.ab-slider-image {

    position:
        absolute;

    inset:
        0;

    width:
        100%;

    height:
        100%;

    object-fit:
        cover;

    object-position:
        center;

    transform:
        scale(1.05);

    transition:
        transform 7s cubic-bezier(.2, .6, .2, 1);

}


.ab-slider .carousel-item.active .ab-slider-image {

    transform:
        scale(1);

}


/* =====================================================
           IMAGE DARK OVERLAY
        ====================================================== */

/* .ab-slider-overlay {

            position:
                absolute;

            inset:
                0;

            z-index:
                1;

            background:
                linear-gradient(
                    90deg,
                    rgba(0,0,0,0.82) 0%,
                    rgba(0,0,0,0.62) 35%,
                    rgba(0,0,0,0.22) 70%,
                    rgba(0,0,0,0.42) 100%
                );

        } */


/* =====================================================
           SECOND OVERLAY
        ====================================================== */

.ab-slider-overlay::after {

    content:
        "";

    position:
        absolute;

    inset:
        0;

    background:
        linear-gradient(0deg,
            rgba(0, 0, 0, 0.72) 0%,
            transparent 38%);

}


/* =====================================================
           SLIDE CONTENT WRAPPER
        ====================================================== */

.ab-slider-content {

    position:
        relative;

    z-index:
        5;

    height:
        100%;

    display:
        flex;

    align-items:
        center;

}


/* =====================================================
           CONTENT
        ====================================================== */

.ab-slider-content-inner {

    max-width:
        850px;

    padding-left:
        90px;

    padding-bottom:
        30px;

}


/* =====================================================
           SMALL TOP LABEL
        ====================================================== */

.ab-slider-eyebrow {

    display:
        inline-flex;

    align-items:
        center;

    gap:
        12px;

    margin-bottom:
        22px;

    color:
        var(--ab-navy);

    font-size:
        11px;

    font-weight:
        700;

    letter-spacing:
        0.22em;

    text-transform:
        uppercase;

    opacity:
        0;

    transform:
        translateY(20px);

}


.ab-slider-eyebrow::before {

    content:
        "";

    width:
        42px;

    height:
        2px;

    background:
        var(--ab-slider-red);

}


/* =====================================================
           ANIMATION
        ====================================================== */

.ab-slider .carousel-item.active .ab-slider-eyebrow {

    animation:
        abSliderUp 0.8s 0.15s ease forwards;

}


/* =====================================================
           MAIN HEADING
        ====================================================== */

.ab-slider-title {

    margin:
        0;

    color:
        var(--ab-navy);

    font-family:
        var(--ab-slider-heading);

    font-size:
        clamp(48px,
            6.2vw,
            74px);

    line-height:
        0.98;

    font-weight:
        800;

    letter-spacing:
        -0.055em;

    opacity:
        0;

    transform:
        translateY(45px);

}


.ab-slider .carousel-item.active .ab-slider-title {

    animation:
        abSliderUp 0.9s 0.25s ease forwards;

}


/* =====================================================
           RED TITLE WORD
        ====================================================== */

.ab-slider-title span {

    color:
        var(--ab-slider-red);

}


/* =====================================================
           DESCRIPTION
        ====================================================== */

.ab-slider-description {

    max-width:
        580px;

    margin:
        28px 0 0;

    color:
        rgba(0, 0, 0, 0.78);

    font-size:
        17px;

    line-height:
        1.75;

    opacity:
        0;

    transform:
        translateY(25px);

}


.ab-slider .carousel-item.active .ab-slider-description {

    animation:
        abSliderUp 0.8s 0.4s ease forwards;

}


/* =====================================================
           BUTTON AREA
        ====================================================== */

.ab-slider-buttons {

    display:
        flex;

    align-items:
        center;

    flex-wrap:
        wrap;

    gap:
        12px;

    margin-top:
        35px;

    opacity:
        0;

    transform:
        translateY(25px);

}


.ab-slider .carousel-item.active .ab-slider-buttons {

    animation:
        abSliderUp 0.8s 0.5s ease forwards;

}


/* =====================================================
           PRIMARY BUTTON
        ====================================================== */

.ab-slider-primary {

    position:
        relative;

    min-width:
        185px;

    min-height:
        52px;

    display:
        inline-flex;

    align-items:
        center;

    justify-content:
        center;

    gap:
        14px;

    overflow:
        hidden;

    padding:
        0 22px;

    background:
        var(--ab-slider-red);

    color:
        #ffffff;

    border:
        1px solid var(--ab-slider-red);

    border-radius:
        10px;

    text-decoration:
        none;

    font-size:
        11px;

    font-weight:
        800;

    letter-spacing:
        0.08em;

    transition:
        all 0.35s ease;

}


.ab-slider-primary::before {

    content:
        "";

    position:
        absolute;

    left:
        -110%;

    top:
        0;

    width:
        100%;

    height:
        100%;

    background:
        rgba(255, 255, 255, 0.14);

    transform:
        skewX(-25deg);

    transition:
        left 0.5s ease;

}


.ab-slider-primary:hover {

    color:
        #ffffff;

    transform:
        translateY(-3px);

    box-shadow:
        0 15px 35px rgba(215, 25, 32, 0.3);

}


.ab-slider-primary:hover::before {

    left:
        110%;

}


.ab-slider-primary i {

    position:
        relative;

    transition:
        transform 0.3s ease;

}


.ab-slider-primary:hover i {

    transform:
        translate(4px, -4px);

}


/* =====================================================
           SECONDARY BUTTON
        ====================================================== */

.ab-slider-secondary {

    min-width:
        170px;

    min-height:
        52px;

    display:
        inline-flex;

    align-items:
        center;

    justify-content:
        center;

    padding:
        0 22px;

    color:
        var(--ab-navy);

    background:
        rgba(16, 40, 61, 0.07);

    border:
        1px solid rgba(16, 40, 61, 0.35);

    border-radius:
        10px;

    text-decoration:
        none;

    font-size:
        11px;

    font-weight:
        800;

    letter-spacing:
        0.08em;

    backdrop-filter:
        blur(8px);

    transition:
        all 0.35s ease;

}


.ab-slider-secondary:hover {

    color:
        #fff;

    background:
        var(--ab-navy);

    border-color:
        var(--ab-navy);

    transform:
        translateY(-3px);

}


/* =====================================================
           VERTICAL BRAND LABEL
        ====================================================== */

.ab-slider-vertical {

    position:
        absolute;

    left:
        30px;

    top:
        50%;

    z-index:
        7;

    display:
        flex;

    align-items:
        center;

    gap:
        15px;

    color:
        rgba(16, 40, 61, 0.9);

    font-size:
        10px;

    font-weight:
        bold;

    letter-spacing:
        0.3em;

    writing-mode:
        vertical-rl;

    transform:
        translateY(-50%) rotate(180deg);

    text-transform:
        uppercase;

}


.ab-slider-vertical::before {

    content:
        "";

    width:
        1px;

    height:
        70px;

    background:
        rgba(16, 40, 61, 0.35);

}


/* =====================================================
           SLIDE NUMBER
        ====================================================== */

.ab-slider-number {

    position:
        absolute;

    left:
        85px;

    top:
        10%;

    z-index:
        7;

    transform:
        translateY(-50%);

    display:
        flex;

    align-items:
        baseline;

    gap:
        9px;

    color:
        var(--ab-navy);

    font-family:
        var(--ab-slider-heading);

    font-size:
        54px;

    font-weight:
        800;

    line-height:
        1;

}


.ab-slider-number small {

    color:
        var(--ab-slider-red);

    font-size:
        15px;

    font-weight:
        700;

}


/* =====================================================
           PROJECT INFORMATION
        ====================================================== */

.ab-slider-project-info {

    position:
        absolute;

    right:
        85px;

    bottom:
        72px;

    z-index:
        7;

    width:
        220px;

    padding:
        17px 0 0;

    border-top:
        1px solid rgba(255, 255, 255, 0.3);

}


.ab-slider-project-label {

    color:
        rgba(255, 255, 255, 0.55);

    font-size:
        9px;

    font-weight:
        700;

    letter-spacing:
        0.16em;

    text-transform:
        uppercase;

}


.ab-slider-project-name {

    margin-top:
        7px;

    color:
        #ffffff;

    font-family:
        var(--ab-slider-heading);

    font-size:
        15px;

    font-weight:
        700;

}


.ab-slider-project-location {

    margin-top:
        4px;

    color:
        rgba(255, 255, 255, 0.55);

    font-size:
        10px;

}


/* =====================================================
           BOTTOM INDICATOR AREA
        ====================================================== */

.ab-slider-bottom {

    position:
        absolute;

    left:
        90px;

    right:
        85px;

    bottom:
        25px;

    z-index:
        10;

    display:
        flex;

    align-items:
        center;

    gap:
        20px;

}


/* =====================================================
           PROGRESS
        ====================================================== */

.ab-slider-progress {

    width:
        260px;

    height:
        2px;

    overflow:
        hidden;

    background:
        rgba(255, 255, 255, 0.25);

}


.ab-slider-progress-bar {

    width:
        33.333%;

    height:
        100%;

    background:
        var(--ab-slider-red);

    transition:
        width 0.5s ease;

}


/* =====================================================
           INDICATOR LABEL
        ====================================================== */

.ab-slider-scroll-text {

    color:
        rgba(255, 255, 255, 0.55);

    font-size:
        9px;

    font-weight:
        700;

    letter-spacing:
        0.2em;

    text-transform:
        uppercase;

}


/* =====================================================
           CAROUSEL CONTROLS
        ====================================================== */

.ab-slider-control {

    position:
        absolute;

    bottom:
        auto;

    top:
        56px;

    width:
        46px;

    height:
        46px;

    z-index:
        12;

    display:
        flex;

    align-items:
        center;

    justify-content:
        center;

    opacity:
        1;

    background:
        rgba(255, 255, 255, 0.08);

    border:
        1px solid rgba(255, 255, 255, 0.3);

    border-radius:
        50%;

    backdrop-filter:
        blur(8px);

    transition:
        all 0.3s ease;

}


.ab-slider-control:hover {

    background:
        var(--ab-slider-red);

    border-color:
        var(--ab-slider-red);

    transform:
        translateY(-3px);

}


.ab-slider-control i {

    color:
        #ffffff;

    font-size:
        14px;

}


.ab-slider-control-prev {

    right:
        140px;

    left:
        auto;

}


.ab-slider-control-next {

    right:
        85px;

}


/* =====================================================
           ANIMATION
        ====================================================== */

@keyframes abSliderUp {

    0% {

        opacity:
            0;

        transform:
            translateY(35px);

    }

    100% {

        opacity:
            1;

        transform:
            translateY(0);

    }

}


/* =====================================================
           TABLET
        ====================================================== */

@media (max-width: 1199.98px) {

    .ab-slider {

        height:
            calc(100vh - 100px);

    }


    .ab-slider-content-inner {

        padding-left:
            80px;

    }


    .ab-slider-number {

        right:
            55px;

    }


    .ab-slider-project-info {

        right:
            55px;

    }


    .ab-slider-bottom {

        left:
            80px;

        right:
            55px;

    }


    .ab-slider-control-prev {

        right:
            115px;

    }


    .ab-slider-control-next {

        right:
            60px;

    }

}


/* =====================================================
           MOBILE / TABLET
        ====================================================== */

@media (max-width: 991.98px) {

    .ab-slider {

        height:
            calc(100svh - 82px);

        min-height:
            600px;

    }


    .ab-slider-overlay {

        background:
            linear-gradient(90deg,
                rgba(0, 0, 0, 0.28),
                rgba(0, 0, 0, 0.18));

    }


    .ab-slider-content-inner {

        padding-left:
            60px;

        padding-right:
            60px;

    }


    .ab-slider-title {

        font-size:
            clamp(46px,
                9vw,
                72px);

    }


    .ab-slider-number {

        top:
            90px;

        right:
            35px;

        transform:
            none;

        font-size:
            40px;

    }


    .ab-slider-project-info {

        display:
            none;

    }


    .ab-slider-vertical {

        left:
            20px;

    }


    .ab-slider-bottom {

        left:
            60px;

        right:
            35px;

    }


    .ab-slider-progress {

        width:
            180px;

    }


    .ab-slider-control {

        bottom:
            58px;

    }


    .ab-slider-control-prev {

        right:
            100px;

    }


    .ab-slider-control-next {

        right:
            45px;

    }

}


/* =====================================================
           MOBILE
        ====================================================== */

@media (max-width: 575.98px) {

    .ab-slider {

        height:
            calc(100svh - 72px);

        min-height:
            600px;

    }


    .ab-slider-image {

        object-position:
            58% center;

    }


    .ab-slider-content {

        align-items:
            center;

    }


    .ab-slider-content-inner {

        padding:
            30px 25px 80px 45px;

    }


    .ab-slider-eyebrow {

        margin-bottom:
            17px;

        font-size:
            9px;

        letter-spacing:
            0.16em;

    }


    .ab-slider-eyebrow::before {

        width:
            25px;

    }


    .ab-slider-title {

        font-size:
            clamp(43px,
                13vw,
                62px);

        line-height:
            1;

    }


    .ab-slider-description {

        margin-top:
            20px;

        font-size:
            13px;

        line-height:
            1.65;

    }


    .ab-slider-buttons {

        margin-top:
            27px;

        gap:
            9px;

    }


    .ab-slider-primary,

    .ab-slider-secondary {

        min-width:
            0;

        min-height:
            47px;

        padding:
            0 15px;

        font-size:
            9px;

    }


    .ab-slider-primary {

        flex:
            1;

    }


    .ab-slider-secondary {

        flex:
            1;

    }


    .ab-slider-vertical {

        display:
            none;

    }


    .ab-slider-number {

        top:
            28px;

        right:
            25px;

        font-size:
            29px;

    }


    .ab-slider-number small {

        font-size:
            10px;

    }


    .ab-slider-bottom {

        left:
            45px;

        right:
            25px;

        bottom:
            20px;

        gap:
            10px;

    }


    .ab-slider-progress {

        width:
            100%;

        flex:
            1;

    }


    .ab-slider-scroll-text {

        display:
            none;

    }


    .ab-slider-control {

        bottom:
            61px;

        width:
            38px;

        height:
            38px;

    }


    .ab-slider-control-prev {

        right:
            73px;

    }


    .ab-slider-control-next {

        right:
            25px;

    }

}

/* =========================================================
   FINAL ARUN BHANDARY BUILDERS IMAGE VISIBILITY FIX
   ---------------------------------------------------------
   The slider uses the natural image ratio.
   The complete image is always visible.
   No object-fit: cover and no fixed viewport height.
   ========================================================= */

/* =========================================================
   ARUN BHANDARY HERO SLIDER
   RESPONSIVE ONLY
   ========================================================= */

.ab-slider {
    position: relative !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow: hidden !important;
    background: #d8d3ca !important;
}


/* =========================================================
   CAROUSEL
   ========================================================= */

.ab-slider .carousel,
.ab-slider .carousel-inner,
.ab-slider .carousel-item {
    position: relative !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
}

.ab-slider .carousel-inner {
    overflow: hidden !important;
}


/* =========================================================
   IMAGE
   Natural image ratio controls slider height
   ========================================================= */

.ab-slider-image {
    position: relative !important;
    /* 
    display: block !important; */

    width: 100% !important;
    height: auto !important;

    min-width: 0 !important;
    min-height: 0 !important;

    max-width: 100% !important;
    max-height: none !important;

    margin: 0 !important;
    padding: 0 !important;

    object-fit: contain !important;
    object-position: center center !important;

    transform: none !important;
}


/* =========================================================
   CONTENT
   ========================================================= */

.ab-slider-content {
    position: absolute !important;
    inset: 0 !important;

    z-index: 5 !important;

    width: 100% !important;
    height: 100% !important;

    min-height: 0 !important;
}


/* =========================================================
   CONTENT INNER
   Keep original desktop alignment
   ========================================================= */

.ab-slider-content-inner {
    width: 100% !important;
    height: 100% !important;

    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: flex-start !important;

    padding: 40px 7% !important;
}


/* =========================================================
   OVERLAY
   ========================================================= */

.ab-slider-overlay {
    position: absolute !important;
    inset: 0 !important;

    z-index: 1 !important;

    width: 100% !important;
    height: 100% !important;

    pointer-events: none !important;
}

.ab-slider-overlay::after {
    position: absolute !important;
    inset: 0 !important;

    width: 100% !important;
    height: 100% !important;
}


/* =========================================================
   DESKTOP
   ========================================================= */

@media (min-width: 992px) {

    .ab-slider,
    .ab-slider .carousel,
    .ab-slider .carousel-inner,
    .ab-slider .carousel-item {
        width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
    }

    .ab-slider-image {
        width: 100% !important;
        height: auto !important;

        min-width: 0 !important;
        min-height: 0 !important;

        max-width: 100% !important;
        max-height: none !important;

        object-fit: contain !important;
        object-position: center center !important;

        transform: none !important;
    }

    .ab-slider-content-inner {
        width: 100% !important;
        height: 100% !important;

        padding: 50px 7% !important;

        justify-content: center !important;
        align-items: flex-start !important;

        text-align: left !important;
    }
}


/* =========================================================
   TABLET
   768px - 991px
   ========================================================= */

@media (min-width: 768px) and (max-width: 991.98px) {

    .ab-slider,
    .ab-slider .carousel,
    .ab-slider .carousel-inner,
    .ab-slider .carousel-item {
        width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
    }

    .ab-slider-image {
        /* display: block !important; */

        width: 100% !important;
        height: auto !important;

        min-width: 0 !important;
        min-height: 0 !important;

        max-width: 100% !important;
        max-height: none !important;

        object-fit: contain !important;
        object-position: center center !important;

        transform: none !important;
    }

    .ab-slider-content {
        width: 100% !important;
        height: 100% !important;
    }

    .ab-slider-content-inner {
        width: 100% !important;
        height: 100% !important;

        padding: 35px 6% !important;

        justify-content: center !important;
        align-items: flex-start !important;

        text-align: left !important;
    }

    .ab-slider-eyebrow {
        font-size: 9px !important;
        margin-bottom: 10px !important;
    }

    .ab-slider-title {
        max-width: 55% !important;

        font-size: clamp(34px, 5vw, 52px) !important;

        line-height: 1 !important;
    }

    .ab-slider-description {
        max-width: 45% !important;

        font-size: 13px !important;
        line-height: 1.7 !important;

        margin-top: 12px !important;
    }

    .ab-slider-buttons {
        margin-top: 16px !important;
    }

    .ab-slider-primary,
    .ab-slider-secondary {
        min-height: 38px !important;
        height: 38px !important;

        padding: 0 15px !important;

        font-size: 9px !important;
    }

    .ab-slider-number {
        top: 22px !important;
        right: 25px !important;

        font-size: 30px !important;
    }

    .ab-slider-vertical {
        left: 15px !important;
    }

    .ab-slider-bottom {
        left: 6% !important;
        right: 6% !important;
        bottom: 12px !important;
    }
}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 767.98px) {

    /* -----------------------------------------
       SLIDER
       ----------------------------------------- */

    .ab-slider {
        width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;

        overflow: hidden !important;
    }

    .ab-slider .carousel,
    .ab-slider .carousel-inner,
    .ab-slider .carousel-item {
        width: 100% !important;

        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
    }


    /* -----------------------------------------
       IMAGE
       ----------------------------------------- */

    .ab-slider-image {
        /* display: block !important; */

        width: 100% !important;
        height: auto !important;

        min-width: 100% !important;
        min-height: 0 !important;

        max-width: 100% !important;
        max-height: none !important;

        object-fit: contain !important;
        object-position: center center !important;

        transform: none !important;
    }


    /* -----------------------------------------
       CONTENT
       ----------------------------------------- */

    .ab-slider-content {
        position: absolute !important;

        inset: 0 !important;

        width: 100% !important;
        height: 100% !important;

        overflow: hidden !important;
    }

    .ab-slider-content-inner {
        width: 100% !important;
        height: 100% !important;

        padding: 25px 20px !important;

        display: flex !important;

        flex-direction: column !important;

        justify-content: center !important;

        align-items: flex-start !important;

        text-align: left !important;
    }


    /* -----------------------------------------
       EYEBROW
       ----------------------------------------- */

    .ab-slider-eyebrow {
        margin-bottom: 7px !important;

        font-size: 10px !important;

        line-height: 1.2 !important;

        letter-spacing: .12em !important;
    }

    .ab-slider-eyebrow::before {
        width: 15px !important;

        margin-right: 6px !important;
    }

    .ab-slider-secondary {
        color: #cce7ff;
    }


    /* -----------------------------------------
       TITLE
       ----------------------------------------- */

    .ab-slider-title {
        width: 100% !important;

        max-width: 60% !important;

        margin: 0 !important;

        font-size: clamp(24px,
                7vw,
                34px) !important;

        line-height: .98 !important;

        letter-spacing: -.02em !important;
    }


    /* -----------------------------------------
       DESCRIPTION
       ----------------------------------------- */

    .ab-slider-description {
        width: 100% !important;

        max-width: 52% !important;

        margin-top: 8px !important;

        font-size: 14px !important;

        line-height: 1.4 !important;
        color: #fff;
    }


    /* -----------------------------------------
       BUTTONS
       ----------------------------------------- */

    .ab-slider-buttons {
        display: flex !important;

        flex-wrap: wrap !important;

        gap: 6px !important;

        margin-top: 10px !important;
    }

    .ab-slider-primary,
    .ab-slider-secondary {
        min-height: 28px !important;
        height: auto !important;

        padding: 10px 10px !important;

        font-size: 10.5px !important;

        letter-spacing: .06em !important;

        white-space: nowrap !important;
    }

    .ab-slider-primary i {
        margin-left: 5px !important;
    }


    /* -----------------------------------------
       NUMBER
       ----------------------------------------- */

    .ab-slider-number {
        top: 12px !important;
        right: 14px !important;

        font-size: 19px !important;

        line-height: 1 !important;
    }

    .ab-slider-number small {
        font-size: 6px !important;
    }


    /* -----------------------------------------
       VERTICAL TEXT
       ----------------------------------------- */

    .ab-slider-vertical {
        display: none !important;
    }


    /* -----------------------------------------
       PROJECT INFO
       ----------------------------------------- */

    .ab-slider-project-info {
        left: 20px !important;
        bottom: 9px !important;
    }


    /* -----------------------------------------
       BOTTOM AREA
       ----------------------------------------- */

    .ab-slider-bottom {
        left: 20px !important;
        right: 20px !important;

        bottom: 5px !important;

        gap: 6px !important;
    }

    .ab-slider-progress {
        width: 100% !important;

        max-width: 130px !important;

        height: 2px !important;
    }

    .ab-slider-scroll-text {
        display: none !important;
    }


    /* -----------------------------------------
       ARROWS
       ----------------------------------------- */

    .ab-slider-control {
        bottom: 28px !important;

        width: 28px !important;
        height: 28px !important;
    }

    .ab-slider-control-prev {
        right: 49px !important;

        left: auto !important;
    }

    .ab-slider-control-next {
        right: 14px !important;

        left: auto !important;
    }

    .ab-slider-control i {
        font-size: 9px !important;
    }
}


/* =========================================================
   SMALL MOBILE
   ========================================================= */

@media (max-width: 575.98px) {

    .ab-slider-content-inner {
        padding: 20px 17px !important;
    }

    .ab-slider-eyebrow {
        font-size: 12px !important;

        margin-bottom: 6px !important;
    }

    .ab-slider-eyebrow::before {
        width: 13px !important;

        margin-right: 5px !important;
    }

    .ab-slider-title {
        max-width: 62% !important;

        font-size: clamp(22px,
                7vw,
                30px) !important;
    }

    .ab-slider-description {
        max-width: 55% !important;

        margin-top: 7px !important;

        font-size: 13.5px !important;

        line-height: 1.85 !important;
        margin-bottom: 20px;
    }

    .ab-slider-buttons {
        margin-top: 8px !important;

        gap: 5px !important;
    }

    .ab-slider-primary,
    .ab-slider-secondary {
        min-height: 26px !important;
        /* height: 26px !important; */

        /* padding: 0 8px !important;

        font-size: 6px !important; */
        padding: 10px 20px !important;
    }

    .ab-slider-number {
        top: 9px !important;
        right: 11px !important;

        font-size: 17px !important;
    }

    .ab-slider-control {
        bottom: 25px !important;

        width: 26px !important;
        height: 26px !important;
    }

    .ab-slider-control-prev {
        right: 44px !important;
    }

    .ab-slider-control-next {
        right: 11px !important;
    }

    .ab-slider-progress {
        max-width: 110px !important;
    }
}


/* =========================================================
   EXTRA SMALL MOBILE
   ========================================================= */

@media (max-width: 400px) {

    .ab-slider-content-inner {
        padding: 16px 14px !important;
    }

    .ab-slider-title {
        max-width: 64% !important;

        font-size: 21px !important;

        line-height: 1 !important;
    }

    .ab-slider-description {
        max-width: 57% !important;

        font-size: 7px !important;

        line-height: 1.3 !important;
    }

    .ab-slider-buttons {
        margin-top: 7px !important;
    }

    .ab-slider-primary,
    .ab-slider-secondary {
        min-height: 24px !important;
        height: 24px !important;

        padding: 0 7px !important;

        font-size: 5.7px !important;
    }

    .ab-slider-number {
        font-size: 16px !important;
    }

    .ab-slider-control {
        width: 24px !important;
        height: 24px !important;
    }

    .ab-slider-control-prev {
        right: 41px !important;
    }

    .ab-slider-control-next {
        right: 10px !important;
    }
}

/* =========================================================
   IMPORTANT:
   Do not add height:100vh / 100svh to .ab-slider.
   Do not use object-fit:cover on .ab-slider-image.
   ========================================================= */






/* =========================================================
   ARUN BHANDARY BUILDERS
   WELCOME SECTION
   BOOTSTRAP 5
========================================================= */

/* =========================================================
   ARUN BHANDARY BUILDERS
   WELCOME SECTION - OPTION 4
========================================================= */
.abb-welcome4-section {

    --abb4-red: #e5232d;
    --abb4-red-dark: #bd1720;
    --abb4-navy: #10283d;
    --abb4-text: #263746;
    --abb4-muted: #747b81;
    --abb4-border: #ddd9d0;
    --abb4-cream: #f7f4ee;
    --abb4-white: #ffffff;

    position: relative;

    width: 100%;

    overflow: hidden;

    background: var(--abb4-cream);

}


/* =========================================================
   MAIN CONTAINER
========================================================= */

.abb-welcome4-container {

    position: relative;

    padding-left: 0;

    padding-right: 0;

}


/* =========================================================
   LEFT GALLERY
========================================================= */

.abb-welcome4-gallery {

    position: relative;

    height: 100%;

    min-height: 690px;

    padding:

        70px 45px 70px 50px;

    background: #f1eee7;

    display: flex;

    flex-direction: column;

    justify-content: center;

    gap: 18px;

}


/* vertical line */

.abb-welcome4-gallery-line {

    position: absolute;

    top: 50px;

    right: 18px;

    bottom: 50px;

    width: 1px;

    background:

        rgba(16, 40, 61, .16);

}


/* =========================================================
   SMALL IMAGES
========================================================= */

.abb-welcome4-small-image {

    position: relative;

    width: 100%;

    height: 245px;

    overflow: hidden;

}


.abb-welcome4-small-image::after {

    content: "";

    position: absolute;

    inset: 0;

    background:

        linear-gradient(180deg,
            transparent 55%,
            rgba(16, 40, 61, .12));

    pointer-events: none;

}


.abb-welcome4-small-image img {

    width: 100%;

    height: 100%;

    display: block;

    object-fit: contain;

    object-position: center center;

    background: #e7e3db;

    transition: none;

}


.abb-welcome4-small-image:hover img {

    transform: none;

}


/* =========================================================
   VERTICAL TEXT - CLEAR / VISIBLE
========================================================= */

.abb-welcome4-vertical-text {

    position: absolute;

    z-index: 10;

    right: 8px;

    top: 50%;

    transform: translateY(-50%);

    width: 30px;

    min-height: 285px;

    padding: 16px 7px;

    display: flex;

    flex-direction: column;

    align-items: center;

    justify-content: center;

    gap: 13px;

    background: rgba(16, 40, 61, .94);

    border-left: 2px solid var(--abb4-red);

    box-shadow: 0 10px 30px rgba(16, 40, 61, .16);

    overflow: hidden;

}


.abb-welcome4-vertical-text span {

    color: #ffffff;

    font-size: 9px;

    font-weight: 700;

    letter-spacing: 2px;

    line-height: 1.3;

    writing-mode: vertical-rl;

    transform: rotate(180deg);

    white-space: nowrap;

    text-shadow: 0 1px 4px rgba(0, 0, 0, .35);

}


.abb-welcome4-vertical-text i {

    display: block;

    width: 1px;

    height: 28px;

    flex: 0 0 28px;

    background: var(--abb4-red);

}


/* =========================================================
   CENTER CONTENT
========================================================= */

.abb-welcome4-content {

    position: relative;

    height: 100%;

    min-height: 690px;

    padding:

        90px 9% 80px 10%;

    display: flex;

    flex-direction: column;

    justify-content: center;

    background: var(--abb4-cream);

}


/* =========================================================
   KICKER
========================================================= */

.abb-welcome4-kicker {

    display: flex;

    align-items: center;

    gap: 13px;

    margin-bottom: 25px;

}


.abb-welcome4-kicker span {

    width: 45px;

    height: 2px;

    background: var(--abb4-red);

}


.abb-welcome4-kicker strong {

    color: var(--abb4-muted);

    font-size: 11px;

    font-weight: 700;

    letter-spacing: 4px;

}


/* =========================================================
   TITLE
========================================================= */

.abb-welcome4-title {

    margin: 0;

    color: var(--abb4-navy);

    font-family: "Rajdhani", sans-serif;

    font-size:

        clamp(48px, 4.2vw, 76px);

    font-weight: 400;

    line-height: .92;

    letter-spacing: -3px;
    text-transform: uppercase;

}


.abb-welcome4-title span {

    display: block;

    margin-top: 8px;

    color: var(--abb4-red);

    font-size:

        clamp(28px, 2.3vw, 42px);

    line-height: 1;

    letter-spacing: -1px;

}


/* =========================================================
   DIVIDER
========================================================= */

.abb-welcome4-divider {

    width: 100%;

    height: 1px;

    margin:

        34px 0 28px;

    background:

        rgba(16, 40, 61, .12);

    position: relative;

}


.abb-welcome4-divider span {

    position: absolute;

    left: 0;

    top: -1px;

    width: 58px;

    height: 2px;

    background: var(--abb4-red);

}


/* =========================================================
   DESCRIPTION
========================================================= */

.abb-welcome4-description {

    max-width: 570px;

    margin: 0;

    color: var(--abb4-muted);

    font-size: 15px;

    line-height: 1.9;
    margin-bottom: 10px;

}

.abb-welcome4-description span {
    color: var(--ab-red)
}

/* =========================================================
   BUTTON
========================================================= */

.abb-welcome4-button {

    display: inline-flex;

    align-items: stretch;

    align-self: flex-start;

    margin-top: 32px;

    text-decoration: none;

    border: 1px solid var(--abb4-red);

    overflow: hidden;

    transition:

        transform .3s ease,

        box-shadow .3s ease;

}


.abb-welcome4-button span {

    display: flex;

    align-items: center;

    padding:

        15px 25px;

    color: var(--abb4-white);

    background: var(--abb4-red);

    font-size: 10px;

    font-weight: 700;

    letter-spacing: 2.5px;

    transition:

        background .3s ease;

}


.abb-welcome4-button i {

    display: flex;

    align-items: center;

    justify-content: center;

    width: 52px;

    color: var(--abb4-navy);

    background: transparent;

    transition:

        color .3s ease,

        background .3s ease;

}


.abb-welcome4-button:hover {

    transform:

        translateX(5px);

    box-shadow:

        0 10px 25px rgba(16, 40, 61, .12);

}


.abb-welcome4-button:hover span {

    background: var(--abb4-red-dark);

}


.abb-welcome4-button:hover i {

    color: var(--abb4-white);

    background: var(--abb4-navy);

}


/* =========================================================
   BOTTOM STATEMENT
   NOT A STAT SECTION
========================================================= */

.abb-welcome4-statement {

    display: flex;

    align-items: center;

    gap: 13px;

    margin-top: 45px;

}


.abb-welcome4-statement-line {

    width: 28px;

    height: 1px;

    background: var(--abb4-red);

}


.abb-welcome4-statement span:last-child {

    color: var(--abb4-navy);

    font-size: 10px;

    font-weight: 700;

    letter-spacing: 2px;

}


/* =========================================================
   MAIN IMAGE
========================================================= */

.abb-welcome4-main-image {

    position: relative;

    width: 100%;

    min-height: 690px;

    overflow: hidden;

    background: #ddd;

}


.abb-welcome4-main-image img {

    width: 100%;

    height: 100%;

    min-height: 690px;

    display: block;

    object-fit: contain;

    object-position: center center;

    background: #e7e3db;

    transition: none;

}


.abb-welcome4-main-image:hover img {

    transform: none;

}


/* =========================================================
   IMAGE OVERLAY
========================================================= */

.abb-welcome4-image-overlay {

    position: absolute;

    inset: 0;

    z-index: 2;

    background:

        linear-gradient(180deg,

            rgba(16, 40, 61, .02) 35%,

            rgba(16, 40, 61, .12) 55%,

            rgba(16, 40, 61, .72) 100%);

    pointer-events: none;

}


/* =========================================================
   IMAGE LABEL
========================================================= */

.abb-welcome4-image-label {

    position: absolute;

    left: 38px;

    bottom: 35px;

    z-index: 6;

    display: flex;

    flex-direction: column;

    gap: 6px;

    padding: 14px 20px;

    background: rgba(16, 40, 61, .78);

    border-left: 3px solid var(--abb4-red);

    backdrop-filter: blur(5px);

    -webkit-backdrop-filter: blur(5px);

}


.abb-welcome4-image-label span {

    color: rgba(255, 255, 255, .82);

    font-size: 10px;

    font-weight: 700;

    letter-spacing: 3px;

    line-height: 1.2;

}


.abb-welcome4-image-label strong {

    color: #ffffff;

    font-family:

        Georgia,

        "Times New Roman",

        serif;

    font-size: 21px;

    font-weight: 400;

    line-height: 1.15;

    text-shadow:
        0 2px 8px rgba(0, 0, 0, .35);

}


/* =========================================================
   RED ACCENT
========================================================= */

.abb-welcome4-red-accent {

    position: absolute;

    z-index: 5;

    top: 16%;

    left: -1px;

    width: 7px;

    height: 115px;

    background: var(--abb4-red);

}


/* =========================================================
   IMAGE FRAME
========================================================= */

.abb-welcome4-image-frame {

    position: absolute;

    z-index: 3;

    top: 28px;

    right: 28px;

    bottom: 28px;

    left: 28px;

    border:

        1px solid rgba(255, 255, 255, .30);

    pointer-events: none;

}


/* =========================================================
   BOTTOM LINE
========================================================= */

.abb-welcome4-bottom-line {

    display: flex;

    align-items: center;

    gap: 20px;

    height: 54px;

    padding:

        0 4%;

    background: var(--abb4-navy);

}


.abb-welcome4-bottom-line span {

    height: 1px;

    flex: 1;

    background:

        rgba(255, 255, 255, .15);

}


.abb-welcome4-bottom-line small {

    color:

        rgba(255, 255, 255, .55);

    font-size: 7px;

    font-weight: 700;

    letter-spacing: 3px;

    white-space: nowrap;

}


/* =========================================================
   LARGE DESKTOP
========================================================= */

@media (max-width: 1399.98px) {

    .abb-welcome4-gallery {

        padding-left: 35px;

        padding-right: 35px;

    }


    .abb-welcome4-content {

        padding-left: 8%;

        padding-right: 8%;

    }


    .abb-welcome4-title {

        font-size: 58px;
        font-weight: bold;

    }


    .abb-welcome4-title span {

        font-size: 34px;

    }

}


/* =========================================================
   LAPTOP
========================================================= */

@media (max-width: 1199.98px) {

    .abb-welcome4-gallery {

        min-height: 620px;

        padding:

            60px 30px;

    }


    .abb-welcome4-small-image {

        height: 220px;

    }


    .abb-welcome4-content {

        min-height: 620px;

        padding:

            70px 8%;

    }


    .abb-welcome4-title {

        font-size: 51px;

    }


    .abb-welcome4-title span {

        font-size: 29px;

    }


    .abb-welcome4-main-image {

        min-height: 620px;

    }


    .abb-welcome4-main-image img {

        min-height: 620px;

    }

}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 991.98px) {

    .abb-welcome4-kicker,
    .abb-welcome4-statement {
        justify-content: center;
    }

    .abb-welcome4-divider span {
        left: 50%;
        transform: translateX(-50%);
    }

    .abb-welcome4-button {
        margin-left: auto;
        margin-right: auto;
    }

    .abb-welcome4-gallery {

        min-height: 560px;

        padding:

            55px 30px;

    }


    .abb-welcome4-small-image {

        height: 205px;

    }


    .abb-welcome4-content {

        min-height: 560px;

        padding:

            55px 7%;

    }


    .abb-welcome4-title {

        font-size: 43px;

    }


    .abb-welcome4-title span {

        font-size: 25px;

    }


    .abb-welcome4-description {

        font-size: 12px;

        line-height: 1.8;

    }


    .abb-welcome4-main-image {

        min-height: 560px;

    }


    .abb-welcome4-main-image img {

        min-height: 560px;

    }


    .abb-welcome4-vertical-text {

        right: 6px;

        min-height: 240px;

        width: 27px;

        padding: 12px 5px;

    }

    .abb-welcome4-vertical-text span {

        font-size: 6px;

        letter-spacing: 1.6px;

    }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767.98px) {

    .abb-welcome4-section {

        background: var(--abb4-cream);

    }


    .abb-welcome4-gallery {

        min-height: auto;

        padding:

            18px 18px 18px;

        display: grid;

        grid-template-columns:

            1fr 1fr;

        gap: 12px;

    }


    .abb-welcome4-gallery-line {

        display: none;

    }


    .abb-welcome4-small-image {

        height: 180px;

    }


    .abb-welcome4-vertical-text {

        display: none;

    }


    .abb-welcome4-content {

        min-height: auto;

        padding:

            55px 25px 50px;

    }


    .abb-welcome4-kicker {

        margin-bottom: 20px;

    }


    .abb-welcome4-kicker strong {

        font-size: 7px;

        letter-spacing: 3px;

    }


    .abb-welcome4-title {

        font-size: 43px;

        letter-spacing: -2px;

    }


    .abb-welcome4-title span {

        margin-top: 7px;

        font-size: 25px;

    }


    .abb-welcome4-divider {

        margin:

            28px 0 23px;

    }


    .abb-welcome4-description {

        font-size: 15px;

        line-height: 1.8;

    }


    .abb-welcome4-button {

        margin-top: 27px;

    }


    .abb-welcome4-button span {

        padding:

            14px 19px;

        font-size: 10px;

        letter-spacing: 2px;

    }


    .abb-welcome4-button i {

        width: 45px;

    }


    .abb-welcome4-statement {

        margin-top: 32px;

    }


    .abb-welcome4-statement span:last-child {

        font-size: 10px;

        line-height: 1.5;

    }


    .abb-welcome4-main-image {

        min-height: 430px;

    }


    .abb-welcome4-main-image img {

        min-height: 430px;

        object-position: center;

    }


    .abb-welcome4-image-frame {

        top: 18px;

        right: 18px;

        bottom: 18px;

        left: 18px;

    }


    .abb-welcome4-image-label {

        left: 22px;

        bottom: 22px;

        padding: 11px 15px;

    }


    .abb-welcome4-image-label span {

        font-size: 7px;

        letter-spacing: 2px;

    }


    .abb-welcome4-image-label strong {

        font-size: 16px;

    }


    .abb-welcome4-red-accent {

        top: 18%;

        width: 5px;

        height: 80px;

    }


    .abb-welcome4-bottom-line {

        height: 45px;

        padding: 0 20px;

    }


    .abb-welcome4-bottom-line small {

        font-size: 5.5px;

        letter-spacing: 2px;

    }

}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media (max-width: 480px) {

    .abb-welcome4-small-image {

        height: 145px;

    }


    .abb-welcome4-content {

        padding:

            48px 21px 45px;

    }


    .abb-welcome4-title {

        font-size: 37px;

    }


    .abb-welcome4-title span {

        font-size: 22px;

    }


    .abb-welcome4-description {

        font-size: 11.5px;

    }


    .abb-welcome4-main-image {

        min-height: 350px;

    }


    .abb-welcome4-main-image img {

        min-height: 350px;

    }


    .abb-welcome4-bottom-line span {

        display: none;

    }


    .abb-welcome4-bottom-line {

        justify-content: center;

    }

}



/* =========================================================
   MAIN SECTION
========================================================= */

.abb2-stats-section {

    --abb2-red: #e5232d;
    --abb2-red-dark: #bd1720;

    --abb2-navy: #10283d;
    --abb2-text: #263746;
    --abb2-muted: #858b8f;

    --abb2-bg: #f5f4f1;
    --abb2-white: #ffffff;

    --abb2-border: #d9d9d6;

    background: var(--abb2-bg);

    overflow: hidden;

}


/* =========================================================
   MAIN ROW
========================================================= */

.abb2-stats-row {

    border-top: 1px solid var(--abb2-border);

    border-bottom: 1px solid var(--abb2-border);

}


/* =========================================================
   INTRO PANEL
========================================================= */

.abb2-stats-intro {

    min-height: 330px;

    padding: 65px 55px;

    background: var(--abb2-navy);

    color: var(--abb2-white);

    display: flex;

    flex-direction: column;

    justify-content: center;

    position: relative;

    overflow: hidden;

}


/* =========================================================
   INTRO DECORATIVE SHAPE
========================================================= */

.abb2-stats-intro::before {

    content: "";

    position: absolute;

    width: 120px;

    height: 120px;

    top: -60px;

    right: -60px;

    border: 1px solid rgba(255, 255, 255, 0.13);

    transform: rotate(45deg);

}


/* =========================================================
   RED ACCENT
========================================================= */

.abb2-stats-intro::after {

    content: "";

    position: absolute;

    width: 5px;

    height: 75px;

    left: 0;

    bottom: 40px;

    /* background: var(--abb2-red); */

}


/* =========================================================
   SMALL TITLE
========================================================= */

.abb2-stats-kicker {

    display: inline-block;

    margin-bottom: 18px;

    font-size: 11px;

    font-weight: 700;

    line-height: 1;

    letter-spacing: 3px;

    color: var(--abb2-red);

}


/* =========================================================
   MAIN HEADING
========================================================= */

.abb2-stats-heading {

    max-width: 370px;

    margin: 0;

    font-size: clamp(32px, 3vw, 48px);

    font-weight: 600;

    line-height: 1.05;

    letter-spacing: -1.5px;

    color: var(--abb2-white);

}


.abb2-stats-heading span {

    display: block;

    color: var(--abb2-white);

}


/* =========================================================
   DESCRIPTION
========================================================= */

.abb2-stats-text {

    max-width: 390px;

    margin: 22px 0 0;

    font-size: 16px;

    font-weight: 400;

    line-height: 1.8;

    color: rgba(255, 255, 255, 0.65);

}


/* =========================================================
   STAT BOX
========================================================= */

.abb2-stat-box {

    min-height: 330px;

    padding: 35px 30px;

    background: var(--abb2-bg);

    border-left: 1px solid var(--abb2-border);

    display: flex;

    flex-direction: column;

    position: relative;

    transition:
        background 0.35s ease,
        transform 0.35s ease;

}


/* =========================================================
   STAT NUMBER
========================================================= */

.abb2-stat-number {

    margin-top: auto;

    font-size: clamp(50px, 5vw, 76px);

    font-weight: 600;

    line-height: 0.9;

    letter-spacing: -4px;

    color: var(--abb2-navy);

}


/* =========================================================
   COUNTING NUMBER
========================================================= */

.abb2-stat-count {

    display: inline-block;

}


/* =========================================================
   PLUS / PERCENT SIGN
========================================================= */

.abb2-stat-count::after {

    content: attr(data-suffix);

    margin-left: 3px;

    font-size: 0.55em;

    font-weight: 600;

    letter-spacing: -1px;

    color: var(--abb2-red);

}


/* =========================================================
   STAT TITLE
========================================================= */

.abb2-stat-title {

    margin-top: 25px;

    font-size: 15px;

    font-weight: 800;

    line-height: 1.2;

    letter-spacing: 2px;

    color: var(--abb2-navy);

}


/* =========================================================
   STAT SUBTITLE
========================================================= */

.abb2-stat-label {

    margin-top: 6px;

    font-size: 12px;

    font-weight: 500;

    line-height: 1.3;

    letter-spacing: 1.5px;

    color: var(--abb2-muted);

}


/* =========================================================
   HOVER EFFECT
========================================================= */

.abb2-stat-box:hover {

    background: var(--abb2-white);

}


.abb2-stat-box:hover .abb2-stat-number {

    color: var(--abb2-red);

}


.abb2-stat-box:hover .abb2-stat-count::after {

    color: var(--abb2-navy);

}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 991.98px) {

    .abb2-stats-heading,
    .abb2-stats-text {
        max-width: 100%;
    }

    .abb2-stats-intro {

        min-height: 300px;

        padding: 55px 45px;

    }


    .abb2-stat-box {

        min-height: auto;

        padding: 30px 25px;

    }


    .abb2-stat-number {

        font-size: clamp(48px, 8vw, 68px);

    }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 575.98px) {

    .abb2-stats-intro {

        min-height: auto;

        padding: 50px 30px;

    }


    .abb2-stats-intro::after {

        height: 55px;

        bottom: 25px;

    }


    .abb2-stats-heading {

        font-size: 34px;

    }


    .abb2-stats-text {

        font-size: 13px;

        line-height: 1.7;

    }


    .abb2-stat-box {

        min-height: 225px;

        padding: 25px 22px;

    }


    .abb2-stat-number {

        font-size: 52px;

        letter-spacing: -3px;

    }


    .abb2-stat-title {

        margin-top: 20px;

        font-size: 11px;

        letter-spacing: 1.5px;

    }


    .abb2-stat-label {

        font-size: 9px;

        letter-spacing: 1px;

    }

}




/* =========================================================
   ARUN BHANDARY BUILDERS
   CURRENT PROJECTS
========================================================= */

.abbcp-section {

    --abbcp-red: #e5232d;
    --abbcp-red-dark: #bd1720;

    --abbcp-navy: #10283d;
    --abbcp-text: #263746;
    --abbcp-muted: #70777c;

    --abbcp-cream: #eee9e0;
    --abbcp-card: #e3ddd2;
    --abbcp-border: rgba(16, 40, 61, 0.16);

    position: relative;

    padding: 110px 0 75px;

    overflow: hidden;

    background:
        linear-gradient(90deg,
            rgba(238, 233, 224, 0.96),
            rgba(238, 233, 224, 0.88));

}


/* =========================================================
   BACKGROUND IMAGE
========================================================= */

.abbcp-bg {

    position: absolute;

    inset: 0;

    z-index: 0;

    background-image:
        linear-gradient(90deg,
            rgba(238, 233, 224, 0.96) 0%,
            rgba(238, 233, 224, 0.92) 38%,
            rgba(238, 233, 224, 0.72) 100%),
        url("../images/arun-bhandary-builders-current-projects-bg.jpg");

    background-size: cover;

    background-position: center;

    pointer-events: none;

}


/* =========================================================
   ARCHITECTURAL LIGHT BLOCKS
========================================================= */

.abbcp-bg::before {

    content: "";

    position: absolute;

    width: 150px;

    height: 150px;

    top: 0;

    right: 30%;

    background: rgba(255, 255, 255, 0.18);

}


.abbcp-bg::after {

    content: "";

    position: absolute;

    width: 230px;

    height: 230px;

    right: 0;

    bottom: -80px;

    border: 1px solid rgba(16, 40, 61, 0.08);

    transform: rotate(45deg);

}


/* =========================================================
   CONTAINER
========================================================= */

.abbcp-container {

    position: relative;

    z-index: 2;

}


/* =========================================================
   HEADING ROW
========================================================= */

.abbcp-heading-row {

    margin-bottom: 48px;

}


/* =========================================================
   SECTION LABEL
========================================================= */

.abbcp-section-label {

    display: flex;

    align-items: center;

    gap: 22px;

    margin-bottom: 22px;

}


.abbcp-section-label span {

    color: var(--abbcp-red);

    font-size: 12px;

    font-weight: 700;

    letter-spacing: 4px;

    line-height: 1;

}


.abbcp-section-label i {

    display: block;

    width: 90px;

    height: 2px;

    background: var(--abbcp-red);

}


/* =========================================================
   MAIN TITLE
========================================================= */

.abbcp-main-title {

    margin: 0;

    color: var(--abbcp-navy);

    /* font-family: Georgia, "Times New Roman", serif; */

    font-size: clamp(48px, 6vw, 82px);

    font-weight: 600;

    line-height: 0.96;

    letter-spacing: -3px;

}


.abbcp-main-title span {

    color: var(--abbcp-red);

}


/* =========================================================
   DESCRIPTION
========================================================= */

.abbcp-description {

    max-width: 680px;

    margin: 25px 0 0;

    color: var(--abbcp-muted);

    font-size: 16px;

    line-height: 1.65;

}


/* =========================================================
   TOP RIGHT
========================================================= */

.abbcp-top-right {

    height: 100%;

    display: flex;

    flex-direction: column;

    align-items: flex-end;

    justify-content: space-between;

    padding-bottom: 8px;

}


/* =========================================================
   TOP LINE
========================================================= */

.abbcp-top-line {

    display: flex;

    align-items: center;

    /* gap: 15px; */
    gap: 10px;


    margin-bottom: 45px;

    color: #666d72;

    /* font-size: 12px; */
    font-size: 17px;

    font-weight: 700;

    letter-spacing: 3px;

}


.abbcp-top-line b {

    font-weight: 400;

    color: var(--abbcp-red);

}


/* =========================================================
   VIEW ALL BUTTON
========================================================= */

.abbcp-all-projects {

    min-width: 270px;

    padding: 19px 20px 19px 25px;

    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 25px;

    border: 1px solid var(--abbcp-navy);

    background: rgba(238, 233, 224, 0.75);

    color: var(--abbcp-navy);

    text-decoration: none;

    font-size: 11px;

    font-weight: 800;

    letter-spacing: 2px;

    transition:
        background 0.3s ease,
        color 0.3s ease,
        border-color 0.3s ease;

}


.abbcp-all-projects strong {

    color: var(--abbcp-red);

    font-size: 24px;

    font-weight: 400;

    line-height: 1;

    transition: transform 0.3s ease;

}


.abbcp-all-projects:hover {

    background: var(--abbcp-navy);

    border-color: var(--abbcp-navy);

    color: #eee9e0;

}


.abbcp-all-projects:hover strong {

    transform: translateX(5px);

}


/* =========================================================
   CAROUSEL
========================================================= */

.abbcp-carousel-wrap {

    position: relative;

}


/* =========================================================
   PROJECT ITEM
========================================================= */

.abbcp-project-item {

    padding: 0 8px 5px;

}


/* =========================================================
   PROJECT CARD
========================================================= */

.abbcp-project-card {

    overflow: hidden;

    background: rgba(227, 221, 210, 0.96);

    border: 1px solid rgba(16, 40, 61, 0.10);

    transition:
        transform 0.35s ease,
        box-shadow 0.35s ease;

}


.abbcp-project-card:hover {

    transform: translateY(-7px);

    box-shadow:
        0 20px 45px rgba(16, 40, 61, 0.13);

}


/* =========================================================
   PROJECT IMAGE
========================================================= */

.abbcp-project-image {

    /* height: 320px; */

    position: relative;

    overflow: hidden;

}


.abbcp-project-image img {

    width: 100%;

    height: 100%;

    display: block;

    object-fit: cover;

    transition: transform 0.7s ease;

}


.abbcp-project-card:hover .abbcp-project-image img {

    transform: scale(1.045);

}


/* =========================================================
   STATUS
========================================================= */

.abbcp-status {

    position: absolute;

    top: 18px;

    left: 18px;

    padding: 10px 17px;

    background: var(--abbcp-red);

    color: #eee9e0;

    font-size: 10px;

    font-weight: 800;

    letter-spacing: 2px;

}


/* =========================================================
   PROJECT CONTENT
========================================================= */

.abbcp-project-content {

    padding: 24px 28px 27px;

}


/* =========================================================
   PROJECT TITLE
========================================================= */

.abbcp-project-title {

    margin: 0;

    color: var(--abbcp-navy);

    /* font-family: Georgia, "Times New Roman", serif; */

    font-size: 28px;

    font-weight: 600;

    line-height: 1.15;

}


/* =========================================================
   LOCATION
========================================================= */

.abbcp-location {

    margin-top: 9px;

    display: flex;

    align-items: center;

    gap: 8px;

    color: var(--abbcp-muted);

    font-size: 14px;

    line-height: 1.4;

}


.abbcp-location-icon {

    width: 17px;

    height: 17px;

    flex: 0 0 17px;

}


.abbcp-location-icon svg {

    width: 100%;

    height: 100%;

    fill: none;

    stroke: var(--abbcp-navy);

    stroke-width: 1.7;

}


/* =========================================================
   DIVIDER
========================================================= */

.abbcp-divider {

    width: 100%;

    height: 1px;

    margin: 18px 0 17px;

    background: var(--abbcp-border);

    position: relative;

}


.abbcp-divider::before {

    content: "";

    position: absolute;

    left: 0;

    top: -1px;

    width: 43px;

    height: 2px;

    background: var(--abbcp-red);

}


/* =========================================================
   SPECIFICATIONS
========================================================= */

.abbcp-specs {

    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 10px;

}


.abbcp-spec {

    display: flex;

    align-items: center;

    gap: 7px;

    color: var(--abbcp-text);

    font-size: 13px;

    white-space: nowrap;

}


.abbcp-spec-icon {

    width: 20px;

    height: 20px;

    flex: 0 0 20px;

}


.abbcp-spec-icon svg {

    width: 100%;

    height: 100%;

    fill: none;

    stroke: var(--abbcp-navy);

    stroke-width: 1.4;

    stroke-linecap: round;

    stroke-linejoin: round;

}


.abbcp-spec-separator {

    width: 1px;

    height: 20px;

    flex: 0 0 1px;

    background: rgba(16, 40, 61, 0.18);

}


/* =========================================================
   BOTTOM
========================================================= */

.abbcp-project-bottom {

    margin-top: 25px;

    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 20px;

}


/* =========================================================
   PRICE
========================================================= */

.abbcp-price {

    color: var(--abbcp-red);

    /* font-family: Georgia, "Times New Roman", serif; */

    font-size: 28px;

    font-weight: 600;

    line-height: 1;

    white-space: nowrap;

}


/* =========================================================
   VIEW PROJECT
========================================================= */

.abbcp-view-project {

    display: inline-flex;

    align-items: center;

    gap: 10px;

    padding-bottom: 7px;

    border-bottom: 1px solid var(--abbcp-red);

    color: var(--abbcp-navy);

    text-decoration: none;

    font-size: 10px;

    font-weight: 800;

    letter-spacing: 2px;

    white-space: nowrap;

}


.abbcp-view-project strong {

    color: var(--abbcp-red);

    font-size: 19px;

    line-height: 0.7;

    font-weight: 400;

    transition: transform 0.3s ease;

}


.abbcp-view-project:hover {

    color: var(--abbcp-red);

}


.abbcp-view-project:hover strong {

    transform: translateX(4px);

}


/* =========================================================
   CAROUSEL CONTROLS
========================================================= */

.abbcp-carousel-controls {

    margin-top: 35px;

    display: flex;

    align-items: center;

    justify-content: center;

    gap: 22px;

}


/* =========================================================
   CONTROL LINE
========================================================= */

.abbcp-control-line {

    width: 105px;

    height: 1px;

    background: rgba(16, 40, 61, 0.18);

}


/* =========================================================
   ARROWS
========================================================= */

.abbcp-owl-prev,
.abbcp-owl-next {

    width: 45px;

    height: 45px;

    padding: 0;

    border-radius: 50%;

    background: transparent;

    border: 1px solid rgba(16, 40, 61, 0.28);

    color: var(--abbcp-navy);

    display: inline-flex;

    align-items: center;

    justify-content: center;

    font-size: 20px;

    line-height: 1;

    cursor: pointer;

    transition:
        background 0.3s ease,
        border-color 0.3s ease,
        color 0.3s ease;

}


.abbcp-owl-next {

    background: var(--abbcp-red);

    border-color: var(--abbcp-red);

    color: #eee9e0;

}


.abbcp-owl-prev:hover {

    background: var(--abbcp-navy);

    border-color: var(--abbcp-navy);

    color: #eee9e0;

}


.abbcp-owl-next:hover {

    background: var(--abbcp-red-dark);

    border-color: var(--abbcp-red-dark);

}


/* =========================================================
   DOTS
========================================================= */

.abbcp-carousel-dots {

    display: flex;

    align-items: center;

    gap: 9px;

}


.abbcp-dot {

    width: 8px;

    height: 8px;

    border-radius: 50%;

    background: rgba(16, 40, 61, 0.20);

    transition:
        width 0.3s ease,
        background 0.3s ease;

}


.abbcp-dot.active {

    width: 10px;

    height: 10px;

    background: var(--abbcp-red);

}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 1199.98px) {

    .abbcp-section {

        padding: 90px 0 65px;

    }


    .abbcp-main-title {

        font-size: 65px;

    }

    .abbcp-section-label {
        justify-content: center;
    }

    /* 
    .abbcp-project-image {

        height: 280px;

    } */


    .abbcp-project-content {

        padding: 22px;

    }


    .abbcp-project-title {

        font-size: 24px;

    }


    .abbcp-spec {

        font-size: 10px;

    }

}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 991.98px) {

    .abbcp-section {

        padding: 75px 0 55px;

    }


    .abbcp-heading-row {

        margin-bottom: 35px;

    }


    .abbcp-main-title {

        font-size: 58px;

    }


    .abbcp-description {

        max-width: 100%;

        font-size: 14px;

    }


    .abbcp-top-right {

        align-items: flex-start;

        margin-top: 30px;

    }


    .abbcp-top-line {

        margin-bottom: 22px;
        margin-left: auto;
        margin-right: auto;

    }


    .abbcp-all-projects {

        min-width: 245px;
        margin-left: auto;
        margin-right: auto;

    }

    /* 
    .abbcp-project-image {

        height: 290px;

    } */


    .abbcp-project-title {

        font-size: 23px;

    }

    .abbcp-location {
        justify-content: center;
    }

    .abbcp-divider::before {
        left: 50%;
        transform: translateX(-50%);
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767.98px) {

    .abbcp-section {

        padding: 65px 0 45px;

    }


    .abbcp-main-title {

        font-size: 48px;

        letter-spacing: -2px;

    }


    .abbcp-description {

        font-size: 13px;

        line-height: 1.7;

    }


    .abbcp-top-line {

        font-size: 11px;

        letter-spacing: 2px;

    }


    .abbcp-project-image {

        height: 300px;

    }


    .abbcp-project-content {

        padding: 23px 20px 25px;

    }


    .abbcp-specs {

        gap: 7px;

    }


    .abbcp-spec {

        font-size: 9px;

        gap: 4px;

    }


    .abbcp-spec-icon {

        width: 17px;

        height: 17px;

        flex-basis: 17px;

    }


    .abbcp-price {

        font-size: 24px;

    }


    .abbcp-control-line {

        width: 55px;

    }

}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media (max-width: 575.98px) {

    .abbcp-section {

        padding: 55px 0 40px;

    }


    .abbcp-section-label {

        gap: 14px;

    }


    .abbcp-section-label span {

        font-size: 10px;

        letter-spacing: 3px;

    }


    .abbcp-section-label i {

        width: 55px;

    }


    .abbcp-main-title {

        font-size: 43px;

        line-height: 0.98;

    }


    .abbcp-top-line {

        gap: 9px;

    }


    .abbcp-all-projects {

        /* width: 100%; */
        display: inline-flex;
        min-width: auto;

    }


    .abbcp-project-image {

        height: 260px;

    }


    .abbcp-project-title {

        font-size: 25px;

    }


    .abbcp-location {

        font-size: 11px;

    }


    .abbcp-specs {

        align-items: flex-start;

    }


    .abbcp-spec {

        font-size: 8px;

    }


    .abbcp-project-bottom {

        align-items: flex-end;

    }


    .abbcp-price {

        font-size: 21px;

    }


    .abbcp-view-project {

        font-size: 8px;

        letter-spacing: 1.5px;

    }


    .abbcp-carousel-controls {

        gap: 12px;

    }


    .abbcp-control-line {

        width: 35px;

    }

}




.abb-process-v2 {

    padding: 100px 0;

    background: #f8f8f6;

}


/* HEADER */

.abb-process-v2-header {

    max-width: 700px;

    margin: auto;

    text-align: center;

}



.abb-process-v2-label {

    display: flex;

    justify-content: center;

    align-items: center;

    gap: 12px;


    color: #e5232d;

    font-size: 13px;

    font-weight: 700;

    letter-spacing: 3px;

}


.abb-process-v2-label span {

    width: 35px;

    height: 2px;

    background: #e5232d;

}



.abb-process-v2-header h2 {

    margin: 22px 0 15px;

    /* font-family:Georgia,serif; */

    font-size: 55px;

    font-weight: 500;

    color: #10283d;

}



.abb-process-v2-header h2 span {

    color: #e5232d;

}



.abb-process-v2-header p {

    color: #6d7780;

    line-height: 1.8;

}



/* PROCESS */

.abb-process-v2-row {


    display: grid;

    grid-template-columns: repeat(4, 1fr);

    margin-top: 70px;

    position: relative;

}




.abb-process-v2-row::before {


    content: "";


    position: absolute;


    top: 45px;


    left: 12%;


    right: 12%;


    height: 1px;


    background: #ddd;


}




.abb-process-v2-item {


    position: relative;

    text-align: center;

    z-index: 2;

}




/* ICON */


.abb-process-v2-icon {


    width: 90px;

    height: 90px;


    margin: auto;


    display: flex;

    justify-content: center;

    align-items: center;


    background: #fff;


    border: 1px solid #e5232d;


    border-radius: 50%;


    color: #e5232d;


    font-size: 25px;


    transition: .3s ease;


}



.abb-process-v2-item:hover .abb-process-v2-icon {


    background: #e5232d;

    color: #fff;


    transform: translateY(-10px);

}




.abb-process-v2-item h3 {


    margin-top: 30px;


    font-size: 22px;

    color: #10283d;


    /* font-family:Georgia,serif; */


}




.abb-process-v2-item p {


    max-width: 220px;


    margin: 12px auto;


    color: #6d7780;


    font-size: 14px;

    line-height: 1.7;


}



/* MOBILE */


@media(max-width:991px) {


    .abb-process-v2-row {

        grid-template-columns: repeat(2, 1fr);

        gap: 30px;

    }


    .abb-process-v2-row::before {

        display: none;

    }


}


@media(max-width:575px) {


    .abb-process-v2-header h2 {

        font-size: 40px;

    }


    .abb-process-v2-row {

        grid-template-columns: 1fr;

    }


}



/* =========================================================
   ARUN BHANDARY BUILDERS
   SERVICES SECTION
========================================================= */

.abb-services-section {
    --ab-red: #e5232d;
    --ab-red-dark: #bd1720;
    --ab-navy: #10283d;
    --ab-text: #263746;
    --ab-muted: #6d7780;
    --ab-border: #e7e7e7;
    --ab-white: #ffffff;

    position: relative;
    overflow: hidden;
    background: #f7f7f5;
    padding: 110px 0 90px;
}


/* =========================================================
   MAIN HOUSE IMAGE
========================================================= */

.abb-services-main-house {
    position: absolute;
    top: 0;
    right: 0;

    width: 54%;
    height: 430px;

    overflow: hidden;

    z-index: 1;

    pointer-events: none;
}

.abb-services-main-house img {
    width: 100%;
    height: 100%;

    object-fit: cover;
    object-position: center;

    display: block;
}


/* Fade the house image into the section */

.abb-services-main-house::after {
    content: "";

    position: absolute;
    inset: 0;

    background:
        linear-gradient(90deg,
            #f7f7f5 0%,
            rgba(247, 247, 245, 0.92) 15%,
            rgba(247, 247, 245, 0.25) 48%,
            rgba(247, 247, 245, 0) 100%);
}


/* =========================================================
   BLUEPRINT
========================================================= */

.abb-services-blueprint {
    position: absolute;

    left: -100px;
    bottom: -150px;

    width: 650px;
    height: 400px;

    opacity: .16;

    background-image:
        linear-gradient(rgba(16, 40, 61, .12) 1px,
            transparent 1px),
        linear-gradient(90deg,
            rgba(16, 40, 61, .12) 1px,
            transparent 1px);

    background-size: 35px 35px;

    transform: rotate(-8deg);

    z-index: 0;
}


/* =========================================================
   CONTAINER
========================================================= */

.abb-services-container {
    position: relative;
    z-index: 3;
}


/* =========================================================
   INTRO
========================================================= */

.abb-services-heading {
    position: relative;

    max-width: 900px;

    padding-top: 5px;
    margin-bottom: 55px;
}


.abb-services-label {
    display: flex;
    align-items: center;
    gap: 22px;

    margin-bottom: 18px;
}


.abb-services-label span {
    width: 68px;
    height: 3px;

    display: block;

    background: var(--ab-red);
}


.abb-services-label strong {
    font-size: 15px;
    font-weight: 700;

    letter-spacing: 5px;

    color: var(--ab-red);
}


.abb-services-title {
    margin: 0;

    max-width: 950px;

    color: var(--ab-navy);

    /* font-family: Georgia, "Times New Roman", serif; */

    font-size: clamp(42px, 5vw, 72px);

    line-height: 1.02;
    font-weight: 500;

    letter-spacing: -2px;
}


.abb-services-title span {
    color: var(--ab-red);
}


.abb-services-description {
    max-width: 780px;

    margin: 24px 0 0;

    color: var(--ab-muted);

    font-size: 17px;
    line-height: 1.7;
}


/* =========================================================
   SERVICES GRID
========================================================= */

.abb-services-grid {
    position: relative;
    z-index: 5;
}


/* =========================================================
   SERVICE CARD
========================================================= */

.abb-service-card {
    position: relative;

    height: 100%;

    background: var(--ab-white);

    border: 1px solid rgba(16, 40, 61, .08);

    border-radius: 6px;

    overflow: visible;

    box-shadow:
        0 15px 40px rgba(16, 40, 61, .08);

    transition:
        transform .35s ease,
        box-shadow .35s ease;
}


.abb-service-card:hover {
    transform: translateY(-8px);

    box-shadow:
        0 25px 55px rgba(16, 40, 61, .14);
}


/* =========================================================
   CARD IMAGE
========================================================= */

.abb-service-image {
    position: relative;

    height: 235px;

    overflow: hidden;

    border-radius: 6px 6px 0 0;
}


.abb-service-image img {
    width: 100%;
    height: 100%;

    object-fit: cover;

    display: block;

    transition:
        transform .6s ease;
}


.abb-service-card:hover .abb-service-image img {
    transform: scale(1.06);
}


/* =========================================================
   CIRCULAR ICON
========================================================= */

.abb-service-icon {
    position: absolute;

    left: 50%;
    top: 200px;

    width: 82px;
    height: 82px;

    transform: translateX(-50%);

    display: flex;
    align-items: center;
    justify-content: center;

    background: var(--ab-red);

    border: 6px solid var(--ab-white);

    border-radius: 50%;

    color: var(--ab-white);

    font-size: 30px;

    z-index: 5;

    transition:
        background .3s ease,
        transform .3s ease;
}


.abb-service-card:hover .abb-service-icon {
    background: var(--ab-red-dark);

    transform:
        translateX(-50%) scale(1.05);
}


/* =========================================================
   CARD BODY
========================================================= */

.abb-service-body {
    display: flex;
    flex-direction: column;

    min-height: 330px;

    padding: 58px 34px 24px;

    text-align: center;
}


.abb-service-body h3 {
    margin: 0;

    color: var(--ab-navy);

    /* font-family: Georgia, "Times New Roman", serif; */

    font-size: 29px;

    line-height: 1.05;

    font-weight: 600;
}


/* =========================================================
   RED LINE
========================================================= */

.abb-service-line {
    width: 46px;
    height: 3px;

    margin: 17px auto 18px;

    background: var(--ab-red);
}


.abb-service-body p {
    margin: 0;

    color: var(--ab-muted);

    font-size: 15.5px;

    line-height: 1.55;
}


/* =========================================================
   LEARN MORE
========================================================= */

.abb-service-link {
    display: flex;

    align-items: center;
    justify-content: space-between;

    margin-top: auto;
    padding-top: 28px;

    color: var(--ab-red);

    font-size: 15px;
    font-weight: 700;

    text-decoration: none;

    border-top: 1px solid var(--ab-border);
}


.abb-service-link i {
    font-size: 18px;

    transition:
        transform .3s ease;
}


.abb-service-link:hover {
    color: var(--ab-red-dark);
}


.abb-service-link:hover i {
    transform: translateX(6px);
}


/* =========================================================
   VIEW ALL BUTTON
========================================================= */

.abb-services-button-wrap {
    display: flex;
    justify-content: center;

    margin-top: 45px;
}


.abb-services-button {
    display: inline-flex;

    align-items: center;
    justify-content: center;

    gap: 25px;

    min-width: 285px;

    padding: 17px 30px;

    background: var(--ab-red);

    color: var(--ab-white);

    font-size: 14px;
    font-weight: 700;

    letter-spacing: 2px;

    text-decoration: none;

    border-radius: 4px;

    box-shadow:
        0 10px 25px rgba(229, 35, 45, .20);

    transition:
        background .3s ease,
        transform .3s ease,
        box-shadow .3s ease;
}


.abb-services-button i {
    font-size: 18px;

    transition:
        transform .3s ease;
}


.abb-services-button:hover {
    background: var(--ab-red-dark);

    color: var(--ab-white);

    transform: translateY(-3px);

    box-shadow:
        0 15px 30px rgba(189, 23, 32, .25);
}


.abb-services-button:hover i {
    transform: translateX(6px);
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 1199.98px) {

    .abb-services-main-house {
        width: 58%;
        height: 390px;
    }

    .abb-services-title {
        font-size: 56px;
    }

    .abb-service-body {
        padding-left: 25px;
        padding-right: 25px;
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 991.98px) {

    .abb-services-section {
        padding: 80px 0 70px;
    }

    .abb-services-main-house {
        position: relative;

        width: 100%;
        height: 330px;

        margin-bottom: -40px;
    }

    .abb-services-main-house::after {
        background:
            linear-gradient(180deg,
                rgba(247, 247, 245, 0) 30%,
                #f7f7f5 100%);
    }

    .abb-services-heading {
        padding-top: 0;
        margin-bottom: 45px;
    }

    .abb-services-title {
        font-size: 48px;
        letter-spacing: -1px;
    }

    .abb-services-description {
        font-size: 16px;
        max-width: 100%;
    }

    .abb-services-label {
        justify-content: center;
    }

    .abb-service-body {
        min-height: auto;
    }

    .abb-service-body p {
        margin-bottom: 25px;
    }

}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media (max-width: 575.98px) {

    .abb-services-section {
        padding: 60px 0;
    }

    .abb-services-main-house {
        height: 250px;
    }

    .abb-services-label {
        gap: 14px;
    }

    .abb-services-label span {
        width: 45px;
    }

    .abb-services-label strong {
        font-size: 12px;
        letter-spacing: 3px;
    }

    .abb-services-title {
        font-size: 38px;
        line-height: 1.05;
    }

    .abb-services-description {
        font-size: 15px;
        line-height: 1.6;
    }

    .abb-service-image {
        height: 220px;
    }

    .abb-service-icon {
        top: 185px;

        width: 76px;
        height: 76px;
    }

    .abb-service-body {
        min-height: 315px;

        padding:
            55px 25px 22px;
    }

    .abb-service-body h3 {
        font-size: 26px;
    }

    .abb-services-button {
        width: 100%;
        min-width: 0;
    }

}




/* =========================================================
   ARUN BHANDARY BUILDERS
   TESTIMONIAL SECTION
========================================================= */

:root {

    --abbt-red: #e5232d;

    --abbt-red-dark: #bd1720;

    --abbt-navy: #10283d;

    --abbt-text: #263746;

    --abbt-muted: #6d7780;

    --abbt-border: #e7e7e7;

    --abbt-gold: #d7a52c;

    --abbt-white: #ffffff;

}


/* =========================================================
   MAIN SECTION
========================================================= */

.abbt-testimonial-section {

    position: relative;

    overflow: hidden;

    padding: 105px 0 95px;

    background: #ffffff;

}


/* =========================================================
   CONTAINER
========================================================= */

.abbt-testimonial-container {

    position: relative;

    z-index: 10;

}


/* =========================================================
   DECORATIVE TOP LEFT
========================================================= */

.abbt-shape-top-left {

    position: absolute;

    width: 275px;
    height: 275px;

    top: -145px;
    left: -95px;

    border-radius: 50%;

    background: #fde1e3;

    z-index: 1;

}


/* =========================================================
   HATCH CIRCLE
========================================================= */

.abbt-shape-hatch {

    position: absolute;

    top: 65px;
    left: 130px;

    width: 125px;
    height: 125px;

    border-radius: 50%;

    background:
        repeating-linear-gradient(135deg,
            rgba(16, 40, 61, .16) 0px,
            rgba(16, 40, 61, .16) 1px,
            transparent 1px,
            transparent 7px);

    opacity: .65;

    z-index: 2;

}


/* =========================================================
   LEFT DOTS
========================================================= */

.abbt-shape-dots-left {

    position: absolute;

    top: 220px;
    left: 30px;

    width: 135px;
    height: 100px;

    background-image:
        radial-gradient(circle,
            rgba(229, 35, 45, .55) 2px,
            transparent 2.5px);

    background-size: 24px 24px;

    z-index: 2;

}


/* =========================================================
   RIGHT DOTS
========================================================= */

.abbt-shape-dots-right {

    position: absolute;

    top: 45px;
    right: 120px;

    width: 125px;
    height: 105px;

    background-image:
        radial-gradient(circle,
            rgba(16, 40, 61, .18) 2px,
            transparent 2.5px);

    background-size: 22px 22px;

    z-index: 2;

}


/* =========================================================
   RIGHT CURVE
========================================================= */

.abbt-shape-curve {

    position: absolute;

    top: -145px;
    right: -125px;

    width: 330px;
    height: 330px;

    border: 1px solid rgba(229, 35, 45, .7);

    border-radius: 50%;

    z-index: 2;

}


.abbt-shape-curve::before {

    content: "";

    position: absolute;

    width: 210px;
    height: 210px;

    top: 70px;
    left: 45px;

    border: 1px solid rgba(229, 35, 45, .35);

    border-radius: 50%;

}


/* =========================================================
   RED RIGHT BLOCK
========================================================= */

.abbt-shape-red-block {

    position: absolute;

    right: -95px;
    top: 95px;

    width: 180px;
    height: 215px;

    background: var(--abbt-red);

    transform: rotate(18deg);

    opacity: .95;

    z-index: 1;

}


/* =========================================================
   BLUE DOT
========================================================= */

.abbt-shape-blue-dot {

    position: absolute;

    top: 155px;
    right: 115px;

    width: 42px;
    height: 42px;

    border-radius: 50%;

    background: var(--abbt-navy);

    z-index: 4;

}


/* =========================================================
   BOTTOM NAVY
========================================================= */

.abbt-shape-bottom-navy {

    position: absolute;

    left: -115px;
    bottom: -180px;

    width: 400px;
    height: 280px;

    background: var(--abbt-navy);

    border-radius: 55% 45% 0 0;

    transform: rotate(18deg);

    z-index: 1;

}


/* =========================================================
   BOTTOM RED LINE
========================================================= */

.abbt-shape-bottom-line {

    position: absolute;

    left: -45px;
    bottom: -50px;

    width: 340px;
    height: 180px;

    border: 1px solid var(--abbt-red);

    border-radius: 50%;

    transform: rotate(12deg);

    z-index: 2;

}


/* =========================================================
   BOTTOM DOTS
========================================================= */

.abbt-shape-bottom-dots {

    position: absolute;

    left: 290px;
    bottom: 25px;

    width: 100px;
    height: 70px;

    background-image:
        radial-gradient(circle,
            var(--abbt-red) 1.5px,
            transparent 2px);

    background-size: 20px 20px;

    z-index: 2;

}


/* =========================================================
   BOTTOM RIGHT RED
========================================================= */

.abbt-shape-bottom-red {

    position: absolute;

    right: -100px;
    bottom: -160px;

    width: 430px;
    height: 270px;

    background: var(--abbt-red);

    border-radius: 50% 0 0 0;

    transform: rotate(-12deg);

    z-index: 1;

}


/* =========================================================
   BOTTOM RIGHT CURVE
========================================================= */

.abbt-shape-bottom-curve {

    position: absolute;

    right: 80px;
    bottom: -50px;

    width: 470px;
    height: 150px;

    border-top: 1px solid var(--abbt-red);

    border-radius: 50%;

    transform: rotate(-8deg);

    z-index: 2;

}


/* =========================================================
   HEADING
========================================================= */

.abbt-testimonial-heading {

    position: relative;

    text-align: center;

    margin-bottom: 52px;

    z-index: 10;

}


/* =========================================================
   LABEL
========================================================= */

.abbt-testimonial-label {

    display: flex;

    align-items: center;

    justify-content: center;

    gap: 22px;

    margin-bottom: 20px;

}


.abbt-testimonial-label-line {

    width: 66px;

    height: 2px;

    background: var(--abbt-red);

}


.abbt-testimonial-label-text {

    color: var(--abbt-red);

    font-size: 15px;

    font-weight: 700;

    letter-spacing: 5px;

}


/* =========================================================
   TITLE
========================================================= */

.abbt-testimonial-title {

    margin: 0;

    color: var(--abbt-navy);
    /* 
    font-family: "Playfair Display", Georgia, serif; */

    font-size: clamp(50px, 5.4vw, 76px);

    font-weight: 600;

    line-height: 1.05;

    letter-spacing: -2.5px;

}


.abbt-testimonial-title span {

    color: var(--abbt-red);

}


/* =========================================================
   DESCRIPTION
========================================================= */

.abbt-testimonial-description {

    max-width: 1000px;

    margin: 19px auto 0;

    color: #30485f;

    font-size: 17px;

    line-height: 1.55;

}


/* =========================================================
   CAROUSEL WRAPPER
========================================================= */

.abbt-testimonial-carousel-wrap {

    position: relative;

    padding: 0 70px;

    z-index: 10;

}


/* =========================================================
   OWL STAGE
   IMPORTANT FOR EQUAL HEIGHT
========================================================= */

.abbt-testimonial-carousel .owl-stage {

    display: flex;

    align-items: stretch;

}


/* =========================================================
   OWL ITEM
========================================================= */

.abbt-testimonial-carousel .owl-item {

    display: flex;

    align-items: stretch;

}


/* =========================================================
   SLIDE
========================================================= */

.abbt-testimonial-slide {

    display: flex;

    width: 100%;

    height: auto;

    padding: 8px 10px 20px;

}


/* =========================================================
   TESTIMONIAL CARD
   NO FIXED HEIGHT
========================================================= */

.abbt-testimonial-card {

    position: relative;

    width: 100%;

    height: auto;

    min-height: 0;

    display: flex;

    flex-direction: column;

    flex: 1;

    overflow: hidden;

    background: rgba(255, 255, 255, .98);

    border: 1px solid var(--abbt-border);

    border-radius: 12px;

    box-shadow:
        0 13px 32px rgba(16, 40, 61, .09);

    transition:
        transform .35s ease,
        box-shadow .35s ease,
        border-color .35s ease;

}


/* =========================================================
   HOVER
========================================================= */

.abbt-testimonial-card:hover {

    transform: translateY(-5px);

    box-shadow:
        0 20px 42px rgba(16, 40, 61, .13);

}


/* =========================================================
   DYNAMIC FEATURED CARD
========================================================= */

.abbt-testimonial-card-featured {

    border: 2px solid var(--abbt-red);

    box-shadow:
        0 18px 42px rgba(229, 35, 45, .13);

}


/* =========================================================
   MAIN QUOTE
========================================================= */

.abbt-testimonial-quote {

    position: absolute;

    top: 14px;
    left: 38px;

    color: var(--abbt-red);

    font-family: Georgia, serif;

    font-size: 94px;

    font-weight: 700;

    line-height: 1;

    z-index: 4;

}


/* =========================================================
   FADED QUOTE
========================================================= */

.abbt-testimonial-faded-quote {

    position: absolute;

    top: 15px;
    right: 25px;

    color: rgba(229, 35, 45, .08);

    font-family: Georgia, serif;

    font-size: 104px;

    font-weight: 700;

    line-height: 1;

    z-index: 2;

}


/* =========================================================
   DYNAMIC FEATURED BADGE
========================================================= */

.abbt-testimonial-featured-badge {

    position: absolute;

    top: -1px;
    right: 22px;

    width: 60px;
    height: 70px;

    display: none;

    align-items: center;
    justify-content: center;

    background: var(--abbt-red);

    color: #ffffff;

    font-family: Georgia, serif;

    font-size: 47px;

    font-weight: 700;

    line-height: 1;

    z-index: 20;

    clip-path:
        polygon(0 0,
            100% 0,
            100% 82%,
            50% 100%,
            0 82%);

}


/* SHOW ONLY ON DYNAMIC FEATURED CARD */

.abbt-testimonial-card-featured .abbt-testimonial-featured-badge {

    display: flex;

}


/* =========================================================
   CARD CONTENT
========================================================= */

.abbt-testimonial-card-content {

    position: relative;

    z-index: 8;

    display: flex;

    flex-direction: column;

    flex: 1;

    padding:
        94px 48px 90px 48px;

}


/* =========================================================
   TESTIMONIAL TEXT
========================================================= */

.abbt-testimonial-text {

    margin: 0;

    color: #304962;

    font-size: 17px;

    line-height: 1.5;

}


/* =========================================================
   STARS
========================================================= */

.abbt-testimonial-stars {

    display: flex;

    align-items: center;

    gap: 5px;

    margin-top: auto;

    padding-top: 22px;

}


.abbt-testimonial-stars i {

    color: var(--abbt-gold);

    font-size: 20px;

}


/* =========================================================
   DIVIDER
========================================================= */

.abbt-testimonial-divider {

    width: 47px;

    height: 3px;

    margin-top: 18px;

    background: var(--abbt-red);

}


/* =========================================================
   CLIENT
========================================================= */

.abbt-testimonial-client {

    margin-top: 15px;

}


.abbt-testimonial-client-name {

    margin: 0;

    color: var(--abbt-navy);

    font-size: 18px;

    font-weight: 800;

    text-transform: uppercase;

}


.abbt-testimonial-client-location {

    margin: 5px 0 0;

    color: #617181;

    font-size: 14px;

    font-weight: 500;

    letter-spacing: .4px;

}


/* =========================================================
   HOUSE / BUILDING ICON
========================================================= */

.abbt-testimonial-icon {

    position: absolute;

    right: -15px;

    bottom: -40px;

    width: 170px;
    height: 170px;

    display: flex;

    align-items: center;
    justify-content: center;

    border-radius: 50%;

    background: rgba(229, 35, 45, .065);

    z-index: 3;
    display: none;

}


.abbt-testimonial-icon i {

    color: var(--abbt-red);

    font-size: 60px;

    transform: translate(-8px, -8px);

}


/* =========================================================
   BOTTOM CORNER
========================================================= */

.abbt-testimonial-corner {

    position: absolute;

    left: 0;
    bottom: 0;

    width: 63px;
    height: 58px;

    overflow: hidden;

    z-index: 15;

    pointer-events: none;
    display: none;

}


.abbt-testimonial-corner-navy {

    position: absolute;

    left: -17px;
    bottom: -31px;

    width: 65px;
    height: 70px;

    background: var(--abbt-navy);

    transform: rotate(45deg);

}


.abbt-testimonial-corner-red {

    position: absolute;

    left: 18px;
    bottom: -26px;

    width: 25px;
    height: 65px;

    background: var(--abbt-red);

    transform: rotate(45deg);

}


/* =========================================================
   ARROWS
========================================================= */

.abbt-testimonial-arrow {

    position: absolute;

    top: 50%;

    transform: translateY(-50%);

    width: 62px;
    height: 62px;

    display: flex;

    align-items: center;
    justify-content: center;

    border: none;

    border-radius: 50%;

    background: #ffffff;

    color: var(--abbt-red);

    font-size: 21px;

    box-shadow:
        0 9px 28px rgba(16, 40, 61, .13);

    z-index: 30;

    transition:
        background .3s ease,
        color .3s ease,
        transform .3s ease;

}


.abbt-testimonial-arrow:hover {

    background: var(--abbt-red);

    color: #ffffff;

}


.abbt-testimonial-prev {

    left: -4px;

}


.abbt-testimonial-next {

    right: -4px;

}


/* =========================================================
   PAGINATION
========================================================= */

.abbt-testimonial-pagination {

    display: flex;

    align-items: center;

    justify-content: center;

    gap: 12px;

    margin-top: 25px;

}


.abbt-testimonial-pagination button {

    width: 13px;
    height: 13px;

    padding: 0;

    border: none;

    border-radius: 50%;

    background: #d9dde0;

    transition: all .3s ease;

}


.abbt-testimonial-pagination button.active {

    width: 27px;

    border-radius: 20px;

    background: var(--abbt-red);

}


/* =========================================================
   TABLET
========================================================= */

@media (max-width:1199.98px) {

    .abbt-testimonial-title {

        font-size: 60px;

    }


    .abbt-testimonial-carousel-wrap {

        padding: 0 55px;

    }


    .abbt-testimonial-card-content {

        padding-left: 35px;

        padding-right: 35px;

    }

}

@media (max-width:991.98px) {

    .abbt-testimonial-stars {
        justify-content: center;
    }

    .abbt-testimonial-divider {
        margin-left: auto;
        margin-right: auto;
    }
}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width:767.98px) {

    .abbt-testimonial-section {

        padding: 70px 0 65px;

    }


    .abbt-testimonial-label {

        gap: 12px;

    }


    .abbt-testimonial-label-line {

        width: 35px;

    }


    .abbt-testimonial-label-text {

        font-size: 10px;

        letter-spacing: 3px;

    }


    .abbt-testimonial-title {

        font-size: 42px;

        letter-spacing: -1px;

    }


    .abbt-testimonial-description {

        padding: 0 12px;

        font-size: 15px;

    }


    .abbt-testimonial-carousel-wrap {

        padding: 0 23px;

    }


    .abbt-testimonial-card-content {

        padding:
            90px 30px 92px 30px;

    }


    .abbt-testimonial-text {

        font-size: 15.5px;

    }


    .abbt-testimonial-arrow {

        width: 47px;

        height: 47px;

        font-size: 16px;

    }


    .abbt-testimonial-prev {

        left: -2px;

    }


    .abbt-testimonial-next {

        right: -2px;

    }


    .abbt-shape-dots-right {

        right: 10px;

    }


    .abbt-testimonial-featured-badge {

        width: 54px;

        height: 64px;

        right: 18px;

        font-size: 42px;

    }

}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media (max-width:575.98px) {

    .abbt-testimonial-title {

        font-size: 36px;

    }


    .abbt-testimonial-card-content {

        padding-left: 27px;

        padding-right: 27px;

    }


    .abbt-testimonial-featured-badge {

        width: 50px;

        height: 60px;

        right: 16px;

        font-size: 39px;

    }

}


/* =========================================================
   ARUN BHANDARY BUILDERS
   IMAGE-FREE CTA SECTION
========================================================= */

:root {
    --abb-cta-red: #e5232d;
    --abb-cta-red-dark: #bd1720;
    --abb-cta-navy: #10283d;
    --abb-cta-text: #263746;
    --abb-cta-muted: #6d7780;
    --abb-cta-bg: #eee9e0;
    --abb-cta-white: #ffffff;
}


/* =========================
   SECTION
========================= */

.abb-cta-section {
    position: relative;
    overflow: hidden;

    padding: 115px 0;

    background:
        linear-gradient(135deg,
            #eee9e0 0%,
            #f5f1e9 55%,
            #e8e2d8 100%);
}


/* =========================
   BACKGROUND GRID
========================= */

.abb-cta-grid {
    position: absolute;
    inset: 0;

    opacity: 0.35;
    pointer-events: none;

    background-image:
        linear-gradient(rgba(16, 40, 61, 0.055) 1px,
            transparent 1px),
        linear-gradient(90deg,
            rgba(16, 40, 61, 0.055) 1px,
            transparent 1px);

    background-size: 70px 70px;

    mask-image: linear-gradient(to right,
            transparent,
            black 25%,
            black 75%,
            transparent);
}


/* =========================
   ARCHITECTURAL LINES
========================= */

.abb-cta-line {
    position: absolute;
    pointer-events: none;
}

.abb-cta-line-1 {
    width: 520px;
    height: 520px;

    right: -220px;
    top: -250px;

    border: 1px solid rgba(16, 40, 61, 0.13);

    transform: rotate(45deg);
}

.abb-cta-line-2 {
    width: 350px;
    height: 350px;

    left: -210px;
    bottom: -210px;

    border: 1px solid rgba(229, 35, 45, 0.15);

    transform: rotate(45deg);
}

.abb-cta-line-3 {
    width: 1px;
    height: 75%;

    right: 38%;

    top: 12%;

    background: rgba(16, 40, 61, 0.08);
}


/* =========================
   WRAPPER
========================= */

.abb-cta-wrapper {
    position: relative;
    z-index: 2;

    display: grid;
    grid-template-columns: 1.15fr 0.85fr;

    align-items: center;

    min-height: 500px;
}


/* =========================
   LEFT CONTENT
========================= */

.abb-cta-left {
    position: relative;
    z-index: 3;

    padding-right: 70px;
}


.abb-cta-label {
    display: flex;
    align-items: center;
    gap: 13px;

    margin-bottom: 25px;

    color: var(--abb-cta-red);

    font-size: 11px;
    font-weight: 700;
    letter-spacing: 3px;
}


.abb-cta-label span {
    width: 45px;
    height: 2px;

    background: var(--abb-cta-red);
}


/* =========================
   TITLE
========================= */

.abb-cta-title {
    margin: 0;

    color: var(--abb-cta-navy);

    /* font-family:
        Georgia,
        "Times New Roman",
        serif; */

    font-size: clamp(52px, 6vw, 82px);

    font-weight: 400;

    line-height: 0.98;

    letter-spacing: -3px;
}


.abb-cta-title em {
    color: var(--abb-cta-red);

    font-style: normal;
}


/* =========================
   DESCRIPTION
========================= */

.abb-cta-description {
    max-width: 610px;

    margin: 32px 0 38px;

    color: var(--abb-cta-muted);

    font-size: 16px;
    line-height: 1.8;
}


/* =========================
   ACTIONS
========================= */

.abb-cta-actions {
    display: flex;
    align-items: center;

    gap: 30px;

    flex-wrap: wrap;
}


/* =========================
   BUTTON
========================= */

.abb-cta-button {
    position: relative;

    display: inline-flex;
    align-items: center;
    gap: 22px;

    padding: 17px 24px;

    overflow: hidden;

    color: #fff;
    background: var(--abb-cta-red);

    font-size: 11px;
    font-weight: 700;

    letter-spacing: 1.5px;

    text-decoration: none;

    transition: 0.35s ease;
}


.abb-cta-button::before {
    content: "";

    position: absolute;
    inset: 0;

    background: var(--abb-cta-navy);

    transform: translateX(-101%);

    transition: 0.35s ease;
}


.abb-cta-button span,
.abb-cta-button i {
    position: relative;
    z-index: 2;
}


.abb-cta-button i {
    transition: 0.3s ease;
}


.abb-cta-button:hover {
    color: #fff;
}


.abb-cta-button:hover::before {
    transform: translateX(0);
}


.abb-cta-button:hover i {
    transform: translateX(5px);
}


/* =========================
   CONTACT
========================= */

.abb-cta-contact {
    display: flex;
    align-items: center;

    gap: 12px;

    color: var(--abb-cta-navy);

    text-decoration: none;
}


.abb-cta-contact-icon {
    width: 45px;
    height: 45px;

    display: flex;
    align-items: center;
    justify-content: center;

    border: 1px solid rgba(16, 40, 61, 0.2);

    border-radius: 50%;

    color: var(--abb-cta-red);

    transition: 0.3s ease;
}


.abb-cta-contact small {
    display: block;

    margin-bottom: 3px;

    color: var(--abb-cta-muted);

    font-size: 10px;
    font-weight: 700;

    letter-spacing: 1.5px;
}


.abb-cta-contact strong {
    display: block;

    color: var(--abb-cta-navy);

    font-size: 16px;
}


.abb-cta-contact:hover {
    color: var(--abb-cta-navy);
}


.abb-cta-contact:hover .abb-cta-contact-icon {
    color: #fff;

    background: var(--abb-cta-red);

    border-color: var(--abb-cta-red);
}


/* =========================
   RIGHT SIDE
========================= */

.abb-cta-right {
    position: relative;

    height: 500px;
}


/* =========================
   BIG B
========================= */

.abb-cta-big-letter {
    position: absolute;

    right: 15px;
    top: -45px;

    color: transparent;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: 390px;

    font-weight: 700;

    line-height: 1;

    -webkit-text-stroke: 1px rgba(16, 40, 61, 0.13);

    user-select: none;
}


/* =========================
   ARCHITECTURAL BOX
========================= */

.abb-cta-architectural-box {
    position: absolute;

    right: 55px;
    top: 55px;

    width: 360px;
    height: 370px;

    padding: 28px;

    display: flex;
    flex-direction: column;
    justify-content: space-between;

    border: 1px solid rgba(16, 40, 61, 0.25);

    background: rgba(255, 255, 255, 0.18);

    backdrop-filter: blur(2px);
}


/* =========================
   BOX TOP
========================= */

.abb-cta-box-top {
    display: flex;
    justify-content: space-between;

    color: var(--abb-cta-muted);

    font-size: 11px;
    font-weight: 700;

    letter-spacing: 2px;
}


/* =========================
   CENTER
========================= */

.abb-cta-box-center {
    position: relative;

    padding: 35px 0;

    border-top: 1px solid rgba(16, 40, 61, 0.12);
    border-bottom: 1px solid rgba(16, 40, 61, 0.12);

    font-weight: bold;
}


.abb-cta-box-center span {
    display: block;

    color: var(--abb-cta-navy);

    /* font-family:
        Georgia,
        "Times New Roman",
        serif; */

    font-size: 27px;

    letter-spacing: 4px;
}


.abb-cta-box-center strong {
    display: block;

    margin-top: 4px;

    color: var(--abb-cta-red);

    /* font-family:
        Georgia,
        "Times New Roman",
        serif; */

    font-size: 39px;

    font-weight: 400;

    line-height: 1;

    letter-spacing: 2px;
}


/* =========================
   BOX BOTTOM
========================= */

.abb-cta-box-bottom {
    color: var(--abb-cta-muted);

    font-size: 9px;
    font-weight: 700;

    letter-spacing: 2px;
}


/* =========================
   RED SQUARE
========================= */

.abb-cta-red-square {
    position: absolute;

    right: 0;
    bottom: 15px;

    width: 105px;
    height: 105px;

    display: flex;
    align-items: center;
    justify-content: center;

    color: #fff;

    background: var(--abb-cta-red);

    font-size: 22px;

    box-shadow:
        0 18px 40px rgba(229, 35, 45, 0.2);

    z-index: 5;
}


.abb-cta-red-square i {
    transition: transform 0.35s ease;
}


.abb-cta-red-square:hover i {
    transform: translate(5px, -5px);
}


/* =========================
   VERTICAL TEXT
========================= */

.abb-cta-vertical-text {
    position: absolute;

    right: -5px;
    top: 50%;

    transform:
        translateY(-50%) rotate(90deg);

    transform-origin: right center;

    color: rgba(16, 40, 61, 0.42);

    font-size: 8px;
    font-weight: 700;

    letter-spacing: 3px;

    white-space: nowrap;
}


/* =========================
   TABLET
========================= */

@media (max-width: 991.98px) {

    .abb-cta-section {
        padding: 85px 0;
    }

    .abb-cta-wrapper {
        grid-template-columns: 1fr;

        min-height: auto;
    }

    .abb-cta-left {
        padding-right: 0;
        padding-bottom: 0px;
    }

    .abb-cta-right {
        height: 450px;
    }

    .abb-cta-big-letter {
        right: 5%;
        top: -35px;

        font-size: 330px;
    }

    .abb-cta-architectural-box {
        right: 50%;
        transform: translateX(50%);
        width: 340px;
        height: 350px;
    }

    .abb-cta-red-square {
        right: 25%;
    }

    .abb-cta-label {
        justify-content: center;
    }

    .abb-cta-description {
        max-width: 100%;
    }

    .abb-cta-actions {
        justify-content: center;
    }

    .abb-cta-vertical-text {
        display: none;
    }
}


/* =========================
   MOBILE
========================= */

@media (max-width: 575.98px) {

    .abb-cta-section {
        padding: 65px 0;
    }

    .abb-cta-label {
        font-size: 9px;
        letter-spacing: 2px;
    }

    .abb-cta-label span {
        width: 28px;
    }

    .abb-cta-title {
        font-size: 48px;
        letter-spacing: -2px;
    }

    .abb-cta-description {
        margin: 25px 0 30px;

        font-size: 14px;
        line-height: 1.7;
    }

    .abb-cta-actions {
        align-items: flex-start;
        flex-direction: column;

        gap: 22px;
    }

    .abb-cta-button {
        /* width: 100%; */

        justify-content: space-between;
        margin-left: auto;
        margin-right: auto;
    }

    .abb-cta-contact {
        margin-left: auto;
        margin-right: auto;
    }

    .abb-cta-right {
        height: 360px;
        display: none;
    }

    .abb-cta-big-letter {
        right: 0;
        top: -20px;

        font-size: 260px;
    }

    /* .abb-cta-architectural-box {
        top: 35px;
        right: 10px;

        width: calc(100% - 35px);
        height: 285px;

        padding: 20px;
    } */

    .abb-cta-box-center {
        padding: 25px 0;
    }

    .abb-cta-box-center span {
        font-size: 20px;
    }

    .abb-cta-box-center strong {
        font-size: 28px;
    }

    .abb-cta-red-square {
        width: 75px;
        height: 75px;

        bottom: 5px;

        font-size: 17px;
        right: 20px;
    }

    .abb-cta-vertical-text {
        display: none;
    }
}


/* =========================================================
   ARUN BHANDARY
   FOOTER OPTION 7
========================================================= */

:root {

    --abb-footer-v7-red: #e5232d;
    --abb-footer-v7-red-dark: #bd1720;

    --abb-footer-v7-navy: #10283d;
    --abb-footer-v7-navy-dark: #0a1e2e;

    --abb-footer-v7-white: #ffffff;

    --abb-footer-v7-text: #c8d0d5;
    --abb-footer-v7-muted: #7f8d97;

    --abb-footer-v7-border: rgba(255, 255, 255, 0.10);

}


/* =========================================================
   FOOTER
========================================================= */

.abb-footer-v7 {

    position: relative;

    background: var(--abb-footer-v7-navy);

    color: var(--abb-footer-v7-white);

    overflow: hidden;

}


/* =========================================================
   LEFT RED LINE
========================================================= */

.abb-footer-v7::before {

    content: "";

    position: absolute;

    top: 0;
    left: 0;

    width: 5px;
    height: 100%;

    /* background: var(--abb-footer-v7-red); */

    z-index: 10;

}


/* =========================================================
   ARCHITECTURAL GRID
========================================================= */

.abb-footer-v7-grid {

    position: absolute;

    right: 0;
    top: 0;

    width: 45%;
    height: 100%;

    opacity: .25;

    background-image:

        linear-gradient(rgba(255, 255, 255, .045) 1px,
            transparent 1px),

        linear-gradient(90deg,
            rgba(255, 255, 255, .045) 1px,
            transparent 1px);

    background-size: 42px 42px;

    mask-image:
        linear-gradient(90deg,
            transparent,
            black);

    pointer-events: none;

}


/* =========================================================
   DECORATIVE CORNERS
========================================================= */

.abb-footer-v7-corner {

    position: absolute;

    width: 150px;
    height: 150px;

    border: 1px solid rgba(229, 35, 45, .25);

    transform: rotate(45deg);

    pointer-events: none;

}


.abb-footer-v7-corner-left {

    left: -105px;
    bottom: -100px;

}


.abb-footer-v7-corner-right {

    right: -95px;
    top: -105px;

}


/* =========================================================
   MAIN
========================================================= */

.abb-footer-v7-main {

    position: relative;

    z-index: 2;

    display: grid;

    grid-template-columns:
        minmax(0, 1.55fr) minmax(0, .8fr) minmax(0, .8fr) minmax(0, 1.45fr);

    column-gap: 65px;

    padding: 58px 0 45px;

}


/* =========================================================
   BRAND
========================================================= */

.abb-footer-v7-logo {

    display: inline-flex;

    align-items: center;

    gap: 13px;

    color: var(--abb-footer-v7-white);

    text-decoration: none;

}


.abb-footer-v7-logo-box {

    width: 50px;
    height: 50px;

    display: flex;

    align-items: center;
    justify-content: center;

    border: 1px solid var(--abb-footer-v7-red);

    color: var(--abb-footer-v7-white);

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: 18px;

    transition:
        background .3s ease,
        border-color .3s ease;

}


.abb-footer-v7-logo:hover .abb-footer-v7-logo-box {

    background: var(--abb-footer-v7-red);

    border-color: var(--abb-footer-v7-red);

}


.abb-footer-v7-logo-text {

    display: flex;

    flex-direction: column;

}


.abb-footer-v7-logo-text strong {

    font-size: 13px;

    letter-spacing: 1.6px;

}


.abb-footer-v7-logo-text small {

    margin-top: 5px;

    color: var(--abb-footer-v7-muted);

    font-size: 8px;

    letter-spacing: 2px;

}


.abb-footer-v7-brand p {

    max-width: 330px;

    margin: 22px 0 21px;

    color: var(--abb-footer-v7-muted);

    font-size: 13px;

    line-height: 1.75;

}


/* =========================================================
   SOCIAL
========================================================= */

.abb-footer-v7-social {

    display: flex;

    gap: 8px;

}


.abb-footer-v7-social a {

    width: 35px;
    height: 35px;

    display: flex;

    align-items: center;
    justify-content: center;

    color: var(--abb-footer-v7-text);

    border: 1px solid var(--abb-footer-v7-border);

    text-decoration: none;

    transition:
        background .25s ease,
        border-color .25s ease,
        color .25s ease,
        transform .25s ease;

}


.abb-footer-v7-social a:hover {

    color: #fff;

    background: var(--abb-footer-v7-red);

    border-color: var(--abb-footer-v7-red);

    transform: translateY(-2px);

}


/* =========================================================
   HEADINGS
========================================================= */

.abb-footer-v7-heading {

    display: flex;

    align-items: center;

    gap: 9px;

    margin-bottom: 22px;

    color: var(--abb-footer-v7-white);

    font-size: 12px;

    font-weight: 700;

    letter-spacing: 2px;

}


.abb-footer-v7-heading span {

    width: 22px;
    height: 2px;

    background: var(--abb-footer-v7-red);

}


/* =========================================================
   LINKS
========================================================= */

.abb-footer-v7-link-list {

    display: flex;

    flex-direction: column;

    gap: 11px;

}


.abb-footer-v7-link-list a {

    position: relative;

    display: flex;

    align-items: center;

    gap: 9px;

    width: fit-content;

    padding: 3px 8px 3px 0;

    color: var(--abb-footer-v7-muted);

    font-size: 14px;

    text-decoration: none;

    transition:
        color .25s ease,
        transform .25s ease;

}


.abb-footer-v7-link-list a i {

    width: 13px;

    color: var(--abb-footer-v7-red);

    font-size: 8px;

    transition:
        transform .25s ease;

}


/* CLEAR RED HOVER */

.abb-footer-v7-link-list a::after {

    content: "";

    position: absolute;

    left: 0;

    bottom: 0;

    width: 0;

    height: 1px;

    background: var(--abb-footer-v7-red);

    transition: width .3s ease;

}


.abb-footer-v7-link-list a:hover {

    color: var(--abb-footer-v7-white);

    transform: translateX(4px);

}


.abb-footer-v7-link-list a:hover::after {

    width: 100%;

}


.abb-footer-v7-link-list a:hover i {

    transform: translateX(3px);

}


/* =========================================================
   CONTACT
========================================================= */

.abb-footer-v7-contact-row {

    display: flex;

    align-items: flex-start;

    gap: 12px;

    margin-bottom: 14px;

}


.abb-footer-v7-contact-icon {

    flex: 0 0 29px;

    width: 29px;
    height: 29px;

    display: flex;

    align-items: center;
    justify-content: center;

    color: var(--abb-footer-v7-red);

    border: 1px solid rgba(229, 35, 45, .28);

    font-size: 10px;

}


.abb-footer-v7-contact-row p {

    margin: 0;

    color: var(--abb-footer-v7-muted);

    font-size: 14px;

    line-height: 1.55;

}


.abb-footer-v7-contact-text {

    display: flex;

    flex-direction: column;

    gap: 4px;

}


.abb-footer-v7-contact-text a,
.abb-footer-v7-email {

    color: var(--abb-footer-v7-muted);

    font-size: 14px;

    text-decoration: none;

    transition: color .25s ease;

}


.abb-footer-v7-contact-text a:hover,
.abb-footer-v7-email:hover {

    color: #e4767b;

}


/* =========================================================
   BOTTOM BAR
========================================================= */

.abb-footer-v7-bottom {

    position: relative;

    z-index: 3;

    min-height: 54px;

    display: grid;

    grid-template-columns: 1fr auto 1fr;

    align-items: center;

    column-gap: 25px;

    border-top: 1px solid var(--abb-footer-v7-border);

}


.abb-footer-v7-copyright {

    color: #687985;

    font-size: 12px;

}


/* =========================================================
   CENTER LEGAL
========================================================= */

.abb-footer-v7-legal {

    display: flex;

    align-items: center;

    justify-content: center;

    gap: 15px;

}


.abb-footer-v7-legal a {

    color: #84919a;

    font-size: 12px;

    text-decoration: none;

    transition: color .25s ease;

}


.abb-footer-v7-legal a:hover {

    color: var(--abb-footer-v7-red);

}


.abb-footer-v7-legal span {

    width: 3px;
    height: 3px;

    border-radius: 50%;

    background: var(--abb-footer-v7-red);

}


/* =========================================================
   POWERED BY
========================================================= */

.abb-footer-v7-powered {

    text-align: right;

    color: #687985;

    font-size: 12px;

}


.abb-footer-v7-powered a {

    color: #9da8af;

    text-decoration: none;

    font-weight: 600;

    transition:
        color .25s ease;

}


.abb-footer-v7-powered a:hover {

    color: #e4767b;

}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 991.98px) {

    .abb-footer-v7-main {

        grid-template-columns:
            1.4fr .8fr .8fr;

        gap: 40px;
        display: block;

    }

    .abb-footer-v7-brand {

        grid-row: span 2;

    }

    .abb-footer-v7-brand p {
        max-width: 100%
    }

    .abb-footer-v7-social {
        justify-content: center;
    }

    .abb-footer-v7-heading {
        justify-content: center;
        margin-bottom: 10px;
    }

    .abb-footer-v7-links {
        margin-top: 20px;
    }

    .abb-footer-v7-link-list {
        flex-direction: row;
        justify-content: center;
        flex-wrap: wrap;
    }

    .abb-footer-v7-contact-row {
        justify-content: center;
    }

    .abb-footer-v7-bottom {
        display: flex;
        flex-direction: column;
        gap: 20px;
        padding: 20px 0;
    }

    .abb-footer-v7-powered {
        text-align: center;
    }


    .abb-footer-v7-contact {

        grid-column: 2 / 4;

        padding-top: 10px;

    }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767.98px) {

    .abb-footer-v7-main {

        grid-template-columns: 1fr 1fr;

        column-gap: 30px;

        row-gap: 38px;

        padding: 45px 0 35px;

    }


    .abb-footer-v7-brand {

        grid-column: 1 / 3;

        grid-row: auto;

    }


    .abb-footer-v7-contact {

        grid-column: 1 / 3;

        padding-top: 5px;

    }


    .abb-footer-v7-bottom {

        grid-template-columns: 1fr;

        row-gap: 9px;

        padding: 15px 0;

        text-align: center;

    }


    .abb-footer-v7-copyright {

        text-align: center;

        order: 1;

    }


    .abb-footer-v7-legal {

        order: 2;

    }


    .abb-footer-v7-powered {

        order: 3;

        text-align: center;

    }

}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media (max-width: 480px) {

    .abb-footer-v7-main {

        grid-template-columns: 1fr;

        gap: 30px;

    }


    .abb-footer-v7-brand,
    .abb-footer-v7-contact {

        grid-column: auto;

    }


    .abb-footer-v7-logo-box {

        width: 45px;
        height: 45px;

    }


    .abb-footer-v7-bottom {

        font-size: 9px;

    }

}



/* =========================================================
   SISTER CONCERN ROW
========================================================= */

/* =========================================================
   SISTER CONCERN
========================================================= */

.abb-footer-v7-sister-row {
    position: relative;
    z-index: 3;

    display: flex;
    align-items: center;
    justify-content: center;

    gap: 22px;

    padding: 18px 0;

    border-top: 1px solid var(--abb-footer-v7-border);
}


/* =========================================================
   LABEL
========================================================= */

.abb-footer-v7-sister-label {
    position: relative;

    color: #ffffff !important;

    font-size: 10px;
    font-weight: 700;
    letter-spacing: 2px;

    text-transform: uppercase;
    white-space: nowrap;

    opacity: 1;
}


/* =========================================================
   LOGO LINK
========================================================= */

.abb-footer-v7-sister-link {
    display: inline-flex;
    align-items: center;
    gap: 10px;

    text-decoration: none;

    transition:
        transform .25s ease,
        opacity .25s ease;
}


/* =========================================================
   SISTER CONCERN LOGO
========================================================= */

.abb-footer-v7-sister-logo {
    display: block;

    width: 190px;
    height: auto;

    max-width: 100%;

    object-fit: contain;

    transition:
        transform .25s ease,
        opacity .25s ease;
}


/* =========================================================
   EXTERNAL LINK ICON
========================================================= */

.abb-footer-v7-sister-link i {
    color: var(--abb-footer-v7-red);

    font-size: 11px;

    transition:
        transform .25s ease,
        color .25s ease;
}


/* =========================================================
   HOVER
========================================================= */

.abb-footer-v7-sister-link:hover {
    transform: translateX(3px);
}

.abb-footer-v7-sister-link:hover .abb-footer-v7-sister-logo {
    opacity: .9;
    transform: scale(1.02);
}

.abb-footer-v7-sister-link:hover i {
    color: #ffffff;
    transform: translate(2px, -2px);
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 767.98px) {

    .abb-footer-v7-sister-row {
        gap: 16px;
        padding: 17px 15px;
    }

    .abb-footer-v7-sister-label {
        font-size: 9px;
        letter-spacing: 1.7px;
    }

    .abb-footer-v7-sister-logo {
        width: 165px;
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 575.98px) {

    .abb-footer-v7-sister-row {
        flex-direction: column;

        gap: 10px;

        padding: 18px 15px;
    }

    .abb-footer-v7-sister-label {
        font-size: 9px;
        letter-spacing: 1.8px;
    }

    .abb-footer-v7-sister-logo {
        width: 180px;
    }

}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media (max-width: 375px) {

    .abb-footer-v7-sister-logo {
        width: 165px;
    }

}



/* =========================================================
   ARUN BHANDARY BUILDERS & DEVELOPERS
   MANAGING DIRECTOR MESSAGE SECTION
   Bootstrap 5
========================================================= */

:root {
    --abb-md-navy: #10283d;
    --abb-md-red: #e5232d;
    --abb-md-gold: #b98949;
    --abb-md-text: #263746;
    --abb-md-bg: #faf9f5;
}


/* =========================================================
   MAIN SECTION
========================================================= */

.abb-md-message {
    position: relative;
    width: 100%;
    overflow: hidden;
    background: var(--abb-md-bg);
}


/* =========================================================
   MAIN WRAPPER
========================================================= */

.abb-md-wrapper {
    position: relative;
    z-index: 5;
    width: 100%;
    max-width: 1536px;
    margin: 0 auto;
}


/* =========================================================
   LEFT IMAGE AREA
========================================================= */

.abb-md-photo {
    position: relative;
    width: 100%;
    height: 680px;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    /* background: #f3f0e9; */
}


/* =========================================================
   IMAGE - NO CROPPING
========================================================= */

.abb-md-photo img {
    position: relative;
    z-index: 1;

    display: block;

    width: 100%;
    height: 100%;

    max-width: 100%;
    max-height: 100%;

    object-fit: contain;
    object-position: center center;

    /* background: #f3f0e9; */
}


/* =========================================================
   IMAGE RIGHT FADE
   Keep this very subtle so face/body are not hidden
========================================================= */

.abb-md-photo-fade {
    position: absolute;
    z-index: 2;

    top: 0;
    right: 0;

    width: 18%;
    height: 100%;

    pointer-events: none;

    background: linear-gradient(90deg,
            rgba(250, 249, 245, 0) 0%,
            rgba(250, 249, 245, 0.04) 35%,
            rgba(250, 249, 245, 0.20) 70%,
            rgba(250, 249, 245, 0.75) 100%);
}


/* =========================================================
   IMAGE BOTTOM FADE
========================================================= */

.abb-md-photo-bottom {
    position: absolute;
    z-index: 2;

    left: 0;
    bottom: 0;

    width: 100%;
    height: 7%;

    pointer-events: none;

    background: linear-gradient(180deg,
            rgba(250, 249, 245, 0) 0%,
            rgba(250, 249, 245, 0.12) 55%,
            rgba(250, 249, 245, 0.55) 100%);
}


/* =========================================================
   RIGHT CONTENT
========================================================= */

.abb-md-content {
    position: relative;
    z-index: 10;

    min-height: 680px;

    display: flex;
    flex-direction: column;
    justify-content: center;

    padding: 55px 7% 50px 4.5%;
}


/* =========================================================
   SECTION LABEL
========================================================= */

.abb-md-label {
    display: flex;
    align-items: center;
    gap: 12px;

    margin-bottom: 17px;
}


/* =========================================================
   LABEL LINE
========================================================= */

.abb-md-label-line {
    display: block;

    width: 46px;
    height: 2px;

    flex-shrink: 0;

    background: var(--abb-md-red);
}


/* =========================================================
   LABEL TEXT
========================================================= */

.abb-md-label-text {
    color: var(--abb-md-gold);
    /* 
    font-family: "Montserrat", Arial, sans-serif; */

    font-size: 12px;
    font-weight: 600;

    line-height: 1;

    letter-spacing: 2px;
}


/* =========================================================
   MAIN HEADING
========================================================= */

.abb-md-heading {
    position: relative;

    margin: 0;
    padding: 0;

    color: var(--abb-md-navy);

    /* font-family: "Cormorant Garamond", Georgia, serif; */

    font-weight: 500;

    line-height: 0.84;

    letter-spacing: -1px;
}


/* =========================================================
   YOUR
========================================================= */

.abb-md-your {
    display: block;

    margin-left: 7%;

    font-size: 56px;

    font-weight: 500;

    line-height: 0.9;
}


/* =========================================================
   DREAM
========================================================= */

.abb-md-dream {
    display: block;

    font-size: 82px;

    font-weight: 700;

    line-height: 0.86;

    white-space: nowrap;
}


/* =========================================================
   HOME
========================================================= */

.abb-md-home {
    position: relative;

    color: var(--abb-md-red);
}


/* =========================================================
   HOME UNDERLINE
========================================================= */

.abb-md-home::after {
    content: "";

    position: absolute;

    left: 3px;
    bottom: -8px;

    width: 70%;
    height: 2px;

    background: linear-gradient(90deg,
            var(--abb-md-red),
            rgba(229, 35, 45, 0));

    opacity: 0.55;
}


/* =========================================================
   SUBTITLE
========================================================= */

.abb-md-subtitle-wrap {
    position: relative;

    margin-top: 20px;
}


.abb-md-subtitle {
    margin: 0;

    color: var(--abb-md-gold);
    /* 
    font-family: "Cormorant Garamond", Georgia, serif; */

    font-size: 31px;

    font-weight: 600;

    line-height: 1;

    letter-spacing: -0.2px;
}


/* =========================================================
   DIVIDER
========================================================= */

.abb-md-divider {
    display: flex;
    align-items: center;

    width: 230px;
    height: 5px;

    margin-top: 18px;
    margin-bottom: 25px;
}


/* =========================================================
   RED DIVIDER
========================================================= */

.abb-md-divider-red {
    display: block;

    width: 80px;
    height: 4px;

    background: var(--abb-md-red);
}


/* =========================================================
   GOLD DIVIDER
========================================================= */

.abb-md-divider-gold {
    display: block;

    width: 135px;
    height: 1px;

    background: var(--abb-md-gold);
}


/* =========================================================
   DIVIDER DOT
========================================================= */

.abb-md-divider-dot {
    display: block;

    width: 5px;
    height: 5px;

    margin-left: 7px;

    border-radius: 50%;

    background: var(--abb-md-gold);
}


/* =========================================================
   MESSAGE
========================================================= */

.abb-md-text {
    width: 100%;
    max-width: 760px;
}


.abb-md-text p {
    margin: 0;

    color: var(--abb-md-text);

    /* font-family: "Montserrat", Arial, sans-serif; */

    font-size: 16px;

    font-weight: 400;

    line-height: 1.68;

    letter-spacing: 0;
}


/* =========================================================
   LOCATION HIGHLIGHT
========================================================= */

.abb-md-text strong {
    color: var(--abb-md-red);

    font-weight: 600;
}


/* =========================================================
   SIGNATURE
========================================================= */

.abb-md-signature-area {
    margin-top: 27px;
}


/* =========================================================
   SIGNATURE TOP
========================================================= */

.abb-md-signature-top {
    display: flex;
    align-items: center;

    gap: 11px;

    margin-bottom: 7px;
}


/* =========================================================
   SIGNATURE LINE
========================================================= */

.abb-md-signature-line {
    display: block;

    width: 62px;
    height: 2px;

    background: var(--abb-md-gold);
}


/* =========================================================
   SIGNATURE CAPTION
========================================================= */

.abb-md-signature-caption {
    color: #9a7544;

    /* font-family: "Montserrat", Arial, sans-serif; */

    font-size: 10px;

    font-weight: 600;

    line-height: 1;

    letter-spacing: 1.7px;
}


/* =========================================================
   SIGNATURE NAME
========================================================= */

.abb-md-signature {
    color: var(--abb-md-navy);

    font-family: "Allura", cursive;

    font-size: 58px;

    font-weight: 400;

    line-height: 0.95;
}


/* =========================================================
   ROLE
========================================================= */

.abb-md-role {
    margin-top: 8px;

    color: var(--abb-md-navy);
    /* 
    font-family: "Montserrat", Arial, sans-serif; */

    font-size: 16px;

    font-weight: 500;

    line-height: 1.35;
}


/* =========================================================
   COMPANY
========================================================= */

.abb-md-company {
    margin-top: 2px;

    color: var(--abb-md-navy);

    /* font-family: "Montserrat", Arial, sans-serif; */

    font-size: 14px;

    font-weight: bold;

    line-height: 1.4;
}


/* =========================================================
   LOCATION
========================================================= */

.abb-md-location {
    display: flex;
    align-items: center;

    gap: 10px;

    margin-top: 22px;
}


/* =========================================================
   LOCATION START LINE
========================================================= */

.abb-md-location>span {
    display: block;

    width: 25px;
    height: 1px;

    background: var(--abb-md-red);
}


/* =========================================================
   LOCATION NAME
========================================================= */

.abb-md-location strong {
    color: var(--abb-md-navy);
    /* 
    font-family: "Montserrat", Arial, sans-serif; */

    font-size: 10px;

    font-weight: 600;

    line-height: 1;

    letter-spacing: 1.2px;
}


/* =========================================================
   LOCATION DOT
========================================================= */

.abb-md-location i {
    display: block;

    width: 3px;
    height: 3px;

    flex-shrink: 0;

    border-radius: 50%;

    background: var(--abb-md-red);
}


/* =========================================================
   ARCHITECTURAL CURVES
========================================================= */

.abb-md-curve {
    position: absolute;

    z-index: 2;

    pointer-events: none;

    border-radius: 50%;

    transform: rotate(-18deg);
}


/* =========================================================
   CURVE 1
========================================================= */

.abb-md-curve-1 {
    width: 850px;
    height: 850px;

    top: -635px;
    right: -315px;

    border: 1px solid rgba(185, 137, 73, 0.14);
}


/* =========================================================
   CURVE 2
========================================================= */

.abb-md-curve-2 {
    width: 735px;
    height: 735px;

    top: -535px;
    right: -250px;

    border: 1px solid rgba(185, 137, 73, 0.10);
}


/* =========================================================
   CURVE 3
========================================================= */

.abb-md-curve-3 {
    width: 610px;
    height: 610px;

    top: -430px;
    right: -185px;

    border: 1px solid rgba(185, 137, 73, 0.07);
}


/* =========================================================
   CURVE 4
========================================================= */

.abb-md-curve-4 {
    width: 780px;
    height: 780px;

    right: -445px;
    bottom: -630px;

    border: 1px solid rgba(185, 137, 73, 0.08);
}


/* =========================================================
   LARGE DESKTOP
========================================================= */

@media (min-width: 1400px) {

    .abb-md-photo {
        height: 720px;
    }

    .abb-md-content {
        min-height: 720px;
    }

}


/* =========================================================
   1200 - 1399
========================================================= */

@media (max-width: 1399.98px) {

    .abb-md-photo {
        height: 650px;
    }

    .abb-md-content {
        min-height: 650px;

        padding-left: 4%;
        padding-right: 6%;
    }

    .abb-md-your {
        font-size: 51px;
    }

    .abb-md-dream {
        font-size: 73px;
    }

    .abb-md-subtitle {
        font-size: 28px;
    }

    .abb-md-text p {
        font-size: 14px;
        line-height: 1.65;
    }

    .abb-md-signature {
        font-size: 53px;
    }

}


/* =========================================================
   992 - 1199
========================================================= */

@media (max-width: 1199.98px) {

    .abb-md-photo {
        height: 610px;
    }

    .abb-md-content {
        min-height: 610px;

        padding: 45px 32px 45px 28px;
    }

    .abb-md-label {
        margin-bottom: 14px;
    }

    .abb-md-label-text {
        font-size: 10px;
        letter-spacing: 1.6px;
    }

    .abb-md-your {
        font-size: 42px;
    }

    .abb-md-dream {
        font-size: 59px;
    }

    .abb-md-subtitle {
        font-size: 24px;
    }

    .abb-md-divider {
        margin-top: 15px;
        margin-bottom: 20px;
    }

    .abb-md-text p {
        font-size: 12.5px;
        line-height: 1.65;
    }

    .abb-md-signature-area {
        margin-top: 21px;
    }

    .abb-md-signature {
        font-size: 47px;
    }

    .abb-md-role {
        font-size: 12px;
    }

    .abb-md-company {
        font-size: 10px;
    }

    .abb-md-location {
        margin-top: 17px;
    }

}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 991.98px) {

    .abb-md-message {
        overflow: hidden;
        border-top: 1px solid var(--ab-red);
    }

    .abb-md-label,
    .abb-md-membership-heading,
    .abb-md-membership-list,
    .abb-md-signature-top,
    .abb-md-location {
        justify-content: center;
    }

    .abb-md-divider {
        margin-left: auto;
        margin-right: auto;
    }

    .abb-md-text {
        max-width: 100%;
    }

    /*
       Important:
       Image gets its own natural visible area.
       No cropping.
    */

    .abb-md-photo {
        width: 100%;
        height: auto;

        min-height: 0;

        padding: 0;

        background: #f3f0e9;
    }

    .abb-md-photo img {
        position: relative;

        width: 100%;
        height: auto;

        max-width: 100%;
        max-height: none;

        object-fit: contain;

        object-position: center center;
    }

    .abb-md-photo-fade {
        width: 20%;
        height: 100%;
    }

    .abb-md-photo-bottom {
        height: 8%;
    }

    .abb-md-content {
        min-height: auto;

        padding: 48px 40px 58px;
    }

    .abb-md-your {
        font-size: 45px;
    }

    .abb-md-dream {
        font-size: 65px;
    }

    .abb-md-subtitle {
        font-size: 27px;
    }

    .abb-md-text p {
        font-size: 13.5px;
        line-height: 1.7;
    }

    .abb-md-signature {
        font-size: 51px;
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767.98px) {

    .abb-md-photo {
        height: auto;

        min-height: 0;

        display: block;

        background: #f3f0e9;
    }

    /*
       FULL IMAGE ON MOBILE
       No crop
       No fixed height
    */

    .abb-md-photo img {
        width: 100%;
        height: auto;

        min-height: 0;
        max-height: none;

        object-fit: contain;
        object-position: center center;
    }

    /*
       Reduce fade on mobile
       so the photograph remains clear.
    */

    .abb-md-photo-fade {
        top: auto;
        right: 0;
        bottom: 0;

        width: 100%;
        height: 12%;

        background: linear-gradient(180deg,
                rgba(250, 249, 245, 0) 0%,
                rgba(250, 249, 245, 0.08) 55%,
                rgba(250, 249, 245, 0.50) 100%);
    }

    .abb-md-photo-bottom {
        display: none;
    }

    .abb-md-content {
        min-height: auto;

        padding: 36px 22px 46px;
    }

    .abb-md-label {
        gap: 9px;

        margin-bottom: 15px;
    }

    .abb-md-label-line {
        width: 34px;
    }

    .abb-md-label-text {
        font-size: 7px;
        letter-spacing: 1.4px;
    }

    .abb-md-your {
        margin-left: 5%;

        font-size: 34px;
    }

    .abb-md-dream {
        font-size: 48px;

        line-height: 0.9;

        white-space: normal;
    }

    .abb-md-subtitle-wrap {
        margin-top: 16px;
    }

    .abb-md-subtitle {
        font-size: 21px;
    }

    .abb-md-divider {
        width: 190px;

        margin-top: 15px;
        margin-bottom: 21px;
    }

    .abb-md-divider-red {
        width: 62px;
    }

    .abb-md-divider-gold {
        width: 108px;
    }

    .abb-md-text p {
        font-size: 12.5px;

        line-height: 1.72;
    }

    .abb-md-signature-area {
        margin-top: 24px;
    }

    .abb-md-signature {
        font-size: 44px;
    }

    .abb-md-role {
        font-size: 11.5px;
    }

    .abb-md-company {
        font-size: 10px;
    }

    .abb-md-location {
        flex-wrap: wrap;

        gap: 8px;

        margin-top: 20px;
    }

    .abb-md-location strong {
        font-size: 7.5px;
    }

    .abb-md-location>span {
        width: 20px;
    }

    .abb-md-curve-1 {
        width: 500px;
        height: 500px;

        top: 450px;
        right: -290px;
    }

    .abb-md-curve-2 {
        width: 390px;
        height: 390px;

        top: 500px;
        right: -225px;
    }

    .abb-md-curve-3 {
        width: 300px;
        height: 300px;

        top: 550px;
        right: -165px;
    }

    .abb-md-curve-4 {
        display: none;
    }

}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media (max-width: 575.98px) {

    .abb-md-content {
        padding: 32px 18px 42px;
    }

    /* .abb-md-your {
        font-size: 31px;
    } */

    /* .abb-md-dream {
        font-size: 43px;
    } */

    /* .abb-md-subtitle {
        font-size: 19px;
    } */

    /* .abb-md-text p {
        font-size: 12px;
        line-height: 1.72;
    } */

    /* .abb-md-signature {
        font-size: 40px;
    }

    .abb-md-role {
        font-size: 10.5px;
    }

    .abb-md-company {
        font-size: 9.5px;
    } */

    .abb-md-location {
        margin-top: 18px;
    }

}


/* =========================================================
   EXTRA SMALL DEVICES
========================================================= */

@media (max-width: 400px) {

    .abb-md-content {
        padding-left: 16px;
        padding-right: 16px;
    }

    .abb-md-your {
        font-size: 28px;
    }

    .abb-md-dream {
        font-size: 39px;
    }

    .abb-md-subtitle {
        font-size: 18px;
    }

    .abb-md-text p {
        font-size: 11.5px;
    }

    .abb-md-signature {
        font-size: 37px;
    }

}


/* =========================================
   WHATSAPP FLOATING BUTTON
========================================= */

.abb-whatsapp {
    position: fixed;

    right: 22px;
    bottom: 22px;

    width: 56px;
    height: 56px;

    display: flex;
    align-items: center;
    justify-content: center;

    background: #25D366;
    color: #ffffff;

    border-radius: 50%;

    text-decoration: none;

    z-index: 9999;

    box-shadow:
        0 6px 18px rgba(37, 211, 102, 0.30);

    animation: abbWhatsAppPulse 2s infinite;

    transition:
        transform 0.3s ease,
        background 0.3s ease,
        box-shadow 0.3s ease;
}


/* =========================================
   WHATSAPP ICON
========================================= */

.abb-whatsapp i {
    font-size: 29px;

    line-height: 1;

    position: relative;
    z-index: 2;

    animation: abbWhatsAppIcon 1.8s ease-in-out infinite;
}


/* =========================================
   PULSE / RIPPLE EFFECT
========================================= */

.abb-whatsapp::before,
.abb-whatsapp::after {
    content: "";

    position: absolute;

    top: 50%;
    left: 50%;

    width: 56px;
    height: 56px;

    border-radius: 50%;

    border: 2px solid #25D366;

    transform: translate(-50%, -50%);

    opacity: 0;

    pointer-events: none;
}


/* First ripple */

.abb-whatsapp::before {
    animation: abbWhatsAppRipple 2s ease-out infinite;
}


/* Second ripple */

.abb-whatsapp::after {
    animation: abbWhatsAppRipple 2s ease-out infinite;

    animation-delay: 1s;
}


/* =========================================
   BUTTON PULSE
========================================= */

@keyframes abbWhatsAppPulse {

    0% {
        box-shadow:
            0 6px 18px rgba(37, 211, 102, 0.28);
    }

    50% {
        box-shadow:
            0 8px 28px rgba(37, 211, 102, 0.48);
    }

    100% {
        box-shadow:
            0 6px 18px rgba(37, 211, 102, 0.28);
    }

}


/* =========================================
   RIPPLE ANIMATION
========================================= */

@keyframes abbWhatsAppRipple {

    0% {
        width: 56px;
        height: 56px;

        opacity: 0.65;
    }

    70% {
        width: 86px;
        height: 86px;

        opacity: 0;
    }

    100% {
        width: 86px;
        height: 86px;

        opacity: 0;
    }

}


/* =========================================
   ICON SUBTLE MOVEMENT
========================================= */

@keyframes abbWhatsAppIcon {

    0%,
    70%,
    100% {
        transform: rotate(0deg);
    }

    75% {
        transform: rotate(-8deg);
    }

    80% {
        transform: rotate(8deg);
    }

    85% {
        transform: rotate(-5deg);
    }

    90% {
        transform: rotate(3deg);
    }

}


/* =========================================
   HOVER
========================================= */

.abb-whatsapp:hover {

    background: #1ebe5d;

    color: #ffffff;

    transform: translateY(-4px) scale(1.08);

    box-shadow:
        0 12px 32px rgba(37, 211, 102, 0.45);

    animation-play-state: paused;
}


/* =========================================
   TOOLTIP
========================================= */

.abb-whatsapp-tooltip {

    position: absolute;

    right: 68px;
    top: 50%;

    transform:
        translateY(-50%) translateX(8px);

    padding: 9px 14px;

    background: #10283d;

    color: #ffffff;

    /* font-family:
        "Montserrat",
        Arial,
        sans-serif; */

    font-size: 12px;

    font-weight: 500;

    white-space: nowrap;

    border-radius: 5px;

    opacity: 0;
    visibility: hidden;

    transition:
        opacity 0.25s ease,
        transform 0.25s ease;
}


.abb-whatsapp:hover .abb-whatsapp-tooltip {

    opacity: 1;

    visibility: visible;

    transform:
        translateY(-50%) translateX(0);
}


/* =========================================
   MOBILE
========================================= */

@media (max-width: 575.98px) {

    .abb-whatsapp {

        width: 50px;
        height: 50px;

        right: 15px;
        bottom: 15px;
    }


    .abb-whatsapp i {
        font-size: 26px;
    }


    .abb-whatsapp::before,
    .abb-whatsapp::after {

        width: 50px;
        height: 50px;
    }


    .abb-whatsapp-tooltip {
        display: none;
    }

}


/* =========================================================
   MEMBERSHIPS & ASSOCIATIONS
========================================================= */

.abb-md-memberships {
    margin-top: 28px;
    margin-bottom: 30px;
}

.abb-md-membership-heading {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 13px;
}

.abb-md-membership-line {
    width: 28px;
    height: 2px;
    background: #e5232d;
    display: block;
}

.abb-md-membership-title {
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 2px;
    color: #6d7780;
    text-transform: uppercase;
}

.abb-md-membership-list {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 11px;
}

.abb-md-membership-item {
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .8px;
    color: #10283d;
    text-transform: uppercase;
}

.abb-md-membership-separator {
    width: 4px;
    height: 4px;
    background: #e5232d;
    border-radius: 50%;
    display: inline-block;
}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767.98px) {

    .abb-md-memberships {
        margin-top: 22px;
        margin-bottom: 26px;
    }

    .abb-md-membership-title {
        font-size: 9px;
        letter-spacing: 1.5px;
    }

    .abb-md-membership-list {
        gap: 8px;
    }

    .abb-md-membership-item {
        font-size: 11px;
    }

    .abb-md-membership-separator {
        width: 3px;
        height: 3px;
    }

}


/* =========================================================
   HOMEPAGE ENQUIRY POPUP
========================================================= */

.abb-enquiry-overlay {
    position: fixed;
    inset: 0;
    z-index: 99999;

    width: 100%;
    height: 100vh;
    height: 100dvh;

    display: flex;
    align-items: center;
    justify-content: center;

    padding: 15px;

    background: rgba(16, 40, 61, 0.72);

    backdrop-filter: blur(5px);
    -webkit-backdrop-filter: blur(5px);

    opacity: 0;
    visibility: hidden;

    overflow-y: auto;
    overflow-x: hidden;

    overscroll-behavior: contain;

    transition:
        opacity .35s ease,
        visibility .35s ease;
}

.abb-enquiry-overlay.abb-enquiry-show {
    opacity: 1;
    visibility: visible;
}


/* =========================================================
   POPUP MODAL
========================================================= */

.abb-enquiry-modal {
    position: relative;

    width: 100%;
    max-width: 900px;

    /*
       IMPORTANT:
       The popup never becomes taller than the screen.
    */
    max-height: calc(100vh - 30px);
    max-height: calc(100dvh - 30px);

    margin: auto;

    background: #ffffff;

    border-radius: 14px;

    /*
       IMPORTANT:
       The modal itself is the scroll container.
    */
    overflow-x: hidden;
    overflow-y: auto;

    overscroll-behavior: contain;

    -webkit-overflow-scrolling: touch;

    scrollbar-width: thin;

    box-shadow:
        0 30px 80px rgba(0, 0, 0, .25);

    transform: translateY(25px) scale(.97);

    transition:
        transform .4s ease;
}

.abb-enquiry-overlay.abb-enquiry-show .abb-enquiry-modal {
    transform: translateY(0) scale(1);
}


/* =========================================================
   POPUP SCROLLBAR
========================================================= */

.abb-enquiry-modal::-webkit-scrollbar {
    width: 7px;
}

.abb-enquiry-modal::-webkit-scrollbar-track {
    background: #f1f1f1;
}

.abb-enquiry-modal::-webkit-scrollbar-thumb {
    background: #bd1720;
    border-radius: 10px;
}

.abb-enquiry-modal::-webkit-scrollbar-thumb:hover {
    background: #e5232d;
}


/* =========================================================
   IMPORTANT:
   DO NOT LIMIT THE ROW HEIGHT
========================================================= */

.abb-enquiry-modal>.row {
    max-height: none;
    height: auto;

    margin-left: 0;
    margin-right: 0;
}


/* =========================================================
   CLOSE BUTTON
========================================================= */

.abb-enquiry-close {
    position: absolute;

    top: 14px;
    right: 14px;

    z-index: 50;

    width: 34px;
    height: 34px;

    padding: 0;

    border: 0;
    border-radius: 50%;

    background: rgba(255, 255, 255, .96);

    color: #10283d;

    font-size: 24px;
    line-height: 34px;

    text-align: center;

    cursor: pointer;

    box-shadow:
        0 4px 15px rgba(0, 0, 0, .12);

    transition:
        background .25s ease,
        color .25s ease,
        transform .25s ease,
        box-shadow .25s ease;
}

.abb-enquiry-close:hover {
    background: #e5232d;

    color: #ffffff;

    transform: rotate(90deg);

    box-shadow:
        0 6px 18px rgba(229, 35, 45, .25);
}


/* =========================================================
   LEFT INFORMATION PANEL
========================================================= */

.abb-enquiry-info {
    position: relative;

    width: 100%;
    height: 100%;

    min-height: 100%;

    padding: 45px 40px;

    display: flex;
    flex-direction: column;
    justify-content: center;

    background: #10283d;

    overflow: hidden;
}

.abb-enquiry-info::before {
    content: "";

    position: absolute;

    width: 220px;
    height: 220px;

    right: -100px;
    bottom: -100px;

    border: 1px solid rgba(255, 255, 255, .12);

    transform: rotate(45deg);

    pointer-events: none;
}

.abb-enquiry-info::after {
    content: "";

    position: absolute;

    width: 140px;
    height: 140px;

    left: -70px;
    top: -70px;

    border: 1px solid rgba(229, 35, 45, .35);

    transform: rotate(45deg);

    pointer-events: none;
}


/* =========================================================
   LEFT LABEL
========================================================= */

.abb-enquiry-label {
    position: relative;
    z-index: 2;

    display: block;

    margin-bottom: 17px;

    color: #e5232d;

    font-size: 12px;
    font-weight: 700;

    letter-spacing: 2px;

    text-transform: uppercase;
}


/* =========================================================
   LEFT HEADING
========================================================= */

.abb-enquiry-info h2 {
    position: relative;
    z-index: 2;

    margin: 0;

    color: #ffffff;

  

    font-size: clamp(30px, 3.5vw, 42px);

    font-weight: 600;

    line-height: 1.08;
}

.abb-enquiry-info h2 span {
    color: #e5232d;
}


/* =========================================================
   LEFT DESCRIPTION
========================================================= */

.abb-enquiry-info p {
    position: relative;
    z-index: 2;

    max-width: 330px;

    margin: 21px 0 25px;

    color: rgba(255, 255, 255, .72);

    font-size: 13px;

    line-height: 1.75;
}


/* =========================================================
   LOCATION
========================================================= */

.abb-enquiry-location {
    position: relative;
    z-index: 2;

    display: flex;
    align-items: center;

    gap: 9px;

    color: rgba(255, 255, 255, .88);

    font-size: 12px;

    font-weight: 600;

    letter-spacing: .7px;

    white-space: nowrap;
}

.abb-enquiry-location i {
    color: #e5232d;

    font-size: 12px;
}


/* =========================================================
   FORM AREA
========================================================= */

.abb-enquiry-form-wrap {
    width: 100%;

    padding: 40px 40px 38px;

    background: #ffffff;
}


/* =========================================================
   FORM HEADING
========================================================= */

.abb-enquiry-form-heading {
    margin-bottom: 21px;
}

.abb-enquiry-form-heading span {
    display: block;

    margin-bottom: 5px;

    color: #e5232d;

    font-size: 12px;

    font-weight: 700;

    letter-spacing: 2px;

    text-transform: uppercase;
}

.abb-enquiry-form-heading h3 {
    margin: 0;

    color: #10283d;

   

    font-size: 29px;

    font-weight: 600;

    line-height: 1.2;
}


/* =========================================================
   FORM LABELS
========================================================= */

.abb-enquiry-form-wrap label {
    display: block;

    margin-bottom: 6px;

    color: #263746;

    font-size: 13px;

    font-weight: 600;

    line-height: 1.3;
}


/* =========================================================
   FORM INPUTS
========================================================= */

.abb-enquiry-form-wrap .form-control,
.abb-enquiry-form-wrap .form-select {
    width: 100%;

    min-height: 44px;

    padding: 9px 12px;

    border: 1px solid #e3e6e8;

    border-radius: 6px;

    background: #ffffff;

    color: #263746;

    font-size: 12px;

    line-height: 1.5;

    box-shadow: none;

    transition:
        border-color .25s ease,
        box-shadow .25s ease;
}

.abb-enquiry-form-wrap .form-control::placeholder {
    color: #8c959c;

    opacity: 1;
}

.abb-enquiry-form-wrap .form-control:focus,
.abb-enquiry-form-wrap .form-select:focus {
    border-color: #e5232d;

    outline: none;

    box-shadow:
        0 0 0 3px rgba(229, 35, 45, .08);
}


/* =========================================================
   TEXTAREA
========================================================= */

.abb-enquiry-form-wrap textarea.form-control {
    min-height: 78px;

    resize: vertical;
}


/* =========================================================
   SELECT
========================================================= */

.abb-enquiry-form-wrap .form-select {
    cursor: pointer;
}


/* =========================================================
   SUBMIT BUTTON
========================================================= */

.abb-enquiry-submit {
    width: 100%;

    min-height: 45px;

    padding: 10px 18px;

    border: 0;

    border-radius: 6px;

    background: #e5232d;

    color: #ffffff;

    font-size: 10px;

    font-weight: 700;

    letter-spacing: 1.5px;

    cursor: pointer;

    transition:
        background .25s ease,
        transform .25s ease,
        box-shadow .25s ease;
}

.abb-enquiry-submit i {
    margin-left: 8px;

    transition:
        transform .25s ease;
}

.abb-enquiry-submit:hover {
    background: #bd1720;

    transform: translateY(-2px);

    box-shadow:
        0 8px 20px rgba(229, 35, 45, .20);
}

.abb-enquiry-submit:hover i {
    transform: translateX(4px);
}


/* =========================================================
   SHORT DESKTOP / LAPTOP SCREEN
   Example: 990 × 707 responsive screen
========================================================= */

@media (max-height: 750px) and (min-width: 768px) {

    .abb-enquiry-overlay {
        align-items: flex-start;

        padding: 10px;

        overflow-y: auto;
    }

    .abb-enquiry-modal {
        max-height: calc(100vh - 20px);
        max-height: calc(100dvh - 20px);

        margin-top: auto;
        margin-bottom: auto;
    }

    .abb-enquiry-info {
        padding: 30px 32px;
    }

    .abb-enquiry-info h2 {
        font-size: 34px;
    }

    .abb-enquiry-info p {
        margin-top: 15px;
        margin-bottom: 18px;

        font-size: 12px;

        line-height: 1.6;
        max-width: 100%;
    }

    .abb-enquiry-location {
        justify-content: center;
    }

    .abb-enquiry-form-wrap {
        padding: 27px 32px 28px;
    }

    .abb-enquiry-form-heading {
        margin-bottom: 14px;
    }

    .abb-enquiry-form-heading h3 {
        font-size: 25px;
    }

    .abb-enquiry-form-wrap label {
        margin-bottom: 4px;

        font-size: 14px;
        text-align: left;
    }

    .abb-enquiry-form-wrap .form-control,
    .abb-enquiry-form-wrap .form-select {
        min-height: 40px;

        padding: 7px 11px;

        font-size: 11px;
    }

    .abb-enquiry-form-wrap textarea.form-control {
        min-height: 58px;
    }

    .abb-enquiry-form-wrap .row {
        --bs-gutter-y: .6rem;
    }

    .abb-enquiry-submit {
        min-height: 41px;
    }
}


/* =========================================================
   TABLET
========================================================= */

@media (min-width: 768px) and (max-width: 991.98px) {

    .abb-enquiry-overlay {
        padding: 12px;
    }

    .abb-enquiry-modal {
        max-width: 850px;
    }

    .abb-enquiry-info {
        padding: 35px 30px;
    }

    .abb-enquiry-form-wrap {
        padding: 32px 30px;
    }
}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767.98px) {

    .abb-enquiry-overlay {
        align-items: flex-start;

        justify-content: center;

        padding: 10px;

        overflow-y: auto;

        -webkit-overflow-scrolling: touch;
    }

    .abb-enquiry-modal {
        width: 100%;

        max-width: 520px;

        max-height: calc(100vh - 20px);
        max-height: calc(100dvh - 20px);

        margin: auto 0;

        border-radius: 12px;

        overflow-x: hidden;
        overflow-y: auto;

        -webkit-overflow-scrolling: touch;

        touch-action: pan-y;

        overscroll-behavior-y: contain;
    }

    .abb-enquiry-modal>.row {
        display: flex;

        flex-direction: column;

        height: auto;
    }

    .abb-enquiry-modal .col-lg-5,
    .abb-enquiry-modal .col-lg-7 {
        width: 100%;
    }

    .abb-enquiry-info {
        min-height: auto;

        height: auto;

        padding: 32px 25px;
    }

    .abb-enquiry-info h2 {
        font-size: 31px;
    }

    .abb-enquiry-info p {
        max-width: 100%;

        margin: 16px 0 18px;

        font-size: 12px;

        line-height: 1.65;
    }

    .abb-enquiry-location {
        font-size: 9px;
    }

    .abb-enquiry-form-wrap {
        padding: 28px 22px 30px;
    }

    .abb-enquiry-form-heading {
        margin-bottom: 18px;
    }

    .abb-enquiry-form-heading h3 {
        font-size: 25px;
    }

    .abb-enquiry-form-wrap .form-control,
    .abb-enquiry-form-wrap .form-select {
        min-height: 43px;
    }

    .abb-enquiry-form-wrap textarea.form-control {
        min-height: 75px;
    }

    .abb-enquiry-close {
        top: 10px;
        right: 10px;

        width: 31px;
        height: 31px;

        font-size: 21px;

        line-height: 31px;
    }
}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media (max-width: 480px) {

    .abb-enquiry-overlay {
        padding: 7px;
    }

    .abb-enquiry-modal {
        max-height: calc(100vh - 14px);
        max-height: calc(100dvh - 14px);

        border-radius: 10px;
    }

    .abb-enquiry-info {
        padding: 28px 21px;
    }

    .abb-enquiry-info h2 {
        font-size: 28px;
    }

    .abb-enquiry-info p {
        margin-top: 14px;
        margin-bottom: 17px;

        font-size: 11px;
    }

    .abb-enquiry-location {
        font-size: 8.5px;

        letter-spacing: .5px;
    }

    .abb-enquiry-form-wrap {
        padding: 24px 18px 27px;
    }

    .abb-enquiry-form-heading h3 {
        font-size: 23px;
    }

    .abb-enquiry-form-wrap .form-control,
    .abb-enquiry-form-wrap .form-select {
        min-height: 42px;

        font-size: 11px;
    }

    .abb-enquiry-form-wrap textarea.form-control {
        min-height: 70px;
    }
}


/* =========================================================
   VERY SHORT MOBILE SCREENS
========================================================= */

@media (max-height: 650px) and (max-width: 767.98px) {

    .abb-enquiry-overlay {
        align-items: flex-start;

        padding: 6px;
    }

    .abb-enquiry-modal {
        max-height: calc(100vh - 12px);
        max-height: calc(100dvh - 12px);
    }

    .abb-enquiry-info {
        padding: 23px 20px;
    }

    .abb-enquiry-info h2 {
        font-size: 26px;
    }

    .abb-enquiry-info p {
        margin: 12px 0 15px;

        line-height: 1.5;
    }

    .abb-enquiry-form-wrap {
        padding: 21px 18px 24px;
    }

    .abb-enquiry-form-heading {
        margin-bottom: 14px;
    }

    .abb-enquiry-form-heading h3 {
        font-size: 22px;
    }

    .abb-enquiry-form-wrap .row {
        --bs-gutter-y: .55rem;
    }

    .abb-enquiry-form-wrap textarea.form-control {
        min-height: 60px;
    }
}




@media(max-width:1301px) {
    .ab-slider-number {
        display: none;
    }
}

@media(max-width:1199px) {
    .abb-service-body h3 {
        font-size: 21px;
    }

    .ab-navbar .nav-link {
        font-size: 14px
    }
}

/* =========================================================
   ABOUT US - FULL WIDTH BANNER
========================================================= */

.abb-about-banner {
    position: relative;
    width: 100%;
    height: 680px;
    overflow: hidden;
    background: #10283d;
}


/* =========================================================
   FULL WIDTH IMAGE
========================================================= */

.abb-about-banner-image {
    position: absolute;
    inset: 0;

    width: 100%;
    height: 100%;

    display: block;

    object-fit: cover;
    object-position: center center;
}


/* =========================================================
   OVERLAY
========================================================= */

.abb-about-banner-overlay {
    position: absolute;
    inset: 0;

    z-index: 1;

    background:
        linear-gradient(90deg,
            rgba(16, 40, 61, .88) 0%,
            rgba(16, 40, 61, .70) 25%,
            rgba(16, 40, 61, .28) 50%,
            rgba(16, 40, 61, .05) 75%,
            rgba(16, 40, 61, .10) 100%);
}


/* =========================================================
   CONTENT
========================================================= */

.abb-about-banner-content {
    position: relative;

    z-index: 3;

    height: 100%;

    max-width: 850px;

    padding-left: 8vw;
    padding-top: 100px;

    display: flex;
    flex-direction: column;
    justify-content: center;
}


/* =========================================================
   BREADCRUMB
========================================================= */

.abb-about-banner-breadcrumb {
    display: flex;
    align-items: center;
    gap: 12px;

    margin-bottom: 45px;

    font-family: "Rajdhani", sans-serif;

    font-size: 15px;
    font-weight: 500;

    letter-spacing: .5px;

    color: rgba(255, 255, 255, .75);
}

.abb-about-banner-breadcrumb a {
    color: rgba(255, 255, 255, .72);
    text-decoration: none;

    transition: .3s ease;
}

.abb-about-banner-breadcrumb a:hover {
    color: #e5232d;
}

.abb-about-banner-breadcrumb strong {
    color: #ffffff;
}

.abb-about-banner-breadcrumb-line {
    width: 45px;
    height: 2px;

    background: #e5232d;

    display: inline-block;

    margin-right: 4px;
}


/* =========================================================
   LABEL
========================================================= */

.abb-about-banner-label {
    position: relative;

    padding-left: 25px;

    margin-bottom: 18px;

    font-family: "Rajdhani", sans-serif;

    font-size: 13px;
    font-weight: 700;

    letter-spacing: 4px;

    color: #ffffff;
}

.abb-about-banner-label::before {
    content: "";

    position: absolute;

    left: 0;
    top: 50%;

    width: 11px;
    height: 2px;

    background: #e5232d;

    transform: translateY(-50%);
}


/* =========================================================
   HEADING
========================================================= */

.abb-about-banner-heading {
    margin: 0;

    font-family: "Rajdhani", sans-serif;

    font-size: clamp(55px, 6vw, 88px);

    line-height: .94;

    font-weight: 600;

    letter-spacing: -2px;
}

.abb-about-banner-heading span {
    display: block;
}

.abb-about-banner-heading span:first-child {
    color: #ffffff;
}

.abb-about-banner-heading span:last-child {
    color: #e5232d;
}


/* =========================================================
   DESCRIPTION
========================================================= */

.abb-about-banner-description {
    max-width: 650px;

    margin: 30px 0 0;

    font-family: "Rajdhani", sans-serif;

    font-size: 18px;

    line-height: 1.55;

    font-weight: 500;

    color: rgba(255, 255, 255, .88);
}


/* =========================================================
   RED LINE
========================================================= */

.abb-about-banner-redline {
    width: 78px;
    height: 3px;

    margin-top: 34px;

    background: #e5232d;
}


/* =========================================================
   ARCHITECTURAL CORNER
========================================================= */

.abb-about-banner-corner {
    position: absolute;

    z-index: 3;

    right: 55px;
    bottom: 45px;

    width: 120px;
    height: 120px;

    border-right: 1px solid rgba(255, 255, 255, .35);
    border-bottom: 1px solid rgba(255, 255, 255, .35);
}

.abb-about-banner-corner::before {
    content: "";

    position: absolute;

    right: 25px;
    bottom: 25px;

    width: 45px;
    height: 45px;

    border-right: 2px solid #e5232d;
    border-bottom: 2px solid #e5232d;
}


/* =========================================================
   LARGE DESKTOP
========================================================= */

@media (min-width: 1400px) {

    .abb-about-banner {
        height: 720px;
    }

    .abb-about-banner-content {
        padding-left: 9vw;
    }

}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 991.98px) {

    .abb-about-banner {
        height: 600px;
    }

    .abb-about-banner-content {
        padding-left: 6vw;
        padding-right: 6vw;
    }

    .abb-about-banner-heading {
        font-size: 62px;
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767.98px) {

    .abb-about-banner {
        height: 580px;
    }

    .abb-about-banner-image {
        object-position: 62% center;
    }

    .abb-about-banner-overlay {
        background:
            linear-gradient(90deg,
                rgba(16, 40, 61, .90) 0%,
                rgba(16, 40, 61, .72) 55%,
                rgba(16, 40, 61, .30) 100%);
    }

    .abb-about-banner-content {
        padding: 35px 25px 45px;

        justify-content: center;
    }

    .abb-about-banner-breadcrumb {
        margin-bottom: 35px;
        font-size: 13px;
        justify-content: center;
    }
    .abb-about-banner-label::before{content: none;}

    .abb-about-banner-breadcrumb-line {
        width: 30px;
    }

    .abb-about-banner-label {
        font-size: 11px;
        letter-spacing: 3px;
    }

    .abb-about-banner-heading {
        font-size: 45px;
        line-height: .98;
        letter-spacing: -1px;
    }

    .abb-about-banner-description {
        font-size: 16px;
        line-height: 1.5;
        margin-top: 25px;
    }

    .abb-about-banner-redline {
        margin-top: 27px;
        margin-left: auto;
        margin-right: auto;
    }

    .abb-about-banner-corner {
        right: 20px;
        bottom: 20px;

        width: 70px;
        height: 70px;
    }

    .abb-about-banner-corner::before {
        right: 15px;
        bottom: 15px;

        width: 28px;
        height: 28px;
    }

}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media (max-width: 575.98px) {

    .abb-about-banner {
        height: 540px;
    }

    .abb-about-banner-heading {
        font-size: 38px;
    }

    .abb-about-banner-description {
        font-size: 15px;
    }

}



/* =========================================================
   ABOUT INTRO
========================================================= */

.abb-about-intro {

    position: relative;

    padding: 110px 0 125px;

    background: #ffffff;

    overflow: hidden;
}


/* subtle architectural background */

.abb-about-intro::after {

    content: "";

    position: absolute;

    right: -120px;
    bottom: -160px;

    width: 420px;
    height: 420px;

    border: 1px solid rgba(16, 40, 61, .08);

    transform: rotate(45deg);

    pointer-events: none;
}


/* =========================================================
   IMAGE
========================================================= */

.abb-about-intro-image-wrap {

    position: relative;

    width: calc(100% - 45px);

    margin-left: 15px;
}


.abb-about-intro-image {

    position: relative;

    z-index: 2;

    width: 100%;

    height: auto;

    display: block;

    object-fit: cover;

    object-position: center;

    box-shadow:
        0 25px 60px rgba(16, 40, 61, .15);
}


/* Architectural frame */

.abb-about-intro-image-frame {

    position: absolute;

    z-index: 1;

    left: -25px;
    bottom: -25px;

    width: 100%;
    height: 100%;

    border: 2px solid var(--ab-red);
}


/* =========================================================
   IMAGE LABEL
========================================================= */

.abb-about-intro-image-label {

    position: absolute;

    z-index: 4;

    left: -25px;
    top: 35px;

    display: flex;

    align-items: center;

    gap: 12px;

    padding: 11px 18px;

    background: var(--ab-navy);

    color: #ffffff;

    font-family: var(--ab-slider-font);

    font-size: 11px;

    font-weight: 700;

    letter-spacing: 2px;
}


.abb-about-intro-image-label-number {

    color: var(--ab-red);

    font-size: 13px;
}


/* =========================================================
   CONTENT
========================================================= */

.abb-about-intro-content {

    position: relative;

    z-index: 3;

    padding:

        30px 5vw 30px 6vw;
}


/* =========================================================
   LABEL
========================================================= */

.abb-about-section-label {

    display: flex;

    align-items: center;

    gap: 12px;

    margin-bottom: 20px;

    color: var(--ab-red);

    font-family: var(--ab-slider-font);

    font-size: 12px;

    font-weight: 700;

    letter-spacing: 3px;
}


.abb-about-section-label span {

    width: 38px;
    height: 2px;

    background: var(--ab-red);
}


/* =========================================================
   HEADING
========================================================= */

.abb-about-intro-heading {

    margin: 0;

    max-width: 600px;

    color: var(--ab-navy);

    font-family: var(--ab-slider-heading);

    font-size: clamp(45px, 4.5vw, 70px);

    line-height: .98;

    font-weight: 500;

    letter-spacing: -1.5px;
}


.abb-about-intro-heading strong {

    display: block;

    color: var(--ab-red);

    font-weight: 600;
}


/* =========================================================
   DIVIDER
========================================================= */

.abb-about-intro-divider {

    margin: 28px 0;

    width: 100%;

    height: 1px;

    background: var(--ab-border);

    position: relative;
}


.abb-about-intro-divider span {

    position: absolute;

    left: 0;
    top: -1px;

    width: 70px;

    height: 3px;

    background: var(--ab-red);
}


/* =========================================================
   TEXT
========================================================= */

.abb-about-intro-content p {

    max-width: 650px;

    margin-bottom: 18px;

    color: var(--ab-text);

    font-family: var(--ab-slider-font);

    font-size: 17px;

    line-height: 1.7;

    font-weight: 500;
}


.abb-about-intro-content p strong {

    color: var(--ab-navy);

    font-weight: 700;
}


/* =========================================================
   HIGHLIGHT
========================================================= */

.abb-about-intro-highlight {

    display: inline-flex;

    align-items: center;

    gap: 15px;

    margin-top: 18px;

    padding-top: 18px;

    border-top: 1px solid var(--ab-border);
}


.abb-about-intro-highlight-icon {

    width: 48px;
    height: 48px;

    display: flex;

    align-items: center;
    justify-content: center;

    background: var(--ab-red);

    color: #ffffff;

    font-size: 17px;
}


.abb-about-intro-highlight div:last-child {

    display: flex;

    flex-direction: column;

    gap: 2px;
}


.abb-about-intro-highlight span {

    font-family: var(--ab-slider-font);

    font-size: 10px;

    font-weight: 700;

    letter-spacing: 2px;

    color: var(--ab-muted);
}


.abb-about-intro-highlight strong {

    font-family: var(--ab-slider-font);

    font-size: 16px;

    font-weight: 700;

    letter-spacing: 1px;

    color: var(--ab-navy);
}


/* =========================================================
   RESPONSIVE
========================================================= */

@media (max-width: 991.98px) {

    .abb-about-intro {

        padding: 80px 0 90px;
    }

    .abb-about-intro-image-wrap {

        width: calc(100% - 30px);

        margin: 0 auto 60px;
    }

    .abb-about-intro-image {

        height: 500px;
    }

    .abb-about-intro-content {

        padding: 0 20px;
    }

}


@media (max-width: 767.98px) {

    .abb-about-intro {

        padding: 65px 0 75px;
    }

    .abb-about-intro-image {

        height: 400px;
    }

    .abb-about-intro-image-frame {

        left: -12px;
        bottom: -12px;
    }

    .abb-about-intro-image-label {

        left: -12px;
        top: 20px;
    }

    .abb-about-intro-content {

        padding: 0 5px;
    }

    .abb-about-intro-heading {

        font-size: 43px;
    }

    .abb-about-intro-content p {

        font-size: 16px;
    }

}

.abb-about-intro-company {
    margin-bottom: 18px;

    font-family: var(--ab-slider-font);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 2.5px;

    color: var(--ab-navy);

    text-transform: uppercase;
}

.abb-about-intro-company::after {
    content: "";
    display: inline-block;

    width: 28px;
    height: 2px;

    margin-left: 12px;

    vertical-align: middle;

    background: var(--ab-red);
}


/* =========================================================
   ABOUT STORY V2
========================================================= */

.abb-about-story-v2 {

    position: relative;

    overflow: hidden;

    padding: 120px 0 130px;

    background: #f7f5f0;

    color: var(--ab-navy);
}


/* =========================================================
   LARGE BACKGROUND NUMBER
========================================================= */

.abb-about-story-v2-bg-number {

    position: absolute;

    left: -25px;
    bottom: -105px;

    font-family: var(--ab-slider-heading);

    font-size: 330px;

    line-height: .75;

    font-weight: 600;

    color: rgba(16, 40, 61, .035);

    user-select: none;

    pointer-events: none;
}


/* =========================================================
   ARCHITECTURAL LINE
========================================================= */

.abb-about-story-v2-line {

    position: absolute;

    top: 0;
    bottom: 0;

    left: 50%;

    width: 1px;

    background: rgba(16, 40, 61, .07);

    pointer-events: none;
}


/* =========================================================
   CONTENT
========================================================= */

.abb-about-story-v2-content {

    position: relative;

    z-index: 3;

    padding-right: 45px;
}


/* =========================================================
   LABEL
========================================================= */

.abb-about-story-v2-label {

    display: flex;

    align-items: center;

    gap: 13px;

    margin-bottom: 22px;

    font-family: var(--ab-slider-font);

    font-size: 11px;

    font-weight: 700;

    letter-spacing: 3px;

    color: var(--ab-red);
}


.abb-about-story-v2-label-line {

    width: 42px;

    height: 2px;

    background: var(--ab-red);
}


/* =========================================================
   HEADING
========================================================= */

.abb-about-story-v2-heading {

    margin: 0;

    font-family: var(--ab-slider-heading);

    font-size: clamp(48px, 5vw, 72px);

    line-height: .96;

    font-weight: 500;

    letter-spacing: -1.5px;

    color: var(--ab-navy);
}


.abb-about-story-v2-heading span {

    display: block;

    color: var(--ab-red);

    font-weight: 600;
}


/* =========================================================
   LEAD TEXT
========================================================= */

.abb-about-story-v2-lead {

    margin: 32px 0 18px;

    max-width: 540px;

    font-family: var(--ab-slider-font);

    font-size: 18px;

    line-height: 1.7;

    font-weight: 600;

    color: var(--ab-text);
}


/* =========================================================
   NORMAL TEXT
========================================================= */

.abb-about-story-v2-text {

    margin: 0;

    max-width: 530px;

    font-family: var(--ab-slider-font);

    font-size: 15px;

    line-height: 1.75;

    color: var(--ab-muted);
}


/* =========================================================
   INFO ROW
========================================================= */

.abb-about-story-v2-info {

    display: flex;

    margin-top: 42px;

    border-top: 1px solid var(--ab-border);

    border-bottom: 1px solid var(--ab-border);
}


.abb-about-story-v2-info-item {

    flex: 1;

    display: flex;

    align-items: center;

    gap: 12px;

    padding: 19px 15px 19px 0;
}


.abb-about-story-v2-info-item+.abb-about-story-v2-info-item {

    padding-left: 15px;

    border-left: 1px solid var(--ab-border);
}


.abb-about-story-v2-info-item>strong {

    font-family: var(--ab-slider-font);

    font-size: 12px;

    color: var(--ab-red);
}


.abb-about-story-v2-info-item div {

    display: flex;

    flex-direction: column;

    gap: 2px;
}


.abb-about-story-v2-info-item span {

    font-family: var(--ab-slider-font);

    font-size: 14px;

    font-weight: 700;

    letter-spacing: 1.5px;

    color: var(--ab-navy);
}


.abb-about-story-v2-info-item small {

    font-family: var(--ab-slider-font);

    font-size: 12px;

    color: var(--ab-muted);
}


/* =========================================================
   VISUAL
========================================================= */

.abb-about-story-v2-visual {

    position: relative;

    min-height: 620px;

    margin-left: 35px;

    margin-right: -80px;
}


/* =========================================================
   IMAGE
========================================================= */

.abb-about-story-v2-image {

    position: absolute;

    z-index: 2;

    top: 25px;
    left: 25px;

    width: calc(100% - 25px);

    height: 570px;

    display: block;

    object-fit: cover;

    object-position: center;

    box-shadow:
        0 25px 55px rgba(16, 40, 61, .17);

    transition: transform .7s ease;
}


.abb-about-story-v2-visual:hover .abb-about-story-v2-image {

    transform: translate(-5px, -5px);
}


/* =========================================================
   FRAME
========================================================= */

.abb-about-story-v2-frame {

    position: absolute;

    z-index: 1;

    top: 0;
    left: 0;

    width: calc(100% - 25px);

    height: 570px;

    border: 1px solid var(--ab-navy);

    opacity: .45;
}


/* =========================================================
   RED BLOCK
========================================================= */

.abb-about-story-v2-red-block {

    position: absolute;

    z-index: 0;

    right: 0;

    bottom: 0;

    width: 145px;

    height: 155px;

    background: var(--ab-red);
}


/* =========================================================
   IMAGE TAG
========================================================= */

.abb-about-story-v2-tag {

    position: absolute;

    z-index: 5;

    left: -15px;

    bottom: 25px;

    display: flex;

    flex-direction: column;

    gap: 3px;

    padding: 17px 25px;

    background: var(--ab-navy);

    color: var(--ab-white);

    box-shadow:
        0 12px 30px rgba(16, 40, 61, .2);
}


.abb-about-story-v2-tag span {

    font-family: var(--ab-slider-font);

    font-size: 9px;

    font-weight: 600;

    letter-spacing: 2.5px;

    color: rgba(255, 255, 255, .65);
}


.abb-about-story-v2-tag strong {

    font-family: var(--ab-slider-font);

    font-size: 13px;

    font-weight: 700;

    letter-spacing: 1px;

    color: var(--ab-white);
}


/* =========================================================
   CORNER MARK
========================================================= */

.abb-about-story-v2-corner {

    position: absolute;

    z-index: 6;

    top: -10px;

    right: 5px;

    width: 65px;

    height: 65px;
}


.abb-about-story-v2-corner span:first-child {

    position: absolute;

    right: 0;
    top: 0;

    width: 45px;
    height: 1px;

    background: var(--ab-red);
}


.abb-about-story-v2-corner span:last-child {

    position: absolute;

    right: 0;
    top: 0;

    width: 1px;
    height: 45px;

    background: var(--ab-red);
}


/* =========================================================
   LARGE DESKTOP
========================================================= */

@media (min-width: 1400px) {

    .abb-about-story-v2-content {

        padding-left: 45px;
    }

    .abb-about-story-v2-visual {

        margin-left: 50px;
    }

}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 1199.98px) {

    .abb-about-story-v2 {

        padding: 90px 0 100px;
    }

    .abb-about-story-v2-content {

        padding-right: 20px;
    }

    .abb-about-story-v2-visual {

        margin-left: 20px;

        margin-right: -30px;
    }

    .abb-about-story-v2-heading {

        font-size: 55px;
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 991.98px) {

    .abb-about-story-v2-line {

        display: none;
    }

    .abb-about-story-v2-content {

        padding-right: 0;

        margin-bottom: 70px;
    }

    .abb-about-story-v2-visual {

        min-height: 500px;

        margin-left: 10px;

        margin-right: 10px;
    }

    .abb-about-story-v2-image {

        height: 470px;
    }

    .abb-about-story-v2-frame {

        height: 470px;
    }

}


@media (max-width: 575.98px) {

    .abb-about-story-v2 {

        padding: 70px 0 80px;
    }

    .abb-about-story-v2-heading {

        font-size: 45px;
    }

    .abb-about-story-v2-lead {

        font-size: 16px;
    }

    .abb-about-story-v2-info-item {

        padding: 15px 8px 15px 0;
    }

    .abb-about-story-v2-info-item+.abb-about-story-v2-info-item {

        padding-left: 8px;
    }

    .abb-about-story-v2-info-item small {

        display: none;
    }

    .abb-about-story-v2-info-item span {

        font-size: 10px;
    }

    .abb-about-story-v2-visual {

        min-height: 400px;

        margin-left: 5px;

        margin-right: 5px;
    }

    .abb-about-story-v2-image {

        top: 15px;
        left: 15px;

        width: calc(100% - 15px);

        height: 370px;
    }

    .abb-about-story-v2-frame {

        height: 370px;
    }

    .abb-about-story-v2-red-block {

        width: 90px;
        height: 95px;
    }

    .abb-about-story-v2-tag {

        left: -5px;

        bottom: 15px;

        padding: 13px 17px;
    }

    .abb-about-story-v2-tag strong {

        font-size: 11px;
    }

    .abb-about-story-v2-bg-number {

        font-size: 220px;

        bottom: -60px;
    }

}

/* =========================================================
   ABOUT US - LAYOUT & PLOTS V3
========================================================= */

.abb-about-layout-v3 {

    position: relative;

    overflow: hidden;

    padding: 115px 0 120px;

    background: var(--ab-navy);

    color: var(--ab-white);
}


/* =========================================================
   SUBTLE BACKGROUND
========================================================= */

.abb-about-layout-v3-bg {

    position: absolute;

    inset: 0;

    pointer-events: none;

    background-image:
        linear-gradient(90deg,
            transparent 0,
            transparent 49.9%,
            rgba(255, 255, 255, .025) 50%,
            transparent 50.1%);

    opacity: .8;
}


/* =========================================================
   LABEL
========================================================= */

.abb-about-layout-v3-label {

    display: flex;

    align-items: center;

    gap: 13px;

    margin-bottom: 22px;

    font-family: var(--ab-slider-font);

    font-size: 11px;

    font-weight: 700;

    letter-spacing: 3px;

    color: var(--ab-red);
}


.abb-about-layout-v3-label span {

    width: 42px;

    height: 2px;

    background: var(--ab-red);
}


/* =========================================================
   HEADING
========================================================= */

.abb-about-layout-v3-heading {

    margin: 0;

    font-family: var(--ab-slider-heading);

    font-size: clamp(48px, 5.3vw, 76px);

    line-height: .94;

    font-weight: 500;

    letter-spacing: -1px;

    color: var(--ab-white);
}


.abb-about-layout-v3-heading span {

    display: block;

    color: var(--ab-red);

    font-weight: 600;
}


/* =========================================================
   INTRO
========================================================= */

.abb-about-layout-v3-intro {

    max-width: 420px;

    margin: 35px 0 0 auto;

    font-family: var(--ab-slider-font);

    font-size: 16px;

    line-height: 1.75;

    color: rgba(255, 255, 255, .66);
}


/* =========================================================
   MAIN
========================================================= */

.abb-about-layout-v3-main {

    position: relative;

    margin-top: 75px;

    border-top: 1px solid rgba(255, 255, 255, .14);

    border-bottom: 1px solid rgba(255, 255, 255, .14);
}


/* =========================================================
   SIDE CONTENT
========================================================= */

.abb-about-layout-v3-side {

    min-height: 475px;

    padding: 55px 45px 40px 0;

    border-right: 1px solid rgba(255, 255, 255, .14);

    display: flex;

    flex-direction: column;

    justify-content: center;
}


.abb-about-layout-v3-side-right {

    padding-left: 45px;

    padding-right: 0;

    border-right: 0;

    border-left: 1px solid rgba(255, 255, 255, .14);
}


/* =========================================================
   SMALL TITLE
========================================================= */

.abb-about-layout-v3-small-title {

    margin-bottom: 28px;

    font-family: var(--ab-slider-font);

    font-size: 13px;

    font-weight: 700;

    letter-spacing: 2.5px;

    color: var(--ab-red);
}


/* =========================================================
   SIDE HEADING
========================================================= */

.abb-about-layout-v3-side h3 {

    max-width: 310px;

    margin: 0;

    font-family: var(--ab-slider-heading);

    font-size: 46px;

    line-height: .98;

    font-weight: 400;

    color: var(--ab-white);
}


.abb-about-layout-v3-side h3 span {

    display: block;

    color: var(--ab-red);

    font-weight: 600;
}


/* =========================================================
   SIDE PARAGRAPH
========================================================= */

.abb-about-layout-v3-side p {

    max-width: 340px;

    margin: 28px 0 0;

    font-family: var(--ab-slider-font);

    font-size: 14px;

    line-height: 1.75;

    color: rgba(255, 255, 255, .6);
}


/* =========================================================
   SIDE ACCENT
========================================================= */

.abb-about-layout-v3-side-accent {

    width: 48px;

    height: 2px;

    margin-top: 38px;

    background: var(--ab-red);
}


/* =========================================================
   SIDE BOTTOM
========================================================= */

.abb-about-layout-v3-side-bottom {

    display: flex;

    align-items: center;

    gap: 11px;

    margin-top: 28px;
}


.abb-about-layout-v3-side-bottom i {

    font-size: 13px;

    color: var(--ab-red);
}


.abb-about-layout-v3-side-bottom span {

    font-family: var(--ab-slider-font);

    font-size: 13px;

    font-weight: 700;

    letter-spacing: 1.8px;

    color: rgba(255, 255, 255, .38);
}


/* =========================================================
   CENTRAL PLAN
========================================================= */

.abb-about-layout-v3-plan {

    position: relative;

    min-height: 475px;

    overflow: hidden;

    background:
        linear-gradient(rgba(255, 255, 255, .035) 1px,
            transparent 1px),
        linear-gradient(90deg,
            rgba(255, 255, 255, .035) 1px,
            transparent 1px);

    background-size: 30px 30px;
}


/* =========================================================
   PLAN HEADING
========================================================= */

.abb-about-layout-v3-plan-heading {

    position: absolute;

    top: 30px;

    left: 30px;
    right: 30px;

    display: flex;

    align-items: center;

    justify-content: space-between;
}


.abb-about-layout-v3-plan-heading span {

    font-family: var(--ab-slider-font);

    font-size: 9px;

    font-weight: 600;

    letter-spacing: 2px;

    color: rgba(255, 255, 255, .38);
}


.abb-about-layout-v3-plan-heading strong {

    font-family: var(--ab-slider-font);

    font-size: 9px;

    font-weight: 700;

    letter-spacing: 2px;

    color: var(--ab-red);
}


/* =========================================================
   PLOT GRID
========================================================= */

.abb-about-layout-v3-plots {

    position: absolute;

    top: 105px;

    left: 50%;

    transform: translateX(-50%);

    display: grid;

    grid-template-columns:
        repeat(3, 68px);

    grid-template-rows:
        repeat(3, 68px);

    gap: 4px;

    padding: 6px;

    border: 1px solid rgba(255, 255, 255, .22);

    background: rgba(16, 40, 61, .35);
}


/* =========================================================
   PLOT
========================================================= */

.abb-about-layout-v3-plot {

    position: relative;

    border: 1px solid rgba(255, 255, 255, .17);

    background: rgba(255, 255, 255, .018);

    transition: all .35s ease;
}


/* =========================================================
   SELECTED PLOT
========================================================= */

.abb-about-layout-v3-selected {

    background: rgba(229, 35, 45, .9);

    border-color: var(--ab-red);

    transform: scale(1.08);

    box-shadow:
        0 0 0 4px rgba(229, 35, 45, .12);

    z-index: 2;
}


/* =========================================================
   PLOT INNER LINE
========================================================= */

.abb-about-layout-v3-plot::after {

    content: "";

    position: absolute;

    left: 10px;
    right: 10px;

    bottom: 10px;

    height: 1px;

    background: rgba(255, 255, 255, .12);
}


.abb-about-layout-v3-selected::after {

    background: rgba(255, 255, 255, .45);
}


/* =========================================================
   ROADS
========================================================= */

.abb-about-layout-v3-road {

    position: absolute;

    background: rgba(255, 255, 255, .13);
}


/* Horizontal road */

.abb-road-horizontal {

    left: 25px;
    right: 25px;

    bottom: 82px;

    height: 24px;

    border-top: 1px solid rgba(255, 255, 255, .16);

    border-bottom: 1px solid rgba(255, 255, 255, .16);
}


/* Vertical road */

.abb-road-vertical {

    top: 80px;
    bottom: 55px;

    left: 50%;

    width: 24px;

    transform: translateX(-50%);

    border-left: 1px solid rgba(255, 255, 255, .12);

    border-right: 1px solid rgba(255, 255, 255, .12);
}


/* =========================================================
   COMPASS
========================================================= */

.abb-about-layout-v3-compass {

    position: absolute;

    left: 28px;

    bottom: 25px;

    width: 30px;

    height: 30px;
}


.abb-about-layout-v3-compass span {

    position: absolute;

    top: -15px;

    left: 10px;

    font-family: var(--ab-slider-font);

    font-size: 8px;

    color: var(--ab-red);
}


.abb-about-layout-v3-compass i {

    position: absolute;

    top: 7px;
    left: 7px;

    width: 15px;
    height: 15px;

    border-top: 1px solid var(--ab-red);

    border-right: 1px solid var(--ab-red);

    transform: rotate(-45deg);
}


/* =========================================================
   SELECTED LABEL
========================================================= */

.abb-about-layout-v3-selected-label {

    position: absolute;

    right: 28px;

    bottom: 25px;

    display: flex;

    flex-direction: column;

    align-items: flex-end;

    gap: 2px;
}


.abb-about-layout-v3-selected-label span {

    font-family: var(--ab-slider-font);

    font-size: 8px;

    letter-spacing: 2px;

    color: rgba(255, 255, 255, .35);
}


.abb-about-layout-v3-selected-label strong {

    font-family: var(--ab-slider-font);

    font-size: 12px;

    letter-spacing: 1.5px;

    color: var(--ab-red);
}


/* =========================================================
   ARCHITECTURAL CORNERS
========================================================= */

.abb-about-layout-v3-corner {

    position: absolute;

    width: 45px;

    height: 45px;
}


.abb-about-layout-v3-corner::before,
.abb-about-layout-v3-corner::after {

    content: "";

    position: absolute;

    background: var(--ab-red);
}


.corner-top {

    top: 15px;
    right: 15px;
}


.corner-top::before {

    top: 0;
    right: 0;

    width: 35px;
    height: 1px;
}


.corner-top::after {

    top: 0;
    right: 0;

    width: 1px;
    height: 35px;
}


.corner-bottom {

    bottom: 15px;
    left: 15px;
}


.corner-bottom::before {

    bottom: 0;
    left: 0;

    width: 35px;
    height: 1px;
}


.corner-bottom::after {

    bottom: 0;
    left: 0;

    width: 1px;
    height: 35px;
}


/* =========================================================
   BOTTOM
========================================================= */

.abb-about-layout-v3-bottom {

    display: flex;

    align-items: center;

    gap: 25px;

    padding-top: 32px;
}


/* =========================================================
   BOTTOM LINE
========================================================= */

.abb-about-layout-v3-bottom-line {

    width: 50px;

    height: 2px;

    background: var(--ab-red);
}


/* =========================================================
   BOTTOM CONTENT
========================================================= */

.abb-about-layout-v3-bottom-content {

    flex: 1;

    display: flex;

    flex-direction: column;

    gap: 4px;
}


.abb-about-layout-v3-bottom-content small {

    font-family: var(--ab-slider-font);

    font-size: 12px;

    font-weight: 600;

    letter-spacing: 2px;

    color: rgba(255, 255, 255, .38);
}


.abb-about-layout-v3-bottom-content strong {

    font-family: var(--ab-slider-font);

    font-size: 13px;

    font-weight: 700;

    letter-spacing: 1.5px;

    color: var(--ab-white);
}


/* =========================================================
   ARROW
========================================================= */

.abb-about-layout-v3-bottom-arrow {

    width: 52px;

    height: 52px;

    display: flex;

    align-items: center;

    justify-content: center;

    background: var(--ab-red);

    color: var(--ab-white);

    font-size: 14px;

    transition: .3s ease;
}


.abb-about-layout-v3-bottom-arrow:hover {

    background: var(--ab-white);

    color: var(--ab-red);

    transform: translateX(5px);
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 991.98px) {

    .abb-about-layout-v3 {

        padding: 85px 0 90px;
    }


    .abb-about-layout-v3-intro {

        margin: 28px 0 0;

        max-width: 600px;
    }


    .abb-about-layout-v3-main {

        margin-top: 55px;
    }


    .abb-about-layout-v3-side {

        min-height: auto;

        padding: 45px 25px;

        border-right: 0;

        border-bottom: 1px solid rgba(255, 255, 255, .14);
    }


    .abb-about-layout-v3-side-right {

        padding-left: 25px;

        border-left: 0;

        border-top: 1px solid rgba(255, 255, 255, .14);

        border-bottom: 0;
    }


    .abb-about-layout-v3-plan {

        min-height: 450px;

        border-bottom: 1px solid rgba(255, 255, 255, .14);
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 575.98px) {

    .abb-about-layout-v3 {

        padding: 65px 0 70px;
    }


    .abb-about-layout-v3-heading {

        font-size: 43px;
    }


    .abb-about-layout-v3-intro {

        font-size: 15px;
    }


    .abb-about-layout-v3-side {

        padding: 38px 20px;
    }


    .abb-about-layout-v3-side-right {

        padding-left: 20px;
    }


    .abb-about-layout-v3-side h3 {

        font-size: 40px;
    }


    .abb-about-layout-v3-plan {

        min-height: 410px;
    }


    .abb-about-layout-v3-plan-heading {

        left: 20px;
        right: 20px;
    }


    .abb-about-layout-v3-plots {

        grid-template-columns:
            repeat(3, 55px);

        grid-template-rows:
            repeat(3, 55px);

        top: 100px;
    }


    .abb-road-horizontal {

        left: 20px;
        right: 20px;

        bottom: 70px;
    }


    .abb-road-vertical {

        top: 75px;

        bottom: 48px;
    }


    .abb-about-layout-v3-compass {

        left: 20px;

        bottom: 20px;
    }


    .abb-about-layout-v3-selected-label {

        right: 20px;

        bottom: 20px;
    }


    .abb-about-layout-v3-bottom {

        gap: 15px;
    }


    .abb-about-layout-v3-bottom-line {

        width: 30px;
    }


    .abb-about-layout-v3-bottom-content strong {

        font-size: 11px;

        line-height: 1.4;
    }


    .abb-about-layout-v3-bottom-arrow {

        flex: 0 0 45px;

        width: 45px;
        height: 45px;
    }

}

/* =========================================================
   ARUN BHANDARY BUILDERS
   JOINT VENTURE - CREATIVE OPTION 3
   ========================================================= */

.abb-jv3-section {
    position: relative;
    overflow: hidden;
    background: var(--ab-white);
    padding: 115px 0 75px;
    color: var(--ab-navy);
}


/* ---------------------------------------------------------
   BACKGROUND GEOMETRY
   --------------------------------------------------------- */

.abb-jv3-bg-shape {
    position: absolute;
    pointer-events: none;
    z-index: 0;
}

.abb-jv3-bg-shape-1 {
    width: 520px;
    height: 520px;
    right: -250px;
    top: -230px;
    border: 1px solid rgba(16, 40, 61, 0.07);
    transform: rotate(45deg);
}

.abb-jv3-bg-shape-2 {
    width: 280px;
    height: 280px;
    left: -190px;
    bottom: -180px;
    border: 1px solid rgba(229, 35, 45, 0.12);
    transform: rotate(45deg);
}


/* ---------------------------------------------------------
   TOP AREA
   --------------------------------------------------------- */

.abb-jv3-top {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 70px;
}

.abb-jv3-kicker {
    display: flex;
    align-items: center;
    gap: 13px;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 3px;
    color: var(--ab-red);
}

.abb-jv3-kicker-line {
    display: block;
    width: 42px;
    height: 2px;
    background: var(--ab-red);
}

.abb-jv3-top-word {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 5px;
    color: rgba(16, 40, 61, 0.18);
}


/* ---------------------------------------------------------
   MAIN
   --------------------------------------------------------- */

.abb-jv3-main {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: 42% 58%;
    align-items: start;
}


/* ---------------------------------------------------------
   LEFT INTRO
   --------------------------------------------------------- */

.abb-jv3-intro {
    position: relative;
    padding: 15px 70px 20px 0;
}

.abb-jv3-small-title {
    margin-bottom: 20px;
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 3px;
    color: var(--ab-muted);
}

.abb-jv3-heading {
    margin: 0;
    max-width: 470px;
    
    font-size: clamp(44px, 5vw, 72px);
    line-height: 0.98;
    font-weight: 500;
    letter-spacing: -2.5px;
    color: var(--ab-navy);
}

.abb-jv3-heading span {
    display: block;
    color: var(--ab-red);
}

.abb-jv3-heading strong {
    display: block;
    font-weight: 400;
    color: var(--ab-navy);
}

.abb-jv3-heading-line {
    display: flex;
    align-items: center;
    margin-top: 34px;
}

.abb-jv3-heading-line span {
    display: block;
    width: 85px;
    height: 1px;
    background: var(--ab-red);
}


/* ---------------------------------------------------------
   RIGHT CONTENT
   --------------------------------------------------------- */

.abb-jv3-content {
    position: relative;
    padding: 15px 0 0 75px;
    border-left: 1px solid var(--ab-border);
}

.abb-jv3-lead {
    max-width: 680px;
    margin: 0 0 22px;
    font-size: 21px;
    line-height: 1.7;
    font-weight: 400;
    color: var(--ab-text);
}

.abb-jv3-description {
    max-width: 630px;
    margin: 0;
    font-size: 16px;
    line-height: 1.9;
    color: var(--ab-muted);
}


/* ---------------------------------------------------------
   PROCESS LINE
   --------------------------------------------------------- */

.abb-jv3-process {
    position: relative;
    display: flex;
    align-items: flex-start;
    margin-top: 55px;
    padding-top: 25px;
}

.abb-jv3-process::before {
    content: "";
    position: absolute;
    left: 8px;
    right: 8px;
    top: 32px;
    height: 1px;
    background: var(--ab-border);
    z-index: 0;
}

.abb-jv3-process-item {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: flex-start;
    gap: 13px;
    flex: 1;
    background: var(--ab-white);
}

.abb-jv3-process-mark {
    width: 16px;
    height: 16px;
    flex: 0 0 16px;
    margin-top: 0;
    border: 1px solid var(--ab-red);
    background: var(--ab-white);
    position: relative;
}

.abb-jv3-process-mark::after {
    content: "";
    position: absolute;
    width: 5px;
    height: 5px;
    left: 4px;
    top: 4px;
    background: var(--ab-red);
}

.abb-jv3-process-item span {
    display: block;
    margin-top: -2px;
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 1.6px;
    color: var(--ab-navy);
}

.abb-jv3-process-item p {
    margin: 7px 0 0;
    font-size: 13px;
    line-height: 1.5;
    color: var(--ab-muted);
}

.abb-jv3-process-connector {
    display: none;
}


/* ---------------------------------------------------------
   ACTION
   --------------------------------------------------------- */

.abb-jv3-action {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 25px;
    margin-top: 55px;
    padding-top: 25px;
    border-top: 1px solid var(--ab-border);
}

.abb-jv3-button {
    display: inline-flex;
    align-items: center;
    gap: 25px;
    min-height: 55px;
    padding: 0 20px 0 24px;
    text-decoration: none;
    background: var(--ab-red);
    color: var(--ab-white);
    transition: all 0.3s ease;
}

.abb-jv3-button span {
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 2px;
}

.abb-jv3-button i {
    width: 32px;
    height: 32px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(255, 255, 255, .45);
    font-size: 11px;
    transition: transform 0.3s ease;
}

.abb-jv3-button:hover {
    background: var(--ab-red-dark);
    color: var(--ab-white);
}

.abb-jv3-button:hover i {
    transform: translateX(4px);
}

.abb-jv3-action-note {
    display: flex;
    align-items: center;
    gap: 9px;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 1.6px;
    color: var(--ab-muted);
}

.abb-jv3-action-dot {
    width: 6px;
    height: 6px;
    display: block;
    background: var(--ab-red);
}


/* ---------------------------------------------------------
   BOTTOM STATEMENT
   --------------------------------------------------------- */

.abb-jv3-bottom {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: center;
    gap: 25px;
    margin-top: 85px;
}

.abb-jv3-bottom-line {
    height: 1px;
    flex: 1;
    background: var(--ab-border);
}

.abb-jv3-bottom-text {
    display: flex;
    align-items: center;
    gap: 14px;
    white-space: nowrap;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 2.5px;
    color: var(--ab-muted);
}

.abb-jv3-bottom-text strong {
    color: var(--ab-red);
}

.abb-jv3-bottom-text i {
    width: 4px;
    height: 4px;
    display: block;
    background: var(--ab-red);
    transform: rotate(45deg);
}


/* ---------------------------------------------------------
   RESPONSIVE
   --------------------------------------------------------- */

@media (max-width: 991.98px) {

    .abb-jv3-section {
        padding: 85px 0 60px;
    }

    .abb-jv3-top {
        margin-bottom: 55px;
    }

    .abb-jv3-main {
        grid-template-columns: 1fr;
    }

    .abb-jv3-intro {
        padding: 0 0 50px;
    }

    .abb-jv3-heading {
        max-width: 650px;
    }

    .abb-jv3-content {
        padding: 45px 0 0;
        border-left: 0;
        border-top: 1px solid var(--ab-border);
    }

    .abb-jv3-process {
        margin-top: 45px;
    }

    .abb-jv3-bottom {
        margin-top: 65px;
    }
}


@media (max-width: 767.98px) {

    .abb-jv3-section {
        padding: 70px 0 45px;
    }

    .abb-jv3-top {
        margin-bottom: 45px;
    }

    .abb-jv3-top-word {
        display: none;
    }

    .abb-jv3-kicker {
        font-size: 9px;
        letter-spacing: 2.2px;
    }

    .abb-jv3-kicker-line {
        width: 30px;
    }

    .abb-jv3-intro {
        padding-bottom: 40px;
    }

    .abb-jv3-small-title {
        margin-bottom: 15px;
        font-size: 12px;
        letter-spacing: 2px;
    }

    .abb-jv3-heading {
        font-size: clamp(42px, 13vw, 60px);
        letter-spacing: -1.8px;
    }

    .abb-jv3-content {
        padding-top: 35px;
    }

    .abb-jv3-lead {
        font-size: 17px;
        line-height: 1.65;
    }

    .abb-jv3-description {
        font-size: 13px;
        line-height: 1.8;
    }

    .abb-jv3-process {
        display: block;
        margin-top: 40px;
        padding-top: 0;
    }

    .abb-jv3-process::before {
        left: 7px;
        top: 8px;
        bottom: 8px;
        right: auto;
        width: 1px;
        height: auto;
    }

    .abb-jv3-process-item {
        margin-bottom: 27px;
        padding-left: 0;
    }

    .abb-jv3-process-item:last-child {
        margin-bottom: 0;
    }

    .abb-jv3-process-mark {
        margin-top: 0;
    }

    .abb-jv3-action {
        display: block;
        margin-top: 40px;
        padding-top: 22px;
    }

    .abb-jv3-button {
        width: 100%;
        justify-content: space-between;
    }

    .abb-jv3-action-note {
        margin-top: 18px;
    }

    .abb-jv3-bottom {
        margin-top: 50px;
        gap: 12px;
    }

    .abb-jv3-bottom-line {
        display: none;
    }

    .abb-jv3-bottom-text {
        width: 100%;
        justify-content: center;
        gap: 8px;
        font-size: 8px;
        letter-spacing: 1.5px;
    }

    .abb-jv3-bg-shape-1 {
        width: 280px;
        height: 280px;
        right: -180px;
        top: -100px;
    }

    .abb-jv3-bg-shape-2 {
        width: 180px;
        height: 180px;
        left: -130px;
        bottom: -100px;
    }
}



/* =========================================================
   VISION & MISSION — OPTION 5
   Architectural Split Statement
========================================================= */

.abb-vm5-section {
    position: relative;
    overflow: hidden;
    padding: 115px 0 105px;
    background: #f8f6f1;
    color: var(--ab-navy);
}


/* BACKGROUND ARCHITECTURAL GRID */

.abb-vm5-grid-lines {
    position: absolute;
    inset: 0;
    pointer-events: none;
    opacity: .55;
    background-image:
        linear-gradient(90deg,
            transparent 0,
            transparent calc(50% - 1px),
            rgba(16, 40, 61, .055) calc(50% - 1px),
            rgba(16, 40, 61, .055) 50%,
            transparent 50%,
            transparent 100%),
        linear-gradient(0deg,
            transparent 0,
            transparent calc(100% - 1px),
            rgba(16, 40, 61, .045) calc(100% - 1px),
            rgba(16, 40, 61, .045) 100%);
}


/* CONTAINER */

.abb-vm5-section .container {
    position: relative;
    z-index: 2;
}


/* TOP */

.abb-vm5-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-bottom: 32px;
    border-bottom: 1px solid rgba(16, 40, 61, .14);
}

.abb-vm5-eyebrow {
    display: flex;
    align-items: center;
    gap: 13px;

    font-size: 11px;
    font-weight: 800;
    letter-spacing: 3px;
    color: var(--ab-red);
}

.abb-vm5-eyebrow-line {
    width: 35px;
    height: 2px;
    background: var(--ab-red);
    display: block;
}

.abb-vm5-top-note {
    display: flex;
    gap: 12px;
    align-items: center;

    font-size: 9px;
    font-weight: 700;
    letter-spacing: 2px;
    color: var(--ab-muted);
}

.abb-vm5-top-note span:first-child::after {
    content: "/";
    margin-left: 12px;
    color: var(--ab-red);
}


/* MAIN ROW */

.abb-vm5-main {
    display: grid;
    grid-template-columns: 48% 52%;
    align-items: center;

    min-height: 420px;
    border-bottom: 1px solid rgba(16, 40, 61, .12);
}


/* BIG WORD AREA */

.abb-vm5-word-wrap {
    position: relative;

    min-height: 420px;
    display: flex;
    align-items: center;
    padding: 45px 45px 45px 0;
}

.abb-vm5-word {
    font-size: clamp(72px, 10vw, 150px);
    line-height: .78;
    font-weight: 800;
    letter-spacing: -7px;

    color: var(--ab-navy);

    user-select: none;
}


/* VERTICAL ARCHITECTURAL LINE */

.abb-vm5-vertical-line {
    position: absolute;
    right: 30px;
    top: 55px;
    bottom: 55px;

    width: 1px;
    background: var(--ab-red);
}

.abb-vm5-vertical-line::before,
.abb-vm5-vertical-line::after {
    content: "";
    position: absolute;
    left: -4px;

    width: 9px;
    height: 9px;

    border: 1px solid var(--ab-red);
    background: #f8f6f1;
}

.abb-vm5-vertical-line::before {
    top: 0;
}

.abb-vm5-vertical-line::after {
    bottom: 0;
}


/* SIDE LABEL */

.abb-vm5-side-text {
    position: absolute;
    right: -5px;
    top: 50%;

    transform: translateY(-50%) rotate(90deg);

    font-size: 12px;
    font-weight: 800;
    letter-spacing: 3px;
    color: var(--ab-muted);

    white-space: nowrap;
}


/* CONTENT */

.abb-vm5-content {
    max-width: 570px;
    padding: 55px 25px 55px 70px;
}

.abb-vm5-content-label {
    margin-bottom: 20px;

    font-size: 13px;
    font-weight: 800;
    letter-spacing: 3px;
    color: var(--ab-red);
}

.abb-vm5-content h2 {
    margin: 0 0 25px;

   
    font-size: clamp(35px, 4vw, 57px);
    font-weight:500;
    line-height: 1.05;
    letter-spacing: -1.5px;

    color: var(--ab-navy);
}

.abb-vm5-content h2 span {
    display: block;
    color: var(--ab-red);
}

.abb-vm5-content p {
    max-width: 530px;
    margin: 0;

    font-size: 15px;
    line-height: 1.9;
    color: var(--ab-muted);
}


/* SMALL RED LINE */

.abb-vm5-content-line {
    margin-top: 32px;
}

.abb-vm5-content-line span {
    display: block;

    width: 75px;
    height: 2px;

    background: var(--ab-red);
}


/* MISSION ROW */

.abb-vm5-main-mission {
    grid-template-columns: 52% 48%;
}


/* MISSION CONTENT */

.abb-vm5-content-mission {
    padding-left: 0;
    padding-right: 70px;
}


/* RIGHT WORD */

.abb-vm5-word-wrap-right {
    justify-content: flex-end;
    padding-left: 45px;
    padding-right: 0;
}

.abb-vm5-word-wrap-right .abb-vm5-vertical-line {
    left: 30px;
    right: auto;
}

.abb-vm5-word-wrap-right .abb-vm5-side-text {
    left: -5px;
    right: auto;
}


/* BOTTOM */

/* =========================================================
   BOTTOM — CLEAN ARCHITECTURAL STATEMENT
========================================================= */

.abb-vm5-bottom {
    display: grid;
    grid-template-columns: 1fr 2fr 1fr;
    align-items: center;

    padding-top: 50px;
}


/* LEFT RULE */

.abb-vm5-bottom-rule {
    position: relative;
    width: 100%;
    height: 1px;
    background: rgba(16, 40, 61, .15);
}

.abb-vm5-bottom-rule span {
    position: absolute;
    left: 0;
    top: -1px;

    width: 55px;
    height: 2px;

    background: var(--ab-red);
}


/* CENTER TEXT */

.abb-vm5-bottom-text {
    padding: 0 45px;
}

.abb-vm5-bottom-text>span {
    display: block;
    margin-bottom: 9px;

    font-size: 9px;
    font-weight: 800;
    letter-spacing: 3px;

    color: var(--ab-red);
}

.abb-vm5-bottom-text strong {
    display: block;

    max-width: 500px;

    font-family: Georgia, "Times New Roman", serif;
    font-size: 24px;
    line-height: 1.4;
    font-weight: 400;

    color: var(--ab-navy);
}


/* LOCATION */

.abb-vm5-bottom-location {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 9px;
}

.abb-vm5-bottom-location span {
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 1.8px;
    color: var(--ab-muted);
}

.abb-vm5-bottom-location i {
    width: 3px;
    height: 3px;

    display: block;

    background: var(--ab-red);
    border-radius: 50%;
}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767.98px) {

    .abb-vm5-bottom {
        display: block;
        padding-top: 35px;
    }

    .abb-vm5-bottom-rule {
        margin-bottom: 28px;
    }

    .abb-vm5-bottom-text {
        padding: 0;
    }

    .abb-vm5-bottom-text>span {
        font-size: 11px;
        letter-spacing: 2.2px;
    }

    .abb-vm5-bottom-text strong {
        font-size: 21px;
        line-height: 1.4;
    }

    .abb-vm5-bottom-location {
        justify-content: center;
        margin-top: 22px;
    }

    .abb-vm5-bottom-location span {
        font-size:10x;
    }

}


/* MOBILE */



/* =========================================================
   TABLET
========================================================= */

@media (max-width: 991.98px) {

    .abb-vm5-section {
        padding: 85px 0 80px;
    }

    .abb-vm5-main,
    .abb-vm5-main-mission {
        grid-template-columns: 42% 58%;
        min-height: 360px;
    }

    .abb-vm5-word-wrap {
        min-height: 360px;
    }

    .abb-vm5-word {
        font-size: clamp(58px, 10vw, 105px);
        letter-spacing: -4px;
    }

    .abb-vm5-content {
        padding-left: 45px;
        padding-right: 15px;
    }

    .abb-vm5-content-mission {
        padding-left: 0;
        padding-right: 45px;
    }

    .abb-vm5-content h2 {
        font-size: 40px;
    }

    .abb-vm5-content p {
        font-size: 14px;
        line-height: 1.8;
    }


}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767.98px) {

    .abb-vm5-section {
        padding: 65px 0 60px;
    }

    .abb-vm5-top {
        display: block;
        padding-bottom: 25px;
    }

    .abb-vm5-eyebrow {
        font-size: 9px;
        letter-spacing: 2px;
    }

    .abb-vm5-top-note {
        margin-top: 15px;
        font-size: 7px;
        letter-spacing: 1.5px;
    }

    .abb-vm5-main,
    .abb-vm5-main-mission {
        display: block;
        min-height: auto;
    }
.abb-about-section-label,.abb-about-layout-v3-label{justify-content: center;}
    /* BIG WORD */

    .abb-vm5-word-wrap,
    .abb-vm5-word-wrap-right {
        min-height: 145px;

        display: flex;
        align-items: flex-end;
        justify-content: flex-start;

        padding: 35px 0 25px;
        justify-content: center;
    }

    .abb-vm5-word-wrap-right {
        justify-content: flex-start;
    }

    .abb-vm5-word {
        font-size: 70px;
        letter-spacing: -3px;
    }

    .abb-vm5-vertical-line,
    .abb-vm5-word-wrap-right .abb-vm5-vertical-line {
        top: 25px;
        bottom: 25px;
        right: 22px;
        left: auto;
        display: none;
    }

    .abb-vm5-side-text,
    .abb-vm5-word-wrap-right .abb-vm5-side-text {
        display: none;
    }

    /* CONTENT */

    .abb-vm5-content,
    .abb-vm5-content-mission {
        max-width: none;
        padding: 10px 0 45px;
    }

    .abb-vm5-content-label {
        margin-bottom: 15px;
        font-size: 9px;
        letter-spacing: 2px;
    }

    .abb-vm5-content h2 {
        margin-bottom: 18px;
        font-size: 34px;
        line-height: 1.08;
    }

    .abb-vm5-content p {
        font-size: 13px;
        line-height: 1.8;
    }

    .abb-vm5-content-line {
        margin-top: 24px;
    }

    /* Mission separation */

    .abb-vm5-main-mission {
        display: flex;
        flex-direction: column;
    }

    .abb-vm5-content-mission {
        order: 2;
    }

    .abb-vm5-word-wrap-right {
        order: 1;
    }



}


/* =========================================================
   ABOUT PAGE CTA — OPTION 2
   Minimal Editorial / Red Architectural Block
========================================================= */

.abb-about-cta2 {
    position: relative;
    overflow: hidden;

    padding: 105px 0 35px;

    background: var(--ab-white);
    color: var(--ab-navy);
}


/* =========================================================
   TOP ARCHITECTURAL LINE
========================================================= */

.abb-about-cta2-top-line {
    position: absolute;
    left: 0;
    top: 0;

    width: 34%;
    height: 3px;

    background: var(--ab-red);
}


/* =========================================================
   MAIN LAYOUT
========================================================= */

.abb-about-cta2-inner {
    display: grid;
    grid-template-columns: 52% 48%;
    align-items: center;

    min-height: 450px;
}


/* =========================================================
   LEFT CONTENT
========================================================= */

.abb-about-cta2-content {
    position: relative;
    z-index: 3;

    padding-right: 70px;
}


/* EYEBROW */

.abb-about-cta2-label {
    display: flex;
    align-items: center;
    gap: 14px;

    margin-bottom: 30px;

    font-size: 13px;
    font-weight: 800;
    letter-spacing: 3.2px;

    color: var(--ab-red);
}

.abb-about-cta2-label span {
    display: block;

    width: 45px;
    height: 2px;

    background: var(--ab-red);
}


/* MAIN HEADING */

.abb-about-cta2 h2 {
    max-width: 650px;

    margin: 0 0 30px;

    font-family: Georgia, "Times New Roman", serif;

    font-size: clamp(62px, 6.5vw, 92px);
    font-weight: 400;

    line-height: .94;
    letter-spacing: -3.5px;

    color: var(--ab-navy);
}

.abb-about-cta2 h2 span {
    display: block;

    color: var(--ab-red);
}


/* DESCRIPTION */

.abb-about-cta2-content>p {
    max-width: 560px;

    margin: 0;

    font-size: 17px;
    line-height: 1.9;

    color: var(--ab-muted);
}


/* =========================================================
   CTA BUTTON
========================================================= */

.abb-about-cta2-button {
    display: inline-flex;
    align-items: center;
    gap: 24px;

    margin-top: 40px;
    padding: 18px 19px 18px 26px;

    background: var(--ab-navy);
    color: var(--ab-white);

    text-decoration: none;

    font-size: 11px;
    font-weight: 800;
    letter-spacing: 2px;

    transition:
        background .3s ease,
        transform .3s ease;
}

.abb-about-cta2-button i {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 40px;
    height: 40px;

    background: var(--ab-red);

    font-size: 12px;

    transition:
        transform .3s ease,
        background .3s ease;
}

.abb-about-cta2-button:hover {
    color: var(--ab-white);

    background: var(--ab-red);

    transform: translateY(-2px);
}

.abb-about-cta2-button:hover i {
    background: var(--ab-navy);

    transform: translateX(3px);
}


/* =========================================================
   RIGHT VISUAL
========================================================= */

.abb-about-cta2-visual {
    position: relative;

    min-height: 450px;

    display: flex;
    align-items: center;
    justify-content: center;
}


/* =========================================================
   RED ARCHITECTURAL PANEL
========================================================= */

.abb-about-cta2-red-panel {
    position: relative;
    z-index: 2;

    width: 385px;
    height: 430px;

    padding: 28px;

    display: flex;
    flex-direction: column;
    justify-content: space-between;

    background: var(--ab-red);
    color: var(--ab-white);

    box-shadow: 25px 25px 0 rgba(16, 40, 61, .08);
}


/* PANEL TOP */

.abb-about-cta2-red-top {
    display: flex;
    justify-content: space-between;
    gap: 20px;
}

.abb-about-cta2-red-top span {
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 2px;
}


/* =========================================================
   PANEL CENTER
========================================================= */

.abb-about-cta2-red-center {
    display: flex;
    flex-direction: column;
    align-items: center;

    margin-top: auto;
    margin-bottom: auto;
}


/* LARGE HOME WORD */

.abb-about-cta2-word {

    font-size: 105px;
    line-height: .85;
    font-weight: 400;
    letter-spacing: -5px;
    color: rgba(255, 255, 255, .85);
}


/* CENTER LINE */

.abb-about-cta2-line {
    width: 95px;
    height: 1px;

    margin: 30px 0 23px;

    background: rgba(255, 255, 255, .6);
}


/* DESIGN / BUILD / LIVE */

.abb-about-cta2-caption {
    display: flex;
    align-items: center;
    gap: 17px;
}

.abb-about-cta2-caption span {
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 2.3px;
}

.abb-about-cta2-caption span+span::before {
    content: "·";

    margin-right: 17px;

    opacity: .7;
}


/* PANEL BOTTOM */

.abb-about-cta2-red-bottom {
    padding-top: 20px;

    border-top: 1px solid rgba(255, 255, 255, .28);

    font-size: 12px;
    font-weight: 800;
    letter-spacing: 2.2px;
}


/* =========================================================
   LARGE BACKGROUND WORD
========================================================= */

.abb-about-cta2-outline-text {
    position: absolute;

    right: -20px;
    bottom: -5px;

    z-index: 1;

    font-size: 145px;
    font-weight: 800;
    line-height: .7;

    letter-spacing: -8px;

    color: transparent;

    -webkit-text-stroke: 1px rgba(16, 40, 61, .09);

    pointer-events: none;
}


/* =========================================================
   SMALL ARCHITECTURAL DETAILS
========================================================= */

.abb-about-cta2-red-panel::before,
.abb-about-cta2-red-panel::after {
    content: "";

    position: absolute;

    width: 18px;
    height: 18px;

    border-color: rgba(255, 255, 255, .7);
}

.abb-about-cta2-red-panel::before {
    top: 12px;
    left: 12px;

    border-top: 1px solid;
    border-left: 1px solid;
}

.abb-about-cta2-red-panel::after {
    right: 12px;
    bottom: 12px;

    border-right: 1px solid;
    border-bottom: 1px solid;
}


/* =========================================================
   BOTTOM STRIP
========================================================= */

.abb-about-cta2-bottom {
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;

    gap: 28px;

    margin-top: 55px;
    padding-top: 24px;

    border-top: 1px solid rgba(16, 40, 61, .12);
}

.abb-about-cta2-bottom span {
    font-size: 9px;
    font-weight: 800;
    letter-spacing: 2.2px;

    color: var(--ab-muted);
}

.abb-about-cta2-bottom-rule {
    width: 100%;
    height: 1px;

    background: rgba(16, 40, 61, .10);
}

.abb-about-cta2-bottom a {
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 1.2px;

    color: var(--ab-navy);
    text-decoration: none;

    transition: color .3s ease;
}

.abb-about-cta2-bottom a:hover {
    color: var(--ab-red);
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 1199.98px) {

    .abb-about-cta2 h2 {
        font-size: 70px;
    }

    .abb-about-cta2-content {
        padding-right: 40px;
    }

    .abb-about-cta2-red-panel {
        width: 350px;
        height: 410px;
    }

    .abb-about-cta2-word {
        font-size: 95px;
    }

    .abb-about-cta2-outline-text {
        font-size: 120px;
    }
}


@media (max-width: 991.98px) {

    .abb-about-cta2 {
        padding: 85px 0 30px;
    }

    .abb-about-cta2-inner {
        grid-template-columns: 52% 48%;
        min-height: 420px;
    }

    .abb-about-cta2-content {
        padding-right: 25px;
    }

    .abb-about-cta2-label {
        font-size: 11px;
        letter-spacing: 2.5px;
    }

    .abb-about-cta2 h2 {
        font-size: 60px;
        letter-spacing: -2.5px;
    }

    .abb-about-cta2-content>p {
        font-size: 15px;
    }

    .abb-about-cta2-button {
        font-size: 10px;
    }

    .abb-about-cta2-red-panel {
        width: 315px;
        height: 390px;

        padding: 24px;
    }

    .abb-about-cta2-word {
        font-size: 82px;
    }

    .abb-about-cta2-outline-text {
        font-size: 105px;
    }

    .abb-about-cta2-bottom {
        margin-top: 45px;
    }

    .abb-about-cta2-bottom span {
        font-size: 8px;
    }

    .abb-about-cta2-bottom a {
        font-size: 12px;
    }
}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767.98px) {

    .abb-about-cta2 {
        padding: 70px 0 30px;
    }

    .abb-about-cta2-top-line {
        width: 50%;
        height: 2px;
    }


    /* MAIN */

    .abb-about-cta2-inner {
        display: block;

        min-height: 0;
    }


    /* CONTENT */

    .abb-about-cta2-content {
        padding-right: 0;
    }

    .abb-about-cta2-label {
        gap: 10px;

        margin-bottom: 22px;

        font-size: 10px;
        letter-spacing: 2.2px;
    }

    .abb-about-cta2-label span {
        width: 32px;
        height: 2px;
    }

    .abb-about-cta2 h2 {
        margin-bottom: 22px;

        font-size: 52px;
        line-height: .97;
        letter-spacing: -2px;
    }

    .abb-about-cta2-content>p {
        max-width: none;

        font-size: 15px;
        line-height: 1.8;
    }


    /* BUTTON */

    .abb-about-cta2-button {
        gap: 18px;

        margin-top: 30px;
        padding: 15px 16px 15px 20px;

        font-size: 9px;
        letter-spacing: 1.6px;
    }

    .abb-about-cta2-button i {
        width: 36px;
        height: 36px;
    }


    /* RIGHT VISUAL */

    .abb-about-cta2-visual {
        min-height: 350px;

        margin-top: 50px;
    }

    .abb-about-cta2-red-panel {
        width: 290px;
        height: 340px;

        padding: 22px;

        box-shadow: 15px 15px 0 rgba(16, 40, 61, .08);
    }


    /* PANEL TOP */

    .abb-about-cta2-red-top span {
        font-size:10px;
        letter-spacing: 1.6px;
    }


    /* HOME */

    .abb-about-cta2-word {
        font-size: 74px;
        letter-spacing: -3px;
    }

    .abb-about-cta2-line {
        width: 70px;

        margin: 22px 0 17px;
    }


    /* CAPTION */

    .abb-about-cta2-caption {
        gap: 11px;
    }

    .abb-about-cta2-caption span {
        font-size:10px;
        letter-spacing: 1.8px;
    }

    .abb-about-cta2-caption span+span::before {
        margin-right: 11px;
    }


    /* PANEL BOTTOM */

    .abb-about-cta2-red-bottom {
        padding-top: 16px;

        font-size: 7px;
        letter-spacing: 1.7px;
    }


    /* OUTLINE WORD */

    .abb-about-cta2-outline-text {
        right: -5px;
        bottom: 5px;

        font-size: 88px;
        letter-spacing: -4px;
    }


    /* PANEL CORNERS */

    .abb-about-cta2-red-panel::before,
    .abb-about-cta2-red-panel::after {
        width: 13px;
        height: 13px;
    }

    .abb-about-cta2-red-panel::before {
        top: 9px;
        left: 9px;
    }

    .abb-about-cta2-red-panel::after {
        right: 9px;
        bottom: 9px;
    }


    /* BOTTOM STRIP */

    .abb-about-cta2-bottom {
        display: block;

        margin-top: 35px;
        padding-top: 18px;
    }

    .abb-about-cta2-bottom span {
        display: block;

        font-size: 7px;
        letter-spacing: 1.6px;
    }

    .abb-about-cta2-bottom-rule {
        margin: 10px 0;

        width: 100%;
    }

    .abb-about-cta2-bottom a {
        font-size: 12px;
        letter-spacing: 1px;
    }
}


/* =========================================================
   ARUN BHANDARY BUILDERS & DEVELOPERS
   MD MESSAGE - CREATIVE VERSION 09
   ========================================================= */

.abb-md9-section {
    position: relative;
    overflow: hidden;

    padding: 95px 0 90px;

    background: var(--ab-white);
    color: var(--ab-navy);
}


/* =========================================================
   BACKGROUND ARCHITECTURAL LINES
   ========================================================= */

.abb-md9-grid-line {
    position: absolute;

    top: 0;
    bottom: 0;

    width: 1px;

    background: rgba(16, 40, 61, .055);

    pointer-events: none;
}

.abb-md9-grid-line-1 {
    left: 7%;
}

.abb-md9-grid-line-2 {
    right: 7%;
}


/* =========================================================
   INTRO
   ========================================================= */

.abb-md9-intro {
    display: grid;

    grid-template-columns: 65% 35%;

    align-items: end;

    margin-bottom: 75px;
}

.abb-md9-eyebrow {
    display: flex;
    align-items: center;

    gap: 14px;

    margin-bottom: 25px;

    font-size: 13px;
    font-weight: 800;

    letter-spacing: 3px;

    color: var(--ab-red);
}

.abb-md9-eyebrow span {
    display: block;

    width: 48px;
    height: 2px;

    background: var(--ab-red);
}

.abb-md9-intro h1 {
    margin: 0;


    font-size: clamp(70px, 8vw, 115px);

    font-weight: 500;

    line-height: .84;

    letter-spacing: -6px;

    color: var(--ab-navy);
}

.abb-md9-intro h1 span {
    display: block;

    color: var(--ab-red);

    /* font-style: italic; */
}

.abb-md9-intro-right {
    padding-left: 45px;

    border-left: 1px solid rgba(16, 40, 61, .18);
}

.abb-md9-intro-right p {
    max-width: 330px;

    margin: 0;

    

    font-size: 20px;

    line-height: 1.6;

    color: var(--ab-navy);
}


/* =========================================================
   MAIN AREA
   ========================================================= */

.abb-md9-main {
    display: grid;

    grid-template-columns: 46% 54%;

    align-items: center;

    margin-bottom: 95px;
}


/* =========================================================
   PHOTO
   ========================================================= */

.abb-md9-photo-area {
    padding-right: 45px;
}

.abb-md9-photo-frame {
    position: relative;
}

.abb-md9-photo {
    display: block;

    width: 100%;
    height: 600px;

    object-fit: cover;
    object-position: center top;

    background: #efede9;
}


/* =========================================================
   PHOTO LABEL
   ========================================================= */

.abb-md9-photo-tag {
    position: absolute;

    left: 0;
    bottom: 0;

    min-width: 245px;

    padding: 21px 27px;

    background: var(--ab-navy);

    color: var(--ab-white);
}

.abb-md9-photo-tag strong {
    display: block;

    margin-bottom: 5px;

    font-size: 15px;
    font-weight: 800;

    letter-spacing: 1.5px;
}

.abb-md9-photo-tag span {
    display: block;

    font-size: 10px;
    font-weight: 700;

    letter-spacing: 2.2px;

    color: rgba(255, 255, 255, .7);
}


/* =========================================================
   PHOTO RED FRAME
   ========================================================= */

.abb-md9-photo-frame::after {
    content: "";

    position: absolute;

    right: -20px;
    bottom: -20px;

    width: 95px;
    height: 95px;

    border-right: 3px solid var(--ab-red);
    border-bottom: 3px solid var(--ab-red);

    pointer-events: none;
}


/* =========================================================
   CONTENT
   ========================================================= */

.abb-md9-content {
    position: relative;

    z-index: 2;

    margin-left: -20px;

    padding: 55px 55px 55px 70px;

    background: var(--ab-white);

    box-shadow: 0 20px 60px rgba(16, 40, 61, .07);
}

.abb-md9-content-label {
    margin-bottom: 25px;

    font-size: 12px;
    font-weight: 800;

    letter-spacing: 2.7px;

    color: var(--ab-red);
}

.abb-md9-content-label::before {
    content: "";

    display: inline-block;

    width: 34px;
    height: 2px;

    margin-right: 12px;

    vertical-align: middle;

    background: var(--ab-red);
}


/* =========================================================
   CONTENT HEADING
   ========================================================= */

.abb-md9-content h2 {
    margin: 0 0 27px;

    

    font-size: clamp(47px, 4.5vw, 68px);

    font-weight: 500;

    line-height: .98;

    letter-spacing: -3px;

    color: var(--ab-navy);
}

.abb-md9-content h2 span {
    display: block;

    color: var(--ab-red);

    /* font-style: italic; */
}


/* =========================================================
   CONTENT TEXT
   ========================================================= */

.abb-md9-content p {
    max-width: 600px;

    margin: 0 0 19px;

    font-size: 16px;

    line-height: 1.85;

    color: var(--ab-muted);
}

.abb-md9-content .abb-md9-lead {
    margin-bottom: 22px;

    

    font-size: 21px;

    line-height: 1.55;

    color: var(--ab-navy);
}


/* =========================================================
   PROCESS
   ========================================================= */

.abb-md9-process {
    display: grid;

    grid-template-columns: repeat(3, 1fr);

    gap: 22px;

    margin-top: 35px;

    padding-top: 25px;

    border-top: 1px solid rgba(16, 40, 61, .13);
}

.abb-md9-process div {
    display: flex;

    flex-direction: column;

    gap: 7px;
}

.abb-md9-process strong {
    font-size: 11px;
    font-weight: 800;

    letter-spacing: 2px;

    color: var(--ab-navy);
}

.abb-md9-process span {
    font-size: 13px;

    line-height: 1.5;

    color: var(--ab-muted);
}


/* =========================================================
   QUOTE
   ========================================================= */

.abb-md9-quote {
    display: grid;

    grid-template-columns: 100px 1fr;

    max-width: 1050px;

    margin: 0 auto 100px;

    padding: 55px 60px;

    background: #f7f5f1;
}

.abb-md9-quote-mark {
    

    font-size: 100px;

    line-height: .55;

    color: var(--ab-red);
}

.abb-md9-quote-label {
    margin-bottom: 15px;

    font-size: 11px;
    font-weight: 800;

    letter-spacing: 2.5px;

    color: var(--ab-red);
}

.abb-md9-quote-content h2 {
    max-width: 720px;

    margin: 0 0 20px;

    

    font-size: clamp(40px, 4vw, 57px);

    font-weight: 500;

    line-height: 1.05;

    letter-spacing: -2.5px;

    color: var(--ab-navy);
}

.abb-md9-quote-content h2 span {
    color: var(--ab-red);

    /* font-style: italic; */
}

.abb-md9-quote-content p {
    max-width: 700px;

    margin: 0;

    font-size: 16px;

    line-height: 1.85;

    color: var(--ab-muted);
}


/* =========================================================
   MESSAGE
   ========================================================= */

.abb-md9-message {
    padding-top: 60px;

    border-top: 1px solid rgba(16, 40, 61, .13);
}

.abb-md9-message-heading {
    display: flex;
    align-items: center;

    gap: 13px;

    margin-bottom: 45px;

    font-size: 12px;
    font-weight: 800;

    letter-spacing: 2.7px;

    color: var(--ab-muted);
}

.abb-md9-message-heading span {
    width: 38px;
    height: 2px;

    background: var(--ab-red);
}

.abb-md9-message-content {
    display: grid;

    grid-template-columns: repeat(3, 1fr);

    gap: 55px;
}

.abb-md9-message-column {
    padding-right: 25px;

    border-right: 1px solid rgba(16, 40, 61, .11);
}

.abb-md9-message-column:last-child {
    border-right: 0;
}

.abb-md9-message-column h3 {
    margin: 0 0 18px;

    

    font-size: 29px;

    font-weight: 400;

    line-height: 1.15;

    letter-spacing: -1px;

    color: var(--ab-navy);
}

.abb-md9-message-column p {
    margin: 0;

    font-size: 15px;

    line-height: 1.85;

    color: var(--ab-muted);
}


/* =========================================================
   LOCATION
   ========================================================= */

.abb-md9-location {
    display: grid;

    grid-template-columns: 55% 45%;

    align-items: end;

    margin-top: 100px;

    padding: 55px 0;

    border-top: 1px solid rgba(16, 40, 61, .13);
    border-bottom: 1px solid rgba(16, 40, 61, .13);
}

.abb-md9-location-left>span {
    display: block;

    margin-bottom: 18px;

    font-size: 11px;
    font-weight: 800;

    letter-spacing: 2.5px;

    color: var(--ab-red);
}

.abb-md9-location-left h2 {
    margin: 0;

    

    font-size: clamp(42px, 4vw, 60px);

    font-weight: 500;

    line-height: 1.02;

    letter-spacing: -2.5px;

    color: var(--ab-navy);
}

.abb-md9-location-left h2 span {
    display: block;

    color: var(--ab-red);

    /* font-style: italic; */
}

.abb-md9-location-right {
    padding-left: 45px;

    border-left: 1px solid rgba(16, 40, 61, .13);
}

.abb-md9-location-right p {
    max-width: 430px;

    margin: 0 0 25px;

    font-size: 15px;

    line-height: 1.85;

    color: var(--ab-muted);
}

.abb-md9-location-list {
    display: flex;

    align-items: center;

    flex-wrap: wrap;

    gap: 13px;
}

.abb-md9-location-list strong {
    font-size: 10px;
    font-weight: 800;

    letter-spacing: 1.8px;

    color: var(--ab-navy);
}

.abb-md9-location-list i {
    width: 4px;
    height: 4px;

    background: var(--ab-red);

    border-radius: 50%;
}


/* =========================================================
   MEMBERSHIPS & ASSOCIATIONS
   ========================================================= */

.abb-md9-memberships {
    display: grid;
    grid-template-columns: 270px 1fr;
    align-items: center;
    gap: 40px;

    padding: 32px 35px;

    background: var(--ab-navy);

    border-left: 4px solid var(--ab-red);
    border-radius: 4px;

    box-shadow: 0 12px 30px rgba(16, 40, 61, 0.10);
}

/* Section Heading */

.abb-md9-membership-title {
    display: flex;
    align-items: center;
    gap: 12px;

    font-size: 11px;
    font-weight: 800;
    letter-spacing: 2.3px;
    line-height: 1.8;

    color: #ffffff;
}

.abb-md9-membership-title span {
    flex-shrink: 0;

    width: 32px;
    height: 2px;

    background: var(--ab-red);
}

/* Membership List */

.abb-md9-membership-list {
    display: flex;
    align-items: center;
    justify-content: space-between;

    flex-wrap: wrap;
    gap: 12px;
}

/* Individual Membership */

.abb-md9-member {
    padding: 12px 16px;

    background: rgba(255, 255, 255, 0.07);
    border: 1px solid rgba(255, 255, 255, 0.16);

    border-radius: 3px;

    transition:
        background 0.3s ease,
        border-color 0.3s ease,
        transform 0.3s ease;
}

.abb-md9-member strong {
    display: block;

    font-size: 14px;
    font-weight: 800;
    letter-spacing: 1px;

    color: #ffffff;
}

/* Hover Effect */

.abb-md9-member:hover {
    background: rgba(255, 255, 255, 0.14);
    border-color: var(--ab-red);
    transform: translateY(-3px);
}

/* =========================================================
   RESPONSIVE DESIGN
   ========================================================= */

@media (max-width: 991.98px) {
    .abb-md9-memberships {
        grid-template-columns: 1fr;
        gap: 22px;
        padding: 28px 25px;
    }

    .abb-md9-membership-list {
        justify-content: flex-start;
    }
}

@media (max-width: 575.98px) {
    .abb-md9-memberships {
        padding: 24px 18px;
        gap: 18px;
    }

    .abb-md9-membership-title {
        font-size: 10px;
        letter-spacing: 1.7px;
    }

    .abb-md9-membership-list {
        gap: 10px;
    }

    .abb-md9-member {
        padding: 10px 12px;
    }

    .abb-md9-member strong {
        font-size: 12px;
    }
}


/* =========================================================
   CLOSING
   ========================================================= */

.abb-md9-closing {
    display: grid;

    grid-template-columns: 65% 35%;

    gap: 50px;

    align-items: end;

    margin-top: 85px;
}

.abb-md9-closing-label {
    margin-bottom: 18px;

    font-size: 11px;
    font-weight: 800;

    letter-spacing: 2.5px;

    color: var(--ab-red);
}

.abb-md9-closing-main h2 {
    max-width: 720px;

    margin: 0 0 25px;

    

    font-size: clamp(43px, 4.5vw, 66px);

    font-weight: 500;

    line-height: 1.02;

    letter-spacing: -2.5px;

    color: var(--ab-navy);
}

.abb-md9-closing-main h2 span {
    display: block;

    color: var(--ab-red);

    /* font-style: italic; */
}

.abb-md9-closing-main p {
    max-width: 650px;

    margin: 0;

    font-size: 15px;

    line-height: 1.85;

    color: var(--ab-muted);
}


/* =========================================================
   SIGNATURE
   ========================================================= */

.abb-md9-signature {
    padding-left: 30px;

    border-left: 2px solid var(--ab-red);
}

.abb-md9-signature-name {
    margin-bottom: 15px;

    font-family: "Brush Script MT", "Segoe Script", cursive;

    font-size: 42px;

    line-height: 1;

    color: var(--ab-navy);

    transform: rotate(-3deg);
}

.abb-md9-signature-line {
    width: 55px;
    height: 1px;

    margin-bottom: 16px;

    background: rgba(16, 40, 61, .2);
}

.abb-md9-signature strong {
    display: block;

    margin-bottom: 7px;

    font-size: 13px;
    font-weight: 800;

    letter-spacing: 2px;

    color: var(--ab-navy);
}

.abb-md9-signature span {
    display: block;

    max-width: 250px;

    font-size: 13px;

    line-height: 1.6;

    color: var(--ab-muted);
}


/* =========================================================
   BOTTOM
   ========================================================= */

.abb-md9-bottom {
    display: grid;

    grid-template-columns: auto 1fr auto;

    align-items: center;

    gap: 25px;

    margin-top: 75px;

    padding-top: 22px;

    border-top: 1px solid rgba(16, 40, 61, .13);
}

.abb-md9-bottom>div:first-child {
    display: flex;

    flex-direction: column;

    gap: 4px;

    font-size: 10px;
    font-weight: 800;

    letter-spacing: 2px;

    color: var(--ab-navy);
}

.abb-md9-bottom>div:first-child span {
    font-size: 7px;

    letter-spacing: 1.5px;

    color: var(--ab-muted);
}

.abb-md9-bottom-rule {
    height: 1px;

    background: rgba(16, 40, 61, .12);
}

.abb-md9-bottom>div:last-child {
    font-size: 9px;
    font-weight: 800;

    letter-spacing: 1.8px;

    color: var(--ab-muted);
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 991.98px) {

    .abb-md9-intro {
        grid-template-columns: 1fr;
    }

    .abb-md9-intro-right {
        margin-top: 35px;

        padding-left: 25px;
    }

    .abb-md9-main {
        grid-template-columns: 1fr;
    }

    .abb-md9-photo-area {
        padding-right: 25px;
    }

    .abb-md9-photo {
        height: 570px;
    }

    .abb-md9-content {
        margin-top: -30px;
        margin-left: 25px;
    }

    .abb-md9-message-content {
        gap: 30px;
    }

    .abb-md9-memberships {
        grid-template-columns: 220px 1fr;
    }

    .abb-md9-membership-list {
        justify-content: flex-start;

        flex-wrap: wrap;
    }

}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 767.98px) {

    .abb-md9-section {
        padding: 60px 0 65px;
    }


    /* Intro */

    .abb-md9-intro {
        margin-bottom: 50px;
    }

    .abb-md9-eyebrow {
        gap: 9px;

        margin-bottom: 18px;

        font-size: 10px;

        letter-spacing: 1.8px;
    }

    .abb-md9-eyebrow span {
        width: 30px;
    }

    .abb-md9-intro h1 {
        font-size: 52px;

        letter-spacing: -3px;
    }

    .abb-md9-intro-right {
        margin-top: 28px;

        padding-left: 18px;
    }

    .abb-md9-intro-right p {
        font-size: 17px;
    }


    /* Main */

    .abb-md9-photo-area {
        padding-right: 10px;
    }

    .abb-md9-photo {
        height: 420px;
    }

    .abb-md9-photo-tag {
        min-width: 190px;

        padding: 15px 18px;
    }

    .abb-md9-photo-tag strong {
        font-size: 12px;
    }

    .abb-md9-photo-tag span {
        font-size: 8px;

        letter-spacing: 1.5px;
    }

    .abb-md9-photo-frame::after {
        right: -5px;
        bottom: -10px;

        width: 60px;
        height: 60px;

        border-width: 2px;
    }

    .abb-md9-content {
        margin-top: -20px;
        margin-left: 10px;

        padding: 35px 24px;
    }

    .abb-md9-content-label {
        margin-bottom: 18px;

        font-size: 9px;

        letter-spacing: 1.8px;
    }

    .abb-md9-content h2 {
        margin-bottom: 20px;

        font-size: 39px;

        letter-spacing: -1.5px;
    }

    .abb-md9-content .abb-md9-lead {
        font-size: 18px;
    }

    .abb-md9-content p {
        font-size: 14px;

        line-height: 1.8;
    }


    /* Process */

    .abb-md9-process {
        grid-template-columns: 1fr;

        gap: 15px;
    }

    .abb-md9-process div {
        padding-bottom: 14px;

        border-bottom: 1px solid rgba(16, 40, 61, .09);
    }

    .abb-md9-process div:last-child {
        border-bottom: 0;
    }


    /* Quote */

    .abb-md9-quote {
        grid-template-columns: 45px 1fr;

        margin-bottom: 70px;

        padding: 30px 20px;
    }

    .abb-md9-quote-mark {
        font-size: 60px;
    }

    .abb-md9-quote-label {
        font-size: 8px;

        letter-spacing: 1.7px;
    }

    .abb-md9-quote-content h2 {
        font-size: 31px;

        letter-spacing: -1.2px;
    }

    .abb-md9-quote-content p {
        font-size: 13.5px;

        line-height: 1.8;
    }


    /* Message */

    .abb-md9-message {
        padding-top: 40px;
    }

    .abb-md9-message-heading {
        margin-bottom: 30px;

        font-size: 9px;

        letter-spacing: 1.8px;
    }

    .abb-md9-message-content {
        display: block;
    }

    .abb-md9-message-column {
        padding-right: 0;

        padding-bottom: 28px;

        margin-bottom: 28px;

        border-right: 0;

        border-bottom: 1px solid rgba(16, 40, 61, .1);
    }

    .abb-md9-message-column:last-child {
        margin-bottom: 0;

        border-bottom: 0;
    }

    .abb-md9-message-column h3 {
        font-size: 26px;
    }

    .abb-md9-message-column p {
        font-size: 13.5px;
    }


    /* Location */

    .abb-md9-location {
        display: block;

        margin-top: 70px;

        padding: 35px 0;
    }

    .abb-md9-location-left h2 {
        font-size: 37px;
    }

    .abb-md9-location-right {
        margin-top: 30px;

        padding-left: 0;

        border-left: 0;
    }

    .abb-md9-location-right p {
        font-size: 14px;
    }

    .abb-md9-location-list strong {
        font-size: 8px;
    }


    /* Membership */

    .abb-md9-memberships {
        display: block;

        padding: 25px 0;
    }

    .abb-md9-membership-title {
        margin-bottom: 20px;

        font-size: 9px;

        letter-spacing: 1.7px;
    }

    .abb-md9-membership-list {
        gap: 17px;
    }

    .abb-md9-member strong {
        font-size: 12px;
    }


    /* Closing */

    .abb-md9-closing {
        display: block;

        margin-top: 60px;
    }

    .abb-md9-closing-label {
        font-size: 9px;

        letter-spacing: 1.8px;
    }

    .abb-md9-closing-main h2 {
        font-size: 37px;

        letter-spacing: -1.5px;
    }

    .abb-md9-closing-main p {
        font-size: 14px;
    }

    .abb-md9-signature {
        margin-top: 40px;

        padding-left: 20px;
    }

    .abb-md9-signature-name {
        font-size: 34px;
    }


    /* Bottom */

    .abb-md9-bottom {
        display: block;

        margin-top: 55px;
    }

    .abb-md9-bottom-rule {
        margin: 12px 0;
    }

    .abb-md9-bottom>div:last-child {
        font-size: 7px;
    }

}


/* =========================================================
   SMALL MOBILE
   ========================================================= */

@media (max-width: 480px) {

    .abb-md9-intro h1 {
        font-size: 46px;
    }

    .abb-md9-photo {
        height: 390px;
    }

    .abb-md9-content h2 {
        font-size: 35px;
    }

    .abb-md9-quote-content h2 {
        font-size: 28px;
    }

    .abb-md9-location-left h2 {
        font-size: 33px;
    }

    .abb-md9-closing-main h2 {
        font-size: 33px;
    }

}


/* =====================================================
           GLOBAL
        ====================================================== */

.abb6-project-page {


    color:
        var(--ab-text);

    background:
        #ffffff;

    overflow:
        hidden;

}


.abb6-project-page *,
.abb6-project-page *::before,
.abb6-project-page *::after {

    box-sizing:
        border-box;

}


.abb6-project-page a {

    text-decoration:
        none;

}



/* =====================================================
           HERO
        ====================================================== */

.abb6-project-hero {

    position:
        relative;

    min-height:
        550px;

    display:
        flex;

    align-items:
        center;

    overflow:
        hidden;

    background:
        var(--ab-navy);

}


.abb6-project-hero::before {

    content:
        "";

    position:
        absolute;

    inset:
        0;

    background:
        linear-gradient(135deg,
            rgba(16, 40, 61, 1) 0%,
            rgba(16, 40, 61, .96) 58%,
            rgba(16, 40, 61, .78) 100%);

}


.abb6-project-hero-grid {

    position:
        absolute;

    inset:
        0;

    background-image:
        linear-gradient(rgba(255, 255, 255, .045) 1px,
            transparent 1px),
        linear-gradient(90deg,
            rgba(255, 255, 255, .045) 1px,
            transparent 1px);

    background-size:
        80px 80px;

    opacity:
        .45;

}


.abb6-project-hero-line-left {

    position:
        absolute;

    top:
        0;

    bottom:
        0;

    left:
        10%;

    width:
        1px;

    background:
        rgba(255, 255, 255, .08);

}


.abb6-project-hero-line-right {

    position:
        absolute;

    top:
        0;

    bottom:
        0;

    right:
        12%;

    width:
        1px;

    background:
        rgba(255, 255, 255, .06);

}


.abb6-project-hero-content {

    position:
        relative;

    z-index:
        5;

    padding:
        85px 0;

}



/* =====================================================
           BREADCRUMB
        ====================================================== */

.abb6-project-breadcrumb {

    display:
        flex;

    align-items:
        center;

    gap:
        11px;

    margin-bottom:
        42px;

    font-size:
        13px;

    font-weight:
        600;

}


.abb6-project-breadcrumb a {

    color:
        rgba(255, 255, 255, .55);

    transition:
        .3s ease;

}


.abb6-project-breadcrumb a:hover {

    color:
        #ffffff;

}


.abb6-project-breadcrumb i {

    color:
        var(--ab-red);

    font-size:
        9px;

}


.abb6-project-breadcrumb span {

    color:
        #ffffff;

}



/* =====================================================
           HERO LABEL
        ====================================================== */

.abb6-project-hero-label {

    display:
        flex;

    align-items:
        center;

    gap:
        14px;

    margin-bottom:
        22px;

    color:
        #ffffff;

    font-size:
        14px;

    font-weight:
        800;

    letter-spacing:
        3.5px;

}


.abb6-project-hero-label span {

    width:
        45px;

    height:
        2px;

    background:
        var(--ab-red);

}



/* =====================================================
           HERO TITLE
        ====================================================== */

.abb6-project-hero h1 {

    max-width:
        900px;

    margin:
        0;

    color:
        #ffffff;



    font-size:
        clamp(52px, 6vw, 88px);

    line-height:
        1.04;

    font-weight:
        600;

    letter-spacing:
        -2px;

}


.abb6-project-hero h1 span {

    display:
        block;

    color:
        var(--ab-red);

}


.abb6-project-hero-description {

    max-width:
        680px;

    margin-top:
        30px;

    color:
        rgba(255, 255, 255, .68);

    font-size:
        17px;

    line-height:
        1.85;

}


.abb6-project-hero-bottom {

    display:
        flex;

    align-items:
        center;

    gap:
        14px;

    margin-top:
        35px;

}


.abb6-project-hero-bottom-line {

    width:
        55px;

    height:
        1px;

    background:
        rgba(255, 255, 255, .5);

}


.abb6-project-hero-bottom-text {

    color:
        rgba(255, 255, 255, .55);

    font-size:
        13px;

    font-weight:
        800;

    letter-spacing:
        2.4px;

}



/* =====================================================
           HERO DECORATION
        ====================================================== */

.abb6-project-hero-square {

    position:
        absolute;

    right:
        7%;

    bottom:
        55px;

    width:
        205px;

    height:
        205px;

    border:
        1px solid rgba(255, 255, 255, .13);

    transform:
        rotate(45deg);

}


.abb6-project-hero-square::before {

    content:
        "";

    position:
        absolute;

    inset:
        25px;

    border:
        1px solid rgba(255, 255, 255, .08);

}


.abb6-project-hero-square::after {

    content:
        "";

    position:
        absolute;

    width:
        100px;

    height:
        1px;

    left:
        50%;

    top:
        50%;

    transform:
        translate(-50%, -50%) rotate(-45deg);

    background:
        var(--ab-red);

}



/* =====================================================
           INTRO
        ====================================================== */

.abb6-project-intro {

    padding:
        95px 0 75px;

    background:
        #f5f1e9;

}


.abb6-project-intro-label {

    margin-bottom:
        18px;

    color:
        var(--ab-red);

    font-size:
        11px;

    font-weight:
        800;

    letter-spacing:
        3px;

}


.abb6-project-intro h2 {

    margin:
        0;

    color:
        var(--ab-navy);



    font-size:
        clamp(42px, 4.4vw, 64px);

    line-height:
        1.08;

    font-weight:
        600;

    letter-spacing:
        -1px;

}


.abb6-project-intro h2 span {

    color:
        var(--ab-red);

}


.abb6-project-intro-text {

    max-width:
        640px;

    margin-left:
        auto;

    color:
        var(--ab-muted);

    font-size:
        16px;

    line-height:
        1.9;

}


.abb6-project-intro-bottom {

    display:
        flex;

    align-items:
        center;

    justify-content:
        space-between;

    gap:
        20px;

    margin-top:
        55px;

    padding-top:
        20px;

    border-top:
        1px solid rgba(16, 40, 61, .12);

}


.abb6-project-intro-bottom span {

    color:
        var(--ab-muted);

    font-size:
        13px;

    font-weight:
        800;

    letter-spacing:
        2px;

}



/* =====================================================
           PROJECT SECTION
        ====================================================== */

.abb6-project-list {

    position:
        relative;

    padding:
        85px 0 80px;

    background:
        #f8f8f7;

}


.abb6-project-list::before {

    content:
        "";

    position:
        absolute;

    left:
        6%;

    top:
        0;

    bottom:
        0;

    width:
        1px;

    background:
        rgba(16, 40, 61, .045);

}


.abb6-project-list::after {

    content:
        "";

    position:
        absolute;

    right:
        6%;

    top:
        0;

    bottom:
        0;

    width:
        1px;

    background:
        rgba(16, 40, 61, .045);

}



/* =====================================================
           GRID
        ====================================================== */

.abb6-project-grid {

    position:
        relative;

    z-index:
        2;

    display:
        grid;

    grid-template-columns:
        repeat(2, minmax(0, 1fr));

    gap:
        55px 34px;

}



/* =====================================================
           CARD
        ====================================================== */

.abb6-project-card {

    position:
        relative;

    height:
        100%;

    overflow:
        hidden;

    background:
        #ffffff;

    border:
        1px solid #e2e4e5;

    box-shadow:
        0 14px 38px rgba(16, 40, 61, .06);

    transition:
        transform .45s ease,
        box-shadow .45s ease;

}


.abb6-project-card:hover {

    transform:
        translateY(-8px);

    box-shadow:
        0 28px 65px rgba(16, 40, 61, .13);

}



/* =====================================================
           IMAGE
        ====================================================== */

.abb6-project-image {

    position:
        relative;

    height:
        400px;

    overflow:
        hidden;

}


.abb6-project-image img {

    display:
        block;

    width:
        100%;

    height:
        100%;

    object-fit:
        cover;

    transition:
        transform .8s cubic-bezier(.2, .7, .2, 1);

}


.abb6-project-card:hover .abb6-project-image img {

    transform:
        scale(1.055);

}


.abb6-project-image::after {

    content:
        "";

    position:
        absolute;

    inset:
        0;

    background:
        linear-gradient(180deg,
            rgba(16, 40, 61, .02) 30%,
            rgba(16, 40, 61, .72) 100%);

}



/* =====================================================
           IMAGE FRAME
        ====================================================== */

.abb6-project-image-frame {

    position:
        absolute;

    z-index:
        3;

    inset:
        22px;

    border:
        1px solid rgba(255, 255, 255, .48);

    pointer-events:
        none;

}


.abb6-project-image-frame::before {

    content:
        "";

    position:
        absolute;

    left:
        -1px;

    top:
        32px;

    width:
        42px;

    height:
        1px;

    background:
        #ffffff;

}


.abb6-project-image-frame::after {

    content:
        "";

    position:
        absolute;

    right:
        32px;

    bottom:
        -1px;

    width:
        42px;

    height:
        1px;

    background:
        #ffffff;

}



/* =====================================================
           STATUS
        ====================================================== */

.abb6-project-status {

    position:
        absolute;

    z-index:
        5;

    top:
        40px;

    left:
        40px;

    display:
        inline-flex;

    align-items:
        center;

    gap:
        7px;

    padding:
        9px 13px;

    background:
        rgba(255, 255, 255, .95);

    color:
        var(--ab-navy);

    font-size:
        12px;

    font-weight:
        800;

    letter-spacing:
        1.5px;

    text-transform:
        uppercase;

}


.abb6-project-status i {

    color:
        #3b9b64;

    font-size:
        7px;

}



/* =====================================================
           LOCATION ON IMAGE
        ====================================================== */

.abb6-project-image-location {

    position:
        absolute;

    z-index:
        5;

    left:
        40px;

    bottom:
        30px;

    color:
        #ffffff;

    font-size:
        10px;

    font-weight:
        800;

    letter-spacing:
        1.7px;

    text-transform:
        uppercase;

}


.abb6-project-image-location i {

    margin-right:
        7px;

    color:
        var(--ab-red);

}



/* =====================================================
           BODY
        ====================================================== */

.abb6-project-body {

    position:
        relative;

    padding:
        34px 34px 32px;

}


.abb6-project-body-top {

    display:
        flex;

    align-items:
        flex-start;

    justify-content:
        space-between;

    gap:
        25px;

    padding-bottom:
        25px;

    border-bottom:
        1px solid var(--ab-border);

}


.abb6-project-category {

    margin-bottom:
        9px;

    color:
        var(--ab-red);

    font-size:
        9px;

    font-weight:
        800;

    letter-spacing:
        2.2px;

    text-transform:
        uppercase;

}


.abb6-project-title {

    margin:
        0;

    color:
        var(--ab-navy);



    font-size:
        36px;

    line-height:
        1.08;

    font-weight:
        600;

    letter-spacing:
        -.5px;

}


.abb6-project-title span {

    color:
        var(--ab-red);

}



/* =====================================================
           PRICE BLOCK
        ====================================================== */

.abb6-project-price-block {

    flex:
        0 0 auto;

    text-align:
        right;

}


.abb6-project-price-label {

    margin-bottom:
        5px;

    color:
        var(--ab-muted);

    font-size:
        11px;

    font-weight:
        800;

    letter-spacing:
        1.2px;

    text-transform:
        uppercase;

}


.abb6-project-price {

    color:
        var(--ab-navy);

    font-size:
        22px;

    font-weight:
        800;

    white-space:
        nowrap;

}



/* =====================================================
           LOCATION TEXT
        ====================================================== */

.abb6-project-location {

    display:
        flex;

    align-items:
        flex-start;

    gap:
        8px;

    margin-top:
        19px;

    color:
        var(--ab-muted);

    font-size:
        14px;

    line-height:
        1.55;

}


.abb6-project-location i {

    margin-top:
        3px;

    color:
        var(--ab-red);

}



/* =====================================================
           SPECIFICATIONS
        ====================================================== */

.abb6-project-specifications {

    display:
        grid;

    grid-template-columns:
        repeat(3, 1fr);

    margin-top:
        25px;

    border:
        1px solid var(--ab-border);

}


.abb6-project-spec {

    min-height:
        82px;

    padding:
        14px 13px;

    border-right:
        1px solid var(--ab-border);

}


.abb6-project-spec:last-child {

    border-right:
        0;

}


.abb6-project-spec-icon {

    margin-bottom:
        8px;

    color:
        var(--ab-red);

    font-size:
        14px;

}


.abb6-project-spec-label {

    display:
        block;

    margin-bottom:
        3px;

    color:
        var(--ab-muted);

    font-size:
        12px;

    font-weight:
        800;

    letter-spacing:
        .8px;

    text-transform:
        uppercase;

}


.abb6-project-spec-value {

    color:
        var(--ab-navy);

    font-size:
        13px;

    font-weight:
        800;

}



/* =====================================================
           BOTTOM INFO
        ====================================================== */

.abb6-project-info-row {

    display:
        flex;

    align-items:
        center;

    justify-content:
        space-between;

    gap:
        20px;

    margin-top:
        25px;

    padding:
        17px 0;

    border-top:
        1px solid var(--ab-border);

    border-bottom:
        1px solid var(--ab-border);

}


.abb6-project-info-item {

    display:
        flex;

    align-items:
        center;

    gap:
        9px;

    color:
        var(--ab-muted);

    font-size:
        12px;

    font-weight:
        800;

    letter-spacing:
        1px;

    text-transform:
        uppercase;

}


.abb6-project-info-item i {

    color:
        var(--ab-red);

}


.abb6-project-info-divider {

    width:
        1px;

    height:
        22px;

    background:
        var(--ab-border);

}



/* =====================================================
           BUTTONS
        ====================================================== */

.abb6-project-actions {

    display:
        grid;

    grid-template-columns:
        1fr 1fr;

    gap:
        10px;

    margin-top:
        25px;

}


.abb6-project-view {

    min-height:
        51px;

    display:
        flex;

    align-items:
        center;

    justify-content:
        center;

    gap:
        10px;

    background:
        var(--ab-navy);

    color:
        #ffffff;

    font-size:
        13px;

    font-weight:
        800;

    letter-spacing:
        1.1px;

    text-transform:
        uppercase;

    transition:
        .3s ease;

}


.abb6-project-view:hover {

    background:
        var(--ab-red);

    color:
        #ffffff;

}


.abb6-project-view i {

    transition:
        .3s ease;

}


.abb6-project-view:hover i {

    transform:
        translateX(4px);

}


.abb6-project-enquire {

    min-height:
        51px;

    display:
        flex;

    align-items:
        center;

    justify-content:
        center;

    border:
        1px solid var(--ab-navy);

    color:
        var(--ab-navy);

    font-size:
        13px;

    font-weight:
        800;

    letter-spacing:
        1.1px;

    text-transform:
        uppercase;

    transition:
        .3s ease;

}


.abb6-project-enquire:hover {

    background:
        var(--ab-navy);

    color:
        #ffffff;

}


/* =====================================================
   FULL PROJECT CARD LINK
   Makes each card clickable without nesting links.
   The action buttons remain independently clickable.
===================================================== */

.abb6-project-card {
    position: relative;
}

.abb6-project-card-overlay {
    position: absolute;
    inset: 0;
    z-index: 20;
    display: block;
    border-radius: inherit;
    cursor: pointer;
    text-decoration: none;
}

.abb6-project-card-overlay:focus-visible {
    outline: 3px solid var(--ab-red, #ee1d23);
    outline-offset: -6px;
}

.abb6-project-actions {
    position: relative;
    z-index: 21;
}




/* =====================================================
           PAGINATION
        ====================================================== */

.abb6-project-pagination-section {

    padding:
        0 0 95px;

    background:
        #f8f8f7;

}


.abb6-project-pagination-line {

    width:
        100%;

    height:
        1px;

    margin-bottom:
        35px;

    background:
        var(--ab-border);

}


.abb6-project-pagination {

    display:
        flex;

    align-items:
        center;

    justify-content:
        space-between;

    gap:
        25px;

}


.abb6-project-pagination-info {

    color:
        var(--ab-muted);

    font-size:
        13px;

    font-weight:
        600;

}


.abb6-project-pagination-info strong {

    color:
        var(--ab-navy);

}


.abb6-project-pagination-controls {

    display:
        flex;

    align-items:
        center;

    gap:
        7px;

}


.abb6-project-page-btn {

    width:
        46px;

    height:
        46px;

    display:
        flex;

    align-items:
        center;

    justify-content:
        center;

    padding:
        0;

    border:
        1px solid var(--ab-border);

    background:
        #ffffff;

    color:
        var(--ab-navy);

    font-size:
        11px;

    font-weight:
        800;

    cursor:
        pointer;

    transition:
        .3s ease;

}


.abb6-project-page-btn:hover {

    border-color:
        var(--ab-red);

    background:
        var(--ab-red);

    color:
        #ffffff;

}


.abb6-project-page-btn.active {

    border-color:
        var(--ab-red);

    background:
        var(--ab-red);

    color:
        #ffffff;

}


.abb6-project-page-btn.disabled {

    opacity:
        .35;

    pointer-events:
        none;

}



/* =====================================================
           CTA
        ====================================================== */

.abb6-project-cta {

    position:
        relative;

    padding:
        105px 0;

    background:
        var(--ab-navy);

    overflow:
        hidden;

}


.abb6-project-cta::before {

    content:
        "";

    position:
        absolute;

    inset:
        0;

    background-image:
        linear-gradient(rgba(255, 255, 255, .035) 1px,
            transparent 1px),
        linear-gradient(90deg,
            rgba(255, 255, 255, .035) 1px,
            transparent 1px);

    background-size:
        70px 70px;

}


.abb6-project-cta-content {

    position:
        relative;

    z-index:
        2;

    text-align:
        center;

}


.abb6-project-cta-label {

    display:
        inline-flex;

    align-items:
        center;

    gap:
        12px;

    margin-bottom:
        22px;

    color:
        var(--ab-red);

    font-size:
        11px;

    font-weight:
        800;

    letter-spacing:
        3px;

}


.abb6-project-cta-label::before,
.abb6-project-cta-label::after {

    content:
        "";

    width:
        30px;

    height:
        1px;

    background:
        var(--ab-red);

}


.abb6-project-cta h2 {

    max-width:
        850px;

    margin:
        auto;

    color:
        #ffffff;



    font-size:
        clamp(43px, 5vw, 70px);

    line-height:
        1.08;

    font-weight:
        600;

}


.abb6-project-cta h2 span {

    color:
        var(--ab-red);

}


.abb6-project-cta p {

    max-width:
        650px;

    margin:
        25px auto 0;

    color:
        rgba(255, 255, 255, .64);

    font-size:
        16px;

    line-height:
        1.8;

}


.abb6-project-cta-button {

    display:
        inline-flex;

    align-items:
        center;

    gap:
        12px;

    margin-top:
        35px;

    padding:
        17px 29px;

    background:
        var(--ab-red);

    color:
        #ffffff;

    font-size:
        10px;

    font-weight:
        800;

    letter-spacing:
        1.2px;

    text-transform:
        uppercase;

    transition:
        .3s ease;

}


.abb6-project-cta-button:hover {

    background:
        #ffffff;

    color:
        var(--ab-navy);

}



/* =====================================================
           TABLET
        ====================================================== */

@media (max-width: 991.98px) {


    .abb6-project-hero {

        min-height:
            500px;

    }


    .abb6-project-grid {

        gap:
            40px 20px;

    }


    .abb6-project-image {

        height:
            330px;

    }


    .abb6-project-body {

        padding:
            29px 23px 25px;

    }


    .abb6-project-body-top {

        display:
            block;

    }


    .abb6-project-price-block {

        margin-top:
            17px;

        text-align:
            left;

    }


    .abb6-project-title {

        font-size:
            32px;

    }


    .abb6-project-price {

        font-size:
            22px;

    }


    .abb6-project-info-row {

        align-items:
            flex-start;

        flex-direction:
            column;

        gap:
            12px;

    }


    .abb6-project-info-divider {

        display:
            none;

    }

}



/* =====================================================
           MOBILE
        ====================================================== */

@media (max-width: 767.98px) {


    .abb6-project-hero {

        min-height:
            auto;

    }


    .abb6-project-hero-content {

        padding:
            60px 0 65px;

    }


    .abb6-project-breadcrumb {

        margin-bottom:
            30px;

        font-size:
            11px;

    }


    .abb6-project-hero-label {

        font-size:
            10px;

        letter-spacing:
            2.5px;

    }


    .abb6-project-hero h1 {

        font-size:
            46px;

        letter-spacing:
            -1px;

    }


    .abb6-project-hero-description {

        font-size:
            15px;

        line-height:
            1.75;

    }


    .abb6-project-hero-square {

        display:
            none;

    }


    .abb6-project-intro {

        padding:
            65px 0 55px;

    }


    .abb6-project-intro h2 {

        font-size:
            40px;

    }


    .abb6-project-intro-text {

        margin-top:
            25px;

        font-size:
            15px;

        line-height:
            1.75;

    }


    .abb6-project-intro-bottom {

        align-items:
            flex-start;

        flex-direction:
            column;

        margin-top:
            35px;

    }


    .abb6-project-list {

        padding:
            55px 0 60px;

    }


    .abb6-project-list::before,
    .abb6-project-list::after {

        display:
            none;

    }


    .abb6-project-grid {

        grid-template-columns:
            1fr;

        gap:
            35px;

    }


    .abb6-project-image {

        height:
            300px;

    }


    .abb6-project-image-frame {

        inset:
            17px;

    }


    .abb6-project-status {

        top:
            34px;

        left:
            34px;

    }


    .abb6-project-image-location {

        left:
            34px;

        bottom:
            27px;

    }


    .abb6-project-body {

        padding:
            28px 20px 23px;

    }


    .abb6-project-title {

        font-size:
            34px;

    }


    .abb6-project-price {

        font-size:
            22px;

    }


    .abb6-project-location {

        font-size:
            12px;

    }


    .abb6-project-spec {

        min-height:
            75px;

        padding:
            11px 9px;

    }


    .abb6-project-spec-value {

        font-size:
            9px;

    }


    .abb6-project-actions {

        grid-template-columns:
            1fr;

    }


    .abb6-project-pagination-section {

        padding-bottom:
            65px;

    }


    .abb6-project-pagination {

        align-items:
            flex-start;

        flex-direction:
            column;

    }


    .abb6-project-pagination-controls {

        width:
            100%;

        justify-content:
            center;

    }


    .abb6-project-page-btn {

        width:
            42px;

        height:
            42px;

    }


    .abb6-project-cta {

        padding:
            75px 0;

    }


    .abb6-project-cta h2 {

        font-size:
            42px;

    }


    .abb6-project-cta p {

        font-size:
            15px;

    }

}



:root {
    --abb-rc5-red: #e5232d;
    --abb-rc5-red-dark: #bd1720;
    --abb-rc5-navy: #10283d;
    --abb-rc5-text: #263746;
    --abb-rc5-muted: #6d7780;
    --abb-rc5-border: #e3e1dc;
    --abb-rc5-cream: #f5f1ea;
    --abb-rc5-light: #faf9f6;
    --abb-rc5-white: #ffffff;
}




/* =========================================================
   HERO
========================================================= */

.abb-rc5-hero {
    position: relative;
    min-height: 780px;
    background: var(--abb-rc5-cream);
    overflow: hidden;
}


/* Architectural vertical label */

.abb-rc5-hero-side-label {
    position: absolute;
    left: 32px;
    top: 50%;
    z-index: 5;

    transform: translateY(-50%) rotate(-90deg);
    transform-origin: left top;

    white-space: nowrap;

    font-size: 11px;
    font-weight: 800;
    letter-spacing: 4px;
    color: var(--abb-rc5-muted);
}


/* Background architectural grid */

.abb-rc5-hero-grid {
    position: absolute;
    inset: 0;

    opacity: .55;

    background-image:
        linear-gradient(to right,
            rgba(16, 40, 61, .055) 1px,
            transparent 1px),
        linear-gradient(to bottom,
            rgba(16, 40, 61, .055) 1px,
            transparent 1px);

    background-size: 80px 80px;
}


/* Large red architectural block */

.abb-rc5-hero-red-shape {
    position: absolute;
    right: 0;
    top: 0;

    width: 29%;
    height: 100%;

    background: var(--abb-rc5-red);
}


/* Hero content */

.abb-rc5-hero-content {
    position: relative;
    z-index: 3;

    padding-top: 75px;
}


/* Breadcrumb */

.abb-rc5-breadcrumb {
    display: flex;
    align-items: center;
    gap: 13px;

    margin-bottom: 75px;

    font-size: 11px;
    font-weight: 800;
    letter-spacing: 2px;
    text-transform: uppercase;
}

.abb-rc5-breadcrumb a {
    color: var(--abb-rc5-muted);
}

.abb-rc5-breadcrumb i {
    color: var(--abb-rc5-red);
    font-size: 8px;
}

.abb-rc5-breadcrumb span {
    color: var(--abb-rc5-navy);
}


/* Hero label */

.abb-rc5-hero-label {
    display: flex;
    align-items: center;
    gap: 15px;

    margin-bottom: 25px;

    font-size: 13px;
    font-weight: 800;
    letter-spacing: 3px;
    color: var(--abb-rc5-red);
}

.abb-rc5-hero-label::before {
    content: "";

    width: 48px;
    height: 2px;

    background: var(--abb-rc5-red);
}


/* Hero title */

.abb-rc5-hero-title {
    position: relative;
    z-index: 4;

    max-width: 850px;

    margin: 0;


    font-size: clamp(58px, 7vw, 108px);
    line-height: .94;
    font-weight: 600;
    letter-spacing: -4px;

    color: var(--abb-rc5-navy);
}

.abb-rc5-hero-title span {
    display: block;
    color: var(--abb-rc5-red);
}


/* Description */

.abb-rc5-hero-description {
    position: relative;
    z-index: 4;

    max-width: 450px;

    margin-top: 38px;

    font-size: 18px;
    line-height: 1.85;
    color: var(--abb-rc5-text);
}


/* Button */

.abb-rc5-hero-button {
    display: inline-flex;
    align-items: center;
    gap: 18px;

    margin-top: 38px;
    padding: 17px 25px;

    background: var(--abb-rc5-navy);
    color: var(--abb-rc5-white);

    font-size: 12px;
    font-weight: 800;
    letter-spacing: 1.5px;

    transition: .3s ease;
}

.abb-rc5-hero-button:hover {
    background: var(--abb-rc5-red);
    color: var(--abb-rc5-white);
}

.abb-rc5-hero-button i {
    transition: .3s ease;
}

.abb-rc5-hero-button:hover i {
    transform: translateX(5px);
}


/* =========================================================
   HERO IMAGE
========================================================= */

.abb-rc5-hero-image {
    position: absolute;

    z-index: 2;

    top: 145px;
    right: 7%;

    width: 48%;
    max-width: 720px;
    height: 555px;

    overflow: hidden;

    box-shadow: 0 30px 70px rgba(16, 40, 61, .20);
}

.abb-rc5-hero-image img {
    width: 100%;
    height: 100%;

    object-fit: cover;
}


/* White frame */

.abb-rc5-hero-image::before {
    content: "";

    position: absolute;
    inset: 20px;

    border: 1px solid rgba(255, 255, 255, .7);

    z-index: 2;
}


/* Image caption */

.abb-rc5-image-caption {
    position: absolute;

    left: 25px;
    bottom: 25px;

    z-index: 3;

    padding: 13px 17px;

    background: var(--abb-rc5-white);

    font-size: 10px;
    font-weight: 800;
    letter-spacing: 2px;

    color: var(--abb-rc5-navy);
}


/* =========================================================
   HERO BOTTOM INFORMATION
========================================================= */

.abb-rc5-hero-bottom {
    position: absolute;

    left: 0;
    bottom: 0;

    z-index: 5;

    width: 100%;
}

.abb-rc5-hero-bottom-inner {
    display: flex;
    align-items: center;
    gap: 45px;

    padding: 22px 0;

    border-top: 1px solid rgba(16, 40, 61, .15);
}

.abb-rc5-hero-bottom-item {
    display: flex;
    align-items: center;
    gap: 12px;

    font-size: 11px;
    font-weight: 800;
    letter-spacing: 1.5px;
    color: var(--abb-rc5-navy);
}

.abb-rc5-hero-bottom-item i {
    color: var(--abb-rc5-red);
}


/* =========================================================
   INTRO
========================================================= */

.abb-rc5-intro {
    padding: 140px 0;

    background: var(--abb-rc5-white);
}

.abb-rc5-intro-label {
    margin-bottom: 25px;

    font-size: 12px;
    font-weight: 800;
    letter-spacing: 3px;

    color: var(--abb-rc5-red);
}

.abb-rc5-intro-title {
    max-width: 1000px;

    margin: 0;


    font-size: clamp(42px, 5.4vw, 78px);
    line-height: 1.1;

    color: var(--abb-rc5-navy);
}

.abb-rc5-intro-title span {
    color: var(--abb-rc5-red);
}

.abb-rc5-intro-bottom {
    display: flex;
    align-items: flex-start;
    gap: 70px;

    margin-top: 60px;
}

.abb-rc5-intro-rule {
    width: 100px;
    height: 2px;

    margin-top: 12px;

    flex-shrink: 0;

    background: var(--abb-rc5-red);
}

.abb-rc5-intro-text {
    max-width: 720px;

    margin: 0;

    font-size: 18px;
    line-height: 1.9;

    color: var(--abb-rc5-muted);
}


/* =========================================================
   ARCHITECTURE SECTION
========================================================= */

.abb-rc5-architecture {
    position: relative;

    padding: 130px 0;

    background: var(--abb-rc5-light);

    overflow: hidden;
}


/* Blueprint lines */

.abb-rc5-architecture-grid {
    position: absolute;
    inset: 0;

    opacity: .7;

    background-image:
        linear-gradient(to right,
            rgba(16, 40, 61, .045) 1px,
            transparent 1px),
        linear-gradient(to bottom,
            rgba(16, 40, 61, .045) 1px,
            transparent 1px);

    background-size: 110px 110px;
}


.abb-rc5-architecture-heading {
    position: relative;
    z-index: 2;

    margin-bottom: 70px;
}

.abb-rc5-small-label {
    display: flex;
    align-items: center;
    gap: 13px;

    margin-bottom: 18px;

    font-size: 12px;
    font-weight: 800;
    letter-spacing: 3px;

    color: var(--abb-rc5-red);
}

.abb-rc5-small-label span {
    width: 40px;
    height: 2px;

    background: var(--abb-rc5-red);
}

.abb-rc5-architecture-title {
    max-width: 850px;

    margin: 0;


    font-size: clamp(40px, 5vw, 67px);
    line-height: 1.08;

    color: var(--abb-rc5-navy);
}


/* =========================================================
   ARCHITECTURE VISUAL
========================================================= */

.abb-rc5-architecture-visual {
    position: relative;
    z-index: 2;

    min-height: 510px;

    background: var(--abb-rc5-navy);

    overflow: hidden;
}


/* House image */

.abb-rc5-architecture-image {
    position: absolute;

    left: 0;
    top: 0;

    width: 68%;
    height: 100%;
}

.abb-rc5-architecture-image img {
    width: 100%;
    height: 100%;

    object-fit: cover;
}


/* Overlay */

.abb-rc5-architecture-image::after {
    content: "";

    position: absolute;
    inset: 0;

    background: linear-gradient(90deg,
            rgba(16, 40, 61, .08),
            rgba(16, 40, 61, .35));
}


/* Side panel */

.abb-rc5-architecture-panel {
    position: absolute;

    right: 0;
    top: 0;

    width: 37%;
    height: 100%;

    padding: 55px 45px;

    background: var(--abb-rc5-navy);

    color: var(--abb-rc5-white);
}

.abb-rc5-architecture-panel-label {
    margin-bottom: 45px;

    font-size: 11px;
    font-weight: 800;
    letter-spacing: 3px;

    color: #aeb9c1;
}

.abb-rc5-architecture-panel h3 {
    margin: 0 0 25px;


    font-size: 38px;
    line-height: 1.15;
}

.abb-rc5-architecture-panel h3 span {
    color: var(--abb-rc5-red);
}

.abb-rc5-architecture-panel p {
    margin: 0;

    font-size: 15px;
    line-height: 1.8;

    color: #bdc7ce;
}


/* =========================================================
   SERVICES
========================================================= */

.abb-rc5-services {
    padding: 135px 0;

    background: var(--abb-rc5-white);
}

.abb-rc5-services-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 40px;

    margin-bottom: 65px;
}

.abb-rc5-services-title {
    margin: 0;


    font-size: clamp(42px, 5vw, 70px);
    line-height: 1.05;

    color: var(--abb-rc5-navy);
}

.abb-rc5-services-title span {
    color: var(--abb-rc5-red);
}

.abb-rc5-services-description {
    max-width: 420px;

    margin: 0;

    font-size: 16px;
    line-height: 1.8;

    color: var(--abb-rc5-muted);
}


/* Service */

.abb-rc5-service {
    position: relative;

    min-height: 300px;

    padding: 38px;

    border-top: 1px solid var(--abb-rc5-border);
    border-bottom: 1px solid var(--abb-rc5-border);

    background: var(--abb-rc5-white);

    transition: .3s ease;
}

.abb-rc5-service:hover {
    transform: translateY(-8px);

    box-shadow: 0 25px 60px rgba(16, 40, 61, .08);
}

.abb-rc5-service-icon {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 58px;
    height: 58px;

    margin-bottom: 32px;

    border: 1px solid var(--abb-rc5-border);

    color: var(--abb-rc5-red);

    font-size: 20px;
}

.abb-rc5-service h3 {
    margin-bottom: 17px;


    font-size: 29px;

    color: var(--abb-rc5-navy);
}

.abb-rc5-service p {
    margin: 0;

    font-size: 15px;
    line-height: 1.8;

    color: var(--abb-rc5-muted);
}

.abb-rc5-service-arrow {
    position: absolute;

    right: 30px;
    bottom: 30px;

    color: var(--abb-rc5-red);

    font-size: 16px;
}


/* =========================================================
   HOME CUSTOMIZATION
========================================================= */

.abb-rc5-custom {
    position: relative;

    padding: 125px 0;

    background: var(--abb-rc5-cream);

    overflow: hidden;
}

.abb-rc5-custom-word {
    position: absolute;

    right: -45px;
    top: 40px;

    font-size: 190px;
    font-weight: 800;
    line-height: 1;

    color: rgba(16, 40, 61, .035);
}

.abb-rc5-custom-content {
    position: relative;
    z-index: 2;
}

.abb-rc5-custom-title {
    max-width: 900px;

    margin: 0;


    font-size: clamp(42px, 5vw, 70px);
    line-height: 1.08;

    color: var(--abb-rc5-navy);
}

.abb-rc5-custom-title span {
    color: var(--abb-rc5-red);
}

.abb-rc5-custom-description {
    max-width: 720px;

    margin-top: 30px;

    font-size: 17px;
    line-height: 1.9;

    color: var(--abb-rc5-muted);
}


/* Feature list */

.abb-rc5-custom-list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);

    max-width: 760px;

    margin-top: 45px;

    border-top: 1px solid var(--abb-rc5-border);
}

.abb-rc5-custom-item {
    display: flex;
    align-items: center;
    gap: 14px;

    padding: 19px 0;

    border-bottom: 1px solid var(--abb-rc5-border);

    font-size: 15px;
    font-weight: 700;

    color: var(--abb-rc5-text);
}

.abb-rc5-custom-item i {
    color: var(--abb-rc5-red);
}


/* =========================================================
   PROCESS
========================================================= */

.abb-rc5-process {
    padding: 125px 0;

    background: var(--abb-rc5-navy);
}

.abb-rc5-process-title {
    margin: 0;


    font-size: clamp(42px, 5vw, 68px);
    line-height: 1.08;

    color: var(--abb-rc5-white);
}

.abb-rc5-process-title span {
    color: var(--abb-rc5-red);
}

.abb-rc5-process-intro {
    max-width: 600px;

    margin: 28px 0 70px;

    font-size: 16px;
    line-height: 1.85;

    color: #b9c3ca;
}


/* Process item */

.abb-rc5-process-item {
    padding: 38px 30px 35px 0;

    border-top: 1px solid rgba(255, 255, 255, .18);
}

.abb-rc5-process-item-label {
    margin-bottom: 25px;

    font-size: 11px;
    font-weight: 800;
    letter-spacing: 3px;

    color: var(--abb-rc5-red);
}

.abb-rc5-process-item h3 {
    margin-bottom: 16px;


    font-size: 30px;

    color: var(--abb-rc5-white);
}

.abb-rc5-process-item p {
    margin: 0;

    font-size: 14px;
    line-height: 1.8;

    color: #aeb9c1;
}


/* =========================================================
   LOCATIONS
========================================================= */

.abb-rc5-location {
    padding: 120px 0;

    background: var(--abb-rc5-white);
}

.abb-rc5-location-heading {
    margin-bottom: 60px;
}

.abb-rc5-location-title {
    margin: 0;


    font-size: clamp(42px, 5vw, 68px);

    color: var(--abb-rc5-navy);
}

.abb-rc5-location-title span {
    color: var(--abb-rc5-red);
}


/* Location */

.abb-rc5-location-item {
    position: relative;

    padding: 35px 25px;

    border-top: 2px solid var(--abb-rc5-navy);
}

.abb-rc5-location-item::before {
    content: "";

    position: absolute;

    left: 0;
    top: -2px;

    width: 55px;
    height: 2px;

    background: var(--abb-rc5-red);
}

.abb-rc5-location-item h3 {
    margin-bottom: 12px;


    font-size: 31px;

    color: var(--abb-rc5-navy);
}

.abb-rc5-location-item p {
    margin: 0;

    font-size: 14px;
    line-height: 1.7;

    color: var(--abb-rc5-muted);
}


/* =========================================================
   CTA
========================================================= */

.abb-rc5-cta {
    position: relative;

    padding: 115px 0;

    background: var(--abb-rc5-cream);

    overflow: hidden;
}

.abb-rc5-cta-grid {
    position: absolute;
    inset: 0;

    opacity: .6;

    background-image:
        linear-gradient(to right,
            rgba(16, 40, 61, .045) 1px,
            transparent 1px),
        linear-gradient(to bottom,
            rgba(16, 40, 61, .045) 1px,
            transparent 1px);

    background-size: 90px 90px;
}

.abb-rc5-cta-content {
    position: relative;
    z-index: 2;
}

.abb-rc5-cta-label {
    margin-bottom: 22px;

    font-size: 12px;
    font-weight: 800;
    letter-spacing: 3px;

    color: var(--abb-rc5-red);
}

.abb-rc5-cta-title {
    max-width: 950px;

    margin: 0;


    font-size: clamp(45px, 6vw, 82px);
    line-height: 1.05;

    color: var(--abb-rc5-navy);
}

.abb-rc5-cta-title span {
    color: var(--abb-rc5-red);
}

.abb-rc5-cta-text {
    max-width: 650px;

    margin: 30px 0 35px;

    font-size: 17px;
    line-height: 1.8;

    color: var(--abb-rc5-muted);
}

.abb-rc5-cta-button {
    display: inline-flex;
    align-items: center;
    gap: 18px;

    padding: 18px 25px;

    background: var(--abb-rc5-red);
    color: var(--abb-rc5-white);

    font-size: 12px;
    font-weight: 800;
    letter-spacing: 1.5px;

    transition: .3s ease;
}

.abb-rc5-cta-button:hover {
    background: var(--abb-rc5-navy);
    color: var(--abb-rc5-white);
}


/* =========================================================
   BOTTOM STRIP
========================================================= */

.abb-rc5-bottom {
    padding: 28px 0;

    background: var(--abb-rc5-white);

    border-top: 1px solid var(--abb-rc5-border);
}

.abb-rc5-bottom-inner {
    display: flex;
    justify-content: space-between;
    align-items: center;

    gap: 25px;
}

.abb-rc5-bottom-brand {
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 2px;

    color: var(--abb-rc5-navy);
}

.abb-rc5-bottom-locations {
    display: flex;
    align-items: center;
    gap: 12px;

    font-size: 10px;
    font-weight: 800;
    letter-spacing: 2px;

    color: var(--abb-rc5-muted);
}

.abb-rc5-bottom-locations i {
    color: var(--abb-rc5-red);
    font-size: 5px;
}


/* =========================================================
   RESPONSIVE
========================================================= */

@media (max-width: 1199.98px) {

    .abb-rc5-hero {
        min-height: 720px;
    }

    .abb-rc5-hero-image {
        right: 4%;
        width: 47%;
        height: 500px;
    }

    .abb-rc5-hero-title {
        font-size: 82px;
    }

    .abb-rc5-architecture-panel {
        padding: 40px 30px;
    }

}


@media (max-width: 991.98px) {

    .abb-rc5-hero {
        min-height: auto;
    }

    .abb-rc5-hero-red-shape {
        display: none;
    }

    .abb-rc5-hero-content {
        padding-top: 55px;
    }

    .abb-rc5-hero-side-label {
        display: none;
    }

    .abb-rc5-hero-image {
        position: relative;

        top: auto;
        right: auto;

        width: calc(100% - 30px);
        max-width: none;

        height: 480px;

        margin: 55px auto 80px;
    }

    .abb-rc5-hero-bottom {
        position: relative;
    }

    .abb-rc5-architecture-visual {
        min-height: 600px;
    }

    .abb-rc5-architecture-image {
        width: 100%;
        height: 55%;
    }

    .abb-rc5-architecture-panel {
        top: 55%;
        width: 100%;
        height: 45%;
    }

    .abb-rc5-services-header {
        display: block;
    }

    .abb-rc5-services-description {
        margin-top: 25px;
    }

}


@media (max-width: 767.98px) {

    .abb-rc5-hero-content {
        padding-top: 40px;
    }

    .abb-rc5-breadcrumb {
        margin-bottom: 45px;

        font-size: 9px;
        letter-spacing: 1.3px;
    }

    .abb-rc5-hero-title {
        font-size: 54px;
        line-height: .98;
        letter-spacing: -2px;
    }

    .abb-rc5-hero-description {
        margin-top: 25px;
        font-size: 16px;
        line-height: 1.75;
    }

    .abb-rc5-hero-image {
        height: 350px;
        width: calc(100% - 20px);

        margin-top: 45px;
    }

    .abb-rc5-hero-image::before {
        inset: 12px;
    }

    .abb-rc5-hero-bottom-inner {
        flex-wrap: wrap;
        gap: 18px;
    }

    .abb-rc5-intro {
        padding: 85px 0;
    }

    .abb-rc5-intro-title {
        font-size: 40px;
    }

    .abb-rc5-intro-bottom {
        flex-direction: column;
        gap: 20px;

        margin-top: 35px;
    }

    .abb-rc5-intro-rule {
        margin-top: 0;
    }

    .abb-rc5-intro-text {
        font-size: 16px;
    }

    .abb-rc5-architecture {
        padding: 85px 0;
    }

    .abb-rc5-architecture-title {
        font-size: 40px;
    }

    .abb-rc5-architecture-visual {
        min-height: 600px;
    }

    .abb-rc5-architecture-image {
        height: 48%;
    }

    .abb-rc5-architecture-panel {
        top: 48%;
        height: 52%;

        padding: 35px 25px;
    }

    .abb-rc5-architecture-panel h3 {
        font-size: 31px;
    }

    .abb-rc5-services {
        padding: 85px 0;
    }

    .abb-rc5-services-title {
        font-size: 42px;
    }

    .abb-rc5-service {
        min-height: auto;
        padding: 30px;
    }

    .abb-rc5-custom {
        padding: 85px 0;
    }

    .abb-rc5-custom-word {
        font-size: 100px;
    }

    .abb-rc5-custom-title {
        font-size: 40px;
    }

    .abb-rc5-custom-description {
        font-size: 16px;
    }

    .abb-rc5-custom-list {
        grid-template-columns: 1fr;
    }

    .abb-rc5-process {
        padding: 85px 0;
    }

    .abb-rc5-process-title {
        font-size: 42px;
    }

    .abb-rc5-location {
        padding: 85px 0;
    }

    .abb-rc5-location-title {
        font-size: 42px;
    }

    .abb-rc5-cta {
        padding: 85px 0;
    }

    .abb-rc5-cta-title {
        font-size: 46px;
    }

    .abb-rc5-bottom-inner {
        align-items: flex-start;
        flex-direction: column;
    }

}


/* =========================================================
           ROOT
        ========================================================= */

:root {
    --ald-red: #e5232d;
    --ald-red-dark: #bd1720;
    --ald-navy: #10283d;
    --ald-dark: #17232d;
    --ald-text: #293640;
    --ald-muted: #707a82;
    --ald-cream: #f5f1e9;
    --ald-light: #f8f8f6;
    --ald-white: #ffffff;
    --ald-border: #e5e3de;
}

/* =========================================================
           HERO
        ========================================================= */

.ald-hero {
    position: relative;
    background: var(--ald-light);
    overflow: hidden;
}


/* =========================================================
           BREADCRUMB
        ========================================================= */

.ald-breadcrumb-wrap {
    position: relative;
    z-index: 10;
    padding: 28px 0;
    background: transparent;
}


.ald-breadcrumb {
    margin: 0;
    padding: 0;
    list-style: none;

    display: flex;
    align-items: center;
    flex-wrap: wrap;

    gap: 12px;
}


.ald-breadcrumb li {
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 0.7px;
    color: var(--ald-muted);
}


.ald-breadcrumb li a {
    color: var(--ald-text);
    transition: color 0.3s ease;
}


.ald-breadcrumb li a:hover {
    color: var(--ald-red);
}


.ald-breadcrumb-arrow {
    color: var(--ald-red) !important;
    font-size: 10px !important;
}


.ald-breadcrumb .ald-current {
    color: var(--ald-red);
}


/* =========================================================
           HERO CONTENT
        ========================================================= */

.ald-hero-content {
    position: relative;
    z-index: 3;
    padding: 30px 0 90px;
}


.ald-hero-copy {
    max-width: 720px;
    padding: 50px 0 50px;
}


.ald-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 12px;

    color: var(--ald-red);

    font-size: 14px;
    font-weight: 700;

    letter-spacing: 3px;
    text-transform: uppercase;

    margin-bottom: 25px;
}


.ald-eyebrow::before {
    content: "";

    width: 42px;
    height: 2px;

    background: var(--ald-red);
}


.ald-hero-title {
    font-family: "Rajdhani", sans-serif;

    font-size: clamp(65px, 8vw, 110px);

    line-height: 0.9;

    font-weight: 700;

    letter-spacing: -1px;

    color: var(--ald-navy);

    margin-bottom: 32px;
}


.ald-hero-title span {
    color: var(--ald-red);
}


.ald-hero-description {
    max-width: 610px;

    font-family: "Rajdhani", sans-serif;

    font-size: 20px;
    line-height: 1.65;

    font-weight: 500;

    color: var(--ald-muted);

    margin-bottom: 38px;
}


.ald-hero-button {
    display: inline-flex;

    align-items: center;
    gap: 15px;

    padding: 16px 26px;

    background: var(--ald-red);
    color: var(--ald-white);

    font-size: 14px;
    font-weight: 700;

    letter-spacing: 1.5px;
    text-transform: uppercase;

    transition: all 0.3s ease;
}


.ald-hero-button i {
    font-size: 12px;

    transition: transform 0.3s ease;
}


.ald-hero-button:hover {
    background: var(--ald-navy);
    color: var(--ald-white);
}


.ald-hero-button:hover i {
    transform: translateX(5px);
}


/* =========================================================
           HERO IMAGE
           NORMAL IMAGE - NOT BACKGROUND
        ========================================================= */

.ald-hero-image {
    position: relative;

    width: 100%;
    height: 600px;

    overflow: hidden;
}


.ald-hero-image img {
    width: 100%;
    height: 100%;

    object-fit: cover;
    object-position: center;

    display: block;
}


/* =========================================================
           INTRO
        ========================================================= */

.ald-intro {
    padding: 120px 0;
    background: var(--ald-white);
}


.ald-intro-label {
    font-size: 14px;

    font-weight: 700;

    letter-spacing: 3px;

    color: var(--ald-red);

    text-transform: uppercase;

    margin-bottom: 22px;
}


.ald-intro-title {
    font-family: "Rajdhani", sans-serif;

    font-size: clamp(45px, 5.5vw, 72px);

    line-height: 1.05;

    font-weight: 700;

    letter-spacing: -0.5px;

    color: var(--ald-navy);

    margin-bottom: 30px;

    max-width: 850px;
}


.ald-intro-title span {
    color: var(--ald-red);
}


.ald-intro-text {
    font-family: "Rajdhani", sans-serif;

    font-size: 19px;

    font-weight: 500;

    line-height: 1.75;

    color: var(--ald-muted);

    max-width: 900px;
}


/* =========================================================
           IMAGE STORY
        ========================================================= */

.ald-story {
    padding: 0 0 120px;
    background: var(--ald-white);
}


.ald-story-image {
    position: relative;

    height: 650px;

    overflow: hidden;
}


.ald-story-image img {
    width: 100%;
    height: 100%;

    object-fit: cover;

    transition: transform 0.8s ease;
}


.ald-story-image:hover img {
    transform: scale(1.035);
}


.ald-story-content {
    height: 100%;

    min-height: 650px;

    padding: 70px;

    background: var(--ald-navy);

    color: var(--ald-white);

    display: flex;

    flex-direction: column;

    justify-content: center;
}


.ald-story-small {
    font-size: 14px;

    font-weight: 700;

    letter-spacing: 3px;

    color: #e9b0b3;

    margin-bottom: 25px;

    text-transform: uppercase;
}


.ald-story-title {
    font-family: "Rajdhani", sans-serif;

    font-size: clamp(45px, 5vw, 68px);

    line-height: 0.98;

    font-weight: 700;

    letter-spacing: -0.5px;

    margin-bottom: 28px;

    color: var(--ald-white);
}


.ald-story-text {
    font-family: "Rajdhani", sans-serif;

    font-size: 18px;

    font-weight: 500;

    line-height: 1.75;

    color: rgba(255, 255, 255, 0.72);

    margin-bottom: 32px;
}


.ald-story-list {
    list-style: none;

    padding: 0;
    margin: 0;
}


.ald-story-list li {
    display: flex;

    align-items: center;

    gap: 14px;

    padding: 15px 0;

    border-bottom: 1px solid rgba(255, 255, 255, 0.12);

    font-size: 16px;

    font-weight: 600;

    color: rgba(255, 255, 255, 0.9);
}


.ald-story-list li:last-child {
    border-bottom: none;
}


.ald-story-list i {
    color: var(--ald-red);

    font-size: 13px;
}


/* =========================================================
           PLANNING
        ========================================================= */

.ald-planning {
    padding: 120px 0;

    background: var(--ald-cream);
}


.ald-section-heading {
    max-width: 850px;

    margin-bottom: 70px;
}


.ald-section-label {
    font-size: 14px;

    font-weight: 700;

    letter-spacing: 3px;

    color: var(--ald-red);

    text-transform: uppercase;

    margin-bottom: 20px;
}


.ald-section-title {
    font-family: "Rajdhani", sans-serif;

    color: var(--ald-navy);

    font-size: clamp(45px, 5.5vw, 72px);

    line-height: 1;

    font-weight: 700;

    letter-spacing: -0.5px;

    margin: 0;
}


.ald-section-title span {
    color: var(--ald-red);
}


.ald-planning-item {
    padding: 34px 0;

    border-top: 1px solid rgba(16, 40, 61, 0.18);

    height: 100%;
}


.ald-planning-icon {
    width: 58px;
    height: 58px;

    display: flex;

    align-items: center;
    justify-content: center;

    background: var(--ald-red);

    color: var(--ald-white);

    border-radius: 50%;

    margin-bottom: 25px;

    font-size: 19px;
}


.ald-planning-title {
    font-size: 25px;

    font-weight: 700;

    color: var(--ald-navy);

    margin-bottom: 13px;
}


.ald-planning-text {
    font-size: 17px;

    font-weight: 500;

    line-height: 1.7;

    color: var(--ald-muted);

    margin: 0;

    max-width: 390px;
}


/* =========================================================
           LARGE IMAGE SECTION
        ========================================================= */

.ald-landscape {
    position: relative;

    min-height: 680px;

    overflow: hidden;
}


.ald-landscape-image {
    position: absolute;

    inset: 0;
}


.ald-landscape-image img {
    width: 100%;
    height: 100%;

    object-fit: cover;

    object-position: center;
}


.ald-landscape-overlay {
    position: absolute;

    inset: 0;

    background: linear-gradient(90deg,
            rgba(16, 40, 61, 0.92) 0%,
            rgba(16, 40, 61, 0.72) 38%,
            rgba(16, 40, 61, 0.12) 78%,
            rgba(16, 40, 61, 0.05) 100%);
}


.ald-landscape-content {
    position: relative;

    z-index: 2;

    min-height: 680px;

    display: flex;

    align-items: center;
}


.ald-landscape-copy {
    max-width: 650px;
}


.ald-landscape-label {
    color: #e8b1b4;

    font-size: 14px;

    font-weight: 700;

    letter-spacing: 3px;

    text-transform: uppercase;

    margin-bottom: 22px;
}


.ald-landscape-title {
    font-family: "Rajdhani", sans-serif;

    font-size: clamp(48px, 5.5vw, 76px);

    line-height: 0.98;

    font-weight: 700;

    color: var(--ald-white);

    margin-bottom: 28px;
}


.ald-landscape-text {
    font-family: "Rajdhani", sans-serif;

    font-size: 19px;

    font-weight: 500;

    line-height: 1.7;

    color: rgba(255, 255, 255, 0.78);

    max-width: 590px;

    margin-bottom: 35px;
}


.ald-landscape-points {
    display: flex;

    flex-wrap: wrap;

    gap: 12px;
}


.ald-landscape-point {
    padding: 12px 17px;

    border: 1px solid rgba(255, 255, 255, 0.35);

    color: var(--ald-white);

    font-size: 14px;

    font-weight: 600;

    letter-spacing: 0.6px;

    background: rgba(255, 255, 255, 0.06);

    backdrop-filter: blur(5px);
}


/* =========================================================
           PROCESS
        ========================================================= */

.ald-process {
    padding: 120px 0;

    background: var(--ald-white);
}


.ald-process-intro {
    max-width: 800px;

    margin-bottom: 70px;
}


.ald-process-heading {
    font-family: "Rajdhani", sans-serif;

    font-size: clamp(45px, 5.5vw, 72px);

    line-height: 1;

    font-weight: 700;

    letter-spacing: -0.5px;

    color: var(--ald-navy);

    margin-bottom: 22px;
}


.ald-process-heading span {
    color: var(--ald-red);
}


.ald-process-description {
    color: var(--ald-muted);

    font-size: 19px;

    font-weight: 500;

    line-height: 1.75;

    margin: 0;
}


.ald-process-card {
    height: 100%;

    padding: 40px 35px;

    border-top: 3px solid var(--ald-red);

    background: var(--ald-light);
}


.ald-process-card i {
    font-size: 28px;

    color: var(--ald-red);

    margin-bottom: 25px;
}


.ald-process-card h3 {
    font-size: 25px;

    font-weight: 700;

    color: var(--ald-navy);

    margin-bottom: 15px;
}


.ald-process-card p {
    color: var(--ald-muted);

    font-size: 17px;

    font-weight: 500;

    line-height: 1.7;

    margin: 0;
}


/* =========================================================
           BENEFITS
        ========================================================= */

.ald-benefits {
    padding: 110px 0;

    background: var(--ald-navy);
}


.ald-benefits-title {
    font-family: "Rajdhani", sans-serif;

    color: var(--ald-white);

    font-size: clamp(45px, 5.5vw, 72px);

    line-height: 1;

    font-weight: 700;

    margin-bottom: 25px;
}


.ald-benefits-title span {
    color: #f07a80;
}


.ald-benefits-description {
    color: rgba(255, 255, 255, 0.7);

    font-size: 18px;

    font-weight: 500;

    line-height: 1.75;

    max-width: 650px;

    margin-bottom: 55px;
}


.ald-benefit {
    height: 100%;

    padding: 30px 0;

    border-top: 1px solid rgba(255, 255, 255, 0.16);
}


.ald-benefit-icon {
    color: var(--ald-red);

    font-size: 22px;

    margin-bottom: 20px;
}


.ald-benefit h3 {
    color: var(--ald-white);

    font-size: 24px;

    font-weight: 700;

    margin-bottom: 12px;
}


.ald-benefit p {
    color: rgba(255, 255, 255, 0.62);

    font-size: 16px;

    font-weight: 500;

    line-height: 1.7;

    margin: 0;
}


/* =========================================================
           CTA
        ========================================================= */

.ald-cta {
    padding: 100px 0;

    background: var(--ald-cream);
}


.ald-cta-inner {
    position: relative;

    padding: 70px 80px;

    background: var(--ald-red);

    overflow: hidden;
}


.ald-cta-inner::after {
    content: "";

    position: absolute;

    right: -80px;
    top: -100px;

    width: 280px;
    height: 280px;

    border: 1px solid rgba(255, 255, 255, 0.22);

    border-radius: 50%;
}


.ald-cta-label {
    color: rgba(255, 255, 255, 0.72);

    font-size: 14px;

    font-weight: 700;

    letter-spacing: 3px;

    text-transform: uppercase;

    margin-bottom: 18px;
}


.ald-cta-title {
    font-family: "Rajdhani", sans-serif;

    font-size: clamp(45px, 5.5vw, 70px);

    line-height: 0.98;

    font-weight: 700;

    color: var(--ald-white);

    margin-bottom: 18px;

    max-width: 800px;
}


.ald-cta-text {
    color: rgba(255, 255, 255, 0.8);

    font-size: 18px;

    font-weight: 500;

    line-height: 1.7;

    max-width: 680px;

    margin-bottom: 30px;
}


.ald-cta-button {
    display: inline-flex;

    align-items: center;

    gap: 13px;

    padding: 16px 23px;

    background: var(--ald-white);

    color: var(--ald-navy);

    font-size: 14px;

    font-weight: 700;

    letter-spacing: 1.5px;

    text-transform: uppercase;

    transition: all 0.3s ease;
}


.ald-cta-button:hover {
    background: var(--ald-navy);

    color: var(--ald-white);
}


/* =========================================================
           LARGE DESKTOP
        ========================================================= */

@media (max-width: 1199.98px) {

    .ald-hero-image {
        height: 550px;
    }


    .ald-story-content {
        padding: 55px;
    }


    .ald-story-image,
    .ald-story-content {
        min-height: 590px;
        height: 590px;
    }


    .ald-cta-inner {
        padding: 60px;
    }

}


/* =========================================================
           TABLET
        ========================================================= */

@media (max-width: 991.98px) {

    .ald-breadcrumb-wrap {
        padding: 23px 0;
    }


    .ald-hero-content {
        padding: 20px 0 70px;
    }


    .ald-hero-copy {
        padding: 50px 0 60px;
    }


    /* Hero image stays a normal image */
    .ald-hero-image {
        position: relative;

        width: 100%;

        height: 480px;

        margin-top: 0;
    }


    .ald-story-image,
    .ald-story-content {
        height: auto;

        min-height: 0;
    }


    .ald-story-image {
        height: 500px;
    }


    .ald-story-content {
        padding: 60px 45px;
    }


    .ald-landscape,
    .ald-landscape-content {
        min-height: 620px;
    }


    .ald-cta-inner {
        padding: 55px 45px;
    }

}


/* =========================================================
           MOBILE
        ========================================================= */

@media (max-width: 767.98px) {

    .ald-breadcrumb-wrap {
        padding: 20px 0 16px;
    }


    .ald-breadcrumb {
        gap: 9px;
    }


    .ald-breadcrumb li {
        font-size: 12px;
    }


    .ald-hero-content {
        padding-top: 0;
        padding-bottom: 55px;
    }


    .ald-hero-copy {
        padding: 35px 0 45px;
    }


    .ald-eyebrow {
        font-size: 12px;

        letter-spacing: 2px;

        margin-bottom: 20px;
    }


    .ald-eyebrow::before {
        width: 30px;
    }


    .ald-hero-title {
        font-size: 58px;

        line-height: 0.92;

        margin-bottom: 25px;
    }


    .ald-hero-description {
        font-size: 18px;

        line-height: 1.65;

        margin-bottom: 30px;
    }


    .ald-hero-image {
        height: 400px;
    }


    .ald-intro {
        padding: 80px 0;
    }


    .ald-intro-title {
        font-size: 46px;
    }


    .ald-intro-text {
        font-size: 17px;

        line-height: 1.7;
    }


    .ald-story {
        padding-bottom: 80px;
    }


    .ald-story-image {
        height: 380px;
    }


    .ald-story-content {
        padding: 45px 28px;
    }


    .ald-story-title {
        font-size: 44px;
    }


    .ald-planning {
        padding: 80px 0;
    }


    .ald-section-heading {
        margin-bottom: 45px;
    }


    .ald-section-title {
        font-size: 45px;
    }


    .ald-planning-item {
        padding: 28px 0;
    }


    .ald-landscape,
    .ald-landscape-content {
        min-height: 620px;
    }


    .ald-landscape-overlay {
        background: linear-gradient(90deg,
                rgba(16, 40, 61, 0.93),
                rgba(16, 40, 61, 0.65));
    }


    .ald-landscape-title {
        font-size: 47px;
    }


    .ald-landscape-text {
        font-size: 17px;
    }


    .ald-process {
        padding: 80px 0;
    }


    .ald-process-heading {
        font-size: 45px;
    }


    .ald-benefits {
        padding: 80px 0;
    }


    .ald-benefits-title {
        font-size: 45px;
    }


    .ald-cta {
        padding: 70px 0;
    }


    .ald-cta-inner {
        padding: 45px 28px;
    }


    .ald-cta-title {
        font-size: 44px;
    }

}


/* =========================================================
           SMALL MOBILE
        ========================================================= */

@media (max-width: 575.98px) {

    .ald-hero-title {
        font-size: 51px;
    }


    .ald-hero-image {
        height: 340px;
    }


    .ald-story-image {
        height: 300px;
    }


    .ald-story-content {
        padding: 40px 22px;
    }


    .ald-story-title {
        font-size: 39px;
    }


    .ald-landscape,
    .ald-landscape-content {
        min-height: 600px;
    }


    .ald-landscape-title {
        font-size: 40px;
    }


    .ald-cta-title {
        font-size: 39px;
    }

}



:root {
    --aad-red: #e5232d;
    --aad-red-dark: #b9151e;
    --aad-navy: #10283d;
    --aad-navy-deep: #091c2b;
    --aad-text: #253746;
    --aad-muted: #707a82;
    --aad-light: #f5f1eb;
    --aad-white: #ffffff;
    --aad-border: #e6e1da;
}


/* =========================================================
           HERO
        ========================================================= */

.aad-hero {
    position: relative;
    background: var(--aad-navy);
    overflow: hidden;
}

.aad-hero-main {
    min-height: 760px;
    display: flex;
    align-items: center;
    padding: 80px 0;
}

.aad-hero-content {
    position: relative;
    z-index: 3;
    padding-right: 30px;
}

.aad-hero-kicker {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 30px;
    color: #ffffff;
    font-size: 15px;
    font-weight: 600;
    letter-spacing: 3px;
    text-transform: uppercase;
}

.aad-hero-kicker-line {
    width: 48px;
    height: 2px;
    background: var(--aad-red);
    flex-shrink: 0;
}

.aad-hero-title {
    margin: 0;
    color: #ffffff;
    font-size: clamp(58px, 7vw, 108px);
    line-height: .88;
    font-weight: 600;
    letter-spacing: -2px;
}

.aad-hero-title span {
    display: block;
    color: var(--aad-red);
}

.aad-hero-description {
    max-width: 570px;
    margin: 38px 0 0;
    color: rgba(255, 255, 255, .72);
    font-size: 21px;
    line-height: 1.55;
    font-weight: 400;
}

.aad-hero-actions {
    margin-top: 42px;
    display: flex;
    align-items: center;
    gap: 25px;
    flex-wrap: wrap;
}

.aad-hero-button {
    display: inline-flex;
    align-items: center;
    gap: 14px;
    padding: 16px 24px;
    background: var(--aad-red);
    color: #ffffff;
    font-size: 16px;
    font-weight: 700;
    letter-spacing: 1px;
    text-transform: uppercase;
    transition: .3s ease;
}

.aad-hero-button:hover {
    background: #ffffff;
    color: var(--aad-navy);
}

.aad-hero-link {
    color: #ffffff;
    font-size: 17px;
    font-weight: 600;
    letter-spacing: 1px;
    border-bottom: 1px solid rgba(255, 255, 255, .45);
    padding-bottom: 4px;
}

.aad-hero-link:hover {
    color: var(--aad-red);
    border-color: var(--aad-red);
}

/* HERO IMAGE */

.aad-hero-image-wrap {
    position: relative;
    z-index: 2;
    padding-left: 25px;
}

.aad-hero-image {
    position: relative;
    width: 100%;
    height: 600px;
    overflow: hidden;
}

.aad-hero-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
}

.aad-hero-image-label {
    position: absolute;
    right: 0;
    bottom: 0;
    background: var(--aad-red);
    color: #ffffff;
    padding: 18px 24px;
    min-width: 180px;
}

.aad-hero-image-label small {
    display: block;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
    opacity: .8;
    margin-bottom: 3px;
}

.aad-hero-image-label strong {
    display: block;
    font-size: 21px;
    line-height: 1;
    font-weight: 600;
}

/* BREADCRUMB */

.aad-breadcrumb-wrap {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 10;
    padding-top: 24px;
}

.aad-breadcrumb {
    margin: 0;
    padding: 0;
    background: transparent;
}

.aad-breadcrumb .breadcrumb-item {
    color: rgba(255, 255, 255, .55);
    font-size: 14px;
    font-weight: 500;
    letter-spacing: .5px;
}

.aad-breadcrumb .breadcrumb-item a {
    color: rgba(255, 255, 255, .7);
}

.aad-breadcrumb .breadcrumb-item a:hover {
    color: #ffffff;
}

.aad-breadcrumb .breadcrumb-item.active {
    color: #ffffff;
}

.aad-breadcrumb .breadcrumb-item+.breadcrumb-item::before {
    color: rgba(255, 255, 255, .35);
    content: "/";
}


/* =========================================================
           INTRO
        ========================================================= */

.aad-intro {
    padding: 125px 0;
    background: var(--aad-white);
}

.aad-intro-label {
    display: flex;
    align-items: center;
    gap: 13px;
    color: var(--aad-red);
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 3px;
    text-transform: uppercase;
    margin-bottom: 28px;
}

.aad-intro-label-line {
    width: 42px;
    height: 2px;
    background: var(--aad-red);
}

.aad-intro-title {
    margin: 0;
    color: var(--aad-navy);
    font-size: clamp(42px, 5vw, 72px);
    line-height: 1;
    font-weight: 600;
    letter-spacing: -1px;
}

.aad-intro-title span {
    color: var(--aad-red);
}

.aad-intro-text {
    margin: 28px 0 0;
    max-width: 760px;
    color: var(--aad-muted);
    font-size: 21px;
    line-height: 1.65;
}


/* =========================================================
           DESIGN IMAGE STORY
        ========================================================= */

.aad-story {
    padding: 0 0 125px;
    background: var(--aad-white);
}

.aad-story-image {
    position: relative;
    height: 600px;
    overflow: hidden;
}

.aad-story-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.aad-story-side {
    height: 100%;
    padding: 55px;
    background: var(--aad-light);
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.aad-story-side-label {
    color: var(--aad-red);
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 3px;
    text-transform: uppercase;
    margin-bottom: 22px;
}

.aad-story-side-title {
    margin: 0;
    color: var(--aad-navy);
    font-size: clamp(34px, 4vw, 55px);
    line-height: 1;
    font-weight: 600;
}

.aad-story-side-text {
    margin: 25px 0 0;
    color: var(--aad-muted);
    font-size: 19px;
    line-height: 1.6;
}

.aad-story-note {
    margin-top: 35px;
    padding-top: 20px;
    border-top: 1px solid var(--aad-border);
    color: var(--aad-navy);
    font-size: 16px;
    font-weight: 700;
    letter-spacing: 1.5px;
    text-transform: uppercase;
}


/* =========================================================
           DESIGN PHILOSOPHY
        ========================================================= */

.aad-philosophy {
    padding: 120px 0;
    background: var(--aad-navy);
    color: #ffffff;
}

.aad-philosophy-label {
    color: var(--aad-red);
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 3px;
    text-transform: uppercase;
    margin-bottom: 24px;
}

.aad-philosophy-title {
    margin: 0;
    max-width: 900px;
    font-size: clamp(44px, 5.5vw, 76px);
    line-height: .98;
    font-weight: 600;
    letter-spacing: -1px;
}

.aad-philosophy-title span {
    color: var(--aad-red);
}

.aad-philosophy-description {
    max-width: 700px;
    margin-top: 30px;
    color: rgba(255, 255, 255, .65);
    font-size: 20px;
    line-height: 1.6;
}

.aad-philosophy-list {
    margin-top: 65px;
    border-top: 1px solid rgba(255, 255, 255, .15);
}

.aad-philosophy-item {
    padding: 28px 0;
    border-bottom: 1px solid rgba(255, 255, 255, .15);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 25px;
}

.aad-philosophy-item-title {
    font-size: 24px;
    font-weight: 600;
    color: #ffffff;
}

.aad-philosophy-item-text {
    max-width: 480px;
    color: rgba(255, 255, 255, .58);
    font-size: 17px;
    line-height: 1.5;
    text-align: right;
}


/* =========================================================
           ARCHITECTURAL ELEMENTS
        ========================================================= */

.aad-elements {
    padding: 125px 0;
    background: var(--aad-light);
}

.aad-elements-heading {
    max-width: 750px;
    margin-bottom: 65px;
}

.aad-elements-label {
    color: var(--aad-red);
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 3px;
    text-transform: uppercase;
    margin-bottom: 20px;
}

.aad-elements-title {
    margin: 0;
    color: var(--aad-navy);
    font-size: clamp(42px, 5vw, 68px);
    line-height: 1;
    font-weight: 600;
}

.aad-elements-title span {
    color: var(--aad-red);
}

.aad-element {
    height: 100%;
    padding: 34px 0;
    border-top: 2px solid var(--aad-navy);
}

.aad-element-icon {
    width: 52px;
    height: 52px;
    border-radius: 50%;
    background: var(--aad-red);
    color: #ffffff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 19px;
    margin-bottom: 28px;
}

.aad-element-title {
    margin: 0;
    color: var(--aad-navy);
    font-size: 27px;
    font-weight: 600;
}

.aad-element-text {
    margin: 15px 0 0;
    color: var(--aad-muted);
    font-size: 17px;
    line-height: 1.6;
}


/* =========================================================
           SECOND IMAGE FEATURE
        ========================================================= */

.aad-feature {
    padding: 125px 0;
    background: #ffffff;
}

.aad-feature-content {
    padding-right: 60px;
}

.aad-feature-label {
    color: var(--aad-red);
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 3px;
    text-transform: uppercase;
    margin-bottom: 22px;
}

.aad-feature-title {
    margin: 0;
    color: var(--aad-navy);
    font-size: clamp(42px, 5vw, 70px);
    line-height: .98;
    font-weight: 600;
}

.aad-feature-title span {
    color: var(--aad-red);
}

.aad-feature-text {
    margin-top: 30px;
    color: var(--aad-muted);
    font-size: 20px;
    line-height: 1.65;
}

.aad-feature-list {
    margin-top: 35px;
}

.aad-feature-list-item {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 15px;
    color: var(--aad-navy);
    font-size: 18px;
    font-weight: 600;
}

.aad-feature-list-item i {
    color: var(--aad-red);
    font-size: 15px;
}

.aad-feature-image {
    height: 620px;
    overflow: hidden;
}

.aad-feature-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}


/* =========================================================
           DESIGN JOURNEY
        ========================================================= */

.aad-journey {
    padding: 120px 0;
    background: var(--aad-light);
}

.aad-journey-heading {
    max-width: 780px;
    margin-bottom: 65px;
}

.aad-journey-label {
    color: var(--aad-red);
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 3px;
    text-transform: uppercase;
    margin-bottom: 20px;
}

.aad-journey-title {
    margin: 0;
    color: var(--aad-navy);
    font-size: clamp(43px, 5vw, 68px);
    line-height: 1;
    font-weight: 600;
}

.aad-journey-title span {
    color: var(--aad-red);
}

.aad-journey-item {
    position: relative;
    height: 100%;
    padding: 35px 0;
    border-top: 1px solid #d6d0c8;
}

.aad-journey-item::before {
    content: "";
    position: absolute;
    top: -2px;
    left: 0;
    width: 65px;
    height: 3px;
    background: var(--aad-red);
}

.aad-journey-item-title {
    margin: 0;
    color: var(--aad-navy);
    font-size: 28px;
    font-weight: 600;
}

.aad-journey-item-text {
    margin: 15px 0 0;
    color: var(--aad-muted);
    font-size: 17px;
    line-height: 1.6;
}


/* =========================================================
           CTA
        ========================================================= */

.aad-cta {
    padding: 105px 0;
    background: var(--aad-red);
    position: relative;
    overflow: hidden;
}

.aad-cta-content {
    position: relative;
    z-index: 2;
}

.aad-cta-label {
    color: rgba(255, 255, 255, .75);
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 3px;
    text-transform: uppercase;
    margin-bottom: 20px;
}

.aad-cta-title {
    margin: 0;
    max-width: 850px;
    color: #ffffff;
    font-size: clamp(45px, 6vw, 82px);
    line-height: .95;
    font-weight: 600;
}

.aad-cta-text {
    max-width: 650px;
    margin-top: 25px;
    color: rgba(255, 255, 255, .8);
    font-size: 20px;
    line-height: 1.55;
}

.aad-cta-button {
    display: inline-flex;
    align-items: center;
    gap: 16px;
    margin-top: 35px;
    padding: 17px 26px;
    background: var(--aad-navy);
    color: #ffffff;
    font-size: 16px;
    font-weight: 700;
    letter-spacing: 1px;
    text-transform: uppercase;
    transition: .3s ease;
}

.aad-cta-button:hover {
    background: #ffffff;
    color: var(--aad-navy);
}

.aad-cta-decoration {
    position: absolute;
    right: 6%;
    bottom: -70px;
    width: 330px;
    height: 330px;
    border: 1px solid rgba(255, 255, 255, .25);
    border-radius: 50%;
}

.aad-cta-decoration::before {
    content: "";
    position: absolute;
    inset: 35px;
    border: 1px solid rgba(255, 255, 255, .18);
    border-radius: 50%;
}

.aad-cta-decoration::after {
    content: "";
    position: absolute;
    inset: 75px;
    border: 1px solid rgba(255, 255, 255, .14);
    border-radius: 50%;
}


/* =========================================================
           RESPONSIVE
        ========================================================= */

@media (max-width: 1199.98px) {

    .aad-hero-main {
        min-height: auto;
        padding-top: 120px;
    }

    .aad-hero-image {
        height: 530px;
    }

    .aad-story-image {
        height: 520px;
    }

    .aad-story-side {
        padding: 42px;
    }

    .aad-feature-content {
        padding-right: 30px;
    }

    .aad-feature-image {
        height: 550px;
    }

}


@media (max-width: 991.98px) {

    .aad-hero-main {
        padding-top: 110px;
        padding-bottom: 80px;
    }

    .aad-hero-content {
        padding-right: 0;
        margin-bottom: 50px;
    }

    .aad-hero-image-wrap {
        padding-left: 0;
    }

    .aad-hero-image {
        height: 520px;
    }

    .aad-intro,
    .aad-philosophy,
    .aad-elements,
    .aad-feature,
    .aad-journey {
        padding: 90px 0;
    }

    .aad-story-image {
        height: 500px;
    }

    .aad-story-side {
        padding: 50px;
    }

    .aad-philosophy-item {
        align-items: flex-start;
        flex-direction: column;
        gap: 10px;
    }

    .aad-philosophy-item-text {
        text-align: left;
    }

    .aad-feature-content {
        padding-right: 0;
        margin-bottom: 50px;
    }

    .aad-feature-image {
        height: 520px;
    }

    .aad-cta-decoration {
        opacity: .5;
        right: -100px;
    }

}


@media (max-width: 767.98px) {

    .aad-breadcrumb-wrap {
        padding-top: 18px;
    }

    .aad-breadcrumb .breadcrumb-item {
        font-size: 12px;
    }

    .aad-hero-main {
        padding-top: 95px;
        padding-bottom: 60px;
    }

    .aad-hero-kicker {
        font-size: 12px;
        letter-spacing: 2px;
        margin-bottom: 22px;
    }

    .aad-hero-title {
        font-size: 58px;
        letter-spacing: -1px;
    }

    .aad-hero-description {
        font-size: 18px;
        margin-top: 28px;
    }

    .aad-hero-actions {
        margin-top: 30px;
        gap: 18px;
    }

    .aad-hero-button {
        width: 100%;
        justify-content: center;
    }

    .aad-hero-link {
        font-size: 15px;
    }

    .aad-hero-image {
        height: 400px;
    }

    .aad-hero-image-label {
        padding: 14px 18px;
    }

    .aad-intro,
    .aad-philosophy,
    .aad-elements,
    .aad-feature,
    .aad-journey {
        padding: 75px 0;
    }

    .aad-intro-title,
    .aad-elements-title,
    .aad-feature-title,
    .aad-journey-title {
        font-size: 45px;
    }

    .aad-intro-text {
        font-size: 18px;
    }

    .aad-story {
        padding-bottom: 75px;
    }

    .aad-story-image {
        height: 380px;
    }

    .aad-story-side {
        padding: 35px 25px;
    }

    .aad-story-side-title {
        font-size: 38px;
    }

    .aad-story-side-text {
        font-size: 17px;
    }

    .aad-philosophy-title {
        font-size: 46px;
    }

    .aad-philosophy-description {
        font-size: 18px;
    }

    .aad-philosophy-item-title {
        font-size: 22px;
    }

    .aad-philosophy-item-text {
        font-size: 16px;
    }

    .aad-feature-image {
        height: 400px;
    }

    .aad-feature-text {
        font-size: 18px;
    }

    .aad-cta {
        padding: 75px 0;
    }

    .aad-cta-title {
        font-size: 48px;
    }

    .aad-cta-text {
        font-size: 18px;
    }

    .aad-cta-button {
        width: 100%;
        justify-content: center;
    }

}


@media (max-width: 575.98px) {

    .aad-hero-title {
        font-size: 50px;
    }

    .aad-hero-image {
        height: 340px;
    }

    .aad-intro-title,
    .aad-elements-title,
    .aad-feature-title,
    .aad-journey-title {
        font-size: 40px;
    }

    .aad-story-image {
        height: 320px;
    }

    .aad-story-side {
        padding: 30px 22px;
    }

    .aad-story-side-title {
        font-size: 34px;
    }

    .aad-philosophy-title {
        font-size: 40px;
    }

    .aad-feature-image {
        height: 340px;
    }

    .aad-cta-title {
        font-size: 42px;
    }

}



:root {
    --ajv6-red: #e5232d;
    --ajv6-red-dark: #bc1720;
    --ajv6-navy: #10283d;
    --ajv6-navy-light: #183c58;
    --ajv6-cream: #f5f1e9;
    --ajv6-white: #ffffff;
    --ajv6-text: #293a47;
    --ajv6-muted: #707a82;
    --ajv6-line: #ddd9d1;
}

/* =====================================================
           HERO
        ===================================================== */

.ajv6-hero {
    position: relative;
    min-height: 850px;
    background: var(--ajv6-cream);
    overflow: hidden;
}

.ajv6-hero-inner {
    position: relative;
    min-height: 850px;
}

.ajv6-hero-breadcrumb {
    position: absolute;
    top: 35px;
    left: 0;
    z-index: 10;

    display: flex;
    align-items: center;
    gap: 11px;

    font-size: 14px;
    font-weight: 600;
    letter-spacing: 1.5px;
    text-transform: uppercase;
}

.ajv6-hero-breadcrumb a {
    color: var(--ajv6-muted);
    transition: .25s ease;
}

.ajv6-hero-breadcrumb a:hover {
    color: var(--ajv6-red);
}

.ajv6-hero-breadcrumb span {
    color: #b9b4ac;
}

.ajv6-hero-breadcrumb strong {
    color: var(--ajv6-navy);
}

.ajv6-hero-red-line {
    position: absolute;
    top: 0;
    left: 31%;
    width: 4px;
    height: 270px;
    background: var(--ajv6-red);
    z-index: 5;
}

.ajv6-hero-title-wrap {
    position: absolute;
    left: 0;
    top: 215px;
    z-index: 5;
}

.ajv6-hero-small {
    margin-bottom: 18px;
    color: var(--ajv6-red);
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 4px;
    text-transform: uppercase;
}

.ajv6-hero-title {
    margin: 0;
    color: var(--ajv6-navy);
    font-size: clamp(78px, 10vw, 100px);
    line-height: .76;
    font-weight: 600;
    letter-spacing: -4px;
    text-transform: uppercase;
}

.ajv6-hero-title span {
    display: block;
    color: var(--ajv6-red);
}

.ajv6-hero-subtitle {
    max-width: 470px;
    margin: 45px 0 0 8px;
    font-size: 21px;
    line-height: 1.5;
}

.ajv6-hero-image {
    position: absolute;
    right: 0;
    top: 110px;
    width: 51%;
    height: 650px;
    z-index: 2;
    overflow: hidden;
}

.ajv6-hero-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.ajv6-hero-image::after {
    content: "";
    position: absolute;
    inset: 0;
    border: 18px solid rgba(255, 255, 255, .12);
    pointer-events: none;
}

.ajv6-hero-caption {
    position: absolute;
    right: 0;
    bottom: 0;
    z-index: 6;

    padding: 17px 25px;

    background: var(--ajv6-navy);
    color: #ffffff;

    font-size: 13px;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
}

.ajv6-hero-jv {
    position: absolute;
    left: 39%;
    bottom: 50px;
    z-index: 7;

    width: 155px;
    height: 155px;

    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;

    background: var(--ajv6-red);
    color: #ffffff;

    text-align: center;
}

.ajv6-hero-jv strong {
    font-size: 42px;
    line-height: .8;
    font-weight: 600;
}

.ajv6-hero-jv span {
    margin-top: 9px;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 2px;
    text-transform: uppercase;
}


/* =====================================================
           OPENING STATEMENT
        ===================================================== */

.ajv6-opening {
    position: relative;
    padding: 135px 0 145px;
    background: var(--ajv6-navy);
    overflow: hidden;
}

.ajv6-opening::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 25%;
    height: 4px;
    background: var(--ajv6-red);
}

.ajv6-opening-label {
    margin-bottom: 30px;
    color: var(--ajv6-red);
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 4px;
    text-transform: uppercase;
}

.ajv6-opening-title {
    max-width: 1100px;
    margin: 0;
    color: #ffffff;
    font-size: clamp(48px, 6.2vw, 92px);
    line-height: .91;
    font-weight: 500;
}

.ajv6-opening-title span {
    color: var(--ajv6-red);
}

.ajv6-opening-bottom {
    margin-top: 65px;
}

.ajv6-opening-copy {
    max-width: 680px;
    color: rgba(255, 255, 255, .72);
    font-size: 20px;
    line-height: 1.65;
}

.ajv6-opening-side {
    display: flex;
    justify-content: flex-end;
    align-items: flex-end;
    height: 100%;
}

.ajv6-opening-side-text {
    max-width: 270px;
    padding-left: 25px;
    border-left: 2px solid var(--ajv6-red);
    color: rgba(255, 255, 255, .6);
    font-size: 16px;
    line-height: 1.5;
}


/* =====================================================
           LANDOWNER EDITORIAL
        ===================================================== */

.ajv6-landowner {
    padding: 140px 0;
    background: #ffffff;
}

.ajv6-landowner-heading {
    margin-bottom: 80px;
}

.ajv6-label {
    margin-bottom: 18px;
    color: var(--ajv6-red);
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 3.5px;
    text-transform: uppercase;
}

.ajv6-landowner-heading h2 {
    max-width: 900px;
    margin: 0;
    color: var(--ajv6-navy);
    font-size: clamp(48px, 5.5vw, 82px);
    line-height: .9;
    font-weight: 500;
}

.ajv6-landowner-heading h2 span {
    color: var(--ajv6-red);
}

.ajv6-landowner-photo {
    position: relative;
    height: 620px;
}

.ajv6-landowner-photo-main {
    position: absolute;
    left: 0;
    top: 0;
    width: 72%;
    height: 540px;
    overflow: hidden;
}

.ajv6-landowner-photo-main img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.ajv6-landowner-photo-small {
    position: absolute;
    right: 0;
    bottom: 0;
    width: 46%;
    height: 300px;
    padding: 10px;
    background: #ffffff;
}

.ajv6-landowner-photo-small img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.ajv6-landowner-content {
    padding-left: 7vw;
    padding-top: 60px;
}

.ajv6-landowner-content p {
    max-width: 540px;
    margin: 0;
    font-size: 21px;
    line-height: 1.65;
}

.ajv6-landowner-list {
    margin-top: 50px;
    max-width: 540px;
}

.ajv6-landowner-row {
    display: flex;
    align-items: center;
    gap: 18px;
    padding: 20px 0;
    border-top: 1px solid var(--ajv6-line);
}

.ajv6-landowner-row:last-child {
    border-bottom: 1px solid var(--ajv6-line);
}

.ajv6-landowner-row i {
    width: 25px;
    color: var(--ajv6-red);
}

.ajv6-landowner-row span {
    color: var(--ajv6-navy);
    font-size: 18px;
    font-weight: 600;
}


/* =====================================================
           PULL QUOTE
        ===================================================== */

.ajv6-quote {
    padding: 110px 0;
    background: var(--ajv6-cream);
}

.ajv6-quote-mark {
    color: var(--ajv6-red);
    font-size: 90px;
    line-height: .4;
    font-weight: 700;
}

.ajv6-quote-text {
    max-width: 1100px;
    margin: 35px 0 0;
    color: var(--ajv6-navy);
    font-size: clamp(42px, 5vw, 75px);
    line-height: .95;
    font-weight: 500;
}

.ajv6-quote-text span {
    color: var(--ajv6-red);
}

.ajv6-quote-caption {
    margin-top: 35px;
    color: var(--ajv6-muted);
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 3px;
    text-transform: uppercase;
}


/* =====================================================
           EXPERTISE
        ===================================================== */

.ajv6-expertise {
    padding: 135px 0;
    background: #ffffff;
}

.ajv6-expertise-heading {
    margin-bottom: 75px;
}

.ajv6-expertise-heading h2 {
    max-width: 950px;
    margin: 0;
    color: var(--ajv6-navy);
    font-size: clamp(46px, 5.5vw, 78px);
    line-height: .9;
    font-weight: 500;
}

.ajv6-expertise-heading h2 span {
    color: var(--ajv6-red);
}

.ajv6-expertise-row {
    padding: 30px 0;
    border-top: 1px solid var(--ajv6-line);
}

.ajv6-expertise-row:last-child {
    border-bottom: 1px solid var(--ajv6-line);
}

.ajv6-expertise-icon {
    color: var(--ajv6-red);
    font-size: 25px;
}

.ajv6-expertise-name {
    color: var(--ajv6-navy);
    font-size: 28px;
    font-weight: 600;
}

.ajv6-expertise-description {
    color: var(--ajv6-muted);
    font-size: 18px;
    line-height: 1.5;
}

.ajv6-expertise-arrow {
    display: flex;
    justify-content: flex-end;
    color: var(--ajv6-navy);
    font-size: 18px;
}


/* =====================================================
           FULL IMAGE
        ===================================================== */

.ajv6-image-section {
    position: relative;
    min-height: 700px;
    overflow: hidden;
}

.ajv6-image-section img {
    width: 100%;
    height: 700px;
    object-fit: cover;
}

.ajv6-image-section-overlay {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(90deg,
            rgba(16, 40, 61, .92) 0%,
            rgba(16, 40, 61, .55) 43%,
            rgba(16, 40, 61, .05) 80%);
}

.ajv6-image-content {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
}

.ajv6-image-content-inner {
    max-width: 750px;
}

.ajv6-image-title {
    margin: 0;
    color: #ffffff;
    font-size: clamp(52px, 6vw, 90px);
    line-height: .88;
    font-weight: 500;
}

.ajv6-image-title span {
    color: var(--ajv6-red);
}

.ajv6-image-text {
    max-width: 570px;
    margin-top: 35px;
    color: rgba(255, 255, 255, .78);
    font-size: 20px;
    line-height: 1.6;
}


/* =====================================================
           OPPORTUNITY SECTION
        ===================================================== */

.ajv6-opportunity {
    padding: 135px 0;
    background: var(--ajv6-navy);
}

.ajv6-opportunity-heading {
    margin-bottom: 70px;
}

.ajv6-opportunity-heading h2 {
    max-width: 1000px;
    margin: 0;
    color: #ffffff;
    font-size: clamp(46px, 5.5vw, 80px);
    line-height: .9;
    font-weight: 500;
}

.ajv6-opportunity-heading h2 span {
    color: var(--ajv6-red);
}

.ajv6-opportunity-item {
    min-height: 250px;
    padding: 35px 35px 35px 0;
    border-top: 1px solid rgba(255, 255, 255, .18);
}

.ajv6-opportunity-item:last-child {
    border-bottom: 1px solid rgba(255, 255, 255, .18);
}

.ajv6-opportunity-item i {
    color: var(--ajv6-red);
    font-size: 25px;
}

.ajv6-opportunity-item h3 {
    margin: 25px 0 12px;
    color: #ffffff;
    font-size: 28px;
    font-weight: 600;
}

.ajv6-opportunity-item p {
    max-width: 440px;
    margin: 0;
    color: rgba(255, 255, 255, .62);
    font-size: 17px;
    line-height: 1.55;
}


/* =====================================================
           LOCATIONS
        ===================================================== */

.ajv6-locations {
    padding: 120px 0;
    background: #ffffff;
}

.ajv6-locations-title {
    max-width: 950px;
    margin: 0;
    color: var(--ajv6-navy);
    font-size: clamp(46px, 5.5vw, 78px);
    line-height: .9;
    font-weight: 500;
}

.ajv6-locations-title span {
    color: var(--ajv6-red);
}

.ajv6-location-strip {
    margin-top: 70px;
    padding-top: 28px;
    border-top: 2px solid var(--ajv6-navy);
}

.ajv6-location {
    padding: 25px 0;
    border-bottom: 1px solid var(--ajv6-line);
}

.ajv6-location strong {
    color: var(--ajv6-navy);
    font-size: 27px;
    font-weight: 600;
}

.ajv6-location span {
    color: var(--ajv6-muted);
    font-size: 15px;
    letter-spacing: 2px;
    text-transform: uppercase;
}


/* =====================================================
           CTA
        ===================================================== */

.ajv6-cta {
    position: relative;
    padding: 125px 0;
    background: var(--ajv6-red);
    overflow: hidden;
}

/* .ajv6-cta::after {
            content: "LAND";
            position: absolute;
            right: 0px;
            bottom: 0px;
            color: rgba(255,255,255,.08);
            font-size: 220px;
            line-height: .8;
            font-weight: 700;
        } */

.ajv6-cta-content {
    position: relative;
    z-index: 2;
}

.ajv6-cta-label {
    margin-bottom: 22px;
    color: rgba(255, 255, 255, .75);
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 4px;
    text-transform: uppercase;
}

.ajv6-cta-title {
    max-width: 900px;
    margin: 0;
    color: #ffffff;
    font-size: clamp(50px, 6vw, 92px);
    line-height: .88;
    font-weight: 500;
}

.ajv6-cta-text {
    max-width: 650px;
    margin-top: 35px;
    color: rgba(255, 255, 255, .82);
    font-size: 20px;
    line-height: 1.6;
}

.ajv6-cta-button {
    display: inline-flex;
    align-items: center;
    gap: 20px;
    margin-top: 40px;
    padding: 17px 28px;
    background: #ffffff;
    color: var(--ajv6-navy);
    font-size: 15px;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
    transition: .3s ease;
}

.ajv6-cta-button:hover {
    background: var(--ajv6-navy);
    color: #ffffff;
}


/* =====================================================
           RESPONSIVE
        ===================================================== */

@media (max-width: 991.98px) {

    .ajv6-hero {
        min-height: auto;
    }

    .ajv6-hero-inner {
        min-height: auto;
        padding-top: 110px;
    }

    .ajv6-hero-breadcrumb {
        top: 35px;
        left: 15px;
    }

    .ajv6-hero-title-wrap {
        position: relative;
        top: auto;
        left: auto;
        padding: 80px 15px 60px;
    }

    .ajv6-hero-red-line {
        display: none;
    }

    .ajv6-hero-title {
        font-size: clamp(65px, 12vw, 105px);
    }

    .ajv6-hero-image {
        position: relative;
        top: auto;
        right: auto;
        width: 100%;
        height: 600px;
    }

    .ajv6-hero-jv {
        left: 25px;
        bottom: 25px;
    }

    .ajv6-landowner-content {
        padding-left: 0;
        padding-top: 70px;
    }

    .ajv6-opening-side {
        justify-content: flex-start;
        margin-top: 40px;
    }
}


@media (max-width: 767.98px) {

    .ajv6-hero-inner {
        padding-top: 95px;
    }

    .ajv6-hero-breadcrumb {
        top: 25px;
        left: 15px;
        right: 15px;
        font-size: 11px;
        gap: 7px;
    }

    .ajv6-hero-title-wrap {
        padding: 55px 15px 45px;
    }

    .ajv6-hero-small {
        font-size: 11px;
        letter-spacing: 2.5px;
    }

    .ajv6-hero-title {
        font-size: 64px;
        line-height: .8;
        letter-spacing: -2px;
    }

    .ajv6-hero-subtitle {
        margin-top: 30px;
        font-size: 18px;
    }

    .ajv6-hero-image {
        height: 430px;
    }

    .ajv6-hero-jv {
        width: 105px;
        height: 105px;
    }

    .ajv6-hero-jv strong {
        font-size: 31px;
    }

    .ajv6-hero-jv span {
        font-size: 8px;
    }

    .ajv6-hero-caption {
        padding: 11px 15px;
        font-size: 9px;
        letter-spacing: 1px;
    }

    .ajv6-opening,
    .ajv6-landowner,
    .ajv6-expertise,
    .ajv6-opportunity,
    .ajv6-locations {
        padding: 85px 0;
    }

    .ajv6-opening-bottom {
        margin-top: 40px;
    }

    .ajv6-opening-copy,
    .ajv6-image-text,
    .ajv6-cta-text {
        font-size: 18px;
    }

    .ajv6-landowner-heading {
        margin-bottom: 50px;
    }

    .ajv6-landowner-photo {
        height: 430px;
    }

    .ajv6-landowner-photo-main {
        width: 100%;
        height: 350px;
    }

    .ajv6-landowner-photo-small {
        width: 50%;
        height: 180px;
    }

    .ajv6-landowner-content {
        padding-top: 55px;
    }

    .ajv6-landowner-content p {
        font-size: 18px;
    }

    .ajv6-quote {
        padding: 80px 0;
    }

    .ajv6-quote-mark {
        font-size: 65px;
    }

    .ajv6-quote-caption {
        font-size: 11px;
        letter-spacing: 2px;
    }

    .ajv6-expertise-heading {
        margin-bottom: 45px;
    }

    .ajv6-expertise-row {
        padding: 25px 0;
    }

    .ajv6-expertise-name {
        margin-top: 12px;
        font-size: 25px;
    }

    .ajv6-expertise-description {
        margin-top: 8px;
        font-size: 16px;
    }

    .ajv6-expertise-arrow {
        justify-content: flex-start;
        margin-top: 15px;
    }

    .ajv6-image-section,
    .ajv6-image-section img {
        min-height: 580px;
        height: 580px;
    }

    .ajv6-image-section-overlay {
        background: linear-gradient(180deg,
                rgba(16, 40, 61, .15),
                rgba(16, 40, 61, .94));
    }

    .ajv6-image-content {
        align-items: flex-end;
        padding-bottom: 65px;
    }

    .ajv6-opportunity-item {
        min-height: auto;
        padding: 30px 0;
    }

    .ajv6-location-strip {
        margin-top: 45px;
    }

    .ajv6-location strong {
        font-size: 24px;
    }

    .ajv6-location span {
        display: block;
        margin-top: 5px;
        font-size: 11px;
    }

    .ajv6-cta {
        padding: 85px 0;
    }

    .ajv6-cta::after {
        font-size: 120px;
        bottom: -30px;
    }
}

:root {
    --abt9-red: #e5232d;
    --abt9-red-dark: #bd1720;
    --abt9-navy: #10283d;
    --abt9-navy-light: #193d58;
    --abt9-cream: #f5f1e9;
    --abt9-white: #ffffff;
    --abt9-text: #263746;
    --abt9-muted: #707a82;
    --abt9-border: #ddd9d1;
    --abt9-gold: #c49a55;
}

/* =========================================================
           HERO
        ========================================================= */

.abt9-hero {
    position: relative;
    min-height: 540px;
    background:
        linear-gradient(90deg,
            rgba(16, 40, 61, 1) 0%,
            rgba(16, 40, 61, .97) 45%,
            rgba(16, 40, 61, .78) 100%);
    overflow: hidden;
}

.abt9-hero::before {
    content: "";
    position: absolute;
    width: 420px;
    height: 420px;
    right: -120px;
    top: -120px;
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: 50%;
}

.abt9-hero::after {
    content: "";
    position: absolute;
    width: 620px;
    height: 620px;
    right: -220px;
    top: -220px;
    border: 1px solid rgba(255, 255, 255, .06);
    border-radius: 50%;
}

.abt9-hero-content {
    position: relative;
    z-index: 2;
    padding: 95px 0 100px;
}

.abt9-breadcrumb-wrap {
    margin-bottom: 75px;
}

.abt9-breadcrumb {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.abt9-breadcrumb li {
    color: rgba(255, 255, 255, .58);
    font-size: 16px;
    font-weight: 500;
    letter-spacing: 1px;
}

.abt9-breadcrumb li a {
    color: rgba(255, 255, 255, .72);
    transition: .3s ease;
}

.abt9-breadcrumb li a:hover {
    color: var(--abt9-white);
}

.abt9-breadcrumb li i {
    font-size: 10px;
    color: var(--abt9-red);
}

.abt9-kicker {
    display: inline-flex;
    align-items: center;
    gap: 14px;
    color: #ffffff;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 4px;
    text-transform: uppercase;
    margin-bottom: 25px;
}

.abt9-kicker-line {
    width: 48px;
    height: 2px;
    background: var(--abt9-red);
}

.abt9-hero-title {
    max-width: 850px;
    margin: 0;
    color: var(--abt9-white);
    font-size: clamp(58px, 8vw, 108px);
    line-height: .88;
    font-weight: 700;
    letter-spacing: -2px;
}

.abt9-hero-title span {
    display: block;
    color: var(--abt9-red);
}

.abt9-hero-description {
    max-width: 650px;
    margin: 35px 0 0;
    color: rgba(255, 255, 255, .76);
    font-size: 21px;
    line-height: 1.55;
    font-weight: 400;
}

.abt9-hero-side {
    position: absolute;
    right: 7%;
    bottom: 55px;
    z-index: 2;
    writing-mode: vertical-rl;
    transform: rotate(180deg);
    color: rgba(255, 255, 255, .28);
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 5px;
    text-transform: uppercase;
}

/* =========================================================
           INTRO
        ========================================================= */

.abt9-intro {
    padding: 105px 0 90px;
    background: var(--abt9-cream);
}

.abt9-intro-label {
    color: var(--abt9-red);
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 4px;
    text-transform: uppercase;
    margin-bottom: 22px;
}

.abt9-intro-title {
    max-width: 850px;
    margin: 0;
    color: var(--abt9-navy);
    font-size: clamp(42px, 5vw, 70px);
    line-height: 1;
    font-weight: 700;
}

.abt9-intro-title span {
    color: var(--abt9-red);
}

.abt9-intro-text {
    max-width: 680px;
    margin: 28px 0 0 auto;
    color: var(--abt9-muted);
    font-size: 20px;
    line-height: 1.55;
    font-weight: 500;
}

/* =========================================================
           TESTIMONIAL SECTION
        ========================================================= */

/* =========================================================
   TESTIMONIAL SECTION
========================================================= */

.abt9-testimonials {
    position: relative;
    padding: 105px 0 115px;
    background: #ffffff;
}

.abt9-section-head {
    margin-bottom: 55px;
}

.abt9-section-label {
    display: flex;
    align-items: center;
    gap: 13px;
    color: var(--abt9-red);
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 4px;
    text-transform: uppercase;
    margin-bottom: 18px;
}

.abt9-section-label::before {
    content: "";
    width: 42px;
    height: 2px;
    background: var(--abt9-red);
}

.abt9-section-title {
    margin: 0;
    color: var(--abt9-navy);
    font-size: clamp(42px, 5vw, 68px);
    line-height: 1;
    font-weight: 700;
}

.abt9-section-description {
    max-width: 650px;
    margin: 22px 0 0;
    color: var(--abt9-muted);
    font-size: 19px;
    line-height: 1.55;
    font-weight: 500;
}


/* =========================================================
   MASONRY TESTIMONIAL LAYOUT
========================================================= */

.abt9-testimonial-grid {
    column-count: 3;
    column-gap: 24px;
}


/* =========================================================
   TESTIMONIAL CARD
========================================================= */

.abt9-card {
    position: relative;
    width: 100%;
    display: inline-block;
    vertical-align: top;

    margin: 0 0 24px;

    padding: 38px 34px 34px;

    background: #ffffff;
    border: 1px solid var(--abt9-border);

    overflow: hidden;

    break-inside: avoid;
    -webkit-column-break-inside: avoid;
    page-break-inside: avoid;

    transition:
        transform .35s ease,
        box-shadow .35s ease,
        border-color .35s ease;
}


/* RED TOP LINE */

.abt9-card::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;

    width: 100%;
    height: 4px;

    background: var(--abt9-red);

    transform: scaleX(0);
    transform-origin: left;

    transition: transform .35s ease;
}


/* HOVER */

.abt9-card:hover {
    transform: translateY(-8px);

    border-color: rgba(229, 35, 45, .35);

    box-shadow:
        0 22px 50px rgba(16, 40, 61, .11);
}

.abt9-card:hover::before {
    transform: scaleX(1);
}


/* =========================================================
   QUOTE ICON
========================================================= */

.abt9-quote {
    width: 48px;
    height: 48px;

    display: flex;
    align-items: center;
    justify-content: center;

    margin-bottom: 25px;

    background: var(--abt9-red);
    color: #ffffff;

    font-size: 18px;
}


/* =========================================================
   STARS
========================================================= */

.abt9-stars {
    display: flex;
    gap: 4px;

    margin-bottom: 21px;

    color: var(--abt9-gold);
    font-size: 14px;
}


/* =========================================================
   REVIEW
========================================================= */

.abt9-review {
    margin: 0;

    color: var(--abt9-text);

    font-size: 19px;
    line-height: 1.55;
    font-weight: 500;
}

.abt9-review::before {
    content: "“";

    color: var(--abt9-red);

    font-size: 40px;
    font-weight: 700;

    line-height: 0;

    vertical-align: -14px;

    margin-right: 5px;
}


/* =========================================================
   CARD BOTTOM
========================================================= */

.abt9-card-bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 15px;

    margin-top: 30px;
    padding-top: 20px;

    border-top: 1px solid var(--abt9-border);
}


/* CLIENT NAME */

.abt9-client {
    margin: 0;

    color: var(--abt9-navy);

    font-size: 20px;
    font-weight: 700;

    line-height: 1.1;
}


/* CLIENT ROLE */

.abt9-client-role {
    margin-top: 5px;

    color: var(--abt9-muted);

    font-size: 13px;
    font-weight: 600;

    letter-spacing: 1.3px;

    text-transform: uppercase;
}


/* CLIENT ICON */

.abt9-client-mark {
    flex: 0 0 auto;

    width: 42px;
    height: 42px;

    display: flex;
    align-items: center;
    justify-content: center;

    background: var(--abt9-cream);

    color: var(--abt9-red);

    font-size: 16px;
}


/* =========================================================
   LARGE DESKTOP
========================================================= */

@media (min-width: 1400px) {

    .abt9-testimonial-grid {
        column-count: 3;
        column-gap: 28px;
    }

    .abt9-card {
        margin-bottom: 28px;
    }

}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 1199.98px) {

    .abt9-testimonial-grid {
        column-count: 2;
        column-gap: 24px;
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767.98px) {
    .abt9-breadcrumb{justify-content: center;}
    .abt9-section-label{justify-content: center;}

    .abt9-testimonials {
        padding: 65px 0 75px;
    }

    .abt9-testimonial-grid {
        column-count: 1;
        column-gap: 0;
    }

    .abt9-card {
        margin-bottom: 18px;
        padding: 32px 27px 30px;
    }

    .abt9-review {
        font-size: 18px;
    }

    .abt9-client {
        font-size: 18px;
    }

}

/* =========================================================
           FEATURED QUOTE
        ========================================================= */

.abt9-featured {
    padding: 105px 0;
    background: var(--abt9-navy);
    overflow: hidden;
}

.abt9-featured-inner {
    position: relative;
    padding: 65px 70px;
    border: 1px solid rgba(255, 255, 255, .15);
}

.abt9-featured-inner::before {
    content: "";
    position: absolute;
    top: 30px;
    left: 30px;
    width: 55px;
    height: 55px;
    border-left: 2px solid var(--abt9-red);
    border-top: 2px solid var(--abt9-red);
}

.abt9-featured-inner::after {
    content: "";
    position: absolute;
    right: 30px;
    bottom: 30px;
    width: 55px;
    height: 55px;
    border-right: 2px solid var(--abt9-red);
    border-bottom: 2px solid var(--abt9-red);
}

.abt9-featured-label {
    color: var(--abt9-red);
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 4px;
    text-transform: uppercase;
    margin-bottom: 25px;
}

.abt9-featured-quote {
    max-width: 1050px;
    margin: 0;
    color: #ffffff;
    font-size: clamp(32px, 4vw, 56px);
    line-height: 1.12;
    font-weight: 600;
}

.abt9-featured-name {
    margin: 30px 0 0;
    color: rgba(255, 255, 255, .65);
    font-size: 18px;
    font-weight: 600;
    letter-spacing: 1px;
}

/* =========================================================
           BOTTOM CTA
        ========================================================= */

.abt9-cta {
    padding: 100px 0;
    background: var(--abt9-cream);
}

.abt9-cta-box {
    position: relative;
    padding: 65px 70px;
    background: var(--abt9-red);
    overflow: hidden;
}

.abt9-cta-box::before {
    content: "";
    position: absolute;
    width: 350px;
    height: 350px;
    border: 1px solid rgba(255, 255, 255, .17);
    border-radius: 50%;
    right: -110px;
    top: -150px;
}

.abt9-cta-box::after {
    content: "";
    position: absolute;
    width: 470px;
    height: 470px;
    border: 1px solid rgba(255, 255, 255, .09);
    border-radius: 50%;
    right: -170px;
    top: -210px;
}

.abt9-cta-content {
    position: relative;
    z-index: 2;
}

.abt9-cta-label {
    color: rgba(255, 255, 255, .75);
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 4px;
    text-transform: uppercase;
    margin-bottom: 18px;
}

.abt9-cta-title {
    max-width: 800px;
    margin: 0;
    color: #ffffff;
    font-size: clamp(42px, 5vw, 70px);
    line-height: .98;
    font-weight: 700;
}

.abt9-cta-text {
    max-width: 650px;
    margin: 25px 0 30px;
    color: rgba(255, 255, 255, .78);
    font-size: 19px;
    line-height: 1.5;
    font-weight: 500;
}

.abt9-cta-button {
    display: inline-flex;
    align-items: center;
    gap: 15px;
    padding: 15px 25px;
    background: #ffffff;
    color: var(--abt9-navy);
    font-size: 16px;
    font-weight: 700;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    transition: .3s ease;
}

.abt9-cta-button i {
    color: var(--abt9-red);
    transition: transform .3s ease;
}

.abt9-cta-button:hover {
    color: var(--abt9-red);
    background: var(--abt9-cream);
}

.abt9-cta-button:hover i {
    transform: translateX(5px);
}

/* =========================================================
           RESPONSIVE
        ========================================================= */

@media (max-width: 1199.98px) {

    .abt9-testimonial-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .abt9-hero-side {
        display: none;
    }

}

@media (max-width: 991.98px) {

    .abt9-hero {
        min-height: auto;
    }

    .abt9-hero-content {
        padding: 70px 0 80px;
    }

    .abt9-breadcrumb-wrap {
        margin-bottom: 60px;
    }

    .abt9-intro {
        padding: 80px 0;
    }

    .abt9-intro-text {
        margin: 25px 0 0;
    }

    .abt9-testimonials {
        padding: 80px 0 90px;
    }

    .abt9-featured {
        padding: 80px 0;
    }

    .abt9-featured-inner {
        padding: 55px 45px;
    }

    .abt9-cta {
        padding: 80px 0;
    }

    .abt9-cta-box {
        padding: 55px 45px;
    }

}

@media (max-width: 767.98px) {

    .abt9-hero-content {
        padding: 55px 0 65px;
    }

    .abt9-breadcrumb-wrap {
        margin-bottom: 50px;
    }

    .abt9-breadcrumb li {
        font-size: 14px;
    }

    .abt9-kicker {
        font-size: 12px;
        letter-spacing: 3px;
    }

    .abt9-kicker-line {
        width: 32px;
    }

    .abt9-hero-title {
        font-size: clamp(52px, 16vw, 78px);
        letter-spacing: -1px;
    }

    .abt9-hero-description {
        margin-top: 25px;
        font-size: 18px;
    }

    .abt9-intro {
        padding: 65px 0;
    }

    .abt9-intro-title {
        font-size: 43px;
    }

    .abt9-intro-text {
        font-size: 18px;
    }

    .abt9-testimonials {
        padding: 65px 0 75px;
    }

    .abt9-testimonial-grid {
        grid-template-columns: 1fr;
        gap: 18px;
    }

    .abt9-card {
        min-height: auto;
        padding: 32px 27px 30px;
    }

    .abt9-review {
        font-size: 18px;
    }

    .abt9-featured {
        padding: 65px 0;
    }

    .abt9-featured-inner {
        padding: 48px 27px;
    }

    .abt9-featured-inner::before {
        left: 18px;
        top: 18px;
    }

    .abt9-featured-inner::after {
        right: 18px;
        bottom: 18px;
    }

    .abt9-featured-quote {
        font-size: 32px;
    }

    .abt9-cta {
        padding: 65px 0;
    }

    .abt9-cta-box {
        padding: 48px 27px;
    }

    .abt9-cta-title {
        font-size: 43px;
    }

    .abt9-cta-text {
        font-size: 18px;
    }

}

@media (max-width: 480px) {

    .abt9-hero-title {
        font-size: 51px;
    }

    .abt9-section-title {
        font-size: 42px;
    }

    .abt9-card-bottom {
        align-items: flex-start;
    }

    .abt9-client {
        font-size: 18px;
    }

    .abt9-featured-quote {
        font-size: 29px;
    }

    .abt9-cta-title {
        font-size: 40px;
    }

}


:root {
    --acx3-red: #e5232d;
    --acx3-red-dark: #bd1720;
    --acx3-navy: #10283d;
    --acx3-navy-light: #183b56;
    --acx3-cream: #f6f2eb;
    --acx3-white: #ffffff;
    --acx3-text: #263746;
    --acx3-muted: #727b82;
    --acx3-border: #dfdcd5;
}

/* =========================================================
           HERO
        ========================================================= */

.acx3-hero {
    position: relative;
    min-height: 620px;
    background: var(--acx3-navy);
    overflow: hidden;
}


.acx3-hero::before {
    content: "";
    position: absolute;
    width: 600px;
    height: 600px;
    border: 1px solid rgba(255, 255, 255, 0.07);
    border-radius: 50%;
    right: -260px;
    top: -230px;
}


.acx3-hero::after {
    content: "";
    position: absolute;
    width: 360px;
    height: 360px;
    border: 1px solid rgba(229, 35, 45, 0.25);
    border-radius: 50%;
    right: 50px;
    bottom: -230px;
}


.acx3-hero-content {
    position: relative;
    z-index: 3;
    padding: 35px 0 100px;
}


/* Breadcrumb */

.acx3-breadcrumb {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
    margin-bottom: 105px;
    font-size: 15px;
    font-weight: 600;
    letter-spacing: 1px;
}


.acx3-breadcrumb a {
    color: rgba(255, 255, 255, 0.55);
    transition: 0.3s ease;
}


.acx3-breadcrumb a:hover {
    color: #fff;
}


.acx3-breadcrumb-separator {
    color: rgba(255, 255, 255, 0.25);
}


.acx3-breadcrumb-current {
    color: #fff;
}


/* Hero small title */

.acx3-hero-label {
    display: flex;
    align-items: center;
    gap: 14px;
    color: var(--acx3-red);
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 3px;
    text-transform: uppercase;
    margin-bottom: 24px;
}


.acx3-hero-label::before {
    content: "";
    width: 45px;
    height: 2px;
    background: var(--acx3-red);
}


.acx3-hero-title {
    max-width: 900px;
    color: #fff;
    font-size: clamp(60px, 8vw, 112px);
    line-height: 0.86;
    font-weight: 600;
    letter-spacing: -2px;
    margin-bottom: 35px;
}


.acx3-hero-title span {
    color: var(--acx3-red);
}


.acx3-hero-description {
    max-width: 630px;
    color: rgba(255, 255, 255, 0.64);
    font-size: 20px;
    line-height: 1.6;
}


/* Hero side word */

.acx3-hero-word {
    position: absolute;
    z-index: 2;
    right: 5%;
    bottom: 50px;
    color: rgba(255, 255, 255, 0.06);
    font-size: 130px;
    line-height: 0.8;
    font-weight: 700;
    letter-spacing: -5px;
    writing-mode: vertical-rl;
    text-transform: uppercase;
}


/* =========================================================
           CONTACT + MAP
        ========================================================= */

.acx3-main {
    position: relative;
    padding: 105px 0;
    background: var(--acx3-white);
}


.acx3-contact-heading {
    margin-bottom: 55px;
}


.acx3-section-label {
    display: flex;
    align-items: center;
    gap: 13px;
    color: var(--acx3-red);
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 3px;
    text-transform: uppercase;
    margin-bottom: 20px;
}


.acx3-section-label::before {
    content: "";
    width: 38px;
    height: 2px;
    background: var(--acx3-red);
}


.acx3-main-title {
    color: var(--acx3-navy);
    font-size: clamp(45px, 5vw, 72px);
    line-height: 0.92;
    font-weight: 600;
    margin-bottom: 20px;
}


.acx3-main-title span {
    color: var(--acx3-red);
}


.acx3-main-description {
    max-width: 650px;
    color: var(--acx3-muted);
    font-size: 19px;
    line-height: 1.6;
}


/* Contact information */

.acx3-details {
    height: 100%;
    background: var(--acx3-cream);
    padding: 42px;
}


.acx3-details-title {
    color: var(--acx3-navy);
    font-size: 31px;
    font-weight: 600;
    margin-bottom: 30px;
}


.acx3-detail {
    display: flex;
    gap: 18px;
    padding: 22px 0;
    border-top: 1px solid var(--acx3-border);
}


.acx3-detail:last-child {
    border-bottom: 1px solid var(--acx3-border);
}


.acx3-detail-icon {
    width: 46px;
    height: 46px;
    min-width: 46px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--acx3-red);
    color: #fff;
    font-size: 17px;
}


.acx3-detail-label {
    color: var(--acx3-muted);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
    margin-bottom: 4px;
}


.acx3-detail-value {
    color: var(--acx3-navy);
    font-size: 18px;
    font-weight: 600;
    line-height: 1.45;
}


.acx3-detail-value a {
    color: var(--acx3-navy);
    transition: 0.3s ease;
}


.acx3-detail-value a:hover {
    color: var(--acx3-red);
}

.acx3-detail-value > strong {
    font-size: 20px !important;
}


/* =========================================================
           GOOGLE MAP
        ========================================================= */

.acx3-map {
    height: 100%;
    min-height: 535px;
    overflow: hidden;
    background: #ddd;
}


.acx3-map iframe {
    width: 100%;
    height: 100%;
    min-height: 535px;
    border: 0;
    display: block;
    filter: grayscale(0.1);
}


/* =========================================================
           ENQUIRY AREA
        ========================================================= */

.acx3-enquiry {
    padding: 105px 0;
    background: var(--acx3-cream);
}


.acx3-enquiry-intro {
    padding-right: 40px;
}


.acx3-enquiry-title {
    color: var(--acx3-navy);
    font-size: clamp(45px, 5vw, 68px);
    line-height: 0.92;
    font-weight: 600;
    margin-bottom: 25px;
}


.acx3-enquiry-title span {
    color: var(--acx3-red);
}


.acx3-enquiry-text {
    max-width: 500px;
    color: var(--acx3-muted);
    font-size: 19px;
    line-height: 1.65;
    margin-bottom: 35px;
}


.acx3-enquiry-note {
    padding: 20px 0 20px 22px;
    border-left: 3px solid var(--acx3-red);
    color: var(--acx3-navy);
    font-size: 18px;
    font-weight: 600;
    line-height: 1.5;
}


/* Form */

.acx3-form {
    padding: 48px;
    background: var(--acx3-navy);
}


.acx3-form-title {
    color: #fff;
    font-size: 38px;
    line-height: 1;
    font-weight: 600;
    margin-bottom: 10px;
}


.acx3-form-text {
    color: rgba(255, 255, 255, 0.58);
    font-size: 17px;
    line-height: 1.5;
    margin-bottom: 32px;
}


.acx3-field {
    margin-bottom: 20px;
}


.acx3-label {
    display: block;
    color: rgba(255, 255, 255, 0.72);
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    margin-bottom: 8px;
}


.acx3-input,
.acx3-select {
    width: 100%;
    min-height: 55px;
    padding: 12px 15px;
    border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: 0;
    background: rgba(255, 255, 255, 0.06);
    color: #fff;
    outline: none;
    font-family: "Rajdhani", sans-serif;
    font-size: 17px;
    font-weight: 500;
    transition: 0.3s ease;
}


.acx3-input::placeholder {
    color: rgba(255, 255, 255, 0.35);
}


.acx3-input:focus,
.acx3-select:focus {
    border-color: var(--acx3-red);
    background: rgba(255, 255, 255, 0.08);
    color: #fff;
    box-shadow: none;
}


.acx3-select option {
    background: #fff;
    color: var(--acx3-navy);
}


.acx3-textarea {
    min-height: 145px;
    resize: vertical;
}


.acx3-submit {
    width: 100%;
    min-height: 57px;
    border: 0;
    border-radius: 0;
    background: var(--acx3-red);
    color: #fff;
    font-family: "Rajdhani", sans-serif;
    font-size: 16px;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
    transition: 0.3s ease;
}


.acx3-submit:hover {
    background: var(--acx3-red-dark);
}


/* =========================================================
           LOCATIONS
        ========================================================= */

.acx3-locations {
    padding: 100px 0;
    background: #fff;
}


.acx3-location-heading {
    margin-bottom: 50px;
}


.acx3-location-title {
    color: var(--acx3-navy);
    font-size: clamp(44px, 5vw, 66px);
    line-height: 0.95;
    font-weight: 600;
}


.acx3-location-title span {
    color: var(--acx3-red);
}


.acx3-location-item {
    position: relative;
    min-height: 230px;
    padding: 35px;
    background: var(--acx3-navy);
    overflow: hidden;
}


.acx3-location-item::after {
    content: "";
    position: absolute;
    width: 160px;
    height: 160px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 50%;
    right: -65px;
    bottom: -65px;
}


.acx3-location-icon {
    position: relative;
    z-index: 2;
    color: var(--acx3-red);
    font-size: 25px;
    margin-bottom: 28px;
}


.acx3-location-name {
    position: relative;
    z-index: 2;
    color: #fff;
    font-size: 30px;
    font-weight: 600;
    margin-bottom: 8px;
}


.acx3-location-text {
    position: relative;
    z-index: 2;
    color: rgba(255, 255, 255, 0.55);
    font-size: 16px;
    line-height: 1.45;
    margin: 0;
}


/* =========================================================
           WHATSAPP / PHONE STRIP
        ========================================================= */

.acx3-contact-strip {
    padding: 42px 0;
    background: var(--acx3-red);
}


.acx3-strip-content {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
}


.acx3-strip-label {
    color: rgba(255, 255, 255, 0.72);
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
    margin-bottom: 4px;
}


.acx3-strip-title {
    color: #fff;
    font-size: 32px;
    font-weight: 600;
    line-height: 1;
}


.acx3-strip-actions {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
}


.acx3-strip-button {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 14px 22px;
    background: #fff;
    color: var(--acx3-navy);
    font-size: 15px;
    font-weight: 700;
    letter-spacing: 1px;
    text-transform: uppercase;
    transition: 0.3s ease;
}


.acx3-strip-button:hover {
    background: var(--acx3-navy);
    color: #fff;
}


/* =========================================================
           RESPONSIVE
        ========================================================= */

@media (max-width: 1199.98px) {

    .acx3-details {
        padding: 35px;
    }

    .acx3-form {
        padding: 40px;
    }

}


@media (max-width: 991.98px) {

    .acx3-hero {
        min-height: auto;
    }

    .acx3-hero-content {
        padding: 30px 0 80px;
    }

    .acx3-breadcrumb {
        margin-bottom: 70px;
    }

    .acx3-hero-word {
        display: none;
    }

    .acx3-main {
        padding: 80px 0;
    }

    .acx3-contact-information {
        margin-bottom: 50px;
    }

    .acx3-map {
        min-height: 430px;
    }

    .acx3-map iframe {
        min-height: 430px;
    }

    .acx3-enquiry {
        padding: 80px 0;
    }

    .acx3-enquiry-intro {
        padding-right: 0;
        margin-bottom: 50px;
    }

    .acx3-locations {
        padding: 80px 0;
    }

}


@media (max-width: 767.98px) {

    .acx3-hero-content {
        padding: 25px 0 65px;
    }

    .acx3-breadcrumb {
        margin-bottom: 60px;
        font-size: 13px;
    }

    .acx3-hero-label {
        font-size: 12px;
        letter-spacing: 2px;
    }

    .acx3-hero-title {
        font-size: 58px;
        letter-spacing: -1px;
    }

    .acx3-hero-description {
        font-size: 18px;
    }

    .acx3-main {
        padding: 65px 0;
    }

    .acx3-main-title,
    .acx3-enquiry-title,
    .acx3-location-title {
        font-size: 46px;
    }

    .acx3-main-description,
    .acx3-enquiry-text {
        font-size: 18px;
    }

    .acx3-details {
        padding: 30px 25px;
    }

    .acx3-map,
    .acx3-map iframe {
        min-height: 350px;
    }

    .acx3-enquiry {
        padding: 65px 0;
    }

    .acx3-form {
        padding: 30px 22px;
    }

    .acx3-form-title {
        font-size: 32px;
    }

    .acx3-locations {
        padding: 65px 0;
    }

    .acx3-location-item {
        min-height: 200px;
    }

    .acx3-strip-content {
        align-items: flex-start;
        flex-direction: column;
    }

}


@media (max-width: 575.98px) {

    .acx3-hero-title {
        font-size: 49px;
    }

    .acx3-contact-item {
        gap: 13px;
    }

    .acx3-detail-icon {
        width: 42px;
        height: 42px;
        min-width: 42px;
    }

    .acx3-detail-value {
        font-size: 17px;
    }

    .acx3-form {
        padding: 27px 18px;
    }

    .acx3-map,
    .acx3-map iframe {
        min-height: 300px;
    }

    .acx3-strip-title {
        font-size: 27px;
    }

}


/* =========================================================
           CONSTRUCTION CONSULTATION - OPTION 2
        ========================================================= */

:root {
    --accn2-red: #e5232d;
    --accn2-red-dark: #bd1720;
    --accn2-navy: #10283d;
    --accn2-navy-light: #193c57;
    --accn2-cream: #f6f2ea;
    --accn2-white: #ffffff;
    --accn2-text: #263746;
    --accn2-muted: #737c84;
    --accn2-border: #dedbd4;
}


/* =========================================================
           HERO
        ========================================================= */

.accn2-hero {
    position: relative;
    background: var(--accn2-cream);
    overflow: hidden;
}

.accn2-hero-top {
    padding: 28px 0;
    border-bottom: 1px solid rgba(16, 40, 61, .12);
}

.accn2-breadcrumb {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 9px;
    font-size: 15px;
    font-weight: 600;
    letter-spacing: 1px;
    color: var(--accn2-muted);
}

.accn2-breadcrumb a {
    color: var(--accn2-navy);
}

.accn2-breadcrumb i {
    font-size: 10px;
    color: var(--accn2-red);
}

.accn2-hero-main {
    min-height: 680px;
    padding: 75px 0 85px;
}

.accn2-hero-copy {
    position: relative;
    z-index: 2;
    padding-right: 50px;
}

.accn2-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 25px;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 3px;
    text-transform: uppercase;
    color: var(--accn2-red);
}

.accn2-eyebrow span {
    width: 45px;
    height: 2px;
    background: var(--accn2-red);
    display: inline-block;
}

.accn2-hero-title {
    margin: 0;
    max-width: 760px;
    font-size: clamp(58px, 7vw, 108px);
    line-height: .88;
    font-weight: 700;
    letter-spacing: -2px;
    text-transform: uppercase;
    color: var(--accn2-navy);
}

.accn2-hero-title em {
    color: var(--accn2-red);
    font-style: normal;
}

.accn2-hero-description {
    max-width: 590px;
    margin: 35px 0 0;
    font-size: 21px;
    line-height: 1.55;
    font-weight: 500;
    color: var(--accn2-text);
}

.accn2-hero-link {
    display: inline-flex;
    align-items: center;
    gap: 15px;
    margin-top: 35px;
    padding: 15px 22px;
    background: var(--accn2-navy);
    color: #fff;
    font-size: 15px;
    font-weight: 700;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    transition: .3s ease;
}

.accn2-hero-link:hover {
    background: var(--accn2-red);
    color: #fff;
}

.accn2-hero-link i {
    color: var(--accn2-red);
    transition: .3s ease;
}

.accn2-hero-link:hover i {
    color: #fff;
    transform: translateX(4px);
}

.accn2-hero-image-wrap {
    position: relative;
    height: 590px;
}

.accn2-hero-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.accn2-hero-image-frame {
    position: absolute;
    left: -30px;
    bottom: -30px;
    width: 150px;
    height: 150px;
    border: 2px solid var(--accn2-red);
    pointer-events: none;
}

.accn2-hero-caption {
    position: absolute;
    right: 0;
    bottom: 0;
    background: var(--accn2-red);
    color: #fff;
    padding: 15px 22px;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
}

/* =========================================================
           INTRO
        ========================================================= */

.accn2-intro {
    padding: 110px 0;
    background: var(--accn2-navy);
    color: #fff;
}

.accn2-intro-label {
    margin-bottom: 22px;
    color: #e9b0b3;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 3px;
    text-transform: uppercase;
}

.accn2-intro-title {
    margin: 0;
    max-width: 950px;
    font-size: clamp(40px, 5vw, 72px);
    line-height: 1;
    font-weight: 600;
    text-transform: uppercase;
}

.accn2-intro-title strong {
    color: var(--accn2-red);
    font-weight: 600;
}

.accn2-intro-text {
    max-width: 780px;
    margin: 35px 0 0;
    font-size: 21px;
    line-height: 1.6;
    color: rgba(255, 255, 255, .76);
}

/* =========================================================
           CONSULTATION AREAS
        ========================================================= */

.accn2-topics {
    padding: 115px 0;
    background: #fff;
}

.accn2-section-label {
    display: flex;
    align-items: center;
    gap: 13px;
    margin-bottom: 18px;
    color: var(--accn2-red);
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 3px;
    text-transform: uppercase;
}

.accn2-section-label::before {
    content: "";
    width: 42px;
    height: 2px;
    background: var(--accn2-red);
}

.accn2-section-title {
    margin: 0;
    max-width: 720px;
    font-size: clamp(42px, 5vw, 68px);
    line-height: .98;
    font-weight: 700;
    color: var(--accn2-navy);
    text-transform: uppercase;
}

.accn2-topic-list {
    margin-top: 65px;
    border-top: 1px solid var(--accn2-border);
}

.accn2-topic {
    display: flex;
    align-items: center;
    gap: 30px;
    padding: 27px 10px;
    border-bottom: 1px solid var(--accn2-border);
    transition: .3s ease;
}

.accn2-topic:hover {
    padding-left: 25px;
    background: var(--accn2-cream);
}

.accn2-topic-icon {
    flex: 0 0 54px;
    width: 54px;
    height: 54px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--accn2-navy);
    color: #fff;
    font-size: 20px;
    transition: .3s ease;
}

.accn2-topic:hover .accn2-topic-icon {
    background: var(--accn2-red);
}

.accn2-topic-content {
    flex: 1;
}

.accn2-topic-title {
    margin: 0 0 4px;
    font-size: 25px;
    font-weight: 700;
    color: var(--accn2-navy);
    text-transform: uppercase;
}

.accn2-topic-text {
    margin: 0;
    max-width: 700px;
    font-size: 17px;
    color: var(--accn2-muted);
}

.accn2-topic-arrow {
    font-size: 18px;
    color: var(--accn2-red);
}

/* =========================================================
           IMAGE STORY
        ========================================================= */

.accn2-story {
    padding: 120px 0;
    background: var(--accn2-cream);
}

.accn2-story-image-wrap {
    position: relative;
    padding-right: 45px;
    padding-bottom: 45px;
}

.accn2-story-image {
    width: 100%;
    height: 570px;
    object-fit: cover;
}

.accn2-story-accent {
    position: absolute;
    right: 0;
    bottom: 0;
    width: 180px;
    height: 180px;
    background: var(--accn2-red);
    z-index: 0;
}

.accn2-story-image {
    position: relative;
    z-index: 1;
}

.accn2-story-copy {
    padding-left: 45px;
}

.accn2-story-title {
    margin: 0;
    font-size: clamp(42px, 5vw, 68px);
    line-height: .95;
    font-weight: 700;
    color: var(--accn2-navy);
    text-transform: uppercase;
}

.accn2-story-title span {
    color: var(--accn2-red);
}

.accn2-story-text {
    margin: 30px 0 0;
    font-size: 20px;
    line-height: 1.65;
    color: var(--accn2-text);
}

.accn2-story-note {
    margin-top: 35px;
    padding-left: 20px;
    border-left: 3px solid var(--accn2-red);
    font-size: 18px;
    font-weight: 600;
    color: var(--accn2-navy);
}

/* =========================================================
           GUIDANCE
        ========================================================= */

.accn2-guidance {
    padding: 115px 0;
    background: #fff;
}

.accn2-guidance-intro {
    max-width: 700px;
    margin-bottom: 65px;
}

.accn2-guidance-grid {
    border-top: 1px solid var(--accn2-border);
}

.accn2-guidance-item {
    padding: 35px 25px 35px 0;
    border-bottom: 1px solid var(--accn2-border);
    height: 100%;
}

.accn2-guidance-number {
    margin-bottom: 18px;
    font-size: 15px;
    font-weight: 700;
    letter-spacing: 2px;
    color: var(--accn2-red);
}

.accn2-guidance-title {
    margin: 0 0 12px;
    font-size: 27px;
    font-weight: 700;
    color: var(--accn2-navy);
    text-transform: uppercase;
}

.accn2-guidance-text {
    margin: 0;
    font-size: 17px;
    color: var(--accn2-muted);
}

/* =========================================================
           SECOND IMAGE SECTION
        ========================================================= */

.accn2-visual {
    position: relative;
    min-height: 620px;
    background: var(--accn2-navy);
    overflow: hidden;
}

.accn2-visual-image {
    width: 100%;
    height: 620px;
    object-fit: cover;
    opacity: .88;
}

.accn2-visual-content {
    position: absolute;
    left: 8%;
    bottom: 75px;
    max-width: 620px;
    padding: 42px;
    background: rgba(16, 40, 61, .94);
    color: #fff;
}

.accn2-visual-content .accn2-section-label {
    color: #efb5b8;
}

.accn2-visual-title {
    margin: 0;
    font-size: clamp(40px, 5vw, 65px);
    line-height: .98;
    font-weight: 700;
    text-transform: uppercase;
}

.accn2-visual-text {
    margin: 25px 0 0;
    font-size: 19px;
    color: rgba(255, 255, 255, .75);
}

/* =========================================================
           WHO BENEFITS
        ========================================================= */

.accn2-audience {
    padding: 115px 0;
    background: var(--accn2-cream);
}

.accn2-audience-title {
    margin: 0;
    max-width: 700px;
    font-size: clamp(42px, 5vw, 70px);
    line-height: .95;
    font-weight: 700;
    color: var(--accn2-navy);
    text-transform: uppercase;
}

.accn2-audience-list {
    margin-top: 55px;
}

.accn2-audience-item {
    display: flex;
    align-items: flex-start;
    gap: 22px;
    padding: 25px 0;
    border-bottom: 1px solid var(--accn2-border);
}

.accn2-audience-icon {
    flex: 0 0 45px;
    width: 45px;
    height: 45px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--accn2-red);
    color: #fff;
}

.accn2-audience-name {
    margin: 0 0 4px;
    font-size: 24px;
    font-weight: 700;
    color: var(--accn2-navy);
    text-transform: uppercase;
}

.accn2-audience-text {
    margin: 0;
    font-size: 17px;
    color: var(--accn2-muted);
}

/* =========================================================
           CONTACT STRIP
        ========================================================= */

.accn2-contact {
    padding: 60px 0;
    background: var(--accn2-red);
    color: #fff;
}

.accn2-contact-title {
    margin: 0;
    font-size: clamp(34px, 4vw, 55px);
    line-height: 1;
    font-weight: 700;
    text-transform: uppercase;
}

.accn2-contact-text {
    margin: 10px 0 0;
    font-size: 18px;
    color: rgba(255, 255, 255, .82);
}

.accn2-contact-actions {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 15px;
    flex-wrap: wrap;
}

.accn2-contact-button {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    padding: 14px 22px;
    background: #fff;
    color: var(--accn2-navy);
    font-size: 16px;
    font-weight: 700;
    letter-spacing: 1px;
    transition: .3s ease;
}

.accn2-contact-button:hover {
    background: var(--accn2-navy);
    color: #fff;
}

/* =========================================================
           LOCATIONS
        ========================================================= */

.accn2-locations {
    padding: 70px 0;
    background: #fff;
}

.accn2-location-heading {
    margin-bottom: 25px;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 3px;
    text-transform: uppercase;
    color: var(--accn2-muted);
}

.accn2-location-list {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.accn2-location {
    padding: 13px 22px;
    border: 1px solid var(--accn2-border);
    color: var(--accn2-navy);
    font-size: 17px;
    font-weight: 700;
    text-transform: uppercase;
}

.accn2-location i {
    margin-right: 8px;
    color: var(--accn2-red);
}

/* =========================================================
           RESPONSIVE
        ========================================================= */

@media (max-width: 991.98px) {

    .accn2-hero-main {
        padding: 60px 0 75px;
    }

    .accn2-hero-copy {
        padding-right: 0;
        margin-bottom: 50px;
    }

    .accn2-hero-image-wrap {
        height: 500px;
    }

    .accn2-story-copy {
        padding-left: 0;
        margin-top: 55px;
    }

    .accn2-visual-content {
        left: 5%;
        right: 5%;
        bottom: 45px;
        max-width: none;
    }

    .accn2-contact-actions {
        justify-content: flex-start;
        margin-top: 25px;
    }

}

@media (max-width: 767.98px) {

    body {
        font-size: 17px;
    }

    .accn2-hero-top {
        padding: 20px 0;
    }

    .accn2-hero-main {
        min-height: auto;
        padding: 45px 0 60px;
    }

    .accn2-hero-title {
        font-size: 55px;
        letter-spacing: -1px;
    }

    .accn2-hero-description {
        font-size: 19px;
        margin-top: 25px;
    }

    .accn2-hero-image-wrap {
        height: 390px;
    }

    .accn2-hero-image-frame {
        left: -15px;
        bottom: -15px;
        width: 85px;
        height: 85px;
    }

    .accn2-intro,
    .accn2-topics,
    .accn2-story,
    .accn2-guidance,
    .accn2-audience {
        padding: 75px 0;
    }

    .accn2-intro-title,
    .accn2-section-title,
    .accn2-story-title,
    .accn2-audience-title {
        font-size: 42px;
    }

    .accn2-intro-text,
    .accn2-story-text {
        font-size: 18px;
    }

    .accn2-topic {
        gap: 18px;
        padding: 22px 0;
    }

    .accn2-topic-icon {
        flex: 0 0 45px;
        width: 45px;
        height: 45px;
    }

    .accn2-topic-title {
        font-size: 22px;
    }

    .accn2-topic-text {
        font-size: 16px;
        line-height: 1.5;
    }

    .accn2-topic-arrow {
        display: none;
    }

    .accn2-story-image-wrap {
        padding-right: 20px;
        padding-bottom: 20px;
    }

    .accn2-story-image {
        height: 390px;
    }

    .accn2-story-accent {
        width: 90px;
        height: 90px;
    }

    .accn2-guidance-item {
        padding: 28px 0;
    }

    .accn2-visual,
    .accn2-visual-image {
        min-height: 500px;
        height: 500px;
    }

    .accn2-visual-content {
        padding: 28px;
        bottom: 25px;
    }

    .accn2-visual-title {
        font-size: 40px;
    }

    .accn2-visual-text {
        font-size: 17px;
    }

    .accn2-audience-list {
        margin-top: 35px;
    }

    .accn2-contact {
        padding: 45px 0;
    }

    .accn2-contact-title {
        font-size: 36px;
    }

    .accn2-contact-actions {
        width: 100%;
    }

    .accn2-contact-button {
        width: 100%;
        justify-content: center;
    }

    .accn2-locations {
        padding: 50px 0;
    }

    .accn2-location-list {
        display: grid;
        grid-template-columns: 1fr;
    }

    .accn2-location {
        width: 100%;
    }
}




.ab-container { max-width: 1320px; }
.ab-section { padding: 85px 0;  background:var(--ab-white)}
.border-section{border-top:1px solid var(--ab-border)}

.ab-soft {
    background: var(--ab-white);
}

.ab-muted { color: var(--ab-muted); font-size: 14px; }

.ab-kicker {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: var(--ab-red);
    font-size: 15px;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
    margin-bottom: 12px;
}

.ab-kicker::before {
    content: "";
    width: 27px;
    height: 2px;
    background: currentColor;
}

.ab-title {
    color: var(--ab-navy);
    font-size: clamp(34px, 4vw, 48px);
    line-height: 1.15;
    font-weight: 700;
    margin-bottom: 20px;
}

.ab-title span { color: var(--ab-red); }

.ab-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    padding: 12px 23px;
    background: var(--ab-red);
    border: 1px solid var(--ab-red);
    color: var(--ab-white);
    font-size: 17px;
    font-weight: 700;
    text-transform: uppercase;
    transition: .25s ease;
}

.ab-btn:hover {
    background: var(--ab-red-dark);
    border-color: var(--ab-red-dark);
    color: var(--ab-white);
}

.ab-btn-outline {
    background: transparent;
    color: var(--ab-navy);
    border-color: var(--ab-navy);
}

.ab-btn-outline:hover {
    background: var(--ab-navy);
    border-color: var(--ab-navy);
}

/* Breadcrumb */

.ab-breadcrumb {
    padding: 13px 0;
    border-bottom: 1px solid var(--ab-border);
    background: var(--ab-white);
}

.ab-breadcrumb .breadcrumb {
    margin: 0;
    font-size: 15px;
}

.ab-breadcrumb a { color: var(--ab-slider-grey); }
.ab-breadcrumb a:hover { color: var(--ab-white); }
.ab-breadcrumb .breadcrumb-item.active { color: var(--ab-white); }
.ab-breadcrumb .breadcrumb-item + .breadcrumb-item::before { color: var(--ab-slider-grey); }

/* HERO: NAVY BACKGROUND */

.ab-hero {
    position: relative;
    overflow: hidden;
    padding: 70px 0 85px;
    background: var(--ab-navy);
    color: var(--ab-white);
}

.ab-hero::before {
    content: "";
    position: absolute;
    top: -140px;
    left: -140px;
    width: 400px;
    height: 400px;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 50%;
}

.ab-hero::after {
    content: "";
    position: absolute;
    bottom: -220px;
    right: 15%;
    width: 400px;
    height: 400px;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 50%;
}

.ab-hero .container { position: relative; z-index: 1; }

.ab-hero .ab-kicker { color: var(--ab-slider-grey); }

.ab-hero-title {
    font-size: clamp(42px, 5vw, 67px);
    line-height: 1.03;
    font-weight: 700;
    color: var(--ab-white);
    margin: 12px 0 20px;
}

.ab-hero-title span { color: var(--ab-red); }

.ab-hero .ab-location {
    color: var(--ab-slider-grey);
    margin-bottom: 20px;
}

.ab-hero .ab-location i { color: var(--ab-red); }

.ab-hero-copy {
    max-width: 560px;
    color: var(--ab-slider-grey);
    font-size: 19px;
    line-height: 1.8;
}

.ab-price {
    border-left: 4px solid var(--ab-red);
    padding-left: 17px;
    margin: 25px 0;
}

.ab-price small {
    display: block;
    color: var(--ab-slider-grey);
    font-size: 14px;
    letter-spacing: 1px;
    text-transform: uppercase;
}

.ab-price strong {
    display: block;
    color: var(--ab-white);
    font-size: 35px;
    font-weight: 700;
}

.ab-hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.ab-hero .ab-btn-outline {
    border-color: var(--ab-white);
    color: var(--ab-white);
}

.ab-hero .ab-btn-outline:hover {
    background: var(--ab-white);
    color: var(--ab-navy);
}

.ab-hero-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 12px 20px;
    margin-top: 25px;
    color: var(--ab-white);
    font-size: 16px;
    font-weight: 600;
}

.ab-hero-meta i {
    color: var(--ab-red);
    margin-right: 5px;
}

.ab-hero-photo {
    position: relative;
    padding: 0 0 18px 18px;
}

.ab-hero-photo::before {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 65%;
    height: 65%;
    border: 2px solid var(--ab-red);
}

.ab-hero-photo img {
    position: relative;
    display: block;
    width: 100%;
    height: 510px;
    object-fit: cover;
    cursor: zoom-in;
}

.ab-image-tag {
    position: absolute;
    right: 0;
    bottom: 18px;
    background: var(--ab-red);
    color: var(--ab-white);
    padding: 12px 17px;
    font-weight: 700;
    font-size: 16px;
}

/* FACTS */

.ab-facts { padding: 35px 0 55px; }

.ab-stat {
    height: 100%;
    text-align: center;
    padding: 25px 10px;
    border: 1px solid var(--ab-border);
    border-bottom: 3px solid var(--ab-red);
    background: var(--ab-white);
}

.ab-stat i {
    display: block;
    color: var(--ab-red);
    font-size: 29px;
    margin-bottom: 8px;
}

.ab-stat strong {
    display: block;
    color: var(--ab-navy);
    font-size: 25px;
    font-weight: 700;
    line-height: 1.3;
}

.ab-stat span {
    color: var(--ab-muted);
    font-size: 14px;
    text-transform: uppercase;
    letter-spacing: .6px;
}

/* ABOUT */

.ab-about-image {
    width: 100%;
    height: auto !important;
    object-fit: cover;
    cursor: zoom-in;
}

.ab-about-content { padding-left: 20px; }

.ab-about-content p {
    color: var(--ab-muted);
    font-size: 18px;
    line-height: 1.85;
    margin-bottom: 17px;
}

.ab-quote {
    padding: 22px;
    border-left: 4px solid var(--ab-red);
    background: var(--ab-navy);
    color: var(--ab-white);
    font-size: 20px;
    font-weight: 600;
    margin-top: 25px;
}

.ab-quote i {
    color: var(--ab-red);
    margin-right: 8px;
}

/* LOCATION BENEFITS */

.ab-benefit {
    height: 100%;
    padding: 27px;
    border: 1px solid var(--ab-border);
    background: var(--ab-white);
    transition: .25s;
}

.ab-benefit:hover { border-color: var(--ab-red); }

.ab-benefit-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 55px;
    height: 55px;
    background: var(--ab-navy);
    color: var(--ab-white);
    font-size: 26px;
}

.ab-benefit h3 {
    margin-top: 16px;
    color: var(--ab-navy);
    font-size: 24px;
    font-weight: 700;
}

.ab-benefit p {
    color: var(--ab-muted);
    font-size: 17px;
    margin: 0;
}

/* PROPERTY DETAILS */

.ab-details-card {
    height: 100%;
    padding: 30px;
    border: 1px solid var(--ab-border);
    background: var(--ab-white);
}

.ab-card-title {
    color: var(--ab-navy);
    font-size: 28px;
    font-weight: 700;
    margin-bottom: 20px;
}

.ab-card-title i {
    color: var(--ab-red);
    margin-right: 8px;
}

.ab-detail-row {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 15px;
    padding: 12px 0;
    border-bottom: 1px solid var(--ab-border);
    font-size: 17px;
}

.ab-detail-row:last-child { border-bottom: 0; }
.ab-detail-row span { color: var(--ab-muted); }

.ab-detail-row strong {
    color: var(--ab-navy);
    font-weight: 700;
    text-align: right;
}

.ab-detail-row .ab-red-value {
    color: var(--ab-red);
    font-size: 21px;
}

.ab-contact-card {
    height: 100%;
    padding: 32px;
    background: var(--ab-navy);
    color: var(--ab-white);
}

.ab-contact-card > i {
    color: var(--ab-red);
    font-size: 38px;
}

.ab-contact-card h3 {
    margin-top: 15px;
    font-size: 34px;
    line-height: 1.2;
    font-weight: 700;
}

.ab-contact-card p { color: var(--ab-slider-grey); }

.ab-contact-line {
    display: flex;
    gap: 13px;
    margin: 20px 0;
}

.ab-contact-line > i {
    color: var(--ab-red);
    font-size: 23px;
}

.ab-contact-line small {
    display: block;
    color: var(--ab-slider-grey);
}

.ab-contact-line a {
    color: var(--ab-white);
    overflow-wrap: anywhere;
}

/* NEARBY PLACES */

.ab-table-wrap {
    border: 1px solid var(--ab-border);
    overflow: hidden;
}

.ab-table {
    min-width: 600px;
    margin: 0;
    font-size: 17px;
}

.ab-table thead th {
    padding: 16px;
    color: var(--ab-white);
    background: var(--ab-navy);
    border: 0;
    font-weight: 700;
}

.ab-table tbody td {
    padding: 14px 16px;
    border-color: var(--ab-border);
    vertical-align: middle;
}

.ab-table tbody tr:hover td { background: var(--ab-white); }

.ab-type {
    color: var(--ab-navy);
    font-weight: 700;
    white-space: nowrap;
}

.ab-type i {
    color: var(--ab-red);
    margin-right: 8px;
}

.ab-distance {
    display: inline-block;
    padding: 3px 10px;
    border: 1px solid var(--ab-border);
    color: var(--ab-red);
    font-weight: 700;
    white-space: nowrap;
}



/* GOOGLE MAP LOCATION */
.ab-map-section {
    background: #f5f6f6;
    border-top: 1px solid var(--ab-border);
}

.ab-map-card {
    overflow: hidden;
    border: 1px solid var(--ab-border);
    background: var(--ab-white);
    box-shadow: 0 10px 30px rgba(16, 40, 61, .07);
}

.ab-map-frame, .ab-map-card > iframe {
    display: block;
    width: 100%;
    height: 430px;
    border: 0;
}

.ab-map-info {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 16px;
    padding: 22px 24px;
}

.ab-map-info p {
    margin: 0;
    color: var(--ab-muted);
}

@media (max-width: 767.98px) {
    .ab-map-frame, .ab-map-card > iframe {
        height: 320px;
    }

    .ab-map-info {
        padding: 18px;
    }
}

/* AMENITIES */

.ab-amenity {
    height: 100%;
    padding: 23px;
    border: 1px solid var(--ab-border);
    background: var(--ab-white);
    transition: .25s;
    text-transform: capitalize;
}

.ab-amenity:hover { border-color: var(--ab-red); }

.ab-amenity i {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 52px;
    height: 52px;
    background: var(--ab-red);
    color: var(--ab-white);
    font-size: 25px;
}

.ab-amenity h3 {
    margin-top: 15px;
    color: var(--ab-navy);
    font-size: 23px;
    font-weight: 700;
}

.ab-amenity p {
    margin: 0;
    color: var(--ab-muted);
    font-size: 16px;
}

/* GALLERY */



/* =========================================
   GALLERY SECTION
========================================= */

.ab-gallery-section {
    background: #ffffff;
    border-top: 1px solid var(--ab-border);
    padding: 90px 0;
}

.ab-gallery-intro {
    max-width: 750px;
    margin: 0 auto;
    color: var(--ab-muted);
    font-size: 19px;
    line-height: 1.8;
}

/* =========================================
   GALLERY CARDS
========================================= */

.ab-gallery-card {
    height: 100%;
    border: 1px solid var(--ab-border);
    background: var(--ab-white);
    overflow: hidden;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.ab-gallery-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 15px 35px rgba(16, 40, 61, 0.13);
}

/* =========================================
   GALLERY THUMBNAILS
========================================= */

.ab-gallery-button {
    position: relative;
    display: block;
    width: 100%;
    padding: 0;
    border: 0;
    background: var(--ab-white);
    cursor: zoom-in;
    overflow: hidden;
}

.ab-gallery-button img {
    display: block;
    width: 100%;
    height: 280px;
    object-fit: cover;
    transition: transform 0.45s ease;
}

.ab-gallery-button:hover img {
    transform: scale(1.06);
}

.ab-gallery-button:focus-visible {
    outline: 3px solid var(--ab-red);
    outline-offset: -3px;
}

/* =========================================
   GALLERY ZOOM ICON
========================================= */

.ab-gallery-zoom {
    position: absolute;
    right: 13px;
    bottom: 13px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 43px;
    height: 43px;
    border-radius: 50%;
    background: var(--ab-red);
    color: var(--ab-white);
    font-size: 21px;
    transition: background 0.3s ease, transform 0.3s ease;
}

.ab-gallery-button:hover .ab-gallery-zoom {
    background: var(--ab-red-dark);
    transform: scale(1.08);
}

/* =========================================
   GALLERY CAPTION
========================================= */

.ab-gallery-caption {
    padding: 15px 16px;
    color: var(--ab-navy);
    font-size: 19px;
    font-weight: 700;
    border-top: 1px solid var(--ab-border);
}

/* =========================================
   LIGHTBOX MODAL
========================================= */

#abLightbox {
    position: fixed;
    inset: 0;
    z-index: 1055;
    overflow: hidden;
    background: rgba(17, 19, 21, 0.97);
}

#abLightbox.modal {
    padding: 0;
}

#abLightbox .modal-dialog {
    display: flex;
    align-items: center;
    justify-content: center;
    width: auto;
    max-width: 1250px;
    min-height: calc(100% - 30px);
    margin: 15px auto;
}

#abLightbox .modal-content {
    position: relative;
    width: 100%;
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
}

#abLightbox .modal-body {
    padding: 35px 15px 25px;
    text-align: center;
}

/* Large image */
#abLightboxImage {
    display: block;
    width: auto;
    height: auto;
    max-width: 100%;
    max-height: 78vh;
    object-fit: contain;
    margin: 0 auto;
}

/* =========================================
   CLOSE BUTTON
   Must be outside #abLightbox in the HTML
========================================= */

#abLightboxClose {
    position: fixed !important;
    top: 15px !important;
    right: 20px !important;
    bottom: auto !important;
    left: auto !important;
    inset: 15px 20px auto auto !important;

    display: none;
    align-items: center;
    justify-content: center;

    width: 47px;
    height: 47px;
    min-width: 47px;
    padding: 0;
    margin: 0;

    border: 0;
    border-radius: 50%;
    background: var(--ab-red);
    color: #ffffff;

    font-size: 22px;
    line-height: 1;
    cursor: pointer;

    transform: none !important;
    z-index: 20000 !important;

    transition: background 0.2s ease;
}

/* Display only while lightbox is open */
body.ab-lightbox-open #abLightboxClose {
    display: flex;
}

#abLightboxClose:hover {
    background: var(--ab-red-dark);
}

#abLightboxClose:focus-visible {
    outline: 3px solid #ffffff;
    outline-offset: 3px;
}

/* =========================================
   PREVIOUS / NEXT BUTTONS
========================================= */

#abLightbox .ab-lightbox-nav {
    position: fixed;
    top: 50%;
    z-index: 1060;

    display: flex;
    align-items: center;
    justify-content: center;

    width: 47px;
    height: 47px;
    padding: 0;

    border: 1px solid rgba(255, 255, 255, 0.8);
    border-radius: 50%;
    background: var(--ab-navy);
    color: var(--ab-white);

    font-size: 24px;
    line-height: 1;
    cursor: pointer;

    transform: translateY(-50%);
    transition: background 0.2s ease;
}

#abLightbox .ab-lightbox-prev {
    left: 18px;
}

#abLightbox .ab-lightbox-next {
    right: 18px;
}

#abLightbox .ab-lightbox-nav:hover {
    background: var(--ab-red-dark);
}

#abLightbox .ab-lightbox-nav:focus-visible {
    outline: 2px solid #ffffff;
    outline-offset: 3px;
}

/* =========================================
   LIGHTBOX CAPTION
========================================= */

#abLightboxCaption {
    margin-top: 14px;
    color: var(--ab-white);
    font-size: 21px;
    font-weight: 600;
    line-height: 1.5;
    text-align: center;
}

#abLightboxCount {
    margin-top: 5px;
    color: var(--ab-slider-grey);
    font-size: 15px;
    text-align: center;
}

/* =========================================
   RESPONSIVE: TABLETS AND MOBILE
========================================= */

@media (max-width: 767.98px) {
    .ab-gallery-section {
        padding: 60px 0;
    }

    .ab-gallery-intro {
        font-size: 16px;
    }

    .ab-gallery-button img {
        height: 240px;
    }

    .ab-gallery-caption {
        padding: 13px 14px;
        font-size: 17px;
    }

    /* Stable close button position on mobile */
    #abLightboxClose {
        top: 12px !important;
        right: 12px !important;
        left: auto !important;
        bottom: auto !important;
        inset: 12px 12px auto auto !important;

        width: 42px;
        height: 42px;
        min-width: 42px;
    }

    #abLightbox .modal-dialog {
        max-width: 100%;
        min-height: calc(100% - 20px);
        margin: 10px;
    }

    #abLightbox .modal-body {
        padding: 60px 10px 20px;
    }

    #abLightboxImage {
        max-height: 70vh;
    }

    #abLightbox .ab-lightbox-nav {
        width: 40px;
        height: 40px;
        font-size: 20px;
    }

    #abLightbox .ab-lightbox-prev {
        left: 8px;
    }

    #abLightbox .ab-lightbox-next {
        right: 8px;
    }

    #abLightboxCaption {
        font-size: 18px;
    }

    #abLightboxCount {
        font-size: 14px;
    }
}

/* =========================================
   SMALL MOBILE SCREENS
========================================= */

@media (max-width: 400px) {
    .ab-gallery-button img {
        height: 210px;
    }

    #abLightboxImage {
        max-height: 65vh;
    }

    #abLightbox .modal-body {
        padding-right: 5px;
        padding-left: 5px;
    }
}



/* FINAL CTA: WHITE BACKGROUND, NOT BLUE */

.ab-final-cta {
    padding: 65px 0;
    background: var(--ab-white);
    border-top: 1px solid var(--ab-border);
    border-bottom: 6px solid var(--ab-red);
}

.ab-final-cta h2 {
    color: var(--ab-navy);
    font-size: clamp(32px, 4vw, 45px);
    line-height: 1.15;
    font-weight: 700;
}

.ab-final-cta p {
    color: var(--ab-muted);
    font-size: 19px;
    margin-bottom: 0;
}

.ab-final-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 70px;
    height: 70px;
    margin-bottom: 20px;
    background: var(--ab-red);
    color: var(--ab-white);
    font-size: 32px;
}


/* CREATIVE POLISH */
.ab-breadcrumb {
    background: var(--ab-navy);
    border-bottom: 1px solid rgba(255,255,255,.14);
    position: relative;
}
.ab-breadcrumb .breadcrumb {
    align-items: center;
    gap: 2px;
}
.ab-breadcrumb .breadcrumb-item,
.ab-breadcrumb .breadcrumb-item.active {
    color: var(--ab-white);
    font-weight: 600;
}
.ab-breadcrumb a {
    color: rgba(255,255,255,.72);
    transition: color .25s ease;
}
.ab-breadcrumb a:hover { color: var(--ab-white); }
.ab-breadcrumb .breadcrumb-item + .breadcrumb-item::before {
    color: var(--ab-red);
    font-weight: 700;
}
.ab-breadcrumb .breadcrumb-item.active {
    position: relative;
}
.ab-breadcrumb .breadcrumb-item.active::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -7px;
    width: 28px;
    height: 2px;
    background: var(--ab-red);
}
.ab-hero {
    background-image: linear-gradient(115deg, rgba(16,40,61,1) 0%, rgba(16,40,61,.98) 55%, rgba(16,40,61,.92) 100%);
}
.ab-hero-title {
    letter-spacing: -1.2px;
    text-wrap: balance;
}
.ab-hero-title span {
    position: relative;
    display: inline-block;
}
.ab-hero-title span::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -5px;
    width: 70%;
    height: 4px;
    background: var(--ab-red);
}
.ab-hero-photo {
    padding: 0 0 24px 24px;
}
.ab-hero-photo::before {
    left: 0;
    bottom: 0;
    width: 68%;
    height: 68%;
    border-width: 3px;
}
.ab-hero-photo img {
    box-shadow: 18px 18px 0 rgba(255,255,255,.045);
    transition: transform .5s ease, filter .5s ease;
}
.ab-hero-photo:hover img { transform: translate(-4px,-4px); }
.ab-image-tag {
    right: -8px;
    bottom: 32px;
    box-shadow: 0 10px 25px rgba(0,0,0,.2);
}
.ab-facts { padding: 42px 0 60px; }
.ab-stat {
    position: relative;
    padding: 28px 14px 25px;
    border: 1px solid #e4e8eb;
    border-bottom: 3px solid var(--ab-red);
    box-shadow: 0 8px 25px rgba(16,40,61,.045);
    transition: transform .25s ease, box-shadow .25s ease;
}
.ab-stat::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 0;
    height: 3px;
    background: var(--ab-navy);
    transition: width .3s ease;
}
.ab-stat:hover {
    transform: translateY(-6px);
    box-shadow: 0 16px 32px rgba(16,40,61,.1);
}
.ab-stat:hover::before { width: 100%; }
.ab-stat i { transition: transform .25s ease; }
.ab-stat:hover i { transform: translateY(-3px); }
.ab-about-image {
    box-shadow: 16px 16px 0 #f0f1f1;
    transition: filter .3s ease;
}
.ab-about-image:hover { filter: saturate(1.08); }
.ab-quote {
    position: relative;
    box-shadow: 8px 8px 0 rgba(16,40,61,.08);
}
.ab-benefit {
    position: relative;
    overflow: hidden;
    box-shadow: 0 5px 20px rgba(16,40,61,.025);
}
.ab-benefit::after {
    content: "";
    position: absolute;
    right: -22px;
    bottom: -22px;
    width: 75px;
    height: 75px;
    border: 1px solid rgba(229,35,45,.14);
    border-radius: 50%;
    transition: transform .35s ease;
}
.ab-benefit:hover { transform: translateY(-5px); box-shadow: 0 12px 30px rgba(16,40,61,.08); }
.ab-benefit:hover::after { transform: scale(1.45); }
.ab-benefit-icon { transition: background .25s ease, transform .25s ease; }
.ab-benefit:hover .ab-benefit-icon { background: var(--ab-red); transform: rotate(-4deg); }
.ab-details-card {
    box-shadow: 0 10px 35px rgba(16,40,61,.045);
}
.ab-detail-row { transition: padding .2s ease, background .2s ease; }
.ab-detail-row:hover { padding-left: 8px; background: #fafafa; }
.ab-contact-card {
    position: relative;
    overflow: hidden;
}
.ab-contact-card::after {
    content: "";
    position: absolute;
    right: -60px;
    bottom: -75px;
    width: 210px;
    height: 210px;
    border: 25px solid rgba(255,255,255,.045);
    border-radius: 50%;
    pointer-events: none;
}
.ab-amenity {
    position: relative;
    overflow: hidden;
    transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.ab-amenity:hover {
    transform: translateY(-5px);
    box-shadow: 0 12px 25px rgba(16,40,61,.07);
}
.ab-amenity i { transition: transform .25s ease; }
.ab-amenity:hover i { transform: rotate(-5deg) scale(1.05); }
.ab-gallery-card {
    box-shadow: 0 7px 22px rgba(16,40,61,.04);
    transition: transform .3s ease, box-shadow .3s ease;
}
.ab-gallery-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 15px 32px rgba(16,40,61,.12);
}
.ab-gallery-button::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, transparent 55%, rgba(16,40,61,.18));
    pointer-events: none;
}
.ab-gallery-caption {
    display: flex;
    align-items: center;
    gap: 10px;
    border-top: 2px solid var(--ab-red);
}
.ab-final-cta {
    position: relative;
    overflow: hidden;
    background: #f5f6f6;
}
.ab-final-cta .container > .row {
    position: relative;
    padding: 36px;
    background: var(--ab-white);
    border: 1px solid var(--ab-border);
    box-shadow: 0 14px 38px rgba(16,40,61,.05);
}
.ab-final-cta h2 { max-width: 750px; }
.ab-final-icon {
    border-radius: 0 18px 0 18px;
    box-shadow: 6px 6px 0 rgba(16,40,61,.09);
}
.ab-btn { box-shadow: 0 5px 14px rgba(189,23,32,.12); }
.ab-btn:focus-visible,
.ab-gallery-button:focus-visible {
    outline: 3px solid var(--ab-navy);
    outline-offset: 4px;
}
@media (max-width: 575px) {
    .ab-facts { padding: 28px 0 42px; }
    .ab-hero-photo { padding-left: 14px; }
    .ab-image-tag { right: -3px; bottom: 27px; }
    .ab-final-cta .container > .row { padding: 25px 18px; }
}

@media (max-width: 991px) {
    .ab-section { padding: 65px 0; }
    .ab-hero { padding: 50px 0 65px; }
    .ab-hero-photo { margin-top: 25px; }
    .ab-hero-photo img { height: 420px; }
    .ab-about-image { height: 400px; }
    .ab-about-content { padding-left: 0; }
    .ab-gallery-button img { height: 255px; }
}

@media (max-width: 575px) {
    body { font-size: 16px; }
    .ab-section { padding: 48px 0; }
    .ab-hero { padding: 40px 0 50px; }
    .ab-hero-title { font-size: 40px; }
    .ab-hero-copy { font-size: 17px; }
    .ab-hero-photo img { height: 310px; }
    .ab-price strong { font-size: 30px; }
    .ab-about-image { height: 300px; }
    .ab-details-card, .ab-contact-card { padding: 22px 18px; }
    .ab-detail-row { font-size: 15px; gap: 10px; }
    .ab-gallery-button img { height: 245px; }
    .ab-lightbox-image { max-height: 72vh; }
    .ab-lightbox-close { top: 10px; right: 10px; }
    .ab-lightbox-prev { left: 7px; }
    .ab-lightbox-next { right: 7px; }
}