/* ============================================================
   UBUNTU COMPANY LIMITED — SUSTAINABILITY
   File: /assets/css/sustainability.css
   Companion: page-sustainability.php (cleaned version)
   Scope: all styles remain inside .u-sustainability-page
   ============================================================ */

/* 01. THEME TOKENS AND BASE ---------------------------------- */
.u-sustainability-page {
    --sus-bark: var(--bark, #13231a);
    --sus-amber: var(--amber, #e3a62c);
    --sus-amber-soft: var(--amber-soft, #f0c86b);
    --sus-amber-ink: #80520b; /* Readable amber for small text on light backgrounds */
    --sus-husk: var(--husk, #ebede4);
    --sus-husk-2: var(--husk-2, #dde1d4);
    --sus-ink: var(--ink, #16201a);
    --sus-muted: #4e5a50;
    --sus-paper: #f7f6f0;
    --sus-line: rgba(19, 35, 26, .16);
    --sus-line-dark: rgba(235, 237, 228, .19);
    --sus-gutter: clamp(20px, 4vw, 56px);
    --sus-container: 1200px;
    --sus-serif: var(--serif, Georgia, 'Times New Roman', serif);
    --sus-sans: var(--sans, Arial, Helvetica, sans-serif);
    --sus-section-space: clamp(80px, 9vw, 144px);

    position: relative;
    isolation: isolate;
    overflow-x: clip;
    background: var(--sus-paper);
    color: var(--sus-ink);
    font-family: var(--sus-sans);
    -webkit-font-smoothing: antialiased;
}

.u-sustainability-page *,
.u-sustainability-page *::before,
.u-sustainability-page *::after {
    box-sizing: border-box;
}

.u-sustainability-page .wrap {
    width: min(calc(100% - 2 * var(--sus-gutter)), var(--sus-container));
    max-width: var(--sus-container);
    margin-inline: auto;
}

.u-sustainability-page img,
.u-sustainability-page video {
    display: block;
    max-width: 100%;
}

.u-sustainability-page a { color: inherit; }
.u-sustainability-page p { margin-top: 0; }
.u-sustainability-page :is(h1, h2, h3) { text-wrap: balance; }

.u-sustainability-page a:focus-visible,
.u-sustainability-page video:focus-visible {
    outline: 3px solid var(--sus-amber-soft);
    outline-offset: 5px;
}

.u-sustainability-page .kicker,
.u-sustainability-eyebrow {
    margin: 0 0 18px;
    color: var(--sus-amber-ink);
    font-size: .75rem;
    font-weight: 800;
    line-height: 1.45;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.u-sustainability-lede {
    margin-bottom: 22px;
    color: var(--sus-ink);
    font-family: var(--sus-serif);
    font-size: clamp(1.35rem, 2.2vw, 1.85rem);
    line-height: 1.5;
}

/* Shared chapter label */
.u-sustainability-section-index {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 30px;
}

.u-sustainability-section-index > span {
    display: grid;
    flex: 0 0 42px;
    width: 42px;
    height: 42px;
    place-items: center;
    border: 1px solid var(--sus-line);
    border-radius: 50%;
    color: var(--sus-amber-ink);
    font-size: .72rem;
    font-weight: 800;
}

.u-sustainability-section-index p {
    margin: 0;
    color: var(--sus-muted);
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .10em;
    line-height: 1.35;
    text-transform: uppercase;
}

/* Shared editorial body type */
.u-sustainability-intro-copy > p:not(.kicker):not(.u-sustainability-lede),
.u-sustainability-sourcing-copy > p:not(.kicker):not(.u-sustainability-lede),
.u-sustainability-landscape-copy p,
.u-sustainability-women-copy p,
.u-sustainability-impact-copy > p:not(.kicker) {
    font-size: 1rem;
    line-height: 1.8;
}

/* 02. HERO --------------------------------------------------- */
.u-sustainability-hero {
    position: relative;
    display: flex;
    align-items: flex-end;
    min-height: clamp(670px, 91svh, 920px);
    padding: 0;
    overflow: hidden;
    isolation: isolate;
    background: var(--sus-bark);
    color: var(--sus-husk);
}

/* The PHP intentionally has an outer .wrap and an inner .wrap.
   Make the outer wrapper full-bleed, but keep inner copy centered. */
.u-sustainability-page .u-sustainability-hero > .wrap {
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0;
}

.u-sustainability-hero-media,
.u-sustainability-hero-overlay {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}

.u-sustainability-hero-media { z-index: -2; }
.u-sustainability-hero-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 45%;
}

.u-sustainability-hero-overlay {
    z-index: -1;
    pointer-events: none;
    background:
        linear-gradient(90deg, rgba(7, 18, 12, .90) 0%, rgba(7, 18, 12, .63) 47%, rgba(7, 18, 12, .16) 100%),
        linear-gradient(0deg, rgba(7, 18, 12, .73) 0%, transparent 51%);
}

.u-sustainability-hero-inner {
    position: relative;
    z-index: 1;
    padding-top: clamp(160px, 17vw, 235px);
    padding-bottom: clamp(132px, 12vw, 170px);
}

.u-sustainability-hero-copy { max-width: 850px; }
.u-sustainability-eyebrow { color: var(--sus-amber-soft); }

.u-sustainability-hero h1 {
    max-width: 11ch;
    margin: 0 0 30px;
    color: var(--sus-husk);
    font-family: var(--sus-serif);
    font-size: clamp(4rem, 8.7vw, 8rem);
    font-weight: 500;
    line-height: .88;
    letter-spacing: -.065em;
}

.u-sustainability-hero-lede {
    max-width: 570px;
    margin: 0;
    color: var(--sus-amber-soft);
    font-family: var(--sus-serif);
    font-size: clamp(1.45rem, 2.35vw, 2.2rem);
    font-style: italic;
    line-height: 1.3;
}

.u-sustainability-hero-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px;
    margin-top: 34px;
}

/* The site already supplies .btn/.btn-amber; these rules ensure
   reliable spacing, click area and focus without changing branding. */
.u-sustainability-hero-actions .btn {
    display: inline-flex;
    min-height: 50px;
    align-items: center;
    justify-content: center;
    padding: 14px 25px;
    border-radius: 3px;
    font-size: .82rem;
    font-weight: 800;
    letter-spacing: .025em;
    text-decoration: none;
    transition: transform .2s ease, filter .2s ease;
}

.u-sustainability-hero-actions .btn-amber {
    background: var(--sus-amber);
    color: var(--sus-bark);
}

.u-sustainability-hero-actions .btn:hover {
    transform: translateY(-2px);
    filter: brightness(1.06);
}

.u-sustainability-hero-index {
    position: absolute;
    z-index: 2;
    right: var(--sus-gutter);
    bottom: 28px;
    display: flex;
    align-items: center;
    gap: 25px;
    color: rgba(235, 237, 228, .78);
    font-size: .67rem;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.u-sustainability-hero-index span + span {
    position: relative;
    padding-left: 25px;
}

.u-sustainability-hero-index span + span::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 0;
    width: 12px;
    height: 1px;
    background: currentColor;
}

/* 03. OUR APPROACH ------------------------------------------ */
.u-sustainability-intro {
    position: relative;
    padding: var(--sus-section-space) 0;
    overflow: hidden;
    background: var(--sus-paper);
    border-bottom: 1px solid var(--sus-line);
}

.u-sustainability-intro::after {
    content: '';
    position: absolute;
    right: -220px;
    bottom: -300px;
    width: min(560px, 65vw);
    aspect-ratio: 1;
    border: 1px solid rgba(94, 124, 65, .15);
    border-radius: 50%;
    pointer-events: none;
}

.u-sustainability-intro-grid {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(130px, .24fr) minmax(0, 1fr);
    gap: clamp(40px, 7vw, 100px);
    align-items: start;
}

.u-sustainability-intro-copy { max-width: 850px; }

.u-sustainability-intro-copy h2 {
    margin: 0 0 35px;
    color: var(--sus-bark);
    font-family: var(--sus-serif);
    font-size: clamp(4.25rem, 7.5vw, 7.75rem);
    font-weight: 500;
    line-height: .92;
    letter-spacing: -.06em;
}

.u-sustainability-intro-copy > p:not(.kicker) {
    max-width: 690px;
    margin-bottom: 23px;
    color: var(--sus-muted);
}

/* 04. THREE PILLARS ----------------------------------------- */
.u-sustainability-pillars {
    padding: clamp(72px, 8vw, 116px) 0;
    background: #e5e8de;
}

.u-sustainability-pillars-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    border-block: 1px solid var(--sus-line);
}

.u-sustainability-pillar {
    position: relative;
    display: flex;
    flex-direction: column;
    min-height: 370px;
    padding: 35px clamp(22px, 3vw, 42px) 42px;
    overflow: hidden;
    transition: background-color .25s ease;
}

.u-sustainability-pillar + .u-sustainability-pillar { border-left: 1px solid var(--sus-line); }
.u-sustainability-pillar:hover { background: rgba(255, 255, 255, .38); }

.u-sustainability-pillar::after {
    content: '';
    position: absolute;
    right: -95px;
    bottom: -105px;
    width: 190px;
    aspect-ratio: 1;
    border: 1px solid rgba(94, 124, 65, .17);
    border-radius: 50%;
    pointer-events: none;
}

.u-sustainability-pillar-number {
    display: block;
    margin-bottom: auto;
    color: var(--sus-amber-ink);
    font-family: var(--sus-serif);
    font-size: 1.5rem;
    line-height: 1;
}

.u-sustainability-pillar-label {
    margin: 70px 0 9px;
    color: var(--sus-muted);
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.u-sustainability-pillar h3 {
    margin: 0 0 17px;
    color: var(--sus-bark);
    font-family: var(--sus-serif);
    font-size: clamp(2.5rem, 3.7vw, 4.1rem);
    font-weight: 500;
    line-height: 1;
    letter-spacing: -.05em;
}

.u-sustainability-pillar > p:last-child {
    max-width: 360px;
    margin: 0;
    color: var(--sus-muted);
    font-size: .95rem;
    line-height: 1.7;
}

/* 05. FILM SERIES ------------------------------------------- */
/* The three video <section>s are siblings, without a wrapper.
   Match the actual document structure rather than :first-of-type,
   which cannot identify the first video after the pillars. */
.u-sustainability-page .u-shea-film {
    position: relative;
    margin: 0;
    padding: 14px 0;
    background: var(--sus-bark) !important; /* PHP also supplies this background inline */
}

.u-sustainability-page .u-sustainability-pillars + .u-shea-film {
    padding-top: clamp(70px, 8vw, 110px);
}

.u-sustainability-page .u-shea-film:has(+ .u-sustainability-sourcing) {
    padding-bottom: clamp(70px, 8vw, 110px);
}

.u-sustainability-page .u-shea-film-wrap {
    width: min(calc(100% - 2 * var(--sus-gutter)), 940px);
    max-width: 940px;
    margin-inline: auto;
}

.u-sustainability-page .u-shea-film-media {
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, .13);
    border-radius: 14px;
    background: #080b09;
    box-shadow: 0 20px 52px rgba(0, 0, 0, .24);
}

.u-sustainability-page .u-shea-film-media video {
    width: 100%;
    height: 100%;
    margin: 0;
    border: 0;
    background: #080b09;
    object-fit: contain;
}

/* 06. RESPONSIBLE SOURCING ---------------------------------- */
.u-sustainability-sourcing {
    padding: var(--sus-section-space) 0;
    background: var(--sus-paper);
    border-bottom: 1px solid var(--sus-line);
}

.u-sustainability-sourcing-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.07fr) minmax(0, .93fr);
    gap: clamp(44px, 7vw, 105px);
    align-items: center;
}

.u-sustainability-sourcing-copy h2 {
    max-width: 740px;
    margin: 0 0 28px;
    color: var(--sus-bark);
    font-family: var(--sus-serif);
    font-size: clamp(3.1rem, 5.25vw, 5.85rem);
    font-weight: 500;
    line-height: .99;
    letter-spacing: -.055em;
}

.u-sustainability-sourcing-copy > p:not(.kicker) {
    max-width: 650px;
    margin-bottom: 21px;
    color: var(--sus-muted);
}

.u-sustainability-sourcing-visual {
    position: relative;
    min-height: clamp(480px, 47vw, 620px);
    overflow: hidden;
    background: var(--sus-bark);
    isolation: isolate;
}

.u-sustainability-sourcing-visual::before,
.u-sustainability-sourcing-visual::after {
    content: '';
    position: absolute;
    width: 440px;
    aspect-ratio: 1;
    border-radius: 50%;
    pointer-events: none;
}

.u-sustainability-sourcing-visual::before {
    top: -190px;
    right: -220px;
    border: 1px solid rgba(227, 166, 44, .2);
}

.u-sustainability-sourcing-visual::after {
    bottom: -260px;
    left: -250px;
    border: 1px solid rgba(235, 237, 228, .13);
}

.u-sustainability-sourcing-orb {
    position: absolute;
    z-index: 1;
    top: 50%;
    left: 50%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    width: min(76%, 380px);
    aspect-ratio: 1;
    padding: clamp(28px, 5%, 55px);
    transform: translate(-50%, -50%);
    border: 1px solid rgba(240, 200, 107, .52);
    border-radius: 50%;
}

.u-sustainability-sourcing-orb span {
    margin-bottom: 22px;
    color: var(--sus-amber-soft);
    font-size: .68rem;
    font-weight: 800;
    letter-spacing: .13em;
    text-transform: uppercase;
}

.u-sustainability-sourcing-orb strong {
    color: var(--sus-husk);
    font-family: var(--sus-serif);
    font-size: clamp(2.3rem, 3.65vw, 4.15rem);
    font-weight: 400;
    line-height: .99;
    letter-spacing: -.05em;
}

.u-sustainability-sourcing-lines {
    position: absolute;
    right: 0;
    bottom: 36px;
    left: 0;
    display: grid;
    gap: 15px;
    pointer-events: none;
}

.u-sustainability-sourcing-lines span {
    display: block;
    height: 1px;
    background: rgba(235, 237, 228, .1);
}

.u-sustainability-sourcing-lines span:nth-child(1) { width: 90%; }
.u-sustainability-sourcing-lines span:nth-child(2) { width: 67%; margin-left: auto; }
.u-sustainability-sourcing-lines span:nth-child(3) { width: 44%; }

/* 07. SHEA AND THE LANDSCAPE -------------------------------- */
.u-sustainability-landscape {
    padding: var(--sus-section-space) 0;
    background: #efede5;
    border-bottom: 1px solid var(--sus-line);
}

.u-sustainability-landscape-head,
.u-sustainability-principles-head {
    display: grid;
    grid-template-columns: minmax(180px, .28fr) minmax(0, 1fr);
    gap: clamp(35px, 7vw, 100px);
    margin-bottom: clamp(50px, 6.5vw, 90px);
}

.u-sustainability-landscape-head h2,
.u-sustainability-principles-head h2 {
    max-width: 950px;
    margin: 0;
    color: var(--sus-bark);
    font-family: var(--sus-serif);
    font-size: clamp(3.15rem, 5.4vw, 6rem);
    font-weight: 500;
    line-height: 1;
    letter-spacing: -.055em;
}

.u-sustainability-landscape-grid {
    display: grid;
    grid-template-columns: minmax(0, .88fr) minmax(0, 1.12fr);
    gap: clamp(40px, 7vw, 100px);
    padding-top: clamp(36px, 4vw, 55px);
    border-top: 1px solid var(--sus-line);
}

.u-sustainability-landscape-statement p {
    margin: 0;
    color: var(--sus-bark);
    font-family: var(--sus-serif);
    font-size: clamp(2.05rem, 3.5vw, 3.7rem);
    font-style: italic;
    line-height: 1.16;
    letter-spacing: -.035em;
}

.u-sustainability-landscape-copy { max-width: 690px; }
.u-sustainability-landscape-copy p { margin-bottom: 23px; color: var(--sus-muted); }

.u-sustainability-text-link {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    min-height: 44px;
    margin-top: 13px;
    padding-bottom: 5px;
    border-bottom: 1px solid rgba(19, 35, 26, .35);
    color: var(--sus-bark);
    font-size: .8rem;
    font-weight: 800;
    line-height: 1.5;
    letter-spacing: .035em;
    text-decoration: none;
    text-transform: uppercase;
    transition: border-color .2s ease;
}

.u-sustainability-text-link span {
    color: var(--sus-amber-ink);
    font-size: 1.2rem;
    transition: transform .2s ease;
}

.u-sustainability-text-link:hover { border-color: var(--sus-amber-ink); }
.u-sustainability-text-link:hover span { transform: translateX(4px); }

/* 08. WOMEN AND LIVELIHOODS --------------------------------- */
.u-sustainability-women {
    position: relative;
    padding: var(--sus-section-space) 0;
    overflow: hidden;
    background: var(--sus-bark);
    color: var(--sus-husk);
}

.u-sustainability-women::before {
    content: '';
    position: absolute;
    top: -330px;
    right: -360px;
    width: 690px;
    aspect-ratio: 1;
    border: 1px solid rgba(227, 166, 44, .19);
    border-radius: 50%;
    pointer-events: none;
}

.u-sustainability-women-grid {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr);
    gap: clamp(44px, 8vw, 120px);
    align-items: start;
}

.u-sustainability-women .u-sustainability-section-index > span {
    border-color: var(--sus-line-dark);
    color: var(--sus-amber-soft);
}

.u-sustainability-women .u-sustainability-section-index p { color: rgba(235, 237, 228, .83); }
.u-sustainability-women .kicker { color: var(--sus-amber-soft); }

.u-sustainability-women-heading h2 {
    max-width: 700px;
    margin: 0;
    color: var(--sus-husk);
    font-family: var(--sus-serif);
    font-size: clamp(3.15rem, 5.75vw, 6.8rem);
    font-weight: 500;
    line-height: .98;
    letter-spacing: -.06em;
}

.u-sustainability-women-copy { padding-top: clamp(10px, 4vw, 68px); }
.u-sustainability-women-copy p { margin-bottom: 24px; color: rgba(235, 237, 228, .83); }

.u-sustainability-women-copy .u-sustainability-lede {
    color: var(--sus-amber-soft);
    font-size: clamp(1.4rem, 2.3vw, 1.92rem);
    line-height: 1.52;
}

/* 09. MEASURABLE IMPACT ------------------------------------- */
.u-sustainability-impact {
    padding: var(--sus-section-space) 0;
    background: var(--sus-husk-2);
    border-bottom: 1px solid var(--sus-line);
}

.u-sustainability-impact-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr);
    gap: clamp(45px, 8vw, 115px);
    align-items: end;
}

