.heritage-page { background: #101010; }

.heritage-hero {
  position: relative;
  min-height: 100svh;
  display: flex;
  align-items: flex-end;
  overflow: hidden;
  background: #111;
}

.heritage-hero > img,
.heritage-hero-shade {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.heritage-hero > img { object-fit: cover; object-position: 51% center; filter: saturate(.72) contrast(1.08); }
.heritage-hero-shade { background: linear-gradient(90deg, rgba(7,7,7,.94) 0%, rgba(7,7,7,.62) 52%, rgba(7,7,7,.15) 100%), linear-gradient(0deg, rgba(7,7,7,.75) 0%, transparent 50%); }

.heritage-hero-copy {
  position: relative;
  z-index: 1;
  width: min(1500px, calc(100% - 10vw));
  margin: 0 auto;
  padding: 170px 0 80px;
}

.heritage-hero h1 {
  max-width: 1050px;
  margin: 26px 0 28px;
  font-family: 'Barlow Condensed', sans-serif;
  font-size: clamp(74px, 10vw, 166px);
  font-weight: 700;
  line-height: .78;
  letter-spacing: -3px;
}

.heritage-hero h1 .outline { color: transparent; -webkit-text-stroke: 1.5px #fff; }
.heritage-hero h1 em { color: #ff583c; font-style: normal; }
.heritage-hero-copy > p:not(.eyebrow) { max-width: 610px; margin: 0 0 32px; color: #deddd7; font-size: clamp(18px, 1.45vw, 23px); line-height: 1.55; }
.heritage-back { position: absolute; z-index: 2; right: 5vw; bottom: 32px; color: #fff; font-size: 13px; letter-spacing: 1px; text-transform: uppercase; }

.heritage-manifesto { padding-top: clamp(90px, 11vw, 180px); padding-bottom: clamp(90px, 11vw, 180px); }
.heritage-kicker { color: #ff583c; font-size: 13px; font-weight: 600; letter-spacing: 1.7px; text-transform: uppercase; }
.heritage-manifesto blockquote { max-width: 1280px; margin: 34px 0 58px; font-family: 'Barlow Condensed', sans-serif; font-size: clamp(46px, 6vw, 96px); font-weight: 500; line-height: .98; letter-spacing: -1.5px; text-transform: uppercase; }
.heritage-manifesto blockquote em { color: #ff583c; font-style: normal; }
.heritage-manifesto-copy { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(28px, 8vw, 140px); max-width: 1040px; margin-left: auto; }
.heritage-manifesto-copy p { margin: 0; color: #c1c0bb; font-size: 19px; line-height: 1.65; }

.heritage-capabilities { padding: clamp(90px, 10vw, 150px) 0; background: #f1f0ea; color: #121212; }
.heritage-section-heading { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(260px, .55fr); gap: clamp(36px, 8vw, 130px); align-items: end; margin-bottom: clamp(52px, 6vw, 90px); }
.heritage-section-heading h2 { margin: 0; font-size: clamp(62px, 7vw, 112px); line-height: .82; }
.heritage-section-heading > p { max-width: 490px; margin: 0 0 6px; color: inherit; opacity: .66; font-size: 18px; line-height: 1.65; }
.heritage-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-top: 1px solid #bab9b2; border-left: 1px solid #bab9b2; }
.heritage-grid article { min-height: 260px; padding: 28px; border-right: 1px solid #bab9b2; border-bottom: 1px solid #bab9b2; }
.heritage-grid span { color: #ff583c; font: 600 13px 'DM Sans', sans-serif; letter-spacing: 1px; }
.heritage-grid h3 { margin: 18px 0 16px; font: 600 clamp(28px, 2.2vw, 38px)/.95 'Barlow Condensed', sans-serif; text-transform: uppercase; }
.heritage-grid p { margin: 0; color: #5d5c58; font-size: 15px; line-height: 1.55; }

.heritage-process { padding-top: clamp(90px, 11vw, 170px); padding-bottom: clamp(90px, 11vw, 170px); }
.process-list { margin: 0; padding: 0; list-style: none; border-top: 1px solid #393939; }
.process-list li { display: grid; grid-template-columns: minmax(0, 1fr); align-items: center; padding: 30px 0; border-bottom: 1px solid #393939; }
.process-list li > span { color: #ff583c; font-size: 13px; letter-spacing: 1px; }
.process-list div { display: grid; grid-template-columns: minmax(180px, .7fr) minmax(0, 1fr); gap: 32px; align-items: baseline; }
.process-list strong { font: 600 clamp(34px, 4vw, 62px)/1 'Barlow Condensed', sans-serif; text-transform: uppercase; }
.process-list p { margin: 0; color: #9f9e99; font-size: 17px; }

.heritage-digital { display: grid; grid-template-columns: 1.06fr .94fr; min-height: 760px; background: #1b1b1b; }
.heritage-digital-image { min-height: 650px; }
.heritage-digital-image img { width: 100%; height: 100%; object-fit: cover; filter: grayscale(.18) contrast(1.05); }
.heritage-digital-copy { display: flex; flex-direction: column; justify-content: center; padding: clamp(60px, 7vw, 120px); }
.heritage-digital-copy h2 { margin: 22px 0 28px; font-size: clamp(58px, 6vw, 104px); line-height: .84; }
.heritage-digital-copy .lead { max-width: 580px; }
.digital-points { margin-top: 38px; border-top: 1px solid #3d3d3d; }
.digital-points > div { padding: 21px 0; border-bottom: 1px solid #3d3d3d; }
.digital-points strong { font: 600 24px 'Barlow Condensed', sans-serif; text-transform: uppercase; }
.digital-points p { margin: 7px 0 0; color: #aaa9a5; font-size: 15px; }

.heritage-case { display: grid; grid-template-columns: .86fr 1.14fr; background: #ff583c; color: #111; }
.heritage-case-copy { align-self: center; padding: clamp(60px, 8vw, 140px); }
.heritage-case .eyebrow { color: #111; }
.heritage-case h2 { margin: 22px 0 28px; font-size: clamp(70px, 8vw, 132px); line-height: .78; }
.heritage-case h2 em { color: #fff; }
.heritage-case-copy > p:not(.eyebrow) { max-width: 610px; }
.heritage-case figure { min-height: 760px; margin: 0; position: relative; overflow: hidden; }
.heritage-case figure img { width: 100%; height: 100%; object-fit: cover; }
.heritage-case figcaption { position: absolute; right: 20px; bottom: 18px; left: 20px; padding: 10px 13px; background: rgba(0,0,0,.72); color: #fff; font-size: 12px; }
.heritage-case .text-link { display: inline-block; margin-top: 24px; color: #111; font-weight: 600; text-transform: uppercase; border-bottom-color: #111; }

.heritage-ai { display: grid; grid-template-columns: 1.05fr .95fr; gap: clamp(52px, 9vw, 150px); align-items: center; padding-top: clamp(90px, 11vw, 170px); padding-bottom: clamp(90px, 11vw, 170px); }
.heritage-ai-image { position: relative; }
.heritage-ai-image::before { content: ''; position: absolute; left: -18px; top: -18px; width: 42%; height: 42%; border-top: 2px solid #ff583c; border-left: 2px solid #ff583c; }
.heritage-ai-image img { position: relative; width: 100%; aspect-ratio: 1.25; object-fit: cover; filter: saturate(.75); }
.heritage-ai h2 { margin: 22px 0 30px; font-size: clamp(58px, 6vw, 102px); line-height: .83; }
.heritage-ai-copy > p:not(.eyebrow) { max-width: 620px; }

.heritage-services { padding: clamp(90px, 10vw, 150px) 0; background: #f1f0ea; color: #111; }
.heritage-service-columns { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; background: #bdbcb6; border: 1px solid #bdbcb6; }
.heritage-service-columns article { padding: clamp(34px, 5vw, 72px); background: #f1f0ea; }
.heritage-service-columns h3 { margin: 0 0 24px; font: 600 clamp(42px, 4vw, 64px)/.95 'Barlow Condensed', sans-serif; text-transform: uppercase; }
.heritage-service-columns p { color: #53524e; font-size: 17px; line-height: 1.65; }
.heritage-service-columns span { display: block; margin-top: 44px; color: #ff583c; font-size: 13px; font-weight: 600; letter-spacing: 1px; text-transform: uppercase; }

.heritage-cta { padding: clamp(100px, 13vw, 210px) 5vw; text-align: center; }
.heritage-cta h2 { margin: 26px auto 46px; font-size: clamp(78px, 12vw, 190px); line-height: .75; }
.heritage-cta-actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; }
.heritage-cta .secondary { border: 1px solid #555; color: #fff; }

.heritage-more { display: inline-flex; align-items: center; gap: 22px; margin-top: 22px; padding: 18px 22px; background: #ff583c; color: #111; font-size: 13px; font-weight: 600; letter-spacing: .3px; text-transform: uppercase; }
.heritage-more::after { content: '↗'; }
.heritage-more:hover { background: #fff; }

@media (max-width: 1000px) {
  .heritage-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .heritage-digital, .heritage-case { grid-template-columns: 1fr; }
  .heritage-digital-image { min-height: 520px; }
  .heritage-case figure { min-height: 620px; order: -1; }
  .heritage-ai { grid-template-columns: 1fr; }
}

@media (max-width: 820px) {
  .heritage-hero-copy { width: min(100% - 42px, 760px); padding-bottom: 92px; }
  .heritage-hero h1 { font-size: clamp(62px, 17vw, 104px); letter-spacing: -1.5px; }
  .heritage-back { left: 21px; right: auto; bottom: 24px; }
  .heritage-manifesto-copy, .heritage-section-heading, .heritage-service-columns { grid-template-columns: 1fr; }
  .heritage-section-heading { gap: 24px; }
  .process-list li { grid-template-columns: 1fr; }
  .process-list div { grid-template-columns: 1fr; gap: 6px; }
  .heritage-digital-copy, .heritage-case-copy { padding: 70px 7vw; }
}

@media (max-width: 560px) {
  .heritage-hero { display: block; min-height: 0; padding-top: 80px; }
  .heritage-hero > img { position: relative; inset: auto; width: 100%; height: auto; object-fit: contain; object-position: center; filter: saturate(.82) contrast(1.04); }
  .heritage-hero-shade { display: none; }
  .heritage-hero-copy { width: 100%; padding: 56px 21px 112px; }
  .heritage-grid { grid-template-columns: 1fr; }
  .heritage-grid article { min-height: 210px; }
  .heritage-manifesto blockquote { font-size: 44px; }
  .heritage-digital-image { min-height: 380px; }
  .heritage-case figure { min-height: 470px; }
  .heritage-cta-actions { flex-direction: column; }
  .heritage-cta-actions .button { width: 100%; justify-content: center; }
}
