

/* =========================================
           HEADER
        ========================================= */

/* =========================================
           NAVIGATION
        ========================================= */

/* =========================================
           HEADER ACTIONS
        ========================================= */

/* =========================================
           SEARCH ICON
        ========================================= */

/* =========================================
           ENQUIRE BUTTON
        ========================================= */

/* =========================================
           HERO
        ========================================= */

.hero {
            min-height: calc(100vh - 94px);

            width: 100%;

            position: relative;

            overflow: hidden;

            display: flex;

            background: #09251f;
        }

/* =========================================
           HERO BACKGROUND
        ========================================= */

.hero::before {
            content: "";

            position: absolute;

            inset: 0;

            background:
                linear-gradient(
                    90deg,
                    rgba(2, 30, 26, .98) 0%,
                    rgba(2, 30, 26, .93) 27%,
                    rgba(2, 30, 26, .50) 45%,
                    rgba(2, 30, 26, .06) 67%,
                    rgba(2, 30, 26, .02) 100%
                ),
                url("../images/ahero.jpg") center center / cover no-repeat;

            transform: scale(1.02);
        }

/* =========================================
           HERO CONTENT
        ========================================= */

.hero-content {
            position: relative;
            z-index: 2;

            width: min(610px, 45vw);

            margin-left: 4.3vw;

            padding-top: 85px;

            color: #fff;
        }

.eyebrow {
            font-size: 17px;

            letter-spacing: 2px;

            font-weight: 800;

            margin-bottom: 23px;
        }

h1 {
            font-size: clamp(56px, 5vw, 82px);

            line-height: .96;

            letter-spacing: -2px;

            margin: 0 0 27px;

            font-weight: 800;
        }

.intro {
            font-size: 17px;

            line-height: 1.45;

            max-width: 575px;

            margin: 0 0 30px;

            color: rgba(255, 255, 255, .94);
        }

.products {
            font-size: 17px;

            line-height: 1.7;

            font-weight: 600;

            margin-bottom: 31px;

            max-width: 570px;
        }

/* =========================================
           BUTTONS
        ========================================= */

.buttons {
            display: flex;

            gap: 21px;

            flex-wrap: wrap;
        }

.btn {
            min-width: 270px;

            height: 67px;

            padding: 0 27px;

            display: inline-flex;

            align-items: center;
            justify-content: center;

            gap: 15px;

            color: #fff;

            font-size: 17px;
            font-weight: 700;

            border: 1px solid rgba(255, 255, 255, .65);

            background: rgba(0, 0, 0, .08);

            transition: .3s;
        }

.btn:hover {
            background: rgba(255, 255, 255, .12);
        }

.btn-primary {
            background: #006e5c;

            border-color: #006e5c;
        }

.btn-primary:hover {
            background: #00806c;
        }

.download-icon {
            font-size: 24px;

            line-height: 0;
        }

/* =========================================
           SCROLL INDICATOR
        ========================================= */

.scroll {
            position: absolute;

            left: 4.3vw;
            bottom: 20px;

            z-index: 3;

            display: flex;

            align-items: center;

            gap: 21px;

            color: rgba(255, 255, 255, .86);

            font-size: 12px;

            font-weight: 800;

            letter-spacing: 1px;
        }

.scroll-circle {
            width: 58px;
            height: 58px;

            border: 1px solid rgba(255, 255, 255, .7);

            border-radius: 50%;

            display: flex;

            align-items: center;
            justify-content: center;

            font-size: 25px;
        }

/* =========================================
           WATCH OUR STORY
        ========================================= */

.watch {
            position: absolute;

            right: 27%;
            top: 78%;

            z-index: 4;

            display: flex;

            align-items: center;

            gap: 18px;

            color: rgba(255, 255, 255, .92);

            font-weight: 700;

            font-size: 17px;
        }

.play {
            width: 66px;
            height: 66px;

            background: #fff;

            border-radius: 50%;

            display: flex;

            align-items: center;
            justify-content: center;

            color: #00715e;

            font-size: 25px;

            padding-left: 4px;
        }

/* =========================================
           RIGHT SIDE WORDMARK
        ========================================= */

.side-wordmark {
            position: absolute;

            right: 4.2vw;
            bottom: 60px;

            z-index: 3;

            color: rgba(255, 255, 255, .9);

            font-size: 20px;

            font-weight: 500;

            line-height: 1.85;

            letter-spacing: .5px;

            text-align: right;
        }

/* =========================================
           OUR STORY
        ========================================= */

.story-section {
            width: 100%;

            padding: 50px 4.3vw;

            background: #fff;

            display: grid;

            grid-template-columns: 48% 52%;

            align-items: stretch;
        }

/* =========================================
           STORY CONTENT
        ========================================= */

.story-content {
            padding: 10px 70px 0 0;
        }

.story-eyebrow {
            color: #7DBF83;

            font-size: 15px;

            font-weight: 800;

            letter-spacing: 2px;

            margin-bottom: 18px;
        }

