:root {
    --clr_white: #ffffff;
    --clr_light: #fdf9f4;
    --clr_cream: #f5ede0;
    --clr_red: #e8a020;
    --clr_red2: #e03222;
    --clr_green: #3a6b35;
    --clr_green2: #4e8c46;
    --clr_gold: #d4860a;
    --clr_amber: #f0a500;
    --clr_dark: #1e1208;
    --clr_text: #3d2b14;
    --clr_muted: #8c7358;
    --clr_border: #e8d8c0;
    --ff_display: 'Playfair Display', serif;
    --ff_body: 'Nunito', sans-serif;
    --ff_script: 'Dancing Script', cursive;
    --radius_lg: 16px;
    --shadow_sm: 0 2px 12px rgba(122, 74, 30, .10);
    --shadow_md: 0 6px 28px rgba(122, 74, 30, .15);
    --transition: .3s ease;

    --gold: #e8a020;
    --t: .28s ease;
    --border: #e8d8c0;
    --text: #3d2b14;
    --ff-script: 'Dancing Script', cursive;
}

/* ── ABOUT HERO — only these rules changed from original ── */
.about_hero {
    position: relative;
    min-height: 70vh;
    display: flex;
    align-items: center;
    /* spice image replaces the green gradient */
    background:
        url('../images/about_hero_2.png') center center / cover no-repeat;
    overflow: hidden;
}

/* dark overlay so text stays readable over the image */
.about_hero::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(to top,
            rgba(10, 5, 2, 0.82) 0%,
            rgba(10, 5, 2, 0.52) 50%,
            rgba(10, 5, 2, 0.28) 100%);
    z-index: 1;
}

/* the original dot-pattern now sits on top of the overlay */
.about_hero_pattern {
    position: absolute;
    inset: 0;
    background-image: radial-gradient(circle at 2px 2px, rgba(255, 255, 255, .04) 1px, transparent 0);
    background-size: 28px 28px;
    z-index: 2;
}

/* Hero inner: single column now (image removed) */
.about_hero_inner {
    position: relative;
    z-index: 3;
    /* above overlay + pattern */
    width: 80%;
    margin: 0 auto;
    padding: 0 24px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.about_hero_left {
    padding: 80px 0;
    width: 100%;
    text-align: center;
}

.breadcrumb {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 18px;
    font-size: 13px;
    color: rgba(255, 255, 255, .6);
    justify-content: center;
}

.breadcrumb a {
    color: var(--clr_amber);
    font-weight: 700;
}

.breadcrumb i {
    font-size: 9px;
}

.about_hero h1 {
    font-family: var(--ff_display);
    font-size: clamp(36px, 5.5vw, 60px);
    font-weight: 900;
    color: #fff;
    line-height: 1.1;
    margin-bottom: 18px;
    text-shadow: 0 2px 20px rgba(0, 0, 0, 0.4);
}

.about_hero h1 em {
    font-style: italic;
    color: var(--clr_amber);
}

.about_hero_desc {
    color: rgba(255, 255, 255, .82);
    font-size: 15px;
    line-height: 1.9;
    margin-bottom: 30px;
    max-width: 620px;
    margin-left: auto;
    margin-right: auto;
}

.about_chips {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: center;
}

.about_inner_chip {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    background: rgba(255, 255, 255, .12);
    border: 1px solid rgba(255, 255, 255, .25);
    color: #fff;
    font-size: 12px;
    font-weight: 700;
    padding: 7px 16px;
    border-radius: 50px;
}

.about_inner_chip i {
    color: var(--clr_amber);
    font-size: 11px;
}

/* STORY — text only, no images */
.story_section {
    position: relative;
    overflow: hidden;
    /* warm parchment background colour */
    background: #f9f0e0;
}

.story_img_panel {
    position: absolute;
    top: 0;
    right: 0;
    width: 50%;
    height: 100%;
    overflow: hidden;
}

.story_img_panel img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center right;
    display: block;
}

.story_img_panel::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(to right, #f9f0e0 0%, rgba(249, 240, 224, .55) 35%, transparent 50%);
    z-index: 1;
}

