/* AppIn500 home revamp
 * Naming: #homeXxxSec / .homeXxxSecInner… (camelCase)
 * JS hooks kept: .faq-item, .plan-options, .plan-option-pill, #enquiry-form, .form-status
 */

html {
  scroll-behavior: smooth;
}

body {
    background: #fff;
}

.btn-primary,
.btn-outline,
.btn-accent {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    align-items: center;
    border: none;
    border-radius: 8.4px;
    gap: 10px;
    padding: 16px 30px;
    font-size: 15.6px;
    font-weight: 600;
    line-height: 23.4px;
    letter-spacing: 0;
    text-align: center;
    font-family: Mona Sans, sans-serif;
    text-decoration: none;
    text-transform: capitalize;
    cursor: pointer;
    transition: transform .2s, background .2s, border-color .2s;
    display: inline-flex
}

.btn-primary:hover,
.btn-outline:hover,
.btn-accent:hover {
    transform: translateY(-2px)
}



.btn-primary {
    display: inline-flex;
    align-items: center;
    border: none;
    background: #173D2C;
    color: #FFFFFF;
    padding: 16px 30px;
    font-family: Mona Sans, sans-serif;
    font-weight: 600;
    text-transform: capitalize;
    font-size: 15.6px;
    line-height: 23.4px;
    letter-spacing: 0;
    text-align: center;
    border-radius: 8.4px;
    gap: 10px;
    text-decoration: none;
}

.btn-primary:hover {
    background: var(--cs-forest-card)
}

.btn-outline {
    color: inherit;
    background: 0 0;
}

.btn-outline:hover {
    border-color: var(--cs-forest)
}

.btn-accent {
    color: var(--cs-forest);
    background: var(--cs-lime);
    border: 1px solid #0000;
    border-radius: 999px;
    font-weight: 700;
    gap: 10px;
    padding: 16px 28px
}

.btn-sm {
    gap: 15px;
    padding: 13px 17px;
    font-size: 13px
}

/* ---------- Hero ---------- */
#homeHeroSec {
    width: 100%;
    max-width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 70px 0 150px 0;
}

#homeHeroSec .homeHeroSecInner {
    width: 100%;
    max-width: 1400px;
    display: flex;
    align-items: center;
    justify-content: center;
    /* background-image: url("/images/homeBg.jpg"); */
    /* background-size: cover;
    background-position: center center;
    background-repeat: no-repeat; */
    min-height: 866px;
    padding: 0px 120px;
    border-radius: 60px;
    position: relative;
    overflow: hidden;
}

#homeHeroSec .homeHeroSecInner .homeHeroSecVideo {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: 0;
}

#homeHeroSec .homeHeroSecInner .homeHeroSecCol {
    width: 100%;
    max-width: 50%;
    position: relative;
    z-index: 1;
}

#homeHeroSec .homeHeroSecInner .homeHeroSecCol .homeHeroSecColActionBtns {
    display: flex;
    align-items: center;
}

#homeHeroSec .homeHeroSecInner .homeHeroSecCol .homeHeroSecColActionBtns a {
    display: flex;
    align-items: center;
}

/* ---------- Hero morph loader ---------- */
body.hero-loading {
    overflow: hidden;
}

/* html normally keeps scrollbar-gutter:stable (app.css) so the reserved
   space doesn't flicker on/off as content height changes elsewhere on the
   page (that's what stops the pinned Team section from jumping sideways
   when its pin engages). But that same reserved gutter leaves a visible
   gap down #heroLoader's right edge while it's fullscreen. Scrolling is
   already fully blocked during this state (overflow:hidden right above),
   so there's no shift risk to guard against yet — safe to drop the
   reservation only for as long as body.hero-loading is present. */
html:has(body.hero-loading) {
    overflow: hidden;
    scrollbar-gutter: auto;
}

body.hero-loading>header.header,
body.hero-loading .mobile-menu-toggle {
    opacity: 0;
    pointer-events: none;
}

body.hero-loading #homeHeroSec .homeHeroSecTextCol {
    opacity: 0;
    transform: translateY(24px);
}

body.heroLoaderReveal>header.header,
body.heroLoaderReveal #homeHeroSec .homeHeroSecTextCol {
    transition: opacity .6s ease, transform .6s ease;
    opacity: 1;
    transform: translateY(0);
}

#heroLoader {
    position: fixed;
    inset: 0;
    width: 100vw;
    height: 100vh;
    border-radius: 0;
    background-image: url("/images/appyVideo/appyHero-poster.webp");
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    overflow: hidden;
    z-index: 9999;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    padding-bottom: 8vh;
    transition:
        top .9s cubic-bezier(0.65, 0, 0.35, 1),
        left .9s cubic-bezier(0.65, 0, 0.35, 1),
        width .9s cubic-bezier(0.65, 0, 0.35, 1),
        height .9s cubic-bezier(0.65, 0, 0.35, 1),
        border-radius .9s cubic-bezier(0.65, 0, 0.35, 1);
}

#heroLoader.heroLoaderMorphing {
    will-change: top, left, width, height, border-radius;
}

#heroLoader .homeHeroSecVideo {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: 0;
}

/* Keep the full-bleed loader crop centred on narrow viewports. */
@media (max-width: 900px) {
    #heroLoader .homeHeroSecVideo {
        object-fit: cover;
        object-position: 50% 50%;
    }
}

.heroLoaderTagline {
    position: relative;
    z-index: 1;
    max-width: 640px;
    margin: 0 auto;
    padding: 0 24px;
    color: #F3FBE4;
    font-family: Mona Sans, sans-serif;
    font-weight: 600;
    font-size: clamp(18px, 2.4vw, 26px);
    text-align: center;
    text-shadow: 0 4px 18px rgba(11, 26, 16, .55);
    opacity: 0;
    transform: translateY(8px);
    transition: opacity .5s ease, transform .5s ease;
}

.heroLoaderTagline.is-visible {
    opacity: 1;
    transform: translateY(0);
}

@media (prefers-reduced-motion: reduce) {
    #heroLoader {
        transition: opacity .3s ease;
    }
}

/* ---------- Portfolio ---------- */
#homePortfolioSec {
    width: 100%;
    max-width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 0 150px 0;
}

#homePortfolioSec .homePortfolioSecInner {
    width: 100%;
    max-width: 1400px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 100px;
}

#homePortfolioSec .homePortfolioSecInner .homePortfolioSecInnerHead {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
}

#homePortfolioSec .homePortfolioSecInner .homePortfolioSecInnerHead .homePortfolioSecInnerHeadCol:first-child {
    width: 100%;
    max-width: 50%;
}

#homePortfolioSec .homePortfolioSecInner .homePortfolioSecInnerHead .homePortfolioSecInnerHeadCol:last-child {
    width: 100%;
    max-width: 21%;
}

#homePortfolioSec .homePortfolioSecInner .homePortfolioSecInnerHead h2 {
    font-family: Alan Sans;
    font-weight: 500;
    font-size: 70px;
    line-height: 77.04px;
    letter-spacing: -4px;
    color: #202A24;
}

#homePortfolioSec .homePortfolioSecInner .homePortfolioSecInnerHead h2 span {
    color: #527B3F;
}

#homePortfolioSec .homePortfolioSecInner .homePortfolioSecInnerHead p {
    font-family: Mona Sans;
    font-weight: 500;
    font-size: 20px;
    line-height: 126%;
    letter-spacing: 1.6px;
    color: #55724D;
}

#homePortfolioSec .homePortfolioSecInner .homePortfolioSecInnerList {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 65px;
}

#homePortfolioSec .homePortfolioSecInner .homePortfolioSecInnerList .homePortfolioSecInnerListItem {
    background-color: #16311F;
    background-image: url("/images/homePortolioItem.png");
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    width: auto;
    max-width: none;
    min-height: 470px;
    display: flex;
    flex-direction: column;
    justify-content: end;
    align-items: start;
    padding: 36px 32px;
    border-radius: 32px;
    overflow: hidden;
    position: relative;
}

#homePortfolioSec .homePortfolioSecInner .homePortfolioSecInnerList .homePortfolioSecInnerListItem h2 {
    font-family: Mona Sans;
    font-weight: 700;
    font-size: 34.13px;
    line-height: 100%;
    letter-spacing: 0px;
    color: #FFFFFF;
    margin: 0 0 12px 0;
}

#homePortfolioSec .homePortfolioSecInner .homePortfolioSecInnerList .homePortfolioSecInnerListItem h4 {
    font-family: Mona Sans;
    font-weight: 400;
    font-size: 19.91px;
    line-height: 100%;
    letter-spacing: 0px;
    color: #FFFFFF;
    margin: 0 0 28px 0;

}



#homePortfolioSec .homePortfolioSecInner .homePortfolioSecInnerList .homePortfolioSecInnerListItem h2,
#homePortfolioSec .homePortfolioSecInner .homePortfolioSecInnerList .homePortfolioSecInnerListItem h4,
#homePortfolioSec .homePortfolioSecInner .homePortfolioSecInnerList .homePortfolioSecInnerListItem .homePortfolioSecInnerListItemCta {
    position: relative;
    z-index: 1;
}

#homePortfolioSec .homePortfolioSecInner .homePortfolioSecInnerList .homePortfolioSecInnerListItem::before {
    content: "";
    width: 100%;
    height: 58%;
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 0;
    pointer-events: none;
}