.story-title {
            color: #172522;

            font-size: 48px;

            line-height: 1.08;

            letter-spacing: -2px;

            font-weight: 800;

            margin: 0 0 25px;
        }

.story-description {
            max-width: 650px;
        }

.story-description p {
            color: #333333;

            font-size: 16px;

            line-height: 1.65;

            font-weight: 500;

            margin: 0 0 18px;
        }

/* =========================================
           STORY BUTTON
        ========================================= */

.story-btn {
            width: fit-content;

            min-width: 230px;

            height: 54px;

            padding: 0 25px;

            background: #006e5c;

            color: #fff;

            display: inline-flex;

            align-items: center;
            justify-content: center;

            gap: 18px;

            font-size: 14px;

            font-weight: 700;

            text-decoration: none;

            transition: .3s ease;
        }

.story-btn span {
            font-size: 22px;

            line-height: 0;
        }

.story-btn:hover {
            background: #7DBF83;
        }

/* =========================================
           STORY IMAGE
        ========================================= */

.story-image {
            position: relative;

            height: 660px;

            overflow: hidden;

            border-radius: 6px;
        }

.story-image > img {
            width: 100%;
            height: 100%;

            display: block;

            object-fit: cover;
        }

/* =========================================
           IMAGE DARK GRADIENT
        ========================================= */

.story-image::after {
            content: "";

            position: absolute;

            inset: 0;

            background: linear-gradient(
                180deg,
                rgba(0, 0, 0, 0) 45%,
                rgba(0, 35, 30, .55) 100%
            );

            z-index: 1;

            pointer-events: none;
        }

/* =========================================
           LOCATION
        ========================================= */

.story-location {
            position: absolute;

            top: 32px;
            right: 28px;

            z-index: 3;

            color: #17322e;

            font-size: 14px;

            line-height: 1.45;

            font-weight: 800;

            letter-spacing: 1.5px;

            background: rgba(255, 255, 255, .92);

            padding: 4px 8px;
        }

/* =========================================
           STORY VIDEO
        ========================================= */

.story-video {
            position: absolute;

            left: 35px;
            bottom: 35px;

            z-index: 3;

            display: flex;

            align-items: center;

            gap: 18px;

            color: #fff;
        }

.story-play {
            width: 66px;
            height: 66px;

            border-radius: 50%;

            background: #fff;

            display: flex;

            align-items: center;
            justify-content: center;

            color: #006e5c;

            font-size: 24px;

            padding-left: 4px;
        }

.story-video-title {
            font-size: 17px;

            font-weight: 700;

            margin-bottom: 4px;
        }

.story-video-duration {
            font-size: 14px;

            font-weight: 500;

            color: rgba(255, 255, 255, .85);
        }

/* =========================================
           RIGHT GREEN PANEL
        ========================================= */

.story-panel {
            position: absolute;

            right: 0;
            bottom: 0;

            width: 35%;
            height: 220px;

            z-index: 3;

            background: #7DBF83;

            display: flex;

            align-items: center;
            justify-content: center;

            gap: 32px;
        }

.story-panel-line {
            width: 2px;

            height: 90px;

            background: rgba(255, 255, 255, .55);
        }

.story-panel-text {
            color: #fff;

            font-size: 21px;

            line-height: 1.55;

            font-weight: 700;

            letter-spacing: 1.5px;
        }

/* =========================================
           OUR JOURNEY
        ========================================= */

.journey-section {
            width: 100%;

            padding: 0 4.3vw 45px;

            background: #ffffff;
        }

.journey-container {
            width: 100%;

            max-width: 1600px;

            margin: 0 auto;
        }

/* =========================================
           JOURNEY HEADING
        ========================================= */

.journey-heading {
            margin-bottom: 42px;
        }

.section-label {
            display: block;

            margin-bottom: 10px;

            color: #6fae77;

            font-size: 17px;

            font-weight: 700;

            letter-spacing: 3px;

            text-transform: uppercase;
        }

.journey-heading h2 {
            margin: 0;

            color: #062f2a;

            font-size: 48px;

            line-height: 1.1;

            font-weight: 700;

            letter-spacing: -1.5px;
        }

/* =========================================
           MILESTONES
        ========================================= */

.milestones {
            width: 100%;

            display: grid;

            grid-template-columns: repeat(5, 1fr);
        }

.milestone {
            min-width: 0;

            position: relative;
        }

/* =========================================
           TIMELINE
        ========================================= */

.milestone-line {
            width: 100%;

            height: 58px;

            position: relative;

            display: flex;

            align-items: center;

            justify-content: center;
        }

/* CONTINUOUS HORIZONTAL LINE */

.milestone-line::before {
            content: "";

            position: absolute;

            left: 0;
            right: 0;

            top: 50%;

            height: 2px;

            background: #dfe5e3;

            transform: translateY(-50%);

            z-index: 0;
        }

