/* =========================================================
   SHAC INITIATIVE
   ABOUT PAGE
========================================================= */


/* =========================================================
   ABOUT PAGE BREADCRUMB HERO
========================================================= */

.about-page-hero {

    position: relative;

    overflow: hidden;

    padding: 35px 0 25px;

    background:
        radial-gradient(
            circle at 85% 20%,
            rgba(211,163,59,.18),
            transparent 28%
        ),
        linear-gradient(
            135deg,
            #55301f 0%,
            #452619 55%,
            #301b13 100%
        );

    color: white;

}


/* =========================================================
   DECORATIVE SHAPES
========================================================= */

.about-hero-shape {

    position: absolute;

    pointer-events: none;

}


.about-shape-one {

    width: 170px;

    height: 170px;

    right: 8%;

    top: -85px;

    border: 1px solid rgba(211,163,59,.3);

    border-radius: 50%;

}


.about-shape-two {

    width: 90px;

    height: 90px;

    left: 6%;

    bottom: -45px;

    border: 1px solid rgba(242,95,70,.3);

    border-radius: 50%;

}


.about-hero-circle {

    position: absolute;

    width: 8px;

    height: 8px;

    right: 19%;

    bottom: 30%;

    border-radius: 50%;

    background: var(--action-coral);

    box-shadow:
        0 0 0 8px rgba(242,95,70,.08),
        0 0 0 16px rgba(242,95,70,.04);

}


/* =========================================================
   HERO CONTENT
========================================================= */

.about-page-hero-content {

    position: relative;

    z-index: 2;

}


/* =========================================================
   BREADCRUMB
========================================================= */

.about-breadcrumb {

    display: inline-flex;

    align-items: center;

    gap: 13px;

    margin-bottom: 60px;

    padding: 9px 16px;

    border: 1px solid rgba(255,255,255,.16);

    border-radius: 50px;

    background: rgba(255,255,255,.06);

    backdrop-filter: blur(5px);

    font-size: 11px;

}


.about-breadcrumb a {

    color: rgba(255,255,255,.65);

    text-decoration: none;

    transition: .3s ease;

}


.about-breadcrumb a:hover {

    color: var(--hope-gold);

}


.about-breadcrumb span {

    display: flex;

    align-items: center;

    justify-content: center;

    width: 18px;

    height: 18px;

    border-radius: 50%;

    background: var(--hope-gold);

    color: var(--heritage-brown);

}


.about-breadcrumb span i {

    font-size: 8px;

}


.about-breadcrumb strong {

    color: white;

    font-weight: 600;

}


/* =========================================================
   TITLE ROW
========================================================= */

.about-title-row {

    display: grid;

    grid-template-columns: 1.2fr .8fr;

    gap: 80px;

    align-items: end;

}


.about-hero-eyebrow {

    display: block;

    margin-bottom: 18px;

    color: var(--hope-gold);

    font-family: var(--slab);

    font-size: 10px;

    font-weight: 700;

    letter-spacing: 2.5px;

}


.about-title-row h1 {

    margin: 0;

    font-family: var(--serif);

    font-size: clamp(65px, 8vw, 105px);

    font-weight: 400;

    line-height: .88;

    letter-spacing: -3px;

}


.about-title-row h1 span {

    color: var(--hope-gold);

}


/* =========================================================
   DESCRIPTION
========================================================= */

.about-hero-description {

    max-width: 430px;

    padding-left: 30px;

    border-left: 2px solid var(--action-coral);

}


.about-hero-description p {

    margin: 0;

    color: rgba(255,255,255,.68);

    font-size: 14px;

    line-height: 1.9;

}


/* =========================================================
   HERO BOTTOM
========================================================= */

.about-hero-bottom {

    display: flex;

    align-items: center;

    justify-content: space-between;

    margin-top: 70px;

    padding-top: 20px;

    border-top: 1px solid rgba(255,255,255,.13);

}


.about-hero-bottom > span {

    color: rgba(255,255,255,.4);

    font-family: var(--slab);

    font-size: 8px;

    font-weight: 700;

    letter-spacing: 2px;

}


.about-hero-arrow {

    width: 42px;

    height: 42px;

    display: flex;

    align-items: center;

    justify-content: center;

    border: 1px solid rgba(255,255,255,.2);

    border-radius: 50%;

    color: var(--hope-gold);

    font-size: 14px;

}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 991px) {

    .about-page-hero {

        padding: 60px 0 55px;

    }


    .about-breadcrumb {

        margin-bottom: 45px;

    }


    .about-title-row {

        grid-template-columns: 1fr;

        gap: 35px;

    }


    .about-hero-description {

        max-width: 600px;

    }


    .about-hero-bottom {

        margin-top: 50px;

    }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767px) {

    .about-page-hero {

        padding: 50px 0 45px;

    }


    .about-breadcrumb {

        margin-bottom: 40px;

        font-size: 10px;

    }


    .about-title-row {

        gap: 30px;

    }


    .about-title-row h1 {

        font-size: 62px;

        letter-spacing: -2px;

    }


    .about-hero-description {

        padding-left: 20px;

    }


    .about-hero-description p {

        font-size: 12px;

        line-height: 1.8;

    }


    .about-hero-bottom {

        margin-top: 45px;

    }


    .about-hero-bottom > span {

        max-width: 200px;

        line-height: 1.5;

    }


    .about-shape-one {

        right: -70px;

    }

}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media (max-width: 480px) {

    .about-title-row h1 {

        font-size: 52px;

    }


    .about-breadcrumb {

        padding: 8px 13px;

        gap: 10px;

    }


    .about-hero-description {

        padding-left: 17px;

    }

}