/* Dense bottom glow — Figma uses near-opaque color at the base (~30% alpha was too light) */
#homePortfolioSec .homePortfolioSecInner .homePortfolioSecInnerList .homePortfolioSecInnerListItem:nth-child(1)::before {
    background: linear-gradient(180deg,
            rgba(202, 131, 95, 0) 0%,
            rgba(202, 131, 95, 0.35) 38%,
            rgba(202, 131, 95, 0.85) 72%,
            rgba(202, 131, 95, 1) 100%);
}

#homePortfolioSec .homePortfolioSecInner .homePortfolioSecInnerList .homePortfolioSecInnerListItem:nth-child(2)::before {
    background: linear-gradient(180deg,
            rgba(182, 63, 89, 0) 0%,
            rgba(182, 63, 89, 0.35) 38%,
            rgba(182, 63, 89, 0.85) 72%,
            rgba(182, 63, 89, 1) 100%);
}

#homePortfolioSec .homePortfolioSecInner .homePortfolioSecInnerList .homePortfolioSecInnerListItem:nth-child(3)::before {
    background: linear-gradient(180deg,
            rgba(243, 133, 105, 0) 0%,
            rgba(243, 133, 105, 0.35) 38%,
            rgba(243, 133, 105, 0.85) 72%,
            rgba(243, 133, 105, 1) 100%);
}

#homePortfolioSec .homePortfolioSecInner .homePortfolioSecInnerList .homePortfolioSecInnerListItem:nth-child(4)::before {
    background: linear-gradient(180deg,
            rgba(102, 111, 96, 0) 0%,
            rgba(102, 111, 96, 0.35) 38%,
            rgba(102, 111, 96, 0.85) 72%,
            rgba(102, 111, 96, 1) 100%);
}

#homePortfolioSec .homePortfolioSecInner .homePortfolioSecInnerList .homePortfolioSecInnerListItem:nth-child(5)::before {
    background: linear-gradient(180deg,
            rgba(88, 131, 62, 0) 0%,
            rgba(88, 131, 62, 0.35) 38%,
            rgba(88, 131, 62, 0.85) 72%,
            rgba(88, 131, 62, 1) 100%);
}

#homePortfolioSec .homePortfolioSecInner .homePortfolioSecInnerList .homePortfolioSecInnerListItem:nth-child(6)::before {
    background: linear-gradient(180deg,
            rgba(40, 125, 135, 0) 0%,
            rgba(40, 125, 135, 0.35) 38%,
            rgba(40, 125, 135, 0.85) 72%,
            rgba(40, 125, 135, 1) 100%);
}

#homePortfolioSec .homePortfolioSecInner .homePortfolioSecInnerList .homePortfolioSecInnerListItem:nth-child(1) {
    box-shadow: 21.72px 54.3px 86.88px 0px rgba(202, 131, 95, 0.35);
}

#homePortfolioSec .homePortfolioSecInner .homePortfolioSecInnerList .homePortfolioSecInnerListItem:nth-child(2) {
    box-shadow: 21.72px 54.3px 86.88px 0px rgba(182, 63, 89, 0.35);
}

#homePortfolioSec .homePortfolioSecInner .homePortfolioSecInnerList .homePortfolioSecInnerListItem:nth-child(3) {
    box-shadow: 21.72px 54.3px 86.88px 0px rgba(243, 133, 105, 0.35);
}

#homePortfolioSec .homePortfolioSecInner .homePortfolioSecInnerList .homePortfolioSecInnerListItem:nth-child(4) {
    box-shadow: 21.72px 54.3px 86.88px 0px rgba(102, 111, 96, 0.35);
}

#homePortfolioSec .homePortfolioSecInner .homePortfolioSecInnerList .homePortfolioSecInnerListItem:nth-child(5) {
    box-shadow: 21.72px 54.3px 86.88px 0px rgba(88, 131, 62, 0.35);
}

#homePortfolioSec .homePortfolioSecInner .homePortfolioSecInnerList .homePortfolioSecInnerListItem:nth-child(6) {
    box-shadow: 21.72px 54.3px 86.88px 0px rgba(40, 125, 135, 0.35);
}

#homePortfolioSec .homePortfolioSecInner .homePortfolioSecInnerList .homePortfolioSecInnerListItem:nth-child(1) .homePortfolioSecInnerListItemCta {
    background: rgba(112, 62, 37, 0.55);
}

#homePortfolioSec .homePortfolioSecInner .homePortfolioSecInnerList .homePortfolioSecInnerListItem:nth-child(2) .homePortfolioSecInnerListItemCta {
    background: rgba(120, 35, 55, 0.55);
}

#homePortfolioSec .homePortfolioSecInner .homePortfolioSecInnerList .homePortfolioSecInnerListItem:nth-child(3) .homePortfolioSecInnerListItemCta {
    background: rgba(150, 70, 45, 0.55);
}

#homePortfolioSec .homePortfolioSecInner .homePortfolioSecInnerList .homePortfolioSecInnerListItem:nth-child(4) .homePortfolioSecInnerListItemCta {
    background: rgba(55, 60, 48, 0.55);
}

#homePortfolioSec .homePortfolioSecInner .homePortfolioSecInnerList .homePortfolioSecInnerListItem:nth-child(5) .homePortfolioSecInnerListItemCta {
    background: rgba(45, 75, 30, 0.55);
}

#homePortfolioSec .homePortfolioSecInner .homePortfolioSecInnerList .homePortfolioSecInnerListItem:nth-child(6) .homePortfolioSecInnerListItemCta {
    background: rgba(20, 70, 80, 0.55);
}

/* Mobile: stack the 3-up grid to one column, drop the fixed 30% width
   and 70px heading, add the side padding this section never had.
   Placed after the unconditional rules above so it wins the cascade. */
@media (max-width: 900px) {
    #homePortfolioSec .homePortfolioSecInner {
        gap: 48px;
        padding: 0 24px;
    }

    #homePortfolioSec .homePortfolioSecInner .homePortfolioSecInnerHead {
        flex-direction: column;
        align-items: flex-start;
        gap: 16px;
    }

    #homePortfolioSec .homePortfolioSecInner .homePortfolioSecInnerHead .homePortfolioSecInnerHeadCol:first-child,
    #homePortfolioSec .homePortfolioSecInner .homePortfolioSecInnerHead .homePortfolioSecInnerHeadCol:last-child {
        max-width: 100%;
    }

    #homePortfolioSec .homePortfolioSecInner .homePortfolioSecInnerHead h2 {
        font-size: clamp(30px, 8vw, 48px);
        line-height: 1.08;
        letter-spacing: -1px;
    }

    #homePortfolioSec .homePortfolioSecInner .homePortfolioSecInnerHead p {
        font-size: 16px;
        letter-spacing: 0.4px;
    }

    #homePortfolioSec .homePortfolioSecInner .homePortfolioSecInnerList {
        grid-template-columns: 1fr;
        gap: 24px;
    }

    #homePortfolioSec .homePortfolioSecInner .homePortfolioSecInnerList .homePortfolioSecInnerListItem {
        max-width: 100%;
        min-height: 360px;
    }
}

/* ---------- Why / CTA ---------- */
#homeCtaSec {
    width: 100%;
    max-width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 0 150px 0;
}

#homeCtaSec .homeCtaSecInner {
    width: 100%;
    max-width: 1400px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: clamp(32px, 7vw, 100px);
    /* No background image: the video's lazy poster (its first frame, on
       white) covers this box; the old 1.4MB background downloaded eagerly. */
    background-color: #FFFFFF;
    min-height: clamp(620px, 61.9vw, 866px);
    padding: 0 clamp(32px, 5.25vw, 75px);
    position: relative;
    overflow: hidden;
}

#homeCtaSec .homeCtaSecInner .homeCtaSecVideo {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: 0;
}

#homeCtaSec .homeCtaSecInner .homeCtaSecInnerCol {
    width: 100%;
    max-width: 50%;
    flex: 1 1 0;
    position: relative;
    z-index: 1;
}

#homeCtaSec .homeCtaSecInner .homeCtaSecInnerCol small {
    font-family: Mona Sans;
    font-weight: 500;
    font-size: 16px;
    line-height: 16.5px;
    letter-spacing: 1.6px;
    color: #55724D;
    margin: 0 0 25px 0;
}

#homeCtaSec .homeCtaSecInner .homeCtaSecInnerCol h2 {
    font-family: Alan Sans;
    font-weight: 600;
    font-size: clamp(46px, 5vw, 70px);
    line-height: 1.1;
    letter-spacing: clamp(-4px, -0.285vw, -2px);
    color: #202A24;
    margin: 20px 0 35px 0;
}

#homeCtaSec .homeCtaSecInner .homeCtaSecInnerCol h2 span {
    color: #527B3F;
}

#homeCtaSec .homeCtaSecInner .homeCtaSecInnerCol p {
    font-family: Instrument Sans;
    font-weight: 400;
    font-size: 20px;
    line-height: 31px;
    letter-spacing: 0%;
    color: #6C756D;
    margin: 0 0 37px 0;

}

#homeCtaSec .homeCtaSecInner .homeCtaSecInnerCol .homeCtaSecInnerColActionBtns {
    display: flex;
    align-items: center;
}

