/* ===== Our Approach — Hero (Rectangle 51 + Frame 7) ===== */
.apphero {
    position: relative;
    width: 100%;
    height: 788px;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    overflow: hidden;
    display: flex;
    align-items: flex-end;
    isolation: isolate;
}

/* Rectangle 51 : gradient overlay */
.apphero__overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(0, 0, 0, 0) 12.86%, rgba(0, 0, 0, 0.7) 100%);
    z-index: 1;
}

/* Frame 7 : bottom-left text block (832px wide, 30px from the left) */
.apphero__content {
    position: relative;
    z-index: 2;
    width: 832px;
    max-width: calc(100% - 60px);
    margin-left: 30px;
    padding-bottom: 44px;
    display: flex;
    flex-direction: column;
    gap: 7px;
}

.apphero__title {
    margin: 0;
    font-family: 'Poppins', sans-serif;
    font-weight: 500;
    font-size: 40px;
    line-height: 60px;
    color: #CF8E00;
}

.apphero__desc {
    margin: 0;
    font-family: 'Poppins', sans-serif;
    font-weight: 400;
    font-size: 20px;
    line-height: 30px;
    color: #FFFFFF;
}

/* ===== Our Approach — intro header (Frame 216) ===== */
.appintro {
    width: 100%;
    background: #FFFFFF;
    display: flex;
    justify-content: center;
    padding: 50px 0 30px;
}

.appintro__inner {
    width: 1380px;
    max-width: calc(100% - 60px);
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 24px;
}

