@font-face {
  font-family: "Montserrat Source";
  src: url("assets/fonts/Montserrat-Variable.ttf") format("truetype");
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
}

@font-face {
  font-family: "Cormorant Garamond Source";
  src: url("assets/fonts/CormorantGaramond-Variable.ttf") format("truetype");
  font-style: normal;
  font-weight: 600;
  font-display: swap;
}

@font-face {
  font-family: "Gobold Source";
  src: url("assets/fonts/Gobold-source.ttf") format("truetype");
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}

* {
  box-sizing: border-box;
}

html {
  background: #000;
  scroll-behavior: smooth;
}

body {
  margin: 0;
  overflow-x: hidden;
  background: #000;
  color: #efefef;
  font-family: "Montserrat Source", Montserrat, Helvetica, Arial, sans-serif;
  font-weight: 400;
  animation: page-enter 0.55s ease both;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-weight: 400;
}

@keyframes page-enter {
  from { opacity: 0; }
  to { opacity: 1; }
}

.source-site {
  width: 100%;
  margin: 0;
  background: #000;
}

.source-page {
  position: relative;
  width: 100%;
  aspect-ratio: 1920 / 6000;
  overflow: hidden;
  background: #000;
}

/* The legacy second homepage canvas included a removed 2800 px raster footer.
   Keep only the three live 3200 px content panels so the shared ending follows immediately. */
.home-page-two { aspect-ratio: 1920 / 3200; }

.source-page > img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  display: block;
}

.source-page > img.source-strip {
  bottom: auto;
  height: auto;
}

.panel-slices {
  position: absolute;
  inset: 0;
  z-index: 1;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  background: #000;
}

.panel-slices > img {
  width: 100%;
  height: auto;
  flex: 0 0 auto;
  display: block;
}

.home-header-strip {
  top: 0;
  left: 0;
  width: 100%;
}

.hotspot {
  position: absolute;
  z-index: 4;
  display: block;
}

.header-about {
  left: 20.3%;
  top: 0.75%;
  width: 3.5%;
  height: 0.65%;
}

.header-subscribe {
  left: 24.1%;
  top: 0.75%;
  width: 4%;
  height: 0.65%;
}

.header-news {
  left: 28.45%;
  top: 0.75%;
  width: 2.8%;
  height: 0.65%;
}

.section-link {
  z-index: 8;
}

.home-studio-link { left: 21.95%; top: 31.4067%; width: 6.1%; height: 0.62%; }
.home-caviar-link { left: 70.7%; top: 50.4233%; width: 8.6%; height: 0.62%; }
.home-food-link { left: 21.95%; top: 68.7233%; width: 6.1%; height: 0.62%; }
.home-community-link { left: 71.95%; top: 87.84%; width: 6.1%; height: 0.62%; }
.home-bespoke-link { left: 21.95%; top: 11.075%; width: 6.1%; height: 1.1625%; }
.home-performance-link { left: 71.95%; top: 46.2625%; width: 6.1%; height: 1.1625%; }
.home-desirability-link { left: 21.95%; top: 80.45%; width: 6.1%; height: 1.1625%; }

.section-link,
.hero-about {
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(255, 255, 255, 0.82);
  background: #000;
  color: #fff;
  font-family: "Montserrat Source", Montserrat, Helvetica, Arial, sans-serif;
  font-size: clamp(4px, 0.72vw, 14px);
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.14em;
  text-decoration: none;
  white-space: nowrap;
  transition: color 0.3s ease, background 0.3s ease, border-color 0.3s ease;
}

.section-link::after,
.hero-about::after { content: attr(data-label); }

.section-link:hover,
.hero-about:hover {
  background: #fff;
  color: #000;
  border-color: #fff;
}

.hotspot:focus-visible {
  outline: 2px solid rgba(255, 255, 255, 0.9);
  outline-offset: 3px;
}

.detail-logo-home { left: 14.15%; top: 0.76%; width: 5.9%; height: 0.72%; }
.detail-about { left: 20.3%; top: 0.76%; width: 3.7%; height: 0.72%; }
.detail-news { left: 28.45%; top: 0.76%; width: 2.8%; height: 0.72%; }

.motion-enabled .detail-panel > img {
  opacity: 0;
  transition: opacity 1.65s ease;
}

.motion-enabled .detail-panel.is-visible > img {
  opacity: 1;
}

/* Keep long, sliced artboards out of opacity compositing. Animating a single
   4–10k px layer can leave stale duplicated frames during rapid reverse scroll. */
.motion-enabled .detail-panel > .panel-slices,
.motion-enabled .detail-panel.is-visible > .panel-slices {
  opacity: 1;
  transition: none;
}

.hero-about {
  z-index: 8;
  left: 71.95%;
  top: 12.89%;
  width: 6.1%;
  height: 0.62%;
}

.corporate-header {
  position: fixed;
  z-index: 50;
  inset: 0 0 auto;
  height: 58px;
  display: flex;
  align-items: center;
  gap: 2rem;
  padding: 0 3vw;
  border-bottom: 1px solid rgba(255, 255, 255, 0.12);
  background: rgba(0, 0, 0, 0.92);
  backdrop-filter: blur(12px);
  font-family: "Montserrat Source", Montserrat, Helvetica, Arial, sans-serif;
  font-size: 12px;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.08em;
}

.corporate-wordmark {
  width: clamp(110px, 9.8vw, 175px);
  flex: 0 0 auto;
}

.corporate-wordmark img {
  width: 100%;
  height: auto;
  display: block;
  filter: invert(1);
}

.corporate-nav-links {
  margin-left: auto;
  display: flex;
  align-items: center;
  gap: clamp(1rem, 1.8vw, 2.1rem);
}

.corporate-nav-links a {
  position: relative;
  padding: 0.55rem 0;
  color: rgba(255, 255, 255, 0.7);
  text-decoration: none;
  white-space: nowrap;
  transition: color 0.3s ease;
}

.corporate-nav-links a::after {
  content: "";
  position: absolute;
  left: 0;
  right: 100%;
  bottom: 0.15rem;
  height: 1px;
  background: #fff;
  transition: right 0.35s cubic-bezier(0.22, 1, 0.36, 1);
}

