:root {
    --ch-olive: #8aa63a;
    --ch-olive-deep: #69812f;
    --ch-olive-soft: #edf3d8;
    --ch-ink: #20362a;
    --ch-muted: #5d6d63;
    --ch-cream: #faf9f4;
    --ch-warm-white: #fdfcf8;
    --ch-line: #d8e0c9;
    --ch-deep-line: #aab985;
    --ch-forest: #1e382a;
}

.corp-home {
    overflow: hidden;
    color: var(--ch-ink);
    background: #fff;
}

.corp-home *,
.corp-home *::before,
.corp-home *::after {
    box-sizing: border-box;
}

.corp-home :where(h1, h2, h3, p, dl, dd) {
    margin-top: 0;
}

.corp-home :where(h1, h2, h3, p) {
    letter-spacing: 0;
}

.corp-home em {
    color: var(--ch-olive);
    font-style: normal;
}

.corp-home img {
    display: block;
}

.corp-shell {
    width: min(calc(100% - 96px), 1460px);
    margin: 0 auto;
}

.corp-home .visually-hidden {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.corp-kicker {
    margin: 0 0 16px;
    color: var(--ch-olive-deep) !important;
    font-size: 11px !important;
    font-weight: 820 !important;
    letter-spacing: .13em !important;
    line-height: 1.2;
}

.corp-btn {
    display: inline-flex;
    min-height: 50px;
    align-items: center;
    justify-content: center;
    gap: 12px;
    padding: 0 20px;
    border: 1px solid transparent;
    border-radius: 4px;
    font-size: 12px;
    font-weight: 780;
    line-height: 1;
    text-decoration: none;
    transition: background 180ms ease, border-color 180ms ease, color 180ms ease, transform 180ms ease;
}

.corp-btn:hover,
.corp-btn:focus-visible {
    transform: translateY(-2px);
}

.corp-btn--olive {
    color: #fff !important;
    border-color: var(--ch-olive);
    background: var(--ch-olive);
}

.corp-btn--olive:hover,
.corp-btn--olive:focus-visible {
    border-color: var(--ch-olive-deep);
    background: var(--ch-olive-deep);
}

.corp-btn--white {
    color: var(--ch-ink) !important;
    border-color: rgba(32, 54, 42, .28);
    background: rgba(255, 255, 255, .86);
}

.corp-btn--white:hover,
.corp-btn--white:focus-visible {
    border-color: var(--ch-olive-deep);
    background: #fff;
}

.corp-btn--soft {
    color: #3c5722 !important;
    border-color: #f1f7dc;
    background: #f1f7dc;
}

.corp-btn--outline {
    color: #fff !important;
    border-color: rgba(255, 255, 255, .66);
    background: transparent;
}

.corp-text-link {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: var(--ch-ink) !important;
    font-size: 13px;
    font-weight: 780;
    text-decoration: none;
}

.corp-text-link span {
    color: var(--ch-olive-deep);
    font-size: 18px;
    line-height: 1;
    transition: transform 180ms ease;
}

.corp-text-link:hover span,
.corp-text-link:focus-visible span {
    transform: translateX(4px);
}

.corp-home :where(a, button):focus-visible {
    outline: 3px solid rgba(117, 145, 55, .52);
    outline-offset: 4px;
}

/* Hero */
.corp-hero {
    position: relative;
    isolation: isolate;
    min-height: min(860px, calc(100svh - 72px));
    overflow: hidden;
    background: #e7eed4;
}

.corp-hero__slides,
.corp-hero__slide,
.corp-hero__wash {
    position: absolute;
    inset: 0;
}

.corp-hero__slides {
    z-index: 0;
}

.corp-hero__slide {
    opacity: 0;
    transition: opacity 1000ms ease;
}

.corp-hero__slide.is-active {
    opacity: 1;
}

.corp-hero__slide img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: var(--hero-position, center);
    filter: saturate(.87) contrast(.98) brightness(.92);
    transform: scale(1.025);
    transition: transform 9000ms ease;
}

.corp-hero__slide.is-active img {
    transform: scale(1.07);
}

.corp-hero__wash {
    z-index: 1;
    pointer-events: none;
    background: linear-gradient(90deg, rgba(250, 249, 243, .97) 0%, rgba(250, 249, 243, .92) 29%, rgba(239, 244, 221, .70) 48%, rgba(234, 241, 207, .19) 70%, rgba(229, 239, 202, .05) 100%);
}

