/* ======================================================================
   GSC-TEMPC — ABOUT PAGE: PURPOSE (.gsctempc-about-purpose)
   Mission · Vision · Goals · Cooperative Pledge

   Scope:  every selector starts with .gsctempc-about-purpose; other
           About sections, the header and the footer are not affected.

   Concept: a CHARTER. The section reads as four chapters of one
   institutional document, set on the same white-to-pale-green field as
   the homepage Gallery and Values sections.
     - Header + a ledger strip of two figures (founding / service).
     - Mission: photograph left on a pale-green offset plate.
     - Vision: mirrored, plate offset the other way, numbered statements.
     - Goals: a pale-green panel holding the numbered goals and a tall
       portrait that runs the panel's full height.
     - Pledge: the signature close, a white card with a gold-to-leaf
       ribbon along its top edge.
   Gold appears only in short divider rules, the ribbon and the stat
   dividers' neighbours; headings, numerals and labels are green so
   nothing relies on gold text on white.

   The section is a size container: breakpoints follow the section's
   own width. Markup, class names and the .reveal hooks are unchanged.
   Row botanicals now sit above the section background (the section is
   an isolated stacking context), so they are actually visible.
   ====================================================================== */

.gsctempc-about-purpose {
    --pp-brand: #30AA28;
    --pp-leaf: #B9DDB5;
    --pp-leaf-soft: #E5F1E3;
    --pp-sage: #F3F8F2;
    --pp-action: #27883A;
    --pp-action-deep: #1B6A2E;
    --pp-forest: #1F5A2D;
    --pp-ink: #173E29;
    --pp-gold: #D6B56D;
    --pp-gold-light: #F6E3AE;
    --pp-text: #3E4C42;
    --pp-muted: #53625A;
    --pp-ease: var(--oc-ease, cubic-bezier(.16, 1, .3, 1));
    --pp-display: var(--oc-font-display, var(--hp-display-font, 'Fraunces', Georgia, 'Times New Roman', serif));
    --pp-body: var(--oc-font-body, inherit);

    container: purpose / inline-size;
    position: relative;
    isolation: isolate;
    overflow: hidden;
    padding: 72px 14px 88px;
    color: var(--pp-forest);
    background: linear-gradient(180deg, #FFFFFF 0%, #F3F8F2 26%, #EDF5EB 64%, #FFFFFF 100%) !important;
}

.gsctempc-about-purpose *,
.gsctempc-about-purpose *::before,
.gsctempc-about-purpose *::after {
    box-sizing: border-box;
}

/* Same green light as Gallery / Values, repeated down the tall section */
.gsctempc-about-purpose::before {
    content: '';
    position: absolute;
    inset: 0;
    z-index: -1;
    pointer-events: none;
    background:
        radial-gradient(ellipse 50% 12% at 8% 14%, rgba(185, 221, 181, .45), transparent 72%),
        radial-gradient(ellipse 46% 12% at 96% 50%, rgba(185, 221, 181, .32), transparent 72%),
        radial-gradient(ellipse 50% 12% at 6% 88%, rgba(185, 221, 181, .38), transparent 72%);
}

.gsctempc-about-purpose .section-container {
    width: min(1180px, 100%);
    margin: 0 auto;
}

/* ----------------------------------------------------------------------
   INTRO — centred; eyebrow lines and divider are symmetric
   ---------------------------------------------------------------------- */
.gsctempc-about-purpose .gsctempc-about-purpose__intro {
    width: min(760px, 100%);
    margin: 0 auto 44px;
    text-align: center;
}

.gsctempc-about-purpose .gsctempc-about-purpose__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 14px;
    margin: 0 0 20px;
    color: var(--pp-action-deep);
    font-family: var(--pp-body);
    font-size: .82rem;
    font-weight: 800;
    letter-spacing: .22em;
    line-height: 1.3;
    text-transform: uppercase;
}

