@import "tailwindcss";

:root {
  --ink: #0c0d0a;
  --carbon: #151611;
  --carbon-soft: #20211b;
  --paper: #fbf9f4;
  --ivory: #f0ece2;
  --sand: #e5dfd2;
  --gold: #c6a665;
  --gold-light: #e0ca99;
  --gold-dark: #80683b;
  --copy: #55544c;
  --line: rgba(16, 17, 13, 0.16);
  --serif: "Iowan Old Style", "Baskerville", "Times New Roman", serif;
  --sans: "Helvetica Neue", "Neue Haas Grotesk Text Pro", Arial, sans-serif;
}

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
  background: var(--ink);
}

body {
  margin: 0;
  background: var(--paper);
  color: var(--ink);
  font-family: var(--sans);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

body, a, button, summary {
  cursor: default;
}

a, button, summary {
  color: inherit;
  text-decoration: none;
  cursor: pointer;
}

img, video {
  display: block;
  max-width: 100%;
}

figure {
  margin: 0;
}

::selection {
  background: var(--gold);
  color: var(--ink);
}

:focus-visible {
  outline: 2px solid var(--gold);
  outline-offset: 5px;
}

.pageShell {
  width: min(calc(100% - 72px), 1480px);
  margin-inline: auto;
}

.kicker {
  margin: 0;
  color: var(--gold-dark);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.24em;
  line-height: 1.4;
  text-transform: uppercase;
}

.kickerGold {
  color: var(--gold-light);
}

h1, h2, h3, blockquote {
  font-family: var(--serif);
  font-weight: 400;
  letter-spacing: -0.045em;
}

h1 em, h2 em {
  color: var(--gold);
  font-style: italic;
  font-weight: 400;
}

.largeCopy {
  color: #33332d;
  font-family: var(--serif);
  font-size: clamp(24px, 2.6vw, 39px);
  line-height: 1.42;
  letter-spacing: -0.025em;
}

.bodyCopy p {
  color: var(--copy);
  font-size: 17px;
  line-height: 1.82;
}

/* Header */
.globalHeader {
  position: absolute;
  z-index: 100;
  top: 0;
  left: 0;
  width: 100%;
  color: #fff;
}

.headerInner {
  width: min(calc(100% - 72px), 1480px);
  min-height: 110px;
  margin-inline: auto;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  border-bottom: 1px solid rgba(255, 255, 255, .24);
}

.headerBrand {
  position: relative;
  z-index: 102;
  width: 145px;
}

.headerBrand img {
  width: 100%;
  height: auto;
  filter: drop-shadow(0 2px 5px rgba(0, 0, 0, .22));
}

.desktopNav {
  display: flex;
  align-items: center;
  gap: clamp(24px, 3vw, 46px);
}

.desktopNav a, .headerEnquire {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .2em;
  text-transform: uppercase;
  transition: color .25s ease;
}

.desktopNav a:hover, .headerEnquire:hover {
  color: var(--gold-light);
}

.desktopNav a {
  position: relative;
}

.desktopNav a.isActive {
  color: var(--gold-light);
}

.desktopNav a.isActive::after {
  content: "";
  position: absolute;
  left: 0;
  right: .2em;
  bottom: -14px;
  height: 1px;
  background: var(--gold-light);
}

.headerEnquire {
  justify-self: end;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding-bottom: 7px;
  border-bottom: 1px solid var(--gold);
}

.lineArrow {
  display: inline-block;
  flex: 0 0 auto;
  width: 14px;
  height: 14px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.15;
  stroke-linecap: square;
  stroke-linejoin: miter;
}

.mobileMenu {
  display: none;
}

/* Reusable links */
.arrowLink {
  display: inline-flex;
  align-items: center;
  gap: 18px;
  min-width: 210px;
  padding: 0 0 11px;
  border-bottom: 1px solid var(--gold-dark);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .18em;
  text-transform: uppercase;
  transition: color .25s ease, border-color .25s ease;
}

.arrowLink .lineArrow {
  margin-left: auto;
  transition: transform .25s ease;
}

.arrowLink:hover {
  color: var(--gold-dark);
}

.arrowLink:hover .lineArrow {
  transform: translate(3px, -3px);
}

.arrowLinkLight {
  color: #fff;
  border-color: rgba(255, 255, 255, .42);
}

.arrowLinkLight:hover {
  color: var(--gold-light);
  border-color: var(--gold-light);
}

/* Home hero */
.homeHero {
  position: relative;
  min-height: max(780px, 100svh);
  overflow: hidden;
  background: var(--ink);
  color: #fff;
}

.homeHeroFilm {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  animation: heroReveal 1.5s ease both;
}

.homeHeroShade {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(8, 9, 7, .88) 0%, rgba(8, 9, 7, .54) 42%, rgba(8, 9, 7, .16) 77%),
    linear-gradient(180deg, rgba(6, 7, 5, .58), transparent 35%, rgba(6, 7, 5, .7));
}

.homeHeroContent {
  position: relative;
  z-index: 2;
  padding-top: clamp(225px, 27vh, 310px);
}

.homeHeroContent h1 {
  max-width: 1120px;
  margin: 19px 0 0;
  font-size: clamp(64px, 7.9vw, 124px);
  line-height: .88;
}

.homeHeroContent>p:not(.kicker) {
  max-width: 600px;
  margin: 38px 0 0;
  color: rgba(255, 255, 255, .78);
  font-family: var(--serif);
  font-size: clamp(20px, 1.8vw, 28px);
  line-height: 1.5;
}

.heroLinks {
  display: flex;
  gap: 40px;
  margin-top: 43px;
}

.homeHeroMeta {
  position: absolute;
  z-index: 2;
  left: 50%;
  bottom: 28px;
  transform: translateX(-50%);
  display: flex;
  gap: 0;
  color: rgba(255, 255, 255, .65);
  font-size: 9px;
  font-weight: 600;
  letter-spacing: .19em;
  text-transform: uppercase;
}

.homeHeroMeta span {
  margin-right: 28px;
  padding-right: 28px;
  border-right: 1px solid rgba(255, 255, 255, .28);
}

.homeHeroMeta span:last-child {
  margin: 0;
  padding: 0;
  border: 0;
}

.filmCue {
  position: absolute;
  z-index: 2;
  right: 36px;
  bottom: 30px;
  display: flex;
  align-items: center;
  gap: 12px;
  color: rgba(255, 255, 255, .8);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .17em;
  text-transform: uppercase;
}

.filmCueIcon {
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border: 1px solid rgba(255, 255, 255, .46);
  border-radius: 50%;
}

.playIcon {
  width: 13px;
  height: 13px;
  fill: currentColor;
  transform: translateX(1px);
}

.homeManifesto {
  display: grid;
  grid-template-columns: 1.3fr .7fr;
  gap: clamp(60px, 10vw, 170px);
  padding-block: clamp(120px, 14vw, 220px);
}

.homeManifesto h2 {
  max-width: 920px;
  margin: 26px 0 0;
  font-size: clamp(52px, 6.2vw, 94px);
  line-height: 1.02;
}

.homeManifestoCopy {
  align-self: end;
  padding-bottom: 4px;
}

.homeManifestoCopy p {
  margin: 0 0 24px;
  color: var(--copy);
  font-size: 17px;
  line-height: 1.82;
}

.homeManifestoCopy .arrowLink {
  margin-top: 25px;
}

/* Antares feature */
.antaresFeature {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(410px, .75fr);
  min-height: 820px;
  background: var(--ink);
  color: #fff;
}