.corporate-nav-links a:hover,
.corporate-nav-links a:focus-visible,
.corporate-nav-links a[aria-current="page"] { color: #fff; }

.corporate-nav-links a:hover::after,
.corporate-nav-links a:focus-visible::after,
.corporate-nav-links a[aria-current="page"]::after { right: 0; }

.corporate-nav-links .nav-shop {
  margin-left: 0.35rem;
  padding: 0.72rem 0.9rem;
  border: 1px solid rgba(255, 255, 255, 0.55);
  color: #fff;
}

.corporate-nav-links .nav-shop::after { display: none; }

.corporate-nav-toggle { display: none; }

.studio-content-panel { aspect-ratio: 1920 / 4977; }
.performance-content-panel { aspect-ratio: 1920 / 5963; }
.desirability-content-panel { aspect-ratio: 1920 / 5605; }
.about-footer-panel { aspect-ratio: 1920 / 1266; }
.caviar-footer-panel { aspect-ratio: 1920 / 3233; }
.fine-food-footer-panel { aspect-ratio: 1920 / 1579; }
.community-footer-panel { aspect-ratio: 1920 / 3684; }
.bespoke-content-panel { aspect-ratio: 1920 / 5901; }
.bespoke-footer-panel { aspect-ratio: 1920 / 2155; }
.news-content-panel { aspect-ratio: 1920 / 1901; }
.shared-footer-panel { aspect-ratio: 1920 / 1200; }

.about-composite {
  position: relative;
  width: 100%;
  background: #000;
}

.about-backdrop-repair {
  position: absolute;
  z-index: 5;
  left: 0;
  top: 83.48%;
  width: 100%;
  height: 16.52%;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  background: #000;
  pointer-events: none;
}

.about-backdrop-repair > img {
  width: 90%;
  height: auto;
  display: block;
}

.about-backdrop-repair::after {
  content: "";
  position: absolute;
  z-index: 2;
  inset: auto 0 0;
  height: 9%;
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0), #000 92%);
  pointer-events: none;
}

.raster-copy-mask,
.raster-copy-motion {
  position: absolute;
  pointer-events: none;
  background: #000;
}

.raster-copy-mask {
  z-index: 6;
}

.raster-copy-motion {
  z-index: 7;
  overflow: hidden;
  opacity: 1;
  transform: translate3d(0, 0, 0);
}

.raster-copy-motion > img {
  width: 100%;
  height: 100%;
  display: block;
}

/* Revision AS REVIEW: editorial Caviar copy is selectable HTML above
   text-free source artwork. Text embedded in packaging and art objects stays
   inside the imagery; headings, paragraphs and interface copy never do. */
.caviar-live-panel {
  container-type: inline-size;
}

.caviar-live-third {
  aspect-ratio: 1920 / 2500;
}

.caviar-live-copy {
  position: absolute;
  z-index: 7;
  left: var(--x);
  top: var(--y);
  width: var(--w);
  color: rgb(226, 226, 226);
  opacity: 1;
  transform: translate3d(0, 0, 0);
}

.caviar-live-copy h1,
.caviar-live-copy p {
  margin: 0;
  font: inherit;
  color: inherit;
}

.caviar-live-copy span {
  display: block;
}

.caviar-copy-heading {
  font-family: "Montserrat Source", Montserrat, Helvetica, Arial, sans-serif;
  font-size: 2.604167cqw;
  font-weight: 400;
  line-height: 1.16;
  letter-spacing: 0;
}

.caviar-copy-serif {
  color: #fff;
  font-family: "Cormorant Garamond Source", "Cormorant Garamond", Georgia, serif;
  font-size: 13.020833cqw;
  font-weight: 600;
  line-height: 1.0908;
  letter-spacing: 0;
}

.caviar-copy-paragraph {
  font-family: "Montserrat Source", Montserrat, Helvetica, Arial, sans-serif;
  font-size: 1.041667cqw;
  font-weight: 300;
  line-height: 1.44;
  letter-spacing: 0;
  white-space: nowrap;
}

.caviar-copy-paragraph strong {
  font-weight: 500;
}

.motion-enabled .caviar-live-copy {
  opacity: 0;
  transition: opacity 1.65s ease, transform 1.95s cubic-bezier(0.22, 1, 0.36, 1);
  will-change: transform, opacity;
}

.motion-enabled .caviar-live-copy.copy-from-left {
  transform: translate3d(-14vw, 0, 0);
}

.motion-enabled .caviar-live-copy.copy-from-right {
  transform: translate3d(14vw, 0, 0);
}

.motion-enabled .caviar-live-copy.is-visible {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}

.motion-enabled .raster-copy-motion {
  opacity: 0;
  transition: opacity 1.65s ease, transform 1.95s cubic-bezier(0.22, 1, 0.36, 1);
  will-change: transform, opacity;
}

.motion-enabled .copy-from-left {
  transform: translate3d(-14vw, 0, 0);
}

.motion-enabled .copy-from-right {
  transform: translate3d(14vw, 0, 0);
}

.motion-enabled .copy-from-bottom {
  transform: translate3d(0, 5vw, 0);
}

.motion-enabled .copy-long-travel.copy-from-left {
  transform: translate3d(-18vw, 0, 0);
}

.motion-enabled .copy-long-travel.copy-from-right {
  transform: translate3d(18vw, 0, 0);
}

.motion-enabled .raster-copy-motion.is-visible {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}

.logo-home {
  left: 13.7%;
  top: 0.68%;
  width: 6.2%;
  height: 0.8%;
}

.bottom-title-replacement {
  position: absolute;
  z-index: 3;
  left: 0;
  top: 52.8%;
  width: 100%;
  height: 8.6%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #000;
  color: #efefef;
  padding: 0 3%;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 7.8125vw;
  font-weight: 700;
  line-height: 1.08;
  letter-spacing: 0;
  text-align: center;
}

.source-page > .shared-footer-details {
  z-index: 2;
  clip-path: inset(59.5% 0 34.5% 0);
}

.motion-wipe {
  position: absolute;
  z-index: 6;
  display: block;
  pointer-events: none;
  overflow: hidden;
  background: #000;
  contain: paint;
}

.motion-wipe > img {
  position: absolute;
  z-index: 1;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: fill;
}

.motion-enabled .motion-wipe > img {
  opacity: 0;
  transition: opacity 1.8s ease;
}

.motion-enabled .motion-wipe.is-visible > img {
  opacity: 1;
}

.has-text-drift::after {
  content: "";
  position: absolute;
  z-index: 2;
  left: var(--text-x);
  top: var(--text-y);
  width: var(--text-w);
  height: var(--text-h);
  background: #000;
  pointer-events: none;
}

.has-text-drift::before {
  content: "";
  position: absolute;
  z-index: 2;
  left: var(--text-x);
  top: calc(var(--text-y) + var(--text-h));
  width: var(--text-w);
  bottom: 0;
  background: #000;
  pointer-events: none;
}

.text-drift {
  position: absolute;
  z-index: 3;
  left: var(--text-x);
  top: var(--text-y);
  width: var(--text-w);
  height: var(--text-h);
  display: block;
  overflow: hidden;
  background: #000;
  opacity: 1;
  transform: translate3d(0, 0, 0);
  will-change: transform, opacity;
  backface-visibility: hidden;
  pointer-events: none;
}