.u-sustainability-impact-copy h2 {
    max-width: 770px;
    margin: 0 0 28px;
    color: var(--sus-bark);
    font-family: var(--sus-serif);
    font-size: clamp(3.15rem, 5.4vw, 5.85rem);
    font-weight: 500;
    line-height: 1;
    letter-spacing: -.055em;
}

.u-sustainability-impact-copy > p:not(.kicker) {
    max-width: 630px;
    margin-bottom: 0;
    color: var(--sus-muted);
}

.u-sustainability-impact-stat {
    position: relative;
    min-width: 0;
    padding: 44px 0 8px;
    border-top: 1px solid var(--sus-line);
}

.u-sustainability-impact-stat::before {
    content: '';
    position: absolute;
    top: -4px;
    left: 0;
    width: 58px;
    height: 4px;
    background: var(--sus-amber-ink);
}

.u-sustainability-impact-stat strong {
    display: block;
    margin-bottom: 24px;
    color: var(--sus-bark);
    font-family: var(--sus-serif);
    font-size: clamp(4.9rem, 8.2vw, 8.5rem);
    font-weight: 500;
    line-height: 1;
    letter-spacing: -.06em;
    font-variant-numeric: lining-nums tabular-nums;
}

.u-sustainability-impact-stat > span {
    display: block;
    margin-bottom: 10px;
    color: var(--sus-ink);
    font-size: .81rem;
    font-weight: 800;
    letter-spacing: .10em;
    text-transform: uppercase;
}

.u-sustainability-impact-stat p {
    max-width: 390px;
    margin: 0;
    color: var(--sus-muted);
    font-size: .95rem;
    line-height: 1.65;
}

/* 10. OUR PRINCIPLES ---------------------------------------- */
.u-sustainability-principles {
    padding: var(--sus-section-space) 0;
    background: var(--sus-paper);
}

.u-sustainability-principles-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    border-top: 1px solid var(--sus-line);
}

.u-sustainability-principle {
    min-height: 255px;
    padding: 30px 35px 34px 0;
    border-bottom: 1px solid var(--sus-line);
}

.u-sustainability-principle:nth-child(even) {
    padding-left: 35px;
    border-left: 1px solid var(--sus-line);
}

.u-sustainability-principle > span {
    display: block;
    margin-bottom: 33px;
    color: var(--sus-amber-ink);
    font-size: .74rem;
    font-weight: 800;
    letter-spacing: .12em;
}

.u-sustainability-principle h3 {
    max-width: 440px;
    margin: 0 0 14px;
    color: var(--sus-bark);
    font-family: var(--sus-serif);
    font-size: clamp(1.75rem, 2.65vw, 2.6rem);
    font-weight: 500;
    line-height: 1.11;
    letter-spacing: -.025em;
}

.u-sustainability-principle p {
    max-width: 510px;
    margin: 0;
    color: var(--sus-muted);
    font-size: .96rem;
    line-height: 1.7;
}

.u-sustainability-principle:last-child {
    padding-left: 22px;
    background: rgba(221, 225, 212, .45);
    border-left: 3px solid var(--sus-amber-ink);
}

/* 11. MANIFESTO --------------------------------------------- */
.u-sustainability-manifesto {
    position: relative;
    padding: clamp(100px, 12vw, 180px) 0;
    overflow: hidden;
    background: #293d2f;
    color: var(--sus-husk);
}

.u-sustainability-manifesto::before,
.u-sustainability-manifesto::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    border-radius: 50%;
    pointer-events: none;
}

.u-sustainability-manifesto::before {
    width: 770px;
    aspect-ratio: 1;
    border: 1px solid rgba(227, 166, 44, .18);
}

.u-sustainability-manifesto::after {
    width: 510px;
    aspect-ratio: 1;
    border: 1px solid rgba(235, 237, 228, .1);
}

.u-sustainability-manifesto-inner {
    position: relative;
    z-index: 1;
    text-align: center;
}

.u-sustainability-manifesto-small {
    margin: 0 0 37px;
    color: var(--sus-amber-soft);
    font-size: .73rem;
    font-weight: 800;
    letter-spacing: .15em;
    text-transform: uppercase;
}

.u-sustainability-manifesto blockquote {
    max-width: 1050px;
    margin: 0 auto;
    padding: 0;
    border: 0;
    color: var(--sus-husk);
    font-family: var(--sus-serif);
    font-size: clamp(3.25rem, 6.8vw, 7.1rem);
    font-style: italic;
    font-weight: 400;
    line-height: 1.07;
    letter-spacing: -.05em;
}

.u-sustainability-manifesto-mark {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 15px 34px;
    margin-top: 48px;
    color: rgba(235, 237, 228, .76);
    font-size: .7rem;
    font-weight: 800;
    letter-spacing: .14em;
}

.u-sustainability-manifesto-mark span { position: relative; }
.u-sustainability-manifesto-mark span + span::before {
    content: '';
    position: absolute;
    top: 50%;
    left: -19px;
    width: 4px;
    height: 4px;
    transform: translateY(-50%);
    border-radius: 50%;
    background: var(--sus-amber-soft);
}