/* Phones: copy on top, Appy (the portrait cut, mobileCta-720.mp4, on
   white like the card) standing underneath at full card width. The video
   (1040x1992) is pinned to the card's bottom edge and the card reserves
   the part of its height Appy moves in as bottom padding, so the copy
   always ends above him however long it runs. Capped on tablets. */
@media (max-width: 900px) {
    #homeCtaSec {
        --cta-video-w: min(100%, 560px);
        margin-bottom: 80px;
    }

    #homeCtaSec .homeCtaSecInner {
        min-height: 0;
        flex-direction: column;
        align-items: flex-start;
        gap: 0;
        padding: 32px 20px calc(var(--cta-video-w) * 1.10);
        border-radius: 32px;
    }

    #homeCtaSec .homeCtaSecInner .homeCtaSecVideo {
        inset: auto auto 0 50%;
        width: var(--cta-video-w);
        height: auto;
        aspect-ratio: 1040 / 1992;
        transform: translateX(-50%);
        object-fit: cover;
        object-position: 50% 100%;
    }

    #homeCtaSec .homeCtaSecInner .homeCtaSecInnerCol {
        max-width: 100%;
    }

    #homeCtaSec .homeCtaSecInner .homeCtaSecInnerCol[aria-hidden="true"] {
        display: none;
    }

    /* Eyebrow: small pill with a brand-green dot (as in the hero). */
    #homeCtaSec .homeCtaSecInner .homeCtaSecInnerCol small {
        display: inline-flex;
        align-items: center;
        gap: 8px;
        padding: 7px 14px;
        margin: 0 0 18px 0;
        border: 1px solid #D6E9B8;
        border-radius: 999px;
        background: #E7F3D2;
        color: #2F5A22;
        font-size: 12.5px;
        font-weight: 600;
        line-height: 1.2;
        letter-spacing: 0;
    }

    #homeCtaSec .homeCtaSecInner .homeCtaSecInnerCol small::before {
        content: "";
        flex: none;
        width: 7px;
        height: 7px;
        border-radius: 50%;
        background: #6BA539;
    }

    #homeCtaSec .homeCtaSecInner .homeCtaSecInnerCol h2 {
        font-size: clamp(32px, 9.4vw, 48px);
        line-height: 1.1;
        letter-spacing: -1.2px;
        margin: 0 0 18px;
    }

    #homeCtaSec .homeCtaSecInner .homeCtaSecInnerCol p {
        font-size: 15px;
        line-height: 1.6;
        margin-bottom: 26px;
        max-width: 40ch;
    }

    /* Two equal pill buttons side by side. */
    #homeCtaSec .homeCtaSecInner .homeCtaSecInnerCol .homeCtaSecInnerColActionBtns {
        width: 100%;
        max-width: 420px;
        flex-wrap: nowrap;
        gap: 10px;
    }

    #homeCtaSec .homeCtaSecInner .homeCtaSecInnerCol .homeCtaSecInnerColActionBtns a {
        flex: 1 1 0;
        min-width: 0;
        justify-content: center;
        gap: 4px;
        padding: 13px 8px;
        border-radius: 999px;
        font-size: 13px;
        line-height: 20px;
        white-space: nowrap;
    }

    #homeCtaSec .homeCtaSecInnerColActionBtns a svg {
        flex: none;
        width: 16px;
        height: 16px;
    }

    #homeCtaSec .homeCtaSecInnerColActionBtns a.btn-primary {
        box-shadow: 0 10px 22px -10px rgba(23, 61, 44, .55);
    }

    #homeCtaSec .homeCtaSecInnerColActionBtns a.btn-outline {
        background: #FFFFFF;
        border: 1px solid #D8E6C0;
        color: #173D2C;
    }
}

/* Tablets: the capped video is narrower than the card and Appy's arms
   reach its edges, so feather them out rather than cut them off. */
@media (min-width: 600px) and (max-width: 900px) {
    #homeCtaSec .homeCtaSecInner .homeCtaSecVideo {
        -webkit-mask-image: linear-gradient(90deg, #0000, #000 5%, #000 95%, #0000);
        mask-image: linear-gradient(90deg, #0000, #000 5%, #000 95%, #0000);
    }
}

/* Narrow phones: the button labels no longer fit side by side, so stack. */
@media (max-width: 374px) {
    #homeCtaSec .homeCtaSecInner .homeCtaSecInnerCol .homeCtaSecInnerColActionBtns {
        flex-wrap: wrap;
    }

    #homeCtaSec .homeCtaSecInner .homeCtaSecInnerCol .homeCtaSecInnerColActionBtns a {
        flex-basis: 100%;
    }
}

/* 
    #homeCtaSec .homeCtaSecInner .homeCtaSecInnerCol .homeCtaSecInnerColActionBtns a {
        display: flex;
        align-items: center;
        border: none;
        background: transparent;
        padding: 16px 30px;
        font-family: Mona Sans;
        font-weight: 700;
        font-size: 15.6px;
        line-height: 23.4px;
        letter-spacing: 0%;
        text-align: center;
        color: #202A24;
        border-radius: 8.4px;
        gap: 10px;
    }

    #homeCtaSec .homeCtaSecInner .homeCtaSecInnerCol .homeCtaSecInnerColActionBtns a.primary {
        background: #173D2C;
        color: #FFFFFF;
    } */

/* ---------- Team ---------- */
#homeTeamSec {
    width: 100%;
    max-width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 0 150px 0;
    /* overflow: hidden; */
}

#homeTeamSec .homeTeamSecInner {
    width: 100%;
    max-width: 1400px;
    margin: 0 auto;
    border: none;
    padding: 0 24px;
}

/* --team-scale (0.5-1) is set by js/team-layout.js from the CSS viewport
   (already reflects OS display scaling) so the whole fan fits both width
   and height. Falls back to 1 without JS. */
#homeTeamSec .homeTeamSecInnerStage {
    --team-scale: 1;
    position: relative;
    width: 100%;
    min-height: calc(720px * var(--team-scale));
    display: flex;
    align-items: flex-end;
    justify-content: center;
    margin-bottom: 48px;
}

#homeTeamSec .homeTeamSecInnerTitleLeft,
#homeTeamSec .homeTeamSecInnerTitleRight {
    position: absolute;
    top: 24px;
    z-index: 4;
    margin: 0;
    pointer-events: none;
}

#homeTeamSec .homeTeamSecInnerTitleLeft {
    left: 0;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    font-family: Mona Sans, sans-serif;
    font-weight: 700;
    font-size: clamp(56px, 7vw, 100px);
    line-height: 0.85;
    letter-spacing: -0.04em;
    color: #173D2C;
    text-align: right;
}

#homeTeamSec .homeTeamSecInnerTitleLeft span {
    color: #173D2C;
}

#homeTeamSec .homeTeamSecInnerTitleRight {
    right: 0;
    font-family: Mona Sans, sans-serif;
    font-weight: 700;
    font-size: clamp(40px, 5vw, 60px);
    line-height: 1.05;
    letter-spacing: -0.04em;
    color: #0A0A0A;
    text-align: left;
}

#homeTeamSec .homeTeamSecInnerTitleRight span {
    display: block;
    color: #527B3F;
    font-size: clamp(56px, 7vw, 100px);
    line-height: 0.9;
}

#homeTeamSec .homeTeamSecInnerMascot {
    position: absolute;
    left: 50%;
    top: -16%;
    transform: translateX(-50%);
    width: min(800px, 46vw);
    z-index: 1;
    pointer-events: none;
}

#homeTeamSec .homeTeamSecInnerMascot img {
    width: 100%;
    height: auto;
    display: block;
}

#homeTeamSec .homeTeamSecInnerTeamList {
    position: relative;
    width: 100%;
    max-width: 1100px;
    height: 940px;
    /* Scale from bottom-centre, then pull the layout box up by the space
       the scale freed so the stage shrinks with it. */
    transform: scale(var(--team-scale));
    transform-origin: 50% 100%;
    margin: calc(-90px - 940px * (1 - var(--team-scale))) auto 0;
    z-index: 2;
}

#homeTeamSec .homeTeamSecInnerTeamListItem {
    position: absolute;
    width: 384px;
    display: flex;
    flex-direction: column;
    align-items: center;
    /* filter: drop-shadow(0 18px 28px rgba(0, 0, 0, 0.28)); */
}

#homeTeamSec .homeTeamSecInnerTeamListItem[data-pos="0"] {
    left: -110px;
    bottom: 260px;
    transform: rotate(-5deg);
    z-index: 2;
}

#homeTeamSec .homeTeamSecInnerTeamListItem[data-pos="0"] .homeTeamSecInnerTeamListItemHeadShot {

    filter: drop-shadow(0 18px 28px rgba(0, 0, 0, 0.419));
}

#homeTeamSec .homeTeamSecInnerTeamListItem[data-pos="0"] .homeTeamSecInnerTeamListItemMeta.firstRow {
    box-shadow: 0 0 0 0 transparent;
    filter: none;
    position: absolute;
    bottom: -60px;
    left: -160px;
    z-index: -1;
    filter: none;
}

#homeTeamSec .homeTeamSecInnerTeamListItem[data-pos="1"] {
    left: 6%;
    top: 57%;
    transform: rotate(-10deg);
    z-index: 6;
    filter: drop-shadow(0 18px 28px rgba(0, 0, 0, 0.28));
}