/* =========================================================
   OUR STORY
   LIGHT EDITORIAL SECTION
========================================================= */

.our-story-section {

    position: relative;

    padding: 75px 0 20px;

    background: var(--warm-ivory);

    color: var(--hope-black);

    overflow: hidden;

}


/* =========================================================
   BACKGROUND DETAILS
========================================================= */

.our-story-section::before {

    content: "";

    position: absolute;

    width: 520px;
    height: 520px;

    right: -300px;
    top: -260px;

    border: 1px solid rgba(211,163,59,.15);

    border-radius: 50%;

}


.our-story-section::after {

    content: "";

    position: absolute;

    width: 250px;
    height: 250px;

    left: -170px;
    bottom: -150px;

    border: 1px solid rgba(242,95,70,.12);

    border-radius: 50%;

}


/* =========================================================
   TOP
========================================================= */

.story-top {

    position: relative;

    z-index: 2;

    display: flex;

    align-items: center;

    justify-content: space-between;

    margin-bottom: 30px;

}


.story-label {

    display: flex;

    align-items: center;

    gap: 18px;

}


.story-label span {

    color: var(--heritage-brown);

    font-family: var(--slab);

    font-size: 10px;

    font-weight: 700;

    letter-spacing: 2.7px;

}


.story-label-line {

    width: 50px;

    height: 2px;

    background: var(--hope-gold);

}


.story-number {

    color: rgba(70,45,34,.2);

    font-family: var(--serif);

    font-size: 16px;

}


/* =========================================================
   MAIN LAYOUT
========================================================= */

.story-layout {

    position: relative;

    z-index: 2;

    display: grid;

    grid-template-columns: .85fr 1.15fr;

    gap: 10px;

    align-items: start;

}


/* =========================================================
   LEFT COLUMN
========================================================= */

.story-heading-column {

    position: relative;

}


.story-eyebrow {

    display: block;

    margin-bottom: 22px;

    color: var(--text-muted);

    font-family: var(--slab);

    font-size: 9px;

    font-weight: 700;

    letter-spacing: 2.2px;

}


.story-title {

    max-width: 500px;

    margin: 0;

    color: var(--hope-black);

    font-family: var(--serif);

    font-size: clamp(50px, 6vw, 72px);

    font-weight: 400;

    line-height: .95;

    letter-spacing: -2.5px;

}


.story-title span {

    display: block;

    color: var(--heritage-brown);

}


/* =========================================================
   SIDE NOTE
========================================================= */

.story-side-note {

    margin-top: 70px;

    padding-top: 18px;

    border-top: 1px solid var(--border);

}


.story-side-note span {

    display: block;

    margin-bottom: 8px;

    color: var(--hope-gold);

    font-family: var(--slab);

    font-size: 8px;

    font-weight: 700;

    letter-spacing: 2px;

}


.story-side-note p {

    margin: 0;

    color: var(--text-muted);

    font-family: var(--serif);

    font-size: 15px;

}


/* =========================================================
   RIGHT COLUMN
========================================================= */

.story-content-column {

    padding-top: 45px;

}


.story-lead {

    max-width: 720px;

    margin: 0;

    color: var(--heritage-brown);

    font-family: var(--serif);

    font-size: 22px;

    line-height: 1.55;

}


.story-rule {

    width: 100%;

    height: 1px;

    margin: 38px 0 32px;

    background: var(--border);

}


.story-text {

    max-width: 800px;

    columns: 2;

    column-gap: 45px;

}


.story-text p {

    margin: 0 0 14px;

    color: var(--text-muted);

    font-size: 14px;

    line-height: 1.9;

    break-inside: avoid;

}


/* =========================================================
   SUPPORT GRID
========================================================= */

.story-support-grid {

    position: relative;

    z-index: 2;

    display: grid;

    grid-template-columns: 1fr 1fr;

    gap: 18px;

    margin-top: 90px;

}


/* =========================================================
   SUPPORT ITEM
========================================================= */

.story-support-item {

    position: relative;

    display: grid;

    grid-template-columns: 55px 1fr;

    gap: 25px;

    min-height: 320px;

    padding: 35px;

    background: #f1e3d2;

    border-top: 3px solid var(--hope-gold);

    overflow: hidden;

}


.story-support-item::after {

    content: "";

    position: absolute;

    width: 190px;

    height: 190px;

    right: -100px;

    bottom: -100px;

    border: 1px solid rgba(70,45,34,.09);

    border-radius: 50%;

}


.story-governance {

    border-top-color: var(--action-coral);

    background: #f4e8dc;

}


/* =========================================================
   SUPPORT NUMBER
========================================================= */

.story-support-number {

    color: rgba(70,45,34,.25);

    font-family: var(--serif);

    font-size: 28px;

    line-height: 1;

}