.corp-hero__inner {
    position: relative;
    z-index: 2;
    display: flex;
    min-height: min(860px, calc(100svh - 72px));
    align-items: center;
    padding: 112px 0 88px;
}

.corp-hero__content {
    max-width: 710px;
}

.corp-hero h1,
.corp-purpose h2,
.corp-section-head h2,
.corp-needs h2,
.corp-innovation h2,
.corp-impact h2,
.corp-trust h2,
.corp-updates h2,
.corp-final h2 {
    margin: 0;
    color: var(--ch-ink) !important;
    font-weight: 760;
    line-height: .94;
}

.corp-hero h1 {
    max-width: 700px;
    font-size: clamp(54px, 6.1vw, 106px) !important;
}

.corp-hero h1 em {
    color: var(--ch-olive-deep);
}

.corp-hero__content > p:not(.corp-kicker):not(.corp-hero__proof) {
    max-width: 570px;
    margin: 28px 0 0;
    color: #516258 !important;
    font-size: 17px !important;
    line-height: 1.66;
}

.corp-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 30px;
}

.corp-hero__proof {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 12px;
    max-width: 760px;
    margin: 28px 0 0;
    padding-top: 18px;
    color: #4b5c51 !important;
    border-top: 1px solid rgba(32, 54, 42, .2);
    font-size: 11px;
    font-weight: 760;
    line-height: 1.45;
}

.corp-hero__proof i {
    color: var(--ch-olive-deep);
    font-style: normal;
}

.corp-hero__controls {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-top: 29px;
}

.corp-hero__dots {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.corp-hero__dots button,
.corp-hero__pause {
    display: grid;
    width: 27px;
    height: 27px;
    place-items: center;
    padding: 0;
    color: var(--ch-ink);
    border: 0;
    border-radius: 0;
    background: transparent;
    cursor: pointer;
}

.corp-hero__dots button::before {
    display: block;
    width: 7px;
    height: 7px;
    content: '';
    border: 1px solid var(--ch-olive-deep);
    border-radius: 50%;
    transition: width 180ms ease, border-radius 180ms ease, background 180ms ease;
}

.corp-hero__dots button[aria-selected="true"]::before {
    width: 22px;
    border-radius: 5px;
    background: var(--ch-olive-deep);
}

.corp-hero__pause {
    width: 30px;
    height: 30px;
    border-left: 1px solid rgba(32, 54, 42, .2);
    font-family: inherit;
    font-size: 9px;
    font-weight: 850;
    letter-spacing: 1px;
}

/* Purpose */
.corp-purpose {
    padding: 126px 0;
    background: #fff;
}

.corp-purpose__grid {
    display: grid;
    grid-template-columns: minmax(150px, .36fr) minmax(0, 1.43fr) minmax(250px, .72fr);
    gap: 48px;
    align-items: start;
}

.corp-purpose__grid .corp-kicker {
    margin-top: 13px;
}

.corp-purpose h2 {
    font-size: clamp(42px, 4.55vw, 76px) !important;
}

.corp-purpose h2 em {
    display: block;
}

.corp-purpose__grid > div > p {
    margin: 3px 0 25px;
    color: var(--ch-muted) !important;
    font-size: 16px !important;
    line-height: 1.75;
}

/* Business mosaic */
.corp-businesses {
    padding: 122px 0 128px;
    background: var(--ch-cream);
}

.corp-section-head,
.corp-needs__head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 48px;
    margin-bottom: 54px;
}

.corp-section-head h2,
.corp-needs h2 {
    font-size: clamp(44px, 4.85vw, 78px) !important;
}

.corp-section-head > p,
.corp-needs__head > p {
    max-width: 348px;
    margin: 0 0 7px;
    color: var(--ch-muted) !important;
    font-size: 15px !important;
    line-height: 1.66;
}

.corp-business-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    grid-template-rows: repeat(2, 282px);
    gap: 14px;
}

.corp-business {
    position: relative;
    display: flex;
    min-height: 282px;
    overflow: hidden;
    isolation: isolate;
    color: #fff;
    border-radius: 6px;
    text-decoration: none;
}

.corp-business--feature {
    grid-row: span 2;
    grid-column: span 2;
    min-height: 578px;
}