.gsctempc-about-purpose .gsctempc-about-purpose__eyebrow::before,
.gsctempc-about-purpose .gsctempc-about-purpose__eyebrow::after {
    content: '';
    flex: 0 0 auto;
    width: 44px;
    height: 2px;
    opacity: 1;
}

.gsctempc-about-purpose .gsctempc-about-purpose__eyebrow::before {
    background: linear-gradient(90deg, var(--pp-leaf) 0 40%, var(--pp-gold) 40% 100%);
}

.gsctempc-about-purpose .gsctempc-about-purpose__eyebrow::after {
    background: linear-gradient(90deg, var(--pp-gold) 0 60%, var(--pp-leaf) 60% 100%);
}

.gsctempc-about-purpose .gsctempc-about-purpose__title {
    margin: 0;
    color: var(--pp-forest);
    font-family: var(--pp-display);
    font-size: clamp(2.5rem, 10vw, 3.3rem);
    font-size: clamp(2.5rem, 11cqi, 3.3rem);
    font-weight: 600;
    letter-spacing: -.04em;
    line-height: 1.04;
    text-wrap: balance;
    overflow-wrap: break-word;
}

.gsctempc-about-purpose .gsctempc-about-purpose__title span {
    color: var(--pp-action);
    font-style: italic;
    font-weight: 500;
}

/* One gold divider, centred by auto margins */
.gsctempc-about-purpose .gsctempc-about-purpose__title::after {
    content: '';
    display: block;
    width: 72px;
    height: 3px;
    margin: 26px auto 0;
    border-radius: 2px;
    background: linear-gradient(90deg, var(--pp-gold) 0 58%, var(--pp-leaf) 58% 100%);
}

.gsctempc-about-purpose .gsctempc-about-purpose__intro-copy {
    width: min(38em, 100%);
    margin: 24px auto 0;
    color: var(--pp-text);
    font-family: var(--pp-body);
    font-size: 1.05rem;
    line-height: 1.8;
}

/* ----------------------------------------------------------------------
   LEDGER STRIP — founding / service figures
   ---------------------------------------------------------------------- */
.gsctempc-about-purpose .gsctempc-about-purpose__stats {
    display: flex;
    justify-content: center;
    align-items: stretch;
    width: min(620px, 100%);
    margin: 0 auto 72px;
    padding: 26px 0;
    border-top: 1px solid var(--pp-leaf);
    border-bottom: 1px solid var(--pp-leaf);
}

.gsctempc-about-purpose .gsctempc-about-purpose__stat {
    flex: 1 1 0;
    min-width: 0;
    padding: 0 16px;
    text-align: center;
}

.gsctempc-about-purpose .gsctempc-about-purpose__stat + .gsctempc-about-purpose__stat {
    border-left: 1px solid var(--pp-gold);
}

.gsctempc-about-purpose .gsctempc-about-purpose__stat-value {
    display: block;
    color: var(--pp-forest);
    font-family: var(--pp-display);
    font-size: clamp(2rem, 9vw, 3rem);
    font-weight: 600;
    letter-spacing: -.03em;
    line-height: 1;
}

.gsctempc-about-purpose .gsctempc-about-purpose__stat-label {
    display: block;
    margin-top: 10px;
    color: var(--pp-muted);
    font-family: var(--pp-body);
    font-size: .74rem;
    font-weight: 800;
    letter-spacing: .14em;
    line-height: 1.4;
    text-transform: uppercase;
}

/* ----------------------------------------------------------------------
   PHOTOGRAPHS — natural rectangles on a pale-green offset plate
   ---------------------------------------------------------------------- */
.gsctempc-about-purpose .gsctempc-about-purpose__media,
.gsctempc-about-purpose .gsctempc-about-purpose__goals-media {
    position: relative;
    min-width: 0;
    margin: 0 12px 12px 0;
}

