/* -------------------------------------------------------------------------- */
/* ------------------------------- Global CSS ------------------------------- */
/* -------------------------------------------------------------------------- */


/* -------------------------------------------------------------------------- */
/* ------------------------------ Import Fonts ------------------------------ */

/* Rubik (Primary - Variable Font) */
@font-face {
    font-family: 'Rubik';
    src: url('../assets/fonts/Rubik/Rubik-VariableFont_wght.ttf') format('truetype');
    font-weight: 300 900;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Rubik';
    src: url('../assets/fonts/Rubik/Rubik-Italic-VariableFont_wght.ttf') format('truetype');
    font-weight: 300 900;
    font-style: italic;
    font-display: swap;
}

/* Helvetica (Secondary) */
@font-face {
    font-family: 'Helvetica';
    src: url('../assets/fonts/Helvetica/Helvetica.ttf') format('truetype');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Helvetica';
    src: url('../assets/fonts/Helvetica/Helvetica-Bold.ttf') format('truetype');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}



/* -------------------------------------------------------------------------- */
/* -------------------- CSS Custom Properties (Variables) ------------------- */

:root {
    /* Fonts */
    --font-rubik: 'Rubik', sans-serif;
    --font-helvetica: 'Helvetica', Arial, sans-serif;

    /* Official Colors */
    --ab-main-red: #EB1923;
    --ab-main-red-10: rgba(235, 25, 35, 0.10);
    --ab-main-red-20: rgba(235, 25, 35, 0.20);
    --ab-main-red-dark: #751809;
    --ab-noir-black: #1A1716;
    --ab-noir-black-10: rgba(26, 23, 22, 0.10);
    --ab-noir-black-20: rgba(26, 23, 22, 0.20);
    --ab-mid-black: #4E4643;
    --ab-mid-black-50: rgba(78, 70, 67, 0.50);
    --ab-white: #FFFFFF;
    --ab-white-07: rgba(255, 255, 255, 0.07);
    --ab-white-15: rgba(255, 255, 255, 0.15);
    --ab-white-20: rgba(255, 255, 255, 0.20);
    --ab-white-45: rgba(255, 255, 255, 0.45);
    --ab-white-65: rgba(255, 255, 255, 0.65);
    --ab-white-75: rgba(255, 255, 255, 0.75);
    --ab-white-80: rgba(255, 255, 255, 0.80);
    --ab-cream: #F8F2E8;
    --ab-gray: #9E9B99;

    /* Overlay */
    --ab-overlay-dark: rgba(0, 0, 0, 0.75);

    /* Shadow */
    --ab-shadow-08: rgba(0, 0, 0, 0.08);
    --ab-shadow-15: rgba(0, 0, 0, 0.15);
    --ab-shadow-25: rgba(0, 0, 0, 0.25);
    --ab-shadow-35: rgba(0, 0, 0, 0.35);
}



/* -------------------------------------------------------------------------- */
/* ---------------------- Basic Reset and Global Styles --------------------- */

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html {
    /* 10px */
    font-size: 62.5%;
}

@media (max-width: 1200px) {
    html {
        /* 10px */
        font-size: 62.5%;
    }
}

@media (max-width: 991px) {
    html {
        /* 9.6px */
        font-size: 60%;
    }
}

@media (max-width: 768px) {
    html {
        /* 9.28px */
        font-size: 58%;
    }
}

@media (max-width: 568px) {
    html {
        /* 8.96px */
        font-size: 56%;
    }
}

@media (max-width: 480px) {
    html {
        /* 8.8px */
        font-size: 55%;
    }
}

@media (max-width: 360px) {
    html {
        /* 8.4px */
        font-size: 52.5%;
    }
}

body {
    background-color: var(--ab-cream);
    overflow-x: hidden;
}

img {
    -webkit-user-drag: none;
    -khtml-user-drag: none;
    -moz-user-drag: none;
    -o-user-drag: none;
    user-drag: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    pointer-events: auto;
}

ul,
ol {
    list-style: none;
    margin: 0;
    padding: 0;
}

a {
    text-decoration: none;
}

.no-scroll {
    overflow: hidden;
}

.container {
    width: 100%;
    max-width: 1320px;
    margin: 0 auto;
    padding: 0 2rem;
}

.section {
    padding-top: 6.4rem;
    padding-bottom: 6.4rem;
}

.section.padding_top_iterate {
    padding-top: 0;
}



/* -------------------------------------------------------------------------- */
/* -------------------------- Reusable Button Styles ------------------------ */

.btn_primary_fill,
.btn_primary_outline,
.btn_white_outline,
.btn_white_fill,
.btn_black_fill {
    border-width: 0.1rem;
    border-style: solid;
    border-radius: 0.6rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    flex-shrink: 0;
    transition: 0.3s ease;
    text-decoration: none;
    white-space: nowrap;
    cursor: pointer;
    font-family: var(--font-rubik);
    font-weight: 500;
    font-size: 1.6rem;
    line-height: 150%;
    letter-spacing: 0%;
}

.btn_primary_fill,
.btn_primary_outline,
.btn_white_outline,
.btn_white_fill,
.btn_black_fill {
    height: 4.8rem;
    padding: 0 2.4rem;
}

.btn_primary_fill.btn_small,
.btn_primary_outline.btn_small,
.btn_white_outline.btn_small,
.btn_white_fill.btn_small,
.btn_black_fill.btn_small {
    height: 4rem;
    padding: 0 2rem;
}

.btn_primary_fill i,
.btn_primary_outline i,
.btn_white_outline i,
.btn_white_fill i,
.btn_black_fill i {
    position: relative;
    top: 0.15rem;
    font-size: 1rem;
}

.btn_primary_fill {
    color: var(--ab-white);
    background: var(--ab-main-red);
    border-color: var(--ab-main-red);
}

.btn_primary_fill:hover {
    color: var(--ab-white);
    background: var(--ab-main-red-dark);
    border-color: var(--ab-main-red-dark);
}

.btn_primary_outline {
    color: var(--ab-main-red);
    background: transparent;
    border-color: var(--ab-main-red);
}

.btn_primary_outline:hover {
    background: var(--ab-main-red);
    color: var(--ab-white);
}

.btn_white_fill {
    border-color: var(--ab-white);
    background: var(--ab-white);
    color: var(--ab-noir-black);
}

.btn_white_fill:hover {
    border-color: var(--ab-white);
    background: transparent;
    color: var(--ab-white);
}

.btn_white_outline {
    border-color: var(--ab-white);
    background: transparent;
    color: var(--ab-white);
}

.btn_white_outline:hover {
    border-color: var(--ab-white);
    background: var(--ab-white);
    color: var(--ab-noir-black);
}

.btn_black_fill {
    border-color: var(--ab-noir-black);
    background: var(--ab-noir-black);
    color: var(--ab-white);
}

.btn_black_fill:hover {
    border-color: var(--ab-noir-black);
    background: transparent;
    color: var(--ab-noir-black);
}





/* -------------------------------------------------------------------------- */
/* --------------------------------- Header --------------------------------- */

.header {
    background: transparent;
}


/* ---------- Overlay ---------- */

.header_overlay {
    position: fixed;
    inset: 0;
    background: var(--ab-overlay-dark);
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.3s ease;
    z-index: 900;
}

.header_overlay.active {
    opacity: 1;
    pointer-events: all;
}


/* ---------- Desktop Navbar ---------- */

.desktop_navbar {
    height: 8rem;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    position: relative;
    z-index: 10;
}

/* Desktop Navbar > Header Logo */
.desktop_navbar .header_logo {
    position: absolute;
    top: 1.6rem;
    left: 2rem;
    z-index: 1;
}

.desktop_navbar .header_logo img {
    width: 11.2rem;
    height: 11.2rem;
}

/* Desktop Navbar > Desktop Nav Links */
.desktop_navbar .desktop_nav_links {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 1;
    display: flex;
    align-items: center;
    gap: 3.2rem;
    list-style: none;
}

.desktop_navbar .desktop_nav_links .nav_link {
    all: unset;
    display: flex;
    cursor: pointer;
    font-family: var(--font-rubik);
    font-weight: 500;
    font-size: 1.6rem;
    line-height: 150%;
    letter-spacing: 2%;
    color: var(--ab-noir-black);
}

.desktop_navbar .desktop_nav_links .nav_link:hover {
    color: var(--ab-main-red);
}

.desktop_navbar .desktop_nav_links .nav_link.active {
    color: var(--ab-main-red);
}

/* Desktop Navbar > Actions */
.desktop_navbar .header_actions {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 2rem;
}

.desktop_navbar .header_actions .header_hamburger {
    display: none;
}

.desktop_navbar .header_actions .header_hamburger {
    background: none;
    border: none;
    cursor: pointer;
    font-size: 2.8rem;
    color: var(--ab-noir-black);
}

.desktop_navbar .header_actions .header_hamburger:hover {
    color: var(--ab-mid-black);
}


/* ---------- Mobile Menu ---------- */

.header_mobile_menu {
    position: fixed;
    top: 0;
    right: 0;
    height: 100%;
    width: 80%;
    max-width: 32rem;
    background: var(--ab-cream);
    display: flex;
    flex-direction: column;
    padding: 5rem 3rem;
    transform: translateX(calc(100% + 1.6rem));
    transition: transform 0.4s ease;
    z-index: 1000;
    border-left: 0.2rem solid var(--ab-noir-black);
    box-shadow: -0.4rem 0 1rem var(--ab-shadow-15);
    overflow-y: auto;
}

.header_mobile_menu.active {
    transform: translateX(0);
}

/* Mobile Menu > Mobile Menu Close Button */
.header_mobile_menu .mobile_menu_close_btn {
    position: absolute;
    top: 2rem;
    right: 2rem;
    background: none;
    border: none;
    font-size: 2.4rem;
    cursor: pointer;
    color: var(--ab-noir-black);
    transition: color 0.3s ease;
}

.header_mobile_menu .mobile_menu_close_btn:hover {
    color: var(--ab-main-red);
}

/* Mobile Menu > Mobile Nav Links */
.header_mobile_menu .mobile_nav_links {
    list-style: none;
    width: 100%;
}

.header_mobile_menu .mobile_nav_links>li {
    margin: 2.5rem 0;
    text-align: left;
}

/* Header Links > Mobile Navbar Links */
.header_mobile_menu .mobile_nav_links .nav_link {
    all: unset;
    display: flex;
    cursor: pointer;
    font-family: var(--font-rubik);
    font-weight: 500;
    font-size: 1.6rem;
    line-height: 150%;
    letter-spacing: 2%;
    color: var(--ab-noir-black);
}

.header_mobile_menu .mobile_nav_links .nav_link:hover {
    color: var(--ab-main-red);
}

.header_mobile_menu .mobile_nav_links .nav_link.active {
    color: var(--ab-main-red);
}

/* Mobile Menu > Social Links */

.header_mobile_menu .mobile_menu_socials {
    margin-top: auto;
    padding-top: 3rem;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 1.2rem;
}

.header_mobile_menu .mobile_menu_socials li {
    display: flex;
    margin: 0;
}

.header_mobile_menu .mobile_menu_socials a {
    width: 2.4rem;
    height: 2.4rem;
    display: flex;
    justify-content: center;
    align-items: center;
}

.header_mobile_menu .mobile_menu_socials .ari_social_icon {
    display: block;
    width: 2.4rem;
    height: 2.4rem;
    flex: 0 0 2.4rem;

    font-size: 0;

    background-position: center;
    background-repeat: no-repeat;
    background-size: 2rem 2rem;
    filter: brightness(0);
}

.header_mobile_menu .mobile_menu_socials .ari_social_facebook {
    background-image: url("/assets/icons/fb-icon.svg");
}

.header_mobile_menu .mobile_menu_socials .ari_social_instagram {
    background-image: url("/assets/icons/insta-icon.svg");
}

.header_mobile_menu .mobile_menu_socials .ari_social_x {
    background-image: url("/assets/icons/twitter-x-icon.svg");
}

.header_mobile_menu .mobile_menu_socials .ari_social_linkedin {
    background-image: url("/assets/icons/linkedin-icon.svg");
}

.header_mobile_menu .mobile_menu_socials .ari_social_youtube {
    background-image: url("/assets/icons/youtube-icon.svg");
}

.header_mobile_menu .mobile_menu_socials a:hover .ari_social_icon {
    opacity: 0.6;
}

/* ---------- Shared ---------- */

/* --- Header Dropdowns --- */

.header_dropdown {
    position: relative;
}

.header_dropdown .header_dropdown_btn {
    all: unset;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.8rem;
    cursor: pointer;
    transition: color 0.3s ease;
}

.header_dropdown .header_dropdown_btn i {
    transition: transform 0.3s ease;
}

.header_dropdown.open .header_dropdown_btn i {
    transform: rotate(180deg);
}

/* Header Dropdown > Desktop Dropdown Menu */
.desktop_navbar .header_dropdown .header_dropdown_btn {
    font-family: var(--font-rubik);
    font-weight: 500;
    font-size: 1.6rem;
    line-height: 150%;
    letter-spacing: 2%;
    color: var(--ab-noir-black);
}

.desktop_navbar .header_dropdown .header_dropdown_btn:hover {
    color: var(--ab-main-red);
}

.desktop_navbar .header_dropdown .header_dropdown_btn.active {
    color: var(--ab-main-red);
}

.desktop_navbar .header_dropdown .header_dropdown_menu {
    position: absolute;
    top: 160%;
    left: 0;
    z-index: 1;
    display: none;
    flex-direction: column;
    min-width: 13rem;
    padding: 0.8rem 0;
    background: var(--ab-cream);
    border: 0.1rem solid var(--ab-noir-black);
    border-radius: 0.8rem;
    box-shadow: 0 0.4rem 1rem var(--ab-shadow-08);
}

.desktop_navbar .header_dropdown .header_dropdown_menu li {
    list-style: none;
}

.desktop_navbar .header_dropdown .header_dropdown_menu li a {
    display: block;
    padding: 1rem 1.6rem;
    font-weight: 500;
    font-size: 1.6rem;
    line-height: 150%;
    letter-spacing: 2%;
    color: var(--ab-noir-black);
    white-space: nowrap;
}

.desktop_navbar .header_dropdown .header_dropdown_menu li a:hover {
    color: var(--ab-main-red);
}

.desktop_navbar .header_dropdown.open .header_dropdown_menu {
    display: flex;
}

/* Header Dropdown > Mobile Dropdown Menu */
.header_mobile_menu .header_dropdown .header_dropdown_btn {
    width: 100%;
    display: flex;
    justify-content: space-between;
    font-family: var(--font-rubik);
    font-weight: 500;
    font-size: 1.6rem;
    line-height: 150%;
    letter-spacing: 2%;
    color: var(--ab-noir-black);
}

.header_mobile_menu .header_dropdown .header_dropdown_btn:hover {
    color: var(--ab-main-red);
}

.header_mobile_menu .header_dropdown .header_dropdown_btn.active {
    color: var(--ab-main-red);
}

.header_mobile_menu .header_dropdown .header_dropdown_menu_mobile {
    display: none;
    flex-direction: column;
    gap: 1.5rem;
    margin-top: 2.5rem;
    padding-left: 2rem;
    border-left: 0.2rem solid var(--ab-noir-black);
}

.header_mobile_menu .header_dropdown .header_dropdown_menu_mobile li {
    list-style: none;
    margin: 0;
}

.header_mobile_menu .header_dropdown .header_dropdown_menu_mobile a:hover {
    color: var(--ab-main-red);
}

.header_mobile_menu .header_dropdown.open .header_dropdown_menu {
    display: flex;
}


/* ---------- Responsive ---------- */

@media (max-width: 991px) {
    /* 
    .desktop_navbar {
        justify-content: space-between;
    }

    .desktop_navbar .header_logo {
        position: static;
    }

    .desktop_navbar .header_logo img {
        width: 6.2rem;
        height: 6.2rem;
    } 
    */

    .desktop_navbar .desktop_nav_links {
        display: none;
    }

    .desktop_navbar .header_actions .header_hamburger {
        display: block;
    }
}

@media (max-width: 991px) {
    .desktop_navbar .header_logo img {
        width: 9.2rem;
        height: 9.2rem;
    }
}





/* -------------------------------------------------------------------------- */
/* --------------------------------- Footer --------------------------------- */


.footer {
    background: var(--ab-noir-black);
    padding-top: 8rem;
    padding-bottom: 8rem;
}

.footer_content {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 4rem;
}


/* ---------- Footer Content ---------- */

/* --- Left side --- */

.footer_left .footer_logo {
    display: block;
    margin-bottom: 3.2rem;
}

.footer_left .footer_logo img {
    width: 4.8rem;
    height: 4.8rem;
}

.footer_left .footer_info {
    display: flex;
    flex-direction: column;
    gap: 2.4rem;
}

.footer_left .footer_info .footer_info_cont {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
}

.footer_left .footer_info .footer_info_cont strong {
    font-family: var(--font-helvetica);
    font-weight: 700;
    font-size: 1.4rem;
    line-height: 150%;
    letter-spacing: 0%;
    color: var(--ab-white);
}

.footer_left .footer_info .footer_info_cont p,
.footer_left .footer_info .footer_info_cont a {
    font-family: var(--font-helvetica);
    font-weight: 400;
    font-size: 1.4rem;
    line-height: 150%;
    letter-spacing: 0%;
    color: var(--ab-white);
}

.footer_left .footer_info .footer_info_cont a {
    text-decoration: underline;
}

.footer_left .footer_info .footer_info_cont a:hover {
    color: var(--ab-cream);
}

.footer_left .footer_socials {
    margin-top: 3.2rem;
    display: flex;
    align-items: center;
    gap: 1.2rem;
    padding: 0;
    list-style: none;
}

.footer_left .footer_socials li {
    display: flex;
}

.footer_left .footer_socials a {
    width: 2.4rem;
    height: 2.4rem;
    display: flex;
    justify-content: center;
    align-items: center;
}

.footer_left .footer_socials .ari_social_icon {
    display: block;
    width: 2.4rem;
    height: 2.4rem;
    flex: 0 0 2.4rem;

    font-size: 0;

    background-position: center;
    background-repeat: no-repeat;
    background-size: 2rem 2rem;
}

.footer_left .footer_socials .ari_social_facebook {
    background-image: url("/assets/icons/fb-icon.svg");
}

.footer_left .footer_socials .ari_social_instagram {
    background-image: url("/assets/icons/insta-icon.svg");
}

.footer_left .footer_socials .ari_social_x {
    background-image: url("/assets/icons/twitter-x-icon.svg");
}

.footer_left .footer_socials .ari_social_linkedin {
    background-image: url("/assets/icons/linkedin-icon.svg");
}

.footer_left .footer_socials .ari_social_youtube {
    background-image: url("/assets/icons/youtube-icon.svg");
}

/* --- Footer Links --- */

.footer_links {
    display: flex;
    gap: 2.4rem;
    justify-content: flex-end;
    flex-wrap: wrap;
}

.footer_links ul {
    list-style: none;
    min-width: 18.8rem;
}

.footer_links li {
    margin-bottom: 1.6rem;
}

.footer_links a {
    font-family: var(--font-rubik);
    font-weight: 500;
    font-size: 1.4rem;
    line-height: 150%;
    letter-spacing: 0%;
    color: var(--ab-white);
}

.footer_links a:hover {
    color: var(--ab-main-red);
}


/* ---------- Footer Bottom ---------- */

.footer_bottom {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 2rem;
    border-top: 0.1rem solid var(--ab-white-20);
    margin-top: 8rem;
    padding-top: 3.2rem;
    text-align: center;
}

/* Footer Bottom > Footer Copyright */
.footer_bottom .footer_copy {
    font-family: var(--font-helvetica);
    font-weight: 400;
    font-size: 1.4rem;
    line-height: 150%;
    letter-spacing: 0%;
    color: var(--ab-white);
}

/* Footer Bottom > Footer Bottom Links */
.footer_bottom_links {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 2.4rem;
    list-style: none;
    padding: 0;
}

.footer_bottom_links a {
    font-family: var(--font-helvetica);
    font-weight: 400;
    font-size: 1.4rem;
    line-height: 150%;
    letter-spacing: 0%;
    color: var(--ab-white);
    text-decoration: underline;
}

.footer_bottom_links a:hover {
    color: var(--ab-main-red);
}


/* ---------- Responsive ---------- */

@media (max-width: 768px) {
    .footer_content {
        width: 100%;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        text-align: center;
    }

    .footer_left .footer_socials {
        display: flex;
        justify-content: center;
        align-items: center;
    }

    .footer_links {
        gap: 4rem;
        flex-direction: row;
        align-items: center;
        text-align: center;
        justify-content: center;
    }

    .footer_links ul {
        min-width: fit-content;
        padding: 0;
        text-align: center;
    }

    .footer_bottom {
        flex-direction: column;
        justify-content: center;
        align-items: center;
        text-align: center;
        flex-wrap: wrap;
    }

    .footer_bottom .footer_bottom_links {
        flex-wrap: wrap;
    }
}





/* -------------------------------------------------------------------------- */
/* -------------------------- Main Content Sections ------------------------- */
/* -------------------------------------------------------------------------- */


/* -------------------------------------------------------------------------- */
/* --------------------------- Image Hero Section --------------------------- */


.image_hero_section {
    position: relative;
    padding: 11.3rem 0;
    display: flex;
    align-items: center;
    overflow: hidden;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}


/* ---------- Image Hero Content ---------- */

.image_hero_section .image_hero_content {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    gap: 1.6rem;
    max-width: 68rem;
}

.image_hero_section .image_hero_content .hero_tag {
    font-family: var(--font-rubik);
    font-weight: 700;
    font-size: 1.4rem;
    line-height: 1.68rem;
    letter-spacing: 0.2rem;
    color: var(--ab-white);
    text-transform: uppercase;
}

.image_hero_section .image_hero_content .hero_title {
    font-family: var(--font-rubik);
    font-weight: 700;
    font-size: 5.6rem;
    line-height: 6.72rem;
    letter-spacing: 0.11rem;
    color: var(--ab-white);
    text-transform: uppercase;
}

.image_hero_section .image_hero_content .hero_description {
    max-width: 52rem;
    font-family: var(--font-helvetica);
    font-weight: 400;
    font-size: 1.8rem;
    line-height: 2.7rem;
    letter-spacing: 0%;
    color: var(--ab-white-80);
}

.image_hero_section .image_hero_content .hero_buttons {
    margin-top: 1.6rem;
}


/* ---------- Responsive ---------- */

@media (max-width: 768px) {
    .image_hero_section .image_hero_content {
        text-align: center;
        margin-left: auto;
        margin-right: auto;
    }

    .image_hero_section .image_hero_content .hero_description {
        margin-left: auto;
        margin-right: auto;
    }

    .image_hero_section .image_hero_content .hero_title {
        font-size: 4rem;
        line-height: 5.2rem;
    }
}