.text-drift > img {
  position: absolute;
  left: var(--text-image-x);
  top: var(--text-image-y);
  width: var(--text-image-w);
  height: var(--text-image-h);
  max-width: none;
  display: block;
}

.home-copy-layout {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-between;
  padding: 7.5% 3.5% 8.5%;
  color: #f2f2f2;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-style: normal;
  text-align: center;
  white-space: nowrap;
}

.home-copy-title {
  display: block;
  font-size: clamp(10px, 3.15vw, 61px);
  font-weight: 400;
  line-height: 1.08;
  letter-spacing: 0.012em;
}

.home-copy-meta,
.home-copy-description {
  display: flex;
  flex-direction: column;
  align-items: center;
  color: #ededed;
  font-family: "Montserrat Source", Montserrat, Helvetica, Arial, sans-serif;
  font-size: clamp(4px, 0.69vw, 13px);
  font-weight: 400;
  line-height: 1.35;
  letter-spacing: 0;
}

.home-copy-meta b {
  font: inherit;
  font-weight: 400;
}

.home-copy-meta small {
  font: inherit;
}

.home-copy-description {
  max-width: 88%;
  white-space: normal;
}

.home-motion-hero .home-copy-layout { padding-top: 8%; padding-bottom: 8%; }
.home-motion-hero .home-copy-title { font-size: clamp(10px, 2.95vw, 57px); }
.home-motion-hero .home-copy-description { font-size: clamp(4px, 0.61vw, 12px); }
.home-motion-studio .home-copy-title { font-size: clamp(10px, 3.2vw, 62px); }
.home-motion-caviar .home-copy-title { font-size: clamp(10px, 3.15vw, 61px); }
.home-motion-food .home-copy-title { font-size: clamp(10px, 3.35vw, 65px); }
.home-motion-community .home-copy-title { font-size: clamp(10px, 2.95vw, 57px); }
.home-motion-bespoke .home-copy-title { font-size: clamp(10px, 3.2vw, 62px); }
.home-motion-performance .home-copy-title,
.home-motion-desirability .home-copy-title { font-size: clamp(10px, 3.35vw, 65px); }

.motion-enabled .text-drift {
  opacity: 0;
  transition: opacity 1.65s ease, transform 1.95s cubic-bezier(0.22, 1, 0.36, 1);
}

.motion-enabled .motion-wipe.is-visible .text-drift {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}

.motion-enabled .motion-wipe.has-text-drift .text-drift,
.motion-enabled .home-cta-motion {
  opacity: var(--home-pair-opacity, 0);
  transform: translate3d(var(--home-pair-x, 0px), 0, 0);
  transition: none;
  will-change: transform, opacity;
}

.motion-enabled .home-cta-motion {
  pointer-events: auto;
}

.motion-enabled .motion-copy {
  opacity: 0;
  filter: blur(1px);
  transition: opacity 1.6s ease, filter 1.6s ease;
  will-change: opacity, filter;
}

.motion-enabled .motion-copy.is-visible {
  opacity: 1;
  filter: blur(0);
}

.home-motion-hero { left: 0; top: 1.833333%; width: 100%; height: 17.5%; --text-x: 50%; --text-y: 0%; --text-w: 50%; --text-h: 62%; --text-image-x: -100%; --text-image-y: 0%; --text-image-w: 200%; --text-image-h: 161.2903%; }
.home-motion-studio { left: 0; top: 19.333333%; width: 100%; height: 19.833333%; --text-x: 0%; --text-y: 0%; --text-w: 50%; --text-h: 60%; --text-image-x: 0%; --text-image-y: 0%; --text-image-w: 200%; --text-image-h: 166.6667%; }
.home-motion-caviar { left: 0; top: 39.166667%; width: 100%; height: 18.666667%; --text-x: 50%; --text-y: 0%; --text-w: 50%; --text-h: 59%; --text-image-x: -100%; --text-image-y: 0%; --text-image-w: 200%; --text-image-h: 169.4915%; }
.home-motion-food { left: 0; top: 57.833333%; width: 100%; height: 18.666667%; --text-x: 0%; --text-y: 0%; --text-w: 50%; --text-h: 57%; --text-image-x: 0%; --text-image-y: 0%; --text-image-w: 200%; --text-image-h: 175.4386%; }
.home-motion-community { left: 0; top: 76.5%; width: 100%; height: 23.5%; --text-x: 50%; --text-y: 0%; --text-w: 50%; --text-h: 47%; --text-image-x: -100%; --text-image-y: 0%; --text-image-w: 200%; --text-image-h: 212.766%; }
.home-motion-bespoke { left: 0; top: 0; width: 100%; height: 25%; --text-x: 0%; --text-y: 0%; --text-w: 55%; --text-h: 43%; --text-image-x: 0%; --text-image-y: 0%; --text-image-w: 181.818%; --text-image-h: 232.5581%; }
.home-motion-performance { left: 0; top: 25%; width: 100%; height: 34.375%; --text-x: 50%; --text-y: 0%; --text-w: 50%; --text-h: 61%; --text-image-x: -100%; --text-image-y: 0%; --text-image-w: 200%; --text-image-h: 163.9344%; }
.home-motion-desirability { left: 0; top: 59.375%; width: 100%; height: 40.625%; --text-x: 0%; --text-y: 0%; --text-w: 50%; --text-h: 51%; --text-image-x: 0%; --text-image-y: 0%; --text-image-w: 200%; --text-image-h: 196.0784%; }
.home-motion-footer { left: 0; top: 53.333333%; width: 100%; height: 20%; }

.about-motion-intro { left: 0; top: 3.333333%; width: 100%; height: 27.5%; }
.about-motion-portfolio { left: 0; top: 30.833333%; width: 100%; height: 25.833333%; }
.about-motion-strength { left: 0; top: 56.666667%; width: 100%; height: 27.5%; }
.about-motion-rules { left: 0; top: 84.166667%; width: 100%; height: 15.833333%; }
.about-motion-independent { left: 0; top: 0; width: 100%; height: 10.833333%; }
.about-motion-backdrop { left: 0; top: 10.833333%; width: 100%; height: 22.5%; }

.about-motion-intro::after,
.about-motion-portfolio::after,
.about-motion-strength::after,
.about-motion-independent::after {
  content: "";
  position: absolute;
  z-index: 2;
  display: block;
  background: #000;
  pointer-events: none;
}

.about-motion-intro::after {
  left: 22.551125%;
  top: 10.494424%;
  width: 55.1%;
  height: 6.509091%;
}

.about-motion-portfolio::after {
  left: 22.443996%;
  top: 1.033682%;
  width: 54.3%;
  height: 9.058065%;
}

.about-motion-strength::after {
  left: 22.571354%;
  top: 3.815212%;
  width: 55%;
  height: 4.545455%;
}