.corp-business img {
    position: absolute;
    z-index: -2;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 420ms ease;
}

.corp-business::after {
    position: absolute;
    z-index: -1;
    inset: 0;
    content: '';
    background: linear-gradient(180deg, rgba(13, 41, 29, .16) 0%, rgba(14, 48, 34, .72) 65%, rgba(10, 37, 27, .93) 100%);
    transition: background 220ms ease;
}

.corp-business:hover img,
.corp-business:focus-visible img {
    transform: scale(1.035);
}

.corp-business:hover::after,
.corp-business:focus-visible::after {
    background: linear-gradient(180deg, rgba(13, 41, 29, .1) 0%, rgba(20, 59, 40, .76) 65%, rgba(10, 37, 27, .95) 100%);
}

.corp-business--water img { object-position: 60% center; }
.corp-business--food img { object-position: 57% center; }
.corp-business--care img { object-position: 68% center; }
.corp-business--solar img { object-position: 70% center; }
.corp-business--sugar img { object-position: 60% center; }

.corp-business__content {
    display: flex;
    flex: 1;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-end;
    padding: 27px;
}

.corp-business--feature .corp-business__content {
    padding-bottom: 180px;
}

.corp-business__content > span {
    display: block;
    margin-bottom: 13px;
    color: #dce9ab !important;
    font-size: 11px;
    font-weight: 820;
    letter-spacing: .11em;
    line-height: 1.3;
    text-transform: uppercase;
}

.corp-business h3 {
    max-width: 440px;
    margin: 0;
    color: #fff !important;
    font-size: clamp(27px, 2.35vw, 43px) !important;
    font-weight: 740;
    line-height: .98;
}

.corp-business__content > p {
    max-width: 415px;
    margin: 15px 0 0;
    color: rgba(255, 255, 255, .9) !important;
    font-size: 14px !important;
    line-height: 1.58;
}

.corp-business b {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-top: 19px;
    color: #fff;
    font-size: 12px;
    font-weight: 780;
    line-height: 1.25;
    transition: gap 180ms ease;
}

.corp-business:hover b,
.corp-business:focus-visible b {
    gap: 15px;
}

.corp-business i {
    color: #dce9ab;
    font-size: 17px;
    font-style: normal;
}

.corp-business__metrics {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    display: grid;
    grid-template-columns: 1fr 1fr;
    margin: 0;
    border-top: 1px solid rgba(227, 240, 188, .34);
    background: rgba(13, 43, 30, .82);
}

.corp-business__metrics div {
    min-height: 76px;
    padding: 14px 18px;
    border-right: 1px solid rgba(227, 240, 188, .25);
    border-bottom: 1px solid rgba(227, 240, 188, .25);
}

.corp-business__metrics div:nth-child(2n) {
    border-right: 0;
}

.corp-business__metrics div:nth-last-child(-n + 2) {
    border-bottom: 0;
}

.corp-business__metrics dt {
    color: #fff;
    font-size: 16px;
    font-weight: 820;
    line-height: 1.1;
}

.corp-business__metrics dd {
    margin: 4px 0 0;
    color: #dce9c3;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .045em;
    line-height: 1.35;
    text-transform: uppercase;
}

/* Explore by need */
.corp-needs {
    padding: 118px 0 122px;
    background: #fff;
}

.corp-needs__head {
    align-items: flex-start;
}

.corp-needs__grid {
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    border-top: 1px solid var(--ch-line);
    border-left: 1px solid var(--ch-line);
}

.corp-needs__grid a {
    position: relative;
    display: grid;
    min-height: 178px;
    align-content: start;
    gap: 13px;
    padding: 20px 16px;
    color: var(--ch-ink) !important;
    border-right: 1px solid var(--ch-line);
    border-bottom: 1px solid var(--ch-line);
    background: var(--ch-warm-white);
    font-size: 13px;
    font-weight: 760;
    line-height: 1.36;
    text-decoration: none;
    transition: background 180ms ease, color 180ms ease;
}

.corp-needs__grid a:hover,
.corp-needs__grid a:focus-visible {
    background: var(--ch-olive-soft);
}

.corp-needs__number {
    color: var(--ch-olive-deep);
    font-size: 10px;
    font-weight: 840;
    letter-spacing: .1em;
}