/* -------------------------------------------------------------------------- */
/* ---------------------------- Benefits Section ---------------------------- */


.benefits_section {
    overflow: hidden;
}

.benefits_container {
    display: flex;
    flex-direction: column;
    gap: 6.4rem;
}


/* ---------- Header Info ---------- */

.benefits_section .benefits_header_info {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 1.6rem;
    text-align: center;
}

.benefits_section .benefits_header_info .benefits_title {
    font-family: var(--font-rubik);
    font-weight: 700;
    font-size: 4.8rem;
    line-height: 120%;
    letter-spacing: 2%;
    color: var(--ab-noir-black);
    text-transform: uppercase;
}

.benefits_section .benefits_header_info .benefits_description {
    font-family: var(--font-helvetica);
    font-weight: 400;
    font-size: 1.8rem;
    line-height: 150%;
    letter-spacing: 0%;
    color: var(--ab-mid-black);
    letter-spacing: 1%;
}


/* ---------- Benefits Items Grid ---------- */

.benefits_section .benefits_items_grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 3.2rem;
}

/* Benefits Item */
.benefits_section .benefits_item {
    background-color: var(--ab-white);
    border-radius: 1.2rem;
    padding: 4.4rem 3.2rem;
    display: flex;
    flex-direction: column;
    gap: 1.6rem;
}

.benefits_section .benefits_icon {
    display: flex;
    flex-direction: column;
    margin-bottom: 0.8rem;
}

.benefits_section .benefits_icon img {
    width: fit-content;
    height: 3.8rem;
}

.benefits_section .benefits_item_title {
    font-family: var(--font-rubik);
    font-weight: 700;
    font-size: 2.4rem;
    line-height: 130%;
    letter-spacing: 2%;
    color: var(--ab-noir-black);
    text-transform: uppercase;
}

.benefits_section .benefits_item_text {
    font-family: var(--font-helvetica);
    font-weight: 400;
    font-size: 1.6rem;
    line-height: 150%;
    letter-spacing: 0%;
    color: var(--ab-mid-black);
}


/* ---------- Responsive ---------- */

@media (max-width: 1200px) {
    .benefits_section .benefits_title {
        text-align: center;
    }

    .benefits_section .benefits_items_grid {
        grid-template-columns: 1fr;
    }

    .benefits_section .benefits_item {
        max-width: 60rem;
        margin: auto;
        align-items: center;
        text-align: center;
    }
}

@media (max-width: 568px) {
    .benefits_section .benefits_header_info .benefits_title {
        font-size: 4rem;
    }
}





/* -------------------------------------------------------------------------- */
/* --------------------------- Split Content Section ------------------------ */

.split_content_section {
    overflow: hidden;
}

.split_content_section .split_content_grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8rem;
    align-items: center;
}

/* ---------- Split Content Details ---------- */

.split_content_section .split_content_details {
    display: flex;
    flex-direction: column;
    gap: 2.4rem;
}

/* Year */
.split_content_section .split_content_eyebrow {
    font-family: var(--font-rubik);
    font-weight: 700;
    font-size: 7.2rem;
    line-height: 7.92rem;
    letter-spacing: 0.2rem;
    color: var(--ab-main-red);
}

/* Title */
.split_content_section .split_content_title {
    font-family: var(--font-rubik);
    font-weight: 700;
    font-size: 4.8rem;
    line-height: 5.7rem;
    letter-spacing: 0.09rem;
    color: var(--ab-noir-black);
    text-transform: uppercase;
}

/* Blocks */
.split_content_section .split_content_blocks {
    display: flex;
    flex-direction: column;
    gap: 2.4rem;
}

/* Blocks > Text */
.split_content_section .split_content_text,
.split_content_section .split_content_blocks > p {
    font-family: var(--font-helvetica);
    font-weight: 400;
    font-size: 1.8rem;
    line-height: 2.7rem;
    letter-spacing: 0;
    color: var(--ab-mid-black);
}

.split_content_section .split_content_blocks a {
    color: var(--ab-mid-black);
    text-decoration: none;
    transition: color 0.3s ease;
}

.split_content_section .split_content_blocks a:hover {
    color: var(--ab-main-red);
}

.split_content_section_dark .split_content_blocks a {
    color: var(--ab-white-75);
    text-decoration: none;
    transition: color 0.3s ease;
}

.split_content_section_dark .split_content_blocks a:hover {
    color: var(--ab-white);
}

/* Blocks > Contacts */
.split_content_section .split_content_contacts {
    display: flex;
    flex-direction: column;
    gap: 0.8rem;
}

.split_content_section .split_content_contact {
    display: flex;
    align-items: center;
    gap: 1rem;
    text-decoration: none;
}

.split_content_section .split_content_contact_icon {
    display: flex;
    justify-content: center;
    align-items: center;
}

.split_content_section .split_content_contact_icon img {
    width: fit-content;
    height: 1.2rem;
}

.split_content_section .split_content_contact_text {
    font-family: var(--font-helvetica);
    font-weight: 400;
    font-size: 1.6rem;
    line-height: 2.4rem;
    letter-spacing: 0;
    color: var(--ab-mid-black);
}

.split_content_section .split_content_contact_text:hover {
    text-decoration: underline;
}

/* Blocks > Points */
.split_content_section .split_content_points {
    display: flex;
    flex-direction: column;
    gap: 1.6rem;
    margin-top: 0.8rem;
}

.split_content_section .split_content_point {
    display: flex;
    align-items: center;
    gap: 1.6rem;
}

.split_content_section .split_content_point_icon {
    display: flex;
    justify-content: center;
    align-items: center;
}

.split_content_section .split_content_point_icon img {
    width: fit-content;
    height: 2rem;
}

.split_content_section .split_content_point_text {
    font-family: var(--font-helvetica);
    font-weight: 400;
    font-size: 1.6rem;
    line-height: 2.4rem;
    letter-spacing: 0;
    color: var(--ab-mid-black);
}

/* Blocks > Steps */
.split_content_section .split_content_steps {
    display: flex;
    flex-direction: column;
    gap: 3.2rem;
    margin-top: 0.8rem;
}

.split_content_section .split_content_step {
    display: flex;
    gap: 2rem;
    position: relative;
}

.split_content_section .split_content_step:not(:last-child)::after {
    content: "";
    position: absolute;
    top: 0rem;
    left: 2.4rem;
    width: 0.2rem;
    height: calc(100% + 3.2rem);
    background-color: var(--ab-noir-black-20);
}

.split_content_section .split_content_step_number {
    width: 4.8rem;
    height: 4.8rem;
    flex-shrink: 0;
    border-radius: 50%;
    background: var(--ab-main-red);
    display: flex;
    justify-content: center;
    align-items: center;
    font-family: var(--font-rubik);
    font-weight: 700;
    font-size: 1.4rem;
    line-height: 2.1rem;
    letter-spacing: 0.05rem;
    color: var(--ab-white);
    position: relative;
    z-index: 1;
}

.split_content_section .split_content_step_content {
    padding-top: 1rem;
    display: flex;
    flex-direction: column;
    gap: 0.6rem;
}

.split_content_section .split_content_step_title {
    font-family: var(--font-rubik);
    font-weight: 700;
    font-size: 2rem;
    line-height: 2.6rem;
    letter-spacing: 0.04rem;
    color: var(--ab-noir-black);
    text-transform: uppercase;
}

.split_content_section .split_content_step_text {
    font-family: var(--font-helvetica);
    font-weight: 400;
    font-size: 1.6rem;
    line-height: 2.4rem;
    letter-spacing: 0rem;
    color: var(--ab-mid-black);
}

/* Blocks > List */
.split_content_section .split_content_list {
    display: flex;
    flex-direction: column;
    gap: 2.4rem;

    margin-top: 0.8rem;
}

.split_content_section .split_content_list_item {
    display: flex;
    align-items: flex-start;
    gap: 2rem;
}

.split_content_section .split_content_list_marker {
    width: 0.8rem;
    height: 0.8rem;
    flex-shrink: 0;
    border-radius: 50%;
    background-color: var(--ab-main-red);
    margin-top: 0.75rem;
}

.split_content_section .split_content_list_content {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
}

.split_content_section .split_content_list_title {
    font-family: var(--font-rubik);
    font-weight: 700;
    font-size: 1.8rem;
    line-height: 2.34rem;
    letter-spacing: 0.03rem;
    color: var(--ab-noir-black);
    text-transform: uppercase;
}

.split_content_section .split_content_list_text {
    font-family: var(--font-helvetica);
    font-weight: 400;
    font-size: 1.6rem;
    line-height: 2.4rem;
    letter-spacing: 0;
    color: var(--ab-mid-black);
}

/* ---------- Steps List ---------- */

.split_content_blocks_steps > ol {
    display: flex;
    flex-direction: column;
    gap: 3.2rem;
    margin-top: 0.8rem;
    padding: 0;
    list-style: none;
    counter-reset: split-content-step;
}

.split_content_blocks_steps > ol > li {
    position: relative;
    min-height: 4.8rem;
    padding-top: 1rem;
    padding-left: 6.8rem;
    counter-increment: split-content-step;

    font-family: var(--font-helvetica);
    font-weight: 400;
    font-size: 1.6rem;
    line-height: 2.4rem;
    letter-spacing: 0;
}


/* Number */

.split_content_blocks_steps > ol > li::before {
    content: counter(split-content-step, decimal-leading-zero);

    position: absolute;
    top: 0;
    left: 0;

    width: 4.8rem;
    height: 4.8rem;
    border-radius: 50%;

    display: flex;
    justify-content: center;
    align-items: center;

    background: var(--ab-main-red);

    font-family: var(--font-rubik);
    font-weight: 700;
    font-size: 1.4rem;
    line-height: 2.1rem;
    letter-spacing: 0.05rem;
    color: var(--ab-white);

    z-index: 1;
}


/* Connecting Line */

.split_content_blocks_steps > ol > li:not(:last-child)::after {
    content: "";

    position: absolute;
    top: 0;
    left: 2.4rem;

    width: 0.2rem;
    height: calc(100% + 3.2rem);

    background: var(--ab-noir-black-20);
}


/* Step Title */

.split_content_blocks_steps > ol > li > strong {
    display: block;
    margin-bottom: 0.6rem;

    font-family: var(--font-rubik);
    font-weight: 700;
    font-size: 2rem;
    line-height: 2.6rem;
    letter-spacing: 0.04rem;
    text-transform: uppercase;
}


/* Normal */

.split_content_section .split_content_blocks_steps > ol > li {
    color: var(--ab-mid-black);
}

.split_content_section .split_content_blocks_steps > ol > li > strong {
    color: var(--ab-noir-black);
}


/* Dark */

.split_content_section_dark .split_content_blocks_steps > ol > li {
    color: var(--ab-white-75);
}

.split_content_section_dark .split_content_blocks_steps > ol > li > strong {
    color: var(--ab-white);
}

.split_content_section_dark
.split_content_blocks_steps
> ol
> li:not(:last-child)::after {
    background: var(--ab-white-20);
}

/* Blocks > Testimonial Card */
.split_content_section .split_content_testimonial_card {
    padding: 4rem;
    background-color: var(--ab-white);
    border-radius: 1.2rem;
    display: flex;
    flex-direction: column;
    gap: 2.4rem;
    margin-top: 0.8rem;
}

.split_content_section .split_content_testimonial_rating {
    display: flex;
    align-items: center;
    gap: 0.4rem;
}

.split_content_section .split_content_testimonial_star {
    display: flex;
    justify-content: center;
    align-items: center;
}

.split_content_section .split_content_testimonial_star img {
    width: fit-content;
    height: 2rem;
}

.split_content_section .split_content_testimonial_quote {
    font-family: var(--font-helvetica);
    font-weight: 400;
    font-size: 1.9rem;
    line-height: 3rem;
    letter-spacing: 0;
    color: var(--ab-noir-black);
}

.split_content_section .split_content_testimonial_author {
    display: flex;
    align-items: center;
    gap: 1.6rem;
}

.split_content_section .split_content_testimonial_author_image {
    display: flex;
    justify-content: center;
    align-items: center;
}

.split_content_section .split_content_testimonial_author_image img {
    width: 4.8rem;
    height: 4.8rem;
    border-radius: 50%;
    display: block;
}

.split_content_section .split_content_testimonial_author_info {
    display: flex;
    flex-direction: column;
}

.split_content_section .split_content_testimonial_author_name {
    font-family: var(--font-helvetica);
    font-weight: 700;
    font-size: 1.6rem;
    line-height: 2.4rem;
    letter-spacing: 0;
    color: var(--ab-noir-black);
}

.split_content_section .split_content_testimonial_author_role {
    font-family: var(--font-helvetica);
    font-weight: 400;
    font-size: 1.4rem;
    line-height: 2.1rem;
    letter-spacing: 0;
    color: var(--ab-mid-black);
}

/* Actions */
.split_content_section .split_content_actions {
    display: flex;
    flex-wrap: wrap;
    gap: 1.6rem;
    margin-top: 0.8rem;
}

.split_content_section .split_content_actions a {
    width: fit-content;
    height: 4.8rem;
}


/* ---------- Content Media ---------- */

.split_content_section .split_content_media {
    position: relative;
}

.split_content_section .split_content_media img {
    width: 100%;
    height: 64rem;
    object-fit: cover;
    display: block;
}


/* ---------- Responsive ---------- */

@media (max-width:991px) {
    .split_content_section .split_content_grid {
        grid-template-columns: 1fr;
        gap: 4rem
    }

    .split_content_section .split_content_eyebrow {
        font-size: 6.2rem;
    }

    .split_content_section .split_content_media img {
        height: 58rem;
    }
}

@media (max-width:768px) {
    .split_content_section .split_content_media img {
        height: 54rem;
    }
}

@media (max-width:568px) {
    .split_content_section .split_content_title {
        font-size: 4rem;
    }

    .split_content_section .split_content_testimonial_card {
        padding: 4rem 2.5rem;
    }
}

@media (max-width:480px) {
    .split_content_section .split_content_media img {
        height: 48rem;
    }
}





/* -------------------------------------------------------------------------- */
/* ------------------------- Split Content Section Dark --------------------- */

.split_content_section_dark {
    overflow: hidden;
    background-color: var(--ab-noir-black);
}

.split_content_section_dark .split_content_grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8rem;
    align-items: center;
}

/* ---------- Split Content Details ---------- */

.split_content_section_dark .split_content_details {
    display: flex;
    flex-direction: column;
    gap: 2.4rem;
}

/* Year */
.split_content_section_dark .split_content_eyebrow {
    font-family: var(--font-rubik);
    font-weight: 700;
    font-size: 7.2rem;
    line-height: 7.92rem;
    letter-spacing: 0.2rem;
    color: var(--ab-main-red);
}

/* Title */
.split_content_section_dark .split_content_title {
    font-family: var(--font-rubik);
    font-weight: 700;
    font-size: 4.8rem;
    line-height: 5.7rem;
    letter-spacing: 0.09rem;
    color: var(--ab-white);
    text-transform: uppercase;
}

/* Blocks */
.split_content_section_dark .split_content_blocks {
    display: flex;
    flex-direction: column;
    gap: 2.4rem;
}

/* Blocks > Text */
.split_content_section_dark .split_content_text,
.split_content_section_dark .split_content_blocks > p {
    font-family: var(--font-helvetica);
    font-weight: 400;
    font-size: 1.8rem;
    line-height: 2.7rem;
    letter-spacing: 0;
    color: var(--ab-white-75);
}

/* Blocks > Contacts */
.split_content_section_dark .split_content_contacts {
    display: flex;
    flex-direction: column;
    gap: 0.8rem;
}

.split_content_section_dark .split_content_contact {
    display: flex;
    align-items: center;
    gap: 1rem;
    text-decoration: none;
}

.split_content_section_dark .split_content_contact_icon {
    display: flex;
    justify-content: center;
    align-items: center;
}

.split_content_section_dark .split_content_contact_icon img {
    width: fit-content;
    height: 1.2rem;
}

.split_content_section_dark .split_content_contact_text {
    font-family: var(--font-helvetica);
    font-weight: 400;
    font-size: 1.6rem;
    line-height: 2.4rem;
    letter-spacing: 0;
    color: var(--ab-white-75);
}

.split_content_section_dark .split_content_contact_text:hover {
    text-decoration: underline;
}

/* Blocks > Points */
.split_content_section_dark .split_content_points {
    display: flex;
    flex-direction: column;
    gap: 1.6rem;

    margin-top: 0.8rem;
}

.split_content_section_dark .split_content_point {
    display: flex;
    align-items: center;
    gap: 1.6rem;
}

.split_content_section_dark .split_content_point_icon {
    display: flex;
    justify-content: center;
    align-items: center;
}

.split_content_section_dark .split_content_point_icon img {
    width: fit-content;
    height: 2rem;
}

.split_content_section_dark .split_content_point_text {
    font-family: var(--font-helvetica);
    font-weight: 400;
    font-size: 1.6rem;
    line-height: 2.4rem;
    letter-spacing: 0;
    color: var(--ab-white-75);
}

/* Blocks > Steps */
.split_content_section_dark .split_content_steps {
    display: flex;
    flex-direction: column;
    gap: 3.2rem;
    margin-top: 0.8rem;
}

.split_content_section_dark .split_content_step {
    display: flex;
    gap: 2rem;
    position: relative;
}

.split_content_section_dark .split_content_step:not(:last-child)::after {
    content: "";
    position: absolute;
    top: 0rem;
    left: 2.4rem;
    width: 0.2rem;
    height: calc(100% + 3.2rem);
    background-color: var(--ab-noir-black-20);
}

.split_content_section_dark .split_content_step_number {
    width: 4.8rem;
    height: 4.8rem;
    flex-shrink: 0;
    border-radius: 50%;
    background: var(--ab-main-red);
    display: flex;
    justify-content: center;
    align-items: center;
    font-family: var(--font-rubik);
    font-weight: 700;
    font-size: 1.4rem;
    line-height: 2.1rem;
    letter-spacing: 0.05rem;
    color: var(--ab-white);
    position: relative;
    z-index: 1;
}

.split_content_section_dark .split_content_step_content {
    padding-top: 1rem;
    display: flex;
    flex-direction: column;
    gap: 0.6rem;
}

.split_content_section_dark .split_content_step_title {
    font-family: var(--font-rubik);
    font-weight: 700;
    font-size: 2rem;
    line-height: 2.6rem;
    letter-spacing: 0.04rem;
    color: var(--ab-white);
    text-transform: uppercase;
}

.split_content_section_dark .split_content_step_text {
    font-family: var(--font-helvetica);
    font-weight: 400;
    font-size: 1.6rem;
    line-height: 2.4rem;
    letter-spacing: 0rem;
    color: var(--ab-white-75);
}

/* Blocks > List */
.split_content_section_dark .split_content_list {
    display: flex;
    flex-direction: column;
    gap: 2.4rem;
    margin-top: 0.8rem;
}

.split_content_section_dark .split_content_list_item {
    display: flex;
    align-items: flex-start;
    gap: 2rem;
}

.split_content_section_dark .split_content_list_marker {
    width: 0.8rem;
    height: 0.8rem;
    flex-shrink: 0;
    border-radius: 50%;
    background-color: var(--ab-main-red);
    margin-top: 0.75rem;
}

.split_content_section_dark .split_content_list_content {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
}

.split_content_section_dark .split_content_list_title {
    font-family: var(--font-rubik);
    font-weight: 700;
    font-size: 1.8rem;
    line-height: 2.34rem;
    letter-spacing: 0.03rem;
    color: var(--ab-white);
    text-transform: uppercase;
}

.split_content_section_dark .split_content_list_text {
    font-family: var(--font-helvetica);
    font-weight: 400;
    font-size: 1.6rem;
    line-height: 2.4rem;
    letter-spacing: 0;
    color: var(--ab-white-65);
}

/* Blocks > Testimonial Card */
.split_content_section_dark .split_content_testimonial_card {
    padding: 4rem;
    background-color: var(--ab-white-07);
    border-radius: 1.2rem;
    display: flex;
    flex-direction: column;
    gap: 2.4rem;
    margin-top: 0.8rem;
}

.split_content_section_dark .split_content_testimonial_rating {
    display: flex;
    align-items: center;
    gap: 0.4rem;
}

.split_content_section_dark .split_content_testimonial_star {
    display: flex;
    justify-content: center;
    align-items: center;
}

.split_content_section_dark .split_content_testimonial_star img {
    width: fit-content;
    height: 2rem;
}

.split_content_section_dark .split_content_testimonial_quote {
    font-family: var(--font-helvetica);
    font-weight: 400;
    font-size: 1.6rem;
    line-height: 2.4rem;
    letter-spacing: 0;
    color: var(--ab-white-75);
}

.split_content_section_dark .split_content_testimonial_author {
    display: flex;
    align-items: center;
    gap: 1.6rem;
}

.split_content_section_dark .split_content_testimonial_author_image {
    display: flex;
    justify-content: center;
    align-items: center;
}

.split_content_section_dark .split_content_testimonial_author_image img {
    width: 4.8rem;
    height: 4.8rem;
    border-radius: 50%;
    display: block;
}

.split_content_section_dark .split_content_testimonial_author_info {
    display: flex;
    flex-direction: column;
}

.split_content_section_dark .split_content_testimonial_author_name {
    font-family: var(--font-helvetica);
    font-weight: 700;
    font-size: 1.6rem;
    line-height: 2.4rem;
    letter-spacing: 0;
    color: var(--ab-white);
}

.split_content_section_dark .split_content_testimonial_author_role {
    font-family: var(--font-helvetica);
    font-weight: 400;
    font-size: 1.4rem;
    line-height: 2.1rem;
    letter-spacing: 0;
    color: var(--ab-white-75);
}

/* Actions */
.split_content_section_dark .split_content_actions {
    display: flex;
    flex-wrap: wrap;
    gap: 1.6rem;
    margin-top: 0.8rem;
}

.split_content_section_dark .split_content_actions a {
    width: fit-content;
    height: 4.8rem;
}

/* -------------------------------------------------------------------------- */
/* ----------------------- Split Content HTML Lists ------------------------- */

/* ---------- Default List ---------- */

.split_content_section
.split_content_blocks:not(.split_content_blocks_check):not(.split_content_blocks_detail):not(.split_content_blocks_steps) > ul,
.split_content_section
.split_content_blocks:not(.split_content_blocks_check):not(.split_content_blocks_detail):not(.split_content_blocks_steps) > ol {
    display: flex;
    flex-direction: column;
    gap: 0.8rem;
    padding-left: 2.2rem;
    margin-top: 0.8rem;

    font-family: var(--font-helvetica);
    font-weight: 400;
    font-size: 1.6rem;
    line-height: 2.4rem;
    letter-spacing: 0;
    color: var(--ab-mid-black);
}