/* 12. RESPONSIVE -------------------------------------------- */
@media (max-width: 1050px) {
    .u-sustainability-sourcing-grid,
    .u-sustainability-women-grid,
    .u-sustainability-impact-grid { gap: 45px; }

    .u-sustainability-sourcing-copy h2 { font-size: clamp(2.85rem, 5.4vw, 4.75rem); }
    .u-sustainability-pillar { padding-inline: 24px; }
}

@media (max-width: 900px) {
    .u-sustainability-page { --sus-section-space: clamp(75px, 9vw, 105px); }

    .u-sustainability-hero { min-height: 760px; }
    .u-sustainability-hero-overlay {
        background: linear-gradient(0deg, rgba(7, 18, 12, .95), rgba(7, 18, 12, .63) 60%, rgba(7, 18, 12, .24));
    }

    .u-sustainability-hero-inner { padding-top: 195px; padding-bottom: 130px; }

    .u-sustainability-intro-grid,
    .u-sustainability-sourcing-grid,
    .u-sustainability-landscape-head,
    .u-sustainability-landscape-grid,
    .u-sustainability-women-grid,
    .u-sustainability-impact-grid,
    .u-sustainability-principles-head { grid-template-columns: minmax(0, 1fr); }

    .u-sustainability-intro-grid,
    .u-sustainability-landscape-head,
    .u-sustainability-principles-head { gap: 24px; }

    .u-sustainability-pillars-grid { grid-template-columns: 1fr; }
    .u-sustainability-pillar { min-height: 285px; padding: 28px 32px 32px; }
    .u-sustainability-pillar + .u-sustainability-pillar {
        border-top: 1px solid var(--sus-line);
        border-left: 0;
    }
    .u-sustainability-pillar-label { margin-top: 35px; }

    .u-sustainability-sourcing-grid { gap: 46px; }
    .u-sustainability-sourcing-visual { min-height: 540px; }
    .u-sustainability-sourcing-orb strong { font-size: clamp(2.8rem, 5.5vw, 4.2rem); }
    .u-sustainability-women-copy { padding-top: 0; }
    .u-sustainability-impact-stat { max-width: 650px; }
    .u-sustainability-landscape-grid { gap: 30px; }
}

@media (max-width: 640px) {
    .u-sustainability-page {
        --sus-gutter: 22px;
        --sus-section-space: 74px;
    }

    .u-sustainability-page .kicker,
    .u-sustainability-eyebrow { font-size: .68rem; }

    .u-sustainability-hero { min-height: 700px; }
    .u-sustainability-hero-media img { object-position: 58% center; }
    .u-sustainability-hero-inner { padding-top: 160px; padding-bottom: 145px; }
    .u-sustainability-hero h1 {
        max-width: 100%;
        margin-bottom: 23px;
        font-size: clamp(3rem, 11.8vw, 5.1rem);
        letter-spacing: -.06em;
        line-height: .94;
    }
    .u-sustainability-hero-lede { font-size: clamp(1.3rem, 5vw, 1.65rem); }
    .u-sustainability-hero-actions { margin-top: 26px; }
    .u-sustainability-hero-actions .btn { min-height: 50px; }
    .u-sustainability-hero-index {
        right: var(--sus-gutter);
        bottom: 22px;
        left: var(--sus-gutter);
        justify-content: space-between;
        gap: 9px;
        font-size: .58rem;
        letter-spacing: .08em;
    }
    .u-sustainability-hero-index span + span { padding-left: 13px; }
    .u-sustainability-hero-index span + span::before { width: 6px; }

    .u-sustainability-section-index { gap: 12px; margin-bottom: 24px; }
    .u-sustainability-section-index > span { flex-basis: 38px; width: 38px; height: 38px; }

    .u-sustainability-intro-copy h2 {
        margin-bottom: 27px;
        font-size: clamp(3.4rem, 12.5vw, 5.25rem);
        line-height: .99;
    }

    .u-sustainability-pillars { padding: 65px 0; }
    .u-sustainability-pillar { min-height: 0; padding: 28px 0 34px; }
    .u-sustainability-pillar-label { margin-top: 34px; }
    .u-sustainability-pillar h3 { font-size: clamp(2.55rem, 11vw, 3.5rem); }

    .u-sustainability-page .u-sustainability-pillars + .u-shea-film { padding-top: 62px; }
    .u-sustainability-page .u-shea-film:has(+ .u-sustainability-sourcing) { padding-bottom: 62px; }
    .u-sustainability-page .u-shea-film { padding-block: 9px; }
    .u-sustainability-page .u-shea-film-media { border-radius: 9px; }

    .u-sustainability-sourcing-copy h2,
    .u-sustainability-landscape-head h2,
    .u-sustainability-women-heading h2,
    .u-sustainability-impact-copy h2,
    .u-sustainability-principles-head h2 {
        font-size: clamp(2.5rem, 10vw, 4.25rem);
        line-height: 1.04;
    }

    .u-sustainability-sourcing-visual { min-height: 410px; }
    .u-sustainability-sourcing-orb { width: min(75%, 315px); padding: 30px; }
    .u-sustainability-sourcing-orb span { margin-bottom: 14px; font-size: .6rem; }
    .u-sustainability-sourcing-orb strong { font-size: clamp(2rem, 8vw, 3.2rem); }
    .u-sustainability-landscape-grid { padding-top: 34px; }
    .u-sustainability-landscape-statement p { font-size: clamp(1.9rem, 8vw, 2.8rem); }
    .u-sustainability-women-copy .u-sustainability-lede { font-size: 1.45rem; }
    .u-sustainability-impact-stat { padding-top: 37px; }
    .u-sustainability-impact-stat strong { font-size: clamp(4.65rem, 20vw, 7rem); }

    .u-sustainability-principles-grid { grid-template-columns: 1fr; }
    .u-sustainability-principle,
    .u-sustainability-principle:nth-child(even) {
        min-height: 0;
        padding: 26px 0 32px;
        border-left: 0;
    }
    .u-sustainability-principle:last-child { padding-left: 17px; border-left: 3px solid var(--sus-amber-ink); }
    .u-sustainability-principle > span { margin-bottom: 22px; }

    .u-sustainability-manifesto { padding: 90px 0; }
    .u-sustainability-manifesto blockquote {
        font-size: clamp(2.5rem, 10.5vw, 5rem);
        line-height: 1.14;
    }
    .u-sustainability-manifesto-mark { gap: 12px 24px; margin-top: 36px; font-size: .62rem; }
    .u-sustainability-manifesto-mark span + span::before { left: -14px; }
}

@media (max-width: 390px) {
    .u-sustainability-page { --sus-gutter: 18px; }
    .u-sustainability-hero h1 { font-size: clamp(2.75rem, 11.4vw, 3.4rem); }
    .u-sustainability-hero-index span:last-child { display: none; }
    .u-sustainability-sourcing-visual { min-height: 355px; }
    .u-sustainability-sourcing-orb { width: 79%; padding: 24px; }
    .u-sustainability-sourcing-orb strong { font-size: 2rem; }
    .u-sustainability-manifesto blockquote { font-size: clamp(2.1rem, 10.3vw, 2.8rem); }
}

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












/* ============================================================
   UBUNTU COMPANY LIMITED
   SUSTAINABILITY PAGE

   File: /assets/css/sustainability.css

   Design:
   - Editorial layouts
   - Earthy Ubuntu brand palette
   - Responsive grids
   - Light video sections
   - Alternating video and text alignment
   ============================================================ */


/* ============================================================
   01. PAGE VARIABLES
   ============================================================ */