#homeTeamSec .homeTeamSecInnerTeamListItem[data-pos="1"] .homeTeamSecInnerTeamListItemMeta {
    position: absolute;
    bottom: -84px;
    left: -77px;
    transform: rotate(7deg);
}

#homeTeamSec .homeTeamSecInnerTeamListItem[data-pos="2"] {
    /* Featured-card visual identity at every viewport size. */
    border-radius: 60px;
    border: 20px #ffffff solid;
    background: #527B3F;
    filter: drop-shadow(0 18px 28px rgba(0, 0, 0, 0.28));
}

/* Desktop fan placement only. */
@media (min-width: 901px) {
    #homeTeamSec .homeTeamSecInnerTeamListItem[data-pos="2"] {
        padding: 10px;
        left: 50%;
        top: 48%;
        transform: translateX(-50%) rotate(0deg);
        z-index: 5;
        aspect-ratio: 1 / 1;
        align-items: center;
        justify-content: center;
        width: 465px;
    }
}

#homeTeamSec .homeTeamSecInnerTeamListItem[data-pos="2"] .homeTeamSecInnerTeamListItemHeadShot {
    width: 340px;
    filter: drop-shadow(0 18px 28px rgba(0, 0, 0, 0.511));
    transform: rotate(-2deg);

}

#homeTeamSec .homeTeamSecInnerTeamListItem[data-pos="2"] .homeTeamSecInnerTeamListItemMeta {
    top: -40px;
    right: -40px;
    position: absolute !important;
    transform: rotate(-2deg);
    z-index: -1;
}

/* 
#homeTeamSec .homeTeamSecInnerTeamListItem[data-pos="3"] {
    right: 18%;
    top: 38%;
    transform: rotate(5deg);
    z-index: 3;
} */

#homeTeamSec .homeTeamSecInnerTeamListItem[data-pos="3"] {
    right: 6%;
    top: 57%;
    transform: rotate(10deg);
    z-index: 6;
    filter: drop-shadow(0 18px 28px rgba(0, 0, 0, 0.28));
}

#homeTeamSec .homeTeamSecInnerTeamListItem[data-pos="3"] .homeTeamSecInnerTeamListItemMeta {
    position: absolute;
    bottom: -84px;
    right: -77px;
    transform: rotate(-7deg);
}

/* #homeTeamSec .homeTeamSecInnerTeamListItem[data-pos="4"] {
    right: 2%;
    top: 8%;
    transform: rotate(10deg);
    z-index: 2;
} */

#homeTeamSec .homeTeamSecInnerTeamListItem[data-pos="4"] {
    right: -110px;
    bottom: 260px;
    transform: rotate(5deg);
    z-index: 2;
}

#homeTeamSec .homeTeamSecInnerTeamListItem[data-pos="4"] .homeTeamSecInnerTeamListItemHeadShot {

    filter: drop-shadow(0 18px 28px rgba(0, 0, 0, 0.419));
}

#homeTeamSec .homeTeamSecInnerTeamListItem[data-pos="4"] .homeTeamSecInnerTeamListItemMeta.firstRow {
    box-shadow: 0 0 0 0 transparent;
    filter: none;
    position: absolute;
    bottom: -60px;
    right: -160px;
    z-index: -1;
    filter: none;
    padding-left: 120px !important;
}

#homeTeamSec .homeTeamSecInnerTeamListItemHeadShot {
    width: 304px;
    aspect-ratio: 1;
    border: 6px solid #FFFFFF;
    border-radius: 48px;
    overflow: hidden;
    background: #3F6B4A;
    box-shadow: none;
}

#homeTeamSec .homeTeamSecInnerTeamListItem.homeTeamSecInnerTeamListItemFeatured .homeTeamSecInnerTeamListItemHeadShot {
    background: #FFFFFF;
    border-color: #FFFFFF;
}

#homeTeamSec .homeTeamSecInnerTeamListItemHeadShot img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
    display: block;
}

#homeTeamSec .homeTeamSecInnerTeamListItemMeta {
    background: #F3FBE4;
    box-shadow: 0 8px 18px rgba(0, 0, 0, 0.18);
    padding: 34px 58px;
    width: 100%;
    max-width: 317px;
    border-radius: 999px;
    margin-top: -28px;
    position: relative;
    z-index: 2;

    /* text-align: center; */
}

#homeTeamSec .homeTeamSecInnerTeamListItemMeta.firstRow {
    box-shadow: 0 0 0 0 transparent;
    filter: none;
}

#homeTeamSec .homeTeamSecInnerTeamListItemMeta h4 {
    font-family: Mona Sans, sans-serif;
    font-weight: 400;
    font-size: 18px;
    line-height: 1.2;
    letter-spacing: 0;
    color: #000000;
    margin: 0 0 4px 0;
    white-space: nowrap;
}

#homeTeamSec .homeTeamSecInnerTeamListItemMeta h2 {
    font-family: Mona Sans, sans-serif;
    font-weight: 700;
    font-size: 28px;
    line-height: 1.15;
    letter-spacing: 0;
    color: #000000;
    margin: 0;
    white-space: nowrap;
}

#homeTeamSec .homeTeamSecInnerTeamListItem.homeTeamSecInnerTeamListItemFeatured .homeTeamSecInnerTeamListItemMeta h2 {
    font-size: 28px;
}

#homeTeamSec .homeTeamSecInnerActionBtns {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    flex-wrap: wrap;
    position: relative;
    z-index: 3;
    width: fit-content;
    margin: 0 auto;
}

/* #homeTeamSec .homeTeamSecInnerActionBtns a {
    display: inline-flex;
    align-items: center;
    border: none;
    background: transparent;
    padding: 16px 28px;
    font-family: Mona Sans, sans-serif;
    font-weight: 700;
    font-size: 15.6px;
    line-height: 23.4px;
    letter-spacing: 0;
    text-align: center;
    color: #202A24;
    border-radius: 999px;
    gap: 10px;
    text-decoration: none;
}

#homeTeamSec .homeTeamSecInnerActionBtns a.primary {
    background: #173D2C;
    color: #FFFFFF;
} */