.split_content_section
.split_content_blocks:not(.split_content_blocks_check):not(.split_content_blocks_detail):not(.split_content_blocks_steps) > ul {
    list-style: disc;
}

.split_content_section
.split_content_blocks:not(.split_content_blocks_check):not(.split_content_blocks_detail):not(.split_content_blocks_steps) > ol {
    list-style: decimal;
}

.split_content_section
.split_content_blocks:not(.split_content_blocks_check):not(.split_content_blocks_detail):not(.split_content_blocks_steps) > ul > li::marker,
.split_content_section
.split_content_blocks:not(.split_content_blocks_check):not(.split_content_blocks_detail):not(.split_content_blocks_steps) > ol > li::marker {
    color: var(--ab-main-red);
    font-weight: 700;
}


/* ---------- Default List Dark ---------- */

.split_content_section_dark
.split_content_blocks:not(.split_content_blocks_check):not(.split_content_blocks_detail):not(.split_content_blocks_steps) > ul,
.split_content_section_dark
.split_content_blocks:not(.split_content_blocks_check):not(.split_content_blocks_detail):not(.split_content_blocks_steps) > ol {
    display: flex;
    flex-direction: column;
    gap: 0.8rem;
    padding-left: 2.2rem;
    margin-top: 0.8rem;

    font-family: var(--font-helvetica);
    font-weight: 400;
    font-size: 1.6rem;
    line-height: 2.4rem;
    letter-spacing: 0;
    color: var(--ab-white-75);
}

.split_content_section_dark
.split_content_blocks:not(.split_content_blocks_check):not(.split_content_blocks_detail):not(.split_content_blocks_steps) > ul {
    list-style: disc;
}

.split_content_section_dark
.split_content_blocks:not(.split_content_blocks_check):not(.split_content_blocks_detail):not(.split_content_blocks_steps) > ol {
    list-style: decimal;
}

.split_content_section_dark
.split_content_blocks:not(.split_content_blocks_check):not(.split_content_blocks_detail):not(.split_content_blocks_steps) > ul > li::marker,
.split_content_section_dark
.split_content_blocks:not(.split_content_blocks_check):not(.split_content_blocks_detail):not(.split_content_blocks_steps) > ol > li::marker {
    color: var(--ab-main-red);
    font-weight: 700;
}


/* ---------- Check List ---------- */

.split_content_blocks_check > ul {
    display: flex;
    flex-direction: column;
    gap: 1.6rem;
    margin-top: 0.8rem;
    list-style: none;
    padding-left: 0;
}

.split_content_blocks_check > ul > li {
    position: relative;
    padding-left: 3.6rem;

    font-family: var(--font-helvetica);
    font-weight: 400;
    font-size: 1.6rem;
    line-height: 2.4rem;
    letter-spacing: 0;
}

.split_content_blocks_check > ul > li::before {
    content: "";
    position: absolute;
    top: 0.2rem;
    left: 0;

    width: 2rem;
    height: 2rem;

    background-image: url('/assets/icons/round-check-icon.svg');
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
}

.split_content_section .split_content_blocks_check > ul > li {
    color: var(--ab-mid-black);
}

.split_content_section_dark .split_content_blocks_check > ul > li {
    color: var(--ab-white-75);
}


/* ---------- Detail List ---------- */

.split_content_blocks_detail > ul {
    display: flex;
    flex-direction: column;
    gap: 2.4rem;
    margin-top: 0.8rem;
    list-style: none;
    padding-left: 0;
}

.split_content_blocks_detail > ul > li {
    position: relative;
    padding-left: 2.8rem;

    font-family: var(--font-helvetica);
    font-weight: 400;
    font-size: 1.6rem;
    line-height: 2.4rem;
    letter-spacing: 0;
}

.split_content_blocks_detail > ul > li::before {
    content: "";
    position: absolute;
    top: 0.75rem;
    left: 0;

    width: 0.8rem;
    height: 0.8rem;

    border-radius: 50%;
    background-color: var(--ab-main-red);
}

.split_content_blocks_detail > ul > li strong {
    display: block;
    margin-bottom: 0.4rem;

    font-family: var(--font-rubik);
    font-weight: 700;
    font-size: 1.8rem;
    line-height: 2.34rem;
    letter-spacing: 0.03rem;
    text-transform: uppercase;
}


/* Detail List Normal */

.split_content_section .split_content_blocks_detail > ul > li {
    color: var(--ab-mid-black);
}

.split_content_section .split_content_blocks_detail > ul > li strong {
    color: var(--ab-noir-black);
}


/* Detail List Dark */

.split_content_section_dark .split_content_blocks_detail > ul > li {
    color: var(--ab-white-65);
}

.split_content_section_dark .split_content_blocks_detail > ul > li strong {
    color: var(--ab-white);
}

/* ---------- Content Media ---------- */

.split_content_section_dark .split_content_media {
    position: relative;
}

.split_content_section_dark .split_content_media img {
    width: 100%;
    height: 64rem;
    object-fit: cover;
    display: block;
}


/* ---------- Responsive ---------- */

@media (max-width:991px) {
    .split_content_section_dark .split_content_grid {
        grid-template-columns: 1fr;
        gap: 4rem;
    }

    .split_content_section_dark .split_content_eyebrow {
        font-size: 6.2rem;
    }

    .split_content_section_dark .split_content_media img {
        height: 58rem;
    }
}

@media (max-width:768px) {
    .split_content_section_dark .split_content_media img {
        height: 54rem;
    }
}

@media (max-width:568px) {
    .split_content_section_dark .split_content_title {
        font-size: 4rem;
    }

    .split_content_section_dark .split_content_testimonial_card {
        padding: 4rem 2.5rem;
    }
}

@media (max-width:480px) {
    .split_content_section_dark .split_content_media img {
        height: 48rem;
    }
}





/* -------------------------------------------------------------------------- */
/* -------------------------------- CTA Section ----------------------------- */

.cta_section {
    overflow: hidden;
}


/* ---------- CTA Card ---------- */

.cta_section .cta_card {
    background-color: var(--ab-main-red-dark);
    border-radius: 1.2rem;
    padding: 6.4rem 3.2rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 2.4rem;
}

.cta_section .cta_title {
    font-family: var(--font-rubik);
    font-weight: 700;
    font-size: 4.8rem;
    line-height: 120%;
    letter-spacing: 2%;
    color: var(--ab-white);
    text-transform: uppercase;
}

.cta_section .cta_text {
    font-family: var(--font-helvetica);
    font-weight: 400;
    font-size: 1.8rem;
    line-height: 150%;
    letter-spacing: 0;
    color: var(--ab-white);
}

.cta_section .cta_actions {
    margin-top: 0.8rem;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 1.6rem;
}


/* ---------- Responsive ---------- */

@media (max-width:568px) {

    /* .cta_section .cta_card {
        padding: 6.4rem 2.4rem;
    } */

    .cta_section .cta_title {
        font-size: 3rem;
    }
}





/* -------------------------------------------------------------------------- */
/* ------------------------------ Stats Section ------------------------------ */


/* ---------- Shared CSS ---------- */

.stats_section {
    overflow: hidden;
}

.stats_section .stats_grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
}

.stats_section .stats_item {
    height: 11.2rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    padding: 0.8rem 2rem;
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 1.2rem;
}

.stats_section .stats_item:not(:last-child)::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 0;
    width: 0.1rem;
    height: 11.4rem;
    transform: translateY(-50%);
}

.stats_section .stats_value {
    font-family: var(--font-rubik);
    font-weight: 700;
    font-size: 5.6rem;
    line-height: 6.16rem;
    letter-spacing: 0.1rem;
}

.stats_section .stats_label {
    font-family: var(--font-helvetica);
    font-weight: 400;
    font-size: 1.6rem;
    line-height: 2.4rem;
    letter-spacing: 0.03rem;
    text-transform: uppercase;
}


/* ---------- Transparent Variant ---------- */

.stats_section_transparent {
    background: transparent;
}

.stats_section_transparent .stats_item:not(:last-child)::after {
    background: var(--ab-noir-black-20);
}

.stats_section_transparent .stats_value {
    color: var(--ab-main-red);
}

.stats_section_transparent .stats_label {
    color: var(--ab-mid-black);
}


/* ---------- Cards Variant ---------- */

.stats_section_cards {
    background: transparent;
}

.stats_section_cards .stats_item {
    height: 17.8rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.stats_section_cards .stats_item::after {
    display: none;
}

.stats_section_cards .stats_item_white {
    background-color: var(--ab-white);
    border-radius: 1.6rem;
}

.stats_section_cards .stats_value {
    color: var(--ab-main-red);
}

.stats_section_cards .stats_label {
    color: var(--ab-mid-black);
}


/* ---------- Dark Variant ---------- */

.stats_section_dark {
    background: var(--ab-noir-black);
}

.stats_section_dark .stats_item:not(:last-child)::after {
    background: var(--ab-white-20);
}

.stats_section_dark .stats_value {
    color: var(--ab-white);
}

.stats_section_dark .stats_label {
    color: var(--ab-white-75);
}


/* ---------- Responsive ---------- */

@media (max-width:1200px) {
    .stats_section .stats_value {
        font-size: 4.6rem;
    }

    .stats_section .stats_label {
        font-size: 1.4rem;
    }
}

@media (max-width:991px) {
    .stats_section .stats_grid {
        grid-template-columns: repeat(2, 1fr);
        row-gap: 3rem;
    }

    .stats_section .stats_item:nth-child(2)::after {
        display: none;
    }
}

@media (max-width:568px) {
    .stats_section .stats_value {
        font-size: 3.4rem;
    }

    .stats_section .stats_label {
        font-size: 1.4rem;
    }
}





/* -------------------------------------------------------------------------- */
/* ------------------------------ Cards Section ----------------------------- */

.cards_section .cards_container {
    display: flex;
    flex-direction: column;
    gap: 6.4rem;
}

/* ---------- Shared CSS ---------- */

/* Header */
.cards_section .cards_header {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 1.6rem;
    text-align: center;
}

.cards_section .cards_title {
    font-family: var(--font-rubik);
    font-weight: 700;
    font-size: 4.8rem;
    line-height: 5.76rem;
    letter-spacing: 0.09rem;
    color: var(--ab-noir-black);
    text-transform: uppercase;
}

.cards_section .cards_text {
    font-family: var(--font-helvetica);
    font-weight: 400;
    font-size: 1.8rem;
    line-height: 2.7rem;
    letter-spacing: 0;
    color: var(--ab-mid-black);
}

.cards_section .cards_grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 3.2rem;
}

.cards_section .cards_grid_single {
    grid-template-columns:
        minmax(0, calc((100% - 6.4rem) / 3));
    justify-content: center;
}

.cards_section .cards_grid_double {
    grid-template-columns:
        repeat(
            2,
            minmax(0, calc((100% - 6.4rem) / 3))
        );
    justify-content: center;
}


.cards_section .cards_card {
    display: flex;
    flex-direction: column;
    background: var(--ab-white);
    border-radius: 1.2rem;
    overflow: hidden;
}

.cards_section .cards_card_media {
    position: relative;
}

.cards_section .cards_card_media img {
    width: 100%;
    height: 30.4rem;
    object-fit: cover;
    display: block;
}

.cards_section .cards_card_tag {
    position: absolute;
    top: 1.2rem;
    left: 1.2rem;
    right: 1.2rem;
    padding: 0.4rem 1.2rem;
    border-radius: 0.4rem;
    background-color: var(--ab-main-red);
    color: var(--ab-white);
    display: flex;
    justify-content: center;
    align-items: center;
    font-family: var(--font-rubik);
    font-weight: 500;
    font-size: 1.2rem;
    line-height: 1.8rem;
    letter-spacing: 0.05rem;
    color: var(--ab-white);
    text-transform: uppercase;
    z-index: 2;
}

.cards_section .cards_card_content {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 1.6rem;
    padding: 3.2rem;
}

.cards_section .cards_card_title {
    font-family: var(--font-rubik);
    font-weight: 700;
    font-size: 2.2rem;
    line-height: 2.86rem;
    letter-spacing: 0.04rem;
    color: var(--ab-noir-black);
    text-transform: uppercase;
}

.cards_section .cards_card_title.capitalize_content {
    text-transform: none;
}

.cards_section .cards_card_subtitle {
    font-family: var(--font-rubik);
    font-weight: 500;
    font-size: 1.4rem;
    line-height: 2.1rem;
    letter-spacing: 0.02rem;
    color: var(--ab-main-red);
    text-transform: uppercase;
    margin-top: -1rem;
}

.cards_section .cards_card_text {
    font-family: var(--font-helvetica);
    font-weight: 400;
    font-size: 1.6rem;
    line-height: 2.4rem;
    letter-spacing: 0;
    color: var(--ab-mid-black);
}

.cards_section .cards_card_badge {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 1rem 1.6rem;
    margin-top: auto;
    background: var(--ab-cream);
    border-radius: 0.6rem;
    font-family: var(--font-helvetica);
    font-weight: 700;
    font-size: 1.4rem;
    line-height: 2.1rem;
    letter-spacing: 0;
    color: var(--ab-noir-black);
    position: relative;
}

.cards_section .cards_card_badge::before {
    content: "";
    width: .8rem;
    height: .8rem;
    border-radius: 50%;
    background-color: var(--ab-main-red);
    flex-shrink: 0;
}


/* ---------- Responsive ---------- */

@media (max-width:1280px) {

    .cards_section .cards_grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .cards_section .cards_grid_single {
        grid-template-columns:
            minmax(0, calc((100% - 3.2rem) / 2));
        justify-content: center;
    }

    .cards_section .cards_grid_double {
        grid-template-columns: repeat(2, 1fr);
        justify-content: center;
    }
}

@media (max-width:568px) {

    .cards_section .cards_grid_single,
    .cards_section .cards_grid_double {
    grid-template-columns: 1fr;
    }
    .cards_section .cards_title {
        font-size: 4rem;
    }

    .cards_section .cards_card_title {
        font-size: 2rem;
    }

    .cards_section .cards_card_content {
        padding: 3.2rem 2.8rem;
    }

    .cards_section .cards_grid {
        grid-template-columns: 1fr;
    }
}





/* -------------------------------------------------------------------------- */
/* ------------------------------ Process Section ---------------------------- */

.process_section {
    overflow: hidden;
}

.process_section .process_container {
    display: flex;
    flex-direction: column;
    gap: 6.4rem;
}


/* ---------- Header Info ---------- */

.process_section .process_header_info {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 1.6rem;
    text-align: center;
}

.process_section .process_header_info .process_title {
    font-family: var(--font-rubik);
    font-weight: 700;
    font-size: 4.8rem;
    line-height: 120%;
    letter-spacing: 2%;
    color: var(--ab-noir-black);
    text-transform: uppercase;
}

.process_section .process_header_info .process_description {
    font-family: var(--font-helvetica);
    font-weight: 400;
    font-size: 1.8rem;
    line-height: 150%;
    letter-spacing: 0%;
    color: var(--ab-mid-black);
    letter-spacing: 1%;
}


/* ---------- Process Setps Grid ---------- */

.process_section .process_steps_grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 3.2rem;
}


.process_section .process_steps_grid:has(> .process_step:nth-child(2):last-child) {
    grid-template-columns:
        repeat(2, minmax(0, calc((100% - 9.6rem) / 4)));
    justify-content: center;
}

/* Step */
.process_section .process_step {
    --step-size: 4.8rem;
    --step-gap: 1.6rem;
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 2.4rem;
}

.process_section .process_step_number {
    width: var(--step-size);
    height: var(--step-size);
}

.process_section .process_step::after {
    content: "";
    position: absolute;
    top: calc(var(--step-size) / 2);
    left: calc(var(--step-size) + var(--step-gap));
    width: calc(100% - var(--step-size) - var(--step-gap));
    height: 1px;
    background: var(--ab-noir-black-20);
}

/* Number */
.process_section .process_step_number {
    width: 4.8rem;
    height: 4.8rem;
    border-radius: 50%;
    background: var(--ab-main-red);
    display: flex;
    justify-content: center;
    align-items: center;
    font-family: var(--font-rubik);
    font-weight: 700;
    font-size: 1.4rem;
    line-height: 2.1rem;
    letter-spacing: 0.05rem;
    color: var(--ab-white);
    position: relative;
    z-index: 2;
}

/* Content */
.process_section .process_step_content {
    display: flex;
    flex-direction: column;
    gap: 1.2rem;
}

.process_section .process_step_title {
    font-family: var(--font-rubik);
    font-weight: 700;
    font-size: 2rem;
    line-height: 2.6rem;
    letter-spacing: 0.04rem;
    color: var(--ab-noir-black);
    text-transform: uppercase;
}

.process_section .process_step_text {
    font-family: var(--font-helvetica);
    font-weight: 400;
    font-size: 1.6rem;
    line-height: 2.4rem;
    letter-spacing: 0;
    color: var(--ab-mid-black);
}

.process_section .process_step:last-child::after {
    display: none;
}

/* ---------- Responsive ---------- */

@media (max-width:991px) {

    .process_section .process_steps_grid,
    .process_section .process_steps_grid:has(> .process_step:nth-child(2):last-child) {
        grid-template-columns: repeat(2, 1fr);
        justify-content: initial;
    }
}

@media (max-width:568px) {

    .process_section .process_header_info .process_title {
        font-size: 4rem;
    }
}

@media (max-width:480px) {

    .process_section .process_steps_grid,
    .process_section .process_steps_grid:has(> .process_step:nth-child(2):last-child) {
        grid-template-columns: 1fr;
    }
}





/* -------------------------------------------------------------------------- */
/* ---------------------------- Collection Section --------------------------- */

.collection_section {
    overflow: hidden;
}

.collection_section .collection_container {
    display: flex;
    flex-direction: column;
    gap: 4.8rem;
}


/* ---------- Header Info ---------- */

.collection_section .collection_header_info {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 2.4rem;
}

.collection_section .collection_title {
    font-family: var(--font-rubik);
    font-weight: 700;
    font-size: 4rem;
    line-height: 4.8rem;
    letter-spacing: 0.08rem;
    color: var(--ab-noir-black);
    text-transform: uppercase;
}

.collection_section .collection_actions {
    flex-shrink: 0;
}


/* ---------- Cards Grid ---------- */

.collection_section .collection_cards_grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 3.2rem;
    align-items: stretch;
}

/* Related Articles - reduced item count */

.collection_section .collection_cards_grid_related_two {
    grid-template-columns:
        repeat(
            2,
            minmax(0, calc((100% - 6.4rem) / 3))
        );
    justify-content: center;
}

.collection_section .collection_cards_grid_related_single {
    grid-template-columns: minmax(0, 48rem);
    justify-content: center;
}

/* --- Cards Grid > Shared Cards --- */

.collection_section .article_card,
.collection_section .product_card {
    display: flex;
    flex-direction: column;
    height: 100%;
    background: var(--ab-white);
    border-radius: 1.2rem;
    overflow: hidden;
}

.collection_section .article_card img,
.collection_section .product_card img {
    width: 100%;
    height: 25.6rem;
    object-fit: cover;
    display: block;
}

/* Tag */
.collection_section .article_card_tag,
.collection_section .product_card_tag {
    position: absolute;
    top: 2rem;
    left: 2rem;
    padding: 0.5rem 1.2rem;
    background: var(--ab-main-red);
    border-radius: 0.4rem;
    font-family: var(--font-rubik);
    font-weight: 500;
    font-size: 1.2rem;
    line-height: 1.8rem;
    letter-spacing: 0.05rem;
    color: var(--ab-white);
    text-transform: uppercase;
}

.collection_section .article_card_tag.light_red_bg,
.collection_section .product_card_tag.light_red_bg {
    background: var(--ab-main-red-20);
    color: var(--ab-white);
}

.collection_section .article_card_media,
.collection_section .product_card_media {
    position: relative;
}

/* --- Cards Grid > Article Card --- */

.collection_section .article_card_content {
    flex: 1;
    display: flex;
    flex-direction: column;
    padding: 2.8rem;
    gap: 1.6rem;
}

.collection_section .article_card_meta {
    display: flex;
    align-items: center;
    gap: 1.2rem;
    font-family: var(--font-helvetica);
    font-weight: 400;
    font-size: 1.3rem;
    line-height: 1.9rem;
    letter-spacing: 0;
    color: var(--ab-mid-black);
}

.collection_section .article_card_title {
    font-family: var(--font-rubik);
    font-weight: 700;
    font-size: 2rem;
    line-height: 2.5rem;
    letter-spacing: 0.04rem;
    color: var(--ab-noir-black);
    text-transform: uppercase;
}

.collection_section .article_card_actions {
    margin-top: auto;
}

.collection_section .article_card_link {
    display: inline-flex;
    align-items: center;
    gap: 0.8rem;
    font-family: var(--font-rubik);
    font-weight: 500;
    font-size: 1.4rem;
    line-height: 2.1rem;
    letter-spacing: 0;
    color: var(--ab-main-red);
}

.collection_section .article_card_link i {
    font-size: 1rem;
    transition: transform 0.3s ease;
}

.collection_section .article_card_link:hover i {
    transform: translateX(4px);
}


/* --- Cards Grid > Product Card --- */

.collection_section .product_card_content {
    flex: 1;
    display: flex;
    flex-direction: column;
    padding: 2.4rem;
    gap: 1.2rem;
}

.collection_section .product_card_details {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
}

.collection_section .product_card_title {
    font-family: var(--font-helvetica);
    font-weight: 700;
    font-size: 1.8rem;
    line-height: 2.5rem;
    letter-spacing: 0;
    color: var(--ab-noir-black);
}

.collection_section .product_card_title a,
.collection_section .product_card_title a:visited {
    color: inherit;
    text-decoration: none;
    transition: color 0.3s ease;
}

.collection_section .product_card_title a:hover {
    color: var(--ab-main-red);
}

.collection_section .product_card_text {
    font-family: var(--font-helvetica);
    font-weight: 400;
    font-size: 1.4rem;
    line-height: 2.1rem;
    letter-spacing: 0;
    color: var(--ab-mid-black);
}

.collection_section .product_card_footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 2rem;
}

.collection_section .product_card_price {
    font-family: var(--font-helvetica);
    font-weight: 700;
    font-size: 2rem;
    line-height: 3rem;
    letter-spacing: 0;
    color: var(--ab-noir-black);
}

.collection_section .product_card_link {
    display: inline-flex;
    align-items: center;
    gap: 0.8rem;
    font-family: var(--font-rubik);
    font-weight: 500;
    font-size: 1.4rem;
    line-height: 2.1rem;
    letter-spacing: 0;
    color: var(--ab-main-red);
}

.collection_section .product_card_link i {
    font-size: 1rem;
    transition: transform 0.3s ease;
}