/* =========================================================
   SUPPORT CONTENT
========================================================= */

.story-support-content {

    position: relative;

    z-index: 2;

}


.story-support-content > span {

    display: block;

    margin-bottom: 17px;

    color: var(--heritage-brown);

    font-family: var(--slab);

    font-size: 11px;

    font-weight: 700;

    letter-spacing: 2px;

}


.story-support-content h3 {

    max-width: 450px;

    margin: 0 0 20px;

    color: var(--hope-black);

    font-family: var(--serif);

    font-size: clamp(28px, 3vw, 38px);

    font-weight: 400;

    line-height: 1.1;

}


.story-support-content p {

    max-width: 500px;

    margin: 0 0 15px;

    color: var(--text-muted);

    font-size: 14px;

    line-height: 1.8;

}


/* =========================================================
   BOTTOM
========================================================= */

.story-bottom {

    position: relative;

    z-index: 2;

    display: grid;

    grid-template-columns: 1fr 2fr 1fr;

    gap: 30px;

    align-items: center;

    margin-top: 65px;

    padding-top: 22px;

    border-top: 1px solid var(--border);

}


.story-bottom span {

    color: rgba(70,45,34,.38);

    font-family: var(--slab);

    font-size: 11px;

    font-weight: 700;

    letter-spacing: 1.8px;

}


.story-bottom span:last-child {

    text-align: right;

}


.story-bottom p {

    margin: 0;

    color: var(--heritage-brown);

    font-family: var(--serif);

    font-size: 17px;

}


/* =========================================================
   HOVER
========================================================= */

.story-support-item {

    transition:
        transform .35s ease,
        box-shadow .35s ease;

}


.story-support-item:hover {

    transform: translateY(-5px);

    box-shadow:
        0 20px 45px rgba(70,45,34,.08);

}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 991px) {

    .our-story-section {

        padding: 90px 0 60px;

    }


    .story-layout {

        grid-template-columns: 1fr;

        gap: 30px;

    }


    .story-content-column {

        padding-top: 0;

    }


    .story-side-note {

        max-width: 500px;

        margin-top: 45px;

    }


    .story-text {

        max-width: 100%;

    }


    .story-support-grid {

        margin-top: 65px;

    }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767px) {

    .our-story-section {

        padding: 75px 0 50px;

    }


    .story-top {

        margin-bottom: 50px;

    }


    .story-label {

        gap: 12px;

    }


    .story-label-line {

        width: 32px;

    }


    .story-title {

        font-size: 52px;

        letter-spacing: -1.8px;

    }


    .story-lead {

        font-size: 18px;

    }


    .story-text {

        columns: 1;

    }


    .story-text p {

        font-size: 12px;

        line-height: 1.8;

    }


    .story-support-grid {

        grid-template-columns: 1fr;

        margin-top: 55px;

    }


    .story-support-item {

        min-height: auto;

        padding: 30px;

    }


    .story-support-content h3 {

        font-size: 30px;

    }


    .story-bottom {

        grid-template-columns: 1fr;

        gap: 15px;

        margin-top: 50px;

    }


    .story-bottom span:last-child {

        text-align: left;

    }

}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media (max-width: 480px) {

    .our-story-section {

        padding: 65px 0 45px;

    }


    .story-title {

        font-size: 45px;

    }


    .story-lead {

        font-size: 17px;

    }


    .story-support-item {

        grid-template-columns: 40px 1fr;

        gap: 18px;

        padding: 25px;

    }


    .story-support-content h3 {

        font-size: 27px;

    }

}

/* =========================================================
   VISION / MISSION
========================================================= */

.vision-mission-section {

    padding: 125px 0;

    background: #f6eee3;

}


.vm-header {

    max-width: 800px;

    margin-bottom: 55px;

}


.vm-header h2 {

    margin-bottom: 18px;

    color: var(--hope-black);

    font-family: var(--serif);

    font-size: clamp(45px, 5vw, 65px);

    line-height: 1;

}


.vm-header h2 span {

    color: var(--heritage-brown);

}


.vm-header p {

    max-width: 600px;

    margin: 0;

    color: var(--text-muted);

    font-size: 13px;

}


/* =========================================================
   VM GRID
========================================================= */

.vm-grid {

    display: grid;

    grid-template-columns: 1fr 1fr;

    gap: 18px;

}


.vm-card {

    min-height: 510px;

    padding: 42px;

    display: flex;

    flex-direction: column;

    position: relative;

    overflow: hidden;

    border: none;

}


/* Vision */

.vm-vision {

    background:
        linear-gradient(
            145deg,
            #d9ad46 0%,
            var(--hope-gold) 100%
        );

    color: var(--hope-black);

    border-top: 6px solid #ae7b1f;

}


/* Mission */

.vm-mission {

    background:
        linear-gradient(
            145deg,
            #236a6b 0%,
            #185456 100%
        );

    color: white;

    border-top: 6px solid var(--action-coral);

}


.vm-card::after {

    content: "";

    position: absolute;

    width: 360px;
    height: 360px;

    right: -150px;
    bottom: -180px;

    border: 1px solid rgba(255,255,255,.18);

    border-radius: 50%;

}


