/* Shared brand-statement footer for the homepage and product page. */
body .brand-statement-footer {
    width: 100%;
    min-height: 100svh;
    height: 100svh;
    padding: 0 !important;
    display: flex;
    align-items: stretch;
}

body .brand-statement-footer > .container {
    width: 100% !important;
    max-width: none !important;
    height: 100%;
    margin: 0;
    padding: 0 !important;
    display: flex;
}

body .brand-statement-footer .brand-statement-card {
    width: 100%;
    min-height: 100%;
    height: 100%;
    padding: clamp(72px, 9svh, 96px) max(32px, calc((100% - 1340px) / 2 + 32px)) !important;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 0 !important;
    position: relative;
    isolation: isolate;
    overflow: hidden;
    background:
        linear-gradient(110deg, rgba(7, 63, 85, 0.08), rgba(16, 90, 115, 0.03)),
        url('footer-background-20260824204915.jpg') center / cover no-repeat !important;
    box-shadow: none !important;
    text-align: left !important;
}

body .brand-statement-footer .brand-statement-card::before,
body .brand-statement-footer .brand-statement-card::after {
    content: '';
    position: absolute;
    inset: -30%;
    width: auto !important;
    height: auto;
    aspect-ratio: auto;
    display: block !important;
    pointer-events: none;
    border: 0;
    border-radius: 0;
    z-index: 0;
    will-change: transform, opacity;
}

body .brand-statement-footer .brand-statement-card::before {
    background:
        radial-gradient(ellipse at 18% 24%, rgba(44, 175, 206, 0.96) 0%, rgba(44, 175, 206, 0.34) 24%, transparent 50%),
        radial-gradient(ellipse at 78% 20%, rgba(16, 90, 115, 0.96) 0%, rgba(16, 90, 115, 0.26) 30%, transparent 56%),
        radial-gradient(ellipse at 70% 82%, rgba(44, 175, 206, 0.72) 0%, rgba(44, 175, 206, 0.18) 26%, transparent 52%),
        radial-gradient(ellipse at 28% 76%, rgba(16, 90, 115, 0.88) 0%, rgba(16, 90, 115, 0.22) 30%, transparent 58%) !important;
    filter: blur(48px) saturate(135%);
    opacity: 0.88;
    transform: translate3d(-5%, -3%, 0) scale(1.04) rotate(-3deg);
    animation: brand-mesh-flow-primary 16s cubic-bezier(0.77, 0, 0.175, 1) infinite alternate !important;
}

body .brand-statement-footer .brand-statement-card::after {
    background:
        radial-gradient(ellipse at 22% 68%, rgba(44, 175, 206, 0.68) 0%, rgba(44, 175, 206, 0.14) 28%, transparent 54%),
        radial-gradient(ellipse at 84% 36%, rgba(16, 90, 115, 0.90) 0%, rgba(16, 90, 115, 0.18) 30%, transparent 58%),
        radial-gradient(ellipse at 48% 48%, rgba(44, 175, 206, 0.44) 0%, rgba(44, 175, 206, 0.10) 34%, transparent 64%) !important;
    filter: blur(66px) saturate(145%);
    mix-blend-mode: screen;
    opacity: 0.58;
    -webkit-mask-image: none !important;
    mask-image: none !important;
    transform: translate3d(5%, 2%, 0) scale(1.10) rotate(4deg);
    animation: brand-mesh-flow-secondary 23s cubic-bezier(0.77, 0, 0.175, 1) infinite alternate !important;
}

@keyframes brand-mesh-flow-primary {
    0% {
        transform: translate3d(-5%, -3%, 0) scale(1.04) rotate(-3deg);
        opacity: 0.82;
    }
    50% {
        transform: translate3d(3%, 5%, 0) scale(1.16) rotate(1deg);
        opacity: 0.94;
    }
    100% {
        transform: translate3d(7%, -1%, 0) scale(1.10) rotate(4deg);
        opacity: 0.86;
    }
}

@keyframes brand-mesh-flow-secondary {
    0% {
        transform: translate3d(5%, 2%, 0) scale(1.10) rotate(4deg);
        opacity: 0.48;
    }
    50% {
        transform: translate3d(-4%, -4%, 0) scale(1.20) rotate(-2deg);
        opacity: 0.66;
    }
    100% {
        transform: translate3d(-7%, 4%, 0) scale(1.13) rotate(-5deg);
        opacity: 0.54;
    }
}

body .brand-statement-footer .brand-statement-content {
    position: relative;
    z-index: 2;
    width: min(100%, 1340px);
    min-height: clamp(520px, 68svh, 680px);
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: space-between;
}