.collection_section .product_card_link:hover i {
    transform: translateX(4px);
}


/* ---------- Responsive ---------- */

@media (max-width:991px) {
    .collection_section .collection_cards_grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .collection_section .collection_cards_grid_related_two {
        grid-template-columns: repeat(2, 1fr);
    }

    .collection_section .collection_cards_grid_related_single {
        grid-template-columns: minmax(0, 48rem);
        justify-content: center;
    }
}

@media (max-width:768px) {
    .collection_section .collection_header_info {
        flex-direction: column;
        align-items: flex-start;
    }

    .collection_section .collection_cards_grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width:568px) {
    .collection_section .collection_title {
        font-size: 4rem;
    }
}





/* -------------------------------------------------------------------------- */
/* --------------------------- Showcase Slider Section ---------------------- */

.showcase_slider_section {
    overflow: hidden;
}

.showcase_slider_section .showcase_slider_section_container {
    padding-left: 0;
    padding-right: 0;
    display: flex;
    flex-direction: column;
    gap: 8rem;
}


/* ---------- Showcase Slider Section Head ---------- */

.showcase_slider_section .showcase_slider_section_head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 4rem;
}

.showcase_slider_section .showcase_slider_section_head_content {
    display: flex;
    flex-direction: column;
    gap: 1.6rem;
}

.showcase_slider_section .showcase_slider_section_title {
    font-family: var(--font-rubik);
    font-weight: 700;
    font-size: 4.8rem;
    line-height: 120%;
    letter-spacing: 2%;
    color: var(--ab-noir-black);
    text-transform: uppercase;
}

.showcase_slider_section .showcase_slider_section_text {
    font-family: var(--font-helvetica);
    font-weight: 400;
    font-size: 1.8rem;
    line-height: 150%;
    letter-spacing: 0%;
    color: var(--ab-mid-black);
}

.showcase_slider_section .showcase_slider_section_top_btn {
    align-self: flex-end;
}


/* ---------- Showcase Slider Section Wrapper ---------- */

.showcase_slider_section .showcase_slider_section_wrapper {
    display: flex;
    flex-direction: column;
    gap: 4.8rem;
}

/* --- Showcase Horizontal Slider --- */

.showcase_slider_section .showcase_slider {
    width: calc(100% + ((100vw - 144rem) / 2));
    max-width: none;
    margin-left: 0;
    margin-right: calc(((100vw - 144rem) / -2));
    overflow: visible;
}

.showcase_slider_section .swiper-slide {
    width: 30.4rem !important;
    height: auto !important;
}

/* --- Showcase Slider Card --- */

.showcase_slider_section .showcase_slider_card {
    display: flex;
    flex-direction: column;
    gap: 1.6rem;
    height: 100%;
    overflow: hidden;
}

.showcase_slider_section .showcase_slider_card_image {
    display: block;
    width: 100%;
    height: 36.4rem;
    object-fit: cover;
}

.showcase_slider_section .showcase_slider_card_content {
    display: flex;
    flex-direction: column;
    gap: 0.8rem;
    flex: 1;
}

.showcase_slider_section .showcase_slider_card_title {
    font-family: var(--font-helvetica);
    font-weight: 700;
    font-size: 1.8rem;
    line-height: 150%;
    letter-spacing: 0%;
    color: var(--ab-noir-black);
}

.showcase_slider_section .showcase_slider_card_description {
    font-family: var(--font-helvetica);
    font-weight: 400;
    font-size: 1.4rem;
    line-height: 150%;
    letter-spacing: 0%;
    color: var(--ab-mid-black);
}

.showcase_slider_section .showcase_slider_card_price {
    font-family: var(--font-helvetica);
    font-weight: 700;
    font-size: 2rem;
    line-height: 150%;
    letter-spacing: 0%;
    color: var(--ab-noir-black);
}


/* ---------- Showcase Horizontal Slider Controls ---------- */

.showcase_slider_section .showcase_slider_section_controls {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 3rem;
}

.showcase_slider_section .showcase_slider_section_pagination {
    display: flex;
    align-items: center;
    gap: 0.8rem;
}

.showcase_slider_section .showcase_slider_section_pagination .swiper-pagination-bullet {
    width: 0.8rem;
    height: 0.8rem;
    margin: 0 !important;
    opacity: 1;
    background: color-mix(in srgb, var(--ab-mid-black) 20%, transparent);
}

.showcase_slider_section .showcase_slider_section_pagination .swiper-pagination-bullet-active {
    background: var(--ab-noir-black);
}

.showcase_slider_section .showcase_slider_section_nav {
    display: flex;
    gap: 1.6rem;
}

.showcase_slider_section .showcase_slider_section_prev,
.showcase_slider_section .showcase_slider_section_next {
    width: 4.8rem;
    height: 4.8rem;
    border: 0.1rem solid var(--ab-noir-black);
    border-radius: 50%;
    background: transparent;
    color: var(--ab-noir-black);
    cursor: pointer;
    transition: 0.3s ease;
}

.showcase_slider_section .showcase_slider_section_prev i,
.showcase_slider_section .showcase_slider_section_next i {
    font-size: 1.6rem;
}

.showcase_slider_section .showcase_slider_section_prev:hover,
.showcase_slider_section .showcase_slider_section_next:hover {
    background: var(--ab-noir-black);
    color: var(--ab-white);
}

/* ---------- Responsive ---------- */

@media (max-width: 1440px) {
    .showcase_slider_section .showcase_slider_section_head {
        padding-left: 2rem;
        padding-right: 2rem;
    }

    .showcase_slider_section .showcase_slider {
        width: 100%;
        margin-right: 0;
        overflow: hidden;
        padding-left: 2rem;
        padding-right: 2rem;
    }

    .showcase_slider_section .showcase_slider_section_controls {
        padding-left: 2rem;
        padding-right: 2rem;
    }
}

@media (max-width: 768px) {
    .showcase_slider_section .showcase_slider_section_head {
        flex-direction: column;
    }

    .showcase_slider_section .showcase_slider_section_controls {
        margin-top: 4rem;
        gap: 2rem;
    }
}

@media (max-width: 568px) {
    .showcase_slider_section .showcase_slider_section_title {
        font-size: 4rem;
    }
}





/* -------------------------------------------------------------------------- */
/* -------------------------- Testimonials Section -------------------------- */

.testimonials_section {
    overflow: hidden;
}

.testimonials_section .testimonials_grid {
    display: grid;
    grid-template-columns: 1fr 60rem;
    align-items: center;
    gap: 8rem;
}


/* ---------- Testimonials Content ---------- */

.testimonials_section .testimonials_content {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 1.6rem;
}

.testimonials_section .testimonials_title {
    font-family: var(--font-rubik);
    font-weight: 700;
    font-size: 4.8rem;
    line-height: 120%;
    letter-spacing: 2%;
    color: var(--ab-noir-black);
    text-transform: uppercase;
}

.testimonials_section .testimonials_text {
    font-family: var(--font-helvetica);
    font-weight: 400;
    font-size: 1.8rem;
    line-height: 150%;
    letter-spacing: 0%;
    color: var(--ab-mid-black);
}


/* ---------- Testimonials Slider Wrapper ---------- */

.testimonials_section .testimonials_slider_wrapper {
    width: 100%;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 4.8rem;
}

.testimonials_section .testimonials_slider {
    width: 100%;
    overflow: hidden;

}

/* --- Testimonials Card --- */

.testimonials_section .testimonials_card {
    padding: 3.2rem;
    border: 1px solid var(--ab-white);
    border-radius: 1.2rem;
    background: var(--ab-white);
    display: flex;
    flex-direction: column;
    gap: 2.4rem;
}


.testimonials_section .testimonials_rating {
    display: flex;
    align-items: center;
    gap: 0.4rem;
}

.testimonials_section .testimonial_star img {
    width: fit-content;
    height: 2rem;
}

.testimonials_section .testimonials_quote {
    font-family: var(--font-helvetica);
    font-weight: 400;
    font-size: 1.8rem;
    line-height: 150%;
    letter-spacing: 0%;
    color: var(--ab-mid-black);
}

.testimonials_section .testimonials_user {
    display: flex;
    align-items: center;
    gap: 1.6rem;
}

.testimonials_section .testimonials_user_image {
    display: block;
    flex-shrink: 0;
    width: 4.8rem;
    height: 4.8rem;
    border-radius: 50%;
    object-fit: cover;
}

.testimonials_section .testimonials_user_info {
    min-width: 0;
}

.testimonials_section .testimonials_user_name {
    font-family: var(--font-helvetica);
    font-weight: 700;
    font-size: 1.6rem;
    line-height: 150%;
    letter-spacing: 0%;
    color: var(--ab-noir-black);
}

.testimonials_section .testimonials_user_meta {
    font-family: var(--font-helvetica);
    font-weight: 400;
    font-size: 1.6rem;
    line-height: 150%;
    letter-spacing: 0%;
    color: var(--ab-mid-black);
}

/* --- Testimonials Controls --- */

.testimonials_section .testimonials_controls {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 3rem;
}

.testimonials_section .testimonials_pagination {
    display: flex;
    align-items: center;
    gap: 0.8rem;
}

.testimonials_section .testimonials_pagination .swiper-pagination-bullet {
    width: 0.8rem;
    height: 0.8rem;
    margin: 0 !important;
    opacity: 1;
    background: color-mix(in srgb, var(--ab-mid-black) 20%, transparent);
}

.testimonials_section .testimonials_pagination .swiper-pagination-bullet-active {
    background: var(--ab-noir-black);
}

.testimonials_section .testimonials_nav {
    display: flex;
    gap: 1.6rem;
}

.testimonials_section .testimonials_prev,
.testimonials_section .testimonials_next {
    width: 4.8rem;
    height: 4.8rem;
    border: 0.1rem solid var(--ab-noir-black);
    border-radius: 50%;
    background: transparent;
    color: var(--ab-noir-black);
    cursor: pointer;
    transition: 0.3s ease;
}


.testimonials_section .testimonials_prev i,
.testimonials_section .testimonials_next i {
    font-size: 1.6rem;
}

.testimonials_section .testimonials_prev:hover,
.testimonials_section .testimonials_next:hover {
    background: var(--ab-noir-black);
    color: var(--ab-white);
}


/* ---------- Responsive ---------- */

@media (max-width: 991px) {
    .testimonials_section .testimonials_grid {
        grid-template-columns: 1fr;
    }

    .testimonials_section .testimonials_content {
        text-align: center;
    }

    .testimonials_section .testimonials_slider_wrapper {
        max-width: 72rem;
        margin: 0 auto;
    }

    .testimonials_section .testimonials_slider_wrapper .testimonials_slider {
        max-width: 71.5rem;
    }
}

@media (max-width: 568px) {
    .testimonials_section .testimonials_title {
        font-size: 4rem;
    }
}

@media (max-width: 480px) {
    .testimonials_section .testimonials_grid {
        gap: 4rem;
    }

    .testimonials_section .testimonials_user {
        align-items: flex-start;
    }
}





/* --------------------------------------------------------------------------- */
/* ----------------------------- Products Section ---------------------------- */

.products_section {
    overflow: hidden;
}

.products_section .products_container {
    display: flex;
    flex-direction: column;
    gap: 4.2rem;
}


/* ---------- Products Header Wrapper ---------- */

.products_section .products_header_wrapper {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 3rem;
}

.products_section .products_filters {
    display: flex;
    flex-wrap: wrap;
    gap: 1.2rem;
}

.products_section .products_filter {
    height: 4.25rem;
    padding: 0 2rem;
    border-radius: .6rem;
    border: 1px solid var(--ab-noir-black-20);
    background: var(--ab-white);
    font-family: var(--font-rubik);
    font-weight: 500;
    font-size: 1.5rem;
    line-height: 2.25rem;
    letter-spacing: 0.03rem;
    color: var(--ab-noir-black);
    cursor: pointer;
    transition: .3s ease;
}

.products_section .products_filter:hover,
.products_section .products_filter.active {
    background: var(--ab-main-red);
    border-color: var(--ab-main-red);
    color: var(--ab-white);
}

.products_section .products_count {
    font-family: var(--font-helvetica);
    font-weight: 400;
    font-size: 1.4rem;
    line-height: 2.1rem;
    letter-spacing: 0;
    color: var(--ab-mid-black);
}


/* ---------- Product Cards Grid ---------- */

.products_section .products_cards_grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 2.4rem;
}

/* Product Card */
.products_section .product_card {
    background: var(--ab-white);
    border-radius: 1.2rem;
    overflow: hidden;
}

.products_section .product_card_media {
    position: relative;
}

.products_section .product_card_media img {
    width: 100%;
    height: 22.6rem;
    object-fit: cover;
    display: block;
}

/* Tag */
.products_section .product_card_tag {
    position: absolute;
    top: 1.6rem;
    left: 1.6rem;
    padding: 0.5rem 1.2rem;
    border-radius: .4rem;
    background: var(--ab-main-red);
    font-family: var(--font-rubik);
    font-weight: 500;
    font-size: 1.2rem;
    line-height: 1.8rem;
    letter-spacing: 0.05rem;
    color: var(--ab-white);
    text-transform: uppercase;
}

.products_section .product_card_tag.light_red_bg {
    background: var(--ab-main-red-20);
    color: var(--ab-white);
}

.products_section .product_card_tag.mid_black_bg {
    background: var(--ab-mid-black);
    color: var(--ab-white);
}

/* Content */
.products_section .product_card_content {
    flex: 1;
    display: flex;
    flex-direction: column;
    padding: 2.4rem;
    gap: 1.2rem;
}

.products_section .product_card_details {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
}

.products_section .product_card_title {
    font-family: var(--font-helvetica);
    font-weight: 700;
    font-size: 1.8rem;
    line-height: 2.5rem;
    letter-spacing: 0;
    color: var(--ab-noir-black);
}

.products_section .product_card_text {
    font-family: var(--font-helvetica);
    font-weight: 400;
    font-size: 1.4rem;
    line-height: 2.1rem;
    letter-spacing: 0;
    color: var(--ab-mid-black);
}

.products_section .product_card_footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 2rem;
}

.products_section .product_card_price {
    font-family: var(--font-helvetica);
    font-weight: 700;
    font-size: 2rem;
    line-height: 3rem;
    letter-spacing: 0;
    color: var(--ab-noir-black);
}

.products_section .product_card_link {
    display: inline-flex;
    align-items: center;
    gap: 0.8rem;
    font-family: var(--font-rubik);
    font-weight: 500;
    font-size: 1.4rem;
    line-height: 2.1rem;
    letter-spacing: 0;
    color: var(--ab-main-red);
}

.products_section .product_card_link i {
    font-size: 1rem;
    transition: transform 0.3s ease;
}

.products_section .product_card_link:hover i {
    transform: translateX(4px);
}


/* ---------- Product Actions ---------- */

.products_section .product_actions {
    margin-top: 0.4rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.products_section .product_card_title a {
    color: inherit;
    text-decoration: none;
}

.products_section .product_card_title a:hover {
    color: var(--ab-main-red);
}

/* ---------- Responsive ---------- */

@media (max-width:1280px) {
    .products_section .products_cards_grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (max-width:991px) {
    .products_section .products_header_wrapper {
        flex-direction: column;
        align-items: flex-start;
    }

    .products_section .products_cards_grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width:568px) {
    .products_section .products_cards_grid {
        grid-template-columns: 1fr;
    }

    .products_section .products_filter {
        flex-shrink: 0;
    }
}





/* -------------------------------------------------------------------------- */
/* ---------------------------- Industries Section --------------------------- */

.industries_section {
    overflow: hidden;
    background: var(--ab-noir-black);
}

.industries_section .industries_container {
    display: flex;
    flex-direction: column;
    gap: 6.4rem;
}


/* ---------- Header Info ---------- */

.industries_section .industries_header_info {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 1.6rem;
}

.industries_section .industries_title {
    font-family: var(--font-rubik);
    font-weight: 700;
    font-size: 4.8rem;
    line-height: 5.7rem;
    letter-spacing: 0.09rem;
    color: var(--ab-white);
    text-transform: uppercase;
}

.industries_section .industries_text {
    font-family: var(--font-helvetica);
    font-weight: 400;
    font-size: 1.8rem;
    line-height: 2.7rem;
    letter-spacing: 0;
    color: var(--ab-white-75);
}


/* ---------- Industries Cards Grid ---------- */

.industries_section .industries_cards_grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 2.4rem;
}

/* Card */
.industries_section .industry_card {
    padding: 3.2rem 3rem;
    display: flex;
    gap: 2.8rem;
    border-radius: 1.2rem;
    background: var(--ab-white-07);
}

/* Media */
.industries_section .industry_card_media {
    flex-shrink: 0;
}

.industries_section .industry_card_image {
    width: 12rem;
    height: 12rem;
    border-radius: 0.8rem;
    object-fit: cover;
    display: block;
}

/* Content */
.industries_section .industry_card_content {
    display: flex;
    flex-direction: column;
    gap: 1.6rem;
    flex: 1;
}

.industries_section .industry_card_title {
    font-family: var(--font-rubik);
    font-weight: 700;
    font-size: 2.2rem;
    line-height: 2.8rem;
    letter-spacing: 0.04rem;
    color: var(--ab-white);
    text-transform: uppercase;
}

.industries_section .industry_card_text {
    font-family: var(--font-helvetica);
    font-weight: 400;
    font-size: 1.5rem;
    line-height: 2.2rem;
    letter-spacing: 0;
    color: var(--ab-white-75);
}

/* Tags */
.industries_section .industry_card_tags {
    display: flex;
    flex-wrap: wrap;
    gap: 0.8rem;
}

.industries_section .industry_card_tag {
    padding: 0.4rem 1rem;
    border-radius: 0.4rem;
    background: var(--ab-main-red-20);
    font-family: var(--font-rubik);
    font-weight: 500;
    font-size: 1.2rem;
    line-height: 1.8rem;
    letter-spacing: 0.04rem;
    color: var(--ab-main-red);
    text-transform: uppercase;
}


/* ---------- Responsive ---------- */

@media (max-width:991px) {
    .industries_section .industries_cards_grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width:768px) {
    .industries_section .industry_card {
        flex-direction: column;
    }

    .industries_section .industry_card_image {
        width: 100%;
        height: 24rem;
    }
}

@media (max-width:568px) {
    .industries_section .industries_title {
        font-size: 4rem;
    }
}

@media (min-width: 992px) {

    .industries_section
    .industries_cards_grid
    > .industry_card:last-child:nth-child(odd) {
        grid-column: 1 / -1;
        width: calc((100% - 2.4rem) / 2);
        justify-self: center;
    }

}




/* -------------------------------------------------------------------------- */
/* --------------------------- Milestones Section ---------------------------- */

.milestones_section {
    overflow: hidden;
}

.milestones_section .milestones_container {
    display: flex;
    flex-direction: column;
    gap: 8rem;
}


/* ---------- Header Info ---------- */

.milestones_section .milestones_header_info {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 1.6rem;
}

.milestones_section .milestones_title {
    font-family: var(--font-rubik);
    font-weight: 700;
    font-size: 4.8rem;
    line-height: 5.7rem;
    letter-spacing: 0.09rem;
    color: var(--ab-noir-black);
    text-transform: uppercase;
}

.milestones_section .milestones_text {
    font-family: var(--font-helvetica);
    font-weight: 400;
    font-size: 1.8rem;
    line-height: 2.7rem;
    letter-spacing: 0%;
    color: var(--ab-mid-black);
}


/* ---------- Timeline Items ---------- */

.milestones_section .milestones_timeline_items {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 9.6rem;
}

.milestones_section .milestones_timeline_items::before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 50%;
    width: 0.1rem;
    transform: translateX(-50%);
    background: var(--ab-noir-black-20);
}

/* Item */
.milestones_section .milestone_item {
    display: grid;
    grid-template-columns: 1fr 9.6rem 1fr;
    align-items: center;
}

/* Left side items (1,3,5...) */
.milestone_item:not(.milestone_item_right) .milestone_card {
    justify-self: end;
}

/* Right side items (2,4,6...) */
.milestone_item_right .milestone_card {
    justify-self: start;
}

.milestones_section .milestone_item_right .milestone_card {
    grid-column: 3;
}

.milestones_section .milestone_item_right .milestone_year {
    grid-column: 2;
}

.milestones_section .milestone_card {
    max-width: 48rem;
    display: flex;
    flex-direction: column;
    gap: 2rem;
}

.milestones_section .milestone_image {
    width: 100%;
    height: 36rem;
    border-radius: 1.2rem;
    object-fit: cover;
    display: block;
}

.milestones_section .milestone_content {
    display: flex;
    flex-direction: column;
    gap: 1.2rem;

}

.milestones_section .milestone_item_title {
    font-family: var(--font-rubik);
    font-weight: 700;
    font-size: 2.4rem;
    line-height: 3.1rem;
    letter-spacing: 0.04rem;
    color: var(--ab-noir-black);
    text-transform: uppercase;
}

.milestones_section .milestone_item_text {
    font-family: var(--font-helvetica);
    font-weight: 400;
    font-size: 1.6rem;
    line-height: 2.4rem;
    letter-spacing: 0;
    color: var(--ab-mid-black);
}

/* Year */
.milestones_section .milestone_year {
    width: 5.6rem;
    height: 5.6rem;
    border-radius: 50%;
    background: var(--ab-main-red);
    display: flex;
    justify-content: center;
    align-items: center;
    font-family: var(--font-rubik);
    font-weight: 700;
    font-size: 1.1rem;
    line-height: 2.4rem;
    letter-spacing: 0.05rem;
    color: var(--ab-white);
    position: relative;
    z-index: 2;
    margin: 0 auto;
}


/* ---------- Responsive ---------- */

@media (max-width: 991px) {
    .milestones_section .milestones_timeline_items::before {
        left: 2.8rem;
        transform: none;
    }

    .milestones_section .milestone_item,
    .milestones_section .milestone_item_right {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        padding-left: 7rem;
        position: relative;
    }

    .milestones_section .milestone_year {
        position: absolute;
        left: 0;
        top: 0;
        margin: 0;
    }

    .milestones_section .milestone_card,
    .milestones_section .milestone_item_right .milestone_card {
        grid-column: unset;
        justify-self: unset;
        width: 100%;
        max-width: none;
    }
}

@media (max-width: 768px) {
    .milestones_section .milestone_image {
        height: 26rem;
    }
}


@media (max-width: 568px) {
    .milestones_section .milestones_title {
        font-size: 4rem;
    }
}

@media (max-width: 480px) {
    .milestones_section .milestone_image {
        height: 22rem;
    }
}





/* -------------------------------------------------------------------------- */
/* ------------------------------- Blog Section ------------------------------ */

.blog_section {
    overflow: hidden;
}