.story_content_wrap {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: 1fr 1fr;
    min-height: 560px;
    align-items: center;
}

.story_left {
    padding: 80px 48px 80px 0;
}

.story_right_spacer {
    /* intentionally empty */
}

.story_eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(232, 160, 32, .12);
    border: 1px solid rgba(232, 160, 32, .28);
    color: var(--clr_gold);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .14em;
    text-transform: uppercase;
    padding: 6px 16px;
    border-radius: 50px;
    margin-bottom: 20px;
}

.story_title {
    font-family: var(--ff_display);
    font-size: clamp(30px, 4vw, 46px);
    font-weight: 900;
    color: var(--clr_dark);
    line-height: 1.12;
    margin-bottom: 20px;
}

.story_title em {
    font-style: italic;
    color: var(--clr_amber);
}

.story_body p {
    color: var(--clr_muted);
    font-size: 14px;
    line-height: 1.9;
    margin-bottom: 13px;
}

.story_cta {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    background: var(--clr_red);
    color: #fff;
    padding: 12px 26px;
    border-radius: 50px;
    font-family: var(--ff_body);
    font-weight: 800;
    font-size: 13px;
    letter-spacing: .06em;
    text-transform: uppercase;
    margin-top: 28px;
    transition: all var(--transition);
    box-shadow: 0 4px 18px rgba(232, 160, 32, .35);
}

.story_cta:hover {
    background: var(--clr_gold);
    transform: translateY(-2px);
}

/* MISSION VISION */
.mv_section {
    background: var(--clr_light);
}

.mv_grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 28px;
}

.mv_card {
    border-radius: var(--radius_lg);
    padding: 40px 36px;
    position: relative;
    overflow: hidden;
}

.mv_card.mission {
    background: linear-gradient(135deg, var(--clr_red) 0%, #c07010 100%);
}

.mv_card.vision {
    background: linear-gradient(135deg, var(--clr_green) 0%, var(--clr_green2) 100%);
}

.mv_card_pattern {
    position: absolute;
    inset: 0;
    background-image: radial-gradient(circle at 1px 1px, rgba(255, 255, 255, .08) 1px, transparent 0);
    background-size: 24px 24px;
}

.mv_icon {
    width: 56px;
    height: 56px;
    border-radius: 14px;
    background: rgba(255, 255, 255, .15);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
    color: #fff;
    margin-bottom: 20px;
    position: relative;
}

.mv_card h3 {
    font-family: var(--ff_display);
    font-size: 26px;
    color: #fff;
    margin-bottom: 12px;
    position: relative;
}

.mv_card p {
    color: rgba(255, 255, 255, .85);
    font-size: 14px;
    line-height: 1.85;
    position: relative;
}

/* WHY WE EXIST */
.why_section {
    background: var(--clr_white);
}

.why_inner {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 64px;
    align-items: center;
}

.why_eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(58, 107, 53, .10);
    border: 1px solid rgba(58, 107, 53, .2);
    color: var(--clr_green);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .14em;
    text-transform: uppercase;
    padding: 6px 16px;
    border-radius: 50px;
    margin-bottom: 18px;
}

.why_title {
    font-family: var(--ff_display);
    font-size: clamp(28px, 4vw, 42px);
    font-weight: 900;
    color: var(--clr_dark);
    line-height: 1.15;
    margin-bottom: 18px;
}

.why_title span {
    color: var(--clr_green);
}

.why_body p {
    color: var(--clr_muted);
    font-size: 14px;
    line-height: 1.9;
    margin-bottom: 14px;
}