@media (max-width: 900px) {
    /* Clip so a tilted card can't widen the page. `clip`, not `hidden`:
       it doesn't create a scroll container.
       `hidden` first as the fallback for Safari < 16. */
    #homeTeamSec {
        overflow-x: hidden;
        overflow-x: clip;
    }

    #homeTeamSec .homeTeamSecInnerStage {
        --team-scale: 1;
        min-height: 0;
        flex-direction: column;
        align-items: center;
        margin-bottom: 36px;
    }

    #homeTeamSec .homeTeamSecInnerTitleLeft,
    #homeTeamSec .homeTeamSecInnerTitleRight {
        position: static;
        width: 100%;
        text-align: center;
        align-items: center;
    }

    #homeTeamSec .homeTeamSecInnerTitleLeft {
        font-size: clamp(44px, 13vw, 58px);
        line-height: 0.88;
    }

    #homeTeamSec .homeTeamSecInnerTitleRight {
        font-size: clamp(30px, 8.5vw, 40px);
        line-height: 1;
        margin-top: 30px;
        margin-bottom: -36px;
    }

    #homeTeamSec .homeTeamSecInnerTitleRight span {
        font-size: clamp(46px, 12vw, 58px);
        line-height: 0.92;
    }

    #homeTeamSec .homeTeamSecInnerMascot {
        position: relative;
        left: auto;
        top: auto;
        transform: none;
        width: min(320px, 72vw);
        margin: clamp(20px, 5vw, 36px) auto 12px;
    }

    #homeTeamSec .homeTeamSecInnerTeamList {
        position: static;
        height: auto;
        transform: none;
        margin: 24px 0 0;
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 32px;
        max-width: 100%;
    }

    #homeTeamSec .homeTeamSecInnerTeamListItem,
    #homeTeamSec .homeTeamSecInnerTeamListItem[data-pos="0"],
    #homeTeamSec .homeTeamSecInnerTeamListItem[data-pos="1"],
    #homeTeamSec .homeTeamSecInnerTeamListItem[data-pos="2"],
    #homeTeamSec .homeTeamSecInnerTeamListItem[data-pos="3"],
    #homeTeamSec .homeTeamSecInnerTeamListItem[data-pos="4"] {
        position: relative;
        left: auto;
        right: auto;
        top: auto;
        bottom: auto;
        transform: none;
        width: 100%;
        max-width: 420px;
        aspect-ratio: auto;
        border: 0;
        border-radius: 0;
        background: transparent;
        filter: none;
        justify-content: flex-start;
        z-index: 1;
    }

    /* Restore the featured card's appearance without desktop fan geometry. */
    #homeTeamSec .homeTeamSecInnerTeamListItem[data-pos="2"] {
        padding: 10px;
        border-radius: 60px;
        border: 20px #ffffff solid;
        background: #527B3F;
        filter: drop-shadow(0 18px 28px rgba(0, 0, 0, 0.28));
    }

    #homeTeamSec .homeTeamSecInnerTeamListItemHeadShot,
    #homeTeamSec .homeTeamSecInnerTeamListItem[data-pos="2"] .homeTeamSecInnerTeamListItemHeadShot {
        width: min(100%, 280px);
        max-width: 100%;
        height: auto;
        border-radius: 36px;
        transform: none;
        filter: none;
    }

    #homeTeamSec .homeTeamSecInnerTeamListItemHeadShot img {
        max-width: 100%;
        height: auto;
    }

    #homeTeamSec .homeTeamSecInnerTeamListItemMeta,
    #homeTeamSec .homeTeamSecInnerTeamListItem[data-pos="0"] .homeTeamSecInnerTeamListItemMeta.firstRow,
    #homeTeamSec .homeTeamSecInnerTeamListItem[data-pos="1"] .homeTeamSecInnerTeamListItemMeta,
    #homeTeamSec .homeTeamSecInnerTeamListItem[data-pos="2"] .homeTeamSecInnerTeamListItemMeta,
    #homeTeamSec .homeTeamSecInnerTeamListItem[data-pos="3"] .homeTeamSecInnerTeamListItemMeta,
    #homeTeamSec .homeTeamSecInnerTeamListItem[data-pos="4"] .homeTeamSecInnerTeamListItemMeta.firstRow {
        position: relative !important;
        inset: auto;
        transform: none;
        width: 100%;
        max-width: 100%;
        margin-top: -20px;
        /* Overrides data-pos="4" desktop padding-left: 120px !important. */
        padding: 22px 28px !important;
        z-index: 2;
    }

    #homeTeamSec .homeTeamSecInnerTeamListItemMeta h4,
    #homeTeamSec .homeTeamSecInnerTeamListItemMeta h2 {
        white-space: normal;
    }

    #homeTeamSec .homeTeamSecInnerTeamListItemMeta h4 {
        font-size: 14px;
    }

    #homeTeamSec .homeTeamSecInnerTeamListItemMeta h2,
    #homeTeamSec .homeTeamSecInnerTeamListItem.homeTeamSecInnerTeamListItemFeatured .homeTeamSecInnerTeamListItemMeta h2 {
        font-size: 22px;
    }

    /* Appy + founder composition: Appy stands on the left and the
       founder's card (moved to the top of the stack) overlaps him on the
       right, its name pill tucked over the card's top-right corner. The
       rest of the team follows in the plain stack. --appy-w drives both
       Appy's size and how far the card is pulled up over him. */
    #homeTeamSec .homeTeamSecInnerStage {
        --appy-w: min(74%, 320px);
    }

    #homeTeamSec .homeTeamSecInnerTitleRight {
        display: none;
    }

    /* The image has ~10% transparent padding on each side; the negative
       left margin lets Appy himself line up with the page gutter. */
    #homeTeamSec .homeTeamSecInnerMascot {
        align-self: flex-start;
        width: var(--appy-w);
        margin: 12px 0 0 calc(var(--appy-w) * -0.08);
    }

    /* Card top lands level with Appy's face (~28% down the image); the
       26px is the card's own top margin (room for the name pill). */
    #homeTeamSec .homeTeamSecInnerTeamList {
        margin-top: calc(var(--appy-w) * -0.72 - 26px);
    }

    #homeTeamSec .homeTeamSecInnerTeamListItem.homeTeamSecInnerTeamListItemFeatured {
        order: -1;
        align-self: flex-end;
        width: min(58%, 250px);
        padding: 7px;
        border: 8px solid #FFFFFF;
        border-radius: 30px;
        /* Room for the name pill, which sits above the card's top edge. */
        margin-top: 26px;
    }

    #homeTeamSec .homeTeamSecInnerTeamListItem.homeTeamSecInnerTeamListItemFeatured .homeTeamSecInnerTeamListItemHeadShot {
        width: 100%;
        border-width: 4px;
        border-radius: 20px;
    }

    /* `rotate`, not `transform`, so it composes with any transform set
       elsewhere instead of replacing it. */
    #homeTeamSec .homeTeamSecInnerTeamListItem.homeTeamSecInnerTeamListItemFeatured .homeTeamSecInnerTeamListItemMeta {
        position: absolute !important;
        top: -30px;
        right: -14px;
        width: auto;
        max-width: none;
        margin: 0;
        padding: 9px 20px !important;
        rotate: -3deg;
        box-shadow: 0 6px 16px rgba(0, 0, 0, .14);
    }

    #homeTeamSec .homeTeamSecInnerTeamListItem.homeTeamSecInnerTeamListItemFeatured .homeTeamSecInnerTeamListItemMeta h4 {
        font-size: 11px;
        white-space: nowrap;
    }

    #homeTeamSec .homeTeamSecInnerTeamListItem.homeTeamSecInnerTeamListItemFeatured .homeTeamSecInnerTeamListItemMeta h2 {
        font-size: 16px;
        white-space: nowrap;
    }
}

/* ---------- Testimonials ---------- */
#homeTestimonialSec {
    width: 100%;
    max-width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 0 150px 0;
}

#homeTestimonialSec .homeTestimonialSecInner {
    width: 100%;
    max-width: 1400px;
    display: flex;
    align-items: stretch;
    justify-content: center;
    flex-direction: column;
    gap: 60px;
}

#homeTestimonialSec .homeTestimonialSecInner .homeTestimonialSecInnerHead {
    display: flex;
    align-items: center;
    justify-content: start;
}

#homeTestimonialSec .homeTestimonialSecInner .homeTestimonialSecInnerHead h2 {
    display: flex;
    flex-direction: column;
    font-family: Alan Sans;
    font-weight: 500;
    font-size: 70px;
    line-height: 77.04px;
    letter-spacing: -4px;
    color: #202A24;
}

#homeTestimonialSec .homeTestimonialSecInner .homeTestimonialSecInnerHead h2 span {
    color: #527B3F;
}

#homeTestimonialSec .homeTestimonialSecInner .homeTestimonialSecInnerList {
    display: flex;
    flex-wrap: wrap;
    gap: 40px;
}

#homeTestimonialSec .homeTestimonialSecInner .homeTestimonialSecInnerListItem {
    width: 100%;
    max-width: 30%;
    min-height: 584px;
}

/* ---------- Pricing ---------- */
#homePricingSec {
    width: 100%;
    max-width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 0 150px 0;
}

#homePricingSec .homePricingSecInner {
    width: 100%;
    max-width: 1400px;
    display: flex;
    align-items: stretch;
    justify-content: center;
    flex-direction: column;
    gap: 60px;
}

#homePricingSec .homePricingSecInner .homePricingSecInnerHead {

    display: flex;
    align-items: start;
    flex-direction: column;
    justify-content: start;
}

#homePricingSec .homePricingSecInner .homePricingSecInnerHead h5 {
    background: #FFFFFF;
    border: 1.81px solid #E5E5E5E5;
    font-family: Mona Sans;
    font-weight: 600;
    font-size: 18.11px;
    line-height: 27.16px;
    letter-spacing: 0.91px;
    text-align: center;
    text-transform: uppercase;
    color: #618542;
    padding: 7px 22px;
    border-radius: 30px;
    margin: 0 0 65px 0;
    display: inline-flex;
    align-items: center;
    gap: 10px;
}

#homePricingSec .homePricingSecInner .homePricingSecInnerHead h5::before {
    content: '';
    width: 8px;
    height: 8px;
    border-radius: 999px;
    background: #618542;
    flex-shrink: 0;
}

#homePricingSec .homePricingSecInner .homePricingSecInnerHead h2 {
    font-family: Alan Sans;
    font-weight: 500;
    font-size: 70px;
    line-height: 77.04px;
    letter-spacing: -4px;
    color: #202A24;
    display: flex;
    flex-direction: column;
    margin: 0 0 28px 0;
}

#homePricingSec .homePricingSecInner .homePricingSecInnerHead h2 span {
    color: #527B3F;
}

#homePricingSec .homePricingSecInner .homePricingSecInnerHead p {}

#homePricingSec .homePricingSecInner .homePricingSecInnerPriceList {
    background: #F7F8F5;
    border: 1.28px solid #F5F5F5;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 16px 16px;
    gap: 13px;
    border-radius: 35px;
    position: relative;
    overflow: hidden;
}

/* Cursor-follow spotlight on the outer wrapper's own background only.
   Sits behind the (opaque) cards via z-index, so it never shows on top of
   or through them — see public/js/pricing-glow.js for the --glow-x/--glow-y
   tracking. */
#homePricingSec .homePricingSecInner .homePricingSecInnerPriceListGlow {
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    opacity: 0;
    transition: opacity .4s ease;
    background: radial-gradient(circle 320px at var(--glow-x, 50%) var(--glow-y, 50%),
            rgba(82, 123, 63, 0.32),
            rgba(23, 61, 44, 0.108) 40%,
            transparent 70%);
    filter: blur(60px);
}

#homePricingSec .homePricingSecInner .homePricingSecInnerPriceList.is-glow-active .homePricingSecInnerPriceListGlow {
    opacity: 1;
}

#homePricingSec .homePricingSecInner .homePricingSecInnerPriceListItem {
    background: #FFFFFF;
    padding: 36px 36px;
    display: flex;
    flex-direction: column;
    position: relative;
    z-index: 1;
    width: 100%;
    border-radius: 35px;

}

#homePricingSec .homePricingSecInner .homePricingSecInnerPriceListItem.popular {
    background: #F3FBE4;
    border: 1.28px solid #F5F5F5;
    box-shadow: 0px 1.28px 2.56px 0px #0000000D;

}