.corp-needs__icon {
    display: grid;
    width: 26px;
    height: 26px;
    place-items: center;
    color: var(--ch-olive-deep);
}

.corp-needs__icon svg {
    width: 24px;
    height: 24px;
}

.corp-needs__grid b {
    margin-top: auto;
    color: var(--ch-olive-deep);
    font-size: 18px;
    font-weight: 500;
    transition: transform 180ms ease;
}

.corp-needs__grid a:hover b,
.corp-needs__grid a:focus-visible b {
    transform: translateX(4px);
}

/* Manufacturing */
.corp-innovation {
    position: relative;
    min-height: 740px;
    overflow: hidden;
    background: #edf3d9;
}

.corp-innovation__photo {
    position: absolute;
    inset: 0 0 0 43%;
}

.corp-innovation__photo::after {
    position: absolute;
    inset: 0;
    content: '';
    background: linear-gradient(90deg, #edf3d9 0%, rgba(237, 243, 217, .77) 35%, rgba(237, 243, 217, .12) 68%);
}

.corp-innovation__photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 72% center;
}

.corp-innovation__inner {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1.12fr) minmax(360px, .78fr);
    gap: 78px;
    align-items: end;
    min-height: 740px;
    padding: 106px 0;
}

.corp-innovation__statement {
    max-width: 730px;
}

.corp-innovation h2 {
    font-size: clamp(45px, 4.85vw, 80px) !important;
}

.corp-innovation__statement > p:not(.corp-kicker):not(.corp-innovation__made) {
    max-width: 575px;
    margin: 26px 0 0;
    color: var(--ch-muted) !important;
    font-size: 16px !important;
    line-height: 1.7;
}

.corp-innovation__made {
    display: flex;
    gap: 8px;
    margin: 18px 0 28px;
    color: #526448 !important;
    font-size: 13px !important;
    line-height: 1.5;
}

.corp-innovation__made strong {
    color: var(--ch-olive-deep);
}

.corp-innovation__stats {
    display: grid;
    grid-template-columns: 1fr 1fr;
    margin: 0;
    border-top: 1px solid var(--ch-deep-line);
    border-left: 1px solid var(--ch-deep-line);
    background: rgba(255, 255, 255, .72);
}

.corp-innovation__stats div {
    display: flex;
    min-height: 132px;
    flex-direction: column;
    justify-content: flex-end;
    padding: 20px;
    border-right: 1px solid var(--ch-deep-line);
    border-bottom: 1px solid var(--ch-deep-line);
}

.corp-innovation__stats dt {
    color: var(--ch-olive-deep);
    font-size: clamp(23px, 2.1vw, 32px);
    font-weight: 820;
    line-height: 1.05;
}

.corp-innovation__stats dd {
    margin: 8px 0 0;
    color: #556757;
    font-size: 11px;
    font-weight: 730;
    line-height: 1.42;
}

/* Sustainability */
.corp-commitment {
    padding: clamp(76px, 8vw, 108px) 0;
    color: #fff;
    background: var(--ch-forest);
}

.corp-section-head--light h2,
.corp-section-head--light h2 em {
    color: #fff !important;
}

.corp-section-head--light .corp-kicker {
    color: #f2f7dc !important;
}

.corp-commitment__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    border-top: 1px solid rgba(255, 255, 255, .48);
    border-left: 1px solid rgba(255, 255, 255, .48);
}

.corp-commitment__grid article {
    min-height: 232px;
    padding: 30px;
    border-right: 1px solid rgba(255, 255, 255, .48);
    border-bottom: 1px solid rgba(255, 255, 255, .48);
}

.corp-commitment__grid span {
    color: #f4f8db;
    font-size: 11px;
    font-weight: 820;
    letter-spacing: .1em;
}

.corp-commitment__grid h3 {
    max-width: 300px;
    margin: 49px 0 14px;
    color: #fff !important;
    font-size: 24px !important;
    font-weight: 720;
    line-height: 1.08;
}

.corp-commitment__grid p {
    max-width: 368px;
    margin: 0;
    color: rgba(255, 255, 255, .9) !important;
    font-size: 14px !important;
    line-height: 1.62;
}

/* Industries */
.corp-impact {
    padding: 132px 0;
    background: #fff;
}

