/* About page: scoped editorial layout, shared navigation remains unchanged. */
.rx-about {
  --about-paper: #f3f4ef;
  --about-ink: #17231d;
  --about-muted: #59635c;
  --about-line: #d9ded6;
  background: var(--about-paper);
  color: var(--about-ink);
}
.rx-about .rx-wrap,
.rx-about .rx-wrap--tight { width: 100%; max-width: 1328px; padding-inline: clamp(22px, 4vw, 56px); margin-inline: auto; }
.rx-about section[id] { scroll-margin-top: 96px; }
.rx-about .rx-eyebrow { font-size: 11px; font-weight: 650; letter-spacing: .13em; }
.rx-about .rx-h2 { font-size: clamp(32px, 3.4vw, 48px); line-height: 1.12; letter-spacing: -.035em; font-weight: 450; }
.rx-about .rx-h2 strong { font-weight: 600; }
.rx-about .rx-head { text-align: left; }
.rx-about .rx-lead { font-size: 17px; line-height: 1.65; }
.rx-about .rx-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 24px; }
.rx-about .rx-more { display: inline-flex; align-items: center; gap: 14px; margin: 0; color: var(--about-ink); }
.rx-about a:focus-visible { outline: 3px solid #00843f; outline-offset: 6px; }

/* The introduction uses typography and whitespace instead of a decorative stage. */
.rx-about-hero { background: #f8f9f5; color: #17231d; padding: 30px 0 0; }
.rx-about-hero .rx-crumb { margin: 0 0 64px; color: #657167; font-size: 12px; }
.rx-about-hero .rx-crumb a { color: #657167; }
.rx-about-hero .rx-crumb [aria-current] { color: #17231d; }
.rx-about-hero__grid { display: grid; grid-template-columns: 1.5fr 1fr; gap: clamp(40px, 7vw, 100px); align-items: end; padding-bottom: 65px; }
.rx-about-hero__copy { min-width: 0; }
.rx-about-hero .rx-eyebrow { display: flex; align-items: center; gap: 14px; margin: 0 0 25px; color: #4d6252; }
.rx-about-hero .rx-eyebrow > span { color: #a0ada2; }
.rx-about-hero h1 { font-size: clamp(40px, 4.65vw, 66px); font-weight: 450; line-height: 1.1; letter-spacing: -.04em; margin: 0; max-width: 18ch; }
.rx-about-hero h1 strong { font-weight: 500; color: #427953; }
.rx-about-hero__intro { padding: 0 0 5px; }
.rx-about-hero__location { display: flex; align-items: center; gap: 9px; font-size: 12px; color: #47604d; }
.rx-about-dot { width: 6px; height: 6px; border-radius: 50%; background: #427953; flex: none; }
.rx-about-hero__intro > p { color: #59635c; font-size: 17px; line-height: 1.8; margin: 24px 0 30px; }
.rx-about-button { display: inline-flex; justify-content: center; align-items: center; gap: 25px; padding: 17px 23px; min-height: 50px; background: #172b1e; color: #fff; font-size: 14px; font-weight: 550; border: 1px solid #172b1e; text-decoration: none; transition: background .2s ease; }
.rx-about-button:hover { background: #34583d; }
.rx-about-index { display: flex; flex-wrap: wrap; gap: 18px 44px; border-top: 1px solid #d8dfd4; padding: 22px 0; }
.rx-about-index a { color: #435248; font-size: 12px; text-decoration: none; display: inline-flex; gap: 13px; padding-block: 5px; }
.rx-about-index a span { color: #7f9183; font-size: 10px; }
.rx-about-index a:hover { color: #17231d; text-decoration: underline; text-underline-offset: 5px; }

.rx-about .rx-mod--about-numbers { background: #e5eadf; padding: 34px 0; }
.rx-about .rx-about-nums { gap: 0; }
.rx-about .rx-about-nums li { padding: 5px 30px; border-left: 1px solid #c3cdbf; }
.rx-about .rx-about-nums li:first-child { padding-left: 0; border: 0; }
.rx-about .rx-about-nums__n { color: #17231d; font-size: clamp(36px, 4vw, 52px); font-weight: 500; letter-spacing: -.055em; }
.rx-about .rx-about-nums__l { color: #4b5a4c; margin-top: 9px; font-size: 12px; }
.rx-about .rx-mod--about-intro { background: var(--about-paper); padding: 95px 0 80px; }
.rx-about .rx-about-story { grid-template-columns: 1fr 1.12fr; gap: 80px; }
.rx-about .rx-about-story .rx-head { margin: 0; }
.rx-about .rx-about-story .rx-h2 { max-width: 13ch; }
.rx-about .rx-about-story__copy { padding-top: 29px; }
.rx-about .rx-about-story__copy p { color: var(--about-muted); font-size: 17px; line-height: 1.8; }
.rx-about .rx-mod--about-capabilities { background: var(--about-paper); padding: 0 0 90px; }
.rx-about .rx-mod--about-capabilities .rx-wrap { padding-top: 50px; position: relative; }
.rx-about .rx-mod--about-capabilities .rx-wrap::before { content: ''; position: absolute; top: 0; left: clamp(22px, 4vw, 56px); right: clamp(22px, 4vw, 56px); height: 1px; background: var(--about-line); }
.rx-about .rx-mod--about-capabilities .rx-head { display: grid; grid-template-columns: 1fr 1fr; column-gap: 80px; margin-bottom: 34px; }
.rx-about .rx-mod--about-capabilities .rx-eyebrow { grid-column: 1 / -1; }
.rx-about .rx-mod--about-capabilities .rx-h2 { max-width: 15ch; }
.rx-about .rx-mod--about-capabilities .rx-lead { align-self: end; max-width: 34ch; color: var(--about-muted); margin-bottom: 12px; }
.rx-about .rx-about-capability-grid { grid-template-columns: repeat(4,minmax(0,1fr)); border: 0; gap: 0; background: none; }
.rx-about .rx-about-capability { background: none; border-left: 1px solid var(--about-line); padding: 12px 25px 0; gap: 15px; }
.rx-about .rx-about-capability:first-child { padding-left: 0; border: 0; }
.rx-about .rx-about-capability__index { color: #347046; font-size: 12px; margin-bottom: 23px; }
.rx-about .rx-about-capability h3 { font-size: 20px; font-weight: 550; }
.rx-about .rx-about-capability p { font-size: 14px; line-height: 1.75; color: var(--about-muted); }

.rx-about .rx-mod--about-products { background: #17271e; padding: 82px 0; color: #fff; }
.rx-about .rx-mod--about-products .rx-eyebrow { color: #a9eac2 !important; }
.rx-about .rx-mod--about-products .rx-h2 { color: #fff; max-width: 20ch; }
.rx-about .rx-mod--about-products .rx-lead { color: #b7c6ba !important; max-width: 55ch; }
.rx-about .rx-about-product-grid { grid-template-columns: repeat(4,minmax(0,1fr)); gap: 14px; }
.rx-about .rx-about-product { position: relative; grid-template-columns: 1fr; align-content: start; align-items: start; gap: 24px; padding: 26px; background: #26382b; border: 1px solid #4a5a4c; color: #fff; }
.rx-about .rx-about-product:hover { background: #304635; border-color: #a9eac2; transform: translateY(-4px); }
.rx-about .rx-about-product__number { position: absolute; top: 24px; right: 24px; font-size: 11px; color: #c0ccc1; }
.rx-about .rx-about-product__icon { background: #bed5ab; color: #182c20; width: 48px; height: 48px; border-radius: 12px; font-size: 20px; }
.rx-about .rx-about-product__body { gap: 10px; }
.rx-about .rx-about-product__body strong { color: #fff; font-size: 24px; font-weight: 500; }
.rx-about .rx-about-product__body span { color: #c1ccc1; line-height: 1.65; font-size: 13px; }
.rx-about .rx-about-product__body strong em { display: block; margin: 5px 0 0; color: #c1ccc1; font-size: 9px; }
.rx-about .rx-about-product > .rx-arrow { margin-top: auto; }
.rx-about .rx-about-product.is-soon { opacity: 1; background: transparent; border-style: dashed; }
.rx-about .rx-about-product.is-soon .rx-about-product__icon { background: #405244; color: #d4e1d2; }
.rx-about .rx-mod--about-products .rx-more { color: #fff; font-size: 13px; }

.rx-about .rx-mod--about-work { background: var(--about-paper); padding: 90px 0; }
.rx-about .rx-mod--about-work .rx-h2 { max-width: 20ch; }
.rx-about .rx-about-work-grid { gap: 38px 28px; }
.rx-about .rx-about-work-card { gap: 17px; }
.rx-about .rx-about-work-card figure { aspect-ratio: 1.6; border-radius: 3px; }
.rx-about .rx-about-work-card__meta { position: relative; padding-right: 32px; gap: 7px; }
.rx-about .rx-about-work-card__meta::after { content: '↗'; position: absolute; right: 0; top: 8px; color: #294b35; font-size: 24px; }
.rx-about .rx-about-work-card__meta strong { font-size: 22px; font-weight: 500; }
.rx-about .rx-about-work-card__meta span { font-size: 10px; color: #59635c; }
.rx-about .rx-mod--about-partners { background: #fff; padding: 60px 0; border-color: var(--about-line); }
.rx-about .rx-mod--about-partners .rx-head { display: grid; grid-template-columns: 1fr 1fr; gap: 0 60px; margin-bottom: 25px; }
.rx-about .rx-mod--about-partners .rx-eyebrow { grid-column: 1/-1; }
.rx-about .rx-mod--about-partners .rx-h2 { font-size: 34px; }
.rx-about .rx-mod--about-partners .rx-lead { font-size: 15px; }
.rx-about .rx-about-partners { gap: 18px; }
.rx-about .rx-about-partners figure { min-height: 108px; border: 0; background: #f5f6f3; border-radius: 3px; padding: 20px; }
.rx-about .rx-about-partners figure.is-dark { background: #17231d; }
.rx-about .rx-about-partners img { max-height: 62px; }
.rx-about .rx-about-partners > li > span { font-size: 11px; color: #59635c; }
/* One contact composition, with a separate and clearly labelled careers link. */
.rx-about-connect { padding: 76px 0 0; background: #f3f4ef; }
.rx-about-connect__grid { display: grid; grid-template-columns: 1.45fr 1fr; }
.rx-about-connect__project { padding: clamp(30px, 4vw, 54px); background: #17271e; color: #fff; }
.rx-about-connect__project .rx-eyebrow { color: #bfd1c3; margin: 0 0 22px; }
.rx-about-connect h2 { font-size: clamp(35px,3.6vw,50px); line-height: 1.12; letter-spacing: -.035em; font-weight: 450; max-width: 17ch; margin: 0 0 22px; }
.rx-about-connect h2 strong { font-weight: 500; color: #b4d4bd; }
.rx-about-connect__lead { color: #c0cdc3; font-size: 15px; line-height: 1.8; max-width: 46ch; margin: 0 0 30px; }
.rx-about-connect__actions { display: flex; align-items: center; flex-wrap: wrap; gap: 22px; }
.rx-about-button--light { background: #fff; color: #17271e; border-color: #fff; }
.rx-about-button--light:hover { background: #d9e8d8; border-color: #d9e8d8; }
.rx-about-text-link { display: inline-flex; align-items: center; gap: 12px; color: #fff; font-size: 13px; text-decoration: none; padding-block: 10px; }
.rx-about-text-link:hover { text-decoration: underline; text-underline-offset: 5px; }
.rx-about-connect__office { padding: clamp(30px, 4vw, 54px); background: #fff; border: 1px solid #dce1d7; }
.rx-about-connect__office .rx-eyebrow { color: #5a6e60; margin: 0 0 25px; }
.rx-about-connect__office h3 { font-size: 32px; font-weight: 500; letter-spacing: -.03em; margin: 0 0 20px; }
.rx-about-connect__office h3 span { display: block; font-size: 13px; font-weight: 400; letter-spacing: 0; color: #657367; margin-top: 6px; }
.rx-about-connect__office address { font-style: normal; font-size: 15px; line-height: 1.8; color: #45544a; max-width: 33ch; }
.rx-about-map-link { display: inline-flex; gap: 12px; align-items: center; margin-top: 20px; padding: 12px 16px; font-size: 13px; color: #284b34; background: #edf2e9; text-decoration: none; }
.rx-about-map-link:hover { background: #dce8d6; }
.rx-about-connect__legal { font-size: 11px; line-height: 1.7; color: #657367; max-width: 40ch; padding-top: 24px; margin: 24px 0 0; border-top: 1px solid #e3e8df; }
.rx-about-careers { display: flex; justify-content: space-between; align-items: center; gap: 24px; padding: 35px 0; }
.rx-about-careers .rx-eyebrow { color: #627767; font-size: 10px; }
.rx-about-careers p { margin: 6px 0 0; font-size: 19px; letter-spacing: -.02em; }
.rx-about-careers a { display: inline-flex; align-items: center; gap: 24px; color: #243d2b; text-decoration: none; font-size: 13px; padding: 15px 20px; border: 1px solid #bbc9b8; }
.rx-about-careers a:hover { background: #e3ebdc; }

@media (max-width: 1050px) {
  .rx-about-hero__grid { gap: 34px; }
  .rx-about-hero h1 { font-size: 48px; }
  .rx-about .rx-about-story { gap: 40px; }
  .rx-about .rx-about-product-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .rx-about .rx-about-capability-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 30px 0; }
  .rx-about .rx-about-capability:nth-child(3) { padding-left: 0; border-left: 0; }
  .rx-about .rx-about-work-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .rx-about .rx-about-partners { grid-template-columns: repeat(5,minmax(0,1fr)); }
  .rx-about-connect__grid { grid-template-columns: 1.2fr 1fr; }
}
@media (max-width: 760px) {
  .rx-about-hero { padding-top: 25px; }
  .rx-about-hero .rx-crumb { margin-bottom: 30px; }
  .rx-about-hero__grid { grid-template-columns: 1fr; gap: 28px; padding-bottom: 36px; }
  .rx-about-hero h1 { font-size: clamp(38px,7.6vw,54px); max-width: 21ch; letter-spacing: -.035em; }
  .rx-about-hero__intro > p { margin: 18px 0 24px; font-size: 16px; }
  .rx-about-index { display: grid; grid-template-columns: 1fr 1fr; gap: 12px 20px; }
  .rx-about .rx-about-nums { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px 0; }
  .rx-about .rx-about-nums li { padding: 0 20px; }
  .rx-about .rx-about-nums li:nth-child(3) { padding-left: 0; border-left: 0; }
  .rx-about .rx-mod--about-intro { padding: 56px 0; }
  .rx-about .rx-about-story { grid-template-columns: 1fr; gap: 24px; }
  .rx-about .rx-about-story__copy { padding: 0; }
  .rx-about .rx-about-story .rx-h2 { max-width: 17ch; }
  .rx-about .rx-mod--about-capabilities { padding-bottom: 55px; }
  .rx-about .rx-mod--about-capabilities .rx-head,
  .rx-about .rx-mod--about-partners .rx-head { display: block; }
  .rx-about .rx-mod--about-capabilities .rx-lead { max-width: 45ch; }
  .rx-about .rx-mod--about-products,.rx-about .rx-mod--about-work { padding: 56px 0; }
  .rx-about .rx-about-product { padding: 23px; }
  .rx-about .rx-about-product > .rx-arrow { display: block; }
  .rx-about .rx-about-work-grid { grid-template-columns: 1fr; gap: 30px; }
  .rx-about .rx-about-partners { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px 12px; }
  .rx-about .rx-about-partners figure { padding: 15px; min-height: 100px; }
  .rx-about-connect { padding-top: 48px; }
  .rx-about-connect__grid { grid-template-columns: 1fr; }
  .rx-about-careers { align-items: flex-start; flex-direction: column; gap: 18px; }

}
@media (max-width: 420px) {
  .rx-about .rx-about-product-grid { grid-template-columns: 1fr; }
  .rx-about .rx-about-product { gap: 18px; }
  .rx-about .rx-about-capability-grid { grid-template-columns: 1fr; }
  .rx-about .rx-about-capability { padding: 20px 0 0; border: 0; border-top: 1px solid var(--about-line); }
  .rx-about .rx-about-capability__index { margin-bottom: 0; }
  .rx-about .rx-about-partners { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (prefers-reduced-motion: reduce) {
  .rx-about *, .rx-about *::before, .rx-about *::after { transition: none !important; animation: none !important; scroll-behavior: auto !important; }
}