.why_visual {
    background: linear-gradient(135deg, var(--clr_cream), #fde8c0);
    border-radius: 24px;
    padding: 48px 36px;
    display: flex;
    flex-direction: column;
    gap: 20px;
    box-shadow: var(--shadow_sm);
}

.why_stat {
    display: flex;
    align-items: center;
    gap: 16px;
    background: var(--clr_white);
    border-radius: 14px;
    padding: 18px 20px;
    box-shadow: var(--shadow_sm);
}

.why_stat_icon {
    width: 46px;
    height: 46px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    flex-shrink: 0;
}

.why_stat_icon.g {
    background: linear-gradient(135deg, #e8f5e0, #b8e0a0);
    color: var(--clr_green);
}

.why_stat_icon.r {
    background: linear-gradient(135deg, #fff0e0, #ffd6a0);
    color: var(--clr_red);
}

.why_stat_icon.a {
    background: linear-gradient(135deg, #fff8e0, #ffe0a0);
    color: var(--clr_amber);
}

.why_stat strong {
    display: block;
    font-family: var(--ff_display);
    font-size: 18px;
    color: var(--clr_dark);
}

.why_stat span {
    font-size: 12px;
    color: var(--clr_muted);
}

/* OUR PROMISE */
.promise_section {
    background: var(--clr_light);
}

.promise_intro {
    text-align: center;
    max-width: 700px;
    margin: 0 auto 50px;
}

.promise_intro p {
    font-size: 15px;
    color: var(--clr_muted);
    line-height: 1.9;
}

.promise_grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 20px;
}

.promise_card {
    background: var(--clr_white);
    border-radius: var(--radius_lg);
    padding: 28px 20px;
    text-align: center;
    border: 1.5px solid var(--clr_border);
    box-shadow: var(--shadow_sm);
    transition: all var(--transition);
}

.promise_card:hover {
    transform: translateY(-5px);
    box-shadow: var(--shadow_md);
    border-color: rgba(232, 160, 32, .3);
}

.promise_icon {
    width: 56px;
    height: 56px;
    border-radius: 50%;
    background: linear-gradient(135deg, #fff0e0, #ffdecb);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
    color: var(--clr_red);
    margin: 0 auto 14px;
}

.promise_card h4 {
    font-family: var(--ff_display);
    font-size: 15px;
    color: var(--clr_dark);
    margin-bottom: 8px;
}

.promise_card p {
    font-size: 12px;
    color: var(--clr_muted);
    line-height: 1.7;
}

.promise_banner {
    margin-top: 50px;
    background: linear-gradient(135deg, var(--clr_green) 0%, var(--clr_green2) 100%);
    border-radius: var(--radius_lg);
    padding: 40px 48px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 32px;
    flex-wrap: wrap;
    position: relative;
    overflow: hidden;
}

.promise_banner::before {
    content: '';
    position: absolute;
    inset: 0;
    background-image: radial-gradient(circle at 1px 1px, rgba(255, 255, 255, .07) 1px, transparent 0);
    background-size: 22px 22px;
}

.promise_banner_text {
    position: relative;
}

.promise_banner_text h3 {
    font-family: var(--ff_display);
    font-size: clamp(22px, 3vw, 32px);
    color: #fff;
    margin-bottom: 10px;
}

.promise_banner_text p {
    color: rgba(255, 255, 255, .8);
    font-size: 14px;
    line-height: 1.8;
    max-width: 540px;
}

.promise_banner_btn {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: #fff;
    color: var(--clr_green);
    padding: 13px 28px;
    border-radius: 50px;
    font-family: var(--ff_body);
    font-weight: 800;
    font-size: 13px;
    letter-spacing: .06em;
    text-transform: uppercase;
    transition: all var(--transition);
    white-space: nowrap;
    flex-shrink: 0;
}

.promise_banner_btn:hover {
    background: var(--clr_amber);
    color: #fff;
}

@keyframes fadeUp {
    from {
        opacity: 0;
        transform: translateY(22px)
    }

    to {
        opacity: 1;
        transform: translateY(0)
    }
}

.fade_up {
    opacity: 0;
    animation: fadeUp .7s forwards;
}

.section_title {
    text-align: center;
    margin-bottom: 10px;
}

.section_title h2 {
    font-family: var(--ff_display);
    font-size: clamp(26px, 4vw, 40px);
    color: var(--clr_dark);
    display: inline-block;
    position: relative;
}

.section_title h2 span {
    color: var(--clr_red);
}

.section_title h2::after {
    content: '';
    display: block;
    width: 56px;
    height: 3px;
    background: linear-gradient(90deg, var(--clr_red), var(--clr_amber));
    margin: 10px auto 0;
    border-radius: 2px;
}

.section_subtitle {
    text-align: center;
    color: var(--clr_muted);
    font-size: 14px;
    letter-spacing: .04em;
    margin-bottom: 50px;
}

/* RESPONSIVE */
@media(max-width:1024px) {

    .why_inner,
    .mv_grid {
        grid-template-columns: 1fr;
    }

    .footer_grid {
        grid-template-columns: 1fr 1fr;
    }

    .promise_grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media(max-width:768px) {
    .nav_links {
        display: none;
    }

    .hamburger {
        display: flex
    }

    .promise_grid {
        grid-template-columns: 1fr 1fr;
    }

    .footer_grid {
        grid-template-columns: 1fr;
    }

    .promise_banner {
        padding: 28px 24px;
    }
}

@media(max-width:480px) {
    .promise_grid {
        grid-template-columns: 1fr;
    }
}

.read_more_story {
    display: none;
}

/* ===========================
            STORY SECTION MOBILE
        ===========================*/

@media (max-width:768px) {

    .story_section {
        background: #f9f0e0;
        padding: 60px 0;
    }

    .story_content_wrap {
        display: block;
        min-height: auto;
    }

    .story_img_panel {
        position: relative;
        width: 100%;
        height: 260px;
        margin-bottom: 30px;
    }

    .story_img_panel img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: center;
    }

    .story_img_panel::before {
        display: none;
    }

    .story_left {
        padding: 0;
    }

    .story_title {
        font-size: 42px;
        line-height: 1.1;
    }

    .story_body {
        position: relative;
    }

    .story_body.collapsed {
        max-height: 190px;
        overflow: hidden;
    }

    .story_body.collapsed::after {
        content: "";
        position: absolute;
        left: 0;
        right: 0;
        bottom: 0;
        height: 80px;
        background: linear-gradient(to bottom,
                rgba(249, 240, 224, 0),
                rgba(249, 240, 224, 1));
    }

    .read_more_story {
        width: fit-content;
        display: flex;
        align-items: center;
        gap: 10px;
        margin-top: 20px;
        color: var(--clr_red);
        border-bottom: 2px solid var(--clr_red);
        font-weight: 700;
        cursor: pointer;
    }

}

/* ======================================================
        2K / 4K / 5K / ULTRAWIDE RESPONSIVE
        ====================================================== */

@media screen and (min-width:1721px) {

    /* Container */

    .container {
        max-width: 75vw;
        padding: 0 1.25vw;
    }

    .section_padding {
        padding: 4vw 0;
    }

    /* Header */

    .nav {
        max-width: 75vw;
        padding: .7vw 1.25vw;
    }

    .nav_logo img {
        height: 2.9vw;
    }

    .nav_links {
        gap: 1.25vw;
    }

    .nav_links a {
        font-size: .68vw;
        padding-bottom: .2vw;
    }

    .nav_icons {
        gap: .45vw;
    }

    .nav_btn {
        width: 2vw;
        height: 2vw;
        font-size: .75vw;
    }

    /* About Hero */

    .about_hero {
        min-height: 80vh;
    }

    .about_hero_inner {
        width: 75%;
        padding: 0 1.25vw;
    }

    .about_hero_left {
        padding: 5vw 0;
    }

    .breadcrumb {
        gap: .45vw;
        margin-bottom: 1vw;
        font-size: .68vw;
    }

    .breadcrumb i {
        font-size: .45vw;
    }

    .about_hero h1 {
        font-size: 3.6vw;
        margin-bottom: 1vw;
    }

    .about_hero_desc {
        font-size: .82vw;
        max-width: 32vw;
        margin-bottom: 1.8vw;
    }

    .about_chips {
        gap: .6vw;
    }

    .about_inner_chip {
        font-size: .62vw;
        padding: .45vw .95vw;
        gap: .35vw;
    }

    /* Section Title */

    .section_title {
        margin-bottom: .6vw;
    }

    .section_title h2 {
        font-size: 2.35vw;
    }

    .section_subtitle {
        font-size: .75vw;
        margin-bottom: 2.8vw;
    }

    /* Story */

    .story_content_wrap {
        min-height: 34vw;
    }

    .story_left {
        padding: 4vw 2.5vw 4vw 0;
    }

    .story_eyebrow {
        font-size: .58vw;
        padding: .35vw .9vw;
        margin-bottom: 1vw;
    }

    .story_title {
        font-size: 2.5vw;
        margin-bottom: 1vw;
    }

    .story_body p {
        font-size: .75vw;
        margin-bottom: .8vw;
    }

    .story_cta {
        padding: .65vw 1.5vw;
        font-size: .68vw;
        margin-top: 1.5vw;
    }

    /* Mission Vision */

    .mv_grid {
        gap: 1.8vw;
    }

    .mv_card {
        padding: 2.4vw 2vw;
        border-radius: 1vw;
    }

    .mv_icon {
        width: 3vw;
        height: 3vw;
        font-size: 1.3vw;
        margin-bottom: 1vw;
    }

    .mv_card h3 {
        font-size: 1.5vw;
        margin-bottom: .8vw;
    }

    .mv_card p {
        font-size: .72vw;
    }

    /* Why */

    .why_inner {
        gap: 3vw;
    }

    .why_eyebrow {
        font-size: .58vw;
        padding: .35vw .9vw;
        margin-bottom: 1vw;
    }

    .why_title {
        font-size: 2.3vw;
        margin-bottom: 1vw;
    }

    .why_body p {
        font-size: .75vw;
        margin-bottom: .8vw;
    }

    .why_visual {
        padding: 2.8vw;
        border-radius: 1.3vw;
        gap: 1.2vw;
    }

    .why_stat {
        padding: 1vw 1.2vw;
        border-radius: .9vw;
        gap: 1vw;
    }

    .why_stat_icon {
        width: 2.8vw;
        height: 2.8vw;
        font-size: 1vw;
    }

    .why_stat strong {
        font-size: 1vw;
    }

    .why_stat span {
        font-size: .65vw;
    }

    /* Promise */

    .promise_intro {
        max-width: 42vw;
        margin-bottom: 2.5vw;
    }

    .promise_intro p {
        font-size: .75vw;
    }

    .promise_grid {
        gap: 1.2vw;
    }

    .promise_card {
        padding: 1.8vw 1.2vw;
        border-radius: 1vw;
    }

    .promise_icon {
        width: 3vw;
        height: 3vw;
        font-size: 1.2vw;
        margin-bottom: .9vw;
    }

    .promise_card h4 {
        font-size: .9vw;
    }

    .promise_card p {
        font-size: .65vw;
    }

    .promise_banner {
        padding: 2.6vw 3vw;
        margin-top: 3vw;
        gap: 2vw;
    }

    .promise_banner_text h3 {
        font-size: 2vw;
    }

    .promise_banner_text p {
        font-size: .75vw;
        max-width: 34vw;
    }

    .promise_banner_btn {
        padding: .7vw 1.5vw;
        font-size: .68vw;
    }

    /* Footer */

    .footer {
        padding: 4vw 0 1.5vw;
    }

    .footer_grid {
        gap: 2vw;
        margin-bottom: 2.5vw;
    }

    .footer_logo_name {
        font-size: 1.7vw;
    }

    .footer_brand p {
        font-size: .72vw;
    }

    .footer_heading {
        font-size: .9vw;
    }

    .footer_links a {
        font-size: .68vw;
    }

    .footer_contact_item p {
        font-size: .68vw;
    }

    .footer_contact_icon {
        width: 2vw;
        height: 2vw;
        font-size: .75vw;
    }

    .footer_social {
        gap: .45vw;
    }

    .footer_social a {
        width: 2vw;
        height: 2vw;
        font-size: .75vw;
    }

    .footer_bottom {
        padding-top: 1.3vw;
    }

    .footer_bottom p {
        font-size: .62vw;
    }

    .footer_bottom_links {
        gap: 1vw;
    }

    .footer_bottom_links a {
        font-size: .6vw;
    }

    /* Scroll Button */

    .scroll_top_btn {
        width: 2.5vw;
        height: 2.5vw;
        right: 1.5vw;
        bottom: 1.5vw;
        font-size: .9vw;
    }

}