.about-page { background: var(--ink); }
.about-page .site-header { --header-background:#fff; --header-foreground:#171717; --header-link-divider:#d5d5d5; }
.about-shell { width: 1757px; max-width: calc(100% - 163px); height: 100%; margin-left: max(103px,calc((100vw - 1920px) / 2 + 103px)); position: relative; }

.about-intro { height: 550px; background: #fff; color: #171717; }
.about-intro .page-title-block { position:absolute; top:190px; left:-3px; right:0; }
.about-intro-copy { position: absolute; top: 365px; left: 0; right: 0; display: grid; grid-template-columns: 1fr 780px; gap: 80px; margin: 0; }
.about-intro-copy p { margin: 0; }
.about-label { color: transparent; background:linear-gradient(90deg,#a87432,#d4a542,#ebc331,#d4a542,#a87432); -webkit-background-clip:text; background-clip:text; font: 400 34px/1.1 Jost,sans-serif; letter-spacing: .02em; text-transform: uppercase; }
.about-intro-copy p:last-child { justify-self: end; width: 780px; padding-top: 8px; font: 300 26px/1.48 Jost,sans-serif; text-align: justify; }

.about-section-heading { position: relative; width: 100%; height: 82px; color: #fff; font: 300 38px/1 Jost,sans-serif; }
.about-section-heading span { position: absolute; top: 29px; left: 0; }
.about-section-heading i { position: absolute; top: 0; left: 0; right: 0; height: 1.5px; background: var(--gold-dark); }

.who { height: 1596px; background: var(--ink); }
.who .about-shell { padding-top: 0; }
.who .about-section-heading { position: absolute; top: 31px; left: 0; height: auto; }
.who .about-section-heading span { position: static; }
.who .about-section-heading i { display: none; }
.who h2 { position: absolute; top: 242px; left: -19px; width: 390px; margin: 0; font: 600 70px/.98 Inter,Arial,sans-serif; letter-spacing: -.055em; }
.who-media { position: absolute; top: 249px; left: 605px; width: 1152px; height: 867px; --parallax-pad: 86px; }
.who-media img { object-position: center 45%; }
.who-copy { position: absolute; top: 1183px; left: 605px; width: 1152px; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 40px; }
.who-copy p { margin: 0; font: 300 20px/1.54 Jost,sans-serif; text-align: justify; }

.mission { height: 1188px; background: var(--ink); }
.mission-copy { position: absolute; top: 240px; left: 540px; width: 570px; }
.mission-copy > p { width: 570px; margin: 0; font: 300 23px/1.52 Jost,sans-serif; text-align: justify; }
.mission blockquote { margin: 86px 0 0; width: 610px; font: 500 78px/1 Inter,Arial,sans-serif; letter-spacing: -.055em; }
.director { position: absolute; top: 240px; left: 1277px; width: 481px; margin: 0; }
.director-media { width: 100%; height: 628px; --parallax-pad: 58px; }
.director-media img { object-position: center 44%; filter: grayscale(1); }
.director figcaption { display: flex; flex-direction: column; margin-top: 23px; color: var(--gold); text-transform: uppercase; }
.director figcaption strong { font-size: 24px; font-weight: 500; letter-spacing: .01em; }
.director figcaption span { margin-top: 7px; color: #ccc; font-size: 16px; font-weight: 300; letter-spacing: .02em; }

.about-services { height: 932px; background: var(--ink); }
.about-services-lead { position: absolute; top: 252px; left: 0; width: 395px; display: block; margin: 0; }
.about-services h2 { margin: 47px 0 0; font: 600 66px/1.02 Inter,Arial,sans-serif; letter-spacing: -.045em; }
.about-services-lead p { width: 370px; margin: 54px 0 0; font: 300 25px/1.52 Jost,sans-serif; }
.about-services-lead::before { content: "Services"; color: var(--gold); font: 300 20px/1 Jost,sans-serif; text-transform: uppercase; }
.core-services { position: absolute; top: 275px; left: 604px; width: 1098px; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 91px; margin: 0; }
.core-services ul { margin: 0; padding: 0; list-style: none; }
.core-services li { height: 61px; padding: 5px 0 8px; border-bottom: 1px solid #555; font: 300 43px/1.08 Jost,sans-serif; white-space: nowrap; }

.about-process { height: 1128px; background: var(--ink); }
.about-steps { position: absolute; top: 174px; left: 776px; width: 480px; margin: 0; padding: 0; list-style: none; }
.about-steps li { min-height: 195px; display: grid; grid-template-columns: 65px 1fr; gap: 14px; cursor: default; }
.about-steps li > div { align-self: start; padding-left: 8px; border-left: 1.38px solid var(--gold-dark); }
.about-steps h3 { margin: -8px 0 13px; color: #2f2f2f; font-size: 76px; line-height: 1; letter-spacing: -.05em; font-weight: 900; text-transform: uppercase; transition: color .28s ease; }
.about-steps li:hover h3 { color: #818181; }
.about-steps p { width: 362px; margin: 0; font: 300 19px/1.34 Jost,sans-serif; }
.about-process-media { position: absolute; top: 174px; right: 0; width: 472px; height: 706px; --parallax-pad: 66px; }
.back-to-top { position: absolute; right: 0; bottom: 68px; display: inline-flex; align-items: center; justify-content: center; width: 252px; height: 56px; border: 1.5px solid var(--gold); background: var(--gold); color: #202020; font-size: 23px; font-weight: 700; text-decoration: none; transition: background-color .24s ease,color .24s ease; }
.back-to-top:hover, .back-to-top:focus-visible { background: var(--ink); color: var(--gold); }

@media (min-width: 1921px) {
  .about-shell { width: 1757px; max-width: none; }
}

@media (max-width: 1919px) {
  .about-intro { --about-title-inset:max(0px,calc(100px - 5.36vw)); }
  .about-shell { width: calc(100% - clamp(100px,10.72vw,201px)); max-width: none; margin-inline: auto; }

  .about-intro { height: 28.65vw; min-height: 344px; }
  .about-intro .page-title-block { top:clamp(130px,9.9vw,188px); left:var(--about-title-inset); right:0; }
  .about-intro-copy { top: calc(15.903vw + 56px); grid-template-columns: minmax(220px,1fr) minmax(470px,44.4%); gap: 5vw; }
  .about-label { font-size: clamp(24px,1.77vw,33px); }
  .about-intro-copy p:last-child { width: 100%; font-size: clamp(20px,1.35vw,25.5px); }

  .about-section-heading { height: 4.27vw; font-size: clamp(28px,1.98vw,37px); }
  .about-section-heading span { top: 1.51vw; }
  .who { height: 83.13vw; }
  .who .about-section-heading { top: 1.61vw; }
  .who h2 { top: 12.6vw; left: -1vw; width: 23%; font-size: clamp(52px,3.65vw,69px); }
  .who-media { top: 12.97vw; left: 34.43%; width: 65.57%; height: 45.16vw; }
  .who-copy { top: 61.61vw; left: 34.43%; width: 65.57%; gap: clamp(26px,2.08vw,39px); }
  .who-copy p { font-size: clamp(17px,1.04vw,19.5px); }

  .mission { height: 61.88vw; }
  .mission-copy { top: 12.5vw; left: 30.73%; width: 32.44%; }
  .mission-copy > p { width: 100%; font-size: clamp(19px,1.2vw,22.5px); }
  .mission blockquote { width: 107%; margin-top: 3.02vw; font-size: clamp(48px,3.75vw,70px); }
  .director { top: 12.5vw; left: 72.68%; width: 27.38%; }
  .director-media { height: 32.71vw; }
  .director figcaption { margin-top: 1.2vw; }

  .about-services { height: 48.54vw; }
  .about-services-lead { top: 13.13vw; left: 0; width: 22.48%; }
  .about-services h2 { margin-top: 2.45vw; font-size: clamp(47px,3.44vw,65px); }
  .about-services-lead p { width: 94%; margin-top: 2.81vw; font-size: clamp(19px,1.3vw,24.5px); }
  .core-services { top: 14.32vw; left: 34.38%; width: 62.49%; gap: 4.74vw; }
  .core-services li { height: 3.18vw; min-height: 46px; font-size: clamp(27px,2.24vw,42px); }

  .about-process { height: 58.75vw; }
  .about-steps { top: 9.06vw; left: 44.17%; width: 27.32%; }
  .about-steps li { min-height: 10.16vw; grid-template-columns: 3.39vw 1fr; gap: .73vw; }
  .about-steps h3 { font-size: clamp(56px,3.96vw,74px); }
  .about-steps p { width: 100%; font-size: clamp(16px,.99vw,18.5px); }
  .about-process-media { top: 9.06vw; width: 26.86%; height: 36.77vw; }
  .back-to-top { bottom: 3.54vw; width: 13.13vw; min-width: 210px; }
}

@media (max-width: 1199px) {
  .about-intro { --about-title-inset:60px; }
  .about-shell { width: calc(100% - 80px); }
  .about-intro { height: 430px; min-height: 0; }
  .about-intro-copy { top: 260px; grid-template-columns: 210px 1fr; gap: 42px; }
  .about-intro-copy p:last-child { font-size: 19px; }

  .about-section-heading { height: 70px; font-size: 25px; }
  .about-section-heading span { top: 24px; }
  .who, .mission, .about-services, .about-process { height: auto; }
  .who { padding: 28px 0 110px; }
  .who .about-shell { display: grid; grid-template-columns: 29% 71%; }
  .who .about-section-heading { position: relative; top: auto; grid-column: 1 / -1; height: 70px; }
  .who h2 { position: relative; top: auto; left: auto; grid-column: 1; grid-row: 2; width: 88%; margin: 84px 0 0; font-size: clamp(48px,5vw,60px); }
  .who-media { position: relative; top: auto; left: auto; grid-column: 2; grid-row: 2; width: 100%; height: 52vw; max-height: 630px; margin-top: 82px; }
  .who-copy { position: relative; top: auto; left: auto; grid-column: 2; width: 100%; margin-top: 54px; gap: 28px; }
  .who-copy p { font-size: 17px; }

  .mission { padding: 0 0 110px; }
  .mission .about-shell { display: grid; grid-template-columns: 64% 36%; column-gap: 42px; }
  .mission .about-section-heading { grid-column: 1 / -1; }
  .mission-copy { position: relative; top: auto; left: auto; grid-column: 1; width: 72%; margin: 78px 0 0 auto; }
  .mission-copy > p { font-size: 18px; }
  .mission blockquote { width: 105%; margin-top: 62px; font-size: clamp(44px,5vw,58px); }
  .director { position: relative; top: auto; left: auto; grid-column: 2; width: 100%; margin-top: 78px; }
  .director-media { height: 53vw; max-height: 630px; }

  .about-services { padding: 0 0 105px; }
  .about-services .about-shell { display: grid; grid-template-columns: 28% 72%; }
  .about-services .about-section-heading { grid-column: 1 / -1; }
  .about-services-lead { position: relative; top: auto; left: auto; grid-column: 1; width: 90%; margin-top: 78px; }
  .about-services h2 { margin-top: 34px; font-size: clamp(45px,5vw,58px); }
  .about-services-lead p { width: 100%; margin-top: 42px; font-size: 19px; }
  .core-services { position: relative; top: auto; left: auto; grid-column: 2; width: 100%; gap: 34px; margin-top: 78px; }
  .core-services li { height: 50px; min-height: 0; font-size: clamp(22px,2.6vw,30px); }

  .about-process { padding: 0 0 78px; }
  .about-process .about-shell { display: grid; grid-template-columns: 38% 35% 27%; }
  .about-process .about-section-heading { grid-column: 1 / -1; }
  .about-steps { position: relative; top: auto; left: auto; grid-column: 2; width: calc(100% - 26px); margin: 74px 26px 0 0; }
  .about-steps li { min-height: 176px; grid-template-columns: 55px 1fr; gap: 8px; }
  .about-steps h3 { font-size: clamp(48px,5.5vw,62px); }
  .about-steps p { font-size: 16px; }
  .about-process-media { position: relative; top: auto; right: auto; grid-column: 3; width: 100%; height: 620px; margin-top: 74px; }
  .back-to-top { position: relative; right: auto; bottom: auto; grid-column: 3; justify-self: end; width: min(100%,252px); min-width: 0; margin-top: 34px; }
}

@media (max-width: 900px) {
  .about-intro { --about-title-inset:0px; }
  .about-shell { width: calc(100% - 48px); }
  .about-intro { height: 430px; min-height: 0; }
  .about-intro .page-title-block { top:90px; }
  .about-intro-copy { top: 220px; grid-template-columns: 1fr; gap: 26px; margin: 0; }
  .about-intro-copy p:last-child { justify-self: start; width: min(100%,650px); font-size: 21px; }
  .about-section-heading { font-size: 18px; }
  .who { padding-bottom: 92px; }
  .who .about-shell, .mission .about-shell, .about-services .about-shell, .about-process .about-shell { display: block; }
  .who h2, .about-services h2 { width: 100%; margin-top: 58px; font-size: clamp(48px,8vw,64px); }
  .who-media { width: 100%; height: clamp(480px,85vw,680px); margin-top: 48px; }
  .who-copy { width: 100%; grid-template-columns: 1fr; gap: 28px; margin-top: 48px; }
  .who-copy p { font-size: 20px; text-align: left; }
  .mission { padding-bottom: 92px; }
  .mission-copy { width: 100%; margin-top: 58px; }
  .mission-copy > p { font-size: 21px; }
  .mission blockquote { width: 100%; margin-top: 62px; font-size: clamp(38px,6vw,50px); }
  .director { position: relative; top: auto; right: auto; width: min(100%,520px); margin: 75px 0 0 auto; }
  .director-media { height: 650px; }
  .about-services { padding-bottom: 90px; }
  .about-services-lead { width: 100%; margin-top: 58px; }
  .about-services-lead p { justify-self: start; font-size: 21px; }
  .core-services { width: 100%; grid-template-columns: 1fr; gap: 0; margin-top: 52px; }
  .core-services li { min-height: 55px; font-size: 21px; }
  .about-process { padding-bottom: 64px; }
  .about-steps { position: relative; top: auto; left: auto; width: min(100%,520px); margin: 75px auto 0; }
  .about-steps li { min-height: 180px; }
  .about-process-media { position: relative; top: auto; bottom: auto; right: auto; left: auto; width: 100%; height: 370px; margin-top: 48px; }
  .back-to-top { position: relative; left: auto; right: auto; bottom: auto; width: 210px; margin: 28px 0 0 auto; }
}

@media (max-width: 600px) {
  .about-shell { width: calc(100% - 36px); }
  .about-intro { height: 440px; min-height: 0; }
  .about-intro-copy { top: 204px; }
  .about-intro-copy p:last-child { font-size: 19px; }
  .who { padding-top: 55px; }
  .who h2, .about-services h2 { font-size: clamp(42px,12vw,54px); }
  .who-media { height: 520px; }
  .who-copy p, .mission-copy > p, .about-services-lead p { font-size: 19px; }
  .mission blockquote { font-size: clamp(34px,9.5vw,44px); }
  .director { width: 100%; }
  .director-media { height: min(132vw,620px); }
  .core-services li { font-size: 18px; }
  .about-process { height: auto; }
  .about-steps { margin-top: 58px; }
  .about-steps li { min-height: 178px; grid-template-columns: 54px 1fr; gap: 5px; }
  .about-steps .step-number { font-size: 36px; }
  .about-steps h3 { font-size: clamp(45px,14vw,60px); }
  .about-steps p { width: auto; font-size: 16px; }
  .about-process-media { height: 330px; }
}

@media (prefers-reduced-motion: reduce) {
  .about-steps h3 { transition: none; }
}