.antaresFeatureImage {
  position: relative;
  min-height: 690px;
  overflow: hidden;
}

.antaresFeatureImage img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 1.1s cubic-bezier(.2, .7, .2, 1);
}

.antaresFeature:hover .antaresFeatureImage img {
  transform: scale(1.02);
}

.antaresFeatureImage>span {
  position: absolute;
  left: 28px;
  bottom: 26px;
  padding: 12px 15px;
  background: rgba(10, 11, 9, .76);
  backdrop-filter: blur(8px);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .18em;
  text-transform: uppercase;
}

.antaresFeatureCopy {
  align-self: center;
  padding: clamp(56px, 6vw, 100px);
}

.antaresFeatureCopy h2 {
  margin: 22px 0 0;
  font-size: clamp(78px, 8vw, 132px);
  line-height: .82;
}

.featureSerif {
  max-width: 520px;
  margin: 36px 0;
  color: var(--gold-light);
  font-family: var(--serif);
  font-size: clamp(23px, 2.3vw, 34px);
  line-height: 1.4;
}

.featureStats {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  margin: 38px 0 42px;
  padding-block: 29px;
  border-block: 1px solid rgba(255, 255, 255, .17);
}

.featureStats div {
  display: flex;
  flex-direction: column;
  gap: 7px;
}

.featureStats strong {
  font-family: var(--serif);
  font-size: 36px;
  font-weight: 400;
}

.featureStats span {
  color: rgba(255, 255, 255, .53);
  font-size: 8px;
  font-weight: 700;
  letter-spacing: .17em;
  text-transform: uppercase;
}

.subtleExternal {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  width: max-content;
  margin-top: 28px;
  color: rgba(255, 255, 255, .5);
  font-size: 9px;
  letter-spacing: .13em;
  text-transform: uppercase;
  transition: color .25s ease;
}

.subtleExternal .lineArrow {
  width: 12px;
  height: 12px;
  transition: transform .25s ease;
}

.subtleExternal:hover .lineArrow {
  transform: translate(3px, -3px);
}

.subtleExternal:hover {
  color: var(--gold-light);
}

/* Real work */
.realWork {
  padding-block: clamp(120px, 14vw, 210px);
  background: var(--ivory);
}

.realWorkIntro {
  display: grid;
  grid-template-columns: 1fr .55fr;
  gap: 80px;
  align-items: end;
  margin-bottom: 84px;
}

.realWorkIntro .kicker {
  grid-column: 1 / -1;
}

.realWorkIntro h2 {
  margin: 0;
  font-size: clamp(54px, 6.3vw, 95px);
  line-height: 1;
}

.realWorkIntro>p:last-child {
  max-width: 500px;
  margin: 0 0 8px auto;
  color: var(--copy);
  font-size: 17px;
  line-height: 1.8;
}

.realWorkGrid {
  display: grid;
  grid-template-columns: 1.1fr .65fr .85fr;
  grid-template-rows: 390px 390px;
  gap: 4px;
}

.realWorkGrid figure {
  position: relative;
  overflow: hidden;
  background: #d8d3ca;
}

.realWorkGrid img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .85s cubic-bezier(.2, .7, .2, 1);
}

.realWorkGrid figure:hover img {
  transform: scale(1.025);
}

.realWorkGrid figcaption {
  position: absolute;
  left: 18px;
  bottom: 16px;
  padding: 9px 11px;
  background: rgba(11, 12, 9, .76);
  color: #fff;
  font-size: 8px;
  letter-spacing: .17em;
  text-transform: uppercase;
}

.realWorkTall {
  grid-row: 1 / 3;
}

.realWorkWide {
  grid-column: 2 / 4;
}

.centerLink {
  margin-top: 54px;
  text-align: center;
}

/* Legacy preview */
.legacyPreview {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 850px);
  justify-content: center;
  align-items: center;
  padding-block: clamp(130px, 15vw, 230px);
  overflow: hidden;
}

.legacyPreview::before {
  content: "03";
  position: absolute;
  z-index: 0;
  left: 49%;
  top: 50%;
  transform: translate(-50%, -50%);
  color: rgba(13, 14, 11, .035);
  font-family: var(--serif);
  font-size: min(38vw, 560px);
  line-height: 1;
}

.legacyPreviewCopy {
  position: relative;
  z-index: 1;
}

.legacyPortraitFounder {
  align-self: start;
  margin-top: 20px;
}

.legacyPortraitFamily {
  align-self: end;
  margin-bottom: 30px;
}

.legacyPortrait img {
  width: 100%;
  aspect-ratio: .76;
  object-fit: cover;
  filter: saturate(.75);
}

.legacyPreviewCopy {
  text-align: center;
}

.legacyPreviewCopy h2 {
  margin: 27px 0;
  font-size: clamp(51px, 5.3vw, 82px);
  line-height: 1.02;
}

.legacyPreviewCopy>p:not(.kicker) {
  max-width: 630px;
  margin: 0 auto 38px;
  color: var(--copy);
  font-size: 17px;
  line-height: 1.8;
}

/* Project index */
.portfolioSection {
  padding-block: clamp(110px, 13vw, 200px);
}

.sectionTopline {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 44px;
}

.sectionTopline>span {
  color: #77756d;
  font-size: 9px;
  letter-spacing: .17em;
  text-transform: uppercase;
}

.projectIndex {
  border-top: 1px solid var(--line);
}

.projectRow {
  display: grid;
  grid-template-columns: 60px 0px 1fr 170px 50px;
  align-items: center;
  min-height: 142px;
  border-bottom: 1px solid var(--line);
  transition: padding .35s ease, background .35s ease;
  overflow: hidden;
}

.projectRow:hover {
  padding-inline: 24px;
  background: var(--ivory);
}

.projectNumber, .projectStatus {
  color: var(--gold-dark);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .18em;
  text-transform: uppercase;
}

.projectThumb {
  width: 0;
  height: 88px;
  overflow: hidden;
  opacity: 0;
  transition: width .35s ease, opacity .35s ease, margin .35s ease;
}

.projectThumb img {
  width: 140px;
  height: 88px;
  object-fit: cover;
}

.projectRow:hover .projectThumb {
  width: 140px;
  margin-right: 26px;
  opacity: 1;
}

.projectName {
  font-family: var(--serif);
  font-size: clamp(36px, 4.5vw, 68px);
  letter-spacing: -.045em;
}

.projectName small {
  display: block;
  margin-top: 8px;
  color: #7c7a71;
  font-family: var(--sans);
  font-size: 8px;
  font-weight: 700;
  letter-spacing: .17em;
  text-transform: uppercase;
}

.projectArrow {
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  border: 1px solid var(--line);
  font-size: 18px;
  transition: background .25s ease, color .25s ease, transform .25s ease;
}

.projectArrow .lineArrow {
  width: 15px;
  height: 15px;
}

.projectRow:hover .projectArrow {
  background: var(--ink);
  color: #fff;
  transform: rotate(5deg);
}

/* Closing */
.homeClosing {
  display: grid;
  grid-template-columns: 1.25fr .75fr;
  min-height: 760px;
  background: var(--ink);
  color: #fff;
}

.homeClosingImage {
  overflow: hidden;
}

.homeClosingImage img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.homeClosingCopy {
  align-self: center;
  padding: clamp(55px, 6vw, 105px);
}