.appintro__bar {
    flex: none;
    width: 6px;
    height: 106px;
    border-radius: 3px;
    background: linear-gradient(180deg, #CF8E00 0%, #064700 100%);
}

.appintro__text {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 7px;
}

.appintro__title {
    margin: 0;
    font-family: 'Poppins', sans-serif;
    font-weight: 500;
    font-size: 48px;
    line-height: 72px;
    text-transform: uppercase;
    color: #363636;
}

.appintro__desc {
    margin: 0;
    font-family: 'Poppins', sans-serif;
    font-weight: 400;
    font-size: 18px;
    line-height: 27px;
    text-align: justify;
    color: #363636;
}

/* ===== Our Approach — Area Development accordion (Frame 269) ===== */
.appad {
    width: 100%;
    background: #FFFFFF;
    display: flex;
    justify-content: center;
    padding: 30px 0 0;
}

.appad__inner {
    width: 1380px;
    max-width: calc(100% - 60px);
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.appad__row {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    width: 100%;
    padding: 0;
    background: none;
    border: none;
    cursor: pointer;
    text-align: left;
}

.appad__title {
    font-family: 'Poppins', sans-serif;
    font-weight: 500;
    font-size: 32px;
    line-height: 48px;
    text-transform: uppercase;
    color: #363636;
}

.appad__chevron {
    flex: none;
    width: 24px;
    height: 24px;
    line-height: 0;
    transition: transform 0.25s ease;
}
.appad__chevron svg { width: 24px; height: 24px; display: block; }
.appad__row[aria-expanded="true"] .appad__chevron { transform: rotate(180deg); }

/* the arrow's collapsible menu (content added later) */
.appad__panel:not([hidden]) { display: block; padding-bottom: 6px; }

.appad__divider {
    width: 100%;
    height: 0;
    border-top: 1px solid rgba(0, 0, 0, 0.08);
}

/* ===== Our Approach — closing paragraph + divider (Frame 301) ===== */
.appafter {
    width: 100%;
    background: #FFFFFF;
    display: flex;
    justify-content: center;
    padding: 20px 0 0;
}

.appafter__inner {
    width: 1380px;
    max-width: calc(100% - 60px);
    display: flex;
    flex-direction: column;
    gap: 90px;
}

.appafter__text {
    margin: 0;
    font-family: 'Poppins', sans-serif;
    font-weight: 400;
    font-size: 18px;
    line-height: 27px;
    text-align: justify;
    color: #363636;
}

.appafter__divider {
    width: 100%;
    height: 0;
    border-top: 1px solid rgba(0, 0, 0, 0.08);
}

/* ===== Our Approach — centered description box (Frame 241) ===== */
.appdesc {
    width: 100%;
    background: #FFFFFF;
    display: flex;
    justify-content: center;
    padding: 20px 0 40px;
}

.appdesc__box {
    width: 1380px;
    max-width: calc(100% - 60px);
    box-sizing: border-box;
    padding: 75px 28px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 40px;
    background: rgba(6, 71, 0, 0.1);
    border-radius: 30px;
}

.appdesc__text {
    margin: 0;
    max-width: 1325px;
    font-family: 'Poppins', sans-serif;
    font-weight: 500;
    font-size: 20px;
    line-height: 30px;
    text-align: center;
    color: #363636;
}

/* ===== Our Approach — Area Development content (image + title + text) ===== */
.apparea {
    width: 100%;
    background: #FFFFFF;
    display: flex;
    justify-content: center;
    padding: 34px 0 20px;
}

.apparea__inner {
    width: 1380px;
    max-width: calc(100% - 60px);
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 37px;
}

.apparea__media {
    flex: 0 0 722px;
    max-width: 52%;
    aspect-ratio: 722 / 475;
    border-radius: 30px;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    background-color: #e6e6e6;
}

.apparea__text {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.apparea__title {
    margin: 0;
    font-family: 'Poppins', sans-serif;
    font-weight: 500;
    font-size: 32px;
    line-height: 48px;
    text-transform: uppercase;
    color: #363636;
}

.apparea__desc {
    margin: 0;
    font-family: 'Poppins', sans-serif;
    font-weight: 400;
    font-size: 18px;
    line-height: 27px;
    text-align: justify;
    color: #363636;
}

/* mirrored variant : text left, image right (Working Ethically) */
.apparea--reverse .apparea__inner { flex-direction: row-reverse; }
.apparea--reverse .apparea__desc { text-align: left; }

/* gold description box variant (Frame 293) */
.appdesc--gold .appdesc__box { background: rgba(207, 142, 0, 0.1); }

/* plain full-width paragraph */
.apppara {
    width: 100%;
    background: #FFFFFF;
    display: flex;
    justify-content: center;
    padding: 18px 0 30px;
}
.apppara__inner {
    width: 1380px;
    max-width: calc(100% - 60px);
    display: flex;
    flex-direction: column;
    gap: 90px;
}
.apppara__text {
    margin: 0;
    font-family: 'Poppins', sans-serif;
    font-weight: 400;
    font-size: 18px;
    line-height: 27px;
    color: #363636;
}
.apppara__divider {
    width: 100%;
    height: 0;
    border-top: 1px solid rgba(0, 0, 0, 0.08);
}

/* ===== Responsive ===== */
@media (max-width: 1100px) {
    .apphero { height: 640px; }
    .apphero__title { font-size: 34px; line-height: 48px; }
    .appintro__title { font-size: 38px; line-height: 56px; }
}

@media (max-width: 768px) {
    .appad__title { font-size: 24px; line-height: 36px; }
    .apparea__inner,
    .apparea--reverse .apparea__inner { flex-direction: column; gap: 20px; }
    .apparea__media { flex-basis: auto; width: 100%; max-width: none; }
    .apparea__title { font-size: 24px; line-height: 36px; }
    .apparea__desc { font-size: 16px; line-height: 24px; }
    .apppara__inner { gap: 50px; }
    .apppara__text { font-size: 16px; line-height: 24px; }
    .appdesc__box { padding: 44px 22px; border-radius: 24px; }
    .appdesc__text { font-size: 17px; line-height: 26px; }
    .appafter__inner { gap: 50px; }
    .appafter__text { font-size: 16px; line-height: 24px; text-align: left; }
}

@media (max-width: 480px) {
    .appad__title { font-size: 20px; line-height: 30px; }
}

@media (max-width: 768px) {
    .apphero { height: 520px; }
    .apphero__content { margin-left: 22px; padding-bottom: 34px; }
    .apphero__title { font-size: 28px; line-height: 38px; }
    .apphero__desc { font-size: 16px; line-height: 24px; }
    .appintro { padding: 40px 0 24px; }
    .appintro__title { font-size: 30px; line-height: 44px; }
    .appintro__desc { font-size: 16px; line-height: 24px; }
    .appintro__bar { height: 84px; }
}

@media (max-width: 480px) {
    .apphero { height: 420px; }
    .apphero__content { margin-left: 16px; padding-bottom: 26px; }
    .apphero__title { font-size: 23px; line-height: 32px; }
    .apphero__desc { font-size: 14px; line-height: 21px; }
    .appintro__title { font-size: 24px; line-height: 34px; }
    .appintro__desc { font-size: 15px; line-height: 23px; text-align: left; }
    .appintro__bar { height: 70px; }
}