.gsctempc-about-purpose .gsctempc-about-purpose__media::before,
.gsctempc-about-purpose .gsctempc-about-purpose__goals-media::before {
    content: '';
    position: absolute;
    z-index: 0;
    top: 12px;
    bottom: -12px;
    left: 12px;
    right: -12px;
    border-radius: 6px;
    background:
        repeating-linear-gradient(135deg, rgba(255, 255, 255, .45) 0 2px, transparent 2px 10px),
        linear-gradient(170deg, rgba(185, 221, 181, .85), rgba(185, 221, 181, .4));
    pointer-events: none;
}

/* The earlier gold corner bracket is retired in favour of the plate */
.gsctempc-about-purpose .gsctempc-about-purpose__media::after {
    content: none;
}

.gsctempc-about-purpose .gsctempc-about-purpose__editorial--vision .gsctempc-about-purpose__media {
    margin: 0 0 12px 12px;
}

.gsctempc-about-purpose .gsctempc-about-purpose__editorial--vision .gsctempc-about-purpose__media::before {
    left: -12px;
    right: 12px;
}

.gsctempc-about-purpose .gsctempc-about-purpose__media-frame {
    position: relative;
    z-index: 1;
    overflow: hidden;
    aspect-ratio: 4 / 3;
    min-height: 0;
    border: 1px solid rgba(48, 170, 40, .18);
    border-radius: 6px;
    background: var(--pp-leaf-soft);
    box-shadow: 0 20px 40px rgba(23, 62, 41, .14), 0 4px 12px rgba(48, 170, 40, .08);
}

.gsctempc-about-purpose .gsctempc-about-purpose__media-frame::before {
    content: none;
}

.gsctempc-about-purpose .gsctempc-about-purpose__media img,
.gsctempc-about-purpose .gsctempc-about-purpose__goals-media img {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 0;
    object-fit: cover;
    object-position: center;
    transform: none;
    transition: transform .9s var(--pp-ease), filter .6s ease;
}

@media (hover: hover) and (pointer: fine) {
    .gsctempc-about-purpose .gsctempc-about-purpose__media:hover img,
    .gsctempc-about-purpose .gsctempc-about-purpose__goals-media:hover img {
        transform: scale(1.03);
    }
}

/* ----------------------------------------------------------------------
   ROW BOTANICALS — same treatment as the homepage corners, now visible
   ---------------------------------------------------------------------- */
.gsctempc-about-purpose .gsctempc-about-purpose__editorial,
.gsctempc-about-purpose .gsctempc-about-purpose__goals {
    position: relative;
    isolation: isolate;
}

.gsctempc-about-purpose .gsctempc-about-purpose__row-botanical {
    position: absolute;
    z-index: -1;
    bottom: -10px;
    width: clamp(110px, 12vw, 210px);
    width: clamp(110px, 14cqi, 210px);
    height: 78%;
    background-repeat: no-repeat;
    background-size: contain;
    pointer-events: none;
    opacity: .14;
    filter: grayscale(1) sepia(.55) saturate(3) hue-rotate(85deg) brightness(.7);
    mix-blend-mode: multiply;
    display: none;
}

.gsctempc-about-purpose .gsctempc-about-purpose__row-botanical--left {
    left: -18px;
    background-image: url('../../images/botanical-corner-right.png');
    background-position: bottom left;
    transform: scaleX(-1);
}

.gsctempc-about-purpose .gsctempc-about-purpose__row-botanical--right {
    right: -18px;
    background-image: url('../../images/botanical-corner-right.png');
    background-position: bottom right;
}

/* ----------------------------------------------------------------------
   CHAPTERS — Mission / Vision
   Default (narrow section): stacked, photograph first
   ---------------------------------------------------------------------- */
.gsctempc-about-purpose .gsctempc-about-purpose__editorial {
    display: flex;
    flex-direction: column;
    gap: 40px;
    margin-bottom: 88px;
}