.about-motion-independent::after {
  left: 22.254229%;
  top: 69.772718%;
  width: 55.3%;
  height: 17.353851%;
}

.motion-title {
  transition: opacity 1.4s ease, transform 1.4s cubic-bezier(0.22, 1, 0.36, 1), letter-spacing 1.4s cubic-bezier(0.22, 1, 0.36, 1);
}

.motion-enabled .motion-title {
  opacity: 0;
  transform: translateY(2.2vw);
  letter-spacing: 0.025em;
}

.motion-enabled .motion-title.is-visible {
  opacity: 1;
  transform: translateY(0);
  letter-spacing: 0;
}

.ambient-cursor {
  position: fixed;
  z-index: 30;
  left: 0;
  top: 0;
  width: 24rem;
  height: 24rem;
  margin: -12rem 0 0 -12rem;
  border-radius: 50%;
  pointer-events: none;
  opacity: 0;
  background: radial-gradient(circle, rgba(116, 151, 189, 0.09), rgba(116, 151, 189, 0) 68%);
  transform: translate3d(var(--cursor-x, -50rem), var(--cursor-y, -50rem), 0);
  transition: opacity 0.35s ease;
}

.ambient-cursor.is-active { opacity: 1; }

.anchor-target {
  position: absolute;
  left: 0;
  top: 53.1%;
}

.text-correction {
  position: absolute;
  z-index: 7;
  overflow: hidden;
  background: #000;
  color: #fff;
  font-family: "Montserrat Source", Montserrat, Helvetica, Arial, sans-serif;
  font-size: 1.0416667vw;
  font-weight: 400;
  line-height: 1.44;
  letter-spacing: 0;
  outline: 0.25vw solid #000;
  box-shadow: 12vw 0 0 #000;
}

.about-copy-mask {
  position: absolute;
  z-index: 6;
  background: #000;
  outline: 0.25vw solid #000;
  box-shadow: 12vw 0 0 #000;
}

.about-intro-mask {
  left: 22.551125%;
  top: 6.2193%;
  width: 55.1%;
  height: 1.96%;
}

.about-portfolio-mask {
  left: 22.4439958%;
  top: 31.1003667%;
  width: 54.3%;
  height: 2.34%;
}

.about-promise-mask {
  left: 22.5713542%;
  top: 57.45%;
  width: 55%;
  height: 1.5%;
}

.about-independent-mask {
  left: 22.2542292%;
  top: 29.763%;
  width: 55.3%;
  height: 21.564%;
}

.text-correction.about-slide-copy {
  background: transparent;
  outline: 0;
  box-shadow: none;
  opacity: 1;
  transform: translate3d(0, 0, 0);
}

.motion-enabled .about-slide-copy {
  opacity: 0;
  transition: opacity 1.65s ease, transform 1.9s cubic-bezier(0.22, 1, 0.36, 1);
}

.motion-enabled .about-from-left {
  transform: translate3d(-14vw, 0, 0);
}

.motion-enabled .about-from-right {
  transform: translate3d(14vw, 0, 0);
}

.motion-enabled .about-slide-copy.is-visible {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}

.studio-intro-mask {
  position: absolute;
  z-index: 6;
  left: 22.15%;
  top: 4.32%;
  width: 56.7%;
  height: 6.45%;
  background: #000;
}

.studio-intro-copy {
  position: absolute;
  z-index: 7;
  left: 22.8%;
  top: 4.52%;
  width: 55.5%;
  color: #efefef;
  font-family: "Montserrat Source", Montserrat, Helvetica, Arial, sans-serif;
  font-weight: 400;
  opacity: 1;
  transform: translate3d(0, 0, 0);
}

.studio-intro-copy h1 {
  margin: 0 0 0.32vw;
  font-size: 2.6041667vw;
  font-weight: 400;
  line-height: 1.03;
  letter-spacing: 0;
}

.studio-intro-copy p {
  margin: 0 0 0.62vw;
  font-size: 1.0416667vw;
  line-height: 1.35;
}

.motion-enabled .studio-intro-copy {
  opacity: 0;
  transform: translate3d(-18vw, 0, 0);
  transition: opacity 1.65s ease, transform 1.9s cubic-bezier(0.22, 1, 0.36, 1);
}

.motion-enabled .studio-intro-copy.is-visible {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}

.studio-growth-mask {
  position: absolute;
  z-index: 6;
  left: 21.8%;
  top: 37.25%;
  width: 61%;
  height: 7.25%;
  background: #000;
}

.studio-growth-copy {
  position: absolute;
  z-index: 7;
  left: 22.8%;
  top: 37.78%;
  width: 58%;
  color: #efefef;
  font-family: "Montserrat Source", Montserrat, Helvetica, Arial, sans-serif;
  font-weight: 400;
  opacity: 1;
  transform: translate3d(0, 0, 0);
}

.studio-growth-copy h2 {
  margin: 0 0 0.16vw;
  font-size: 2.38vw;
  font-weight: 400;
  line-height: 1.05;
  letter-spacing: 0;
}

.studio-growth-copy p {
  margin: 0;
  font-size: 1.52vw;
  font-weight: 400;
  line-height: 1.17;
}

.motion-enabled .studio-growth-copy {
  opacity: 0;
  transform: translate3d(-18vw, 0, 0);
  transition: opacity 1.65s ease, transform 1.9s cubic-bezier(0.22, 1, 0.36, 1);
}

.motion-enabled .studio-growth-copy.is-visible {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}

.about-intro-correction {
  left: 22.551125%;
  top: 6.2193%;
  width: 55.1%;
  height: 1.96%;
  line-height: 1.44;
}

.about-portfolio-correction {
  left: 22.4439958%;
  top: 31.1003667%;
  width: 54.3%;
  height: 2.34%;
  line-height: 1.2;
}

.promise-correction {
  left: 22.5713542%;
  top: 57.45%;
  width: 55%;
  height: 1.5%;
  line-height: 1.32;
}

.independent-correction {
  left: 22.2542292%;
  top: 6.28%;
  width: 55.3%;
  height: 4.55%;
  padding-top: 3.1vw;
  line-height: 1.32;
}

.about-footer-panel .independent-correction {
  top: 29.763%;
  height: 21.564%;
  padding-top: 0.8vw;
}

.about-footer-panel::after {
  content: "";
  position: absolute;
  z-index: 8;
  left: 22%;
  top: 28.25%;
  width: 56%;
  height: 0.42%;
  background: #000;
  pointer-events: none;
}

.about-slogan-mask {
  position: absolute;
  z-index: 8;
  left: 4.5%;
  top: 49.25%;
  width: 91%;
  height: 28.5%;
  background: #000;
  pointer-events: none;
}