.vm-card::before {

    content: "";

    position: absolute;

    width: 210px;
    height: 210px;

    right: -80px;
    bottom: -100px;

    border: 1px solid rgba(255,255,255,.13);

    border-radius: 50%;

}


.vm-card-top {

    display: flex;

    align-items: center;

    justify-content: space-between;

    margin-bottom: 65px;

    position: relative;

    z-index: 2;

}


.vm-icon {

    width: 60px;

    height: 60px;

    display: flex;

    align-items: center;

    justify-content: center;

    border-radius: 50%;

    font-size: 21px;

}


.vm-vision .vm-icon {

    background: rgba(255,255,255,.3);

    color: var(--hope-black);

}


.vm-mission .vm-icon {

    background: rgba(255,255,255,.13);

    color: white;

}


.vm-card-top > span {

    font-family: var(--slab);

    font-size: 9px;

    font-weight: 700;

    letter-spacing: 1.5px;

}


.vm-vision .vm-card-top > span {

    color: rgba(0,0,0,.55);

}


.vm-mission .vm-card-top > span {

    color: rgba(255,255,255,.55);

}


.vm-card h3 {

    max-width: 600px;

    margin-bottom: 25px;

    position: relative;

    z-index: 2;

    font-family: var(--serif);

    font-size: clamp(32px, 4vw, 48px);

    line-height: 1.1;

}


.vm-card p {

    max-width: 580px;

    margin: 0;

    position: relative;

    z-index: 2;

    font-size: 13px;

    line-height: 1.8;

}


.vm-vision p {

    color: rgba(0,0,0,.66);

}


.vm-mission p {

    color: rgba(255,255,255,.7);

}


.vm-card-bottom {

    display: flex;

    align-items: center;

    justify-content: space-between;

    margin-top: auto;

    padding-top: 35px;

    position: relative;

    z-index: 2;

}


.vm-card-bottom span {

    font-family: var(--slab);

    font-size: 9px;

    font-weight: 700;

    letter-spacing: 2px;

}


.vm-vision .vm-card-bottom span {

    color: rgba(0,0,0,.65);

}


.vm-mission .vm-card-bottom span {

    color: var(--hope-gold);

}


.vm-card-bottom i {

    width: 36px;

    height: 36px;

    display: flex;

    align-items: center;

    justify-content: center;

    border: 1px solid rgba(255,255,255,.35);

    border-radius: 50%;

}


.vm-vision .vm-card-bottom i {

    border-color: rgba(0,0,0,.25);

}


/* =========================================================
   WHY SHAC
========================================================= */

.why-shac-section {

    padding: 125px 0;

    background: #f9f5ef;

}


.why-shac-grid {

    display: grid;

    grid-template-columns: .9fr 1.1fr;

    gap: 90px;

    align-items: center;

}


.why-shac-image {

    height: 650px;

    position: relative;

}


.why-shac-image img {

    width: 100%;

    height: 100%;

    object-fit: cover;

    border-radius:
        0 48% 48% 0 /
        0 45% 55% 0;

    box-shadow:
        0 25px 55px rgba(27,23,23,.12);

}


.image-stamp {

    position: absolute;

    left: -25px;

    bottom: 35px;

    width: 145px;

    height: 145px;

    display: flex;

    flex-direction: column;

    align-items: center;

    justify-content: center;

    border-radius: 50%;

    background: var(--action-coral);

    color: white;

    text-align: center;

    transform: rotate(-8deg);

    box-shadow:
        0 15px 35px rgba(242,95,70,.2);

}


.image-stamp span {

    font-family: var(--slab);

    font-size: 25px;

    font-weight: 700;

    letter-spacing: 2px;

}


.image-stamp small {

    font-size: 8px;

    font-weight: 700;

    letter-spacing: 1px;

}


.why-shac-content h2 {

    max-width: 650px;

    margin-bottom: 25px;

    font-family: var(--serif);

    font-size: clamp(43px, 5vw, 64px);

    line-height: 1.02;

}


.why-shac-content h2 span {

    color: var(--heritage-brown);

}


.why-lead {

    max-width: 650px;

    margin-bottom: 35px;

    color: var(--text-muted);

    font-size: 14px;

    line-height: 1.8;

}


.why-list {

    border-top: 1px solid #ddd3c8;

}


.why-item {

    display: flex;

    gap: 18px;

    padding: 19px 0;

    border-bottom: 1px solid #ddd3c8;

}


.why-icon {

    width: 45px;

    height: 45px;

    flex-shrink: 0;

    display: flex;

    align-items: center;

    justify-content: center;

    border-radius: 50%;

}


.why-item:nth-child(1) .why-icon {

    background: var(--soft-coral);

    color: var(--action-coral);

}


.why-item:nth-child(2) .why-icon {

    background: var(--soft-teal);

    color: #359fa0;

}


.why-item:nth-child(3) .why-icon {

    background: var(--soft-gold);

    color: var(--hope-gold);

}


.why-item:nth-child(4) .why-icon {

    background: var(--soft-brown);

    color: var(--heritage-brown);

}


.why-item strong {

    display: block;

    margin-bottom: 4px;

    font-family: var(--slab);

    font-size: 13px;

}