.corp-impact__grid {
    display: grid;
    grid-template-columns: minmax(280px, .82fr) minmax(0, 1.18fr);
    gap: 9vw;
    align-items: center;
}

.corp-impact h2 {
    font-size: clamp(45px, 4.75vw, 78px) !important;
}

.corp-impact__grid > div:first-child > p:not(.corp-kicker) {
    max-width: 478px;
    margin: 27px 0;
    color: var(--ch-muted) !important;
    font-size: 16px !important;
    line-height: 1.72;
}

.corp-impact__tiles {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
}

.corp-impact__tiles a {
    position: relative;
    display: block;
    min-height: 228px;
    overflow: hidden;
    color: #fff;
    border-radius: 5px;
    text-decoration: none;
}

.corp-impact__tiles img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 400ms ease;
}

.corp-impact__tiles a::after {
    position: absolute;
    inset: 0;
    content: '';
    background: linear-gradient(180deg, rgba(30, 50, 35, .04), rgba(36, 62, 37, .82));
}

.corp-impact__tiles a:hover img,
.corp-impact__tiles a:focus-visible img {
    transform: scale(1.04);
}

.corp-impact__tiles span {
    position: absolute;
    z-index: 1;
    right: 18px;
    bottom: 17px;
    left: 18px;
    color: #fff;
    font-size: 16px;
    font-weight: 780;
    line-height: 1.2;
}

/* Trust */
.corp-trust {
    padding: 78px 0;
    background: #f0f4e3;
}

.corp-trust__grid {
    display: grid;
    grid-template-columns: 1.7fr repeat(4, minmax(0, 1fr)) 1fr;
    border-top: 1px solid #c6d59f;
    border-left: 1px solid #c6d59f;
}

.corp-trust h2,
.corp-trust__grid > div,
.corp-trust__grid > a {
    min-height: 145px;
    padding: 22px;
    border-right: 1px solid #c6d59f;
    border-bottom: 1px solid #c6d59f;
}

.corp-trust h2 {
    font-size: clamp(28px, 2.7vw, 44px) !important;
}

.corp-trust__grid > div {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
}

.corp-trust b {
    color: #435f27;
    font-size: 13px;
    font-weight: 820;
    line-height: 1.35;
}

.corp-trust span {
    margin-top: 8px;
    color: #66775b;
    font-size: 11px;
    line-height: 1.42;
}

.corp-trust a {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    color: #fff !important;
    background: var(--ch-olive-deep);
    font-size: 12px;
    font-weight: 780;
    line-height: 1.35;
    text-align: center;
    text-decoration: none;
}

.corp-trust a span {
    margin: 0;
    color: #fff;
    font-size: 16px;
}

/* Genuine knowledge content */
.corp-updates {
    padding: 128px 0;
    background: #fff;
}

.corp-updates__grid {
    display: grid;
    grid-template-columns: minmax(270px, .75fr) minmax(0, 1.25fr);
    gap: 96px;
}

.corp-updates h2 {
    font-size: clamp(45px, 4.65vw, 76px) !important;
}

.corp-update-list {
    border-top: 1px solid var(--ch-line);
}

.corp-update-list a {
    display: grid;
    grid-template-columns: 1fr 24px;
    grid-template-areas: 'category arrow' 'title arrow' 'summary arrow';
    gap: 7px 24px;
    min-height: 142px;
    align-content: center;
    padding: 23px 0;
    color: var(--ch-ink) !important;
    border-bottom: 1px solid var(--ch-line);
    text-decoration: none;
}

.corp-update-list span {
    grid-area: category;
    color: var(--ch-olive-deep);
    font-size: 10px;
    font-weight: 820;
    letter-spacing: .09em;
    line-height: 1.3;
    text-transform: uppercase;
}

.corp-update-list b {
    grid-area: title;
    font-size: 18px;
    font-weight: 740;
    line-height: 1.28;
}

.corp-update-list small {
    grid-area: summary;
    color: var(--ch-muted);
    font-size: 14px;
    line-height: 1.55;
}

.corp-update-list i {
    grid-area: arrow;
    align-self: center;
    color: var(--ch-olive-deep);
    font-size: 22px;
    font-style: normal;
    transition: transform 180ms ease;
}

.corp-update-list a:hover i,
.corp-update-list a:focus-visible i {
    transform: translateX(4px);
}