.about-slogan-correction {
  position: absolute;
  z-index: 9;
  left: 4.5%;
  top: 50.15%;
  width: 91%;
  margin: 0;
  color: #f3f3f3;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 7.72vw;
  font-weight: 700;
  line-height: 0.9;
  letter-spacing: -0.025em;
  text-align: center;
  white-space: nowrap;
  pointer-events: none;
}

.about-slogan-correction span { display: block; }

.about-text-footer {
  background: #050505;
  color: #f1f1f1;
  font-family: "Montserrat Source", Montserrat, Helvetica, Arial, sans-serif;
}

.about-independent-html {
  min-height: 42vh;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(5rem, 9vw, 10rem) 6vw;
  border-top: 1px solid rgba(255,255,255,.16);
  border-bottom: 1px solid rgba(255,255,255,.16);
  background: linear-gradient(130deg, #050505, #0d0d0d);
}

.about-independent-html h2 {
  max-width: 19ch;
  margin: 0;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: clamp(2.4rem, 5.4vw, 6.2rem);
  font-weight: 400;
  line-height: .94;
  letter-spacing: -.04em;
}

.about-independent-html p {
  max-width: 55rem;
  margin: 2rem 0 0;
  color: rgba(255,255,255,.68);
  font-size: clamp(.95rem, 1.2vw, 1.16rem);
  line-height: 1.65;
}

.legacy-content-footer { overflow: hidden; }
.legacy-footer-bespoke { aspect-ratio: 1920 / 1430; }
.legacy-footer-caviar { aspect-ratio: 1920 / 2500; }
.legacy-footer-community { aspect-ratio: 1920 / 3000; }
.legacy-footer-fine-food { aspect-ratio: 1920 / 850; }
.legacy-footer-news { aspect-ratio: 1920 / 1000; }

.site-ending {
  position: relative;
  z-index: 10;
  background: #050505;
  color: #f1f1f1;
  font-family: "Montserrat Source", Montserrat, Helvetica, Arial, sans-serif;
}

.site-ending-slogan {
  min-height: 52vh;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: clamp(5rem, 8vw, 9rem) 4vw;
  border-top: 1px solid rgba(255,255,255,.16);
}

.site-ending-slogan p {
  width: 100%;
  margin: 0;
  color: #f3f3f3;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: clamp(3rem, 8vw, 9rem);
  font-weight: 700;
  line-height: .94;
  letter-spacing: -.04em;
  text-align: center;
}

.site-ending-slogan span { display: block; white-space: nowrap; }

.press-signup {
  min-height: 36vh;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: clamp(3rem, 5vw, 5.5rem) 6vw;
  border-top: 1px solid rgba(255,255,255,.16);
  text-align: center;
}

.press-signup h2 {
  margin: 0;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: clamp(.78rem, 1vw, 1rem);
  font-weight: 400;
  line-height: 1.15;
  letter-spacing: -.015em;
}

.press-signup form {
  width: min(100%, 24rem);
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  margin-top: 1rem;
}

.press-signup input,
.press-signup button {
  min-height: 1.8rem;
  border-radius: 0;
  font: 400 .5rem/1 "Montserrat Source", Montserrat, Helvetica, Arial, sans-serif;
}

.press-signup input {
  min-width: 0;
  padding: 0 .65rem;
  border: 1px solid #e8e8e8;
  background: #f4f4f4;
  color: #111;
}

.press-signup button {
  padding: 0 .9rem;
  border: 1px solid #d8d8d8;
  background: #d8d8d8;
  color: #111;
  cursor: pointer;
}

.press-signup button:hover,
.press-signup button:focus-visible { background:#fff; border-color:#fff; }

.press-signup-note {
  max-width: 28rem;
  margin: .65rem 0 0;
  color: rgba(255,255,255,.48);
  font-size: .48rem;
  line-height: 1.55;
}

.press-signup nav {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: .6rem 1.2rem;
  margin-top: 1.2rem;
}

.press-signup nav a {
  color: rgba(255,255,255,.68);
  font-size: .5rem;
  text-decoration: none;
}

.press-signup nav a:hover,
.press-signup nav a:focus-visible { color:#fff; }

.independent-correction strong {
  display: block;
  margin: 0 0 0.4427083vw;
  color: #fff;
  font-size: 2.6041667vw;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0;
}

.independent-correction span {
  display: block;
  margin-left: 0.1897604vw;
}

.editorial-page {
  font-family: "Montserrat Source", Montserrat, Helvetica, Arial, sans-serif;
  background: #050505;
}

.visually-hidden {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.skip-link {
  position: fixed;
  z-index: 10000;
  top: 0.75rem;
  left: 0.75rem;
  padding: 0.75rem 1rem;
  background: #fff;
  color: #000;
  font: 500 0.8rem/1 "Montserrat Source", Montserrat, Helvetica, Arial, sans-serif;
  text-decoration: none;
  transform: translateY(-160%);
  transition: transform 0.2s ease;
}

.skip-link:focus { transform: translateY(0); }

.home-positioning {
  padding: clamp(6rem, 10vw, 12rem) 6vw;
  border-top: 1px solid rgba(255, 255, 255, 0.16);
  border-bottom: 1px solid rgba(255, 255, 255, 0.16);
  background: #050505;
  font-family: "Montserrat Source", Montserrat, Helvetica, Arial, sans-serif;
}

.home-positioning > h1 {
  max-width: 100%;
  margin: 0;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: clamp(3rem, 6.7vw, 7.6rem);
  font-weight: 400;
  line-height: 0.92;
  letter-spacing: -0.045em;
}

.home-positioning-lead {
  max-width: 54rem;
  margin: clamp(2rem, 4vw, 4rem) 0 0;
  color: rgba(255, 255, 255, 0.7);
  font-size: clamp(1rem, 1.45vw, 1.35rem);
  line-height: 1.55;
}

.home-positioning-pillars {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
  margin-top: clamp(4rem, 7vw, 8rem);
  background: rgba(255, 255, 255, 0.16);
}

.home-positioning-pillars article {
  min-height: 20rem;
  display: flex;
  flex-direction: column;
  padding: clamp(1.5rem, 3vw, 3rem);
  background: #090909;
}

.home-positioning-pillars article > span { font-size: 0.65rem; letter-spacing: 0.18em; opacity: 0.5; }
.home-positioning-pillars h2 { margin: auto 0 1.2rem; font-size: clamp(1.8rem, 3vw, 3.5rem); font-weight: 400; }
.home-positioning-pillars p { max-width: 28rem; margin: 0; color: rgba(255, 255, 255, 0.62); font-size: 0.9rem; line-height: 1.6; }

.page-next-step {
  min-height: 52vh;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  padding: clamp(5rem, 9vw, 10rem) 6vw;
  border-top: 1px solid rgba(255, 255, 255, 0.16);
  border-bottom: 1px solid rgba(255, 255, 255, 0.16);
  background: linear-gradient(130deg, #050505, #101010);
  font-family: "Montserrat Source", Montserrat, Helvetica, Arial, sans-serif;
}

.page-next-step h2 {
  max-width: 14ch;
  margin: 0;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: clamp(2.7rem, 6.7vw, 7.5rem);
  font-weight: 400;
  line-height: 0.94;
  letter-spacing: -0.04em;
}

.page-next-step > p:not(.portfolio-kicker) { max-width: 45rem; margin: 2rem 0; color: rgba(255,255,255,.68); line-height: 1.6; }
.page-next-step > a { border: 1px solid rgba(255,255,255,.7); padding: .95rem 1.3rem; color: #fff; font-size: .72rem; letter-spacing: .13em; text-decoration: none; transition: background .3s ease,color .3s ease; }
.page-next-step > a:hover,.page-next-step > a:focus-visible { background:#fff;color:#000; }

.trust-footer {
  display: grid;
  grid-template-columns: 1fr auto 1.4fr;
  align-items: center;
  gap: 2rem;
  padding: 2rem 3vw;
  border-top: 1px solid rgba(255,255,255,.14);
  background: #050505;
  color: rgba(255,255,255,.58);
  font: 400 .68rem/1.5 "Montserrat Source", Montserrat, Helvetica, Arial, sans-serif;
  letter-spacing: .04em;
}

.trust-footer p { display:flex; flex-wrap:wrap; gap:.4rem 1rem; margin:0; }
.trust-footer p:last-child { justify-self:end; text-align:right; }
.trust-footer strong { color:#fff; font-weight:400; }
.trust-footer a { color:rgba(255,255,255,.78); text-decoration:none; }

.news-live,
.newsletter-shell {
  padding: clamp(5rem, 9vw, 10rem) 6vw;
  border-top: 1px solid rgba(255,255,255,.16);
  background: #050505;
  font-family: "Montserrat Source", Montserrat, Helvetica, Arial, sans-serif;
}

.news-live > h2,
.newsletter-shell > h2 {
  max-width: 14ch;
  margin: 0;
  font: 400 clamp(3rem, 7vw, 8rem)/.92 "Helvetica Neue", Helvetica, Arial, sans-serif;
  letter-spacing: -.045em;
}

.news-live-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
  margin-top: clamp(4rem, 7vw, 8rem);
  background: rgba(255,255,255,.16);
}

.news-live-grid article {
  min-height: 25rem;
  display: flex;
  flex-direction: column;
  padding: clamp(1.5rem, 3vw, 3rem);
  background: #090909;
}

.news-live-type { margin: 0; color: rgba(255,255,255,.48); font-size: .68rem; letter-spacing: .14em; }
.news-live-grid h3 { margin: auto 0 1.4rem; font-size: clamp(1.6rem, 2.7vw, 3rem); font-weight: 400; line-height: 1.05; }
.news-live-grid article > p:last-of-type { margin: 0; color: rgba(255,255,255,.68); font-size: .95rem; line-height: 1.65; }
.news-live-grid a { align-self: flex-start; margin-top: 1.5rem; color: #fff; font-size: .72rem; letter-spacing: .13em; }
.newsletter-shell > p:not(.portfolio-kicker) { max-width: 44rem; color: rgba(255,255,255,.68); line-height: 1.6; }
.newsletter-setup-note { font-size: .75rem; letter-spacing: .08em; text-transform: uppercase; }

.newsletter-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.8rem;
  margin: 2rem 0;
}

.newsletter-actions a {
  display: inline-flex;
  align-items: center;
  min-height: 2.8rem;
  padding: 0.9rem 1.2rem;
  border: 1px solid rgba(255,255,255,.62);
  color: #fff;
  font-size: .72rem;
  letter-spacing: .13em;
  text-decoration: none;
  transition: background .3s ease, color .3s ease;
}

.newsletter-actions a:hover,
.newsletter-actions a:focus-visible { background:#fff; color:#000; }

.motion-enabled .home-positioning-pillars article { opacity:0; transform:translate3d(0,3rem,0); transition:opacity 1.1s ease,transform 1.3s cubic-bezier(.22,1,.36,1); }
.motion-enabled .page-next-step { overflow:hidden; }
.motion-enabled .page-next-step > * {
  opacity: 0;
  transform: translate3d(-8vw,0,0);
  transition: opacity 1.05s ease, transform 1.35s cubic-bezier(.22,1,.36,1);
}
.motion-enabled .home-positioning-pillars article.is-visible,
.motion-enabled .page-next-step.is-visible > * { opacity:1; transform:translate3d(0,0,0); }

.portfolio-main,
.contact-main {
  min-height: 100vh;
  padding-top: 58px;
  color: #f1f1f1;
}

.portfolio-hero,
.contact-hero {
  min-height: 72vh;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: clamp(7rem, 13vw, 14rem) 6vw 8vw;
  border-bottom: 1px solid rgba(255, 255, 255, 0.16);
  background:
    radial-gradient(circle at 78% 20%, rgba(168, 176, 184, 0.13), transparent 29%),
    linear-gradient(128deg, #030303 0%, #0b0b0b 56%, #151515 100%);
}

.portfolio-kicker {
  margin: 0 0 1.3rem;
  color: rgba(255, 255, 255, 0.58);
  font-size: 11px;
  letter-spacing: 0.23em;
}

.portfolio-hero h1,
.contact-hero h1 {
  margin: 0;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: clamp(4rem, 11vw, 12rem);
  font-weight: 400;
  line-height: 0.82;
  letter-spacing: -0.045em;
}

.portfolio-lead {
  margin: clamp(2.2rem, 5vw, 5rem) 0 0;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: clamp(1.6rem, 3vw, 3.4rem);
  line-height: 1.05;
}

.portfolio-intro,
.contact-hero > p:last-child {
  max-width: 44rem;
  margin: 1.3rem 0 0;
  color: rgba(255, 255, 255, 0.68);
  font-size: clamp(0.95rem, 1.25vw, 1.2rem);
  line-height: 1.55;
}

.brand-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  background: rgba(255, 255, 255, 0.16);
  gap: 1px;
}

.brand-card {
  position: relative;
  min-height: min(52vw, 660px);
  display: grid;
  grid-template-rows: auto 1fr auto auto;
  padding: clamp(1.4rem, 3vw, 3.2rem);
  overflow: hidden;
  background: #f2f2ef;
  color: #050505;
  text-decoration: none;
  opacity: 1;
  transform: translate3d(0, 0, 0);
}

.brand-card-dark {
  background: #0a0a0a;
  color: #f2f2ef;
}

.brand-card-index {
  font-size: 10px;
  letter-spacing: 0.2em;
  opacity: 0.55;
}

.brand-card img {
  align-self: center;
  justify-self: center;
  width: min(66%, 420px);
  max-height: 54%;
  object-fit: contain;
  filter: grayscale(1);
  transition: transform 0.8s cubic-bezier(0.22, 1, 0.36, 1), filter 0.5s ease;
}

.brand-card-dark img { filter: grayscale(1); }
.brand-card:not(.brand-card-dark) img[src*="caviar-of-gods"] { filter: grayscale(1) invert(1); }

.brand-card-name {
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: clamp(1.6rem, 3.2vw, 3.7rem);
  line-height: 1.05;
}

.brand-card-route {
  margin-top: 0.8rem;
  font-size: clamp(0.75rem, 0.9vw, 0.95rem);
  letter-spacing: 0.06em;
  opacity: 0.62;
}

.brand-card:hover img,
.brand-card:focus-visible img {
  transform: scale(1.045);
  filter: grayscale(0);
}

.motion-enabled .brand-card,
.motion-enabled .contact-aside,
.motion-enabled .contact-form,
.motion-enabled .portfolio-journey {
  opacity: 0;
  transform: translate3d(0, 4rem, 0);
  transition: opacity 1.1s ease, transform 1.25s cubic-bezier(0.22, 1, 0.36, 1);
}

.motion-enabled .brand-card:nth-child(even) { transition-delay: 0.08s; }

.motion-enabled .brand-card.is-visible,
.motion-enabled .contact-aside.is-visible,
.motion-enabled .contact-form.is-visible,
.motion-enabled .portfolio-journey.is-visible {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}

.portfolio-journey {
  min-height: 44vh;
  display: grid;
  grid-template-columns: 1fr auto 1fr auto 1fr;
  align-items: center;
  gap: 2rem;
  padding: 7vw 6vw;
  border-bottom: 1px solid rgba(255, 255, 255, 0.16);
  text-align: center;
}

.portfolio-journey p {
  margin: 0;
  font-size: clamp(0.75rem, 1.25vw, 1.1rem);
  line-height: 1.5;
  letter-spacing: 0.12em;
}

.portfolio-journey span {
  color: rgba(255, 255, 255, 0.35);
  font-size: 1.5rem;
}

.contact-hero { min-height: 60vh; }

.contact-section {
  display: grid;
  grid-template-columns: minmax(18rem, 0.8fr) minmax(0, 1.7fr);
  gap: clamp(3rem, 8vw, 9rem);
  padding: clamp(5rem, 9vw, 10rem) 6vw;
  border-bottom: 1px solid rgba(255, 255, 255, 0.16);
}

.contact-aside h2 {
  margin: 0 0 2rem;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: clamp(2.7rem, 5vw, 6.5rem);
  font-weight: 400;
  line-height: 0.92;
  letter-spacing: -0.04em;
}

.contact-aside > p:not(.portfolio-kicker) {
  max-width: 29rem;
  margin: 0 0 2.2rem;
  color: rgba(255, 255, 255, 0.68);
  font-size: 0.95rem;
  line-height: 1.65;
}

.contact-aside > a {
  display: inline-block;
  padding-bottom: 0.35rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.55);
  color: #fff;
  font-size: clamp(0.95rem, 1.2vw, 1.15rem);
  text-decoration: none;
}

.contact-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 2.2rem 2rem;
}

.contact-form label { display: block; }
.contact-form-wide { grid-column: 1 / -1; }

.contact-form label > span:first-child {
  display: block;
  margin-bottom: 0.7rem;
  color: rgba(255, 255, 255, 0.62);
  font-size: 0.68rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.contact-form input,
.contact-form select,
.contact-form textarea {
  width: 100%;
  border: 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.32);
  border-radius: 0;
  padding: 0.7rem 0 0.9rem;
  outline: 0;
  background: transparent;
  color: #fff;
  font: 400 1rem/1.5 "Montserrat Source", Montserrat, Helvetica, Arial, sans-serif;
  transition: border-color 0.3s ease;
}

.contact-form select { color-scheme: dark; }
.contact-form textarea { min-height: 11rem; resize: vertical; }
.contact-form input::placeholder { color: rgba(255, 255, 255, 0.34); }
.contact-form input:focus,
.contact-form select:focus,
.contact-form textarea:focus { border-color: #fff; }

.contact-honeypot {
  position: absolute;
  left: -10000px;
  width: 1px;
  height: 1px;
  overflow: hidden;
}

.contact-consent {
  display: flex !important;
  align-items: flex-start;
  gap: 0.75rem;
  margin-top: 2rem;
  color: rgba(255, 255, 255, 0.62);
  font-size: 0.76rem;
  line-height: 1.5;
}

.contact-consent input {
  width: 1rem;
  height: 1rem;
  flex: 0 0 auto;
  margin-top: 0.08rem;
  accent-color: #fff;
}

.contact-consent span { margin: 0 !important; font: inherit !important; letter-spacing: 0 !important; text-transform: none !important; }

.contact-submit-row {
  display: flex;
  align-items: center;
  gap: 1.5rem;
  margin-top: 2.3rem;
}

.contact-submit-row button {
  min-width: 10.5rem;
  border: 1px solid rgba(255, 255, 255, 0.7);
  padding: 0.95rem 1.25rem;
  background: transparent;
  color: #fff;
  font: 400 0.72rem/1 "Montserrat Source", Montserrat, Helvetica, Arial, sans-serif;
  letter-spacing: 0.14em;
  cursor: pointer;
  transition: background 0.3s ease, color 0.3s ease;
}

.contact-submit-row button:hover,
.contact-submit-row button:focus-visible { background: #fff; color: #000; }

.contact-form-status { margin: 0; font-size: 0.78rem; line-height: 1.45; }
.contact-form-status.is-success { color: #d9f4d0; }
.contact-form-status.is-error { color: #ffc9c9; }

.editorial-footer {
  min-height: 46vh;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 3rem;
  padding: 7vw 6vw;
}

.editorial-footer > p {
  max-width: 13ch;
  margin: 0;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: clamp(3rem, 8vw, 9rem);
  font-weight: 700;
  line-height: 0.94;
  letter-spacing: -0.04em;
}

.editorial-footer > p span { display: block; white-space: nowrap; }

.editorial-footer div {
  display: flex;
  flex-wrap: wrap;
  gap: 1.5rem 2.5rem;
}

.editorial-footer a {
  color: rgba(255, 255, 255, 0.72);
  font-size: 0.82rem;
  text-decoration: none;
}

.editorial-footer a:hover,
.editorial-footer a:focus-visible { color: #fff; }

@media (max-width: 900px) {
  .corporate-header {
    height: 50px;
    padding: 0 1rem;
  }

  .corporate-wordmark { width: 112px; }

  .corporate-nav-toggle {
    margin-left: auto;
    display: flex;
    align-items: center;
    gap: 0.65rem;
    border: 0;
    padding: 0.5rem 0;
    background: transparent;
    color: #fff;
    font: inherit;
    letter-spacing: 0.08em;
  }

  .corporate-nav-toggle i,
  .corporate-nav-toggle i::before {
    width: 18px;
    height: 1px;
    display: block;
    background: #fff;
    content: "";
    transition: transform 0.3s ease;
  }

  .corporate-nav-toggle i::before { transform: translateY(5px); }
  .corporate-header.is-open .corporate-nav-toggle i { transform: rotate(45deg); }
  .corporate-header.is-open .corporate-nav-toggle i::before { transform: rotate(-90deg); }

  .corporate-nav-links {
    position: absolute;
    top: 50px;
    left: 0;
    right: 0;
    max-height: 0;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    overflow: hidden;
    background: rgba(0, 0, 0, 0.97);
    transition: max-height 0.45s cubic-bezier(0.22, 1, 0.36, 1);
  }

  .corporate-header.is-open .corporate-nav-links { max-height: 420px; }

  .corporate-nav-links a,
  .corporate-nav-links .nav-shop {
    margin: 0;
    padding: 1rem 1.2rem;
    border: 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.12);
  }

  .corporate-nav-links a::after { display: none; }

  .source-site {
    padding-top: 50px;
  }

  .corporate-header::after {
    content: "";
    position: absolute;
    z-index: -1;
    left: 0;
    right: 0;
    top: 100%;
    height: 22px;
    background: #000;
    pointer-events: none;
  }

  .section-link,
  .hero-about {
    width: 17%;
    height: 1.25%;
    font-size: 5px;
    letter-spacing: 0.1em;
  }

  .home-copy-meta,
  .home-copy-description {
    font-size: clamp(6px, 1.55vw, 8px);
    line-height: 1.3;
  }

  .home-motion-hero .home-copy-description {
    font-size: clamp(5.5px, 1.4vw, 7px);
  }

  .hero-about,
  .home-community-link,
  .home-performance-link { left: 67.5%; }

  .home-studio-link,
  .home-food-link,
  .home-bespoke-link,
  .home-desirability-link { left: 17.5%; }

  .home-caviar-link {
    left: 64%;
    width: 22%;
  }

  .portfolio-main,
  .contact-main { padding-top: 50px; }

  .portfolio-hero,
  .contact-hero { min-height: 62vh; padding: 7rem 1.4rem 3.5rem; }
  .brand-grid,
  .contact-section { grid-template-columns: 1fr; }
  .brand-card { min-height: 100vw; padding: 1.4rem; }
  .brand-card img { width: min(72%, 360px); }
  .contact-section { gap: 4rem; padding: 5rem 1.4rem; }
  .contact-form-grid { grid-template-columns: 1fr; }
  .contact-form-wide { grid-column: auto; }
  .contact-submit-row { align-items: flex-start; flex-direction: column; }
  .portfolio-journey { grid-template-columns: 1fr; gap: 1.3rem; padding: 5rem 1.4rem; }
  .portfolio-journey span { transform: rotate(90deg); }
  .editorial-footer { min-height: 54vh; padding: 5rem 1.4rem; }
  .editorial-footer > p { max-width: none; font-size: 8.5vw; }
  .home-positioning { padding: 5rem 1.4rem; }
  .home-positioning > h1 { font-size: 12vw; }
  .home-positioning-pillars { grid-template-columns: 1fr; }
  .home-positioning-pillars article { min-height: 18rem; }
  .page-next-step { min-height: 58vh; padding: 5rem 1.4rem; }
  .trust-footer { grid-template-columns: 1fr; gap: .8rem; padding: 2rem 1.4rem; }
  .trust-footer p:last-child { justify-self:start; text-align:left; }
  .news-live-grid { grid-template-columns: 1fr; }
  .news-live-grid article { min-height: 20rem; }
  .news-live-type { font-size: .76rem; }
  .news-live-grid article > p:last-of-type { font-size: 1rem; line-height: 1.7; }
  .news-live-grid a { font-size: .78rem; }
}

@media (min-width: 1921px) {
  .bottom-title-replacement {
    font-size: 150px;
  }

  .text-correction {
    font-size: 20px;
    outline-width: 5px;
  }

  .independent-correction strong {
    font-size: 50px;
    margin-bottom: 8.5px;
  }

  .independent-correction span {
    margin-left: 3.6434px;
  }
}

@media (hover: none), (pointer: coarse) {
  .ambient-cursor { display: none; }

  .motion-enabled .about-from-left { transform: translate3d(-8vw, 0, 0); }
  .motion-enabled .about-from-right { transform: translate3d(8vw, 0, 0); }
  .motion-enabled .about-slide-copy.is-visible { transform: translate3d(0, 0, 0); }
  .motion-enabled .copy-from-left,
  .motion-enabled .copy-long-travel.copy-from-left { transform: translate3d(-8vw, 0, 0); }
  .motion-enabled .copy-from-right,
  .motion-enabled .copy-long-travel.copy-from-right { transform: translate3d(8vw, 0, 0); }
  .motion-enabled .copy-from-bottom { transform: translate3d(0, 5vw, 0); }
  .motion-enabled .raster-copy-motion.is-visible { transform: translate3d(0, 0, 0); }
}

@media (max-width: 900px) {
  .site-ending-slogan { min-height: 44vh; padding: 5rem 1rem; }
  .site-ending-slogan p { font-size: 8.5vw; line-height: .98; }
  .press-signup { min-height: auto; padding: 3.25rem 1.4rem; }
  .press-signup h2 { font-size: 1rem; }
  .press-signup form { width: min(100%, 24rem); grid-template-columns: 1fr; margin-top: 1.25rem; }
  .press-signup input,
  .press-signup button { min-height: 2.75rem; font-size: .75rem; }
  .press-signup button { width: 100%; }
  .press-signup-note { margin-top: .8rem; font-size: .62rem; }
  .press-signup nav { margin-top: 1.5rem; }
  .press-signup nav a { font-size: .65rem; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  body { animation: none; }
  .motion-wipe > img, .motion-copy, .motion-title, .studio-intro-copy, .studio-growth-copy, .about-slide-copy, .raster-copy-motion, .caviar-live-copy, .home-cta-motion { transition: none; }
  body, .motion-wipe > img, .motion-copy, .motion-title, .studio-intro-copy, .studio-growth-copy, .about-slide-copy, .raster-copy-motion, .caviar-live-copy, .home-cta-motion { opacity: 1; transform: none; letter-spacing: 0; }
  .ambient-cursor { display: none; }
}