.blog_section .blog_container {
    display: flex;
    flex-direction: column;
    gap: 3.2rem;
}


/* ---------- Blog Filters ---------- */

.blog_section .blog_filters {
    margin-bottom: 1rem;
    display: flex;
    flex-wrap: wrap;
    gap: 1.2rem;
}

.blog_section .blog_filter {
    height: 4.25rem;
    padding: 0 2rem;
    border-radius: .6rem;
    border: 1px solid var(--ab-noir-black-20);
    background: var(--ab-white);
    font-family: var(--font-rubik);
    font-weight: 500;
    font-size: 1.5rem;
    line-height: 2.25rem;
    letter-spacing: 0.03rem;
    color: var(--ab-noir-black);
    cursor: pointer;
    transition: .3s ease;
}

.blog_section .blog_filter:hover,
.blog_section .blog_filter.active {
    background: var(--ab-main-red);
    border-color: var(--ab-main-red);
    color: var(--ab-white);
}


/* ---------- Featured Article ---------- */

.blog_section .blog_featured {
    display: flex;
    height: clamp(30rem, 35vw, 43rem);
    overflow: hidden;
    border-radius: 1.2rem;
    background: var(--ab-white);
}

.blog_section .blog_featured_media {
    flex: 1.3;
    position: relative;
}

.blog_section .blog_featured_card_tag {
    position: absolute;
    top: 1.2rem;
    left: 1.2rem;
    right: 1.2rem;
    width: fit-content;
    padding: 0.4rem 1.2rem;
    border-radius: 0.4rem;
    background-color: var(--ab-main-red);
    color: var(--ab-white);
    display: flex;
    justify-content: center;
    align-items: center;
    font-family: var(--font-rubik);
    font-weight: 500;
    font-size: 1.2rem;
    line-height: 1.8rem;
    letter-spacing: 0.05rem;
    color: var(--ab-white);
    text-transform: uppercase;
    z-index: 2;
}


.blog_section .blog_featured_image {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.blog_section .blog_featured_content {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 4.8rem;
    gap: 2.4rem;
}

.blog_section .blog_featured_meta {
    display: flex;
    align-items: center;
    gap: 1.6rem;
    font-family: var(--font-helvetica);
    font-weight: 400;
    font-size: 1.3rem;
    line-height: 1.9rem;
    letter-spacing: 0;
    color: var(--ab-mid-black);
}

.blog_section .blog_featured_title {
    font-family: var(--font-rubik);
    font-weight: 700;
    font-size: 3.6rem;
    line-height: 4.3rem;
    letter-spacing: 0.07rem;
    color: var(--ab-noir-black);
    text-transform: uppercase;
}

.blog_section .blog_featured_text {
    font-family: var(--font-helvetica);
    font-weight: 400;
    font-size: 1.7rem;
    line-height: 2.7rem;
    letter-spacing: 0;
    color: var(--ab-mid-black);
}

.blog_section .blog_card_link {
    display: inline-flex;
    align-items: center;
    gap: 0.8rem;
    font-family: var(--font-rubik);
    font-weight: 500;
    font-size: 1.4rem;
    line-height: 2.1rem;
    letter-spacing: 0;
    color: var(--ab-main-red);
}

.blog_section .blog_card_link i {
    font-size: 1rem;
    transition: transform 0.3s ease;
}

.blog_section .blog_card_link:hover i {
    transform: translateX(4px);
}


/* ---------- Blog Cards Grid ---------- */

.blog_section .blog_cards_grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 3rem;
}

/* --- Shared --- */

.blog_section .article_card {
    display: flex;
    flex-direction: column;
    height: 100%;
    background: var(--ab-white);
    border-radius: 1.2rem;
    overflow: hidden;
}

.blog_section .article_card img {
    width: 100%;
    height: 25.6rem;
    object-fit: cover;
    display: block;
}

/* Tag */
.blog_section .article_card_tag {
    position: absolute;
    top: 2rem;
    left: 2rem;
    padding: 0.5rem 1.2rem;
    background: var(--ab-main-red);
    border-radius: 0.4rem;
    font-family: var(--font-rubik);
    font-weight: 500;
    font-size: 1.2rem;
    line-height: 1.8rem;
    letter-spacing: 0.05rem;
    color: var(--ab-white);
    text-transform: uppercase;
}

.blog_section .article_card_media {
    position: relative;
}

/* --- Article Card --- */

.blog_section .article_card_content {
    flex: 1;
    display: flex;
    flex-direction: column;
    padding: 2.8rem;
    gap: 1.6rem;
}

.blog_section .article_card_meta {
    display: flex;
    align-items: center;
    gap: 1.2rem;
    font-family: var(--font-helvetica);
    font-weight: 400;
    font-size: 1.3rem;
    line-height: 1.9rem;
    letter-spacing: 0;
    color: var(--ab-mid-black);
}

.blog_section .article_card_title {
    font-family: var(--font-rubik);
    font-weight: 700;
    font-size: 2rem;
    line-height: 2.5rem;
    letter-spacing: 0.04rem;
    color: var(--ab-noir-black);
    text-transform: uppercase;
}

.blog_section .article_card_description {
    font-family: var(--font-helvetica);
    font-weight: 400;
    font-size: 1.5rem;
    line-height: 2.4rem;
    letter-spacing: 0;
    color: var(--ab-mid-black);
}

.blog_section .article_card_actions {
    margin-top: auto;
}

.blog_section .article_card_link {
    display: inline-flex;
    align-items: center;
    gap: 0.8rem;
    font-family: var(--font-rubik);
    font-weight: 500;
    font-size: 1.4rem;
    line-height: 2.1rem;
    letter-spacing: 0;
    color: var(--ab-main-red);
}

.blog_section .article_card_link i {
    font-size: 1rem;
    transition: transform 0.3s ease;
}

.blog_section .article_card_link:hover i {
    transform: translateX(4px);
}


/* ---------- Load More ---------- */

.blog_section .blog_load_more {
    display: flex;
    justify-content: center;
}


/* ---------- Responsive ---------- */

@media (max-width: 1200px) {
    .blog_section .blog_featured {
        flex-direction: column;
        height: auto;
    }

    .blog_section .blog_featured_media {
        flex: none;
    }

    .blog_section .blog_featured_image {
        width: 100%;
        height: 40rem;
        object-fit: cover;
    }

    .blog_section .blog_featured_content {
        flex: none;
        padding: 3.2rem;
    }

    .blog_section .blog_cards_grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 768px) {
    .blog_section .blog_featured_image {
        height: 32rem;
    }

    .blog_section .blog_featured_content {
        padding: 2.4rem;
    }

    .blog_section .blog_cards_grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 568px) {
    .blog_section .blog_featured_title {
        font-size: 3rem;
    }
}





/* --------------------------------------------------------------------------- */
/* --------------------------- Newsletter Section ---------------------------- */

.newsletter_section {
    background: var(--ab-noir-black);
    overflow: hidden;
}

.newsletter_section .newsletter_grid {
    display: grid;
    align-items: center;
    grid-template-columns: 1fr 1fr;
    gap: 8rem;
}


/* ---------- Newsletter Content ---------- */

.newsletter_section .newsletter_content {
    display: flex;
    flex-direction: column;
    gap: 2.4rem;
}

.newsletter_section .newsletter_title {
    font-family: var(--font-rubik);
    font-weight: 700;
    font-size: 4.8rem;
    line-height: 5.7rem;
    letter-spacing: 0.09rem;
    color: var(--ab-white);
    text-transform: uppercase;
}

.newsletter_section .newsletter_text {
    font-family: var(--font-helvetica);
    font-weight: 400;
    font-size: 1.8rem;
    line-height: 2.7rem;
    letter-spacing: 0;
    color: var(--ab-white-75);
}

.newsletter_section .newsletter_form {
    display: flex;
    overflow: hidden;
}

.newsletter_section .newsletter_input {
    width: 35rem;
    height: 5.2rem;
    padding: 1.4rem 2rem;
    border: none;
    outline: none;
    border-radius: 0.8rem 0 0 0.8rem;
    border: 1px solid var(--ab-white-15);
    background-color: var(--ab-white-07);
    font-family: var(--font-helvetica);
    font-weight: 400;
    font-size: 1.5rem;
    line-height: 2.2rem;
    letter-spacing: 0;
    color: var(--ab-white);
}

.newsletter_section .newsletter_input::placeholder {
    color: var(--ab-white-45);
}

.newsletter_section .newsletter_button {
    width: 16rem;
    height: 5.2rem;
    border: none;
    border-radius: 0 0.8rem 0.8rem 0;
    background: var(--ab-main-red);
    font-family: var(--font-rubik);
    font-weight: 500;
    font-size: 1.5rem;
    line-height: 2.2rem;
    letter-spacing: 0;
    color: var(--ab-white);
    cursor: pointer;
}

.newsletter_section .newsletter_note {
    font-family: var(--font-helvetica);
    font-weight: 400;
    font-size: 1.3rem;
    line-height: 1.9rem;
    letter-spacing: 0;
    color: var(--ab-white-45);
}


/* ---------- Newsletter Recent ---------- */

.newsletter_section .newsletter_recent {
    display: flex;
    flex-direction: column;
    gap: 1.6rem;

}

.newsletter_section .newsletter_recent_title {
    font-family: var(--font-rubik);
    font-weight: 700;
    font-size: 1.4rem;
    line-height: 1.8rem;
    letter-spacing: 0.1rem;
    color: var(--ab-white);
    text-transform: uppercase;
}

.newsletter_section .newsletter_recent_item {
    padding: 1.2rem 0;
    display: flex;
    align-items: center;
    gap: 1.6rem;
    border-bottom: 0.1rem solid var(--ab-white-07);
    text-decoration: none;
}

.newsletter_section .newsletter_recent_image {
    width: 5.6rem;
    height: 5.6rem;
    flex-shrink: 0;
    border-radius: 0.6rem;
    object-fit: cover;
}

.newsletter_section .newsletter_recent_content {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
}

.newsletter_section .newsletter_recent_heading {
    font-family: var(--font-rubik);
    font-weight: 500;
    font-size: 1.4rem;
    line-height: 1.8rem;
    letter-spacing: 0.02rem;
    color: var(--ab-white);
    text-transform: uppercase;
}

.newsletter_section .newsletter_recent_date {
    font-family: var(--font-helvetica);
    font-weight: 400;
    font-size: 1.2rem;
    line-height: 1.8rem;
    letter-spacing: 0;
    color: var(--ab-white-45);
}

.newsletter_section .newsletter_recent_arrow {
    color: var(--ab-white-45);
}

.newsletter_section .newsletter_recent_arrow i {
    font-size: 1rem;
    transition: transform 0.3s ease;
}

.newsletter_section .newsletter_recent_arrow:hover i {
    transform: translateX(4px);
}


/* ---------- Responsive ---------- */

@media (max-width: 991px) {
    .newsletter_section .newsletter_grid {
        grid-template-columns: 1fr;
        gap: 4rem;
    }

    .newsletter_section .newsletter_input {
        flex: 1;
    }
}

@media (max-width: 768px) {
    .newsletter_section .newsletter_form {
        flex-direction: column;
    }

    .newsletter_section .newsletter_input {
        flex: none;
        width: 100%;
        border-radius: 0.8rem 0.8rem 0 0;
    }

    .newsletter_section .newsletter_button {
        width: 100%;
        border-radius: 0 0 0.8rem 0.8rem;
    }
}

@media (max-width: 568px) {
    .newsletter_section .newsletter_title {
        font-size: 3.6rem;
    }
}





/* -------------------------------------------------------------------------- */
/* ------------------------------ Jobs Section ------------------------------- */

.jobs_section {
    overflow: hidden;
}

.jobs_section .jobs_container {
    display: flex;
    flex-direction: column;
    gap: 4.8rem;
}


/* ---------- Header Info ---------- */

.jobs_section .jobs_header_info {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 4rem;
}

.jobs_section .jobs_header_info .jobs_head_content {
    display: flex;
    flex-direction: column;
    gap: 1.6rem;
}

.jobs_section .jobs_header_info .jobs_head_content .jobs_title {
    font-family: var(--font-rubik);
    font-weight: 700;
    font-size: 4.8rem;
    line-height: 5.7rem;
    letter-spacing: 0.09rem;
    color: var(--ab-noir-black);
    text-transform: uppercase;
}

.jobs_section .jobs_header_info .jobs_head_content .jobs_text {
    font-family: var(--font-helvetica);
    font-weight: 400;
    font-size: 1.8rem;
    line-height: 2.7rem;
    letter-spacing: 0;
    color: var(--ab-mid-black);
}

.jobs_section .jobs_header_info .btn_primary_outline {
    align-self: flex-end;
}

/* ---------- Jobs Cards Grid ---------- */

.jobs_section .jobs_cards_grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 2.4rem;
}

/* Card */
.jobs_section .job_card {
    padding: 3.2rem;
    border-radius: 1.2rem;
    background: var(--ab-white);
    display: flex;
    flex-direction: column;
    gap: 2rem;
}

.jobs_section .job_card_top {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 2rem;
}

.jobs_section .job_card_tags {
    display: flex;
    flex-wrap: wrap;
    gap: 0.8rem;
}

.jobs_section .job_card_tag {
    padding: 0.4rem 1.2rem;
    font-family: var(--font-rubik);
    font-weight: 500;
    font-size: 1.2rem;
    line-height: 1.8rem;
    letter-spacing: 0.05rem;
    text-transform: uppercase;
}

/* Red Tag */
.jobs_section .job_card_tag_red {
    background: var(--ab-main-red-10);
    color: var(--ab-main-red);
}

/* Gray Tag */
.jobs_section .job_card_tag_gray {
    background: var(--ab-cream);
    color: var(--ab-mid-black);
}

.jobs_section .job_card_location {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 0.8rem;
}

.jobs_section .job_card_location i {
    font-size: 1.4rem;
    color: var(--ab-mid-black);
    position: relative;
    top: -0.1rem;
}

.jobs_section .job_card_location span {
    font-family: var(--font-helvetica);
    font-weight: 400;
    font-size: 1.4rem;
    line-height: 2.1rem;
    letter-spacing: 0;
    color: var(--ab-mid-black);
}

.jobs_section .job_card_title {
    font-family: var(--font-rubik);
    font-weight: 700;
    font-size: 2.4rem;
    line-height: 2.8rem;
    letter-spacing: 0.04rem;
    color: var(--ab-noir-black);
    text-transform: uppercase;
}

.jobs_section .job_card_text {
    font-family: var(--font-helvetica);
    font-weight: 400;
    font-size: 1.6rem;
    line-height: 2.4rem;
    letter-spacing: 0;
    color: var(--ab-mid-black);
}

.jobs_section .job_card_link {
    display: inline-flex;
    align-items: center;
    gap: 0.8rem;
    font-family: var(--font-rubik);
    font-weight: 500;
    font-size: 1.4rem;
    line-height: 2.1rem;
    letter-spacing: 0;
    color: var(--ab-main-red);
}

.jobs_section .job_card_link i {
    font-size: 1rem;
    transition: transform 0.3s ease;
}

.jobs_section .job_card_link:hover i {
    transform: translateX(4px);
}


/* ---------- Responsive ---------- */

@media (max-width: 991px) {
    .jobs_section .jobs_header_info {
        flex-direction: column;
    }

    .jobs_section .jobs_cards_grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 768px) {
    .jobs_section .job_card_top {
        flex-direction: column;
        align-items: flex-start;
    }
}

@media (max-width: 568px) {
    .jobs_section .jobs_header_info .jobs_head_content .jobs_title {
        font-size: 4rem;
    }
}





/* -------------------------------------------------------------------------- */
/* ---------------------------- Reviews Section ------------------------------ */

.reviews_section {
    overflow: hidden;
}

.reviews_section .reviews_container {
    display: flex;
    flex-direction: column;
    gap: 4.8rem;
}


/* ---------- Header Info ---------- */

.reviews_section .reviews_header_info {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 4rem;
}

.reviews_section .reviews_header_info .reviews_header_content {
    display: flex;
    flex-direction: column;
    gap: 1.6rem;
}

.reviews_section .reviews_header_info .reviews_header_content .reviews_title {
    font-family: var(--font-rubik);
    font-weight: 700;
    font-size: 4.8rem;
    line-height: 5.7rem;
    letter-spacing: 0.09rem;
    color: var(--ab-noir-black);
    text-transform: uppercase;
}

.reviews_section .reviews_header_info .reviews_header_content .reviews_summary {
    display: flex;
    align-items: center;
    gap: 1.6rem;
}

.reviews_section .reviews_header_info .reviews_header_content .reviews_stars {
    display: flex;
    align-items: center;
    gap: 0.4rem;
}

.reviews_section .reviews_header_info .reviews_header_content .reviews_star {
    display: flex;
    justify-content: center;
    align-items: center;
}

.reviews_section .reviews_header_info .reviews_header_content .reviews_star img {
    width: fit-content;
    height: 2rem;
}

.reviews_section .reviews_header_info .reviews_header_content .reviews_summary_text {
    font-family: var(--font-helvetica);
    font-weight: 400;
    font-size: 1.8rem;
    line-height: 2.7rem;
    letter-spacing: 0;
    color: var(--ab-mid-black);
}

.reviews_section .reviews_header_info .btn_primary_outline {
    align-self: flex-end;
}


/* ---------- Review Cards Grid ---------- */

.reviews_section .review_cards_grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2.4rem;
}

/* Review Card */
.reviews_section .review_card {
    padding: 3.2rem;
    background-color: var(--ab-white);
    border-radius: 1.2rem;
    display: flex;
    flex-direction: column;
    gap: 2.4rem;
}

.reviews_section .review_rating {
    display: flex;
    align-items: center;
    gap: 0.4rem;
}

.reviews_section .review_star {
    display: flex;
    justify-content: center;
    align-items: center;
}

.reviews_section .review_star img {
    width: fit-content;
    height: 2rem;
}

.reviews_section .review_quote {
    font-family: var(--font-helvetica);
    font-weight: 400;
    font-size: 1.6rem;
    line-height: 2.5rem;
    letter-spacing: 0;
    color: var(--ab-noir-black);
}

.reviews_section .review_author {
    display: flex;
    align-items: center;
    gap: 1.6rem;
}

.reviews_section .review_author_image {
    display: flex;
    justify-content: center;
    align-items: center;
}

.reviews_section .review_author_image img {
    width: 4.8rem;
    height: 4.8rem;
    border-radius: 50%;
    display: block;
}

.reviews_section .review_author_info {
    display: flex;
    flex-direction: column;
}

.reviews_section .review_author_name {
    font-family: var(--font-helvetica);
    font-weight: 700;
    font-size: 1.5rem;
    line-height: 2.2rem;
    letter-spacing: 0;
    color: var(--ab-noir-black);
}

.reviews_section .review_author_role {
    font-family: var(--font-helvetica);
    font-weight: 400;
    font-size: 1.3rem;
    line-height: 1.9rem;
    letter-spacing: 0;
    color: var(--ab-mid-black);
}


/* ---------- Responsive ---------- */

@media (max-width:991px) {
    .reviews_section .reviews_header_info {
        flex-direction: column;
    }

    .reviews_section .review_cards_grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width:768px) {
    .reviews_section .review_cards_grid {
        grid-template-columns: 1fr;
    }

    .reviews_section .reviews_summary {
        flex-wrap: wrap;
    }
}

@media (max-width:568px) {
    .reviews_section .reviews_header_info .reviews_header_content .reviews_title {
        font-size: 4rem;
    }

    .reviews_section .review_card {
        padding: 4rem 2.5rem;
    }
}





/* --------------------------------------------------------------------------- */
/* -------------------------- Bread Process Section -------------------------- */

.bread_process_section {
    overflow: hidden;
}

.bread_process_section .bread_process_container {
    display: flex;
    flex-direction: column;
    gap: 6.4rem;
}


/* ---------- Header Info ---------- */

.bread_process_section .bread_process_header_info {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 1.6rem;
    text-align: center;
}

.bread_process_section .bread_process_header_info .bread_process_title {
    font-family: var(--font-rubik);
    font-weight: 700;
    font-size: 4.8rem;
    line-height: 5.7rem;
    letter-spacing: 0.09rem;
    color: var(--ab-noir-black);
    text-transform: uppercase;
}

.bread_process_section .bread_process_header_info .bread_process_text {
    font-family: var(--font-helvetica);
    font-weight: 400;
    font-size: 1.8rem;
    line-height: 2.7rem;
    letter-spacing: 0;
    color: var(--ab-mid-black);
    letter-spacing: 1%;
}


/* ---------- Bread Process Cards Grid ---------- */

.bread_process_section .bread_process_cards_grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 3.2rem;
}

/* Card */
.bread_process_section .bread_process_card {
    padding: 3.2rem;
    border-radius: 1.2rem;
    background: var(--ab-white);
    display: flex;
    flex-direction: column;
    gap: 1.2rem;
}

.bread_process_section .bread_process_step {
    font-family: var(--font-rubik);
    font-weight: 700;
    font-size: 4.8rem;
    line-height: 4.8rem;
    letter-spacing: 0.1rem;
    color: var(--ab-main-red);
    margin-bottom: 1.2rem;
}

.bread_process_section .bread_process_card_title {
    font-family: var(--font-rubik);
    font-weight: 700;
    font-size: 2.4rem;
    line-height: 3.1rem;
    letter-spacing: 0.04rem;
    color: var(--ab-noir-black);
    text-transform: uppercase;
}

.bread_process_section .bread_process_card_text {
    font-family: var(--font-helvetica);
    font-weight: 400;
    font-size: 1.6rem;
    line-height: 2.4rem;
    letter-spacing: 0;
    color: var(--ab-mid-black);
}


/* ---------- Responsive ---------- */

@media (max-width: 991px) {
    .bread_process_section .bread_process_cards_grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 568px) {
    .bread_process_section .bread_process_header_info .bread_process_title {
        font-size: 4rem;
    }
}





/* --------------------------------------------------------------------------- */
/* ----------------------------- Gallery Section ----------------------------- */

.gallery_section {
    overflow: hidden;
}

.gallery_section .gallery_container {
    display: flex;
    flex-direction: column;
    gap: 6.4rem;
}


/* ---------- Header Info ---------- */

.gallery_section .gallery_header_info {
    display: flex;
    flex-direction: column;
    gap: 1.6rem;
}

.gallery_section .gallery_header_info .gallery_title {
    font-family: var(--font-rubik);
    font-weight: 700;
    font-size: 4.8rem;
    line-height: 5.7rem;
    letter-spacing: 0.09rem;
    color: var(--ab-noir-black);
    text-transform: uppercase;
}

.gallery_section .gallery_header_info .gallery_text {
    font-family: var(--font-helvetica);
    font-weight: 400;
    font-size: 1.8rem;
    line-height: 2.7rem;
    letter-spacing: 0;
    color: var(--ab-mid-black);
    letter-spacing: 1%;
}