/* Final CTA */
.corp-final {
    padding: 108px 0;
    color: #fff;
    background: #718a33;
    text-align: center;
}

.corp-final .corp-kicker,
.corp-final h2 em {
    color: #f1f7d9 !important;
}

.corp-final h2 {
    color: #fff !important;
    font-size: clamp(45px, 4.8vw, 78px) !important;
}

.corp-final > div > div {
    display: flex;
    justify-content: center;
    gap: 12px;
    margin-top: 35px;
}

.corp-final .corp-btn--olive {
    border-color: #586f22;
    background: #586f22;
}

.corp-final .corp-btn--olive:hover,
.corp-final .corp-btn--olive:focus-visible {
    border-color: #425718;
    background: #425718;
}

@media (max-width: 1150px) {
    .corp-shell { width: min(calc(100% - 72px), 1460px); }
    .corp-hero__inner { padding-top: 102px; }
    .corp-hero h1 { font-size: clamp(52px, 6.4vw, 90px) !important; }
    .corp-needs__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
    .corp-needs__grid a { min-height: 150px; }
    .corp-needs__grid a:nth-child(5) { grid-column: 1 / span 2; }
    .corp-needs__grid a:nth-child(6) { grid-column: 3; }
    .corp-needs__grid a:nth-child(7) { grid-column: 4; }
    .corp-innovation__inner { gap: 42px; }
    .corp-trust__grid { grid-template-columns: 1.5fr repeat(3, minmax(0, 1fr)); }
    .corp-trust__grid > a { grid-column: 2 / -1; }
}

@media (max-width: 1024px) {
    .corp-shell { width: min(calc(100% - 56px), 1460px); }
    .corp-hero,
    .corp-hero__inner { min-height: 720px; }
    .corp-hero__wash { background: linear-gradient(90deg, rgba(250, 249, 243, .97) 0%, rgba(250, 249, 243, .9) 43%, rgba(235, 242, 215, .48) 70%, rgba(235, 242, 215, .1) 100%); }
    .corp-purpose,
    .corp-businesses,
    .corp-needs,
    .corp-impact,
    .corp-updates { padding: 94px 0; }
    .corp-purpose__grid { grid-template-columns: 1fr 1.25fr; }
    .corp-purpose__grid .corp-kicker { grid-column: 1 / -1; }
    .corp-section-head,
    .corp-needs__head { gap: 28px; }
    .corp-business-grid { grid-template-columns: 1fr 1fr; grid-template-rows: auto; }
    .corp-business--feature { grid-column: 1 / -1; grid-row: auto; min-height: 490px; }
    .corp-business { min-height: 278px; }
    .corp-innovation { min-height: 770px; }
    .corp-innovation__photo { inset: 0; opacity: .36; }
    .corp-innovation__photo::after { background: rgba(237, 243, 217, .72); }
    .corp-innovation__inner { grid-template-columns: minmax(0, 1fr) minmax(320px, .7fr); min-height: 770px; padding: 84px 0; }
    .corp-impact__grid { gap: 50px; }
    .corp-updates__grid { gap: 58px; }
}