/* FIRST MILESTONE */

.milestone:first-child .milestone-line::before {
            left: 50%;
        }

/* LAST MILESTONE */

.milestone:last-child .milestone-line::before {
            right: 50%;
        }

/* =========================================
           STARTING DOT
        ========================================= */

.timeline-dot {
            position: absolute;

            width: 8px;
            height: 8px;

            left: 0;

            top: 50%;

            transform: translateY(-50%);

            border-radius: 50%;

            background: #dfe5e3;

            z-index: 1;
        }

/* =========================================
           MILESTONE ICON
        ========================================= */

.milestone-icon {
            width: 58px;
            height: 58px;

            position: relative;

            z-index: 2;

            display: flex;

            align-items: center;
            justify-content: center;

            background: #ffffff;

            border-radius: 50%;
        }

.milestone-icon img {
            width: 46px;
            height: 46px;

            display: block;

            object-fit: contain;
        }

/* =========================================
           MILESTONE CONTENT
        ========================================= */

.milestone-content {
            padding: 22px 25px 0;

            text-align: center;
        }

.milestone-content h3 {
            margin: 0 0 16px;

            color: #062f2a;

            font-size: 18px;

            line-height: 1.25;

            font-weight: 700;

            letter-spacing: -.3px;
        }

.milestone-content p {
            margin: 0;

            color: #586864;

            font-size: 14px;

            line-height: 1.55;

            font-weight: 400;
        }

/* =========================================
   OUR PEOPLE SECTION
========================================= */

.people-section {
    width: 100%;
    padding: 0 0 80px;
    background: #ffffff;
}

.people-container {
    width: 100%;
    display: grid;
    grid-template-columns: 55% 45%;
    min-height: 450px;
}

/* =========================================
   LEFT IMAGE
========================================= */

.people-image {
    position: relative;
    min-height: 450px;
    height: 600px;
    overflow: hidden;
    border-radius: 0 6px 6px 0;
}

.people-image > img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

/* Dark gradient over image */

.people-image::after {
    content: "";
    position: absolute;
    inset: 0;

    background:
        linear-gradient(
            180deg,
            rgba(0, 0, 0, 0) 40%,
            rgba(0, 0, 0, 0.72) 100%
        );

    z-index: 1;
    pointer-events: none;
}

/* =========================================
   IMAGE TEXT
========================================= */

.people-image-content {
    position: absolute;

    left: 80px;
    bottom: 42px;

    z-index: 3;

    color: #ffffff;
}

.people-image-title {
    font-size: 32px;
    line-height: 1.18;

    font-weight: 400;
    letter-spacing: -1px;

    margin-bottom: 28px;
}

/* =========================================
   EXPLORE BUTTON
========================================= */

.people-explore {
    display: flex;
    align-items: center;
    gap: 20px;

    color: #ffffff;

    text-decoration: none;
}

.people-explore-circle {
    width: 62px;
    height: 62px;

    border-radius: 50%;

    background: #ffffff;

    display: flex;
    align-items: center;
    justify-content: center;

    color: #006e5c;

    font-size: 32px;
    line-height: 1;

    transition: .3s ease;
}

.people-explore:hover .people-explore-circle {
    background: #7DBF83;
    color: #ffffff;
}

.people-explore-text {
    font-size: 16px;
    line-height: 1.35;

    font-weight: 700;
}

/* =========================================
   RIGHT CONTENT
========================================= */

.people-content {
  

    padding: 45px 6vw 0px 4.2vw;

    display: flex;
    flex-direction: column;
    justify-content: flex-start;
}

/* Eyebrow */

.people-eyebrow {
    color: #6fae77;

    font-size: 16px;
    font-weight: 800;

    letter-spacing: 3px;

    margin-bottom: 14px;
}

/* Heading */

.people-title {
    color: #062f2a;

    font-size: 46px;
    line-height: 1.12;

    letter-spacing: -1.5px;

    font-weight: 800;

    margin: 0 0 22px;

    max-width: 560px;
}

/* Description */

.people-description {
    color: #333333;

    font-size: 17px;
    line-height: 1.55;

    font-weight: 500;

    max-width: 610px;

    margin-bottom: 20px;
}

/* =========================================
   PEOPLE FEATURES
========================================= */

.people-features {
    width: 100%;

    display: grid;
    grid-template-columns: repeat(4, 1fr);

    gap: 25px;

    margin-top: auto;
}

/* Individual feature */

.people-feature {
    text-align: center;

    min-width: 0;
}

/* Icon */

.people-feature-icon {
    width: 54px;
    height: 54px;

    margin: 0 auto 18px;

    display: flex;
    align-items: center;
    justify-content: center;
}

.people-feature-icon img {
    width: 48px;
    height: 48px;

    display: block;

    object-fit: contain;
}

/* Feature title */