.gsctempc-about-purpose .gsctempc-about-purpose__editorial .gsctempc-about-purpose__media { order: 1; }
.gsctempc-about-purpose .gsctempc-about-purpose__editorial .gsctempc-about-purpose__content { order: 2; }

.gsctempc-about-purpose .gsctempc-about-purpose__content {
    min-width: 0;
}

.gsctempc-about-purpose .gsctempc-about-purpose__content::before {
    content: none;
}

.gsctempc-about-purpose .gsctempc-about-purpose__section-label,
.gsctempc-about-purpose .gsctempc-about-purpose__pledge-kicker {
    display: block;
    margin: 0 0 14px;
    color: var(--pp-action-deep);
    font-family: var(--pp-body);
    font-size: .82rem;
    font-weight: 800;
    letter-spacing: .2em;
    line-height: 1.4;
    text-transform: uppercase;
}

.gsctempc-about-purpose .gsctempc-about-purpose__heading,
.gsctempc-about-purpose .gsctempc-about-purpose__pledge-heading {
    margin: 0 0 24px;
    color: var(--pp-forest);
    font-family: var(--pp-display);
    font-size: clamp(2.1rem, 9vw, 2.8rem);
    font-size: clamp(2.1rem, 9cqi, 2.8rem);
    font-weight: 600;
    letter-spacing: -.035em;
    line-height: 1.05;
    text-wrap: balance;
}

/* Chapter divider, flush left under each heading */
.gsctempc-about-purpose .gsctempc-about-purpose__heading::after {
    content: '';
    display: block;
    width: 72px;
    height: 3px;
    margin-top: 22px;
    border-radius: 2px;
    background: linear-gradient(90deg, var(--pp-gold) 0 58%, var(--pp-leaf) 58% 100%);
}

.gsctempc-about-purpose .gsctempc-about-purpose__body {
    max-width: 36em;
    margin: 0;
    color: var(--pp-text);
    font-family: var(--pp-body);
    font-size: 1.05rem;
    line-height: 1.85;
}

/* Vision statements */
.gsctempc-about-purpose .gsctempc-about-purpose__vision-list {
    list-style: none;
    max-width: 36em;
    margin: 0;
    padding: 0;
}

.gsctempc-about-purpose .gsctempc-about-purpose__vision-item {
    display: grid;
    grid-template-columns: 34px minmax(0, 1fr);
    gap: 14px;
    align-items: start;
    margin: 0 0 18px;
    padding: 0 0 18px;
    border-bottom: 1px solid var(--pp-leaf);
    color: var(--pp-text);
    font-family: var(--pp-body);
    font-size: 1.02rem;
    line-height: 1.75;
}

.gsctempc-about-purpose .gsctempc-about-purpose__vision-item:last-child {
    margin-bottom: 0;
    padding-bottom: 0;
    border-bottom: 0;
}

.gsctempc-about-purpose .gsctempc-about-purpose__vision-number,
.gsctempc-about-purpose .gsctempc-about-purpose__goal::before {
    color: var(--pp-action-deep);
    font-family: var(--pp-display);
    font-size: 1.1rem;
    font-weight: 600;
    line-height: 1.5;
}

/* ----------------------------------------------------------------------
   GOALS — pale-green panel; portrait runs the panel's full height
   ---------------------------------------------------------------------- */