.why-item p {

    margin: 0;

    color: var(--text-muted);

    font-size: 11px;

    line-height: 1.6;

}


/* =========================================================
   OUR APPROACH
   DARK SECTION
========================================================= */

.approach-section {

    padding: 125px 0;

    background:
        radial-gradient(
            circle at 85% 15%,
            rgba(211,163,59,.13),
            transparent 25%
        ),
        radial-gradient(
            circle at 15% 85%,
            rgba(242,95,70,.08),
            transparent 25%
        ),
        var(--hope-black);

    color: white;

    overflow: hidden;

}


.approach-header {

    display: grid;

    grid-template-columns: 1fr .65fr;

    gap: 80px;

    align-items: end;

    margin-bottom: 70px;

}


.approach-header h2 {

    max-width: 650px;

    margin: 0;

    font-family: var(--serif);

    font-size: clamp(45px, 5vw, 66px);

    line-height: 1;

}


.approach-header h2 span {

    color: var(--hope-gold);

}


.approach-header > p {

    margin: 0;

    color: rgba(255,255,255,.58);

    font-size: 13px;

    line-height: 1.8;

}


/* =========================================================
   APPROACH FLOW
========================================================= */

.approach-flow {

    display: flex;

    align-items: stretch;

}


.approach-step {

    flex: 1;

    min-height: 290px;

    padding: 30px;

    position: relative;

    border: 1px solid rgba(255,255,255,.11);

    background: rgba(255,255,255,.025);

    transition:
        transform .35s ease,
        background .35s ease;

}


.approach-step:hover {

    background: rgba(255,255,255,.065);

    transform: translateY(-7px);

}


.approach-step:nth-child(1) {

    border-top: 4px solid var(--hope-gold);

}


.approach-step:nth-child(3) {

    border-top: 4px solid var(--action-coral);

}


.approach-step:nth-child(5) {

    border-top: 4px solid #359fa0;

}


.approach-step:nth-child(7) {

    border-top: 4px solid var(--heritage-brown);

}


.approach-step:nth-child(9) {

    border-top: 4px solid var(--hope-gold);

}


.approach-number {

    margin-bottom: 35px;

    color: var(--hope-gold);

    font-family: var(--slab);

    font-size: 10px;

    font-weight: 700;

}


.approach-icon {

    width: 48px;

    height: 48px;

    display: flex;

    align-items: center;

    justify-content: center;

    margin-bottom: 22px;

    border-radius: 50%;

    background: rgba(255,255,255,.07);

    color: var(--action-coral);

    font-size: 18px;

}


.approach-step:nth-child(3) .approach-icon {

    color: var(--hope-gold);

}


.approach-step:nth-child(5) .approach-icon {

    color: #58c4c5;

}


.approach-step:nth-child(7) .approach-icon {

    color: #d79b70;

}


.approach-step h3 {

    margin-bottom: 10px;

    font-size: 20px;

}


.approach-step p {

    margin: 0;

    color: rgba(255,255,255,.52);

    font-size: 11px;

    line-height: 1.7;

}


.approach-arrow {

    width: 35px;

    display: flex;

    align-items: center;

    justify-content: center;

    flex-shrink: 0;

    color: var(--hope-gold);

}


/* =========================================================
   VALUES / WHAT GUIDES US
========================================================= */

.values-section {

    position: relative;

    padding: 75px 0 60px;

    background: var(--warm-ivory);

    overflow: hidden;

}


/* =========================================================
   HEADER
========================================================= */

.values-header {

    display: grid;

    grid-template-columns: 1fr 0.75fr;

    gap: 100px;

    align-items: end;

    margin-bottom: 80px;

}


.values-header-left {
    position: relative;
}


.values-eyebrow {

    display: inline-block;

    margin-bottom: 22px;

    color: var(--heritage-brown);

    font-family: var(--slab);

    font-size: 10px;

    font-weight: 700;

    letter-spacing: 2.8px;

}


.values-title {

    margin: 0;

    color: var(--hope-black);

    font-family: var(--serif);

    font-size: clamp(62px, 7vw, 96px);

    font-weight: 400;

    line-height: .9;

    letter-spacing: -3px;

}


.values-title span {

    color: var(--heritage-brown);

}


/* =========================================================
   HEADER DESCRIPTION
========================================================= */

.values-header-right {

    max-width: 430px;

    padding-left: 28px;

    border-left: 2px solid var(--action-coral);

}


.values-accent-line {

    width: 42px;

    height: 3px;

    margin-bottom: 24px;

    background: var(--hope-gold);

}


.values-header-right p {

    margin: 0;

    color: var(--text-muted);

    font-size: 14px;

    line-height: 1.9;

}


/* =========================================================
   VALUES LIST
========================================================= */

.values-list {

    border-top: 1px solid var(--border);

}


/* =========================================================
   VALUE ITEM
========================================================= */

.value-item {

    position: relative;

    display: grid;

    grid-template-columns: 100px 1fr 1.3fr 55px;

    gap: 35px;

    align-items: center;

    min-height: 120px;

    padding: 25px 20px;

    border-bottom: 1px solid var(--border);

    transition:
        background .35s ease,
        padding .35s ease;

}


.value-item:hover {

    padding-left: 32px;

    background: rgba(255, 255, 255, .7);

}