/* ---------- Gallery Grid ---------- */

.gallery_section .gallery_grid {
    display: grid;
    grid-template-columns: 2fr 1fr 1fr;
    grid-template-rows: repeat(2, 30.8rem);
    gap: 1.6rem;
}

/* Items */
.gallery_section .gallery_item {
    display: block;
    overflow: hidden;
    border-radius: 1.2rem;
}

.gallery_section .gallery_item_large {
    grid-row: 1 / span 2;
}

.gallery_section .gallery_image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform .4s ease;
}

.gallery_section .gallery_item:hover .gallery_image {
    transform: scale(1.05);
}


/* ---------- Responsive ---------- */

@media (max-width: 991px) {
    .gallery_section .gallery_grid {
        grid-template-columns: repeat(2, 1fr);
        grid-template-rows: 40rem repeat(2, 24rem);
    }

    .gallery_section .gallery_item_large {
        grid-column: 1 / -1;
        grid-row: auto;
    }
}

@media (max-width: 768px) {
    .gallery_section .gallery_grid {
        grid-template-columns: repeat(2, 1fr);
        grid-template-rows: 32rem repeat(2, 20rem);
    }
}

@media (max-width: 568px) {
    .gallery_section .gallery_header_info .gallery_title {
        font-size: 4rem;
    }
}

@media (max-width: 480px) {
    .gallery_section .gallery_grid {
        grid-template-columns: 1fr;
        grid-template-rows: repeat(5, 24rem);
    }

    .gallery_section .gallery_item_large {
        grid-column: auto;
    }
}





/* -------------------------------------------------------------------------- */
/* ------------------------- Product Details Section ------------------------ */


/* ---------- Breadcrumb ---------- */

.product_details_section .product_breadcrumb {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 1rem;
    padding-top: 2.4rem;
    padding-bottom: 2.4rem;
}

.product_details_section .product_breadcrumb_link,
.product_details_section .product_breadcrumb_current {
    font-family: var(--font-helvetica);
    font-weight: 400;
    font-size: 1.4rem;
    line-height: 2.1rem;
    letter-spacing: 0;
}

.product_details_section .product_breadcrumb_link {
    color: var(--ab-mid-black);
    text-decoration: none;
    transition: .3s;
}

.product_details_section .product_breadcrumb_link:hover {
    color: var(--ab-noir-black);
}

.product_details_section .product_breadcrumb_separator {
    display: flex;
    justify-content: center;
    align-items: center;
}

.product_details_section .product_breadcrumb_separator {
    display: flex;
    align-items: center;
    color: var(--ab-mid-black);
}

.product_details_section .product_breadcrumb_separator i {
    font-size: 1rem;
}

.product_details_section .product_breadcrumb_current {
    color: var(--ab-noir-black);
    font-weight: 600;
}


/* ---------- Product Details Layout ---------- */

.product_details_section .product_details_layout {
    display: grid;
    grid-template-columns: minmax(0, 60rem) minmax(0, 1fr);
    gap: 8rem;
    align-items: start;
}

/* --- Product Showcase --- */

.product_showcase {
    width: 100%;
    max-width: 100%;
}

.product_showcase .product_showcase_badge {
    position: absolute;
    top: 1.4rem;
    left: 1.4rem;
    right: 1.4rem;
    z-index: 10;
    display: block;
    padding: 0.6rem 1.4rem;
    border-radius: 0.4rem;
    pointer-events: none;
    text-align: center;
    background: var(--ab-main-red);
    font-family: var(--font-rubik);
    font-weight: 500;
    font-size: 1.2rem;
    line-height: 1.8rem;
    letter-spacing: 0.05rem;
    color: var(--ab-white);
    text-transform: uppercase;
}

.product_showcase .product_showcase_main {
    width: 100%;
    aspect-ratio: 1/1;
    border-radius: 1.2rem;
    overflow: hidden;
    position: relative;
}

.product_showcase .product_showcase_main_wrapper .swiper-slide img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.product_showcase .product_showcase_thumbs_outer {
    margin-top: 1.6rem;
    position: relative;
}

.product_showcase .product_showcase_thumbs {
    width: 100%;
    padding: 0.4rem 0.6rem;
}

.product_showcase .product_showcase_thumbs .swiper-slide {
    width: 24.2%;
    aspect-ratio: 1/1;
    border-radius: 0.8rem;
    overflow: hidden;
    cursor: pointer;
    opacity: 0.5;
    border: 0rem solid transparent;
    transition: opacity .25s ease, border-color .25s ease, transform .25s ease;
}

.product_showcase .product_showcase_thumbs .swiper-slide img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    pointer-events: none;
}

.product_showcase .product_showcase_thumbs .swiper-slide:hover {
    opacity: 0.8;
}

.product_showcase .product_showcase_thumbs .swiper-slide-thumb-active {
    opacity: 1;
    border: 0.25rem solid var(--ab-main-red);
    transform: scale(1.02);
}

/* --- Product Details Wrapper --- */

.product_details_section .product_details_wrapper {
    display: flex;
    flex-direction: column;
    gap: 3.2rem;
}

/* Product Core Details */
.product_details_section .product_core_details {
    display: flex;
    flex-direction: column;
    gap: 1.2rem;
}

.product_details_section .product_category {
    font-family: var(--font-rubik);
    font-weight: 700;
    font-size: 1.3rem;
    line-height: 1.5rem;
    letter-spacing: 0.2rem;
    color: var(--ab-main-red);
    text-transform: uppercase;
}

.product_details_section .product_title {
    font-family: var(--font-rubik);
    font-weight: 700;
    font-size: 4rem;
    line-height: 5.5rem;
    letter-spacing: 0.09rem;
    color: var(--ab-noir-black);
    text-transform: uppercase;
}

.product_details_section .product_subtitle {
    font-family: var(--font-helvetica);
    font-weight: 400;
    font-size: 1.8rem;
    line-height: 2.7rem;
    letter-spacing: 0;
    color: var(--ab-mid-black);
}

/* Product Rating  */
.product_details_section .product_rating {
    display: flex;
    align-items: center;
    gap: 1.2rem;
    margin-top: 2rem;
}

.product_details_section .product_rating .product_rating_stars {
    display: flex;
    align-items: center;
    gap: 0.4rem;
}

.product_details_section .product_rating .product_rating_star {
    display: flex;
    justify-content: center;
    align-items: center;
}

.product_details_section .product_rating .product_rating_star img {
    width: fit-content;
    height: 2rem;
}

.product_details_section .product_rating_value {
    font-family: var(--font-helvetica);
    font-weight: 400;
    font-size: 1.6rem;
    line-height: 2.4rem;
    letter-spacing: 0;
    color: var(--ab-mid-black);
}

/* Product Details Divider */
.product_details_section .product_details_divider {
    width: 100%;
    height: 0.1rem;
    background: var(--ab-noir-black-10);
}

/* Product Description */
.product_details_section .product_description {
    font-family: var(--font-helvetica);
    font-weight: 400;
    font-size: 1.6rem;
    line-height: 2.5rem;
    letter-spacing: 0;
    color: var(--ab-mid-black);
}

/* Product Features */
.product_details_section .product_features {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.2rem;
}

.product_details_section .product_feature_card {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
    padding: 1.6rem 2rem;
    border-radius: 0.8rem;
    background: var(--ab-white);
    transition: transform .25s ease;
}

.product_details_section .product_feature_card:hover {
    transform: translateY(-.3rem);
}

.product_details_section .product_feature_label {
    font-family: var(--font-helvetica);
    font-weight: 400;
    font-size: 1.2rem;
    line-height: 1.8rem;
    letter-spacing: 0.05rem;
    color: var(--ab-mid-black);
    text-transform: uppercase;
}

.product_details_section .product_feature_value {
    font-family: var(--font-helvetica);
    font-weight: 700;
    font-size: 1.6rem;
    line-height: 2.2rem;
    letter-spacing: 0;
    color: var(--ab-noir-black);
}

/* Product Purchase */
.product_details_section .product_purchase {
    display: flex;
    flex-direction: column;
    gap: 2rem;
}

/* Price */
.product_details_section .product_price {
    display: flex;
    align-items: flex-end;
    gap: 1.2rem;
}

.product_details_section .product_price_amount {
    font-family: var(--font-helvetica);
    font-weight: 700;
    font-size: 4.8rem;
    line-height: 4.8rem;
    letter-spacing: 0;
    color: var(--ab-noir-black);
}

.product_details_section .product_price_unit {
    font-family: var(--font-helvetica);
    font-weight: 400;
    font-size: 1.6rem;
    line-height: 2.4rem;
    letter-spacing: 0;
    color: var(--ab-mid-black);
}

/* Actions */
.product_details_section .product_purchase_actions {
    display: flex;
    align-items: stretch;
    gap: 1.6rem;
}

/* Actions > Quantity Box */
.product_details_section .product_purchase_quantity {
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: 5.2rem;
    border-radius: 0.6rem;
    border: 0.1rem solid var(--ab-noir-black-20);
    background-color: var(--ab-white);
}

.product_details_section .product_purchase_quantity_btn {
    width: 3.8rem;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    border: none;
    background: transparent;
    cursor: pointer;
}

.product_details_section .product_purchase_quantity_btn i {
    font-size: 1rem;
    color: var(--ab-noir-black);
}

.product_details_section .product_purchase_quantity_btn i:hover {
    color: var(--ab-mid-black);
}

.product_details_section .product_purchase_quantity_value {
    width: 5rem;
    text-align: center;
    font-family: var(--font-rubik);
    font-weight: 700;
    font-size: 1.5rem;
    line-height: 2.2rem;
    letter-spacing: 0;
    color: var(--ab-noir-black);
}

/* Actions > Add To Cart Button */
.product_details_section .product_add_to_cart {
    flex: 1;
    min-height: 5.2rem;
}

/* Actions > Product Wishlist */
.product_details_section .product_wishlist {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 5.2rem;
    height: 5.2rem;
    flex-shrink: 0;
    border: .1rem solid var(--ab-noir-black-20);
    border-radius: 0.6rem;
    background: var(--ab-white);
    color: var(--ab-noir-black);
    cursor: pointer;
    transition:
        background-color .25s ease,
        border-color .25s ease,
        color .25s ease,
        transform .25s ease;
}

.product_details_section .product_wishlist i {
    font-size: 2rem;
}

.product_details_section .product_wishlist:hover {
    border-color: var(--ab-main-red);
    color: var(--ab-main-red);
    transform: translateY(-.1rem);
}

/* Actions > Product Notice */
.product_details_section .product_notice {
    font-family: var(--font-rubik);
    font-weight: 400;
    font-size: 1.4rem;
    line-height: 2.1rem;
    letter-spacing: 0;
    color: var(--ab-mid-black);
}


/* ---------- product_information_cards_grid ---------- */

.product_details_section .product_information_cards_grid {
    display: grid;
    grid-template-columns: 1fr 1fr .85fr;
    gap: 4.8rem;
    margin-top: 6rem;
}

.product_details_section .product_information_column {
    display: flex;
    flex-direction: column;
    gap: 2.4rem;
}

/* Ingredients Card */
.product_details_section .ingredients_card {
    display: flex;
    flex-direction: column;
    gap: 2.4rem;
    padding: 4rem;
    border-radius: 1.2rem;
    background: var(--ab-white);
    transition:
        transform .3s ease,
        border-color .3s ease,
        box-shadow .3s ease;
}

.product_details_section .ingredients_card:hover {
    transform: translateY(-.4rem);
}

.product_details_section .ingredients_card .product_information_title {
    font-family: var(--font-rubik);
    font-weight: 700;
    font-size: 2.4rem;
    line-height: 3.1rem;
    letter-spacing: 0.04rem;
    color: var(--ab-noir-black);
}

.product_details_section .ingredients_card .product_information_list {
    display: flex;
    flex-direction: column;
}

.product_details_section .ingredients_card .product_information_list_item {
    position: relative;
    display: flex;
    gap: 1.2rem;
    padding: 1.4rem 0 1.4rem 2rem;
    border-bottom: 0.1rem solid var(--ab-noir-black-10);
    font-family: var(--font-helvetica);
    font-weight: 400;
    font-size: 1.6rem;
    line-height: 2.4rem;
    letter-spacing: 0;
    color: var(--ab-mid-black);
}

.product_details_section .ingredients_card .product_information_list_item:last-child {
    border-bottom: none;
}

.product_details_section .ingredients_card .product_information_list_item::before {
    content: "";
    position: absolute;
    left: 0;
    top: 2.2rem;
    width: 0.6rem;
    height: 0.6rem;
    border-radius: 50%;
    background: var(--ab-main-red);
}

.product_details_section .ingredients_card .product_information_note {
    font-family: var(--font-helvetica);
    font-weight: 400;
    font-size: 1.3rem;
    line-height: 1.9rem;
    letter-spacing: 0;
    color: var(--ab-mid-black);
}

/* Nutrition Card */
.product_details_section .nutrition_card {
    display: flex;
    flex-direction: column;
    gap: 2.4rem;
    padding: 4rem;
    border-radius: 1.2rem;
    background: var(--ab-white);
    transition:
        transform .3s ease,
        border-color .3s ease,
        box-shadow .3s ease;
}

.product_details_section .nutrition_card:hover {
    transform: translateY(-.4rem);
}

.product_details_section .nutrition_card .product_information_title {
    font-family: var(--font-rubik);
    font-weight: 700;
    font-size: 2.4rem;
    line-height: 3.1rem;
    letter-spacing: 0.04rem;
    color: var(--ab-noir-black);
}

.product_details_section .nutrition_card .product_information_subtitle {
    display: block;
    margin-top: -1.4rem;
    font-family: var(--font-helvetica);
    font-weight: 400;
    font-size: 1.4rem;
    line-height: 2.1rem;
    letter-spacing: 0;
    color: var(--ab-mid-black);
}

.product_details_section .nutrition_card .product_nutrition {
    display: flex;
    flex-direction: column;
}

.product_details_section .nutrition_card .product_nutrition_row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 1.4rem 0;
    border-bottom: 0.1rem solid var(--ab-noir-black-10);
}

.product_details_section .nutrition_card .product_nutrition_row:last-child {
    border-bottom: none;
}

.product_details_section .nutrition_card .product_nutrition_label {
    font-family: var(--font-helvetica);
    font-weight: 400;
    font-size: 1.6rem;
    line-height: 1.6rem;
    letter-spacing: 0;
    color: var(--ab-mid-black);
}

.product_details_section .nutrition_card .product_nutrition_value {
    font-family: var(--font-helvetica);
    font-weight: 700;
    font-size: 1.6rem;
    line-height: 2.4rem;
    letter-spacing: 0;
    color: var(--ab-noir-black);
}

/* Storage Card */
.product_details_section .storage_card {
    display: flex;
    flex-direction: column;
    gap: 2rem;
    padding: 4rem;
    border-radius: 1.2rem;
    background: var(--ab-white);
    transition:
        transform .3s ease,
        border-color .3s ease,
        box-shadow .3s ease;
}

.product_details_section .storage_card:hover {
    transform: translateY(-.4rem);
}

.product_details_section .storage_card .product_information_title {
    font-family: var(--font-rubik);
    font-weight: 700;
    font-size: 2.4rem;
    line-height: 3.1rem;
    letter-spacing: 0.04rem;
    color: var(--ab-noir-black);
}

.product_details_section .storage_card .product_information_text {
    font-family: var(--font-helvetica);
    font-weight: 400;
    font-size: 1.6rem;
    line-height: 2.5rem;
    letter-spacing: 0;
    color: var(--ab-mid-black);
}

/* Delivery Card */
.product_details_section .delivery_card {
    display: flex;
    flex-direction: column;
    gap: 2rem;
    padding: 4rem;
    border-radius: 1.2rem;
    background: var(--ab-noir-black);
    transition:
        transform .3s ease,
        border-color .3s ease,
        box-shadow .3s ease;
}

.product_details_section .delivery_card:hover {
    transform: translateY(-.4rem);
}

.product_details_section .delivery_card .product_information_title {
    font-family: var(--font-rubik);
    font-weight: 700;
    font-size: 2.4rem;
    line-height: 3.1rem;
    letter-spacing: 0.04rem;
    color: var(--ab-white);
}

.product_details_section .delivery_card .product_delivery_list {
    display: flex;
    flex-direction: column;
    gap: 1.2rem;
}

.product_details_section .delivery_card .product_delivery_item {
    display: flex;
    align-items: center;
    gap: 1.2rem;
}

.product_details_section .delivery_card .product_delivery_item img {
    width: 1.8rem;
    height: 1.8rem;
}

.product_details_section .delivery_card .product_delivery_item span {
    font-family: var(--font-helvetica);
    font-weight: 400;
    font-size: 1.5rem;
    line-height: 2.2rem;
    letter-spacing: 0;
    color: var(--ab-white-75);
}

/* -------------------------------------------------------------------------- */
/* ---------------------- Product Details CMS HTML -------------------------- */
/* -------------------------------------------------------------------------- */


/* ---------- Ingredients: CMS UL / LI ---------- */

.product_details_section .ingredients_card > ul {
    display: flex;
    flex-direction: column;
    margin: 0;
    padding: 0;
    list-style: none;
}

.product_details_section .ingredients_card > ul > li {
    position: relative;
    display: flex;
    gap: 1.2rem;
    padding: 1.4rem 0 1.4rem 2rem;
    border-bottom: 0.1rem solid var(--ab-noir-black-10);

    font-family: var(--font-helvetica);
    font-weight: 400;
    font-size: 1.6rem;
    line-height: 2.4rem;
    letter-spacing: 0;
    color: var(--ab-mid-black);
}

.product_details_section .ingredients_card > ul > li:last-child {
    border-bottom: none;
}

.product_details_section .ingredients_card > ul > li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 2.2rem;

    width: 0.6rem;
    height: 0.6rem;

    border-radius: 50%;
    background: var(--ab-main-red);
}

.product_details_section .ingredients_card > p {
    font-family: var(--font-helvetica);
    font-weight: 400;
    font-size: 1.3rem;
    line-height: 1.9rem;
    letter-spacing: 0;
    color: var(--ab-mid-black);
}


/* ---------- Nutrition: CMS P / TABLE ---------- */

.product_details_section .nutrition_card > p {
    display: block;
    margin-top: -1.4rem;
    margin-bottom: 0;

    font-family: var(--font-helvetica);
    font-weight: 400;
    font-size: 1.4rem;
    line-height: 2.1rem;
    letter-spacing: 0;
    color: var(--ab-mid-black);
}

.product_details_section .nutrition_card > table {
    width: 100% !important;
    margin: 0 !important;
    border: 0 !important;
    border-spacing: 0 !important;
    border-collapse: collapse !important;
    background: transparent !important;
}

.product_details_section .nutrition_card > table tbody {
    width: 100%;
}

.product_details_section .nutrition_card > table tr {
    border-bottom: 0.1rem solid var(--ab-noir-black-10);
}

.product_details_section .nutrition_card > table tr:last-child {
    border-bottom: none;
}

.product_details_section .nutrition_card > table td {
    padding: 1.4rem 0 !important;
    border: 0 !important;
    background: transparent !important;

    font-family: var(--font-helvetica);
    font-size: 1.6rem;
    letter-spacing: 0;
}

.product_details_section .nutrition_card > table td:first-child {
    font-weight: 400;
    line-height: 1.6rem;
    color: var(--ab-mid-black);
    text-align: left;
}

.product_details_section .nutrition_card > table td:last-child {
    font-weight: 700;
    line-height: 2.4rem;
    color: var(--ab-noir-black);
    text-align: right;
}


/* ---------- Storage: CMS Paragraph ---------- */

.product_details_section .storage_card > p {
    margin: 0;

    font-family: var(--font-helvetica);
    font-weight: 400;
    font-size: 1.6rem;
    line-height: 2.5rem;
    letter-spacing: 0;
    color: var(--ab-mid-black);
}


/* ---------- Delivery: CMS UL / LI ---------- */

.product_details_section .delivery_card > ul {
    display: flex;
    flex-direction: column;
    gap: 1.2rem;

    margin: 0;
    padding: 0;
    list-style: none;
}

.product_details_section .delivery_card > ul > li {
    position: relative;

    min-height: 1.8rem;
    padding-left: 3rem;

    font-family: var(--font-helvetica);
    font-weight: 400;
    font-size: 1.5rem;
    line-height: 2.2rem;
    letter-spacing: 0;
    color: var(--ab-white-75);
}

.product_details_section .delivery_card > ul > li::before {
    content: "";

    position: absolute;
    top: 0.2rem;
    left: 0;

    width: 1.8rem;
    height: 1.8rem;

    background-image: url("/assets/icons/round-check-icon.svg");
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}

/* ------------------------------- Responsive ------------------------------- */

@media (max-width: 1200px) {
    .product_details_section .product_details_layout {
        grid-template-columns: 1fr;
    }

    .product_details_section .product_details_layout {
        grid-template-columns: 1fr;
    }

    .product_showcase {
        max-width: 70rem;
    }

    .product_details_section .product_information_cards_grid {
        grid-template-columns: repeat(1, minmax(0, 1fr));
        gap: 2.4rem;
    }
}

@media (max-width: 991px) {
    .product_showcase {
        min-width: 0;
    }
}

@media (max-width: 768px) {
    .product_showcase {
        min-width: 0;
    }
}

@media (max-width: 568px) {
    .product_details_section .product_title {
        font-size: 3.4rem;
    }

    .product_details_section .product_features {
        grid-template-columns: 1fr;
    }
}





/* -------------------------------------------------------------------------- */
/* ------------------------------- Cart Section ----------------------------- */


/* ------------------------ Cart Progress Navbar ------------------------ */

.cart_progress_navbar {
    height: 8rem;
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    gap: 2rem;
    align-items: center;
}


/* ---------- Cart Progress ---------- */

.cart_progress_navbar .cart_progress {
    grid-column: 2;
    display: flex;
    align-items: center;
    gap: 1.6rem;
}

.cart_progress_navbar .cart_progress_item {
    display: flex;
    align-items: center;
    gap: 1rem;
}

.cart_progress_navbar .cart_progress_number {
    width: 2.8rem;
    height: 2.8rem;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 50%;
    background: var(--ab-noir-black-20);
    font-family: var(--font-rubik);
    font-weight: 700;
    font-size: 1.2rem;
    line-height: 1.8rem;
    letter-spacing: 0;
    color: var(--ab-mid-black);
}

.cart_progress_navbar .cart_progress_label {
    font-family: var(--font-rubik);
    font-weight: 500;
    font-size: 1.4rem;
    line-height: 2.1rem;
    letter-spacing: 0.02rem;
    color: var(--ab-mid-black);
}