.gsctempc-about-purpose .gsctempc-about-purpose__goals {
    display: flex;
    flex-direction: column;
    gap: 40px;
    margin-bottom: 88px;
    padding: 28px 20px;
    border: 1px solid rgba(48, 170, 40, .16);
    border-radius: 10px;
    background: linear-gradient(180deg, #F3F8F2 0%, #E9F3E7 100%);
}

.gsctempc-about-purpose .gsctempc-about-purpose__goals-content {
    min-width: 0;
    padding: 0;
}

.gsctempc-about-purpose .gsctempc-about-purpose__goals-intro {
    max-width: 36em;
    margin: 0 0 30px;
    color: var(--pp-text);
    font-family: var(--pp-body);
    font-size: 1.02rem;
    line-height: 1.8;
}

.gsctempc-about-purpose .gsctempc-about-purpose__goals-list {
    list-style: none;
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    column-gap: 40px;
    margin: 0;
    padding: 0;
    counter-reset: purpose-goal;
}

.gsctempc-about-purpose .gsctempc-about-purpose__goal {
    counter-increment: purpose-goal;
    display: grid;
    grid-template-columns: 34px minmax(0, 1fr);
    gap: 12px;
    align-items: start;
    min-width: 0;
    margin: 0 0 18px;
    padding: 0 0 18px;
    border-bottom: 1px solid var(--pp-leaf);
    color: var(--pp-text);
    font-family: var(--pp-body);
    font-size: 1rem;
    line-height: 1.7;
    break-inside: avoid;
}

.gsctempc-about-purpose .gsctempc-about-purpose__goal::before {
    content: counter(purpose-goal, decimal-leading-zero);
    font-size: 1rem;
}

.gsctempc-about-purpose .gsctempc-about-purpose__goals-media {
    order: 2;
    width: calc(100% - 12px);
    align-self: stretch;
    min-height: 0;
}

.gsctempc-about-purpose .gsctempc-about-purpose__goals-media .gsctempc-about-purpose__media-frame {
    aspect-ratio: 4 / 3;
    height: auto;
    min-height: 0;
    border-radius: 6px;
}

/* ----------------------------------------------------------------------
   PLEDGE — signature close: white card, ribbon along the top edge
   ---------------------------------------------------------------------- */
.gsctempc-about-purpose .gsctempc-about-purpose__pledge {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    min-height: 0;
    overflow: hidden;
    border: 1px solid rgba(48, 170, 40, .18);
    border-radius: 10px;
    background: #FFFFFF;
    box-shadow: 0 24px 56px rgba(23, 62, 41, .12);
}

.gsctempc-about-purpose .gsctempc-about-purpose__pledge::before {
    content: '';
    position: absolute;
    z-index: 3;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: linear-gradient(90deg, var(--pp-leaf), var(--pp-gold) 50%, var(--pp-leaf));
    pointer-events: none;
}

.gsctempc-about-purpose .gsctempc-about-purpose__pledge-media {
    position: relative;
    min-height: 0;
    overflow: hidden;
    aspect-ratio: 4 / 3;
    background: var(--pp-leaf-soft);
}

.gsctempc-about-purpose .gsctempc-about-purpose__pledge-media::after {
    content: none;
}

.gsctempc-about-purpose .gsctempc-about-purpose__pledge-media img {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 0;
    object-fit: cover;
    object-position: center;
}

.gsctempc-about-purpose .gsctempc-about-purpose__pledge-content {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-width: 0;
    padding: 44px 24px 48px;
    color: var(--pp-text);
}

.gsctempc-about-purpose .gsctempc-about-purpose__pledge-content::before {
    content: none;
}

.gsctempc-about-purpose .gsctempc-about-purpose__pledge-heading {
    margin-bottom: 22px;
    font-size: clamp(2.2rem, 10vw, 3rem);
    font-size: clamp(2.2rem, 10cqi, 3rem);
}

.gsctempc-about-purpose .gsctempc-about-purpose__pledge-rule {
    width: 72px;
    height: 3px;
    margin: 0 0 26px;
    border-radius: 2px;
    background: linear-gradient(90deg, var(--pp-gold) 0 58%, var(--pp-leaf) 58% 100%);
}

.gsctempc-about-purpose .gsctempc-about-purpose__pledge-text {
    max-width: 34em;
}

.gsctempc-about-purpose .gsctempc-about-purpose__pledge-open,
.gsctempc-about-purpose .gsctempc-about-purpose__pledge-body,
.gsctempc-about-purpose .gsctempc-about-purpose__pledge-close {
    margin: 0;
    color: var(--pp-text);
    font-family: var(--pp-display);
    font-size: 1.05rem;
    font-weight: 400;
    line-height: 1.8;
}

.gsctempc-about-purpose .gsctempc-about-purpose__pledge-open {
    color: var(--pp-forest);
    font-size: 1.25rem;
    font-weight: 600;
    line-height: 1.55;
}

.gsctempc-about-purpose .gsctempc-about-purpose__pledge-close {
    color: var(--pp-forest);
    font-size: 1.12rem;
    font-weight: 600;
}

.gsctempc-about-purpose .gsctempc-about-purpose__pledge-divider {
    width: 44px;
    height: 2px;
    margin: 24px 0;
    background: var(--pp-leaf);
}

/* ----------------------------------------------------------------------
   REVEAL HOOKS — preserved
   ---------------------------------------------------------------------- */
.gsctempc-about-purpose .gsctempc-about-purpose__intro,
.gsctempc-about-purpose .gsctempc-about-purpose__stats,
.gsctempc-about-purpose .gsctempc-about-purpose__editorial,
.gsctempc-about-purpose .gsctempc-about-purpose__goals,
.gsctempc-about-purpose .gsctempc-about-purpose__pledge {
    opacity: 1;
}

.gsctempc-about-purpose.reveal .gsctempc-about-purpose__intro,
.gsctempc-about-purpose.reveal .gsctempc-about-purpose__stats,
.gsctempc-about-purpose.reveal .gsctempc-about-purpose__editorial,
.gsctempc-about-purpose.reveal .gsctempc-about-purpose__goals,
.gsctempc-about-purpose.reveal .gsctempc-about-purpose__pledge {
    transition: opacity .8s var(--pp-ease), transform .8s var(--pp-ease);
}

.gsctempc-about-purpose.reveal.is-active { opacity: 1; transform: translateY(0) scale(1); filter: blur(0); }

/* ----------------------------------------------------------------------
   RESPONSIVE — section-width driven
   ---------------------------------------------------------------------- */
@media (min-width: 600px) {
    .gsctempc-about-purpose { padding: 88px 24px 104px; }
}

@media (min-width: 1100px) {
    .gsctempc-about-purpose { padding: 104px 32px 120px; }
}

/* Section 600px+: larger type, wider goals list, row botanicals appear */
@container purpose (min-width: 600px) {
    .gsctempc-about-purpose .gsctempc-about-purpose__intro { margin-bottom: 52px; }
    .gsctempc-about-purpose .gsctempc-about-purpose__title { font-size: clamp(2.9rem, 7vw, 4rem); font-size: clamp(2.9rem, 7.4cqi, 4rem); }
    .gsctempc-about-purpose .gsctempc-about-purpose__stats { margin-bottom: 88px; }
    .gsctempc-about-purpose .gsctempc-about-purpose__stat { padding: 0 32px; }
    .gsctempc-about-purpose .gsctempc-about-purpose__stat-label { font-size: .78rem; }
    .gsctempc-about-purpose .gsctempc-about-purpose__row-botanical { display: block; }
    .gsctempc-about-purpose .gsctempc-about-purpose__media-frame { aspect-ratio: 5 / 4; }
    .gsctempc-about-purpose .gsctempc-about-purpose__heading { font-size: clamp(2.3rem, 5.6vw, 3rem); font-size: clamp(2.3rem, 5.6cqi, 3rem); }
    .gsctempc-about-purpose .gsctempc-about-purpose__goals { padding: 40px 36px; margin-bottom: 104px; }
    .gsctempc-about-purpose .gsctempc-about-purpose__goals-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .gsctempc-about-purpose .gsctempc-about-purpose__goals-media .gsctempc-about-purpose__media-frame { aspect-ratio: 16 / 9; }
    .gsctempc-about-purpose .gsctempc-about-purpose__pledge-media { aspect-ratio: 16 / 9; }
    .gsctempc-about-purpose .gsctempc-about-purpose__pledge-content { padding: 56px 44px 60px; }
}

/* Section 900px+: Mission/Vision become two columns; Goals and Pledge split */
@container purpose (min-width: 900px) {
    .gsctempc-about-purpose .gsctempc-about-purpose__title { font-size: clamp(3.2rem, 5vw, 4.6rem); font-size: clamp(3.2rem, 4.8cqi, 4.6rem); }
    .gsctempc-about-purpose .gsctempc-about-purpose__editorial {
        display: grid;
        grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr);
        align-items: center;
        gap: clamp(48px, 7cqi, 96px);
        margin-bottom: 120px;
    }
    .gsctempc-about-purpose .gsctempc-about-purpose__editorial--vision { grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); }
    /* Explicit placement: Mission photo left, Vision photo right,
       independent of DOM order */
    .gsctempc-about-purpose .gsctempc-about-purpose__editorial .gsctempc-about-purpose__media { grid-row: 1; grid-column: 1; }
    .gsctempc-about-purpose .gsctempc-about-purpose__editorial .gsctempc-about-purpose__content { grid-row: 1; grid-column: 2; }
    .gsctempc-about-purpose .gsctempc-about-purpose__editorial--vision .gsctempc-about-purpose__media { grid-column: 2; }
    .gsctempc-about-purpose .gsctempc-about-purpose__editorial--vision .gsctempc-about-purpose__content { grid-column: 1; }
    .gsctempc-about-purpose .gsctempc-about-purpose__media-frame { aspect-ratio: 5 / 6; }
    .gsctempc-about-purpose .gsctempc-about-purpose__heading { font-size: clamp(2.4rem, 3.6cqi, 3.4rem); }

    .gsctempc-about-purpose .gsctempc-about-purpose__goals {
        display: grid;
        grid-template-columns: minmax(0, 1.3fr) minmax(0, .7fr);
        gap: clamp(40px, 5cqi, 72px);
        align-items: stretch;
        padding: 52px clamp(36px, 4.4cqi, 64px);
        margin-bottom: 120px;
    }
    .gsctempc-about-purpose .gsctempc-about-purpose__goals-content { grid-column: 1; grid-row: 1; }
    .gsctempc-about-purpose .gsctempc-about-purpose__goals-media { grid-column: 2; grid-row: 1; width: auto; margin-right: 12px; }
    .gsctempc-about-purpose .gsctempc-about-purpose__goals-media .gsctempc-about-purpose__media-frame { aspect-ratio: auto; height: 100%; min-height: 520px; }
    .gsctempc-about-purpose .gsctempc-about-purpose__goals-list { grid-template-columns: minmax(0, 1fr); }

    .gsctempc-about-purpose .gsctempc-about-purpose__pledge { grid-template-columns: minmax(0, .44fr) minmax(0, .56fr); min-height: 520px; }
    .gsctempc-about-purpose .gsctempc-about-purpose__pledge-media { aspect-ratio: auto; min-height: 520px; }
    .gsctempc-about-purpose .gsctempc-about-purpose__pledge-content { padding: clamp(56px, 6cqi, 88px) clamp(36px, 5.6cqi, 80px); }
    .gsctempc-about-purpose .gsctempc-about-purpose__pledge-heading { font-size: clamp(2.5rem, 4.2cqi, 3.9rem); }
}