/* =========================================================
   NUMBER
========================================================= */

.value-number {

    color: rgba(70, 45, 34, .22);

    font-family: var(--slab);

    font-size: 13px;

    font-weight: 700;

    letter-spacing: 1px;

    transition: color .35s ease;

}


.value-item:hover .value-number {

    color: var(--heritage-brown);

}


/* =========================================================
   VALUE NAME
========================================================= */

.value-name {

    display: flex;

    align-items: center;

    gap: 17px;

}


.value-dot {

    width: 10px;

    height: 10px;

    flex-shrink: 0;

    border-radius: 50%;

    background: var(--hope-gold);

    transition:
        transform .35s ease,
        box-shadow .35s ease;

}


.value-item:hover .value-dot {

    transform: scale(1.35);

    box-shadow: 0 0 0 7px rgba(211, 163, 59, .10);

}


.value-name h3 {

    margin: 0;

    color: var(--hope-black);

    font-family: var(--serif);

    font-size: clamp(28px, 3vw, 40px);

    font-weight: 400;

    line-height: 1;

    letter-spacing: -1px;

}


/* =========================================================
   DESCRIPTION
========================================================= */

.value-description {

    max-width: 500px;

}


.value-description p {

    margin: 0;

    color: var(--text-muted);

    font-size: 13px;

    line-height: 1.8;

}


/* =========================================================
   ARROW
========================================================= */

.value-arrow {

    width: 42px;

    height: 42px;

    display: flex;

    align-items: center;

    justify-content: center;

    border: 1px solid rgba(70, 45, 34, .18);

    border-radius: 50%;

    color: var(--heritage-brown);

    font-size: 13px;

    transition:
        background .35s ease,
        color .35s ease,
        border-color .35s ease,
        transform .35s ease;

}


.value-item:hover .value-arrow {

    background: var(--heritage-brown);

    border-color: var(--heritage-brown);

    color: white;

    transform: rotate(45deg);

}


/* =========================================================
   INDIVIDUAL VALUE ACCENTS
========================================================= */

/* Hope */

.value-hope .value-dot {

    background: var(--hope-gold);

}

.value-hope:hover {

    border-left: 3px solid var(--hope-gold);

}


/* Empowerment */

.value-empowerment .value-dot {

    background: var(--action-coral);

}

.value-empowerment:hover {

    border-left: 3px solid var(--action-coral);

}


/* Community */

.value-community .value-dot {

    background: var(--community-teal);

}

.value-community:hover {

    border-left: 3px solid var(--community-teal);

}


/* Service */

.value-service .value-dot {

    background: var(--heritage-brown);

}

.value-service:hover {

    border-left: 3px solid var(--heritage-brown);

}


/* Dignity */

.value-dignity .value-dot {

    background: #B68A68;

}

.value-dignity:hover {

    border-left: 3px solid #B68A68;

}


/* =========================================================
   BOTTOM STATEMENT
========================================================= */

.values-footer {

    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 30px;

    margin-top: 65px;

    padding-top: 25px;

    border-top: 1px solid var(--border);

}


.values-footer p {

    margin: 0;

    color: var(--heritage-brown);

    font-family: var(--slab);

    font-size: 11px;

    font-weight: 700;

    letter-spacing: 1.5px;

    text-transform: uppercase;

}


/* =========================================================
   DECORATIVE MARK
========================================================= */

.values-footer-mark {

    display: flex;

    align-items: center;

    gap: 6px;

}


.values-footer-mark span {

    display: block;

    width: 7px;

    height: 7px;

    border-radius: 50%;

}


.values-footer-mark span:nth-child(1) {

    background: var(--hope-gold);

}


.values-footer-mark span:nth-child(2) {

    background: var(--action-coral);

}


.values-footer-mark span:nth-child(3) {

    background: var(--community-teal);

}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 991px) {

    .values-section {

        padding: 95px 0 85px;

    }


    .values-header {

        grid-template-columns: 1fr;

        gap: 40px;

        margin-bottom: 60px;

    }


    .values-header-right {

        max-width: 600px;

    }


    .value-item {

        grid-template-columns: 70px 1fr 1.2fr 45px;

        gap: 25px;

        min-height: 135px;

    }


    .value-name h3 {

        font-size: 32px;

    }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767px) {

    .values-section {

        padding: 75px 0 70px;

    }


    .values-title {

        font-size: 58px;

        letter-spacing: -2px;

    }


    .values-header {

        gap: 30px;

        margin-bottom: 50px;

    }


    .values-header-right {

        padding-left: 20px;

    }


    .value-item {

        grid-template-columns: 45px 1fr 42px;

        gap: 15px;

        min-height: auto;

        padding: 27px 10px;

    }


    .value-item:hover {

        padding-left: 15px;

    }


    .value-number {

        align-self: start;

        padding-top: 6px;

        font-size: 11px;

    }


    .value-name {

        align-items: flex-start;

        gap: 12px;

    }


    .value-name h3 {

        font-size: 28px;

        line-height: 1.1;

    }


    .value-description {

        grid-column: 2 / 4;

        margin-top: 2px;

        padding-left: 22px;

    }


    .value-description p {

        font-size: 12px;

        line-height: 1.75;

    }


    .value-arrow {

        width: 38px;

        height: 38px;

        align-self: start;

    }


    .values-footer {

        margin-top: 45px;

    }

}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media (max-width: 480px) {

    .values-section {

        padding: 65px 0 60px;

    }


    .values-title {

        font-size: 50px;

    }


    .values-eyebrow {

        font-size: 9px;

        letter-spacing: 2px;

    }


    .value-item {

        grid-template-columns: 38px 1fr 38px;

        gap: 12px;

        padding: 24px 5px;

    }


    .value-item:hover {

        padding-left: 10px;

    }


    .value-name h3 {

        font-size: 25px;

    }


    .value-description {

        padding-left: 20px;

    }


    .value-description p {

        font-size: 11.5px;

    }


    .value-arrow {

        width: 34px;

        height: 34px;

        font-size: 11px;

    }


    .values-footer {

        align-items: flex-start;

        flex-direction: column;

        gap: 18px;

    }

}