.homeClosingCopy h2 {
  margin: 28px 0 46px;
  font-size: clamp(52px, 6vw, 90px);
  line-height: 1;
}

/* Shared interior hero */
.interiorHero {
  position: relative;
  min-height: 720px;
  overflow: hidden;
  background: var(--ink);
  color: #fff;
}

.interiorHeroBg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.interiorHeroShade {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(9, 10, 8, .92), rgba(9, 10, 8, .54) 52%, rgba(9, 10, 8, .24)), linear-gradient(180deg, rgba(7, 8, 6, .5), transparent 30%, rgba(7, 8, 6, .52));
}

.interiorHero:not(.interiorHeroImage)::after {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 70% 30%, rgba(198, 166, 101, .14), transparent 34%), linear-gradient(135deg, transparent 64%, rgba(255, 255, 255, .025));
}

.interiorHeroContent {
  position: relative;
  z-index: 2;
  padding-top: 230px;
  padding-bottom: 90px;
}

.interiorHeroContent h1 {
  max-width: 1100px;
  margin: 25px 0 0;
  font-size: clamp(73px, 9.5vw, 146px);
  line-height: .85;
}

.interiorHeroLead {
  max-width: 610px;
  margin: 38px 0 0;
  color: rgba(255, 255, 255, .74);
  font-family: var(--serif);
  font-size: clamp(20px, 2vw, 30px);
  line-height: 1.5;
}

.founderHero {
  background: #090a08;
}

.founderHero .interiorHeroBg {
  left: 0;
  right: auto;
  width: 100%;
  object-position: center;
}

.founderHero .interiorHeroShade {
  background: linear-gradient(90deg, rgba(9, 10, 8, .96) 0%, rgba(9, 10, 8, .84) 31%, rgba(9, 10, 8, .36) 58%, rgba(9, 10, 8, .08) 100%), linear-gradient(180deg, rgba(7, 8, 6, .2), transparent 38%, rgba(7, 8, 6, .46));
}

.heroWatermark {
  position: absolute;
  z-index: 1;
  right: 3vw;
  bottom: -4vw;
  color: rgba(255, 255, 255, .055);
  font-family: var(--serif);
  font-size: min(30vw, 420px);
  line-height: .8;
  letter-spacing: -.08em;
}

/* About */
.editorialIntro {
  display: grid;
  grid-template-columns: .38fr 1.2fr .75fr;
  gap: clamp(40px, 6vw, 100px);
  padding-block: clamp(120px, 14vw, 210px);
}

.editorialNumber {
  margin: 3px 0 0;
  color: var(--gold-dark);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .18em;
  text-transform: uppercase;
}

.editorialIntro h2 {
  margin: 0;
  font-size: clamp(52px, 5.8vw, 88px);
  line-height: 1.02;
}

.editorialIntro .largeCopy {
  margin: 40px 0 0;
}

.editorialIntro .bodyCopy {
  padding-top: 6px;
}

.editorialIntro .bodyCopy p:first-child {
  margin-top: 0;
}

.aboutImageStatement {
  display: grid;
  grid-template-columns: 1.4fr .6fr;
  min-height: 720px;
  background: var(--ink);
  color: #fff;
}

.aboutImageStatement>img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.aboutImageStatement>div {
  align-self: center;
  padding: clamp(50px, 6vw, 100px);
}

.aboutImageStatement blockquote {
  margin: 32px 0;
  color: var(--gold-light);
  font-size: clamp(38px, 4.2vw, 66px);
  line-height: 1.1;
}

.aboutImageStatement>div>p:last-child {
  color: rgba(255, 255, 255, .62);
  font-size: 16px;
  line-height: 1.8;
}

.principles {
  padding-block: clamp(120px, 14vw, 210px);
}

.principleGrid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border-top: 1px solid var(--line);
}

.principleGrid article {
  min-height: 350px;
  padding: 42px 55px 20px 0;
}

.principleGrid article+article {
  padding-left: 55px;
  border-left: 1px solid var(--line);
}

.principleGrid span {
  color: var(--gold-dark);
  font-size: 10px;
  letter-spacing: .16em;
}

.principleGrid h3 {
  margin: 45px 0 23px;
  font-size: 46px;
}

.principleGrid p {
  color: var(--copy);
  font-size: 16px;
  line-height: 1.78;
}

.aboutPeople {
  display: grid;
  grid-template-columns: .72fr 1.1fr;
  gap: clamp(60px, 10vw, 180px);
  align-items: center;
  padding-bottom: clamp(130px, 15vw, 230px);
}

.aboutPeopleImage img {
  width: 100%;
  aspect-ratio: .82;
  object-fit: cover;
}

.aboutPeopleTextOnly {
  grid-template-columns: minmax(0, 920px);
  justify-content: center;
}

.aboutPeopleTextOnly .aboutPeopleCopy {
  width: 100%;
}

.aboutPeopleCopy h2 {
  margin: 26px 0;
  font-size: clamp(52px, 6vw, 90px);
  line-height: 1;
}

.aboutPeopleCopy>p:not(.kicker) {
  max-width: 620px;
  color: var(--copy);
  font-size: 18px;
  line-height: 1.8;
}

.dualLinks {
  display: flex;
  flex-wrap: wrap;
  gap: 34px;
  margin-top: 40px;
}

/* Legacy */
.legacyOpening {
  display: grid;
  grid-template-columns: .64fr 1.2fr;
  gap: clamp(60px, 10vw, 180px);
  align-items: center;
  padding: clamp(120px, 14vw, 215px) 0 clamp(40px, 4vw, 60px);
}

.legacyOpeningPortrait img {
  width: 100%;
  aspect-ratio: .78;
  object-fit: cover;
  filter: saturate(.7);
}

.legacyOpeningCopy h2 {
  margin: 24px 0;
  font-size: clamp(57px, 6.8vw, 100px);
  line-height: .98;
}

.legacyOpeningCopy .largeCopy {
  margin: 0 0 30px;
}

.legacyOpeningCopy>p:last-child {
  max-width: 680px;
  color: var(--copy);
  font-size: 17px;
  line-height: 1.82;
}

.legacyTimeline {
  padding-bottom: clamp(130px, 15vw, 220px);
}

.legacyTimeline article {
  display: grid;
  grid-template-columns: .56fr 1.04fr 1fr;
  gap: clamp(28px, 4vw, 70px);
  padding: 48px 0;
  border-top: 1px solid var(--line);
}

.legacyTimeline article:last-child {
  border-bottom: 1px solid var(--line);
}

.timelineMeta {
  display: flex;
  gap: 28px;
  align-items: flex-start;
}

.timelineMeta>span {
  color: var(--gold-dark);
  font-family: var(--serif);
  font-size: 31px;
}