/* Section 1100px+: with room to spare, the goals run in two columns */
@container purpose (min-width: 1100px) {
    .gsctempc-about-purpose .gsctempc-about-purpose__goals-list { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: clamp(28px, 3.4cqi, 48px); }
}

/* Very narrow sections (320px phones) */
@container purpose (max-width: 360px) {
    .gsctempc-about-purpose .gsctempc-about-purpose__eyebrow { gap: 10px; letter-spacing: .16em; }
    .gsctempc-about-purpose .gsctempc-about-purpose__eyebrow::before,
    .gsctempc-about-purpose .gsctempc-about-purpose__eyebrow::after { width: 26px; }
    .gsctempc-about-purpose .gsctempc-about-purpose__stat { padding: 0 10px; }
    .gsctempc-about-purpose .gsctempc-about-purpose__stat-label { font-size: .7rem; letter-spacing: .1em; }
    .gsctempc-about-purpose .gsctempc-about-purpose__goals { padding: 24px 16px; }
    .gsctempc-about-purpose .gsctempc-about-purpose__pledge-content { padding: 40px 20px 44px; }
}

/* Fallback for browsers without container queries (viewport-based) */
@supports not (container-type: inline-size) {
    @media (min-width: 700px) {
        .gsctempc-about-purpose .gsctempc-about-purpose__goals-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
        .gsctempc-about-purpose .gsctempc-about-purpose__row-botanical { display: block; }
    }
    @media (min-width: 1100px) {
        .gsctempc-about-purpose .gsctempc-about-purpose__editorial { display: grid; grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr); align-items: center; gap: 72px; }
        .gsctempc-about-purpose .gsctempc-about-purpose__editorial--vision { grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); }
        .gsctempc-about-purpose .gsctempc-about-purpose__editorial .gsctempc-about-purpose__media { grid-row: 1; grid-column: 1; }
        .gsctempc-about-purpose .gsctempc-about-purpose__editorial .gsctempc-about-purpose__content { grid-row: 1; grid-column: 2; }
        .gsctempc-about-purpose .gsctempc-about-purpose__editorial--vision .gsctempc-about-purpose__media { grid-column: 2; }
        .gsctempc-about-purpose .gsctempc-about-purpose__editorial--vision .gsctempc-about-purpose__content { grid-column: 1; }
        .gsctempc-about-purpose .gsctempc-about-purpose__goals { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, .7fr); gap: 56px; }
        .gsctempc-about-purpose .gsctempc-about-purpose__goals-media { width: auto; }
        .gsctempc-about-purpose .gsctempc-about-purpose__goals-media .gsctempc-about-purpose__media-frame { aspect-ratio: auto; height: 100%; min-height: 520px; }
        .gsctempc-about-purpose .gsctempc-about-purpose__pledge { grid-template-columns: minmax(0, .44fr) minmax(0, .56fr); min-height: 520px; }
        .gsctempc-about-purpose .gsctempc-about-purpose__pledge-media { aspect-ratio: auto; min-height: 520px; }
    }
}