/* =========================================================
   OUR REACH
   DEEP BROWN
========================================================= */

.about-reach-section {

    padding: 125px 0;

    background:
        radial-gradient(
            circle at 15% 20%,
            rgba(211,163,59,.12),
            transparent 25%
        ),
        var(--heritage-brown);

    color: white;

}


.reach-wrapper {

    display: grid;

    grid-template-columns: 1fr 1fr;

    gap: 80px;

    align-items: center;

}


.reach-content h2 {

    max-width: 650px;

    margin-bottom: 25px;

    color: white;

    font-family: var(--serif);

    font-size: clamp(43px, 5vw, 64px);

    line-height: 1.02;

}


.reach-content h2 span {

    color: var(--hope-gold);

}


.reach-content > p {

    max-width: 650px;

    color: rgba(255,255,255,.65);

    font-size: 13px;

    line-height: 1.8;

}


.reach-list {

    margin: 35px 0;

    border-top: 1px solid rgba(255,255,255,.16);

}


.reach-list > div {

    display: flex;

    align-items: center;

    gap: 18px;

    padding: 17px 0;

    border-bottom: 1px solid rgba(255,255,255,.16);

}


.reach-number {

    color: var(--action-coral);

    font-family: var(--slab);

    font-size: 10px;

    font-weight: 700;

}


.reach-list strong {

    display: block;

    color: white;

    font-family: var(--slab);

    font-size: 13px;

}


.reach-list small {

    display: block;

    color: rgba(255,255,255,.5);

    font-size: 10px;

}


.about-reach-section .text-link {

    color: var(--hope-gold);

}


.about-reach-section .text-link:hover {

    color: white;

}


/* =========================================================
   REACH IMAGE
========================================================= */

.reach-image {

    height: 600px;

    position: relative;

    overflow: hidden;

}


.reach-image img {

    width: 100%;

    height: 100%;

    object-fit: cover;

    border-radius:
        48% 0 0 48% /
        45% 0 0 55%;

    filter: saturate(.95);

}


.reach-image::after {

    content: "";

    position: absolute;

    inset: 0;

    pointer-events: none;

    background:
        linear-gradient(
            90deg,
            rgba(85,48,31,.05),
            transparent 60%
        );

}


.reach-image-note {

    position: absolute;

    right: 25px;

    bottom: 25px;

    z-index: 2;

    width: 210px;

    padding: 22px;

    background: white;

    color: var(--hope-black);

    box-shadow:
        0 15px 40px rgba(0,0,0,.18);

}


.reach-image-note span {

    display: block;

    margin-bottom: 6px;

    color: var(--heritage-brown);

    font-family: var(--slab);

    font-size: 8px;

    font-weight: 700;

    letter-spacing: 1.5px;

}


.reach-image-note strong {

    display: block;

    font-family: var(--serif);

    font-size: 18px;

    line-height: 1.3;

}


/* =========================================================
   CLOSING CTA
   CORAL
========================================================= */

.about-statement {

    position: relative;

    overflow: hidden;

    padding: 50px 0;

    background:
        radial-gradient(
            circle at 15% 20%,
            rgba(255,255,255,.12),
            transparent 25%
        ),
        radial-gradient(
            circle at 90% 80%,
            rgba(211,163,59,.2),
            transparent 25%
        ),
        var(--action-coral);

    color: white;

    text-align: center;

}


.about-statement::before {

    content: "";

    position: absolute;

    width: 500px;
    height: 500px;

    right: -250px;
    top: -250px;

    border: 1px solid rgba(255,255,255,.13);

    border-radius: 50%;

}


.about-statement::after {

    content: "";

    position: absolute;

    width: 320px;
    height: 320px;

    left: -170px;
    bottom: -180px;

    border: 1px solid rgba(255,255,255,.1);

    border-radius: 50%;

}


.statement-inner {

    max-width: 950px;

    margin: auto;

    position: relative;

    z-index: 2;

}


.statement-mark {

    display: block;

    margin-bottom: -20px;

    color: rgba(255,255,255,.4);

    font-family: var(--serif);

    font-size: 100px;

    line-height: 1;

}


.statement-inner h2 {

    margin-bottom: 25px;

    color: white;

    font-family: var(--serif);

    font-size: clamp(45px, 6vw, 72px);

    line-height: 1;

}