.timelineMeta p {
  margin: 5px 0 0;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.timelineMeta small {
  display: block;
  margin-top: 9px;
  color: #85837a;
  font-size: 8px;
}

.legacyTimeline h3 {
  margin: 0;
  font-size: clamp(31px, 3.25vw, 52px);
  white-space: nowrap;
}

.legacyTimeline article>p {
  margin: 4px 0 0;
  color: var(--copy);
  font-size: 16px;
  line-height: 1.78;
}

.legacyFamilyCollage {
  display: grid;
  grid-template-columns: 1.15fr .85fr;
  min-height: 820px;
  background: var(--ink);
  color: #fff;
}

.legacyFamilyCollageTextOnly {
  grid-template-columns: minmax(0, 980px);
  justify-content: center;
  min-height: 650px;
}

.legacyFamilyCollageTextOnly .legacyCollageText {
  padding-inline: clamp(32px, 8vw, 130px);
  text-align: center;
}

.legacyFamilyCollageTextOnly .legacyCollageText>p:last-child {
  max-width: 760px;
  margin-inline: auto;
}

.legacyFamilyCollage figure {
  position: relative;
  overflow: hidden;
}

.legacyFamilyCollage figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.legacyFamilyCollage figcaption {
  position: absolute;
  left: 18px;
  bottom: 18px;
  padding: 9px 11px;
  background: rgba(11, 12, 9, .76);
  font-size: 8px;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.legacyCollageText {
  align-self: center;
  padding: clamp(45px, 5vw, 85px);
}

.legacyCollageText h2 {
  margin: 27px 0 30px;
  font-size: clamp(51px, 5.5vw, 84px);
  line-height: 1;
}

.legacyCollageText>p:last-child {
  color: rgba(255, 255, 255, .64);
  font-size: 16px;
  line-height: 1.8;
}

.legacyCollageSecond {
  margin: 80px 34px 80px 0;
}

.legacyBelief {
  display: grid;
  grid-template-columns: .35fr 1.2fr .65fr;
  gap: 70px;
  align-items: end;
  padding-block: clamp(130px, 15vw, 230px);
}

.legacyBelief h2 {
  margin: 0;
  font-size: clamp(58px, 6.7vw, 102px);
  line-height: .98;
}

.legacyBelief>div p {
  margin: 0 0 37px;
  color: var(--copy);
  font-size: 17px;
  line-height: 1.8;
}

/* Founder */
.founderStory {
  display: grid;
  grid-template-columns: .55fr 1.1fr;
  gap: clamp(70px, 11vw, 190px);
  padding-block: clamp(120px, 14vw, 210px);
}

.founderStory.leadershipContinuation {
  padding-top: clamp(25px, 3vw, 45px);
}

.founderStory aside {
  position: sticky;
  top: 40px;
  align-self: start;
}

.founderStory blockquote {
  margin: 28px 0 0;
  color: var(--gold-dark);
  font-size: clamp(36px, 4vw, 59px);
  line-height: 1.18;
}

.founderEditorialPortrait {
  width: min(78%, 330px);
  margin: 58px 0 0;
}

.founderEditorialPortrait img {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 5;
  object-fit: cover;
  object-position: center 18%;
  filter: saturate(.92) contrast(1.02);
}

.founderStory h2 {
  margin: 0 0 36px;
  font-size: clamp(54px, 6vw, 91px);
  line-height: 1;
}

.founderStory .largeCopy {
  margin: 0 0 30px;
}

.founderStory>div>p:not(.largeCopy) {
  color: var(--copy);
  font-size: 17px;
  line-height: 1.82;
}

.founderFacts {
  padding-block: clamp(110px, 13vw, 190px);
  border-top: 1px solid var(--line);
}

.founderFacts h2 {
  max-width: 1050px;
  margin: 42px 0 70px;
  font-size: clamp(56px, 6.5vw, 98px);
  line-height: .98;
}

.founderFacts dl {
  margin: 0;
  border-top: 1px solid var(--line);
}

.founderFacts dl>div {
  display: grid;
  grid-template-columns: .4fr 1fr;
  gap: 40px;
  padding: 25px 0;
  border-bottom: 1px solid var(--line);
}

.founderFacts dt {
  color: var(--gold-dark);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .2em;
  text-transform: uppercase;
}

.founderFacts dd {
  margin: 0;
  color: #34342f;
  font-family: var(--serif);
  font-size: clamp(23px, 2vw, 32px);
}

.founderBridge {
  display: grid;
  grid-template-columns: minmax(0, 900px);
  justify-content: center;
  min-height: 640px;
  background: var(--ink);
  color: #fff;
}

.founderBridgeImage img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.founderBridgeCopy {
  align-self: center;
  padding: clamp(55px, 7vw, 120px);
}

.founderBridgeCopy h2 {
  margin: 27px 0 32px;
  font-size: clamp(53px, 6vw, 92px);
  line-height: 1;
}

.founderBridgeCopy>p:not(.kicker) {
  max-width: 660px;
  margin-bottom: 41px;
  color: rgba(255, 255, 255, .64);
  font-size: 17px;
  line-height: 1.8;
}

.founderFocus {
  padding-block: clamp(130px, 15vw, 220px);
}

.founderFocus h2 {
  max-width: 1050px;
  margin: 27px 0 50px;
  font-size: clamp(58px, 7vw, 104px);
  line-height: .98;
}

.founderFocusGrid {
  display: grid;
  grid-template-columns: 1fr .6fr;
  gap: 90px;
  align-items: end;
  padding-left: 33%;
}

.founderFocusGrid p {
  margin: 0;
  color: var(--copy);
  font-size: 18px;
  line-height: 1.82;
}

/* Projects */
.projectsIntro {
  display: grid;
  grid-template-columns: 1fr .72fr;
  gap: 100px;
  align-items: end;
  padding-block: clamp(120px, 14vw, 205px) 60px;
}

.projectsIntro h2 {
  margin: 25px 0 0;
  font-size: clamp(57px, 6.5vw, 96px);
  line-height: 1;
}

.projectsIntro>p {
  margin: 0;
  color: var(--copy);
  font-size: 17px;
  line-height: 1.82;
}

.projectPageIndex {
  padding-top: 0;
}

.projectsSplit {
  display: grid;
  grid-template-columns: 1fr 1fr;
  min-height: 750px;
  background: var(--ink);
}

.projectsSplitCard {
  position: relative;
  overflow: hidden;
}

.projectsSplitCard>img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 1s cubic-bezier(.2, .7, .2, 1);
}

.projectsSplitCard:hover>img {
  transform: scale(1.025);
}

.projectsSplitCard::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 35%, rgba(7, 8, 6, .78));
}

.projectsSplitCard>div {
  position: absolute;
  z-index: 2;
  left: clamp(28px, 5vw, 78px);
  right: 28px;
  bottom: 55px;
  color: #fff;
}

.projectsSplitCard h2 {
  margin: 22px 0 34px;
  font-size: clamp(52px, 6vw, 88px);
  line-height: .98;
}

/* Antares page */
.antaresProjectHero {
  position: relative;
  min-height: max(800px, 100svh);
  overflow: hidden;
  background: var(--ink);
  color: #fff;
}

.antaresProjectHero>img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.antaresProjectShade {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(7, 8, 6, .87), rgba(7, 8, 6, .34) 60%, rgba(7, 8, 6, .12)), linear-gradient(180deg, rgba(7, 8, 6, .56), transparent 35%, rgba(7, 8, 6, .64));
}

.antaresProjectTitle {
  position: relative;
  z-index: 2;
  padding-top: clamp(250px, 34vh, 380px);
}

.antaresProjectTitle h1 {
  margin: 20px 0 0;
  font-size: clamp(100px, 16vw, 240px);
  line-height: .72;
}

.antaresProjectTitle>p:not(.kicker) {
  margin: 45px 0 35px;
  color: var(--gold-light);
  font-family: var(--serif);
  font-size: clamp(23px, 2.4vw, 36px);
}

.antaresOverview {
  display: grid;
  grid-template-columns: 1fr .7fr;
  gap: 80px;
  padding-block: clamp(120px, 14vw, 210px);
}

.antaresOverviewTitle h2 {
  margin: 28px 0 0;
  font-size: clamp(55px, 6.5vw, 98px);
  line-height: 1;
}