.people-feature-title {
    color: #333333;

    font-size: 16px;
    line-height: 1.35;

    font-weight: 700;

    margin: 0;
}

/* =========================================
   MANUFACTURING CTA
========================================= */

.people-cta {
    width: fit-content;
    min-width: 250px;
    height: 54px;

    padding: 0 24px;

    background: #7DBF83;
    border: 1px solid #7DBF83;

    color: #ffffff;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    gap: 18px;

    font-size: 14px;
    font-weight: 700;

    text-decoration: none;

    transition: .3s ease;
}

.people-cta:hover {
    background: #006e5c;
    border-color: #006e5c;
}

.people-cta-arrow {
    font-size: 22px;
    line-height: 0;
    transition: transform .3s ease;
}

.people-cta:hover .people-cta-arrow {
    transform: translateX(4px);
}

/* =====================================================
   FOOTER
===================================================== */

/* =====================================================
   FOOTER CTA
===================================================== */

.footer-cta {
    width: 100%;
    min-height: 220px;

    position: relative;
    overflow: hidden;

    background-image: url("../images/yarn.png");
    background-size: cover;
    background-position: center 48%;

    color: #fff;
}

.footer-cta-overlay {
    position: absolute;
    inset: 0;

    background:
        linear-gradient(
            90deg,
            rgba(0, 45, 39, .94) 0%,
            rgba(0, 45, 39, .88) 45%,
            rgba(0, 45, 39, .55) 100%
        );
}

.footer-cta-content {
    position: relative;
    z-index: 2;

    width: 100%;
    min-height: 220px;

    padding: 32px 4.3vw;

    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 50px;
}

/* CTA TEXT */

.footer-eyebrow {
    font-size: 14px;
    font-weight: 800;
    letter-spacing: 2px;

    margin-bottom: 14px;

    color: rgba(255,255,255,.85);
}

.footer-cta-text h2 {
    margin: 0;

    color: #fff;

    font-size: 34px;
    line-height: 1.25;
    letter-spacing: -1px;

    font-weight: 700;
}

/* CTA BUTTONS */

.footer-cta-buttons {
    width: 300px;

    display: flex;
    flex-direction: column;

    gap: 25px;

    flex-shrink: 0;
}

.footer-btn {
    width: 100%;
    height: 58px;

    display: flex;
    align-items: center;
    justify-content: center;

    gap: 15px;

    font-size: 15px;
    font-weight: 700;

    border-radius: 4px;

    transition: .3s;
}

.footer-btn span {
    font-size: 22px;
    line-height: 0;
}

/* WHITE BUTTON */

.footer-btn-light {
    background: #fff;
    color: #17322e;

    border: 1px solid #fff;
}

.footer-btn-light:hover {
    background: #7DBF83;
    border-color: #7DBF83;
    color: #fff;
}

/* WHATSAPP BUTTON */

.footer-btn-whatsapp {
    color: #fff;

    background: rgba(0, 75, 62, .65);

    border: 1px solid rgba(255,255,255,.55);
}

.footer-btn-whatsapp:hover {
    background: #7DBF83;
    border-color: #7DBF83;
}

.whatsapp-icon {
    width: 25px;
    height: 25px;

    border: 2px solid #fff;
    border-radius: 50%;

    display: flex;
    align-items: center;
    justify-content: center;

    font-size: 16px !important;
}

/* =====================================================
   FOOTER MAIN
===================================================== */

/* COLUMNS */

/* BRAND */

/* FOOTER COLUMN */

/* QUICK LINKS */

/* LOCATIONS */

/* SOCIAL */

/* BROCHURE */

/* =====================================================
   FOOTER BOTTOM
===================================================== */

.footer-legal {
    display: flex;
    align-items: center;

    gap: 15px;
}

.footer-legal a {
    color: #333333;

    font-size: 12px;
    font-weight: 500;

    transition: .2s;
}

.footer-legal a:hover {
    color: #17322e;
}

.footer-legal span {
    color: #c4ccca;
}

/* =====================================================
   BACK TO TOP
===================================================== */

.back-to-top {
    position: absolute;

    right: 2vw;
    bottom: 78px;

    width: 56px;
    height: 56px;

    border-radius: 50%;

    background: #006e5c;
    color: #fff;

    display: flex;
    align-items: center;
    justify-content: center;

    font-size: 24px;

    z-index: 5;

    transition: .3s;
    border: none;
    cursor: pointer ;
}

.back-to-top:hover {
    background: #7DBF83;
}

/* =====================================================
   TABLET
===================================================== */

/* =====================================================
   MOBILE
===================================================== */

/* ================= TABLET ================= */

/* =========================================
   TABLET
========================================= */

/* =========================================
   MOBILE
========================================= */

/* =========================================
   SMALL MOBILE
========================================= */

/* =========================================
           TABLET
        ========================================= */

/* =========================================
           MOBILE
        ========================================= */