#homePricingSec .homePricingSecInner .homePricingSecInnerPriceListItem .homePricingSecInnerPriceListItemBadge {
    font-family: Mona Sans;
    font-weight: 400;
    font-size: 12.81px;
    line-height: 19.22px;
    letter-spacing: -0.32px;
    border: 1.28px solid #E5E5E5;
    background: #FFFFFF;
    border-radius: 30px;
    padding: 5px 13px;
    position: absolute;
    top: 20px;
    right: 20px;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: #171717;
}

#homePricingSec .homePricingSecInner .homePricingSecInnerPriceListItem .homePricingSecInnerPriceListItemBadge svg {
    width: 12px;
    height: 12px;
    flex-shrink: 0;
}

#homePricingSec .homePricingSecInner .homePricingSecInnerPriceListItem h4 {
    font-family: Mona Sans;
    font-weight: 600;
    font-size: 21.78px;
    line-height: 21.78px;
    letter-spacing: -0.54px;
    color: #171717;
    margin: 0 0 5px 0;
}

#homePricingSec .homePricingSecInner .homePricingSecInnerPriceListItem p {
    font-family: Instrument Sans;
    font-weight: 400;
    font-size: 14.74px;
    line-height: 22.1px;
    letter-spacing: 0px;
    color: #737373;
}

#homePricingSec .homePricingSecInner .homePricingSecInnerPriceListItem h2 {
    font-family: Alan Sans;
    font-weight: 600;
    font-size: 43.57px;
    line-height: 46.13px;
    letter-spacing: -1.09px;
    color: #527B3F;
    margin: 24px 0 30px 0;
}

#homePricingSec .homePricingSecInner .homePricingSecInnerPriceListItem hr {
    border-top: 1.28px solid #E5E5E5CC;
    margin: 0 0 17px 0;
}

#homePricingSec .homePricingSecInner .homePricingSecInnerPriceListItem ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

#homePricingSec .homePricingSecInner .homePricingSecInnerPriceListItem ul li {
    font-family: Instrument Sans;
    font-weight: 400;
    font-size: 14.15px;
    line-height: 140%;
    letter-spacing: 0%;
    color: #5C685A;
    margin: 0 0 12px 0;
    display: flex;
    align-items: flex-start;
    gap: 10px;
}

#homePricingSec .homePricingSecInner .homePricingSecInnerPriceListItem ul li svg {
    width: 16px;
    height: 16px;
    flex-shrink: 0;
    margin-top: 1px;
    color: #173D2C;
}

#homePricingSec .homePricingSecInner .homePricingSecInnerPriceListItem a {
    background: #173D2C;
    box-shadow: 0px 1.28px 0px 0px #FFFFFF1F inset;
    font-family: Mona Sans;
    font-weight: 600;
    font-size: 15.38px;
    line-height: 23.06px;
    letter-spacing: 0.38px;
    text-align: center;
    color: #FFFFFF;
    padding: 13px 13px;
    width: 100%;
    display: block;
    margin: 57px 0 0 0;
    border-radius: 30px;
}

/* ---------- FAQ ---------- */
#homeFaqSec {
    width: 100%;
    max-width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 0 150px 0;
}

#homeFaqSec .homeFaqSecInner {
    width: 100%;
    max-width: 1400px;
    display: flex;
    align-items: stretch;
    justify-content: space-between;
    gap: 60px;
}

#homeFaqSec .homeFaqSecInner .homeFaqSecInnerCol:first-child {
    width: 100%;
    max-width: 30%;
}

#homeFaqSec .homeFaqSecInner .homeFaqSecInnerCol:last-child {
    width: 100%;
    max-width: 55%;
}

#homeFaqSec .homeFaqSecInner .homeFaqSecInnerCol small {
    font-family: Mona Sans;
    font-weight: 700;
    font-size: 12px;
    line-height: 16px;
    letter-spacing: 0.6px;
    text-transform: uppercase;
    color: #11261599;
    margin: 0 0 12px 0;
}

#homeFaqSec .homeFaqSecInner .homeFaqSecInnerCol h2 {
    font-family: Alan Sans;
    font-weight: 500;
    font-size: 70px;
    line-height: 77.04px;
    letter-spacing: -4px;
    color: #202A24;
    display: flex;
    flex-direction: column;
}

#homeFaqSec .homeFaqSecInner .homeFaqSecInnerCol h2 span {
    color: #527B3F;
}

/* ---------- Enquiry / quote ---------- */
#homeGetAQuoteSec {
    width: 100%;
    max-width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 0 150px 0;
}

#homeGetAQuoteSec .homeGetAQuoteSecInner {
    width: 100%;
    max-width: 1400px;
    display: flex;
    align-items: stretch;
    justify-content: space-between;
    gap: 60px;
    background: #F3FBE4;
    padding: 64px 64px;
    border-radius: 60px;
}

#homeGetAQuoteSec .homeGetAQuoteSecInner .homeGetAQuoteSecInnerCol:first-child {
    width: 100%;
    max-width: 30%;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

#homeGetAQuoteSec .homeGetAQuoteSecInner .homeGetAQuoteSecInnerCol:last-child {
    width: 100%;
    max-width: 55%;
}

#homeGetAQuoteSec .homeGetAQuoteSecInner .homeGetAQuoteSecInnerCol small {
    font-family: Mona Sans;
    font-weight: 700;
    font-size: 12px;
    line-height: 16px;
    letter-spacing: 0.6px;
    text-transform: uppercase;
    color: #11261599;
    margin: 0 0 12px 0;
}

#homeGetAQuoteSec .homeGetAQuoteSecInner .homeGetAQuoteSecInnerCol h2 {
    font-family: Alan Sans;
    font-weight: 600;
    font-size: 48px;
    line-height: 48px;
    letter-spacing: -1.68px;
    display: flex;
    flex-direction: column;
    color: #112615;
    margin: 0 0 12px 0;
}

#homeGetAQuoteSec .homeGetAQuoteSecInner .homeGetAQuoteSecInnerCol h2 span {
    color: #25813E;
}

#homeGetAQuoteSec .homeGetAQuoteSecInner .homeGetAQuoteSecInnerCol p {
    font-family: Instrument Sans;
    font-weight: 400;
    font-size: 16px;
    line-height: 26px;
    letter-spacing: 0px;
    color: #112615CC;
    margin: 0 0 32px 0;
}

#homeGetAQuoteSec .homeGetAQuoteSecInner .homeGetAQuoteSecInnerCol ul li {
    font-family: Plus Jakarta Sans;
    font-weight: 500;
    font-size: 16px;
    line-height: 24px;
    letter-spacing: 0px;
    color: #112615;
    margin: 0 0 12px 0;

}

/* Dynamic content helpers — keep revamp layout, fill empty regions */
#homeHeroSec .homeHeroSecCol small {
    display: block;
    font-family: Mona Sans, sans-serif;
    font-weight: 500;
    font-size: 16px;
    line-height: 16.5px;
    letter-spacing: 1.6px;
    color: #55724D;
    margin: 0 0 25px 0;
}

#homeHeroSec .homeHeroSecCol h1 {
    font-family: Alan Sans, sans-serif;
    font-weight: 600;
    font-size: 80px;
    line-height: 77.04px;
    letter-spacing: -4px;
    color: #202A24;
    margin: 0 0 28px 0;
}

#homeHeroSec .homeHeroSecCol h1 span {
    color: #527B3F;
}

#homeHeroSec .homeHeroSecCol p {
    font-family: Instrument Sans, sans-serif;
    font-weight: 400;
    font-size: 20px;
    line-height: 31px;
    color: #6C756D;
    margin: 0 0 37px 0;
    max-width: 34ch;
}

/* Mobile: stack instead of the desktop 50/50 split, drop the empty
   spacer column, and scale the fixed 80px heading down. Placed after
   the unconditional desktop rules above so it actually wins the
   cascade (a later same-specificity rule beats an earlier one,
   @media adds no specificity of its own). */
@media (max-width: 900px) {
    #homeHeroSec {
        margin: 0px 0 80px 0;
    }

    #homePortfolioSec .homePortfolioSecInner .homePortfolioSecInnerList .homePortfolioSecInnerListItem::before {
        height: 100%;
    }

    #homeHeroSec .homeHeroSecInner {
        flex-direction: column;
        align-items: flex-start;
        min-height: 0;
        padding: 48px 24px;
        border-radius: 32px;
    }

    #homeHeroSec .homeHeroSecInner .homeHeroSecCol {
        max-width: 100%;
    }

    /* Second column is an empty aria-hidden spacer, only needed to hold
       the text column to the left half of the desktop layout. */
    #homeHeroSec .homeHeroSecInner .homeHeroSecCol[aria-hidden] {
        display: none;
    }

    #homeHeroSec .homeHeroSecCol h1 {
        font-size: clamp(32px, 9vw, 56px);
        line-height: 1.08;
        letter-spacing: -1.5px;
        margin-bottom: 16px;
    }

    #homeHeroSec .homeHeroSecCol p {
        font-size: 16px;
        line-height: 1.5;
        max-width: 53%;
    }
}

/* ---------- Shared action buttons ---------- */
.homeSecActionBtns {
    display: flex;
    align-items: center;
    gap: 18px;
    flex-wrap: wrap;
}