.statement-inner h2 span {

    color: var(--hope-gold);

}


.statement-inner > p {

    max-width: 650px;

    margin: 0 auto 30px;

    color: rgba(255,255,255,.8);

    font-size: 13px;

    line-height: 1.8;

}


.statement-actions {

    display: flex;

    align-items: center;

    justify-content: center;

    flex-wrap: wrap;

    gap: 25px;

}


.about-statement .btn-light {

    color: var(--action-coral);

    border: none;

    font-weight: 700;

}


.about-statement .text-link {

    color: white;

}


/* =========================================================
   FOOTER SUPPORT
========================================================= */

.site-footer {

    background: var(--hope-black);

    color: white;

}


.site-footer a {

    text-decoration: none;

}


/* =========================================================
   RESPONSIVE - LARGE TABLET
========================================================= */

@media (max-width: 1199px) {


    .about-main-image {

        width: 420px;

        height: 540px;

    }


    .why-shac-grid {

        gap: 55px;

    }


    .values-grid {

        grid-template-columns: repeat(3, 1fr);

    }


    .approach-step {

        padding: 23px;

    }

}


/* =========================================================
   RESPONSIVE - TABLET
========================================================= */

@media (max-width: 991px) {


    .about-hero {

        padding: 40px 0 55px;

    }


    .about-hero-visual {

        min-height: 350px;

    }


    .story-columns {

        grid-template-columns: 1fr;

        gap: 25px;

    }


    .vm-grid {

        grid-template-columns: 1fr;

    }


    .vm-card {

        min-height: 450px;

    }


    .why-shac-grid {

        grid-template-columns: 1fr;

    }


    .why-shac-image {

        height: 550px;

    }


    .approach-header {

        grid-template-columns: 1fr;

        gap: 25px;

    }


    .approach-flow {

        display: grid;

        grid-template-columns: repeat(2, 1fr);

    }


    .approach-arrow {

        display: none;

    }


    .values-grid {

        grid-template-columns: repeat(2, 1fr);

    }


    .reach-wrapper {

        grid-template-columns: 1fr;

    }


    .reach-image {

        height: 520px;

    }

}


/* =========================================================
   RESPONSIVE - MOBILE
========================================================= */

@media (max-width: 767px) {


    .about-hero {

        padding: 55px 0 70px;

    }


    .breadcrumb-simple {

        margin-bottom: 30px;

    }


    .about-hero-content h1 {

        font-size: 50px;

    }


    .about-hero-content > p {

        font-size: 13px;

    }


    .about-hero-actions {

        align-items: flex-start;

        flex-direction: column;

        gap: 17px;

    }


    .about-hero-visual {

        min-height: 460px;

    }


    .about-main-image {

        width: 310px;

        height: 430px;

    }


    .about-image-caption {

        left: 0;

        bottom: 10px;

        width: 190px;

        padding: 18px;

    }


    .about-floating-number {

        right: 0;

        top: 20px;

        width: 72px;

        height: 72px;

    }


    .about-floating-number strong {

        font-size: 14px;

    }


    .about-decor-one {

        width: 45px;

        height: 45px;

        left: 0;

    }


    .our-story-section,
    .vision-mission-section,
    .why-shac-section,
    .approach-section,
    .values-section,
    .about-reach-section,
    .about-statement {

        padding: 85px 0;

    }


    .side-label {

        position: static;

        margin-bottom: 30px;

    }


    .story-introduction h2 {

        font-size: 43px;

    }


    .story-lead {

        font-size: 19px;

    }


    .vm-card {

        padding: 30px;

        min-height: 430px;

    }


    .vm-card h3 {

        font-size: 34px;

    }


    .why-shac-image {

        height: 430px;

    }


    .image-stamp {

        left: -5px;

        width: 110px;

        height: 110px;

    }


    .image-stamp span {

        font-size: 19px;

    }


    .why-shac-content h2 {

        font-size: 43px;

    }


    .approach-flow {

        grid-template-columns: 1fr;

    }


    .approach-step {

        min-height: 250px;

    }


    .values-grid {

        grid-template-columns: 1fr;

    }


    .value-card {

        min-height: 250px;

    }


    .value-top {

        margin-bottom: 40px;

    }


    .reach-content h2 {

        font-size: 43px;

    }


    .reach-image {

        height: 430px;

    }


    .reach-image-note {

        right: 15px;

        bottom: 15px;

        width: 180px;

    }


    .statement-inner h2 {

        font-size: 44px;

    }


    .statement-mark {

        font-size: 80px;

    }

}


/* =========================================================
   RESPONSIVE - SMALL MOBILE
========================================================= */

@media (max-width: 480px) {


    .about-hero-content h1 {

        font-size: 44px;

    }


    .about-main-image {

        width: 280px;

        height: 400px;

    }


    .about-image-caption {

        width: 175px;

    }


    .story-introduction h2 {

        font-size: 38px;

    }


    .vm-card h3 {

        font-size: 30px;

    }


    .why-shac-content h2 {

        font-size: 38px;

    }


    .reach-content h2 {

        font-size: 38px;

    }


    .statement-inner h2 {

        font-size: 38px;

    }

}