/* =========================================
           JOURNEY MOBILE
        ========================================= */

/* =========================================================
   MOBILE NAVIGATION
   ========================================================= */



@media (max-width: 800px) {








.mobile-enquire {
        margin-top: 28px;
        min-height: 50px;
        padding: 0 18px;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 12px;
        background: #7DBF83;
        color: #fff;
        font-size: 13px;
        font-weight: 700;
    }

}

/* =========================================================
   RESPONSIVE SYSTEM — ABOUT US
   Preserves the desktop design while adapting spacing,
   typography and layout for tablet and mobile.
   ========================================================= */

/* TABLET: 801px–1100px */

@media (min-width: 801px) and (max-width: 1100px) {
.hero {
        min-height: 620px;
    }
.hero-content {
        width: min(570px, 58vw);
        margin-left: 5vw;
        padding-top: 70px;
    }
h1 {
        font-size: clamp(48px, 5.2vw, 68px);
    }
.intro,
.products {
        font-size: 15px;
    }
.side-wordmark {
        right: 3vw;
        bottom: 45px;
        font-size: 16px;
    }
.story-section {
        padding: 45px 5vw 25px;
        grid-template-columns: 48% 52%;
        gap: 0;
    }
.story-content {
        padding: 10px 38px 0 0;
    }
.story-title {
        font-size: 40px;
    }
.story-description p {
        font-size: 14px;
        line-height: 1.6;
    }
.story-image {
        height: 560px;
    }
.story-panel {
        height: 185px;
        width: 42%;
        gap: 18px;
    }
.story-panel-text {
        font-size: 16px;
    }
.story-panel-line {
        height: 65px;
    }
.story-video {
        left: 24px;
        bottom: 24px;
    }
.story-play {
        width: 54px;
        height: 54px;
        font-size: 20px;
    }
.journey-section {
        padding: 10px 5vw 65px;
    }
.journey-heading {
        margin-bottom: 32px;
    }
.journey-heading h2 {
        font-size: 40px;
    }
.milestones {
        grid-template-columns: repeat(5, minmax(0, 1fr));
    }
.milestone-content {
        padding: 18px 10px 0;
    }
.milestone-content h3 {
        font-size: 15px;
    }
.milestone-content p {
        font-size: 12px;
        line-height: 1.45;
    }
.people-section {
        padding: 0 0 65px;
    }
.people-container {
        grid-template-columns: 52% 48%;
        min-height: 0;
    }
.people-image {
        height: 500px;
        min-height: 500px;
    }
.people-image-content {
        left: 45px;
        bottom: 32px;
    }
.people-image-title {
        font-size: 28px;
    }
.people-content {
        padding: 38px 35px 38px 30px;
    }
.people-title {
        font-size: 36px;
    }
.people-description {
        font-size: 14px;
        line-height: 1.5;
        margin-bottom: 14px;
    }
.people-cta {
        min-width: 220px;
        height: 50px;
        font-size: 13px;
    }
.footer-cta-content {
        padding: 30px 3vw;
    }
.footer-cta-text h2 {
        font-size: 28px;
    }
.footer-cta-buttons {
        width: 240px;
    }
.back-to-top {
        right: 18px;
    }
}

/* MOBILE / SMALL TABLET: 800px and below */