.antaresOverviewCopy {
  padding-top: 42px;
}

.antaresOverviewCopy p {
  color: var(--copy);
  font-size: 17px;
  line-height: 1.82;
}

.antaresNumbers {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  margin-top: 55px;
  border-block: 1px solid var(--line);
}

.antaresNumbers div {
  padding: 36px 30px 34px 0;
}

.antaresNumbers div+div {
  padding-left: 30px;
  border-left: 1px solid var(--line);
}

.antaresNumbers strong {
  display: block;
  font-family: var(--serif);
  font-size: 58px;
  font-weight: 400;
}

.antaresNumbers span {
  color: #77756d;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .17em;
  text-transform: uppercase;
}

.antaresFilmSection {
  padding: clamp(70px, 8vw, 120px);
  background: var(--ink);
  color: #fff;
}

.filmHeading {
  display: flex;
  justify-content: space-between;
  align-items: end;
  gap: 50px;
  margin-bottom: 54px;
}

.filmHeading h2 {
  margin: 0;
  font-size: clamp(55px, 6.5vw, 98px);
  line-height: .98;
  text-align: right;
}

.antaresFilmSection video {
  width: 100%;
  max-height: 78vh;
  background: #000;
}

.antaresGallery {
  display: grid;
  grid-template-columns: 1.3fr .7fr;
  grid-auto-rows: 560px;
  gap: 4px;
  padding-block: 4px;
  background: #fff;
}

.antaresGallery figure {
  position: relative;
  overflow: hidden;
}

.antaresGallery img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .9s ease;
}

.antaresGallery figure:hover img {
  transform: scale(1.02);
}

.antaresGallery figcaption {
  position: absolute;
  left: 18px;
  bottom: 17px;
  padding: 9px 11px;
  background: rgba(11, 12, 9, .76);
  color: #fff;
  font-size: 8px;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.galleryAerial {
  grid-column: 1 / -1;
}

.antaresExperience {
  display: grid;
  grid-template-columns: .35fr 1.2fr .65fr;
  gap: 70px;
  align-items: end;
  padding-block: clamp(130px, 15vw, 230px);
}

.antaresExperience h2 {
  margin: 0;
  font-size: clamp(57px, 6.7vw, 102px);
  line-height: .98;
}

.antaresExperience>div p {
  color: var(--copy);
  font-size: 17px;
  line-height: 1.8;
}

.antaresExperience .arrowLink {
  margin-top: 30px;
}

.renderingNote {
  margin-top: -90px;
  padding-bottom: 100px;
  color: #8a887f;
  font-size: 10px;
  line-height: 1.6;
}

/* Completed */
.completedIntro {
  display: grid;
  grid-template-columns: .35fr 1fr .7fr;
  gap: 80px;
  align-items: end;
  padding-block: clamp(120px, 14vw, 210px);
}

.completedIntro h2 {
  margin: 0;
  font-size: clamp(60px, 7.5vw, 112px);
  line-height: .88;
}

.completedIntro>p:last-child {
  color: var(--copy);
  font-size: 17px;
  line-height: 1.8;
}

.completedCollection {
  padding-top: 30px;
  padding-bottom: 130px;
}

.completedCollection:nth-of-type(even) {
  background: var(--ivory);
}

.completedCollectionHeader {
  display: grid;
  grid-template-columns: 70px 1fr .65fr;
  gap: 55px;
  align-items: end;
  padding-block: 70px 45px;
}

.completedCollectionHeader>span {
  align-self: start;
  color: var(--gold-dark);
  font-family: var(--serif);
  font-size: 34px;
}

.completedCollectionHeader h2 {
  margin: 14px 0 0;
  font-size: clamp(47px, 5.5vw, 82px);
  line-height: 1;
}

.completedCollectionHeader>p {
  margin: 0;
  color: var(--copy);
  font-size: 16px;
  line-height: 1.75;
}

.completedFeatureGrid {
  display: grid;
  width: min(1320px, calc(100% - 64px));
  height: min(720px, 58vw);
  margin-inline: auto;
  grid-template-columns: 2fr 1fr 1fr;
  grid-template-rows: 1fr 1fr;
  gap: 4px;
}

.completedFeatureGrid figure {
  overflow: hidden;
  background: #d9d5cc;
}

.completedFeatureGrid .galleryLead {
  grid-row: 1 / 3;
}

.completedFeatureGrid img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .85s ease;
}

.completedFeatureGrid figure:hover img {
  transform: scale(1.025);
}

.completedCollectionFooter {
  display: flex;
  justify-content: flex-end;
  padding-top: 30px;
}

.albumIntro {
  display: grid;
  grid-template-columns: 1fr .7fr;
  gap: 90px;
  align-items: end;
  padding-block: clamp(100px, 12vw, 175px);
}

.albumIntro h2 {
  margin: 18px 0 0;
  font-size: clamp(58px, 7.3vw, 108px);
  line-height: .9;
}

.albumIntro>div:last-child>p {
  margin: 0;
  color: var(--copy);
  font-size: 17px;
  line-height: 1.8;
}

.albumIntro .arrowLink {
  margin-top: 30px;
}

.albumGrid {
  width: min(1440px, calc(100% - 40px));
  margin: 0 auto clamp(100px, 12vw, 180px);
  columns: 3;
  column-gap: 4px;
}

.albumGrid figure {
  break-inside: avoid;
  margin: 0 0 4px;
  overflow: hidden;
  background: #d9d5cc;
}

.albumGrid img {
  display: block;
  width: 100%;
  height: auto;
  transition: transform .85s ease;
}

.albumGrid figure:hover img {
  transform: scale(1.018);
}

/* Media */
.mediaFilm {
  padding-block: clamp(120px, 14vw, 210px);
}

.mediaFilm header {
  display: grid;
  grid-template-columns: .35fr 1fr .65fr;
  gap: 70px;
  align-items: end;
  margin-bottom: 65px;
}

.mediaFilm h2 {
  margin: 0;
  font-size: clamp(55px, 6.4vw, 96px);
  line-height: .98;
}

.mediaFilm header>p:last-child {
  color: var(--copy);
  font-size: 16px;
  line-height: 1.78;
}

.mediaFilm video {
  width: 100%;
  max-height: 79vh;
  background: #000;
}

.mediaReel {
  display: grid;
  grid-template-columns: .62fr 1.1fr;
  gap: clamp(70px, 11vw, 180px);
  align-items: center;
  padding: clamp(80px, 10vw, 150px);
  background: var(--ink);
  color: #fff;
}

.reelDevice {
  justify-self: end;
  width: min(390px, 100%);
  padding: 11px;
  border: 1px solid rgba(255, 255, 255, .23);
  border-radius: 34px;
  background: #050505;
  box-shadow: 0 38px 90px rgba(0, 0, 0, .46);
}

.reelDevice video {
  width: 100%;
  border-radius: 25px;
}

.reelCopy {
  max-width: 700px;
}

.reelCopy h2 {
  margin: 28px 0 32px;
  font-size: clamp(59px, 7vw, 105px);
  line-height: .95;
}

.reelCopy>p:not(.kicker) {
  max-width: 580px;
  margin-bottom: 40px;
  color: rgba(255, 255, 255, .62);
  font-size: 17px;
  line-height: 1.8;
}

.mediaJournal {
  padding-block: clamp(120px, 14vw, 210px);
}

.mediaJournalGrid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 4px;
}