/* .homeSecActionBtns a {
    display: inline-flex;
    align-items: center;
    border: none;
    background: transparent;
    padding: 16px 30px;
    font-family: Mona Sans, sans-serif;
    font-weight: 600;
    text-transform: capitalize;
    font-size: 15.6px;
    line-height: 23.4px;
    letter-spacing: 0;
    text-align: center;
    color: #202A24;
    border-radius: 8.4px;
    gap: 10px;
    text-decoration: none;
}

.homeSecActionBtns a.primary {
    background: #173D2C;
    color: #FFFFFF;
}

.homeSecActionBtns a.primary:hover {
    background: #122e22;
} */

#homePortfolioSec .homePortfolioSecInnerList .homePortfolioSecInnerListItem {
    border: none;
    cursor: pointer;
    text-align: left;
    font: inherit;
    color: inherit;
}

#homePortfolioSec .homePortfolioSecInnerList .homePortfolioSecInnerListItem a,
#homePortfolioSec .homePortfolioSecInnerList .homePortfolioSecInnerListItem .homePortfolioSecInnerListItemCta {
    pointer-events: none;
}

#homeTestimonialSec .homeTestimonialSecInnerListItem {
    border: none;
    border-radius: 32px;
    overflow: hidden;
    background: #F7F8F5;
    display: flex;
    flex-direction: column;
    min-height: 584px;
    padding: 0;
}

#homeTestimonialSec .homeTestimonialSecInnerListItem .homeTestimonialSecInnerListItemMedia {
    flex: 1;
    min-height: 340px;
    border: none;
    background-size: cover;
    background-position: center;
    position: relative;
    cursor: pointer;
    display: block;
    width: 100%;
    border-radius: 0;
}

#homeTestimonialSec .homeTestimonialSecInnerListItem .homeTestimonialSecInnerListItemThumb {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

#homeTestimonialSec .homeTestimonialSecInnerListItem .homeTestimonialSecInnerListItemPlay {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 64px;
    height: 64px;
    border-radius: 999px;
    background: rgba(23, 61, 44, 0.92);
    color: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

#homeTestimonialSec .homeTestimonialSecInnerListItem .homeTestimonialSecInnerListItemBadge {
    position: absolute;
    top: 20px;
    left: 20px;
    background: #fff;
    color: #173D2C;
    font-family: Mona Sans, sans-serif;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.6px;
    text-transform: uppercase;
    padding: 8px 14px;
    border-radius: 999px;
}

#homeTestimonialSec .homeTestimonialSecInnerListItem .homeTestimonialSecInnerListItemBody {
    padding: 28px 28px 32px;
}

#homeTestimonialSec .homeTestimonialSecInnerListItem .homeTestimonialSecInnerListItemQuote {
    font-family: Instrument Sans, sans-serif;
    font-size: 18px;
    line-height: 28px;
    color: #202A24;
    margin: 0 0 20px;
}

#homeTestimonialSec .homeTestimonialSecInnerListItem .homeTestimonialSecInnerListItemPerson {
    display: flex;
    align-items: center;
    gap: 12px;
}

#homeTestimonialSec .homeTestimonialSecInnerListItem .homeTestimonialSecInnerListItemAvatar,
#homeTestimonialSec .homeTestimonialSecInnerListItem .homeTestimonialSecInnerListItemAvatarFallback {
    width: 44px;
    height: 44px;
    border-radius: 999px;
    object-fit: cover;
    flex-shrink: 0;
}

#homeTestimonialSec .homeTestimonialSecInnerListItem .homeTestimonialSecInnerListItemAvatarFallback {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #173D2C;
    color: #fff;
    font-family: Mona Sans, sans-serif;
    font-weight: 700;
}

#homeTestimonialSec .homeTestimonialSecInnerListItem .homeTestimonialSecInnerListItemMeta {
    display: flex;
    flex-direction: column;
    gap: 2px;
    font-family: Mona Sans, sans-serif;
}

#homeTestimonialSec .homeTestimonialSecInnerListItem .homeTestimonialSecInnerListItemMeta strong {
    font-size: 16px;
    color: #202A24;
}

#homeTestimonialSec .homeTestimonialSecInnerListItem .homeTestimonialSecInnerListItemMeta small {
    font-size: 13px;
    color: #55724D;
}

/* Narrower than the full 1400px row: cards shrink in proportion instead of
   staying 584px tall. (Up to 900px they become a swipeable row, below.) */
@media (max-width: 1439px) {
    #homeTestimonialSec .homeTestimonialSecInner .homeTestimonialSecInnerListItem {
        min-height: 0;
        aspect-ratio: 420 / 584;
    }

    #homeTestimonialSec .homeTestimonialSecInnerListItem .homeTestimonialSecInnerListItemMedia {
        min-height: 0;
    }
}

/* FAQ — Figma: hairline dividers, question + plus, no cards/numbers */
#homeFaqSec .homeFaqSecInnerCol[data-faq-accordion] {
    display: flex;
    flex-direction: column;
    gap: 0;
    background: #fff;
}

#homeFaqSec .homeFaqSecInnerItem {
    background: transparent;
    border: none;
    border-top: 1px solid #E5E5E5;
    border-radius: 0;
    padding: 0;
    margin: 0;
}

#homeFaqSec .homeFaqSecInnerItem:last-child {
    border-bottom: 1px solid #E5E5E5;
}

#homeFaqSec .homeFaqSecInnerItem summary {
    list-style: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    padding: 28px 0;
    font-family: Instrument Sans, sans-serif;
}

#homeFaqSec .homeFaqSecInnerItem summary::-webkit-details-marker {
    display: none;
}

#homeFaqSec .homeFaqSecInnerItemNumber {
    display: none;
}

#homeFaqSec .homeFaqSecInnerItemQuestion {
    flex: 1;
    font-weight: 400;
    font-size: 20px;
    line-height: 28px;
    letter-spacing: -0.2px;
    color: #171717;
}

#homeFaqSec .homeFaqSecInnerItemToggle {
    color: #171717;
    display: inline-flex;
    flex-shrink: 0;
    transition: transform 300ms cubic-bezier(0.22, 1, 0.36, 1);
}

#homeFaqSec .homeFaqSecInnerItem[open] .homeFaqSecInnerItemToggle,
#homeFaqSec .homeFaqSecInnerItem.is-opening .homeFaqSecInnerItemToggle {
    transform: rotate(45deg);
}

#homeFaqSec .homeFaqSecInnerItem.is-closing .homeFaqSecInnerItemToggle {
    transform: rotate(0deg);
}

@media (prefers-reduced-motion: reduce) {
    #homeFaqSec .homeFaqSecInnerItemToggle {
        transition: none;
    }
}

#homeFaqSec .homeFaqSecInnerItemAnswer {
    box-sizing: border-box;
    padding: 0 40px 28px 0;
    overflow: hidden;
}

#homeFaqSec .homeFaqSecInnerItemAnswer p {
    font-family: Instrument Sans, sans-serif;
    font-size: 16px;
    line-height: 26px;
    color: #6C756D;
    margin: 0;
}

#homeGetAQuoteSec .homeGetAQuoteSecInnerCol ul.homeGetAQuoteSecInnerPerks {
    list-style: none;
    padding: 0;
    margin: 0;
}

#homeGetAQuoteSec .homeGetAQuoteSecInnerCol ul.homeGetAQuoteSecInnerPerks li {
    display: flex;
    align-items: center;
    gap: 10px;
}

/* Enquiry form — Figma white card + pill plan chips */
#homeGetAQuoteSec #enquiry-form {
    display: flex;
    flex-direction: column;
    gap: 20px;
    background: #FFFFFF;
    border-radius: 32px;
    padding: 40px;
    box-shadow: none;
    border: none;
}

#homeGetAQuoteSec #enquiry-form .homeGetAQuoteSecInnerFormRow {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
}

#homeGetAQuoteSec #enquiry-form>label,
#homeGetAQuoteSec #enquiry-form .homeGetAQuoteSecInnerFormRow>label {
    display: flex;
    flex-direction: column;
    gap: 10px;
    font-family: Mona Sans, sans-serif;
    font-size: 15px;
    font-weight: 700;
    line-height: 20px;
    color: #0A0A0A;
}

#homeGetAQuoteSec #enquiry-form .homeGetAQuoteSecInnerFieldLabel {
    font: inherit;
    color: inherit;
}

#homeGetAQuoteSec #enquiry-form .homeGetAQuoteSecInnerLabelOptional {
    font-weight: 400;
    color: #737373;
}

#homeGetAQuoteSec #enquiry-form input,
#homeGetAQuoteSec #enquiry-form textarea {
    border: 1px solid #E5E5E5;
    border-radius: 12px;
    padding: 14px 16px;
    font-family: Instrument Sans, sans-serif;
    font-size: 15px;
    font-weight: 400;
    line-height: 22px;
    background: #FFFFFF;
    color: #0A0A0A;
    outline: none;
    width: 100%;
    box-sizing: border-box;
    resize: vertical;
}

#homeGetAQuoteSec #enquiry-form input::placeholder,
#homeGetAQuoteSec #enquiry-form textarea::placeholder {
    color: #A3A3A3;
}

#homeGetAQuoteSec #enquiry-form input:focus,
#homeGetAQuoteSec #enquiry-form textarea:focus {
    border-color: #527B3F;
}