@media (max-width: 800px) {
.hero {
        min-height: calc(100vh - 76px);
        height: auto;
    }
.hero::before {
        background:
            linear-gradient(
                90deg,
                rgba(2, 30, 26, .96) 0%,
                rgba(2, 30, 26, .78) 52%,
                rgba(2, 30, 26, .30) 100%
            ),
            url("../images/ahero.jpg") center center / cover no-repeat;
    }
.hero-content {
        width: auto;
        margin: 0;
        padding: 58px 25px 110px;
    }
.eyebrow {
        font-size: 13px;
        letter-spacing: 1.7px;
        margin-bottom: 18px;
    }
h1 {
        font-size: clamp(42px, 10vw, 56px);
        line-height: .98;
        letter-spacing: -1.5px;
        margin-bottom: 24px;
    }
.intro {
        max-width: 620px;
        font-size: 15px;
        line-height: 1.6;
    }
.side-wordmark {
        right: 22px;
        bottom: 30px;
        font-size: 12px;
        line-height: 1.7;
    }
.watch,
.scroll {
        display: none;
    }
.story-section {
        display: flex;
        flex-direction: column;
        width: 100%;
        padding: 55px 22px 25px;
    }
.story-content {
        padding: 0;
        margin-bottom: 35px;
    }
.story-eyebrow {
        font-size: 13px;
        letter-spacing: 2px;
        margin-bottom: 14px;
    }
.story-title {
        font-size: clamp(34px, 8vw, 44px);
        line-height: 1.08;
        letter-spacing: -1.5px;
        margin-bottom: 22px;
    }
.story-description p {
        font-size: 15px;
        line-height: 1.65;
        margin-bottom: 16px;
    }
.story-btn {
        min-width: 210px;
        height: 50px;
        font-size: 13px;
    }
.story-image {
        width: 100%;
        height: 520px;
        border-radius: 5px;
    }
.story-location {
        top: 22px;
        right: 20px;
        font-size: 11px;
        padding: 4px 7px;
    }
.story-video {
        left: 20px;
        bottom: 20px;
        gap: 12px;
    }
.story-play {
        width: 52px;
        height: 52px;
        font-size: 20px;
    }
.story-video-title {
        font-size: 14px;
    }
.story-video-duration {
        font-size: 12px;
    }
.story-panel {
        width: 48%;
        height: 175px;
        gap: 15px;
    }
.story-panel-line {
        height: 60px;
    }
.story-panel-text {
        font-size: 15px;
        line-height: 1.4;
    }
.journey-section {
        padding: 10px 22px 65px;
    }
.journey-heading {
        margin-bottom: 30px;
    }
.section-label {
        font-size: 13px;
        letter-spacing: 2.3px;
    }
.journey-heading h2 {
        font-size: clamp(34px, 8vw, 42px);
    }
.milestones {
        grid-template-columns: 1fr;
        row-gap: 35px;
    }
.milestone-line {
        height: 52px;
    }
.milestone-line::before {
        left: 0 !important;
        right: 0 !important;
    }
.milestone:first-child .milestone-line::before {
        left: 50% !important;
    }
.milestone:last-child .milestone-line::before {
        left: 0 !important;
        right: 50% !important;
    }
.milestone-icon {
        width: 52px;
        height: 52px;
    }
.milestone-icon img {
        width: 42px;
        height: 42px;
    }
.timeline-dot {
        width: 7px;
        height: 7px;
    }
.milestone-content {
        padding: 15px 10px 0 !important;
        text-align: center;
    }
.milestone-content h3 {
        font-size: 19px;
        margin-bottom: 10px;
    }
.milestone-content p {
        font-size: 14px;
        line-height: 1.55;
    }
.people-section {
        padding: 0 22px 60px;
    }
.people-container {
        display: flex;
        flex-direction: column;
        min-height: 0;
    }
.people-image {
        width: 100%;
        height: 470px;
        min-height: 0;
        border-radius: 5px;
    }
.people-image-content {
        left: 25px;
        right: 25px;
        bottom: 28px;
    }
.people-image-title {
        font-size: 29px;
        line-height: 1.15;
        margin-bottom: 20px;
    }
.people-content {
        padding: 42px 3px 5px;
    }
.people-eyebrow {
        font-size: 13px;
        letter-spacing: 2.3px;
    }
.people-title {
        font-size: clamp(34px, 8vw, 42px);
        line-height: 1.1;
        margin-bottom: 22px;
    }
.people-description {
        font-size: 15px;
        line-height: 1.55;
        margin-bottom: 16px;
    }
.people-cta {
        min-width: 225px;
        height: 52px;
        margin-top: 12px;
        font-size: 13px;
    }
.footer-cta-content {
        min-height: auto;
        padding: 42px 22px;
        flex-direction: column;
        align-items: flex-start;
        gap: 28px;
    }
.footer-cta-text h2 {
        font-size: 27px;
        line-height: 1.2;
    }
.footer-cta-buttons {
        width: 100%;
        gap: 15px;
    }
.footer-btn {
        height: 54px;
        font-size: 14px;
    }
.footer-legal {
        gap: 9px;
        flex-wrap: wrap;
    }
.back-to-top {
        width: 46px;
        height: 46px;
        right: 18px;
        bottom: 105px;
        font-size: 20px;
    }
}

/* SMALL MOBILE */

@media (max-width: 480px) {
.hero-content {
        padding: 48px 20px 100px;
    }
h1 {
        font-size: 40px;
    }
.intro {
        font-size: 14px;
    }
.story-section,
.journey-section {
        padding-left: 20px;
        padding-right: 20px;
    }
.story-image {
        height: 440px;
    }
.story-panel {
        width: 52%;
        height: 150px;
    }
.story-panel-text {
        font-size: 13px;
    }
.people-section {
        padding-left: 20px;
        padding-right: 20px;
    }
.people-image {
        height: 410px;
    }
.people-image-title {
        font-size: 26px;
    }
.people-content {
        padding-top: 36px;
    }
.people-cta {
        width: 100%;
    }
.footer-cta-text h2 {
        font-size: 24px;
    }
}

/* =========================================================
   DESKTOP — 1101px+
   ========================================================= */