@media (max-width: 720px) {
    .corp-shell { width: calc(100% - 40px); }
    .corp-hero,
    .corp-hero__inner { min-height: 760px; }
    .corp-hero__inner { align-items: flex-start; padding: 87px 0 80px; }
    .corp-hero__slide img { object-position: var(--hero-position-mobile, center); }
    .corp-hero__wash { background: linear-gradient(90deg, rgba(251, 250, 245, .97) 0%, rgba(251, 250, 245, .94) 57%, rgba(242, 246, 226, .66) 83%, rgba(242, 246, 226, .32) 100%); }
    .corp-hero h1 { font-size: clamp(49px, 14vw, 73px) !important; }
    .corp-hero__content > p:not(.corp-kicker):not(.corp-hero__proof) { max-width: 390px; margin-top: 23px; font-size: 15px !important; line-height: 1.6; }
    .corp-actions { display: grid; max-width: 310px; margin-top: 25px; }
    .corp-btn { width: 100%; min-height: 48px; }
    .corp-hero__proof { display: grid; grid-template-columns: 1fr 1fr; gap: 8px 16px; max-width: 345px; margin-top: 22px; padding-top: 16px; font-size: 10px; }
    .corp-hero__proof i { display: none; }
    .corp-hero__controls { margin-top: 22px; }
    .corp-purpose,
    .corp-businesses,
    .corp-needs,
    .corp-impact,
    .corp-updates { padding: 78px 0; }
    .corp-purpose__grid,
    .corp-innovation__inner,
    .corp-impact__grid,
    .corp-updates__grid { grid-template-columns: 1fr; gap: 30px; }
    .corp-purpose h2,
    .corp-section-head h2,
    .corp-needs h2,
    .corp-innovation h2,
    .corp-impact h2,
    .corp-updates h2,
    .corp-final h2 { font-size: clamp(39px, 12vw, 56px) !important; }
    .corp-purpose__grid > div > p { margin-top: 0; font-size: 15px !important; }
    .corp-section-head,
    .corp-needs__head { display: block; margin-bottom: 36px; }
    .corp-section-head > p,
    .corp-needs__head > p { margin: 21px 0 0; font-size: 14px !important; }
    .corp-business-grid { grid-template-columns: 1fr; gap: 14px; }
    .corp-business,
    .corp-business--feature { grid-column: auto; grid-row: auto; min-height: 305px; }
    .corp-business--feature { min-height: 510px; }
    .corp-business--feature .corp-business__content { padding-bottom: 170px; }
    .corp-business__content { padding: 23px; }
    .corp-business h3 { font-size: clamp(30px, 8.5vw, 42px) !important; }
    .corp-business__content > p { max-width: 320px; font-size: 13px !important; }
    .corp-business__metrics div { min-height: 70px; padding: 13px 14px; }
    .corp-business__metrics dt { font-size: 14px; }
    .corp-business__metrics dd { font-size: 9px; }
    .corp-needs__grid { grid-template-columns: 1fr 1fr; }
    .corp-needs__grid a,
    .corp-needs__grid a:nth-child(n) { min-height: 148px; grid-column: auto; padding: 17px 14px; }
    .corp-innovation { min-height: 790px; }
    .corp-innovation__inner { min-height: 790px; padding: 78px 0; }
    .corp-innovation__stats { max-width: 430px; }
    .corp-innovation__stats div { min-height: 116px; padding: 16px; }
    .corp-innovation__stats dt { font-size: 23px; }
    .corp-commitment { padding: 78px 0; }
    .corp-commitment .corp-section-head .corp-btn { margin-top: 23px; }
    .corp-commitment__grid { grid-template-columns: 1fr; }
    .corp-commitment__grid article { min-height: 0; padding: 24px; }
    .corp-commitment__grid h3 { margin-top: 27px; font-size: 22px !important; }
    .corp-impact__tiles { order: 2; }
    .corp-impact__tiles a { min-height: 184px; }
    .corp-trust { padding: 56px 0; }
    .corp-trust__grid { grid-template-columns: 1fr 1fr; }
    .corp-trust h2 { grid-column: 1 / -1; }
    .corp-trust h2,
    .corp-trust__grid > div { min-height: 130px; padding: 18px; }
    .corp-trust__grid > a { grid-column: 1 / -1; min-height: 70px; }
    .corp-trust b { font-size: 12px; }
    .corp-update-list a { min-height: 0; padding: 20px 0; }
    .corp-update-list b { font-size: 16px; }
    .corp-update-list small { font-size: 13px; }
    .corp-final { padding: 80px 0; }
    .corp-final > div > div { display: grid; max-width: 310px; margin-right: auto; margin-left: auto; }
}

@media (max-width: 390px) {
    .corp-hero,
    .corp-hero__inner { min-height: 780px; }
    .corp-hero h1 { font-size: 47px !important; }
    .corp-hero__proof { grid-template-columns: 1fr; gap: 5px; }
    .corp-business--feature { min-height: 540px; }
    .corp-business--feature .corp-business__content { padding-bottom: 178px; }
    .corp-business__metrics div { min-height: 68px; padding: 12px; }
    .corp-needs__grid a { min-height: 156px; font-size: 12px; }
}

@media (prefers-reduced-motion: reduce) {
    .corp-home *,
    .corp-home *::before,
    .corp-home *::after {
        scroll-behavior: auto !important;
        transition-duration: .01ms !important;
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
    }

    .corp-hero__slide img,
    .corp-hero__slide.is-active img { transform: none; }
}