.mediaJournalGrid figure {
  position: relative;
  min-height: 650px;
  overflow: hidden;
}

.mediaJournalGrid figure:last-child:nth-child(odd) {
  grid-column: 1 / -1;
  min-height: 720px;
}

.mediaJournalGrid img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.mediaJournalGrid figcaption {
  position: absolute;
  left: 18px;
  bottom: 18px;
  padding: 9px 11px;
  background: rgba(11, 12, 9, .76);
  color: #fff;
  font-size: 8px;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.mediaInstagramNote {
  display: inline-flex;
  align-items: center;
  gap: 18px;
  margin: 34px 0 0;
  padding-bottom: 8px;
  border-bottom: 1px solid var(--gold-dark);
  color: var(--ink);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .15em;
  line-height: 1.6;
  text-transform: uppercase;
}

.mediaInstagramNote .lineArrow {
  color: var(--gold-dark);
  transition: transform .25s ease;
}

.mediaInstagramNote:hover .lineArrow {
  transform: translate(4px, -4px);
}

/* Contact */
.contactMain {
  padding-block: clamp(120px, 14vw, 210px);
}

.contactPrimary {
  padding-bottom: 80px;
  border-bottom: 1px solid var(--line);
}

.contactPrimary a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 28px;
  font-family: var(--serif);
  font-size: clamp(32px, 4vw, 88px);
  letter-spacing: -.045em;
}

.contactPrimary a span {
  display: grid;
  place-items: center;
  width: clamp(54px, 6vw, 85px);
  height: clamp(54px, 6vw, 85px);
  border: 1px solid var(--line);
  font-family: var(--sans);
  font-size: 24px;
  transition: background .25s ease, color .25s ease;
}

.contactPrimary a:hover span {
  background: var(--ink);
  color: #fff;
}

.contactDetails {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0;
  border-bottom: 1px solid var(--line);
}

.contactDetails>div {
  min-height: 310px;
  padding: 48px 55px 40px 0;
}

.contactDetails>div+div {
  padding-left: 55px;
  border-left: 1px solid var(--line);
}

.contactDetails h3 {
  margin: 30px 0 0;
  font-size: 35px;
  line-height: 1.2;
}

.contactDetails>div>p:not(.kicker) {
  max-width: 400px;
  margin-top: 30px;
  color: var(--copy);
  font-size: 16px;
  line-height: 1.78;
}

.contactDetails a {
  display: block;
  width: max-content;
  margin-top: 25px;
  padding-bottom: 7px;
  border-bottom: 1px solid var(--gold-dark);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .15em;
  text-transform: uppercase;
}

.contactImage {
  position: relative;
  min-height: 720px;
  background: var(--ink);
  color: #fff;
  overflow: hidden;
}

.contactImage>img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.contactImage::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(8, 9, 7, .82), rgba(8, 9, 7, .18));
}

.contactImage>div {
  position: relative;
  z-index: 1;
  width: min(calc(100% - 72px), 1480px);
  margin-inline: auto;
  padding-top: 200px;
}

.contactImage h2 {
  max-width: 900px;
  margin: 27px 0 0;
  font-size: clamp(60px, 7.8vw, 118px);
  line-height: .94;
}

.notFound {
  min-height: 86svh;
  padding: 250px 6vw 100px;
  background: var(--ink);
  color: #fff;
}

.notFound h1 {
  margin: 30px 0 55px;
  font-size: clamp(65px, 9vw, 135px);
  line-height: .87;
}

/* Footer */
.siteFooter {
  padding: clamp(80px, 9vw, 140px) min(5vw, 80px) 28px;
  background: var(--ink);
  color: #fff;
}

.footerStatement {
  padding-bottom: 100px;
  border-bottom: 1px solid rgba(255, 255, 255, .18);
}

.footerStatement h2 {
  margin: 28px 0 44px;
  font-size: clamp(57px, 7.6vw, 114px);
  line-height: .94;
}

.footerStatement>a {
  display: inline-flex;
  gap: 25px;
  padding-bottom: 10px;
  border-bottom: 1px solid var(--gold);
  color: var(--gold-light);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .18em;
  text-transform: uppercase;
}

.footerStatement .lineArrow, .footerGrid .lineArrow {
  width: 12px;
  height: 12px;
}

.footerGrid a:has(.lineArrow) {
  display: inline-flex;
  align-items: center;
  gap: 10px;
}

.footerGrid {
  display: grid;
  grid-template-columns: 1.6fr .6fr .8fr .9fr;
  gap: 70px;
  padding-block: 70px;
}

.footerBrand img {
  width: 175px;
  height: auto;
}

.footerBrand p {
  max-width: 390px;
  margin-top: 25px;
  color: rgba(255, 255, 255, .46);
  font-size: 13px;
  line-height: 1.75;
}

.footerGrid>div:not(.footerBrand) {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 14px;
}

.footerGrid a, .footerGrid span {
  color: rgba(255, 255, 255, .62);
  font-size: 11px;
  line-height: 1.5;
  transition: color .25s ease;
}

.footerGrid a:hover {
  color: var(--gold-light);
}

.footerLabel {
  margin: 0 0 13px;
  color: var(--gold-light);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .18em;
  text-transform: uppercase;
}

.footerBottom {
  display: flex;
  justify-content: space-between;
  padding-top: 25px;
  border-top: 1px solid rgba(255, 255, 255, .18);
  color: rgba(255, 255, 255, .37);
  font-size: 8px;
  font-weight: 700;
  letter-spacing: .16em;
  text-transform: uppercase;
}

@keyframes heroReveal {
  from {
    opacity: 0;
    transform: scale(1.035);
  }

  to {
    opacity: 1;
    transform: scale(1);
  }
}

@media (max-width: 1100px) {
  .pageShell, .headerInner {
    width: min(calc(100% - 42px), 1480px);
  }

  .desktopNav {
    gap: 22px;
  }

  .homeHeroMeta {
    display: none;
  }

  .filmCue {
    left: auto;
    right: 22px;
  }

  .homeManifesto, .realWorkIntro, .editorialIntro, .completedIntro, .mediaFilm header {
    grid-template-columns: 1fr;
    gap: 45px;
  }

  .realWorkIntro .kicker {
    grid-column: auto;
  }

  .realWorkIntro>p:last-child {
    margin: 0;
  }

  .antaresFeature {
    grid-template-columns: 1fr;
  }

  .antaresFeatureImage {
    min-height: 65vw;
  }

  .legacyPreview {
    grid-template-columns: minmax(0, 800px);
  }

  .legacyPortraitFamily {
    display: none;
  }

  .homeClosing {
    grid-template-columns: 1fr;
  }

  .homeClosingImage {
    min-height: 65vw;
  }

  .editorialIntro .bodyCopy {
    grid-column: 2;
  }

  .aboutImageStatement {
    grid-template-columns: 1fr;
  }

  .aboutImageStatement>img {
    min-height: 60vw;
  }

  .legacyFamilyCollage {
    grid-template-columns: 1fr .8fr;
  }

  .legacyCollageSecond {
    display: none;
  }

  .legacyBelief, .antaresExperience {
    grid-template-columns: .32fr 1fr;
  }

  .legacyBelief>div, .antaresExperience>div {
    grid-column: 2;
  }

  .founderFocusGrid {
    padding-left: 15%;
  }

  .completedCollectionHeader {
    grid-template-columns: 60px 1fr;
  }

  .completedCollectionHeader>p {
    grid-column: 2;
  }

  .footerGrid {
    grid-template-columns: 1.3fr repeat(3, .7fr);
    gap: 36px;
  }
}