body .brand-statement-footer .brand-statement-label {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    color: rgba(255, 255, 255, 0.72);
    font-family: 'Poppins', -apple-system, BlinkMacSystemFont, sans-serif;
    font-size: 13px;
    font-weight: 400;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

body .brand-statement-footer .brand-statement-label::before {
    content: '';
    width: 42px;
    height: 2px;
    border-radius: 999px;
    background: linear-gradient(90deg, #2cafce, #ece980);
}

body .brand-statement-footer .brand-statement-title {
    max-width: 1220px;
    margin: clamp(52px, 8svh, 78px) 0;
    color: #ffffff !important;
    font-family: 'Poppins', -apple-system, BlinkMacSystemFont, sans-serif !important;
    font-size: clamp(58px, 6.2vw, 92px);
    font-weight: 400 !important;
    line-height: 0.98;
    letter-spacing: -0.055em;
    text-align: left;
    text-shadow: none !important;
}

body .brand-statement-footer .brand-statement-title span {
    display: block;
    white-space: nowrap;
}

body .brand-statement-footer .brand-statement-copy {
    width: min(100%, 1120px);
    padding-top: clamp(24px, 3.5svh, 34px);
    display: grid;
    grid-template-columns: 1fr;
    gap: 0;
    border-top: 1px solid rgba(255, 255, 255, 0.22);
}

body .brand-statement-footer .brand-statement-copy p {
    max-width: 760px;
    margin: 0;
    color: rgba(255, 255, 255, 0.76) !important;
    font-family: 'Poppins', -apple-system, BlinkMacSystemFont, sans-serif;
    font-size: clamp(16px, 1.35vw, 19px);
    font-weight: 300;
    line-height: 1.6;
    letter-spacing: 0;
    text-align: left;
    text-shadow: none !important;
}

@media (prefers-reduced-motion: reduce) {
    body .brand-statement-footer .brand-statement-card::before,
    body .brand-statement-footer .brand-statement-card::after {
        animation: none !important;
        transform: none;
    }
}

@media (prefers-reduced-transparency: reduce) {
    body .brand-statement-footer .brand-statement-card {
        background: linear-gradient(135deg, #105a73 0%, #2cafce 140%) !important;
    }

    body .brand-statement-footer .brand-statement-card::before,
    body .brand-statement-footer .brand-statement-card::after {
        display: none !important;
    }

}

@media (max-width: 768px) {
    body .brand-statement-footer,
    body .brand-statement-footer .brand-statement-card {
        height: auto;
        min-height: 100svh;
    }

    body .brand-statement-footer .brand-statement-card {
        padding: 72px 24px 40px !important;
        align-items: stretch;
    }

    body .brand-statement-footer .brand-statement-content {
        min-height: calc(100svh - 112px);
    }

    body .brand-statement-footer .brand-statement-label {
        font-size: 11px;
        letter-spacing: 0.10em;
    }

    body .brand-statement-footer .brand-statement-label::before {
        width: 30px;
    }

    body .brand-statement-footer .brand-statement-title {
        margin: 48px 0;
        font-size: clamp(42px, 12.5vw, 58px);
        line-height: 1.02;
        letter-spacing: -0.045em;
    }

    body .brand-statement-footer .brand-statement-copy {
        padding-top: 24px;
        grid-template-columns: 1fr;
        gap: 12px;
    }

    body .brand-statement-footer .brand-statement-copy p {
        font-size: 16px;
        line-height: 1.55;
    }
}

/* Match About Us and Footer spacing to the homepage section rhythm. */
body:not(.page-product) .about-us-section {
    padding-top: var(--home-section-space) !important;
    padding-bottom: var(--home-section-space) !important;
    box-sizing: border-box;
}

body:not(.page-product) .brand-statement-footer .brand-statement-card {
    padding-top: var(--home-section-space) !important;
    padding-bottom: var(--home-section-space) !important;
}

body:not(.page-product) .brand-statement-footer .brand-statement-content {
    min-height: calc(100svh - var(--home-section-space) - var(--home-section-space));
}

/* Shared full-screen About Us section shown before the brand statement footer. */
body .section-eyebrow-pill {
    display: inline-flex !important;
    width: fit-content;
    min-height: 34px;
    margin: 0 0 16px;
    padding: 8px 16px;
    align-items: center;
    justify-content: center;
    border: 0;
    border-radius: 999px;
    background: linear-gradient(90deg, rgba(44, 175, 206, 0.18), rgba(16, 90, 115, 0.12));
    color: #105a73 !important;
    font-family: 'Poppins', -apple-system, BlinkMacSystemFont, sans-serif !important;
    font-size: 12px !important;
    font-weight: 400 !important;
    line-height: 1;
    letter-spacing: 0.08em !important;
    text-align: center;
    text-transform: none;
    box-shadow: none !important;
}

body .section-eyebrow-pill::before,
body .section-eyebrow-pill::after {
    content: none !important;
    display: none !important;
}

body .about-us-section {
    width: 100%;
    min-height: 100svh;
    padding: clamp(80px, 10svh, 112px) 32px;
    display: flex;
    align-items: flex-start;
    background: #dbe9f8;
    color: #105a73;
}

body .about-us-container {
    width: min(100%, 1340px);
    margin: 0 auto;
}

body .about-us-header {
    max-width: 1040px;
    margin: 0 auto;
    text-align: center;
}

body .about-us-label {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: #105a73;
    font-family: 'Poppins', -apple-system, BlinkMacSystemFont, sans-serif;
    font-size: 13px;
    font-weight: 400;
    letter-spacing: 0.10em;
}

body .about-us-label::before,
body .about-us-label::after {
    content: '';
    width: 34px;
    height: 2px;
    border-radius: 999px;
    background: linear-gradient(90deg, #2cafce, #105a73);
}

body .about-us-header h2 {
    margin: 24px 0 0;
    color: #105a73 !important;
    font-family: 'Poppins', -apple-system, BlinkMacSystemFont, sans-serif !important;
    font-size: clamp(52px, 5.4vw, 78px);
    font-weight: 400 !important;
    line-height: 1.02;
    letter-spacing: -0.05em;
    text-align: center;
    text-shadow: none !important;
}

body .about-us-copy-grid {
    margin-top: clamp(62px, 9svh, 90px);
    padding-top: clamp(30px, 4svh, 42px);
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: clamp(48px, 7vw, 104px);
    border-top: 1px solid rgba(16, 90, 115, 0.18);
}

body .about-us-copy-column {
    display: flex;
    flex-direction: column;
    gap: 22px;
}

body .about-us-copy-column + .about-us-copy-column {
    padding-left: clamp(48px, 7vw, 104px);
    border-left: 1px solid rgba(16, 90, 115, 0.14);
}

body .about-us-copy-column p {
    max-width: 560px;
    margin: 0;
    color: rgba(16, 58, 73, 0.76) !important;
    font-family: 'Poppins', 'Noto Sans SC', -apple-system, BlinkMacSystemFont, sans-serif;
    font-size: clamp(15px, 1.25vw, 17px);
    font-weight: 300;
    line-height: 1.72;
    letter-spacing: 0;
    text-align: left;
    text-shadow: none !important;
}

body .about-us-section,
body .about-us-section * {
    box-shadow: none !important;
}

@media (max-width: 768px) {
    body .about-us-section {
        min-height: 100svh;
        padding: 56px 24px 36px;
        align-items: flex-start;
    }

    body .about-us-label {
        font-size: 11px;
        letter-spacing: 0.08em;
    }

    body .about-us-label::before,
    body .about-us-label::after {
        width: 24px;
    }

    body .about-us-header h2 {
        margin-top: 20px;
        font-size: clamp(40px, 11.5vw, 54px);
        line-height: 1.04;
    }

    body .about-us-copy-grid {
        margin-top: 42px;
        padding-top: 28px;
        grid-template-columns: 1fr;
        gap: 28px;
    }

    body .about-us-copy-column + .about-us-copy-column {
        padding: 28px 0 0;
        border-top: 1px solid rgba(16, 90, 115, 0.12);
        border-left: 0;
    }

    body .about-us-copy-column {
        gap: 18px;
    }

    body .about-us-copy-column p {
        max-width: none;
        font-size: 15px;
        line-height: 1.68;
    }
}

/* About Us image treatment and high-contrast white typography. */
body .about-us-section {
    background-color: #105a73 !important;
    background-image:
        linear-gradient(180deg, rgba(7, 63, 85, 0.36), rgba(7, 63, 85, 0.52)),
        url('about-us-background-20260824205017.png') !important;
    background-position: center, center;
    background-size: cover, cover;
    background-repeat: no-repeat, no-repeat;
    color: #ffffff !important;
}

body .about-us-section .section-eyebrow-pill {
    background: rgba(255, 255, 255, 0.14);
    color: #ffffff !important;
}

body .about-us-section .about-us-header h2,
body .about-us-section .about-us-copy-column p {
    color: #ffffff !important;
}

body .about-us-section .about-us-label::before,
body .about-us-section .about-us-label::after {
    background: rgba(255, 255, 255, 0.72);
}

body .about-us-section .about-us-copy-grid {
    border-top-color: rgba(255, 255, 255, 0.36);
}

body .about-us-section .about-us-copy-column + .about-us-copy-column {
    border-left-color: rgba(255, 255, 255, 0.28);
}

@media (max-width: 768px) {
    body .about-us-section {
        background-position: center, 54% center;
    }

    body .about-us-section .about-us-copy-column + .about-us-copy-column {
        border-top-color: rgba(255, 255, 255, 0.28);
        border-left: 0;
    }
}