/* ----------------------------------------------------------------------
   REDUCED MOTION / FORCED COLORS
   ---------------------------------------------------------------------- */
@media (prefers-reduced-motion: reduce) {
    .gsctempc-about-purpose .gsctempc-about-purpose__media img,
    .gsctempc-about-purpose .gsctempc-about-purpose__goals-media img,
    .gsctempc-about-purpose.reveal .gsctempc-about-purpose__intro,
    .gsctempc-about-purpose.reveal .gsctempc-about-purpose__stats,
    .gsctempc-about-purpose.reveal .gsctempc-about-purpose__editorial,
    .gsctempc-about-purpose.reveal .gsctempc-about-purpose__goals,
    .gsctempc-about-purpose.reveal .gsctempc-about-purpose__pledge {
        transition: none !important;
    }
    .gsctempc-about-purpose .gsctempc-about-purpose__media:hover img,
    .gsctempc-about-purpose .gsctempc-about-purpose__goals-media:hover img {
        transform: none;
    }
}

@media (forced-colors: active) {
    .gsctempc-about-purpose .gsctempc-about-purpose__media-frame,
    .gsctempc-about-purpose .gsctempc-about-purpose__goals,
    .gsctempc-about-purpose .gsctempc-about-purpose__pledge { border: 1px solid CanvasText; }
}