@media (max-width: 820px) {
  .pageShell {
    width: min(calc(100% - 32px), 1480px);
  }

  .globalHeader {
    position: absolute;
  }

  .headerInner {
    width: calc(100% - 32px);
    min-height: 86px;
    grid-template-columns: 1fr auto;
  }

  .headerBrand {
    width: 112px;
  }

  .desktopNav, .headerEnquire {
    display: none;
  }

  .mobileMenu {
    display: block;
    justify-self: end;
    position: relative;
    z-index: 103;
  }

  .mobileMenu summary {
    display: grid;
    gap: 7px;
    width: 46px;
    height: 46px;
    place-content: center;
    list-style: none;
    border: 1px solid rgba(255, 255, 255, .32);
    border-radius: 50%;
  }

  .mobileMenu summary::-webkit-details-marker {
    display: none;
  }

  .mobileMenu summary span {
    width: 18px;
    height: 1px;
    background: #fff;
    transition: transform .25s ease;
  }

  .mobileMenu[open] summary {
    position: fixed;
    top: 20px;
    right: 16px;
    border-color: rgba(255, 255, 255, .25);
  }

  .mobileMenu[open] summary span:first-child {
    transform: translateY(4px) rotate(45deg);
  }

  .mobileMenu[open] summary span:last-child {
    transform: translateY(-4px) rotate(-45deg);
  }

  .mobileMenuPanel {
    position: fixed;
    z-index: -1;
    inset: 0;
    display: flex;
    flex-direction: column;
    padding: 110px 24px 32px;
    background: rgba(11, 12, 9, .98);
    color: #fff;
  }

  .mobileMenuPanel>p {
    margin: 0 0 25px;
    color: var(--gold-light);
    font-size: 9px;
    letter-spacing: .2em;
    text-transform: uppercase;
  }

  .mobileMenuPanel>a:not(.mobileEmail) {
    display: grid;
    grid-template-columns: 40px 1fr auto;
    align-items: center;
    min-height: 74px;
    border-top: 1px solid rgba(255, 255, 255, .16);
    font-family: var(--serif);
    font-size: 30px;
    letter-spacing: -.03em;
  }

  .mobileMenuPanel>a.isActive:not(.mobileEmail) {
    padding-inline: 14px;
    background: rgba(224, 202, 153, .08);
    color: var(--gold-light);
    box-shadow: inset 2px 0 0 var(--gold);
  }

  .mobileMenuPanel>a:nth-last-of-type(2) {
    border-bottom: 1px solid rgba(255, 255, 255, .16);
  }

  .mobileMenuPanel small {
    color: var(--gold);
    font-family: var(--sans);
    font-size: 8px;
    letter-spacing: .15em;
  }

  .mobileMenuPanel .lineArrow {
    width: 15px;
    height: 15px;
  }

  .mobileEmail {
    margin-top: auto;
    color: rgba(255, 255, 255, .56);
    font-size: 10px;
  }

  .homeHero {
    min-height: 850px;
  }

  .homeHeroFilm {
    object-position: center;
  }

  .homeHeroShade {
    background: linear-gradient(90deg, rgba(8, 9, 7, .89), rgba(8, 9, 7, .42)), linear-gradient(180deg, rgba(6, 7, 5, .5), transparent 30%, rgba(6, 7, 5, .74));
  }

  .homeHeroContent {
    padding-top: 210px;
  }

  .homeHeroContent h1 {
    max-width: 96%;
    font-size: clamp(54px, 15.4vw, 76px);
    line-height: .93;
  }

  .homeHeroContent>p:not(.kicker) {
    max-width: 90%;
    font-size: 20px;
  }

  .heroLinks {
    flex-direction: column;
    align-items: flex-start;
    gap: 27px;
  }

  .filmCue {
    bottom: 22px;
  }

  .homeManifesto {
    padding-block: 110px;
  }

  .homeManifesto h2, .realWorkIntro h2 {
    font-size: 48px;
  }

  .antaresFeatureImage {
    min-height: 74vw;
  }

  .antaresFeatureCopy {
    padding: 72px 22px 80px;
  }

  .antaresFeatureCopy h2 {
    font-size: 82px;
  }

  .featureSerif {
    font-size: 25px;
  }

  .featureStats {
    gap: 10px;
  }

  .featureStats strong {
    font-size: 30px;
  }

  .realWork {
    padding-block: 100px;
  }

  .realWorkIntro {
    margin-bottom: 55px;
  }

  .realWorkGrid {
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 520px 300px 320px;
  }

  .realWorkTall {
    grid-column: 1 / 3;
    grid-row: auto;
  }

  .realWorkWide {
    grid-column: 1 / 3;
  }

  .legacyPreview {
    display: block;
    padding-block: 110px;
  }

  .legacyPortraitFounder {
    width: 58%;
    margin: 0 auto 55px;
  }

  .legacyPreviewCopy h2 {
    font-size: 49px;
  }

  .projectRow {
    grid-template-columns: 36px 1fr 35px;
    min-height: 115px;
  }

  .projectThumb, .projectStatus {
    display: none;
  }

  .projectName {
    font-size: 35px;
  }

  .projectArrow {
    width: 35px;
    height: 35px;
  }

  .homeClosingImage {
    min-height: 75vw;
  }

  .homeClosingCopy {
    padding: 72px 22px 85px;
  }

  .homeClosingCopy h2 {
    font-size: 50px;
  }

  .interiorHero {
    min-height: 680px;
  }

  .interiorHeroContent {
    padding-top: 205px;
  }

  .interiorHeroContent h1 {
    font-size: clamp(70px, 19vw, 102px);
  }

  .legacyHero .interiorHeroContent h1 {
    max-width: 100%;
    font-size: clamp(46px, 13vw, 56px);
    line-height: .92;
    letter-spacing: -.035em;
  }

  .projectsHeroTitle {
    display: block;
    font-size: clamp(52px, 14.2vw, 68px);
  }

  .interiorHeroLead {
    max-width: 95%;
    font-size: 20px;
  }

  .founderHero .interiorHeroBg {
    width: 100%;
    object-position: 58% center;
  }

  .founderHero .interiorHeroShade {
    background: linear-gradient(180deg, rgba(9, 10, 8, .26) 0%, rgba(9, 10, 8, .32) 30%, rgba(9, 10, 8, .9) 75%, #090a08 100%), linear-gradient(90deg, rgba(9, 10, 8, .46), rgba(9, 10, 8, .1));
  }

  .heroWatermark {
    font-size: 45vw;
  }

  .editorialIntro {
    padding-block: 105px;
  }

  .editorialIntro h2 {
    font-size: 50px;
  }

  .editorialIntro .bodyCopy {
    grid-column: auto;
  }

  .aboutImageStatement>img {
    min-height: 80vw;
  }

  .aboutImageStatement>div {
    padding: 70px 22px;
  }

  .aboutImageStatement blockquote {
    font-size: 41px;
  }

  .principles {
    padding-block: 100px;
  }

  .principleGrid {
    grid-template-columns: 1fr;
  }

  .principleGrid article {
    min-height: auto;
    padding: 40px 0;
  }

  .principleGrid article+article {
    padding-left: 0;
    border-left: 0;
    border-top: 1px solid var(--line);
  }

  .principleGrid h3 {
    margin: 27px 0 16px;
  }

  .aboutPeople {
    grid-template-columns: 1fr;
    gap: 55px;
    padding-bottom: 110px;
  }

  .aboutPeopleImage {
    width: 78%;
  }

  .aboutPeopleCopy h2 {
    font-size: 52px;
  }

  .legacyOpening {
    grid-template-columns: 1fr;
    gap: 55px;
    padding: 105px 0 48px;
  }

  .legacyOpeningPortrait {
    width: 72%;
  }

  .legacyOpeningCopy h2 {
    font-size: 53px;
  }

  .legacyTimeline article {
    grid-template-columns: 1fr;
    gap: 28px;
    padding: 40px 0;
  }

  .legacyTimeline h3 {
    font-size: 42px;
  }

  .legacyTimeline h3 {
    white-space: normal;
  }

  .legacyFamilyCollage {
    grid-template-columns: 1fr;
  }

  .legacyCollageMain {
    min-height: 620px;
  }

  .legacyCollageText {
    padding: 72px 22px 85px;
  }

  .legacyCollageText h2 {
    font-size: 52px;
  }

  .legacyBelief, .antaresExperience {
    grid-template-columns: 1fr;
    gap: 38px;
    padding-block: 110px;
  }

  .legacyBelief>div, .antaresExperience>div {
    grid-column: auto;
  }

  .legacyBelief h2, .antaresExperience h2 {
    font-size: 53px;
  }

  .founderStory {
    grid-template-columns: 1fr;
    gap: 55px;
    padding-block: 105px;
  }

  .founderStory.leadershipContinuation {
    padding-top: 42px;
  }

  .founderStory aside {
    position: static;
  }

  .founderEditorialPortrait {
    width: min(76%, 300px);
    margin-top: 45px;
  }

  .founderStory h2 {
    font-size: 52px;
  }

  .founderFacts {
    padding-block: 100px;
  }

  .founderFacts h2 {
    margin-bottom: 50px;
    font-size: 52px;
  }

  .founderFacts dl>div {
    grid-template-columns: 1fr;
    gap: 10px;
    padding: 23px 0;
  }

  .founderBridge {
    grid-template-columns: 1fr;
  }

  .founderBridgeImage {
    min-height: 115vw;
  }

  .founderBridgeCopy {
    padding: 72px 22px 85px;
  }

  .founderBridgeCopy h2 {
    font-size: 51px;
  }

  .founderFocus {
    padding-block: 110px;
  }

  .founderFocus h2 {
    font-size: 54px;
  }

  .founderFocusGrid {
    grid-template-columns: 1fr;
    gap: 35px;
    padding-left: 0;
  }

  .projectsIntro {
    grid-template-columns: 1fr;
    gap: 35px;
    padding-block: 105px 45px;
  }

  .projectsIntro h2 {
    font-size: 52px;
  }

  .projectsSplit {
    grid-template-columns: 1fr;
  }

  .projectsSplitCard {
    min-height: 620px;
  }

  .projectsSplitCard h2 {
    font-size: 50px;
  }

  .antaresProjectHero {
    min-height: 850px;
  }

  .antaresProjectHero>img {
    object-position: 60% center;
  }

  .antaresProjectTitle {
    padding-top: 270px;
  }

  .antaresProjectTitle h1 {
    font-size: 27vw;
  }

  .antaresOverview {
    grid-template-columns: 1fr;
    gap: 35px;
    padding-block: 105px;
  }

  .antaresOverviewTitle h2 {
    font-size: 52px;
  }

  .antaresOverviewCopy {
    padding-top: 0;
  }

  .antaresNumbers {
    grid-template-columns: 1fr 1fr;
    margin-top: 25px;
  }

  .antaresNumbers div:nth-child(3) {
    border-left: 0;
    border-top: 1px solid var(--line);
  }

  .antaresNumbers div:nth-child(4) {
    border-top: 1px solid var(--line);
  }

  .antaresFilmSection {
    padding: 75px 16px;
  }

  .filmHeading {
    display: block;
  }

  .filmHeading h2 {
    margin-top: 26px;
    font-size: 52px;
    text-align: left;
  }

  .antaresGallery {
    grid-template-columns: 1fr;
    grid-auto-rows: 70vw;
  }

  .galleryAerial {
    grid-column: auto;
  }

  .renderingNote {
    margin-top: -65px;
    padding-bottom: 75px;
  }

  .completedIntro {
    padding-block: 105px;
  }

  .completedIntro h2 {
    font-size: 59px;
  }

  .completedCollection {
    padding-bottom: 80px;
  }

  .completedCollectionHeader {
    grid-template-columns: 45px 1fr;
    gap: 22px;
    padding-block: 55px 35px;
  }

  .completedCollectionHeader h2 {
    font-size: 42px;
  }

  .completedFeatureGrid {
    width: calc(100% - 32px);
    height: auto;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 70vw 42vw 42vw;
  }

  .completedFeatureGrid .galleryLead {
    grid-column: 1 / 3;
    grid-row: auto;
  }

  .completedCollectionFooter {
    justify-content: flex-start;
    padding-top: 24px;
  }

  .albumIntro {
    grid-template-columns: 1fr;
    gap: 42px;
    padding-block: 90px;
  }

  .albumIntro h2 {
    font-size: 56px;
  }

  .albumGrid {
    width: calc(100% - 24px);
    columns: 1;
  }

  .mediaFilm {
    padding-block: 105px;
  }

  .mediaFilm h2 {
    font-size: 52px;
  }

  .mediaReel {
    grid-template-columns: 1fr;
    gap: 70px;
    padding: 80px 22px;
  }

  .reelDevice {
    justify-self: center;
  }

  .reelCopy h2 {
    font-size: 58px;
  }

  .mediaJournal {
    padding-block: 105px;
  }

  .mediaJournalGrid {
    grid-template-columns: 1fr;
  }

  .mediaJournalGrid figure,
  .mediaJournalGrid figure:last-child:nth-child(odd) {
    grid-column: auto;
    min-height: 120vw;
  }

  .contactMain {
    padding-block: 105px;
  }

  .contactPrimary {
    padding-bottom: 55px;
  }

  .contactPrimary a {
    display: block;
    font-size: clamp(20px, 5vw, 33px);
    overflow-wrap: anywhere;
  }

  .contactPrimary a span {
    display: none;
  }

  .contactDetails {
    grid-template-columns: 1fr;
  }

  .contactDetails>div {
    min-height: auto;
    padding: 42px 0;
  }

  .contactDetails>div+div {
    padding-left: 0;
    border-left: 0;
    border-top: 1px solid var(--line);
  }

  .contactImage {
    min-height: 650px;
  }

  .contactImage>div {
    width: calc(100% - 32px);
    padding-top: 170px;
  }

  .contactImage h2 {
    font-size: 57px;
  }

  .siteFooter {
    padding: 80px 16px 24px;
  }

  .footerStatement {
    padding-bottom: 75px;
  }

  .footerStatement h2 {
    font-size: 55px;
  }

  .footerGrid {
    grid-template-columns: 1fr 1fr;
    gap: 50px 30px;
  }

  .footerBrand {
    grid-column: 1 / -1;
  }

  .footerBottom {
    display: block;
  }

  .footerBottom span {
    display: block;
    margin-top: 9px;
  }
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  *, *::before, *::after {
    animation-duration: .001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .001ms !important;
  }

  .homeHeroFilm {
    display: none;
  }

  .homeHero {
    background: url('/assets/antares-hero-hd.png') center / cover no-repeat;
  }
}