@media (min-width: 1101px) {
/* Hero */
.eyebrow {
        font-size: 17px !important;
        letter-spacing: 2px !important;
    }
.hero h1 {
        font-size: 56px !important;
        line-height: .96 !important;
        letter-spacing: -2px !important;
    }
.hero .intro {
        font-size: 20px !important;
        line-height: 1.45 !important;
    }
/* Main section headings */
.story-title,
.journey-heading h2,
.people-title {
        font-size: 44px !important;
        line-height: 1.08 !important;
        letter-spacing: -1.5px !important;
    }
/* Section labels */
.story-eyebrow,
.people-eyebrow,
.section-label {
        font-size: 17px !important;
        letter-spacing: 3px !important;
    }
/* Section body */
.story-description p,
.people-description {
        font-size: 15px !important;
        line-height: 1.65 !important;
    }
.milestone-content h3 {
        font-size: 17px !important;
    }
.milestone-content p {
        font-size: 14px !important;
        line-height: 1.55 !important;
    }
/* Story overlay */
.story-panel-text {
        font-size: 21px !important;
    }
/* People image heading */
.people-image-title {
        font-size: 32px !important;
    }
/* Footer */
.footer-cta-text h2 {
        font-size: 36px !important;
        line-height: 1.12 !important;
    }
.footer-eyebrow {
        font-size: 12px !important;
    }
}

/* =========================================================
   TABLET — 801px to 1100px
   Matches Home tablet typography.
   ========================================================= */

@media (min-width: 801px) and (max-width: 1100px) {
.eyebrow {
        font-size: 13px !important;
        letter-spacing: 1.7px !important;
    }
.hero h1 {
        font-size: clamp(46px, 5vw, 58px) !important;
        line-height: .96 !important;
        letter-spacing: -2px !important;
        margin-bottom: 22px !important;
    }
.hero .intro {
        font-size: 17px !important;
        line-height: 1.5 !important;
    }
/* Section headings */
.story-title,
.journey-heading h2,
.people-title {
        font-size: 30px !important;
        line-height: 1.08 !important;
        letter-spacing: -1.5px !important;
    }
/* Section labels */
.story-eyebrow,
.people-eyebrow,
.section-label {
        font-size: 13px !important;
        letter-spacing: 2.3px !important;
    }
/* Body */
.story-description p,
.people-description {
        font-size: 14px !important;
        line-height: 1.55 !important;
    }
.milestone-content h3 {
        font-size: 15px !important;
    }
.milestone-content p {
        font-size: 12px !important;
        line-height: 1.45 !important;
    }
.story-panel-text {
        font-size: 15px !important;
    }
.people-image-title {
        font-size: 28px !important;
    }
/* Footer */
.footer-cta-text h2 {
        font-size: 25px !important;
        line-height: 1.2 !important;
    }
.footer-eyebrow {
        font-size: 11px !important;
    }
.footer-btn {
        font-size: 12px !important;
    }
}

/* =========================================================
   MOBILE / TABLET — 481px to 800px
   Matches Home's <=800 typography.
   ========================================================= */

@media (min-width: 481px) and (max-width: 800px) {
.eyebrow {
        font-size: 13px !important;
        letter-spacing: 1.7px !important;
    }
.hero h1 {
        font-size: 56px !important;
        line-height: .96 !important;
        letter-spacing: -2px !important;
    }
.hero .intro {
        font-size: 17px !important;
        line-height: 1.5 !important;
    }
.story-eyebrow,
.people-eyebrow,
.section-label {
        font-size: 13px !important;
        letter-spacing: 2.3px !important;
    }
.story-title,
.journey-heading h2,
.people-title {
        font-size: 30px !important;
        line-height: 1.08 !important;
        letter-spacing: -1.5px !important;
    }
.story-description p,
.people-description {
        font-size: 15px !important;
        line-height: 1.6 !important;
    }
.milestone-content h3 {
        font-size: 17px !important;
    }
.milestone-content p {
        font-size: 14px !important;
        line-height: 1.55 !important;
    }
.story-panel-text {
        font-size: 15px !important;
    }
.people-image-title {
        font-size: 29px !important;
    }
.footer-cta-text h2 {
        font-size: 25px !important;
        line-height: 1.2 !important;
    }
}

/* =========================================================
   SMALL MOBILE — 481px and below
   Matches Home's final mobile scale.
   ========================================================= */

@media (max-width: 480px) {
.eyebrow {
        font-size: 10px !important;
        letter-spacing: 1.7px !important;
        margin-bottom: 13px !important;
    }
.hero h1 {
        font-size: clamp(34px, 10.5vw, 44px) !important;
        line-height: .98 !important;
        letter-spacing: -1.5px !important;
        margin-bottom: 17px !important;
    }
.hero .intro {
        font-size: 14px !important;
        line-height: 1.5 !important;
    }
.story-eyebrow,
.people-eyebrow,
.section-label {
        font-size: 10px !important;
        letter-spacing: 2px !important;
    }
.story-title,
.journey-heading h2,
.people-title {
        font-size: 27px !important;
        line-height: 1.08 !important;
        letter-spacing: -1.5px !important;
    }
.story-description p,
.people-description {
        font-size: 14px !important;
        line-height: 1.55 !important;
    }
.milestone-content h3 {
        font-size: 16px !important;
    }
.milestone-content p {
        font-size: 13px !important;
        line-height: 1.5 !important;
    }
.story-panel-text {
        font-size: 13px !important;
    }
.people-image-title {
        font-size: 26px !important;
    }
.people-cta {
        font-size: 13px !important;
    }
.footer-cta-text h2 {
        font-size: 23px !important;
        line-height: 1.2 !important;
    }
.footer-eyebrow {
        font-size: 10px !important;
    }
.footer-btn {
        font-size: 13px !important;
    }
}