#homeGetAQuoteSec #enquiry-form textarea {
    min-height: 120px;
}

#homeGetAQuoteSec #enquiry-form fieldset {
    border: none;
    padding: 0;
    margin: 0;
}

#homeGetAQuoteSec #enquiry-form legend {
    font-family: Mona Sans, sans-serif;
    font-size: 15px;
    font-weight: 700;
    line-height: 20px;
    color: #0A0A0A;
    margin-bottom: 12px;
    padding: 0;
}

#homeGetAQuoteSec #enquiry-form .plan-options {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    grid-template-columns: unset;
}

#homeGetAQuoteSec #enquiry-form .plan-options>label {
    display: inline-flex;
    margin: 0;
    position: relative;
}

/* Override app.css which hides .plan-options label>button (home radio UI) */
#homeGetAQuoteSec #enquiry-form .plan-options label>button.plan-option-pill {
    appearance: none;
    -webkit-appearance: none;
    opacity: 1;
    position: static;
    border: 1px solid #E5E5E5;
    background: #FFFFFF;
    border-radius: 999px;
    padding: 12px 20px;
    font-family: Mona Sans, sans-serif;
    font-size: 14px;
    font-weight: 500;
    line-height: 18px;
    color: #171717;
    cursor: pointer;
    transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

#homeGetAQuoteSec #enquiry-form .plan-options label>button.plan-option-pill[aria-checked="true"],
#homeGetAQuoteSec #enquiry-form .plan-options label>button.plan-option-pill[data-state="checked"] {
    background: #F3FBE4;
    border-color: #527B3F;
    color: #173D2C;
}

#homeGetAQuoteSec #enquiry-form .form-privacy {
    font-family: Instrument Sans, sans-serif;
    font-size: 13px;
    line-height: 20px;
    color: #737373;
    margin: 0;
}

#homeGetAQuoteSec #enquiry-form .btn-primary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    width: 100%;
    background: #173D2C;
    color: #FFFFFF;
    border: none;
    border-radius: 999px;
    padding: 18px 28px;
    font-family: Mona Sans, sans-serif;
    font-weight: 700;
    font-size: 16px;
    line-height: 20px;
    cursor: pointer;
    margin-top: 4px;
}

#homeGetAQuoteSec #enquiry-form .btn-primary:hover {
    background: #122e22;
}

#homeGetAQuoteSec #enquiry-form .form-status {
    min-height: 1.2em;
    font-family: Instrument Sans, sans-serif;
    font-size: 14px;
    color: #173D2C;
    margin: 0;
}

#homePricingSec .homePricingSecInnerPriceListItem button {
    background: #173D2C;
    box-shadow: 0px 1.28px 0px 0px #FFFFFF1F inset;
    font-family: Mona Sans, sans-serif;
    font-weight: 600;
    font-size: 15.38px;
    line-height: 23.06px;
    letter-spacing: 0.38px;
    text-align: center;
    color: #FFFFFF;
    padding: 13px 13px;
    width: 100%;
    display: block;
    margin: 57px 0 0 0;
    border-radius: 30px;
    border: none;
    cursor: pointer;
}

@media (max-width: 900px) {
    /* Testimonials: a swipeable row — each card keeps its desktop
       proportions and the next one peeks in from the edge. */
    #homeTestimonialSec {
        margin-bottom: 80px;
        padding: 0 24px;
    }

    #homeTestimonialSec .homeTestimonialSecInner {
        gap: 32px;
    }

    #homeTestimonialSec .homeTestimonialSecInner .homeTestimonialSecInnerHead h2 {
        font-size: clamp(34px, 9vw, 52px);
        line-height: 1.08;
        letter-spacing: -1.5px;
    }

    #homeTestimonialSec .homeTestimonialSecInner .homeTestimonialSecInnerList {
        flex-wrap: nowrap;
        gap: 16px;
        margin: 0 -24px;
        padding: 0 24px 4px;
        overflow-x: auto;
        overscroll-behavior-x: contain;
        scroll-snap-type: x mandatory;
        scroll-padding-inline: 24px;
        scrollbar-width: none;
    }

    #homeTestimonialSec .homeTestimonialSecInner .homeTestimonialSecInnerList::-webkit-scrollbar {
        display: none;
    }

    #homeTestimonialSec .homeTestimonialSecInner .homeTestimonialSecInnerListItem {
        flex: 0 0 min(78%, 340px);
        max-width: none;
        border-radius: 24px;
        scroll-snap-align: start;
    }

    #homeTestimonialSec .homeTestimonialSecInnerListItem .homeTestimonialSecInnerListItemPlay {
        width: 56px;
        height: 56px;
    }

    #homeTestimonialSec .homeTestimonialSecInnerListItem .homeTestimonialSecInnerListItemBadge {
        top: 16px;
        left: 16px;
    }

    /* Pricing: readable single-column plans and a fluid section heading. */
    #homePricingSec {
        margin-bottom: 80px;
        padding: 0 24px;
    }

    #homePricingSec .homePricingSecInner {
        gap: 36px;
    }

    #homePricingSec .homePricingSecInner .homePricingSecInnerHead h2 {
        font-size: clamp(34px, 9vw, 52px);
        line-height: 1.08;
        letter-spacing: -1.5px;
    }

    #homePricingSec .homePricingSecInner .homePricingSecInnerPriceList {
        flex-direction: column;
        align-items: stretch;
        padding: 12px;
        gap: 12px;
        border-radius: 24px;
    }

    #homePricingSec .homePricingSecInner .homePricingSecInnerPriceListItem {
        padding: 28px 24px;
        border-radius: 24px;
    }

    #homePricingSec .homePricingSecInner .homePricingSecInnerPriceListItem h2 {
        margin: 20px 0 24px;
    }

    #homePricingSec .homePricingSecInner .homePricingSecInnerPriceListItem a,
    #homePricingSec .homePricingSecInnerPriceListItem button {
        margin-top: 32px;
    }

    /* FAQ: stack heading above the accordion and give both full width. */
    #homeFaqSec {
        margin-bottom: 80px;
        padding: 0 24px;
    }

    #homeFaqSec .homeFaqSecInner {
        flex-direction: column;
        gap: 36px;
    }

    #homeFaqSec .homeFaqSecInner .homeFaqSecInnerCol:first-child,
    #homeFaqSec .homeFaqSecInner .homeFaqSecInnerCol:last-child {
        max-width: 100%;
    }

    #homeFaqSec .homeFaqSecInner .homeFaqSecInnerCol h2 {
        font-size: clamp(34px, 9vw, 52px);
        line-height: 1.08;
        letter-spacing: -1.5px;
    }

    #homeFaqSec .homeFaqSecInnerItem summary {
        padding: 20px 0;
        gap: 16px;
    }

    #homeFaqSec .homeFaqSecInnerItemAnswer {
        padding-right: 0;
    }

    #homeGetAQuoteSec #enquiry-form {
        padding: 28px 24px;
        border-radius: 24px;
    }

    #homeGetAQuoteSec #enquiry-form .homeGetAQuoteSecInnerFormRow {
        grid-template-columns: 1fr;
    }

    /* Enquiry: stack the introduction and form inside one compact card. */
    #homeGetAQuoteSec {
        margin-bottom: 80px;
        padding: 0 24px;
    }

    #homeGetAQuoteSec .homeGetAQuoteSecInner {
        flex-direction: column;
        gap: 36px;
        padding: 36px 24px;
        border-radius: 32px;
    }

    #homeGetAQuoteSec .homeGetAQuoteSecInner .homeGetAQuoteSecInnerCol:first-child,
    #homeGetAQuoteSec .homeGetAQuoteSecInner .homeGetAQuoteSecInnerCol:last-child {
        max-width: 100%;
    }

    #homeGetAQuoteSec .homeGetAQuoteSecInner .homeGetAQuoteSecInnerCol h2 {
        font-size: clamp(34px, 9vw, 48px);
        line-height: 1.08;
        letter-spacing: -1.5px;
    }

    #homeGetAQuoteSec .homeGetAQuoteSecInner .homeGetAQuoteSecInnerCol p {
        margin-bottom: 24px;
    }

    #homeFaqSec .homeFaqSecInnerItemQuestion {
        font-size: 17px;
        line-height: 24px;
    }
}

#homePortfolioSec .homePortfolioSecInnerList .homePortfolioSecInnerListItem .homePortfolioSecInnerListItemCta {
    background: #0000005c;
    font-family: Mona Sans, sans-serif;
    font-weight: 400;
    font-size: 27.02px;
    line-height: 100%;
    letter-spacing: 0px;
    color: #FFFFFF;
    display: block;
    width: 100%;
    padding: 12px 22px;
    border-radius: 14px;
}

/* Scroll reveal (see js/scroll-reveal.js) */
.sr {
    opacity: 0;
    translate: 0 var(--sr-y, 10px);
    transition: opacity .5s ease, translate .5s cubic-bezier(.22, 1, .36, 1);
}

.sr.sr-in {
    opacity: 1;
    translate: 0 0;
    transition-duration: .7s;
    transition-delay: var(--sr-d, 0ms);
    /* stagger on the way in only */
}

@media (prefers-reduced-motion: reduce) {
    .sr {
        opacity: 1;
        translate: none;
    }
}

