/* Purpose and audience direction — 3 November 2026. */
.purpose-section { scroll-margin-block-start: 1rem; }
.purpose-heading { display: grid; grid-template-columns: 1.2fr .8fr; gap: 4rem; align-items: end; margin-block: 1.7rem 3rem; }
.purpose-heading h2 { font-size: clamp(3rem,6.4vw,6rem); }
.purpose-heading > p { color: var(--secondary); font-size: 1.15rem; max-inline-size: 34ch; margin-block-end: .4rem; }
.purpose-panels { display: grid; grid-template-columns: 1fr 1fr; gap: 3rem; padding-block-start: 2rem; border-block-start: 1px solid rgb(24 53 45 / .2); }
.purpose-panels article { max-inline-size: 37rem; }
.purpose-panels h3 { color: var(--forest); font-size: .75rem; text-transform: uppercase; letter-spacing: .13em; margin-block-end: 1.4rem; }
.purpose-panels p { color: var(--navy); font-size: clamp(1.6rem,2.7vw,2.6rem); line-height: 1.25; letter-spacing: -.03em; }
.purpose-section > .actions { margin-block-start: 3rem; }
.purpose-section .text-link { color: var(--forest); }
.purpose-story { background: var(--sage); box-shadow: 0 0 0 100vmax var(--sage); clip-path: inset(0 -100vmax); }
.engagement-section { scroll-margin-block-start: 1rem; }
.engagement-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1.5rem; }
.engagement-card { display: flex; flex-direction: column; align-items: start; padding: 2rem; min-block-size: 23rem; background: var(--stone); border-radius: 1.1rem; }
.engagement-index { color: var(--secondary); font-size: .75rem; margin-block-end: 2rem; }
.engagement-card .eyebrow { color: var(--forest); font-size: .65rem; line-height: 1.6; }
.engagement-card h3 { color: var(--navy); font-size: clamp(1.7rem,2.5vw,2.7rem); line-height: 1.13; margin-block: 1.2rem; }
.engagement-card p { color: var(--text); font-size: .95rem; line-height: 1.7; margin-block-end: 1.8rem; }
.engagement-card .text-link { margin-block-start: auto; color: var(--forest); font-size: .8rem; }
.engagement-card .arrow { margin-inline-start: .65rem; }
.company-update-section { padding-block-start: 1rem; }
.company-update-card { background: var(--stone); padding: clamp(2rem,4.5vw,4.5rem); border-radius: 1.2rem; display: grid; grid-template-columns: .8fr 1.2fr; gap: 4rem; align-items: center; }
.company-update-card .eyebrow { color: var(--forest); }
.company-update-card h2 { font-size: clamp(3.2rem,6vw,6rem); line-height: 1; margin-block-start: 2rem; }
.company-update-status { display: inline-block; padding: .45rem .9rem; border-radius: 99px; background: var(--forest); color: var(--paper); font-size: .7rem; letter-spacing: .04em; margin-block-end: 1.5rem; }
.company-update-copy .lead { color: var(--navy); font-size: clamp(1.35rem,2.2vw,2rem); line-height: 1.4; }
.company-update-copy > p + p { color: var(--secondary); margin-block-start: 1.2rem; }
.company-update-copy .actions { gap: 1.8rem; margin-block-start: 2rem; }
.company-update-copy .text-link { color: var(--forest); font-size: .8rem; }
.contact-routes { padding: 2.5rem; margin-block-end: 4rem; background: var(--stone); border-radius: 1.2rem; }
.contact-routes-heading h2 { font-size: clamp(2rem,3.2vw,3rem); margin-block: 1rem 2rem; }
.contact-route-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 2rem; }
.contact-route { display: flex; flex-direction: column; align-items: start; border-block-start: 1px solid rgb(24 53 45 / .2); padding-block: 1.8rem; scroll-margin-block-start: 1.5rem; }
.contact-route h3 { font-size: clamp(1.4rem,2.1vw,2rem); }
.contact-route > p { font-size: .9rem; margin-block: 1rem 1.5rem; max-inline-size: 28ch; }
.contact-route .text-link { color: var(--forest); font-size: .85rem; margin-block-start: auto; }
.contact-general { display: flex; gap: 1rem 2rem; flex-wrap: wrap; align-items: center; padding-block-start: 1.7rem; border-block-start: 1px solid rgb(24 53 45 / .2); }
.contact-general > span { font-size: .75rem; color: var(--secondary); }
.contact-general a { color: var(--forest); font-size: .9rem; overflow-wrap: anywhere; }
@media(max-width:900px) {
  .purpose-heading { grid-template-columns: 1fr; gap: 2rem; }
  .purpose-heading > p { max-inline-size: 45ch; }
  .engagement-grid { grid-template-columns: 1fr; }
  .engagement-card { min-block-size: 0; padding: 2rem; }
  .engagement-index { margin-block-end: 1.5rem; }
  .engagement-card h3 { font-size: 2.2rem; }
  .engagement-card p { max-inline-size: 52ch; }
  .company-update-card { gap: 2.5rem; grid-template-columns: 1fr; }
  .company-update-card h2 br { display: none; }
  .company-update-card h2 { margin-block-start: 1.2rem; }
  .contact-route-grid { grid-template-columns: 1fr; gap: 0; }
  .contact-route > p { max-inline-size: 45ch; }
  .contact-route h3 { font-size: 1.8rem; }
}
@media(max-width:600px) {
  .purpose-heading { margin-block-end: 2rem; }
  .purpose-heading h2 { font-size: clamp(2.7rem,11vw,3.6rem); }
  .purpose-panels { grid-template-columns: 1fr; gap: 2.5rem; }
  .purpose-panels p { font-size: 1.8rem; }
  .purpose-panels h3 { margin-block-end: 1rem; }
  .engagement-card { padding: 1.6rem; }
  .engagement-card h3 { font-size: 2rem; }
  .company-update-card { padding: 1.6rem; }
  .company-update-card h2 { font-size: 3.5rem; }
  .company-update-card .actions { flex-direction: column; align-items: start; gap: 1.2rem; }
  .contact-routes { padding: 1.5rem; }
  .contact-routes-heading h2 { font-size: 2rem; }
  .contact-general { flex-direction: column; align-items: start; }
}