/* =========================================================
   VERY SMALL PHONES — 360px and below
   ========================================================= */

@media (max-width: 360px) {
.hero h1 {
        font-size: 34px !important;
    }
.hero .intro {
        font-size: 13px !important;
    }
.story-title,
.journey-heading h2,
.people-title {
        font-size: 25px !important;
    }
.story-description p,
.people-description {
        font-size: 13px !important;
    }
.milestone-content h3 {
        font-size: 15px !important;
    }
.milestone-content p {
        font-size: 12px !important;
    }
.footer-cta-text h2 {
        font-size: 23px !important;
    }
}

/* FIX FOR VERY SMALL MOBILE SCREENS */

@media (max-width: 340px) {
.hero {
        width: 100%;
        max-width: 100%;
    }
.hero-content {
        width: 100%;
        max-width: 100%;
        padding-left: 20px;
        padding-right: 20px;
    }
}

/* DESKTOP — match Home */

@media (min-width: 1101px) {
.footer-cta-text h2 { font-size: 34px !important; }
.footer-btn { height: 58px !important; font-size: 15px !important; }
.footer-btn span { font-size: 22px !important; }
}

/* TABLET — 801px to 1100px */

@media (min-width: 801px) and (max-width: 1100px) {
.footer-cta-content { padding: 35px 3vw !important; }
.footer-cta-text h2 { font-size: 30px !important; }
.footer-cta-buttons { width: 270px !important; }
.footer-btn { height: 58px !important; font-size: 15px !important; }
}

/* MOBILE — 481px to 800px */

@media (min-width: 481px) and (max-width: 800px) {
.footer-cta-content {
        min-height: auto !important;
        padding: 45px 22px !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 30px !important;
    }
.footer-cta-text h2 { font-size: 25px !important; line-height: 1.2 !important; }
.footer-cta-buttons { width: 100% !important; max-width: 310px !important; }
.footer-btn { height: 46px !important; font-size: 12px !important; }
.footer-btn span { font-size: 20px !important; }
}

/* SMALL MOBILE — 480px and below */

@media (max-width: 480px) {
.footer-cta-content {
        min-height: auto !important;
        padding: 32px 18px !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 28px !important;
    }
.footer-cta-text h2 { font-size: 23px !important; line-height: 1.25 !important; }
.footer-cta-buttons { width: 100% !important; max-width: 280px !important; }
.footer-btn { height: 44px !important; font-size: 11px !important; }
.footer-btn span { font-size: 19px !important; }
}

html { scroll-behavior: smooth; }

@keyframes headerStickyIn {
  from { transform: translateY(-100%); }
  to { transform: translateY(0); }
}





.back-to-top {
  position: fixed !important; right: 28px !important; bottom: 28px !important;
  width: 52px !important; height: 52px !important; border-radius: 50% !important;
  z-index: 9998 !important; opacity: 0 !important; visibility: hidden !important;
  pointer-events: none !important; transform: translateY(14px) scale(.92);
  transition: opacity .28s ease, visibility .28s ease, transform .28s ease, background-color .28s ease !important;
}

.back-to-top.is-visible { opacity:1 !important; visibility:visible !important; pointer-events:auto !important; transform:translateY(0) scale(1); }

@media (max-width:767px) {
.back-to-top {right:16px !important;bottom:18px !important;width:46px !important;height:46px !important;}
}

@media (prefers-reduced-motion:reduce) {
html {scroll-behavior:auto;}
}

/* Sticky header after 200px - externalized */

html { scroll-behavior:smooth; }

@keyframes stickyHeaderFadeIn { from {opacity:0; transform:translateY(-22px);} to {opacity:1; transform:translateY(0);} }





.back-to-top {position:fixed !important;right:28px !important;bottom:28px !important;z-index:9998 !important;opacity:0 !important;visibility:hidden !important;pointer-events:none !important;transform:translateY(14px) scale(.92);transition:opacity .28s ease,visibility .28s ease,transform .28s ease !important;}

.back-to-top.is-visible {opacity:1 !important;visibility:visible !important;pointer-events:auto !important;transform:translateY(0) scale(1);}

@media (max-width:767px) {
.back-to-top {right:16px !important;bottom:18px !important;}
}

@media (prefers-reduced-motion:reduce) {
html {scroll-behavior:auto}
}