.cart_progress_navbar .cart_progress_line {
    background: var(--ab-noir-black-20);
    width: 4rem;
    height: 0.1rem;
}

.cart_progress_navbar .cart_progress_active .cart_progress_number {
    background: var(--ab-main-red);
    color: var(--ab-white);
}


/* ---------- Action Button ---------- */

.cart_progress_navbar .cart_help_button {
    grid-column: 3;
    justify-self: end;
}


/* ---------- Responsive ---------- */

@media (max-width: 768px) {
    .cart_progress_navbar {
        display: block;
        height: auto;
        padding-top: 2rem;
        padding-bottom: 2rem;
        border-bottom: 0.1rem solid var(--ab-noir-black-20);
    }

    .cart_progress_navbar .cart_help_button {
        margin-top: 2rem;
        width: 100%;
    }
}

@media (max-width: 568px) {
    .cart_progress_navbar .cart_progress {
        display: flex;
        flex-direction: column;
        align-items: start;
    }

    .cart_progress_navbar .cart_progress_line {
        display: none;
    }

    .cart_progress_navbar .cart_help_button {
        width: 100%;
    }
}


/* ------------------------------ Cart Section ------------------------------ */

.cart_section {
    overflow: hidden;
}

.cart_section .cart_container {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 40rem;
    gap: 4.8rem;
    align-items: start;
}


/* ---------- Cart Content ---------- */

.cart_section .cart_content {
    display: flex;
    flex-direction: column;
    gap: 2.4rem;
}

/* --- Header Info --- */

.cart_section .cart_header_info {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 2rem;
}

.cart_section .cart_title {
    font-family: var(--font-rubik);
    font-weight: 700;
    font-size: 3.2rem;
    line-height: 3.8rem;
    letter-spacing: 0.06rem;
    color: var(--ab-noir-black);
    text-transform: uppercase;
}

.cart_section .cart_count {
    font-family: var(--font-helvetica);
    font-weight: 400;
    font-size: 1.6rem;
    line-height: 2.4rem;
    letter-spacing: 0;
    color: var(--ab-mid-black);
}

/* --- Table Header --- */

.cart_section .cart_table_header {
    display: grid;
    grid-template-columns: 9rem minmax(0, 1fr) 12rem 12rem 4rem;
    align-items: center;
    gap: 1.6rem;
    padding: 0 2.4rem;
    font-family: var(--font-rubik);
    font-weight: 500;
    font-size: 1.3rem;
    line-height: 1.9rem;
    letter-spacing: 0.05rem;
    color: var(--ab-mid-black);
    text-transform: uppercase;
}

.cart_section .cart_table_product {
    grid-column: 2;
}

.cart_section .cart_table_quantity,
.cart_section .cart_table_price {
    text-align: center;
}

/* --- Cart Items Wrapper --- */

.cart_section .cart_items_wrapper {
    display: flex;
    flex-direction: column;
    gap: 1.2rem;
}

/* Cart Item */
.cart_section .cart_item {
    display: grid;
    grid-template-columns: auto 1fr 12rem 12rem 4rem;
    align-items: center;
    gap: 1.6rem;
    padding: 2rem 2.4rem;
    border-radius: 1.2rem;
    background: var(--ab-white);
}

/* Cart Item > Image */
.cart_section .cart_item_image {
    width: 8rem;
    height: 8rem;
    border-radius: 0.8rem;
    object-fit: cover;
}

/* Cart Item > Content */
.cart_section .cart_item_content {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 0.4rem;
}

.cart_section .cart_item_title {
    font-family: var(--font-helvetica);
    font-weight: 700;
    font-size: 1.7rem;
    line-height: 2.3rem;
    letter-spacing: 0;
    color: var(--ab-noir-black);
}

.cart_section .cart_item_description {
    font-family: var(--font-helvetica);
    font-weight: 400;
    font-size: 1.4rem;
    line-height: 2.1rem;
    letter-spacing: 0;
    color: var(--ab-mid-black);
}

.cart_section .cart_item_unit_price {
    font-family: var(--font-helvetica);
    font-weight: 400;
    font-size: 1.3rem;
    line-height: 1.9rem;
    letter-spacing: 0;
    color: var(--ab-mid-black);
}

/* Cart Item > Quantity Box */
.cart_section .cart_item_quantity {
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: 3.4rem;
    border-radius: 0.6rem;
    border: 0.1rem solid var(--ab-noir-black-20);
}

.cart_section .cart_item_quantity_btn {
    width: 3.8rem;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    border: none;
    background: transparent;
    cursor: pointer;
}

.cart_section .cart_item_quantity_btn i {
    font-size: 1rem;
    color: var(--ab-noir-black);
}

.cart_section .cart_item_quantity_btn i:hover {
    color: var(--ab-mid-black);
}

.cart_section .cart_item_quantity_value {
    width: 5rem;
    text-align: center;
    font-family: var(--font-rubik);
    font-weight: 700;
    font-size: 1.5rem;
    line-height: 2.2rem;
    letter-spacing: 0;
    color: var(--ab-noir-black);
}

/* Price */
.cart_section .cart_item_price {
    text-align: center;
    font-family: var(--font-helvetica);
    font-weight: 700;
    font-size: 1.7rem;
    line-height: 2.5rem;
    letter-spacing: 0;
    color: var(--ab-noir-black);
}

/* Remove Item */
.cart_section .cart_item_remove {
    display: flex;
    justify-content: center;
    align-items: center;
    border: none;
    background: transparent;
    cursor: pointer;
}

.cart_section .cart_item_remove i {
    font-size: 1.4rem;
    color: var(--ab-noir-black);
}

.cart_section .cart_item_remove i:hover {
    color: var(--ab-mid-black);
}

/* --- Cart Actions --- */

.cart_section .cart_actions {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 3rem;
    margin-top: 0.8rem;
}

.cart_section .cart_continue_link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    flex-shrink: 0;
    transition: 0.3s ease;
    text-decoration: none;
    white-space: nowrap;
    cursor: pointer;
    font-family: var(--font-rubik);
    font-weight: 500;
    font-size: 1.6rem;
    line-height: 150%;
    letter-spacing: 0%;
    color: var(--ab-mid-black);
}

.cart_section .cart_continue_link i {
    position: relative;
    top: 0.15rem;
    font-size: 1rem;
}


/* ---------- Order Summary ---------- */

.cart_section .order_summary {
    position: sticky;
    top: 3rem;
    padding: 3.2rem;
    border-radius: 1.2rem;
    display: flex;
    flex-direction: column;
    gap: 2.4rem;
    background: var(--ab-white);
}

/* Title */
.cart_section .order_summary_title {
    font-family: var(--font-rubik);
    font-weight: 700;
    font-size: 2rem;
    line-height: 2.6rem;
    letter-spacing: 0;
    color: var(--ab-noir-black);
    text-transform: uppercase;
}

/* Order Summary Items */
.cart_section .order_summary_items {
    display: flex;
    flex-direction: column;
    gap: 1.6rem;
}

.cart_section .order_summary_item {
    display: flex;
    align-items: center;
    gap: 1.4rem;
}

.cart_section .order_summary_image_wrapper {
    position: relative;
    width: 5.6rem;
    height: 5.6rem;
    flex-shrink: 0;
}

.cart_section .order_summary_image {
    width: 100%;
    height: 100%;
    border-radius: 0.6rem;
    object-fit: cover;
}

.cart_section .order_summary_badge {
    position: absolute;
    top: -0.8rem;
    right: -0.8rem;
    width: 2rem;
    height: 2rem;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 50%;
    background: var(--ab-main-red);
    color: var(--ab-white);
    font-family: var(--font-rubik);
    font-weight: 700;
    font-size: 1rem;
    line-height: 1.5rem;
    letter-spacing: 0;
    color: var(--ab-white);
}

.cart_section .order_summary_content {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
}

.cart_section .order_summary_name {
    font-family: var(--font-helvetica);
    font-weight: 700;
    font-size: 1.4rem;
    line-height: 1.9rem;
    letter-spacing: 0;
    color: var(--ab-noir-black);
}

.cart_section .order_summary_description {
    font-family: var(--font-helvetica);
    font-weight: 400;
    font-size: 1.2rem;
    line-height: 1.8rem;
    letter-spacing: 0;
    color: var(--ab-mid-black);
}

.cart_section .order_summary_price {
    font-family: var(--font-helvetica);
    font-weight: 700;
    font-size: 1.4rem;
    line-height: 2.1rem;
    letter-spacing: 0;
    color: var(--ab-noir-black);
}

/* Order Summary Divider */
.cart_section .order_summary .order_summary_divider {
    width: 100%;
    height: 0.1rem;
    background-color: var(--ab-noir-black-20);
}

/* Coupon Form */
.cart_section .coupon_form {
    display: flex;
    gap: 0.8rem;
}

.cart_section .coupon_input {
    flex: 1;
    height: 4.5rem;
    padding: 1rem 1.6rem;
    border: 1px solid var(--ab-noir-black-20);
    border-radius: 0.6rem;
    background: var(--ab-cream);
    font-family: var(--font-helvetica);
    font-weight: 400;
    font-size: 1.4rem;
    line-height: 2.1rem;
    letter-spacing: 0;
    color: var(--ab-mid-black);
    outline: none;
}

.cart_section .coupon_input::placeholder {
    color: var(--ab-mid-black-50);
}

.cart_section .coupon_button {
    width: fit-content;
    height: 4.5rem;
    padding: 1.2rem 1.6rem;
    font-family: var(--font-rubik);
    font-weight: 500;
    font-size: 1.4rem;
    line-height: 2.1rem;
    letter-spacing: 0;
}

/* Items Summary List */
.cart_section .items_summary_list {
    display: flex;
    flex-direction: column;
    gap: 1.22rem;
}

.cart_section .item_summary_details {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 2rem;
    font-family: var(--font-helvetica);
    font-weight: 400;
    font-size: 1.5rem;
    line-height: 2.2rem;
    letter-spacing: 0;
    color: var(--ab-mid-black);
}

.cart_section .order_notice {
    padding: 0.8rem 1.2rem;
    border-radius: 0.6rem;
    background: var(--ab-main-red-10);
    font-family: var(--font-helvetica);
    font-weight: 400;
    font-size: 1.3rem;
    line-height: 1.9rem;
    letter-spacing: 0;
    color: var(--ab-main-red);
}

/* Total Final */
.cart_section .order_total_final {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 2rem;
}

.cart_section .order_total_final_label {
    font-family: var(--font-rubik);
    font-weight: 700;
    font-size: 1.6rem;
    line-height: 2.3rem;
    letter-spacing: 0;
    color: var(--ab-noir-black);
}

.cart_section .order_total_final_value {
    font-family: var(--font-rubik);
    font-weight: 700;
    font-size: 1.6rem;
    line-height: 2.3rem;
    letter-spacing: 0;
    color: var(--ab-noir-black);
}

/* Tax Note */
.cart_section .order_tax_note {
    font-family: var(--font-helvetica);
    font-weight: 400;
    font-size: 1.3rem;
    line-height: 1.9rem;
    letter-spacing: 0;
    color: var(--ab-mid-black);
}

/* Trust Benefits */
.cart_section .order_benefits {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 1.6rem;
    margin-top: 0.8rem;
}

.cart_section .order_benefit {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.4rem;
    text-align: center;
}

.cart_section .order_benefit {
    display: flex;
    align-items: center;
    gap: 0.8rem;
}

.cart_section .order_benefit img {
    width: 1.7rem;
    height: 1.7rem;
    object-fit: contain;
    flex-shrink: 0;
}

.cart_section .order_benefit span {
    font-family: var(--font-helvetica);
    font-weight: 400;
    font-size: 1.1rem;
    line-height: 1.5rem;
    letter-spacing: 0;
    color: var(--ab-mid-black);
}


/* ---------- Responsive ---------- */

@media (max-width: 1200px) {
    .cart_section .cart_container {
        grid-template-columns: 1fr;
    }

    .cart_section .order_summary {
        position: static;
    }
}

@media (max-width: 768px) {
    .cart_section .cart_item {
        grid-template-columns: auto 1fr auto auto auto;
    }

    .cart_section .cart_header_info {
        flex-direction: column;
        align-items: flex-start;
    }

    .cart_section .cart_table_header {
        display: none;
    }

    .cart_section .cart_item_image {
        width: 8rem;
        height: 8rem;
    }

    .cart_section .cart_item_content {
        grid-column: 2;
    }

    .cart_section .cart_item_quantity {
        grid-column: 2;
        width: fit-content;
    }

    .cart_section .cart_item_price {
        grid-column: 2;
        text-align: left;
    }

    .cart_section .cart_item_remove {
        position: absolute;
        top: 2rem;
        right: 1.5rem;
    }

    .cart_section .cart_item {
        position: relative;
    }
}

@media (max-width: 480px) {
    .cart_section .cart_item {
        grid-template-columns: 1fr;
        gap: 1.6rem;
    }

    .cart_section .cart_item_image {
        width: 100%;
        height: 22rem;
    }

    .cart_section .cart_item_content,
    .cart_section .cart_item_quantity,
    .cart_section .cart_item_price {
        grid-column: auto;
    }

    .cart_section .cart_item_remove {
        position: absolute;
        top: 3rem;
        right: 3.5rem;
        display: flex;
        justify-content: center;
        align-items: center;
        width: 3.6rem;
        height: 3.6rem;
        border: none;
        border-radius: 50%;
        background: var(--ab-white);
        font-size: 2rem;
        line-height: 1;
        cursor: pointer;
        transition: .3s;
    }

    .cart_section .cart_item_remove:hover {
        background: var(--ab-cream);
    }

    .cart_section .cart_item_remove i {
        color: var(--ab-main-red);
    }

    .cart_section .cart_item_remove i:hover {
        color: var(--ab-main-red);
    }
}





/* -------------------------------------------------------------------------- */
/* ----------------------------- Article Section ----------------------------- */

.article_section {
    overflow: visible;
}


/* ---------- Breadcrumb ---------- */

.article_section .article_breadcrumb {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 1rem;
    padding-top: 2.4rem;
    padding-bottom: 2.4rem;
}

.article_section .article_breadcrumb_link,
.article_section .article_breadcrumb_current {
    font-family: var(--font-helvetica);
    font-weight: 400;
    font-size: 1.4rem;
    line-height: 2.1rem;
    letter-spacing: 0;
}

.article_section .article_breadcrumb_link {
    color: var(--ab-mid-black);
    text-decoration: none;
    transition: .3s;
}

.article_section .article_breadcrumb_link:hover {
    color: var(--ab-noir-black);
}

.article_section .article_breadcrumb_separator {
    display: flex;
    justify-content: center;
    align-items: center;
}

.article_section .article_breadcrumb_separator {
    display: flex;
    align-items: center;
    color: var(--ab-mid-black);
}

.article_section .article_breadcrumb_separator i {
    font-size: 1rem;
}

.article_section .article_breadcrumb_current {
    color: var(--ab-noir-black);
    font-weight: 600;
}


/* ---------- Article Header ---------- */

.article_section .article_header {
    max-width: 80rem;
    margin: 4.8rem auto;
    text-align: start;
    display: flex;
    flex-direction: column;
    gap: 3.2rem;
}

/* Article Meta */
.article_section .article_meta {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 1.6rem;
}

.article_section .article_category {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    padding: 0.5rem 1.2rem;
    border-radius: 0.4rem;
    background: var(--ab-main-red);
    font-family: var(--font-rubik);
    font-weight: 500;
    font-size: 1.2rem;
    line-height: 1.8rem;
    letter-spacing: 0.05rem;
    color: var(--ab-white);
    text-transform: uppercase;
}

.article_section .article_date,
.article_section .article_read_time {
    font-family: var(--font-helvetica);
    font-weight: 400;
    font-size: 1.4rem;
    line-height: 2.1rem;
    letter-spacing: 0;
    color: var(--ab-mid-black);
}

.article_section .article_meta_separator {
    color: var(--ab-mid-black);
    font-size: 1.2rem;
}

/* Title */
.article_section .article_title {
    font-family: var(--font-rubik);
    font-weight: 700;
    font-size: 5.2rem;
    line-height: 5.9rem;
    letter-spacing: 0.1rem;
    color: var(--ab-noir-black);
    text-transform: uppercase;
}

.article_section .article_description {
    font-family: var(--font-helvetica);
    font-weight: 400;
    font-size: 2rem;
    line-height: 3.3rem;
    letter-spacing: 0;
    color: var(--ab-mid-black);
}

/* Divider */
.article_section .article_header_divider {
    width: 100%;
    height: 0.1rem;
    background-color: var(--ab-noir-black-10);
}

/* Article Author Row */
.article_section .article_author_row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1.6rem;
}

.article_section .article_author_avatar {
    width: 4.8rem;
    height: 4.8rem;
    overflow: hidden;
    border-radius: 50%;
    flex-shrink: 0;
}

.article_section .article_author_avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.article_section .article_author_info {
    text-align: start;
    flex: 1;
}

.article_section .article_author_name {
    font-family: var(--font-helvetica);
    font-weight: 700;
    font-size: 1.5rem;
    line-height: 2.1rem;
    letter-spacing: 0;
    color: var(--ab-noir-black);
}

.article_section .article_author_role {
    font-family: var(--font-helvetica);
    font-weight: 400;
    font-size: 1.3rem;
    line-height: 1.9rem;
    letter-spacing: 0;
    color: var(--ab-mid-black);
}

.article_section .article_share {
    display: flex;
    align-items: center;
    gap: 1rem;
}

.article_section .article_share_label {
    font-family: var(--font-helvetica);
    font-weight: 500;
    font-size: 1.3rem;
    line-height: 1.9rem;
    letter-spacing: 0.05rem;
    color: var(--ab-mid-black);
}

.article_section .author_social_list {
    display: flex;
    align-items: center;
    gap: 1rem;
}

.article_section .author_social_list a {
    width: 3.3rem;
    height: 3.3rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    background-color: var(--ab-noir-black);
    border-radius: 100%;
}

.article_section .author_social_list a img {
    width: 100%;
    height: 100%;
    padding: 0.5rem;
}


/* ---------- Featured Image ---------- */

.article_section .article_featured_image {
    display: flex;
    flex-direction: column;
    gap: 1.2rem;
}

.article_section .article_featured_image img {
    display: block;
    width: 100%;
    height: 54rem;
    object-fit: cover;
    border-radius: 1.2rem;
}

.article_section .article_image_caption {
    font-family: var(--font-helvetica);
    font-weight: 400;
    font-size: 1.3rem;
    line-height: 1.9rem;
    letter-spacing: 0;
    color: var(--ab-mid-black);

}


/* ---------- Article Layout ---------- */

.article_section .article_layout {
    margin: 6.4rem auto 0 auto;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 32rem;
    gap: 8rem;
    align-items: start;
}


/* --- Article Layout > Article Main Content --- */

.article_section .article_main_content {
    display: flex;
    flex-direction: column;
    gap: 3.2rem;
}

/* Paragraph */
.article_section .article_paragraph {
    font-family: var(--font-helvetica);
    font-weight: 400;
    font-size: 1.8rem;
    line-height: 3.2rem;
    letter-spacing: 0;
    color: var(--ab-noir-black);
}

/* Headings */
.article_section .article_heading {
    font-family: var(--font-rubik);
    font-weight: 700;
    font-size: 3.2rem;
    line-height: 3.8rem;
    letter-spacing: 0.06rem;
    color: var(--ab-noir-black);
    text-transform: uppercase;
}

/* Images */
.article_section .article_image {
    display: flex;
    flex-direction: column;
    gap: 1.2rem;
}

.article_section .article_image img {
    display: block;
    width: 100%;
    height: 49.5rem;
    object-fit: cover;
    border-radius: 1.2rem;
}

.article_section .article_image .article_image_caption {
    font-family: var(--font-helvetica);
    font-weight: 400;
    font-size: 1.3rem;
    line-height: 1.9rem;
    letter-spacing: 0;
    color: var(--ab-mid-black);
}

/* Lists */
.article_section .article_list {
    display: flex;
    flex-direction: column;
    gap: 1.2rem;
}

.article_section .article_list_item {
    position: relative;
    padding-left: 2.2rem;
    font-family: var(--font-helvetica);
    font-weight: 400;
    font-size: 1.8rem;
    line-height: 3rem;
    letter-spacing: 0;
    color: var(--ab-noir-black);
}

.article_section .article_list_item::before {
    content: "";
    position: absolute;
    left: 0;
    top: 1rem;
    width: 0.7rem;
    height: 0.7rem;
    border-radius: 50%;
    background: var(--ab-main-red);
}

/* Quote */
.article_section .article_quote {
    padding-left: 2.4rem;
}

.article_section .article_quote_text {
    position: relative;
    font-family: var(--font-helvetica);
    font-weight: 400;
    font-size: 2.2rem;
    line-height: 3.7rem;
    letter-spacing: 0;
    color: var(--ab-noir-black);
}

/* Tags */
.article_section .article_tags_wrapper {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.8rem;
}

.article_section .article_tags_wrapper .article_tags_label {
    font-family: var(--font-rubik);
    font-weight: 500;
    font-size: 1.3rem;
    line-height: 1.9rem;
    letter-spacing: 0.05rem;
    color: var(--ab-mid-black);
    text-transform: uppercase;
}

.article_section .article_tags_wrapper .article_tag {
    padding: 0.5rem 1.22rem;
    border-radius: 0.4rem;
    background: var(--ab-noir-black-10);
    font-family: var(--font-rubik);
    font-weight: 500;
    font-size: 1.2rem;
    line-height: 1.8rem;
    letter-spacing: 0.04rem;
    color: var(--ab-mid-black);
    text-transform: uppercase;
}

/* Article Footer Share */
.article_section .article_footer_share {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 2rem;
}

.article_section .article_footer_share_label {
    font-family: var(--font-rubik);
    font-weight: 500;
    font-size: 1.5rem;
    line-height: 2.2rem;
    letter-spacing: 0.03rem;
    color: var(--ab-noir-black);
}

.article_section .article_footer_share_list {
    display: flex;
    align-items: center;
    gap: 1rem;
}

.article_section .article_footer_share_list a {
    width: 3.3rem;
    height: 3.3rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    background-color: var(--ab-noir-black);
    border-radius: 100%;
}

.article_section .article_footer_share_list a img {
    width: 100%;
    height: 100%;
    padding: 0.5rem;
}

/* Article Navigation */
.article_section .article_navigation {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.6rem;
}

.article_section .article_navigation_card {
    display: flex;
    flex-direction: column;
    gap: 0.8rem;
    padding: 2.4rem;
    border-radius: 1.2rem;
    background: var(--ab-white);
    text-decoration: none;
    transition: .35s;
}

.article_section .article_navigation_card:hover {
    transform: translateY(-.3rem);
}

