.company-page { background: #f5f4ef; color: #14251f; }
.company-hero { padding: clamp(76px, 10vw, 140px) 0 clamp(62px, 8vw, 110px); color: #f8f7f1; background: #14251f; }
.company-hero .eyebrow, .company-cta .eyebrow { color: #b7c3ba; }
.company-hero h1 { margin: 26px 0 30px; font-size: clamp(58px, 9vw, 128px); line-height: .94; font-weight: 500; letter-spacing: -.065em; }
.company-hero h1 span { color: #f28d41; }
.company-hero p { max-width: 750px; margin: 0; color: #c7d0c9; font-size: clamp(18px, 2vw, 24px); line-height: 1.5; }
.company-intro, .company-approach, .company-details, .company-contact, .company-work { padding-block: clamp(64px, 8vw, 116px); }
.company-intro, .company-details { background: #f5f4ef; }
.company-work, .company-contact { background: #e9e8e1; }
.company-approach { background: #fffdf8; }
.company-split { display: grid; grid-template-columns: 220px minmax(0, 1fr); gap: clamp(36px, 8vw, 140px); }
.company-section-label { color: #b85d27; font-size: 12px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.company-page h2 { max-width: 850px; margin: 0 0 32px; font-size: clamp(38px, 5vw, 72px); line-height: 1.02; font-weight: 500; letter-spacing: -.055em; }
.company-page .company-lead .lead-form__head .eyebrow { color: rgba(255,255,255,.58); }
.company-page .company-lead .lead-form__title { max-width: 1040px; margin: 0; font-size: clamp(48px, 7vw, 108px); line-height: .92; letter-spacing: -.065em; }
.company-split p { max-width: 790px; margin: 0 0 20px; color: #59635d; font-size: clamp(18px, 1.75vw, 23px); line-height: 1.55; }
.company-work h2 { margin-top: 20px; }
.company-work__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 34px; margin: 54px 0 40px; border-top: 1px solid rgba(20,37,31,.25); }
.company-work__grid article { padding-top: 24px; }
.company-work__grid article > span { color: #b85d27; font-size: 13px; }
.company-work__grid h3 { margin: 48px 0 16px; font-size: clamp(26px, 3vw, 42px); line-height: 1.1; font-weight: 500; letter-spacing: -.04em; }
.company-work__grid p { max-width: 450px; margin: 0; color: #59635d; line-height: 1.55; }
.company-text-link { display: inline-block; margin-top: 18px; color: #b85d27; font-weight: 700; }
.company-text-link span { margin-left: 12px; }
.company-contact__grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 36px; margin-top: 26px; }
.company-contact__item { min-width: 0; padding: 32px 0; border-top: 1px solid rgba(20,37,31,.25); }
.company-contact__item h2 { margin-bottom: 42px; font-size: clamp(30px, 3.4vw, 48px); }
.company-contact__item a { display: inline-block; max-width: 100%; overflow-wrap: anywhere; color: #14251f; font-size: clamp(21px, 2.4vw, 34px); letter-spacing: -.04em; }
.company-contact__item a:hover, .company-contact__item a:focus-visible { color: #b85d27; }
.company-contact__item a span { color: #b85d27; }
.company-contact__item p { max-width: 440px; margin: 24px 0 0; color: #59635d; line-height: 1.5; }
.company-details dl { max-width: 850px; margin: 0; }
.company-details dl > div { display: grid; grid-template-columns: 140px minmax(0,1fr); gap: 24px; padding: 20px 0; border-top: 1px solid rgba(20,37,31,.2); }
.company-details dt { color: #65716b; }
.company-details dd { margin: 0; font-size: clamp(18px, 1.8vw, 24px); line-height: 1.4; }
.company-map { padding-block: clamp(64px, 8vw, 112px); color: #f8f7f1; background: #14251f; }
.company-map .company-section-label { color: #f28d41; }
.company-map__title { margin-top: 22px !important; }
.company-map__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px; }
.company-map__location { display: flex; flex-direction: column; min-width: 0; }
.company-map__heading { display: flex; flex: 1; align-items: start; flex-direction: column; gap: 18px; margin: 0 0 28px; }
.company-map__heading h3 { margin: 0; font-size: clamp(28px, 3vw, 42px); line-height: 1.12; font-weight: 500; letter-spacing: -.04em; }
.company-map__heading p { margin: 0; color: #c7d0c9; font-size: clamp(18px, 2vw, 24px); line-height: 1.4; }
.company-map__heading a { margin-top: auto; padding-bottom: 5px; color: #f28d41; font-weight: 700; }
.company-map__heading a:hover, .company-map__heading a:focus-visible { color: #fff; }
.company-map__heading a span { margin-left: 10px; }
.company-map__frame { height: clamp(320px, 32vw, 420px); overflow: hidden; background: #e9e8e1; }
.company-map__frame iframe { display: block; width: 100%; height: 100%; border: 0; }
.company-cta { padding: clamp(68px, 9vw, 120px) 0; color: #f8f7f1; background: #14251f; }
.company-cta h2 { max-width: 900px; margin: 20px 0 32px; }
.company-page--contacts .company-cta { color: #14251f; background: #e9e8e1; }
.company-page--contacts .company-cta .eyebrow { color: #b85d27; }
@media (max-width: 800px) {
  .company-split { grid-template-columns: 1fr; gap: 26px; }
  .company-work__grid { grid-template-columns: 1fr; gap: 0; margin-top: 32px; }
  .company-work__grid article { padding-bottom: 28px; border-bottom: 1px solid rgba(20,37,31,.2); }
  .company-work__grid h3 { margin-top: 28px; }
  .company-map__grid { grid-template-columns: 1fr; gap: 44px; }
}
@media (max-width: 600px) {
  .company-hero h1 { font-size: clamp(50px, 13vw, 76px); }
  .company-contact__grid { grid-template-columns: 1fr; gap: 0; }
  .company-details dl > div { grid-template-columns: 1fr; gap: 8px; }
  .company-page h2 { font-size: clamp(36px, 10vw, 52px); }
}

/* About page refresh: content from the supplied concept, inside site templates. */
.company-page--about-refresh { --about-ink: #14251f; --about-orange: #f28d41; --about-orange-dark: #b85d27; --about-paper: #f5f4ef; --about-grey: #e9e8e1; }
.about-refresh__hero { position: relative; overflow: hidden; padding: clamp(76px,10vw,140px) 0 clamp(62px,8vw,110px); color: #f8f7f1; background: var(--about-ink); }
.about-refresh__hero::after { content: ""; position: absolute; width: min(54vw,720px); aspect-ratio: 1; right: -9%; top: 7%; border: 1px solid rgba(242,141,65,.3); border-radius: 50%; box-shadow: 0 0 0 54px rgba(242,141,65,.035),0 0 0 108px rgba(242,141,65,.025); pointer-events: none; }
.about-refresh__hero .shell { position: relative; z-index: 1; }
.about-refresh__hero .eyebrow { color: #b7c3ba; }
.about-refresh__hero h1 { margin: 26px 0 30px; font-size: clamp(58px,9vw,128px); line-height: .94; font-weight: 500; letter-spacing: -.065em; }
.about-refresh__hero h1 span { color: var(--about-orange); }
.about-refresh__hero p { max-width: 820px; margin: 0; color: #c7d0c9; font-size: clamp(18px,2vw,24px); line-height: 1.5; }
.about-refresh__hero-meta { margin-top: clamp(56px,7vw,90px); padding-top: 16px; border-top: 1px solid rgba(255,255,255,.2); color: rgba(255,255,255,.62); font-size: 11px; letter-spacing: .14em; text-transform: uppercase; }
.about-refresh__section { padding-block: clamp(64px,8vw,116px); border-bottom: 1px solid rgba(20,37,31,.18); }
.about-refresh__section--paper { background: var(--about-paper); }
.about-refresh__section--grey { background: var(--about-grey); }
.about-refresh__section--ink { color: #f8f7f1; background: var(--about-ink); }
.about-refresh__split,.about-refresh__team-head { display: grid; grid-template-columns: minmax(0,1fr); align-items: start; }
.about-refresh__section h2 { max-width: 980px; margin: 0 0 32px; font-size: clamp(38px,5vw,72px); line-height: 1.02; font-weight: 500; letter-spacing: -.055em; }
.about-refresh__copy { max-width: 820px; display: grid; gap: 20px; }
.about-refresh__copy p,.about-refresh__team-head > div:last-child > p { margin: 0; color: #59635d; font-size: clamp(18px,1.75vw,23px); line-height: 1.55; }
.about-refresh__history { margin-top: clamp(54px,7vw,96px); display: grid; grid-template-columns: minmax(0,1.1fr) minmax(300px,.9fr); gap: clamp(48px,7vw,110px); align-items: end; }
.about-refresh__year { color: var(--about-ink); font-size: clamp(118px,20vw,340px); line-height: .73; letter-spacing: -.09em; font-weight: 500; }
.about-refresh__history-text { padding-bottom: 12px; color: #59635d; font-size: 17px; line-height: 1.6; }
.about-refresh__history-text strong { display: block; margin-bottom: 18px; color: var(--about-ink); font-size: clamp(28px,3vw,44px); line-height: 1.05; letter-spacing: -.04em; font-weight: 500; }
.about-refresh__history-text p { margin: 0; }
.about-refresh__director { display: grid; grid-template-columns: minmax(0,1.12fr) minmax(300px,.88fr); gap: clamp(40px,7vw,110px); align-items: stretch; }
.about-refresh__director-photo { min-height: 560px; overflow: hidden; background: #d9d8d2; }
.about-refresh__director-photo img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 47%; }
.about-refresh__director-info { display: flex; flex-direction: column; justify-content: flex-end; padding-top: 28px; border-top: 1px solid rgba(20,37,31,.22); }
.about-refresh__person-role { margin-bottom: 20px; color: var(--about-orange-dark); font-size: 12px; line-height: 1; letter-spacing: .12em; text-transform: uppercase; font-weight: 700; }
.about-refresh__director-info h3 { margin: 0; font-size: clamp(46px,5.2vw,84px); line-height: .93; letter-spacing: -.055em; font-weight: 500; }
.about-refresh__bio { margin-top: 36px; display: grid; gap: 18px; max-width: 620px; color: #59635d; font-size: 17px; line-height: 1.58; }
.about-refresh__bio p { margin: 0; }
.about-refresh__team-head { margin-top: clamp(80px,11vw,150px); }
.about-refresh__team-head h2 { margin-bottom: 24px; }
.about-refresh__team-grid { margin-top: clamp(52px,7vw,94px); display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; }
.about-refresh__team-card { min-width: 0; }
.about-refresh__team-photo { aspect-ratio: 4/5; overflow: hidden; background: #d7d6cf; }
.about-refresh__team-photo img { width: 100%; height: 100%; object-fit: cover; }
.about-refresh__team-card--shlein img { object-position: 59% 50%; }
.about-refresh__team-card--yurov img { object-position: 50% 0%; }
.about-refresh__team-meta { margin-top: 18px; padding-top: 18px; border-top: 1px solid rgba(20,37,31,.22); }
.about-refresh__team-meta h3 { margin: 0; font-size: clamp(22px,1.9vw,31px); line-height: 1.08; letter-spacing: -.035em; font-weight: 500; }
.about-refresh__team-meta p { margin: 9px 0 0; color: #65716b; font-size: 14px; line-height: 1.4; }
.about-refresh__team-meta .about-refresh__team-bio { min-height: 7.2em; margin-top: 22px; color: #59635d; font-size: 15px; line-height: 1.55; }
.about-refresh__credentials { margin: 22px 0 0; border-top: 1px solid rgba(20,37,31,.16); }
.about-refresh__credentials > div { display: grid; grid-template-columns: minmax(0,1.1fr) minmax(0,.9fr); align-items: start; gap: 16px; padding: 12px 0; border-bottom: 1px solid rgba(20,37,31,.16); font-size: 13px; line-height: 1.4; }
.about-refresh__credentials dt { color: #65716b; }
.about-refresh__credentials dd { min-width: 0; margin: 0; color: var(--about-ink); font-weight: 700; text-align: right; overflow-wrap: anywhere; }
.about-refresh__section--ink h2 { color: #f8f7f1; }
.about-refresh__directions-intro { max-width: 780px; margin: 0 0 50px; color: #c7d0c9; font-size: clamp(18px,1.6vw,22px); line-height: 1.55; }
.about-refresh__directions-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); border-top: 1px solid rgba(255,255,255,.22); }
.about-refresh__directions-grid article { min-height: 280px; padding: 24px 30px 30px 0; border-right: 1px solid rgba(255,255,255,.22); }
.about-refresh__directions-grid article + article { padding-left: 30px; }
.about-refresh__directions-grid article:last-child { padding-right: 0; border-right: 0; }
.about-refresh__process-grid article > span { color: var(--about-orange); font-size: 12px; letter-spacing: .08em; }
.about-refresh__directions-grid h3 { margin: 24px 0 16px; font-size: clamp(26px,2.7vw,40px); line-height: 1.06; letter-spacing: -.04em; font-weight: 500; }
.about-refresh__directions-grid p { max-width: 440px; margin: 0; color: #c7d0c9; line-height: 1.55; }
.about-refresh__process-grid { margin-top: 54px; display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); border-top: 1px solid rgba(20,37,31,.22); }
.about-refresh__process-grid article { min-height: 250px; padding: 22px 24px 28px 0; }
.about-refresh__process-grid article + article { padding-left: 24px; border-left: 1px solid rgba(20,37,31,.22); }
.about-refresh__process-grid article > span { color: var(--about-orange-dark); }
.about-refresh__process-grid h3 { margin: 34px 0 12px; font-size: clamp(23px,2.1vw,31px); line-height: 1.08; font-weight: 500; letter-spacing: -.035em; }
.about-refresh__process-grid p { margin: 0; color: #65716b; font-size: 15px; line-height: 1.55; }
.about-refresh__lead { padding-block: clamp(72px,9vw,130px); }
.about-refresh__lead .lead-form__title { max-width: 1040px; margin: 0; font-size: clamp(48px,7vw,108px); line-height: .92; letter-spacing: -.065em; }
@media (max-width: 1180px) {
  .about-refresh__team-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 46px 20px; }
  .about-refresh__team-meta .about-refresh__team-bio { min-height: 0; }
}
@media (max-width: 900px) {
  .about-refresh__split,.about-refresh__team-head,.about-refresh__history,.about-refresh__director { grid-template-columns: 1fr; }
  .about-refresh__history { gap: 30px; }
  .about-refresh__year { font-size: clamp(118px,28vw,240px); }
  .about-refresh__director-photo { min-height: 620px; }
  .about-refresh__directions-grid { grid-template-columns: 1fr; }
  .about-refresh__directions-grid article,.about-refresh__directions-grid article + article { min-height: 0; padding: 24px 0 30px; border-right: 0; border-bottom: 1px solid rgba(255,255,255,.2); }
  .about-refresh__directions-grid article:last-child { border-bottom: 0; }
  .about-refresh__directions-grid h3 { margin-top: 28px; }
  .about-refresh__process-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .about-refresh__process-grid article:nth-child(3) { padding-left: 0; border-left: 0; border-top: 1px solid rgba(20,37,31,.22); }
  .about-refresh__process-grid article:nth-child(4) { border-top: 1px solid rgba(20,37,31,.22); }
}
@media (max-width: 600px) {
  .about-refresh__hero h1 { font-size: clamp(50px,13vw,76px); }
  .about-refresh__team-grid { grid-template-columns: 1fr; gap: 38px; }
  .about-refresh__director-photo { min-height: 0; aspect-ratio: 4/5; }
  .about-refresh__section h2 { font-size: clamp(36px,10vw,52px); }
  .about-refresh__process-grid { grid-template-columns: 1fr; }
  .about-refresh__process-grid article,.about-refresh__process-grid article + article { min-height: 0; padding: 22px 0 28px; border-left: 0; border-top: 1px solid rgba(20,37,31,.22); }
  .about-refresh__process-grid article:first-child { border-top: 0; }
}