.u-sustainability-page {
    --sus-bark: var(--bark, #13231A);
    --sus-bark-2: var(--bark-2, #1C3124);

    --sus-amber: var(--amber, #E3A62C);
    --sus-amber-soft: var(--amber-soft, #F0C86B);
    --sus-amber-dark: #946009;

    --sus-husk: var(--husk, #EBEDE4);
    --sus-husk-2: var(--husk-2, #DDE1D4);

    --sus-leaf: var(--leaf, #5E7C41);
    --sus-ink: var(--ink, #16201A);
    --sus-muted: #526056;

    --sus-paper: #F7F6F0;
    --sus-paper-2: #F0EFE8;
    --sus-white: #FFFFFF;

    --sus-line: rgba(19, 35, 26, .14);
    --sus-line-dark: rgba(235, 237, 228, .18);

    --sus-serif: var(
        --serif,
        Georgia,
        "Times New Roman",
        serif
    );

    --sus-sans: var(
        --sans,
        Arial,
        Helvetica,
        sans-serif
    );

    --sus-container: 1240px;
    --sus-gutter: clamp(20px, 4vw, 58px);
    --sus-section-spacing: clamp(90px, 10vw, 155px);

    position: relative;
    width: 100%;
    overflow-x: clip;

    background: var(--sus-paper);
    color: var(--sus-ink);
    font-family: var(--sus-sans);

    -webkit-font-smoothing: antialiased;
}


/* ============================================================
   02. GLOBAL RESET
   ============================================================ */

.u-sustainability-page *,
.u-sustainability-page *::before,
.u-sustainability-page *::after {
    box-sizing: border-box;
}

.u-sustainability-page .wrap {
    width: min(
        calc(100% - (var(--sus-gutter) * 2)),
        var(--sus-container)
    );

    max-width: var(--sus-container);
    margin-left: auto;
    margin-right: auto;
}

.u-sustainability-page img,
.u-sustainability-page video {
    display: block;
    max-width: 100%;
}

.u-sustainability-page a {
    color: inherit;
}

.u-sustainability-page p {
    margin-top: 0;
}

.u-sustainability-page h1,
.u-sustainability-page h2,
.u-sustainability-page h3 {
    text-wrap: balance;
}

.u-sustainability-page :is(a, video):focus-visible {
    outline: 3px solid var(--sus-amber);
    outline-offset: 4px;
}

.u-sustainability-page .kicker,
.u-sustainability-eyebrow {
    margin: 0 0 18px;

    color: var(--sus-amber-dark);

    font-size: .72rem;
    font-weight: 800;
    line-height: 1.4;

    letter-spacing: .15em;
    text-transform: uppercase;
}

.u-sustainability-lede {
    color: var(--sus-ink);

    font-family: var(--sus-serif);
    font-size: clamp(1.4rem, 2.1vw, 1.9rem);
    line-height: 1.5;
}


/* ============================================================
   03. HERO
   ============================================================ */

.u-sustainability-hero {
    position: relative;

    display: flex;
    align-items: flex-end;

    min-height: clamp(680px, 92svh, 930px);

    padding: 0;
    overflow: hidden;

    background: var(--sus-bark);
    color: var(--sus-husk);

    isolation: isolate;
}

/* Remove the container restriction around hero media */

.u-sustainability-page .u-sustainability-hero > .wrap {
    width: 100%;
    max-width: none;

    margin: 0;
    padding: 0;
}


/* HERO IMAGE */

.u-sustainability-hero-media {
    position: absolute;
    inset: 0;

    z-index: 0;

    width: 100%;
    height: 100%;

    overflow: hidden;
}

.u-sustainability-hero-media img {
    width: 100%;
    height: 100%;

    object-fit: cover;
    object-position: center 45%;
}


/* HERO OVERLAY */

.u-sustainability-hero-overlay {
    position: absolute;
    inset: 0;

    z-index: 1;

    pointer-events: none;

    background:
        linear-gradient(
            90deg,
            rgba(10, 22, 15, .91) 0%,
            rgba(10, 22, 15, .70) 43%,
            rgba(10, 22, 15, .28) 78%,
            rgba(10, 22, 15, .14) 100%
        ),
        linear-gradient(
            to top,
            rgba(10, 20, 14, .68),
            transparent 58%
        );
}


/* HERO CONTENT */

.u-sustainability-hero-inner {
    position: relative;

    z-index: 2;

    padding-top: clamp(160px, 16vw, 225px);
    padding-bottom: clamp(135px, 12vw, 180px);
}

.u-sustainability-hero-copy {
    max-width: 850px;
}

.u-sustainability-eyebrow {
    color: var(--sus-amber-soft);
}

.u-sustainability-hero h1 {
    max-width: 12ch;

    margin: 0 0 30px;

    color: var(--sus-husk);

    font-family: var(--sus-serif);
    font-size: clamp(4.2rem, 8vw, 8rem);
    font-weight: 500;

    line-height: .88;
    letter-spacing: -.06em;
}

.u-sustainability-hero-lede {
    max-width: 580px;

    margin: 0;

    color: var(--sus-amber-soft);

    font-family: var(--sus-serif);
    font-size: clamp(1.5rem, 2.4vw, 2.3rem);
    font-style: italic;

    line-height: 1.3;
}


/* HERO BUTTON */

.u-sustainability-hero-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;

    gap: 12px;
    margin-top: 36px;
}

.u-sustainability-hero-actions .btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-height: 52px;
    padding: 14px 28px;

    border-radius: 4px;

    font-size: .82rem;
    font-weight: 800;

    text-decoration: none;

    transition:
        transform .25s ease,
        background-color .25s ease;
}

.u-sustainability-hero-actions .btn-amber {
    background: var(--sus-amber);
    color: var(--sus-bark);
}

.u-sustainability-hero-actions .btn:hover {
    transform: translateY(-3px);
}


/* HERO INDEX */

.u-sustainability-hero-index {
    position: absolute;

    z-index: 3;

    right: var(--sus-gutter);
    bottom: 30px;

    display: flex;
    align-items: center;

    gap: 25px;

    color: rgba(235, 237, 228, .75);

    font-size: .65rem;
    font-weight: 700;

    letter-spacing: .13em;
    text-transform: uppercase;
}

.u-sustainability-hero-index span + span {
    position: relative;
    padding-left: 25px;
}

.u-sustainability-hero-index span + span::before {
    content: "";

    position: absolute;
    left: 0;
    top: 50%;

    width: 13px;
    height: 1px;

    background: currentColor;
}


/* ============================================================
   04. SHARED SECTION INDEX
   ============================================================ */

.u-sustainability-section-index {
    display: flex;
    align-items: center;

    gap: 16px;
    margin-bottom: 32px;
}

.u-sustainability-section-index > span {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    flex: 0 0 42px;

    width: 42px;
    height: 42px;

    border: 1px solid var(--sus-line);
    border-radius: 50%;

    color: var(--sus-amber-dark);

    font-size: .7rem;
    font-weight: 800;
}

.u-sustainability-section-index p {
    margin: 0;

    color: var(--sus-muted);

    font-size: .7rem;
    font-weight: 700;

    letter-spacing: .12em;
    text-transform: uppercase;
}


/* ============================================================
   05. OUR APPROACH
   ============================================================ */

.u-sustainability-intro {
    position: relative;

    padding: var(--sus-section-spacing) 0;

    overflow: hidden;

    background: var(--sus-paper);

    border-bottom: 1px solid var(--sus-line);
}

.u-sustainability-intro::after {
    content: "";

    position: absolute;

    right: -220px;
    bottom: -300px;

    width: min(550px, 60vw);
    aspect-ratio: 1;

    border: 1px solid rgba(94, 124, 65, .16);
    border-radius: 50%;

    pointer-events: none;
}

.u-sustainability-intro-grid {
    position: relative;
    z-index: 1;

    display: grid;

    grid-template-columns:
        minmax(140px, .23fr)
        minmax(0, 1fr);

    gap: clamp(45px, 7vw, 110px);

    align-items: start;
}

.u-sustainability-intro-copy {
    max-width: 900px;
}

.u-sustainability-intro-copy h2 {
    margin: 0 0 36px;

    color: var(--sus-bark);

    font-family: var(--sus-serif);
    font-size: clamp(4.2rem, 7.3vw, 7.9rem);
    font-weight: 500;

    line-height: .93;
    letter-spacing: -.06em;
}

.u-sustainability-intro-copy > p:not(.kicker) {
    max-width: 700px;

    margin-bottom: 25px;

    color: var(--sus-muted);

    font-size: 1rem;
    line-height: 1.8;
}

.u-sustainability-intro-copy .u-sustainability-lede {
    color: var(--sus-ink);
    font-size: clamp(1.45rem, 2.2vw, 1.9rem);
    line-height: 1.55;
}


/* ============================================================
   06. PROTECT / EMPOWER / GROW
   ============================================================ */

.u-sustainability-pillars {
    padding: clamp(80px, 9vw, 130px) 0;

    background: #E5E8DE;

    border-bottom: 1px solid var(--sus-line);
}

.u-sustainability-pillars-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));

    border-top: 1px solid var(--sus-line);
    border-bottom: 1px solid var(--sus-line);
}

.u-sustainability-pillar {
    position: relative;

    display: flex;
    flex-direction: column;

    min-height: 420px;

    padding: 36px clamp(22px, 3vw, 40px) 42px;

    overflow: hidden;

    transition: background-color .3s ease;
}

.u-sustainability-pillar + .u-sustainability-pillar {
    border-left: 1px solid var(--sus-line);
}

.u-sustainability-pillar:hover {
    background: rgba(255, 255, 255, .40);
}

.u-sustainability-pillar-number {
    display: block;

    margin-bottom: auto;

    color: var(--sus-amber-dark);

    font-family: var(--sus-serif);
    font-size: 1.5rem;
}

.u-sustainability-pillar-label {
    margin: 75px 0 12px;

    color: var(--sus-muted);

    font-size: .7rem;
    font-weight: 700;

    letter-spacing: .13em;
    text-transform: uppercase;
}

.u-sustainability-pillar h3 {
    margin: 0 0 20px;

    color: var(--sus-bark);

    font-family: var(--sus-serif);
    font-size: clamp(2.7rem, 4vw, 4.3rem);
    font-weight: 500;

    line-height: 1;
    letter-spacing: -.05em;
}

.u-sustainability-pillar > p:last-child {
    max-width: 380px;

    margin: 0;

    color: var(--sus-muted);

    font-size: .95rem;
    line-height: 1.75;
}


/* ============================================================
   07. SUSTAINABILITY VIDEO FEATURES

   VIDEO DESIGN:
   - Light cream background
   - Text and video side by side
   - Alternate alignment
   - White video frame
   - Soft shadow
   - Responsive mobile presentation
   ============================================================ */

.u-sustainability-film {
    position: relative;

    width: 100%;

    padding: clamp(75px, 9vw, 135px) 0;

    overflow: hidden;

    background: var(--sus-paper);

    border-top: 1px solid var(--sus-line);
    border-bottom: 1px solid var(--sus-line);
}


/* VIDEO SECTION LAYOUT */

.u-sustainability-film-inner {
    display: grid;

    grid-template-columns:
        minmax(0, .78fr)
        minmax(0, 1.22fr);

    align-items: center;

    gap: clamp(45px, 6vw, 95px);
}


/* ALTERNATING VIDEO LAYOUT */

.u-sustainability-film--reverse
.u-sustainability-film-inner {
    grid-template-columns:
        minmax(0, 1.22fr)
        minmax(0, .78fr);
}

.u-sustainability-film--reverse
.u-sustainability-film-card {
    order: 1;
}

.u-sustainability-film--reverse
.u-sustainability-film-copy {
    order: 2;
}


/* VIDEO TEXT CONTENT */

.u-sustainability-film-copy {
    min-width: 0;
}

.u-sustainability-film-eyebrow {
    display: flex;
    align-items: center;

    gap: 14px;

    margin: 0 0 26px;

    color: var(--sus-amber-dark);

    font-size: .72rem;
    font-weight: 800;

    line-height: 1.4;
    letter-spacing: .13em;
    text-transform: uppercase;
}

.u-sustainability-film-eyebrow span {
    color: #A29F94;
}

.u-sustainability-film-copy h2 {
    max-width: 13ch;

    margin: 0 0 25px;

    color: var(--sus-bark);

    font-family: var(--sus-serif);
    font-size: clamp(2.75rem, 4.4vw, 5rem);
    font-weight: 500;

    line-height: 1.04;
    letter-spacing: -.05em;

    overflow-wrap: break-word;
}

.u-sustainability-film-description {
    max-width: 430px;

    margin: 0;

    color: var(--sus-muted);

    font-size: clamp(1rem, 1.2vw, 1.13rem);
    line-height: 1.8;
}

.u-sustainability-film-rule {
    display: block;

    width: 80px;
    height: 3px;

    margin-top: 35px;

    background: var(--sus-amber);
}


/* VIDEO FRAME */

.u-sustainability-film-card {
    position: relative;

    min-width: 0;

    margin: 0;
    padding: 12px;

    overflow: hidden;

    background: var(--sus-white);

    border: 1px solid rgba(19, 35, 26, .10);
    border-radius: 17px;

    box-shadow:
        0 16px 40px rgba(19, 35, 26, .08),
        0 34px 75px rgba(19, 35, 26, .06);

    transition:
        transform .35s ease,
        box-shadow .35s ease;
}

.u-sustainability-film-card:hover {
    transform: translateY(-5px);

    box-shadow:
        0 22px 55px rgba(19, 35, 26, .12);
}


/* VIDEO PLAYER */

.u-sustainability-film-media {
    position: relative;

    width: 100%;
    aspect-ratio: 16 / 9;

    overflow: hidden;

    background: #111713;

    border-radius: 10px;
}

.u-sustainability-film-media video {
    display: block;

    width: 100%;
    height: 100%;

    margin: 0;
    padding: 0;

    background: #111713;

    object-fit: contain;
    object-position: center;

    border: 0;
}


/* VIDEO CAPTION */

.u-sustainability-film-meta {
    display: flex;
    align-items: center;
    justify-content: space-between;

    flex-wrap: wrap;

    gap: 10px 22px;

    padding: 17px 7px 5px;

    color: var(--sus-muted);

    font-size: .69rem;
    font-weight: 700;

    letter-spacing: .10em;
    text-transform: uppercase;
}


/* ============================================================
   08. RESPONSIBLE SOURCING
   ============================================================ */

.u-sustainability-sourcing {
    padding: var(--sus-section-spacing) 0;

    background: var(--sus-paper);

    border-bottom: 1px solid var(--sus-line);
}

.u-sustainability-sourcing-grid {
    display: grid;

    grid-template-columns:
        minmax(0, 1.08fr)
        minmax(0, .92fr);

    align-items: center;

    gap: clamp(50px, 8vw, 125px);
}

.u-sustainability-sourcing-copy h2 {
    max-width: 780px;

    margin: 0 0 32px;

    color: var(--sus-bark);

    font-family: var(--sus-serif);
    font-size: clamp(3.3rem, 5.6vw, 6rem);
    font-weight: 500;

    line-height: .98;
    letter-spacing: -.055em;
}

.u-sustainability-sourcing-copy > p:not(.kicker) {
    max-width: 680px;

    margin-bottom: 23px;

    color: var(--sus-muted);

    font-size: 1rem;
    line-height: 1.8;
}

.u-sustainability-sourcing-copy .u-sustainability-lede {
    color: var(--sus-ink);
}


/* SOURCING VISUAL */

.u-sustainability-sourcing-visual {
    position: relative;

    min-height: 610px;

    overflow: hidden;

    background: var(--sus-bark);
}

.u-sustainability-sourcing-visual::before {
    content: "";

    position: absolute;

    top: -200px;
    right: -240px;

    width: 500px;
    height: 500px;

    border: 1px solid rgba(227, 166, 44, .20);
    border-radius: 50%;
}

.u-sustainability-sourcing-visual::after {
    content: "";

    position: absolute;

    bottom: -120px;
    left: -130px;

    width: 260px;
    height: 260px;

    border: 1px solid rgba(235, 237, 228, .12);
    border-radius: 50%;
}


/* SOURCING ORB */

.u-sustainability-sourcing-orb {
    position: absolute;

    top: 50%;
    left: 50%;

    z-index: 2;

    display: flex;
    flex-direction: column;
    justify-content: center;

    width: min(76%, 390px);
    aspect-ratio: 1;

    padding: clamp(25px, 5vw, 55px);

    transform: translate(-50%, -50%);

    border: 1px solid rgba(240, 200, 107, .45);
    border-radius: 50%;
}

.u-sustainability-sourcing-orb span {
    margin-bottom: 25px;

    color: var(--sus-amber-soft);

    font-size: .66rem;
    font-weight: 800;

    letter-spacing: .15em;
    text-transform: uppercase;
}

.u-sustainability-sourcing-orb strong {
    color: var(--sus-husk);

    font-family: var(--sus-serif);
    font-size: clamp(2.7rem, 4vw, 4.5rem);
    font-weight: 400;

    line-height: .97;
    letter-spacing: -.05em;
}


/* SOURCING DECORATIVE LINES */

.u-sustainability-sourcing-lines {
    position: absolute;

    right: 0;
    bottom: 40px;
    left: 0;

    display: grid;
    gap: 14px;
}

.u-sustainability-sourcing-lines span {
    display: block;

    height: 1px;

    background: rgba(235, 237, 228, .10);
}

.u-sustainability-sourcing-lines span:nth-child(1) {
    width: 90%;
}

.u-sustainability-sourcing-lines span:nth-child(2) {
    width: 68%;
    margin-left: auto;
}

.u-sustainability-sourcing-lines span:nth-child(3) {
    width: 45%;
}


/* ============================================================
   09. SHEA & THE LANDSCAPE
   ============================================================ */

.u-sustainability-landscape {
    padding: var(--sus-section-spacing) 0;

    background: #EFEDE5;

    border-bottom: 1px solid var(--sus-line);
}

.u-sustainability-landscape-head {
    display: grid;

    grid-template-columns:
        minmax(180px, .28fr)
        minmax(0, 1fr);

    gap: clamp(40px, 7vw, 100px);

    margin-bottom: clamp(65px, 8vw, 110px);
}

.u-sustainability-landscape-head h2 {
    max-width: 950px;

    margin: 0;

    color: var(--sus-bark);

    font-family: var(--sus-serif);
    font-size: clamp(3.4rem, 5.9vw, 6.3rem);
    font-weight: 500;

    line-height: 1;
    letter-spacing: -.055em;
}

.u-sustainability-landscape-grid {
    display: grid;

    grid-template-columns:
        minmax(0, .86fr)
        minmax(0, 1.14fr);

    gap: clamp(50px, 8vw, 130px);

    align-items: start;

    padding-top: 55px;

    border-top: 1px solid var(--sus-line);
}

.u-sustainability-landscape-statement p {
    margin: 0;

    color: var(--sus-bark);

    font-family: var(--sus-serif);
    font-size: clamp(2.3rem, 3.8vw, 4rem);
    font-style: italic;

    line-height: 1.18;
    letter-spacing: -.035em;
}

.u-sustainability-landscape-copy {
    max-width: 700px;
}

.u-sustainability-landscape-copy p {
    margin: 0 0 25px;

    color: var(--sus-muted);

    font-size: 1rem;
    line-height: 1.8;
}


/* SHEA LINK */

.u-sustainability-text-link {
    display: inline-flex;
    align-items: center;

    gap: 12px;

    min-height: 44px;

    margin-top: 16px;
    padding-bottom: 6px;

    border-bottom: 1px solid rgba(19, 35, 26, .35);

    color: var(--sus-bark);

    font-size: .78rem;
    font-weight: 800;

    letter-spacing: .05em;
    line-height: 1.5;

    text-decoration: none;
    text-transform: uppercase;

    transition: border-color .25s ease;
}

.u-sustainability-text-link span {
    color: var(--sus-amber-dark);

    font-size: 1.2rem;

    transition: transform .25s ease;
}

.u-sustainability-text-link:hover {
    border-color: var(--sus-amber);
}

.u-sustainability-text-link:hover span {
    transform: translateX(5px);
}


/* ============================================================
   10. WOMEN & LIVELIHOODS
   ============================================================ */

.u-sustainability-women {
    position: relative;

    padding: var(--sus-section-spacing) 0;

    overflow: hidden;

    background: var(--sus-bark);
    color: var(--sus-husk);

    border-bottom: 1px solid var(--sus-line-dark);
}

.u-sustainability-women::before {
    content: "";

    position: absolute;

    top: -280px;
    right: -350px;

    width: 680px;
    height: 680px;

    border: 1px solid rgba(227, 166, 44, .16);
    border-radius: 50%;
}

.u-sustainability-women-grid {
    position: relative;

    z-index: 2;

    display: grid;

    grid-template-columns:
        minmax(0, 1.08fr)
        minmax(0, .92fr);

    gap: clamp(60px, 9vw, 135px);

    align-items: start;
}

.u-sustainability-women
.u-sustainability-section-index > span {
    border-color: rgba(235, 237, 228, .25);
    color: var(--sus-amber-soft);
}

.u-sustainability-women
.u-sustainability-section-index p {
    color: rgba(235, 237, 228, .8);
}

.u-sustainability-women .kicker {
    color: var(--sus-amber-soft);
}

.u-sustainability-women-heading h2 {
    max-width: 710px;

    margin: 0;

    color: var(--sus-husk);

    font-family: var(--sus-serif);
    font-size: clamp(3.8rem, 6.4vw, 7rem);
    font-weight: 500;

    line-height: .97;
    letter-spacing: -.06em;
}

.u-sustainability-women-copy {
    padding-top: clamp(20px, 5vw, 80px);
}

.u-sustainability-women-copy p {
    margin: 0 0 26px;

    color: rgba(235, 237, 228, .84);

    font-size: 1rem;
    line-height: 1.8;
}

.u-sustainability-women-copy .u-sustainability-lede {
    color: var(--sus-amber-soft);

    font-size: clamp(1.45rem, 2.2vw, 1.95rem);
    line-height: 1.5;
}


/* ============================================================
   11. IMPACT
   ============================================================ */

.u-sustainability-impact {
    padding: var(--sus-section-spacing) 0;

    background: var(--sus-husk-2);

    border-bottom: 1px solid var(--sus-line);
}

.u-sustainability-impact-grid {
    display: grid;

    grid-template-columns:
        minmax(0, 1.08fr)
        minmax(0, .92fr);

    gap: clamp(55px, 9vw, 140px);

    align-items: end;
}

.u-sustainability-impact-copy h2 {
    max-width: 780px;

    margin: 0 0 28px;

    color: var(--sus-bark);

    font-family: var(--sus-serif);
    font-size: clamp(3.4rem, 5.8vw, 6rem);
    font-weight: 500;

    line-height: .98;
    letter-spacing: -.05em;
}

.u-sustainability-impact-copy > p:not(.kicker) {
    max-width: 650px;

    margin: 0;

    color: var(--sus-muted);

    font-size: 1rem;
    line-height: 1.8;
}


/* IMPACT STATISTIC */

.u-sustainability-impact-stat {
    position: relative;
    min-width: 0;

    padding: 50px 0 15px;

    border-top: 1px solid rgba(19, 35, 26, .25);
}

.u-sustainability-impact-stat::before {
    content: "";

    position: absolute;

    top: -5px;
    left: 0;

    width: 58px;
    height: 5px;

    background: var(--sus-amber-dark);
}

.u-sustainability-impact-stat strong {
    display: block;

    margin-bottom: 24px;

    color: var(--sus-bark);

    font-family: var(--sus-serif);
    font-size: clamp(5rem, 8.5vw, 9rem);
    font-weight: 500;

    line-height: .95;
    letter-spacing: -.06em;

    font-variant-numeric: lining-nums tabular-nums;
}

.u-sustainability-impact-stat > span {
    display: block;

    margin-bottom: 13px;

    color: var(--sus-ink);

    font-size: .78rem;
    font-weight: 800;

    letter-spacing: .10em;
    text-transform: uppercase;
}

.u-sustainability-impact-stat p {
    max-width: 380px;

    margin: 0;

    color: var(--sus-muted);

    font-size: .95rem;
    line-height: 1.7;
}


/* ============================================================
   12. OUR PRINCIPLES
   ============================================================ */

.u-sustainability-principles {
    padding: var(--sus-section-spacing) 0;

    background: var(--sus-paper);

    border-bottom: 1px solid var(--sus-line);
}

.u-sustainability-principles-head {
    display: grid;

    grid-template-columns:
        minmax(180px, .28fr)
        minmax(0, 1fr);

    gap: clamp(40px, 7vw, 100px);

    margin-bottom: clamp(70px, 8vw, 110px);
}

.u-sustainability-principles-head h2 {
    max-width: 900px;

    margin: 0;

    color: var(--sus-bark);

    font-family: var(--sus-serif);
    font-size: clamp(3.4rem, 5.9vw, 6.3rem);
    font-weight: 500;

    line-height: 1;
    letter-spacing: -.055em;
}


/* PRINCIPLES GRID */

.u-sustainability-principles-grid {
    display: grid;

    grid-template-columns: repeat(2, minmax(0, 1fr));

    border-top: 1px solid var(--sus-line);
}

.u-sustainability-principle {
    min-height: 270px;

    padding: 35px 40px 40px 0;

    border-bottom: 1px solid var(--sus-line);
}

.u-sustainability-principle:nth-child(even) {
    padding-left: 40px;

    border-left: 1px solid var(--sus-line);
}

.u-sustainability-principle > span {
    display: block;

    margin-bottom: 38px;

    color: var(--sus-amber-dark);

    font-size: .7rem;
    font-weight: 800;

    letter-spacing: .12em;
}

.u-sustainability-principle h3 {
    max-width: 450px;

    margin: 0 0 18px;

    color: var(--sus-bark);

    font-family: var(--sus-serif);
    font-size: clamp(1.8rem, 2.65vw, 2.7rem);
    font-weight: 500;

    line-height: 1.1;
    letter-spacing: -.025em;
}

.u-sustainability-principle p {
    max-width: 550px;

    margin: 0;

    color: var(--sus-muted);

    font-size: .95rem;
    line-height: 1.75;
}

.u-sustainability-principle:last-child {
    padding-left: 22px;

    background: rgba(221, 225, 212, .38);

    border-left: 3px solid var(--sus-amber-dark);
}


/* ============================================================
   13. MANIFESTO
   ============================================================ */

.u-sustainability-manifesto {
    position: relative;

    padding: clamp(115px, 13vw, 195px) 0;

    overflow: hidden;

    background: #293D2F;
    color: var(--sus-husk);
}

.u-sustainability-manifesto::before,
.u-sustainability-manifesto::after {
    content: "";

    position: absolute;

    top: 50%;
    left: 50%;

    transform: translate(-50%, -50%);

    border-radius: 50%;

    pointer-events: none;
}

.u-sustainability-manifesto::before {
    width: 760px;
    height: 760px;

    border: 1px solid rgba(227, 166, 44, .16);
}

.u-sustainability-manifesto::after {
    width: 510px;
    height: 510px;

    border: 1px solid rgba(235, 237, 228, .09);
}

.u-sustainability-manifesto-inner {
    position: relative;
    z-index: 2;

    text-align: center;
}

.u-sustainability-manifesto-small {
    margin: 0 0 42px;

    color: var(--sus-amber-soft);

    font-size: .7rem;
    font-weight: 700;

    letter-spacing: .16em;
    text-transform: uppercase;
}

.u-sustainability-manifesto blockquote {
    max-width: 1030px;

    margin: 0 auto;
    padding: 0;

    border: 0;

    color: var(--sus-husk);

    font-family: var(--sus-serif);
    font-size: clamp(3.5rem, 6.7vw, 7.3rem);
    font-style: italic;
    font-weight: 400;

    line-height: 1.07;
    letter-spacing: -.05em;
}

.u-sustainability-manifesto-mark {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;

    gap: 15px 34px;

    margin-top: 55px;

    color: rgba(235, 237, 228, .76);

    font-size: .65rem;
    font-weight: 700;

    letter-spacing: .15em;
}

.u-sustainability-manifesto-mark span {
    position: relative;
}

.u-sustainability-manifesto-mark span + span::before {
    content: "";

    position: absolute;

    top: 50%;
    left: -19px;

    width: 4px;
    height: 4px;

    transform: translateY(-50%);

    border-radius: 50%;

    background: var(--sus-amber-soft);
}


/* ============================================================
   14. SMALL DESKTOP
   ============================================================ */

@media (max-width: 1100px) {

    .u-sustainability-film-inner {
        grid-template-columns:
            minmax(0, .85fr)
            minmax(0, 1.15fr);

        gap: 42px;
    }

    .u-sustainability-film--reverse
    .u-sustainability-film-inner {
        grid-template-columns:
            minmax(0, 1.15fr)
            minmax(0, .85fr);
    }

    .u-sustainability-film-copy h2 {
        font-size: clamp(2.5rem, 4.2vw, 4.2rem);
    }

    .u-sustainability-sourcing-grid,
    .u-sustainability-women-grid,
    .u-sustainability-impact-grid {
        gap: 55px;
    }

    .u-sustainability-pillar {
        padding-inline: 25px;
    }

    .u-sustainability-sourcing-visual {
        min-height: 550px;
    }

}


/* ============================================================
   15. TABLET
   ============================================================ */

@media (max-width: 900px) {

    .u-sustainability-page {
        --sus-section-spacing: 95px;
    }

    /* HERO */

    .u-sustainability-hero {
        min-height: 780px;
    }

    .u-sustainability-hero-overlay {
        background:
            linear-gradient(
                to top,
                rgba(10, 22, 15, .96) 0%,
                rgba(10, 22, 15, .70) 60%,
                rgba(10, 22, 15, .25) 100%
            );
    }

    .u-sustainability-hero-inner {
        padding-top: 180px;
        padding-bottom: 135px;
    }

    /* CONTENT GRIDS */

    .u-sustainability-intro-grid,
    .u-sustainability-sourcing-grid,
    .u-sustainability-landscape-head,
    .u-sustainability-landscape-grid,
    .u-sustainability-women-grid,
    .u-sustainability-impact-grid,
    .u-sustainability-principles-head {
        grid-template-columns: minmax(0, 1fr);
    }

    .u-sustainability-intro-grid,
    .u-sustainability-landscape-head,
    .u-sustainability-principles-head {
        gap: 25px;
    }

    /* PILLARS */

    .u-sustainability-pillars-grid {
        grid-template-columns: 1fr;
    }

    .u-sustainability-pillar {
        min-height: 320px;
        padding: 30px 35px 35px;
    }

    .u-sustainability-pillar + .u-sustainability-pillar {
        border-left: 0;
        border-top: 1px solid var(--sus-line);
    }

    .u-sustainability-pillar-label {
        margin-top: 45px;
    }

    /* VIDEO FEATURES */

    .u-sustainability-film {
        padding: 80px 0;
    }

    .u-sustainability-film-inner,
    .u-sustainability-film--reverse
    .u-sustainability-film-inner {
        grid-template-columns: minmax(0, 1fr);
        gap: 38px;
    }

    .u-sustainability-film--reverse
    .u-sustainability-film-copy,
    .u-sustainability-film--reverse
    .u-sustainability-film-card {
        order: initial;
    }

    .u-sustainability-film-copy h2 {
        max-width: 700px;
        font-size: clamp(2.8rem, 6vw, 4.5rem);
    }

    .u-sustainability-film-description {
        max-width: 620px;
    }

    .u-sustainability-film-rule {
        margin-top: 25px;
    }

    /* SOURCING */

    .u-sustainability-sourcing-visual {
        min-height: 550px;
    }

    .u-sustainability-sourcing-orb strong {
        font-size: clamp(3rem, 5.5vw, 4.5rem);
    }

    /* WOMEN */

    .u-sustainability-women-copy {
        padding-top: 0;
    }

    /* IMPACT */

    .u-sustainability-impact-stat {
        max-width: 620px;
    }

    /* LANDSCAPE */

    .u-sustainability-landscape-grid {
        gap: 35px;
    }

}


/* ============================================================
   16. MOBILE
   ============================================================ */

@media (max-width: 640px) {

    .u-sustainability-page {
        --sus-gutter: 22px;
        --sus-section-spacing: 78px;
    }

    /* HERO */

    .u-sustainability-hero {
        min-height: 710px;
    }

    .u-sustainability-hero-media img {
        object-position: 58% center;
    }

    .u-sustainability-hero-inner {
        padding-top: 145px;
        padding-bottom: 145px;
    }

    .u-sustainability-hero h1 {
        max-width: 100%;

        margin-bottom: 25px;

        font-size: clamp(3rem, 11.6vw, 5rem);
        line-height: .96;
    }

    .u-sustainability-hero-lede {
        font-size: clamp(1.3rem, 5vw, 1.7rem);
    }

    .u-sustainability-hero-actions {
        margin-top: 28px;
    }

    .u-sustainability-hero-actions .btn {
        min-height: 50px;
    }

    .u-sustainability-hero-index {
        right: var(--sus-gutter);
        bottom: 22px;
        left: var(--sus-gutter);

        justify-content: space-between;

        gap: 12px;

        font-size: .58rem;
    }

    .u-sustainability-hero-index span + span {
        padding-left: 15px;
    }

    .u-sustainability-hero-index span + span::before {
        width: 7px;
    }

    /* SHARED */

    .u-sustainability-page .kicker,
    .u-sustainability-eyebrow {
        font-size: .68rem;
    }

    .u-sustainability-section-index {
        gap: 12px;
        margin-bottom: 25px;
    }

    .u-sustainability-section-index > span {
        flex-basis: 38px;
        width: 38px;
        height: 38px;
    }

    /* INTRO */

    .u-sustainability-intro-copy h2 {
        margin-bottom: 30px;

        font-size: clamp(3.3rem, 12.5vw, 5.3rem);
        line-height: .98;
    }

    /* PILLARS */

    .u-sustainability-pillars {
        padding: 68px 0;
    }

    .u-sustainability-pillar {
        min-height: 0;
        padding: 30px 0 38px;
    }

    .u-sustainability-pillar-label {
        margin-top: 42px;
    }

    .u-sustainability-pillar h3 {
        font-size: 3rem;
    }

    /* VIDEO FEATURES */

    .u-sustainability-film {
        padding: 62px 0;
    }

    .u-sustainability-film-inner {
        gap: 28px;
    }

    .u-sustainability-film-eyebrow {
        margin-bottom: 18px;
    }

    .u-sustainability-film-copy h2 {
        margin-bottom: 19px;

        font-size: clamp(2.3rem, 9vw, 3.6rem);
        line-height: 1.07;
    }

    .u-sustainability-film-description {
        font-size: .98rem;
        line-height: 1.75;
    }

    .u-sustainability-film-rule {
        margin-top: 22px;
    }

    .u-sustainability-film-card {
        padding: 8px;
        border-radius: 12px;
    }

    .u-sustainability-film-media {
        border-radius: 7px;
    }

    .u-sustainability-film-meta {
        gap: 8px;
        padding: 14px 5px 5px;
        font-size: .58rem;
    }

    /* SECTION HEADINGS */

    .u-sustainability-sourcing-copy h2,
    .u-sustainability-landscape-head h2,
    .u-sustainability-principles-head h2,
    .u-sustainability-women-heading h2,
    .u-sustainability-impact-copy h2 {
        font-size: clamp(2.65rem, 10vw, 4.35rem);
        line-height: 1.03;
    }

    /* SOURCING */

    .u-sustainability-sourcing-visual {
        min-height: 430px;
    }

    .u-sustainability-sourcing-orb {
        width: min(78%, 330px);
        padding: 35px;
    }

    .u-sustainability-sourcing-orb span {
        margin-bottom: 18px;
        font-size: .60rem;
    }

    .u-sustainability-sourcing-orb strong {
        font-size: clamp(2.1rem, 8vw, 3.4rem);
    }

    /* LANDSCAPE */

    .u-sustainability-landscape-grid {
        padding-top: 35px;
    }

    .u-sustainability-landscape-statement p {
        font-size: clamp(2rem, 8vw, 2.8rem);
    }

    /* WOMEN */

    .u-sustainability-women-copy
    .u-sustainability-lede {
        font-size: 1.45rem;
    }

    /* IMPACT */

    .u-sustainability-impact-stat {
        padding-top: 40px;
    }

    .u-sustainability-impact-stat strong {
        font-size: clamp(4.8rem, 20vw, 7rem);
    }

    /* PRINCIPLES */

    .u-sustainability-principles-grid {
        grid-template-columns: 1fr;
    }

    .u-sustainability-principle,
    .u-sustainability-principle:nth-child(even) {
        min-height: 0;

        padding: 28px 0 35px;

        border-left: 0;
    }

    .u-sustainability-principle:last-child {
        padding-left: 18px;
        border-left: 3px solid var(--sus-amber-dark);
    }

    .u-sustainability-principle > span {
        margin-bottom: 25px;
    }

    /* MANIFESTO */

    .u-sustainability-manifesto {
        padding: 95px 0;
    }

    .u-sustainability-manifesto blockquote {
        font-size: clamp(2.5rem, 10.5vw, 5rem);
        line-height: 1.15;
    }

    .u-sustainability-manifesto-mark {
        gap: 12px 26px;
        margin-top: 40px;
        font-size: .60rem;
    }

    .u-sustainability-manifesto-mark span + span::before {
        left: -15px;
    }

}


/* ============================================================
   17. VERY SMALL SCREENS
   ============================================================ */

@media (max-width: 390px) {

    .u-sustainability-page {
        --sus-gutter: 18px;
    }

    .u-sustainability-hero h1 {
        font-size: clamp(2.7rem, 11.3vw, 3.4rem);
    }

    .u-sustainability-hero-index span:last-child {
        display: none;
    }

    .u-sustainability-sourcing-visual {
        min-height: 370px;
    }

    .u-sustainability-sourcing-orb {
        width: 82%;
        padding: 25px;
    }

    .u-sustainability-sourcing-orb strong {
        font-size: 2.05rem;
    }

    .u-sustainability-manifesto blockquote {
        font-size: clamp(2.1rem, 10.2vw, 2.9rem);
    }

}


/* ============================================================
   18. REDUCED MOTION ACCESSIBILITY
   ============================================================ */

@media (prefers-reduced-motion: reduce) {

    .u-sustainability-page *,
    .u-sustainability-page *::before,
    .u-sustainability-page *::after {
        animation: none !important;
        transition: none !important;
        scroll-behavior: auto !important;
    }

}



/* ============================================================
   LOCAL OVERRIDES (static site)
   ============================================================ */

/* Clearer hero image: lighter overlay */
.u-sustainability-hero-media img { filter: saturate(1.1) contrast(1.04) brightness(1.05); }
.u-sustainability-hero-overlay {
    background:
        linear-gradient(90deg, rgba(10, 22, 15, .62) 0%, rgba(10, 22, 15, .38) 42%, rgba(10, 22, 15, .08) 75%, transparent 100%),
        linear-gradient(to top, rgba(10, 20, 14, .45), transparent 45%);
}
.u-sustainability-hero h1,
.u-sustainability-hero-lede,
.u-sustainability-eyebrow,
.u-sustainability-hero-index { text-shadow: 0 2px 18px rgba(0, 0, 0, .45), 0 1px 3px rgba(0, 0, 0, .35); }

/* Numbering removed: small amber dash leads each section label */
.u-sustainability-section-index { align-items: center; }
.u-sustainability-section-index::before {
    content: "";
    flex: 0 0 28px;
    width: 28px;
    height: 2px;
    background: var(--sus-amber);
}

@media (max-width: 900px) {
    .u-sustainability-hero-overlay {
        background: linear-gradient(to top, rgba(10, 22, 15, .82) 0%, rgba(10, 22, 15, .45) 55%, rgba(10, 22, 15, .1) 100%);
    }
}


/* =========================================================
   Simplified sustainability page (below the banner)
========================================================= */
.sus2-women { padding: clamp(70px, 8vw, 120px) 0; background: #F7F6F0; }
.sus2-head { max-width: 820px; margin-bottom: clamp(36px, 4.5vw, 56px); }
.sus2-head .kicker, .sus2-regen-head .kicker { color: #D9711C; font-family: "Lato", Arial, sans-serif; font-style: normal; font-weight: 700; font-size: .85rem; letter-spacing: .14em; text-transform: uppercase; }
.sus2-head h2, .sus2-regen-head h2 { font-family: var(--serif); font-weight: 400; font-size: clamp(2.2rem, 4.4vw, 3.6rem); line-height: 1.06; letter-spacing: -.02em; color: #16201A; }
.sus2-head h2 em, .sus2-regen-head h2 em { color: #D9711C; font-style: italic; }
.sus2-women-grid { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(24px, 3.5vw, 48px); align-items: stretch; }
.sus2-stats { display: grid; gap: 16px; }
.sus2-stat { position: relative; padding: 26px 28px; border-radius: 18px; background: #fff; border: 1px solid rgba(19, 35, 26, .1); box-shadow: 0 20px 40px -34px rgba(19, 35, 26, .5); }
.sus2-stat-num { display: block; font-family: var(--serif); font-size: clamp(2.4rem, 4vw, 3.3rem); line-height: 1; color: #16201A; margin-bottom: 10px; }
.sus2-stat p { margin: 0; font-family: "Lato", Arial, sans-serif !important; font-size: 17px !important; line-height: 1.55 !important; color: #222 !important; }
.sus2-stat p strong { color: #D9711C; }
.sus2-stat--goal { background: #13231A; border-color: #13231A; }
.sus2-stat--goal .sus2-stat-num { color: #E3A62C; }
.sus2-stat--goal p { color: rgba(235, 237, 228, .9) !important; }
.sus2-stat-tag { position: absolute; top: 22px; right: 24px; padding: 5px 12px; border-radius: 999px; background: #D9711C; color: #fff; font-size: .7rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.sus2-video { position: relative; margin: 0; min-height: 420px; border-radius: 18px; overflow: hidden; background: #13231A; box-shadow: 0 34px 60px -36px rgba(19, 35, 26, .6); }
.sus2-video video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.sus2-video figcaption { position: absolute; left: 18px; bottom: 16px; padding: 7px 12px; border-radius: 999px; background: rgba(19, 35, 26, .72); color: #EBEDE4; font-size: .68rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }

.sus2-regen { padding: clamp(70px, 8vw, 120px) 0; background: #fff; }
.sus2-regen-grid { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: clamp(36px, 6vw, 90px); align-items: start; }
.sus2-regen-head { position: sticky; top: 110px; }
.sus2-regen-head blockquote { margin: 28px 0 0; padding: 20px 0 0 22px; border-left: 3px solid #D9711C; font-family: var(--serif); font-style: italic; font-size: clamp(1.2rem, 1.8vw, 1.45rem); line-height: 1.4; color: #16201A; }
.sus2-regen-copy p { margin: 0 0 1.2em; }
.sus2-regen-copy .sus2-lede { font-family: "Lato", Arial, sans-serif !important; font-size: 21px !important; font-weight: 700 !important; line-height: 1.55 !important; color: #16201A !important; }

@media (max-width: 900px) {
  .sus2-women-grid, .sus2-regen-grid { grid-template-columns: 1fr; }
  .sus2-video { min-height: 0; aspect-ratio: 16 / 10; }
  .sus2-regen-head { position: static; }
}

/* Mobile: hero heading + button centred */
@media (max-width: 760px) {
  .u-sustainability-hero { align-items: center !important; }
  .u-sustainability-hero-inner { text-align: center; padding-top: 90px !important; padding-bottom: 60px !important; }
  .u-sustainability-hero-copy { margin-inline: auto; }
  .u-sustainability-hero-copy h1 { margin-inline: auto; }
  .u-sustainability-hero-actions { justify-content: center; }
}

/* =========================================================
   Sustainability page — redesign (film first)
========================================================= */
.sus3-head { max-width: 820px; margin: 0 auto clamp(28px, 3.5vw, 44px); text-align: center; }
.sus3-head--left { margin-left: 0; text-align: left; }
.sus3-head .kicker, .sus3-quote .kicker { color: #D9711C; font-family: "Lato", Arial, sans-serif; font-style: normal; font-weight: 700; font-size: .85rem; letter-spacing: .14em; text-transform: uppercase; }
.sus3-head h2, .sus3-regen-head h2 { font-family: var(--serif); font-weight: 400; font-size: clamp(2.2rem, 4.4vw, 3.6rem); line-height: 1.06; letter-spacing: -.02em; color: #16201A; }
.sus3-head h2 em, .sus3-regen-head h2 em { color: #D9711C; font-style: italic; }

.sus3-film { padding: clamp(64px, 7vw, 110px) 0; background: #fff; }
.sus3-video { margin: 0 auto; max-width: 1140px; aspect-ratio: 16 / 9; border-radius: 24px; overflow: hidden; background: #13231A; box-shadow: 0 40px 80px -44px rgba(19, 35, 26, .65); }
.sus3-video video { display: block; width: 100%; height: 100%; object-fit: cover; }

.sus3-women { padding: clamp(64px, 7vw, 110px) 0; background: #F7F6F0; }
.sus3-stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(16px, 2vw, 24px); }
.sus3-stat { position: relative; padding: clamp(26px, 3vw, 36px); border-radius: 20px; background: #fff; border: 1px solid rgba(19, 35, 26, .08); box-shadow: 0 24px 50px -40px rgba(19, 35, 26, .5); }
.sus3-num { display: block; margin-bottom: 12px; font-family: var(--serif); font-size: clamp(2.6rem, 4.6vw, 3.8rem); line-height: 1; color: #16201A; }
.sus3-stat p { margin: 0; font-family: "Lato", Arial, sans-serif !important; font-size: 17px !important; line-height: 1.55 !important; color: #222 !important; }
.sus3-stat p strong { color: #D9711C; }
.sus3-stat--goal { background: #13231A; border-color: #13231A; }
.sus3-stat--goal .sus3-num { color: #E3A62C; }
.sus3-stat--goal p { color: rgba(235, 237, 228, .9) !important; }
.sus3-tag { position: absolute; top: 22px; right: 22px; padding: 5px 12px; border-radius: 999px; background: #D9711C; color: #fff; font: 700 .7rem "Lato", Arial, sans-serif; letter-spacing: .1em; text-transform: uppercase; }

.sus3-quote { padding: clamp(60px, 7vw, 100px) 0; background: #13231A; text-align: center; }
.sus3-quote .kicker { color: #E3A62C; }
.sus3-quote blockquote { max-width: 980px; margin: 14px auto 0; font-family: var(--serif); font-style: italic; font-size: clamp(1.8rem, 3.6vw, 3rem); line-height: 1.25; color: #EBEDE4; }
.sus3-quote blockquote em { color: #E3A62C; }

.sus3-regen { padding: clamp(64px, 7vw, 110px) 0; background: #fff; }
.sus3-regen-grid { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: clamp(36px, 6vw, 90px); align-items: start; }
.sus3-regen-head { position: sticky; top: 110px; }
.sus3-regen-copy p { margin: 0 0 1.2em; }
.sus3-regen-copy .sus3-lede { font-family: "Lato", Arial, sans-serif !important; font-size: 21px !important; font-weight: 700 !important; line-height: 1.55 !important; color: #16201A !important; }

@media (max-width: 900px) {
  .sus3-stats, .sus3-regen-grid { grid-template-columns: 1fr; }
  .sus3-regen-head { position: static; }
}
/* Film heading on one line on wider screens */
.sus3-head--film { max-width: none; }
.sus3-head--film h2 { font-size: clamp(1.9rem, 3.6vw, 3.4rem); }
@media (min-width: 761px) { .sus3-head--film h2 { white-space: nowrap; } }
.sus3-intro { max-width: 68ch; margin: 18px 0 0 !important; font-family: "Lato", Arial, sans-serif !important; font-size: 19px !important; line-height: 1.65 !important; color: #222 !important; }

/* Walking with the communities */
.sus5 { padding: clamp(64px, 7vw, 110px) 0; background: #F7F6F0; }
.sus5-head { max-width: 860px; margin: 0 auto clamp(32px, 4vw, 50px); text-align: center; }
.sus5-head .kicker { color: #D9711C; font-family: "Lato", Arial, sans-serif; font-style: normal; font-weight: 700; font-size: .9rem; letter-spacing: .14em; text-transform: uppercase; margin-bottom: 18px; }
.sus5-lede { font-family: var(--serif) !important; font-size: clamp(1.35rem, 2.2vw, 1.75rem) !important; line-height: 1.4 !important; color: #16201A !important; margin: 0 0 14px !important; }
.sus5-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(16px, 2vw, 26px); }
.sus5-card { padding: clamp(26px, 3vw, 38px); border-radius: 22px; background: #fff; border: 1px solid rgba(19, 35, 26, .08); border-top: 4px solid #D9711C; box-shadow: 0 24px 50px -40px rgba(19, 35, 26, .5); }
.sus5-card h3 { margin: 0 0 12px; font-family: var(--serif); font-style: italic; font-weight: 600; font-size: clamp(1.3rem, 1.9vw, 1.55rem); line-height: 1.3; color: #16201A; }
.sus5-card p { margin: 0; }
.sus5-close { max-width: 900px; margin: clamp(32px, 4vw, 50px) auto 0 !important; padding: 22px 26px; border-radius: 18px; background: #13231A; text-align: center; font-family: var(--serif) !important; font-style: italic; font-weight: 600; font-size: clamp(1.2rem, 2vw, 1.55rem) !important; line-height: 1.4 !important; color: #EBEDE4 !important; }
.sus5-close em { color: #E3A62C; }
@media (max-width: 900px) { .sus5-grid { grid-template-columns: 1fr; } }

/* Sustainable Development Goals */
.sdgs { padding: clamp(60px, 7vw, 100px) 0; background: #fff; }
.sdgs-head { max-width: 820px; margin: 0 auto clamp(30px, 4vw, 48px); text-align: center; }
.sdgs-head .kicker { color: #D9711C; font-family: "Lato", Arial, sans-serif; font-style: normal; font-weight: 700; font-size: .85rem; letter-spacing: .14em; text-transform: uppercase; }
.sdgs-head h2 { font-family: var(--serif); font-weight: 400; font-size: clamp(2rem, 3.8vw, 3.1rem); line-height: 1.08; color: #16201A; }
.sdgs-head h2 em { color: #D9711C; font-style: italic; }
.sdgs-grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 14px; }
.sdg { display: flex; flex-direction: column; border-radius: 16px; overflow: hidden; background: #F7F6F0; border: 1px solid rgba(19, 35, 26, .08); transition: transform .4s var(--ease), box-shadow .4s; }
.sdg:hover { transform: translateY(-6px); box-shadow: 0 26px 50px -34px rgba(19, 35, 26, .55); }
.sdg-top { display: flex; align-items: flex-start; gap: 8px; min-height: 64px; padding: 12px 14px 0; background: var(--sdg); color: #fff; }
.sdg-num { font: 700 1.9rem/1 var(--sans); }
.sdg-name { padding-top: 3px; font: 700 .72rem/1.25 var(--sans); letter-spacing: .04em; text-transform: uppercase; }
.sdg-icon { display: block; width: 100%; height: 86px; padding: 10px 0 18px; background: var(--sdg); color: #fff; }
.sdg p { margin: 0; padding: 14px 14px 16px; font-size: 14.5px !important; line-height: 1.5 !important; color: #333 !important; }
@media (max-width: 1100px) { .sdgs-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 600px) { .sdgs-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
main .sdgs .sdg p { font-size: 15px !important; line-height: 1.5 !important; }
.sdg-icon { padding-bottom: 22px; } .sdg { border: 0; }

/* Regeneration — summarised */
.sus6-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(36px, 6vw, 90px); align-items: center; }
.sus6-head h2 { font-family: var(--serif); font-weight: 400; font-size: clamp(2.2rem, 4.2vw, 3.4rem); line-height: 1.06; letter-spacing: -.02em; color: #16201A; }
.sus6-head h2 em { color: #D9711C; font-style: italic; }
main .sus6 .sus6-lede { margin: 20px 0 0 !important; font-size: 19px !important; line-height: 1.6 !important; color: #222 !important; }
main .sus6 .sus6-quote { margin: 24px 0 0 !important; padding: 4px 0 4px 18px; border-left: 3px solid #D9711C; font-family: var(--serif) !important; font-style: italic; font-size: clamp(1.15rem, 1.7vw, 1.35rem) !important; line-height: 1.4 !important; color: #16201A !important; }
.sus6-points { list-style: none; margin: 0; padding: 0; display: grid; gap: 14px; }
.sus6-pt { display: grid; grid-template-columns: 52px 1fr; gap: 16px; align-items: start; padding: 20px 22px; border-radius: 18px; background: #F7F6F0; border: 1px solid rgba(19, 35, 26, .08); transition: transform .35s var(--ease), background .35s; }
.sus6-pt:hover { transform: translateX(4px); background: #fff; }
.sus6-ic { display: grid; place-items: center; width: 52px; height: 52px; border-radius: 14px; background: #D9711C; color: #fff; }
.sus6-pt:nth-child(2) .sus6-ic { background: #13231A; color: #E3A62C; }
.sus6-pt h3 { margin: 2px 0 4px; font-family: var(--serif); font-weight: 600; font-size: 1.25rem; color: #16201A; }
main .sus6 .sus6-pt p { margin: 0 !important; font-size: 16px !important; line-height: 1.55 !important; color: #333 !important; }
@media (max-width: 900px) { .sus6-grid { grid-template-columns: 1fr; } }
main .sus6 .sus6-lede { font-family: "Lato", "Helvetica Neue", Arial, sans-serif !important; }

/* =========================================================
   Sustainability page — phone tuning
========================================================= */
@media (max-width: 600px) {
  .sus3-film, .sus3-women, .sus3-regen, .sus3-quote, .sdgs, .sus5 { padding-top: 44px !important; padding-bottom: 44px !important; }
  .sus3-head, .sdgs-head, .sus5-head { margin-bottom: 22px !important; }
  .sus3-head h2, .sus6-head h2, .sdgs-head h2 { font-size: 1.9rem !important; line-height: 1.1 !important; }
  .sus3-head--film h2 { font-size: 1.55rem !important; }
  .sus3-video { border-radius: 16px; }
  main .sus3-intro { font-size: 17px !important; margin-top: 12px !important; }
  .sus3-stats { gap: 12px; }
  .sus3-stat { padding: 20px 20px 22px; border-radius: 16px; }
  .sus3-num { font-size: 2.4rem; margin-bottom: 6px; }
  .sus3-tag { top: 16px; right: 16px; }
  .sus3-quote blockquote { font-size: 1.45rem; }
  .sus6-grid { gap: 26px; }
  main .sus6 .sus6-lede { font-size: 17px !important; }
  .sus6-pt { grid-template-columns: 42px 1fr; gap: 12px; padding: 16px; border-radius: 14px; }
  .sus6-ic { width: 42px; height: 42px; border-radius: 12px; }
  .sus6-ic svg { width: 20px; height: 20px; }
  .sus6-pt h3 { font-size: 1.1rem; }
  main .sus6 .sus6-pt p { font-size: 15px !important; }
  .sdgs-grid { gap: 10px; }
  .sdg-top { min-height: 56px; padding: 10px 10px 0; }
  .sdg-num { font-size: 1.6rem; }
  .sdg-name { font-size: .64rem; }
  .sdg-icon { height: 70px; }
  .sus5-head .kicker { font-size: .78rem; }
  .sus5-lede { font-size: 1.2rem !important; }
  .sus5-card { padding: 22px 20px; border-radius: 16px; }
  .sus5-card h3 { font-size: 1.2rem; }
  .sus5-close { padding: 18px; border-radius: 14px; font-size: 1.1rem !important; }
}

/* Commitment intro now sits above the film, without stat cards */
.sus3-women .sus3-head { margin-bottom: 0 !important; }

/* Regeneration — "Walking with the communities" column */
.sus6-grid { align-items: start; }
.sus6-walk { padding: clamp(24px, 3vw, 36px); border-radius: 22px; background: #F7F6F0; border: 1px solid rgba(19, 35, 26, .08); }
.sus6-walk-title { margin: 0 0 14px; color: #D9711C; font: 700 .9rem "Lato", Arial, sans-serif; letter-spacing: .12em; text-transform: uppercase; line-height: 1.5; }
main .sus6 .sus6-walk p { margin: 0 0 14px !important; font-size: 16px !important; line-height: 1.65 !important; color: #333 !important; }
.sus6-walk-card { margin-top: 16px; padding: 18px 20px; border-radius: 16px; background: #fff; border-left: 4px solid #D9711C; }
.sus6-walk-card + .sus6-walk-card { border-left-color: #13231A; }
.sus6-walk-card h4 { margin: 0 0 8px; font-family: var(--serif); font-style: italic; font-weight: 600; font-size: 1.15rem; line-height: 1.35; color: #16201A; }
main .sus6 .sus6-walk-card p { margin: 0 !important; }
@media (max-width: 600px) {
  .sus6-walk { padding: 20px 18px; border-radius: 16px; }
  .sus6-walk-title { font-size: .78rem; }
  main .sus6 .sus6-walk p { font-size: 15px !important; }
  .sus6-walk-card { padding: 16px; }
  .sus6-walk-card h4 { font-size: 1.05rem; }
}

/* Business-model cards side by side under the Regeneration grid */
.sus6-grid { align-items: center; }
.sus6-walk-cards { grid-column: 1 / -1; display: flex; gap: clamp(16px, 2vw, 26px); }
.sus6-walk-cards .sus6-walk-card { flex: 1 1 0; margin: 0; padding: clamp(22px, 2.6vw, 32px); border-radius: 20px; background: #F7F6F0; border: 1px solid rgba(19, 35, 26, .08); border-top: 4px solid #D9711C; }
.sus6-walk-cards .sus6-walk-card + .sus6-walk-card { border-top-color: #13231A; }
.sus6-walk-cards .sus6-walk-card h4 { font-size: clamp(1.15rem, 1.6vw, 1.35rem); }
@media (max-width: 800px) { .sus6-walk-cards { flex-direction: column; } }
.sus6-close { grid-column: 1 / -1; margin-top: clamp(-56px, -3.5vw, -8px) !important; }

/* Tighter join between Regeneration and the SDGs (both white) */
.sus3-regen { padding-bottom: clamp(24px, 3vw, 40px) !important; }
.sdgs { padding-top: clamp(24px, 3vw, 40px) !important; }

/* SDGs — cards with content */
main .sdgs .sdgs-lede { max-width: 640px; margin: 14px auto 0 !important; font-size: 18px !important; line-height: 1.6 !important; color: #444 !important; }
.sdg2-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(14px, 1.8vw, 22px); }
.sdg2 { display: flex; gap: 18px; padding: 18px; border-radius: 20px; background: #F7F6F0; border: 1px solid rgba(19, 35, 26, .07); transition: transform .4s var(--ease), box-shadow .4s, background .4s; }
.sdg2:hover { transform: translateY(-5px); background: #fff; box-shadow: 0 26px 50px -34px rgba(19, 35, 26, .55); }
.sdg2-tile { flex: 0 0 92px; height: 92px; display: flex; flex-direction: column; justify-content: space-between; padding: 9px 10px; border-radius: 14px; background: var(--sdg); color: #fff; }
.sdg2-num { font: 700 1.6rem/1 var(--sans); }
.sdg2-icon { width: 38px; height: 38px; align-self: flex-end; }
.sdg2-body { min-width: 0; }
.sdg2-goal { display: block; margin-bottom: 4px; color: var(--sdg); font: 700 .72rem "Lato", Arial, sans-serif; letter-spacing: .12em; text-transform: uppercase; }
.sdg2 h3 { margin: 0 0 8px; font-family: var(--serif); font-weight: 600; font-size: 1.2rem; line-height: 1.25; color: #16201A; }
main .sdgs .sdg2 p { margin: 0 !important; font-size: 15px !important; line-height: 1.6 !important; color: #3a3f3a !important; }
@media (max-width: 1100px) { .sdg2-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 680px) {
  .sdg2-grid { grid-template-columns: 1fr; gap: 12px; }
  .sdg2 { gap: 14px; padding: 14px; border-radius: 16px; }
  .sdg2-tile { flex-basis: 72px; height: 72px; padding: 7px 8px; border-radius: 12px; }
  .sdg2-num { font-size: 1.3rem; }
  .sdg2-icon { width: 28px; height: 28px; }
  .sdg2 h3 { font-size: 1.08rem; }
  main .sdgs .sdgs-lede { font-size: 16px !important; }
}

/* Swapped blocks keep their own design */
.sus6-walk-card--solo { margin: 0; padding: clamp(22px, 2.6vw, 32px); border-radius: 20px; background: #F7F6F0; border: 1px solid rgba(19, 35, 26, .08); border-top: 4px solid #D9711C; }
.sus6-walk-card--solo h4 { font-size: clamp(1.15rem, 1.6vw, 1.35rem); }
.sus6-walk-cards .sus6-walk--in-row { flex: 1 1 0; margin: 0; }
.sus6-walk-cards .sus6-walk--in-row + .sus6-walk-card { border-top-color: #13231A; }


/* Regeneration cards: one heading style and one text style across all three */
.sus6 .sus6-walk-card h4,
.sus6 .sus6-walk-title { margin: 0 0 12px; font-family: var(--serif); font-style: normal; font-weight: 600; font-size: clamp(1.15rem, 1.6vw, 1.35rem); line-height: 1.3; letter-spacing: 0; text-transform: none; color: #16201A; text-align: left; }
main .sus6 .sus6-walk-card p,
main .sus6 .sus6-walk p { margin: 0 0 14px !important; font-family: "Lato", "Helvetica Neue", Arial, sans-serif !important; font-size: 17px !important; line-height: 1.65 !important; color: #333 !important; text-align: left; }
main .sus6 .sus6-walk-card p:last-child,
main .sus6 .sus6-walk p:last-child { margin-bottom: 0 !important; }
.sus6-walk-cards .sus6-walk--in-row,
.sus6-walk-card--solo { padding: clamp(22px, 2.6vw, 32px); }
@media (max-width: 680px) {
  .sus6 .sus6-walk-card h4,
  .sus6 .sus6-walk-title { font-size: 1.15rem; }
  main .sus6 .sus6-walk-card p,
  main .sus6 .sus6-walk p { font-size: 16px !important; }
  .sus6-walk-cards .sus6-walk--in-row,
  .sus6-walk-cards .sus6-walk-card,
  .sus6-walk-card--solo { padding: 20px 18px; }
}
.sus6 .sus6-walk-title { color: #D9711C; }