.article_section .article_navigation_previous {
    text-align: left;
}

.article_section .article_navigation_next {
    text-align: right;
}

.article_section .article_navigation_previous .article_navigation_label {
    justify-content: flex-start;
}

.article_section .article_navigation_next .article_navigation_label {
    justify-content: flex-end;
}

.article_section .article_navigation_card .article_navigation_label {
    display: flex;
    gap: 0.6rem;
    font-family: var(--font-rubik);
    font-weight: 500;
    font-size: 1.2rem;
    line-height: 1.8rem;
    letter-spacing: 0.05rem;
    color: var(--ab-mid-black);
    text-transform: uppercase;
}

.article_section .article_navigation_card .article_navigation_label i {
    position: relative;
    top: 0.2rem;
}

.article_section .article_navigation_card .article_navigation_title {
    font-family: var(--font-rubik);
    font-weight: 700;
    font-size: 1.5rem;
    line-height: 1.9rem;
    letter-spacing: 0.03rem;
    color: var(--ab-noir-black);
    text-transform: uppercase;
}

/* Divider */
.article_section .article_main_content_divider {
    width: 100%;
    height: 0.1rem;
    background-color: var(--ab-noir-black-10);
}


/* --- Article Layout > Article Sidebar --- */

.article_section .article_sidebar {
    position: sticky;
    top: 2rem;
    display: flex;
    flex-direction: column;
    gap: 2.4rem;
}

/* Shared */
.article_section .article_sidebar_card {
    padding: 2.8rem;
    border-radius: 1.2rem;
    background: var(--ab-white);
}

.article_section .article_sidebar_title {
    font-family: var(--font-rubik);
    font-weight: 700;
    font-size: 1.4rem;
    line-height: 1.8rem;
    letter-spacing: 0.1rem;
    color: var(--ab-noir-black);
    text-transform: uppercase;
}

/* Author Card */
.article_section .article_author_card {
    display: flex;
    flex-direction: column;
    gap: 2rem;
}

.article_section .article_author_card_header {
    display: flex;
    align-items: center;
    gap: 1.6rem;
}

.article_section .article_author_card_avatar {
    width: 5.6rem;
    height: 5.6rem;
    overflow: hidden;
    border-radius: 50%;
    flex-shrink: 0;
}

.article_section .article_author_card_avatar img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.article_section .article_author_card_info {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
}

.article_section .article_author_card_name {
    font-family: var(--font-helvetica);
    font-weight: 700;
    font-size: 1.6rem;
    line-height: 2.2rem;
    letter-spacing: 0;
    color: var(--ab-noir-black);
}

.article_section .article_author_card_position {
    font-family: var(--font-helvetica);
    font-weight: 400;
    font-size: 1.3rem;
    line-height: 1.9rem;
    letter-spacing: 0;
    color: var(--ab-mid-black);
}

.article_section .article_author_card_text {
    font-family: var(--font-helvetica);
    font-weight: 400;
    font-size: 1.4rem;
    line-height: 2.2rem;
    letter-spacing: 0;
    color: var(--ab-mid-black);
}

/* Table Of Contents */
.article_section .article_toc {
    display: flex;
    flex-direction: column;
    gap: 1.6rem;
}

.article_section .article_toc_list {
    display: flex;
    flex-direction: column;
}

.article_section .article_toc_item {
    position: relative;
    display: flex;
    gap: 1.2rem;
    padding: 1rem 0 1rem 2rem;
    border-bottom: .1rem solid var(--ab-noir-black-10);
    font-family: var(--font-helvetica);
    font-weight: 400;
    font-size: 1.4rem;
    line-height: 2.1rem;
    letter-spacing: 0;
    color: var(--ab-mid-black);
}

.article_section .article_toc_list > .article_toc_item:last-child,
.article_section .article_toc_list > li:last-child .article_toc_item {
    border-bottom: none;
}

.article_section .article_toc_item::before {
    content: "";
    position: absolute;
    left: 0;
    top: 1.6rem;
    width: 0.6rem;
    height: 0.6rem;
    border-radius: 50%;
    background: var(--ab-main-red-20);
}

/* Newsletter CTA */
.article_section .article_cta {
    background: var(--ab-noir-black);
    display: flex;
    flex-direction: column;
    gap: 1.6rem;
}

.article_section .article_cta_heading {
    font-family: var(--font-rubik);
    font-weight: 700;
    font-size: 1.8rem;
    line-height: 2.3rem;
    letter-spacing: 0.03rem;
    color: var(--ab-white);
    text-transform: uppercase;
}

.article_section .article_cta_text {
    font-family: var(--font-helvetica);
    font-weight: 400;
    font-size: 1.4rem;
    line-height: 2.2rem;
    letter-spacing: 0rem;
    color: var(--ab-white-75);
}

.article_section .article_cta_form {
    display: flex;
    flex-direction: column;
    gap: 1.6rem;
}

.article_section .article_cta_input {
    width: 100%;
    height: 4.6rem;
    padding: 1.2rem 1.6rem;
    border-radius: 0.6rem;
    border: .1rem solid var(--ab-white-15);
    background: var(--ab-white-07);
    font-family: var(--font-helvetica);
    font-weight: 400;
    font-size: 1.4rem;
    line-height: 2.2rem;
    letter-spacing: 0rem;
    color: var(--ab-white);
}

.article_section .article_cta_input::placeholder {
    color: var(--ab-white-45);
}

.article_section .article_cta_input:focus {
    border-color: var(--ab-white);
}

.article_section .article_cta_submit {
    width: 100%;
    height: 4.6rem;
}

/* Mentioned Products */
.article_section .article_products {
    display: flex;
    flex-direction: column;
    gap: 1.6rem;
}

.article_section .article_products_list {
    display: flex;
    flex-direction: column;
    gap: 1.6rem;
}

.article_section .article_product {
    display: flex;
    align-items: center;
    gap: 1.4rem;
}

.article_section .article_product_image {
    width: 5.2rem;
    height: 5.2rem;
    overflow: hidden;
    border-radius: 0.6rem;
    flex-shrink: 0;
}

.article_section .article_product_image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.article_section .article_product_content {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
}

.article_section .article_product_name {
    font-family: var(--font-helvetica);
    font-weight: 700;
    font-size: 1.4rem;
    line-height: 1.9rem;
    letter-spacing: 0rem;
    color: var(--ab-noir-black);
}

.article_section .article_product_price {
    font-family: var(--font-helvetica);
    font-weight: 400;
    font-size: 1.3rem;
    line-height: 1.9rem;
    letter-spacing: 0rem;
    color: var(--ab-mid-black);
}

.article_section .article_product_icon {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 0.8rem;
    height: 0.8rem;
    color: var(--ab-main-red-20);
    font-size: 1rem;
    transition: .3s;
}

.article_section .article_product:hover .article_product_icon {
    color: var(--ab-main-red);
    transform: translateX(.4rem);
}


/* ---------- Responsive ---------- */

@media (max-width:1280px) {
    .article_section .article_layout {
        grid-template-columns: 1fr 32rem;
    }

    .article_section .article_featured_image img {
        height: 56rem;
    }
}

@media (max-width:991px) {
    .article_section .article_featured_image img {
        height: 44rem;
    }

    .article_section .article_layout {
        grid-template-columns: 1fr;
    }

    .article_section .article_sidebar {
        position: static;
        order: 2;
    }
}

@media (max-width:768px) {
    .article_section .article_featured_image img {
        height: 34rem;
    }

    .article_section .article_image img {
        height: 30rem;
    }
}

@media (max-width:568px) {
    .article_section .article_breadcrumb {
        padding-bottom: 0;
    }

    .article_section .article_title {
        font-size: 3.6rem;
        line-height: 5rem;
    }

    .article_section .article_navigation {
        grid-template-columns: 1fr;
    }
}

@media (max-width:480px) {
    .article_section .article_featured_image img {
        height: 26rem;
    }

    .article_section .article_image img {
        height: 22rem;
    }
}

@media (max-width: 360px) {
    .article_section .article_author_row {
        flex-direction: column;
        justify-content: flex-start;
        align-items: flex-start;
    }
}





/* -------------------------------------------------------------------------- */
/* --------------------------- Contact Form Section -------------------------- */

.contact_form_section {
    overflow: hidden;
}

.contact_form_section .contact_form_container {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 36rem;
    gap: 8rem;
    align-items: start;
}


/* ---------- Contact Form Content ---------- */

.contact_form_section .contact_form_content {
    display: flex;
    flex-direction: column;
    gap: 3.2rem;
}

/* Contact Form Header */
.contact_form_section .contact_form_header {
    display: flex;
    flex-direction: column;
    gap: 0.8rem;
}

.contact_form_section .contact_form_title {
    font-family: var(--font-rubik);
    font-weight: 700;
    font-size: 4rem;
    line-height: 4.8rem;
    letter-spacing: 0.08rem;
    color: var(--ab-noir-black);
    text-transform: uppercase;
}

.contact_form_section .contact_form_text {
    font-family: var(--font-helvetica);
    font-weight: 400;
    font-size: 1.7rem;
    line-height: 2.5rem;
    letter-spacing: 0;
    color: var(--ab-mid-black);
}


/* ---------- Contact Form Wrapper ---------- */

.contact_form_section .contact_form_wrapper {
    display: flex;
    flex-direction: column;
    gap: 2rem;

}

/* --- Topic --- */

.contact_form_section .contact_topic {
    display: flex;
    flex-direction: column;
    gap: 0.8rem;
}

.contact_form_section .contact_topic_filters {
    display: flex;
    flex-wrap: wrap;
    gap: 1.2rem;
}

.contact_form_section .contact_topic_filter {
    height: 4.25rem;
    padding: 0 2rem;
    border-radius: .6rem;
    border: 1px solid var(--ab-noir-black-20);
    background: var(--ab-white);
    font-family: var(--font-rubik);
    font-weight: 500;
    font-size: 1.5rem;
    line-height: 2.25rem;
    letter-spacing: 0.03rem;
    color: var(--ab-noir-black);
    cursor: pointer;
    transition: .3s ease;
}

.contact_form_section .contact_topic_filter:hover,
.contact_form_section .contact_topic_filter.active {
    background: var(--ab-main-red);
    border-color: var(--ab-main-red);
    color: var(--ab-white);
}

.contact_form_section .contact_topic_label {
    font-family: var(--font-rubik);
    font-weight: 500;
    font-size: 1.7rem;
    line-height: 1.9rem;
    letter-spacing: 0.05rem;
    color: var(--ab-noir-black);
    text-transform: uppercase;
}

/* Contact Topic Radio */

.contact_form_section .contact_topic_choice {
    display: inline-flex;
}

.contact_form_section .contact_topic_filter {
    display: inline-flex;
    justify-content: center;
    align-items: center;
}

.contact_form_section .contact_topic_filter_input {
    position: absolute;
    width: 0.1rem;
    height: 0.1rem;
    opacity: 0;
    pointer-events: none;
}

.contact_form_section
.contact_topic_filter_input:checked
+ .contact_topic_filter {
    background: var(--ab-main-red);
    border-color: var(--ab-main-red);
    color: var(--ab-white);
}

.contact_form_section
.contact_topic_filter_input:focus-visible
+ .contact_topic_filter {
    outline: 0.2rem solid var(--ab-main-red);
    outline-offset: 0.2rem;
}

.contact_form_section fieldset.contact_topic {
    border: 0;
    padding: 0;
    margin: 0;
    min-width: 0;
}

.contact_form_section fieldset.contact_topic .contact_topic_label {
    padding: 0;
    margin-bottom: 0.8rem;
}

.contact_form_section .contact_info_content > div.contact_info_text {
    display: flex;
    flex-direction: column;
    gap: 0.3rem;
}
/* ---  Input & Textarea --- */

.contact_form_section .contact_form_grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 2rem 1.6rem;
}

.contact_form_section .contact_form_group_full {
    grid-column: 1/-1;
}

.contact_form_section .contact_form_label {
    display: block;
    margin-bottom: 0.6rem;
    font-family: var(--font-rubik);
    font-weight: 500;
    font-size: 1.3rem;
    line-height: 1.9rem;
    letter-spacing: 0.05rem;
    color: var(--ab-noir-black);
    text-transform: uppercase;
}

.contact_form_section .contact_form_input,
.contact_form_section .contact_form_textarea {
    width: 100%;
    border: 0.1rem solid var(--ab-noir-black-10);
    border-radius: 0.8rem;
    background: var(--ab-white);
    font-family: var(--font-helvetica);
    font-weight: 400;
    font-size: 1.5rem;
    line-height: 1.9rem;
    letter-spacing: 0;
    color: var(--ab-noir-black);
}

.contact_form_section .contact_form_input {
    height: 6rem;
    padding: 0 2rem;
}

.contact_form_section .contact_form_textarea {
    min-height: 14rem;
    padding: 2rem;
    resize: none;
}

.contact_form_section .contact_form_input::placeholder,
.contact_form_section .contact_form_textarea::placeholder {
    color: var(--ab-gray);
}

.contact_form_section .contact_form_input:focus,
.contact_form_section .contact_form_textarea:focus {
    border-color: var(--ab-noir-black);
}

/* --- Checkbox --- */

.contact_form_section .contact_form_checkbox {
    display: flex;
    align-items: flex-start;
    gap: 1rem;
}

.contact_form_section .contact_form_checkbox_input {
    width: 1.8rem;
    height: 1.8rem;
    accent-color: var(--ab-main-red);
    cursor: pointer;
    flex-shrink: 0;
}

.contact_form_section .contact_form_checkbox_label {
    font-family: var(--font-helvetica);
    font-weight: 400;
    font-size: 1.4rem;
    line-height: 2.1rem;
    letter-spacing: 0;
    color: var(--ab-mid-black);
}


/* --- Submit Button --- */

.contact_form_section .contact_form_submit {
    width: 100%;
    height: 5.2rem;
}


/* ---------- Contact Sidebar ---------- */

.contact_form_section .contact_sidebar {
    display: flex;
    flex-direction: column;
    gap: 2.4rem;
}

/* --- Image --- */

.contact_form_section .contact_sidebar_image {
    position: relative;
    overflow: hidden;
    border-radius: 1.2rem;
}

.contact_form_section .contact_sidebar_image img {
    display: block;
    width: 100%;
    height: 27rem;
    object-fit: cover;
}

.contact_form_section .contact_sidebar_image_overlay {
    position: absolute;
    top: 1.5rem;
    left: 2rem;
    display: flex;
    align-items: center;
    font-family: var(--font-helvetica);
    font-weight: 400;
    font-size: 1.4rem;
    line-height: 2.1rem;
    letter-spacing: 0;
    color: var(--ab-white-75);
}

/* --- Contact Info --- */

.contact_form_section .contact_sidebar_cards {
    overflow: hidden;
    border-radius: 1.2rem;
    background: var(--ab-white);
}

.contact_form_section .contact_sidebar_card {
    display: flex;
    align-items: flex-start;
    gap: 1.6rem;
    padding: 2rem 2.4rem;
    border-bottom: 0.1rem solid var(--ab-noir-black-10);
}

.contact_form_section .contact_sidebar_card:last-child {
    border-bottom: none;
}

/* Info Icons */
.contact_form_section .contact_info_icon {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 3.6rem;
    height: 3.6rem;
    border-radius: 0.8rem;
    background: var(--ab-main-red-10);
    flex-shrink: 0;
}

.contact_form_section .contact_info_icon img {
    width: 1.8rem;
    height: 1.8rem;
    object-fit: contain;
    display: block;
}

.contact_form_section .contact_form_checkbox_label a {
    color: var(--ab-main-red);
    text-decoration: underline;
}

.contact_form_section .contact_form_checkbox_label a:hover {
    text-decoration: none;
}

/* Info Content */
.contact_form_section .contact_info_content {
    display: flex;
    flex-direction: column;
    gap: 0.3rem;
}

.contact_form_section .contact_info_title {
    font-family: var(--font-rubik);
    font-weight: 500;
    font-size: 1.3rem;
    line-height: 1.9rem;
    letter-spacing: 0.05rem;
    color: var(--ab-noir-black);
}

.contact_form_section .contact_info_text {
    font-family: var(--font-helvetica);
    font-weight: 400;
    font-size: 1.5rem;
    line-height: 2.2rem;
    letter-spacing: 0rem;
    color: var(--ab-mid-black);
}

/* Social Card */
.contact_form_section .contact_social {
    padding: 2.4rem;
    border-radius: 1.6rem;
    background: var(--ab-white);
    display: flex;
    flex-direction: column;
    gap: 1.6rem;
}

.contact_form_section .contact_social_title {
    font-family: var(--font-rubik);
    font-weight: 500;
    font-size: 1.3rem;
    line-height: 1.9rem;
    letter-spacing: 0.05rem;
    color: var(--ab-noir-black);
}

.contact_form_section .contact_social_list {
    display: flex;
    align-items: center;
    gap: 1rem;
}

.contact_form_section .contact_social_list a {
    width: 3.3rem;
    height: 3.3rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    background-color: var(--ab-noir-black);
    border-radius: 100%;
}

.contact_form_section .contact_social_list a img {
    width: 100%;
    height: 100%;
    padding: 0.5rem;
}


/* ---------- Responsive ---------- */

@media (max-width:991px) {
    .contact_form_section .contact_form_container {
        grid-template-columns: 1fr;
        gap: 6rem;
    }

    .contact_form_section .contact_sidebar_image img {
        height: 42rem;
    }
}

@media (max-width:480px) {
    .contact_form_section .contact_form_grid {
        grid-template-columns: 1fr;
    }

    .contact_form_section .contact_form_group_full {
        grid-column: auto;
    }
}

/* -------------------------------------------------------------------------- */
/* ------------------------ Showcase Product Links -------------------------- */

.showcase_slider_section .showcase_slider_card_media {
    display: block;
}

.showcase_slider_section .showcase_slider_card_title a {
    color: inherit;
    text-decoration: none;
}

.showcase_slider_section .showcase_slider_card_title a:hover {
    color: var(--ab-main-red);
}

/* -------------------------------------------------------------------------- */
/* ------------------------- Inspiration CMS Article ------------------------ */
/* -------------------------------------------------------------------------- */


/* ---------- Hidden Items ---------- */

.blog_section [hidden],
.article_section [hidden] {
    display: none !important;
}


/* ---------- CMS Article Body ---------- */

.article_section .article_body {
    display: flex;
    flex-direction: column;
    gap: 3.2rem;
}


/* Paragraph */

.article_section .article_body > p {
    font-family: var(--font-helvetica);
    font-weight: 400;
    font-size: 1.8rem;
    line-height: 3.2rem;
    letter-spacing: 0;
    color: var(--ab-noir-black);
}


/* Headings */

.article_section .article_body > h2 {
    font-family: var(--font-rubik);
    font-weight: 700;
    font-size: 3.2rem;
    line-height: 3.8rem;
    letter-spacing: 0.06rem;
    color: var(--ab-noir-black);
    text-transform: uppercase;
    scroll-margin-top: 3rem;
}

.article_section .article_body > h3 {
    font-family: var(--font-rubik);
    font-weight: 700;
    font-size: 2.4rem;
    line-height: 3.1rem;
    letter-spacing: 0.04rem;
    color: var(--ab-noir-black);
}


/* Quote */

.article_section .article_body > blockquote {
    padding-left: 2.4rem;
}

.article_section .article_body > blockquote > p {
    font-family: var(--font-helvetica);
    font-weight: 400;
    font-size: 2.2rem;
    line-height: 3.7rem;
    letter-spacing: 0;
    color: var(--ab-noir-black);
}


/* Lists */

.article_section .article_body > ul,
.article_section .article_body > ol {
    display: flex;
    flex-direction: column;
    gap: 1.2rem;
    padding: 0;
    margin: 0;
}

.article_section .article_body > ul > li,
.article_section .article_body > ol > li {
    position: relative;
    padding-left: 2.2rem;

    font-family: var(--font-helvetica);
    font-weight: 400;
    font-size: 1.8rem;
    line-height: 3rem;
    letter-spacing: 0;
    color: var(--ab-noir-black);
}


/* UL Marker */

.article_section .article_body > ul > li::before {
    content: "";

    position: absolute;
    left: 0;
    top: 1rem;

    width: 0.7rem;
    height: 0.7rem;

    border-radius: 50%;
    background: var(--ab-main-red);
}


/* Ordered List */

.article_section .article_body > ol {
    counter-reset: article-counter;
}

.article_section .article_body > ol > li {
    counter-increment: article-counter;
}

.article_section .article_body > ol > li::before {
    content: counter(article-counter) ".";

    position: absolute;
    left: 0;
    top: 0;

    font-family: var(--font-rubik);
    font-weight: 700;
    color: var(--ab-main-red);
}


/* Images / Figures */

.article_section .article_body > figure {
    display: flex;
    flex-direction: column;
    gap: 1.2rem;
    margin: 0;
}

.article_section .article_body > figure > img,
.article_section .article_body > img {
    display: block;
    width: 100%;
    height: 49.5rem;

    object-fit: cover;
    border-radius: 1.2rem;
}

.article_section .article_body > figure > figcaption {
    font-family: var(--font-helvetica);
    font-weight: 400;
    font-size: 1.3rem;
    line-height: 1.9rem;
    letter-spacing: 0;
    color: var(--ab-mid-black);
}


/* Falls der Editor Bilder automatisch in <p> setzt */

.article_section .article_body > p > img {
    display: block;
    width: 100%;
    height: auto;

    border-radius: 1.2rem;
}


/* Links */

.article_section .article_body a {
    color: var(--ab-main-red);
    text-decoration: underline;
}

.article_section .article_body a:hover {
    text-decoration: none;
}


/* ---------- Table of Contents ---------- */

.article_section .article_toc_item {
    display: block;
    text-decoration: none;
}

.article_section .article_toc_item:hover {
    color: var(--ab-main-red);
}


/* ---------- Navigation Singleton ---------- */

.article_section
.article_navigation:has(> .article_navigation_card:only-child) {
    grid-template-columns: 1fr;
}


/* ---------- Responsive CMS Article ---------- */

@media (max-width: 768px) {

    .article_section .article_body > figure > img,
    .article_section .article_body > img {
        height: 30rem;
    }

}

@media (max-width: 480px) {

    .article_section .article_body > figure > img,
    .article_section .article_body > img {
        height: 22rem;
    }

}

.error_404_section {
    min-height: 42rem;
    padding-top: 8rem;
    padding-bottom: 8rem;
}

.error_404_content {
    max-width: 64rem;
}

.error_404_code {
    display: block;
    margin-bottom: 1.2rem;
    font-weight: 700;
    font-size: 1.8rem;
    color: var(--ab-primary-red);
}

.error_404_title {
    margin-bottom: 1.6rem;
}

.error_404_text {
    margin-bottom: 3.2rem;
}