﻿.home-page {
  --home-gutter: clamp(20px, 4vw, 64px);
  --home-space: clamp(110px, 14vw, 220px);
}

.home-page .site-header { padding-inline: var(--home-gutter); }
.home-page .site-nav { gap: clamp(18px, 2.4vw, 42px); }

.home-hero {
  min-height: 100svh;
  position: relative;
  display: flex;
  align-items: flex-start;
  overflow: hidden;
  isolation: isolate;
  padding: 150px var(--home-gutter) clamp(36px, 5vh, 70px);
  background: transparent;
}
.home-hero::before {
  content: none;
}
.home-eclipse {
  position: absolute;
  z-index: -1;
  width: min(55vw, 800px);
  aspect-ratio: 1;
  right: -7vw;
  top: -13vw;
  border: 1px solid rgba(242,240,233,.09);
  border-radius: 50%;
}
.home-eclipse::before {
  content: "";
  position: absolute;
  inset: 17%;
  border-radius: inherit;
  background: #080808;
  box-shadow: -18px 10px 55px rgba(142,216,255,.12);
}
.home-eclipse::after {
  content: "";
  position: absolute;
  inset: 17%;
  z-index: -1;
  border-radius: inherit;
  background: conic-gradient(from 125deg, transparent 0 47%, rgba(142,216,255,.55) 54%, rgba(255,255,255,.85) 58%, transparent 68%);
  filter: blur(7px);
}
.home-hero__inner {
  min-height: calc(100svh - 150px - clamp(36px, 5vh, 70px));
  width: 100%;
  position: relative;
  display: flex;
  flex-direction: column;
}
.home-hero__brand,
.home-hero__location,
.editorial-label,
.expertise-item > span,
.create-row > span,
.project-meta p,
.project-coming > p,
.project-coming > span,
.home-contact__statement > p {
  font-family: "DM Mono", monospace;
  text-transform: uppercase;
  letter-spacing: .14em;
  font-size: .64rem;
}
.home-hero__brand { margin: 0; color: var(--white); }
.home-hero__brand span { color: #777; }
.home-hero h1 {
  max-width: 1280px;
  margin: clamp(55px, 8vh, 95px) 0 clamp(55px, 7vh, 80px);
  margin-inline: auto;
  font-size: clamp(2.6rem, 5.2vw, 6rem);
  line-height: .82;
  letter-spacing: -.045em;
  font-family: "Cormorant Garamond", Georgia, serif;
  font-weight: 500;
  text-shadow: 0 3px 22px rgba(0, 0, 0, .55);
  text-align: center;
  text-transform: uppercase;
  position: relative;
  top: clamp(-110px, -9vh, -42px);
}
.home-title-art {
  display: block;
  width: min(62%, 900px);
  height: clamp(160px, 18vw, 240px);
  margin: clamp(22px, 4vh, 48px) auto clamp(18px, 3vh, 36px);
  object-fit: cover;
  object-position: center 40%;
  transform: translateY(clamp(-240px, -22vh, -160px));
}
.home-hero h1 em {
  color: var(--white);
  font-family: "Cormorant Garamond", Georgia, serif;
  font-style: italic;
  font-weight: 700;
  letter-spacing: -.08em;
  text-shadow: 0 4px 16px rgba(0, 0, 0, .5);
  text-transform: none;
}
.home-hero__footer {
  display: grid;
  grid-template-columns: 1.2fr .8fr auto;
  gap: clamp(30px, 5vw, 90px);
  align-items: end;
  margin-top: auto;
  padding-top: 20px;
  border-top: 1px solid var(--line);
}
.home-hero__description { max-width: 460px; margin: 0; color: var(--muted); line-height: 1.7; }
.home-hero__location { margin: 0; color: #797973; line-height: 1.7; }
.editorial-link { display: flex; gap: 38px; align-items: center; padding-bottom: 7px; border-bottom: 1px solid; font: .66rem "DM Mono", monospace; text-transform: uppercase; letter-spacing: .1em; }
.editorial-link span { color: var(--accent); font-size: 1rem; }

.home-section { padding: var(--home-space) var(--home-gutter); }
.about-stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(28px, 5vw, 90px);
  padding: clamp(42px, 5vw, 74px) var(--home-gutter);
  border-top: 1px solid rgba(255, 255, 255, .08);
  border-bottom: 1px solid rgba(255, 255, 255, .08);
  background: transparent;
  color: var(--white);
}
.about-stat {
  display: grid;
  gap: clamp(20px, 3vw, 36px);
}
.about-stat strong {
  color: var(--accent);
  font: 800 clamp(4.4rem, 10.5vw, 8.8rem) / .78 "Manrope", Arial, sans-serif;
  letter-spacing: -.045em;
}
.about-stat > span {
  color: rgba(242, 240, 233, .62);
  font: .72rem "DM Mono", monospace;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.portfolio-intro-title { margin-bottom: clamp(70px, 9vw, 130px); padding-top: clamp(10px, 2vw, 30px); border-top: 1px solid var(--line); }
.portfolio-intro-title .editorial-label { display: block; margin: 0 0 clamp(55px, 7vw, 95px); }
.portfolio-intro-title h1 { margin: 0; max-width: 1100px; font-size: clamp(3.4rem, 8vw, 8rem); line-height: .86; letter-spacing: -.07em; font-weight: 300; text-transform: none; }
.portfolio-intro-subtitle { max-width: 520px; margin: clamp(24px, 3vw, 42px) 0 0; color: var(--muted); font-size: clamp(1rem, 1.35vw, 1.25rem); line-height: 1.6; }
.portfolio-theatre { margin-top: clamp(100px, 12vw, 180px); scroll-margin-top: clamp(90px, 10vw, 140px); }
.portfolio-theatre__heading { display: flex; justify-content: space-between; align-items: baseline; gap: 30px; border-bottom: 1px solid var(--line); padding-bottom: 20px; }
.portfolio-theatre__heading .editorial-label { display: block; margin: 0; }
.portfolio-theatre h2 { margin: 0; font-size: clamp(2.8rem, 7vw, 7rem); font-weight: 300; letter-spacing: -.07em; text-transform: uppercase; }
.portfolio-theatre__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(24px, 4vw, 65px); margin-top: 35px; }
.portfolio-theatre__item { margin: 0; }
.portfolio-theatre__item video { display: block; width: 100%; aspect-ratio: 16 / 9; object-fit: contain; background: #050505; border: 1px solid var(--line); }
.portfolio-theatre__item figcaption { margin-top: 14px; color: var(--muted); font: .65rem "DM Mono", monospace; letter-spacing: .12em; text-transform: uppercase; }
@media (max-width: 600px) { .portfolio-theatre__grid { grid-template-columns: 1fr; } .portfolio-theatre__heading { display: block; } .portfolio-theatre__heading h2 { margin-top: 18px; } }
.editorial-label { display: grid; grid-template-columns: minmax(70px, 1fr) 3fr; color: var(--muted); }
.editorial-label span:first-child { color: #6f6f69; }
.statement-grid,
.section-title-grid {
  display: grid;
  grid-template-columns: minmax(250px, 1fr) 3fr;
  gap: clamp(40px, 6vw, 100px);
  align-items: end;
  margin-top: clamp(75px, 9vw, 140px);
}
.statement-grid h2,
.section-title-grid h2 {
  grid-column: 2;
  margin: 0;
  font-size: clamp(3.8rem, 8vw, 8.8rem);
  line-height: .86;
  letter-spacing: -.072em;
  font-weight: 300;
  text-transform: uppercase;
}
.statement-grid h2 em,
.section-title-grid h2 em { font-family: Georgia, serif; font-weight: 400; text-transform: none; }
.statement-grid > p,
.section-title-grid > p {
  grid-column: 2;
  width: min(100%, 520px);
  margin: 0 0 0 auto;
  color: inherit;
  opacity: .62;
  line-height: 1.75;
}

.home-studio { background: var(--white); color: var(--ink); }
.home-studio .editorial-label { color: #555; }
.home-studio .statement-grid { align-items: end; }
.home-studio .statement-grid h2 { grid-row: 1 / span 2; }
.home-studio .statement-grid > p { grid-column: 1; grid-row: 2; margin: 0; max-width: 330px; }
.about-intro {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(360px, .85fr);
  gap: clamp(55px, 9vw, 150px);
  margin-top: clamp(90px, 11vw, 170px);
  align-items: start;
}
.about-intro h2 {
  position: sticky;
  top: 120px;
  margin: 0;
  font-size: clamp(5rem, 11vw, 12rem);
  line-height: .76;
  letter-spacing: -.075em;
  font-weight: 300;
  text-transform: uppercase;
}
.about-intro__copy { max-width: 680px; }
.about-intro__copy p { margin: 0; color: #4f4f4b; font-size: clamp(1rem, 1.25vw, 1.2rem); line-height: 1.85; }
.about-intro__copy p + p { margin-top: 32px; }
.about-intro__copy .about-lead { color: var(--ink); font-size: clamp(1.3rem, 2vw, 2.05rem); line-height: 1.5; letter-spacing: -.025em; }
.about-team, .about-services { margin-top: clamp(120px, 15vw, 230px); }
.about-team > h3, .about-services > h3 {
  margin: 0 0 clamp(50px, 7vw, 100px);
  padding-top: 18px;
  border-top: 1px solid #a8a8a2;
  font: 500 .67rem "DM Mono", monospace;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.about-team__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(45px, 7vw, 110px);
  width: 100%;
  max-width: 1240px;
  margin-inline: auto;
  align-items: start;
}
.about-person { width: 100%; max-width: 565px; min-width: 0; margin-inline: auto; }
.about-person__role { margin: 0 0 26px; color: #666; font: .64rem "DM Mono", monospace; letter-spacing: .12em; text-align: center; text-transform: uppercase; }
.about-person h4 { margin: 0; font-size: clamp(2.5rem, 4.2vw, 4.8rem); line-height: .9; letter-spacing: -.045em; font-weight: 400; text-align: center; text-transform: uppercase; }
.about-person__portrait {
  position: relative;
  isolation: isolate;
  display: grid;
  place-items: center;
  width: min(100%, 520px);
  aspect-ratio: 5 / 6;
  margin: clamp(34px, 3.5vw, 52px) auto 0;
}
.about-person__portrait::before {
  display: none;
}
.about-person__portrait img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
  mix-blend-mode: multiply;
}
.about-person__bio { margin-top: clamp(38px, 4.5vw, 64px); padding-top: 20px; border-top: 1px solid #b7b7b0; }
.about-person__bio p { margin: 0; max-width: 640px; color: #50504b; line-height: 1.8; }
.about-person__bio p + p { margin-top: 24px; }
.about-services__list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 0; padding: 0; border-top: 1px solid #aaa; list-style: none; }
.about-services__list li { padding: 22px 0; border-bottom: 1px solid #aaa; font-size: clamp(1.2rem, 2vw, 2.1rem); letter-spacing: -.025em; }
.about-services__list li:nth-child(odd) { padding-right: clamp(25px, 4vw, 65px); border-right: 1px solid #aaa; }
.about-services__list li:nth-child(even) { padding-left: clamp(25px, 4vw, 65px); }
.about-signoff { max-width: 1050px; margin: clamp(120px, 15vw, 230px) 0 0 auto; padding-top: 24px; border-top: 1px solid var(--ink); font-size: clamp(2rem, 4.2vw, 5rem); line-height: 1.08; letter-spacing: -.045em; }
.about-signoff strong { font-weight: 500; }
.about-actions,
.services-page__actions {
  display: flex;
  flex-wrap: wrap;
  gap: clamp(22px, 4vw, 54px);
}
.about-actions {
  justify-content: flex-end;
  margin-top: clamp(38px, 5vw, 70px);
}

.home-services {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background: transparent;
  color: var(--white);
}
.home-services::before {
  content: "";
  position: absolute;
  z-index: -1;
  width: min(55vw, 760px);
  aspect-ratio: 1;
  right: -17vw;
  top: 10%;
  border: 1px solid rgba(142,216,255,.11);
  border-radius: 50%;
  box-shadow: -35px 10px 95px rgba(142,216,255,.08);
}
.services-editorial {
  display: grid;
  grid-template-columns: minmax(230px, .85fr) minmax(0, 1.45fr);
  gap: clamp(45px, 7vw, 120px);
  align-items: end;
  margin-top: clamp(80px, 10vw, 155px);
}
.services-editorial__heading > p,
.service-row__number,
.service-row__action,
.service-row__body em {
  font-family: "DM Mono", monospace;
  text-transform: uppercase;
  letter-spacing: .12em;
}
.services-editorial__heading > p {
  margin: 0 0 24px;
  color: var(--muted);
  font-size: .64rem;
}
.services-editorial h1,
.services-editorial h2 {
  margin: 0;
  font-size: clamp(4.5rem, 11vw, 12rem);
  line-height: .76;
  letter-spacing: -.078em;
  font-weight: 300;
  text-transform: uppercase;
}
.services-editorial__intro {
  max-width: 520px;
  margin-left: auto;
  padding-top: 22px;
  border-top: 1px solid var(--line);
}
.services-editorial__intro p {
  margin: 0;
  color: var(--muted);
  font-size: clamp(1rem, 1.25vw, 1.18rem);
  line-height: 1.75;
}
.services-page .home-services {
  padding-top: clamp(145px, 13vw, 210px);
}
.services-page__actions {
  margin-top: clamp(28px, 4vw, 48px);
}
.services-showcase {
  display: grid;
  grid-template-columns: minmax(280px, .82fr) minmax(0, 1.4fr);
  gap: clamp(42px, 7vw, 110px);
  align-items: start;
  margin-top: clamp(75px, 9vw, 135px);
}
.services-showcase__visual {
  position: sticky;
  top: 118px;
  min-height: clamp(420px, 43vw, 650px);
  overflow: hidden;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  background: #080908;
}
.services-showcase__visual::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 68% 36%, transparent 0 19%, rgba(5,5,5,.18) 42%, rgba(5,5,5,.82) 100%),
    linear-gradient(90deg, rgba(5,5,5,.46), transparent 48%, rgba(5,5,5,.72));
}
.services-showcase__image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0;
  filter: grayscale(.78) contrast(1.12) brightness(.72);
  transform: scale(1.055);
  transition: opacity .55s ease, transform .8s cubic-bezier(.22,1,.36,1);
}
.services-showcase__image--one { opacity: .42; }
.home-services:has(.service-row--one:hover) .services-showcase__image--one,
.home-services:has(.service-row--one:focus-visible) .services-showcase__image--one,
.home-services:has(.service-row--two:hover) .services-showcase__image--two,
.home-services:has(.service-row--two:focus-visible) .services-showcase__image--two,
.home-services:has(.service-row--three:hover) .services-showcase__image--three,
.home-services:has(.service-row--three:focus-visible) .services-showcase__image--three,
.home-services:has(.service-row--four:hover) .services-showcase__image--four,
.home-services:has(.service-row--four:focus-visible) .services-showcase__image--four,
.home-services:has(.service-row--five:hover) .services-showcase__image--five,
.home-services:has(.service-row--five:focus-visible) .services-showcase__image--five {
  opacity: .5;
  transform: scale(1);
}
.services-rows {
  border-top: 1px solid var(--line);
}
.service-row {
  display: grid;
  grid-template-columns: minmax(58px, .22fr) minmax(0, 1fr) auto;
  gap: clamp(22px, 4vw, 70px);
  align-items: center;
  min-height: clamp(168px, 14vw, 220px);
  padding: 30px 0;
  border-bottom: 1px solid var(--line);
  transition: padding .35s ease, color .35s ease, background .35s ease;
}
.service-row__number {
  color: #70706b;
  font-size: clamp(.78rem, 1vw, .92rem);
  transition: color .35s ease, transform .35s ease;
}
.service-row__body {
  display: grid;
  gap: 18px;
}
.service-row__body strong {
  font-size: clamp(2.6rem, 5.2vw, 6.4rem);
  line-height: .83;
  letter-spacing: -.067em;
  font-weight: 300;
  text-transform: uppercase;
  transition: color .35s ease, transform .35s ease;
}
.service-row__body small {
  display: block;
  max-width: 560px;
  color: var(--muted);
  font-size: clamp(.95rem, 1.2vw, 1.08rem);
  line-height: 1.65;
}
.service-row__body em {
  display: block;
  max-width: 670px;
  color: #777771;
  font-size: .58rem;
  font-style: normal;
  line-height: 1.75;
}
.service-row__action {
  display: flex;
  align-items: center;
  gap: 18px;
  color: var(--muted);
  font-size: .62rem;
  white-space: nowrap;
  transition: color .35s ease, transform .35s ease;
}
.service-row__action b {
  color: var(--accent);
  font-size: 1rem;
  font-weight: 400;
}
.service-row:hover,
.service-row:focus-visible {
  padding-inline: clamp(10px, 1.4vw, 18px);
  background: rgba(255,255,255,.018);
  outline: none;
}
.service-row:hover .service-row__number,
.service-row:focus-visible .service-row__number,
.service-row:hover .service-row__body strong,
.service-row:focus-visible .service-row__body strong {
  color: var(--accent);
  transform: translateX(6px);
}
.service-row:hover .service-row__action,
.service-row:focus-visible .service-row__action {
  color: var(--white);
  transform: translateX(-6px);
}

.home-expertise { background: transparent; }
.expertise-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  margin-top: clamp(90px, 10vw, 160px);
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}
.expertise-list[hidden],
.home-create[hidden] { display: none !important; }
.expertise-item { min-height: 390px; padding: 26px clamp(22px, 3vw, 45px) 32px 0; display: flex; flex-direction: column; border-right: 1px solid var(--line); }
.expertise-item + .expertise-item { padding-left: clamp(22px, 3vw, 45px); }
.expertise-item:last-child { border-right: 0; }
.expertise-item > span { color: #70706b; }
.expertise-item h3 { margin: auto 0 30px; font-size: clamp(2rem, 3.2vw, 3.7rem); line-height: .95; letter-spacing: -.05em; font-weight: 300; text-transform: uppercase; transition: transform .3s, color .3s; }
.expertise-item p { max-width: 350px; margin: 0; color: var(--muted); line-height: 1.65; }
.expertise-item:hover h3 { color: var(--accent); transform: translateX(8px); }
.expertise-motto {
  position: relative;
  isolation: isolate;
  min-height: clamp(430px, 52vw, 760px);
  margin-top: clamp(110px, 13vw, 200px);
  padding: clamp(28px, 4vw, 65px);
  overflow: hidden;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  background:
    radial-gradient(circle at 66% 58%, rgba(142,216,255,.12), transparent 32%),
    linear-gradient(135deg, rgba(255,255,255,.018), transparent 48%);
}
.expertise-motto::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -2;
  background: linear-gradient(105deg, transparent 22%, rgba(255,255,255,.045) 47%, transparent 69%);
  transform: translateX(-110%);
  animation: motto-light-sweep 9s ease-in-out infinite;
}
.expertise-motto__slideshow {
  position: absolute;
  inset: 0;
  z-index: -3;
  overflow: hidden;
  background: #060706;
}
.expertise-motto__slideshow::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 48% 48%, transparent 15%, rgba(4,5,4,.38) 72%, rgba(4,5,4,.78) 100%),
    linear-gradient(90deg, rgba(4,5,4,.48), rgba(4,5,4,.12) 48%, rgba(4,5,4,.46));
}
.expertise-motto__slide {
  position: absolute;
  inset: -4%;
  background-position: center;
  background-size: cover;
  opacity: 0;
  filter: grayscale(.38) saturate(.62) contrast(1.12) brightness(.62);
  transform: scale(1.04) translate3d(0,0,0);
  animation: expertise-slide 18s ease-in-out infinite;
  will-change: opacity, transform;
}
.expertise-motto__slide--one { background-image: url("../expertise/expertise-slide-01.jpg"); background-position: center 44%; }
.expertise-motto__slide--two { background-image: url("../expertise/expertise-slide-02.jpg"); animation-delay: 6s; }
.expertise-motto__slide--three { background-image: url("../expertise/expertise-slide-03.jpg"); background-position: center 42%; animation-delay: 12s; }
@keyframes expertise-slide {
  0% { opacity: .24; transform: scale(1.04) translate3d(-.8%,0,0); }
  7%, 28% { opacity: .24; }
  34%, 100% { opacity: 0; transform: scale(1.1) translate3d(.8%,-.6%,0); }
}
.expertise-motto__label {
  display: grid;
  grid-template-columns: minmax(70px, 1fr) 3fr;
  color: #74746e;
  font: 500 .62rem "DM Mono", monospace;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.expertise-motto__copy {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: minmax(0, 2.4fr) minmax(240px, .8fr);
  gap: clamp(45px, 7vw, 110px);
  align-items: end;
  min-height: clamp(330px, 42vw, 590px);
  padding-top: clamp(75px, 9vw, 130px);
}
.expertise-motto h3 { margin: 0; font-weight: 300; line-height: .78; letter-spacing: -.072em; }
.expertise-motto h3 span,
.expertise-motto h3 em { display: block; }
.expertise-motto h3 span { font-size: clamp(3.8rem, 8.4vw, 9.4rem); text-transform: uppercase; }
.expertise-motto h3 em { margin-top: .08em; color: var(--accent); font: italic 400 clamp(3.6rem, 8vw, 9rem)/.82 Georgia, serif; letter-spacing: -.065em; white-space: nowrap; }
.expertise-motto__copy > p { max-width: 430px; margin: 0 0 1.2vw; color: #c0bfb8; font-size: clamp(.95rem, 1.25vw, 1.18rem); line-height: 1.7; }
.expertise-motto__orbit {
  position: absolute;
  z-index: -1;
  width: min(55vw, 780px);
  aspect-ratio: 1;
  right: -8%;
  top: 50%;
  transform: translateY(-50%);
  border: 1px solid rgba(142,216,255,.16);
  border-radius: 50%;
  background: radial-gradient(circle at 35% 50%, rgba(142,216,255,.13), #070807 58%);
  box-shadow: -38px 12px 100px rgba(142,216,255,.09), inset 25px -8px 55px rgba(255,255,255,.025);
  transition: transform 1.1s cubic-bezier(.22,1,.36,1), border-color .5s;
}
.expertise-motto__orbit::before,
.expertise-motto__orbit::after,
.expertise-motto__orbit span { content: ""; position: absolute; border-radius: 50%; }
.expertise-motto__orbit::before { inset: 13%; border: 1px solid rgba(242,240,233,.08); }
.expertise-motto__orbit::after { width: 9px; aspect-ratio: 1; left: 6%; top: 50%; background: var(--accent); box-shadow: 0 0 24px var(--accent); }
.expertise-motto__orbit span { inset: 34%; background: #040504; box-shadow: 0 0 70px rgba(0,0,0,.75); }
.expertise-motto:hover .expertise-motto__orbit { transform: translateY(-50%) translateX(-2.5%) scale(1.025); border-color: rgba(142,216,255,.3); }
@keyframes motto-light-sweep { 0%, 25% { transform: translateX(-110%); } 58%, 100% { transform: translateX(110%); } }
.services-catalog { margin-top: clamp(120px, 15vw, 220px); }
.services-catalog > h3 {
  margin: 0;
  padding-top: 18px;
  border-top: 1px solid var(--line);
  color: var(--muted);
  font: 500 .67rem "DM Mono", monospace;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.services-catalog ul {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin: clamp(70px, 8vw, 125px) 0 0;
  padding: 0;
  border-top: 1px solid var(--line);
  list-style: none;
}
.services-catalog li {
  display: flex;
  align-items: center;
  min-height: clamp(95px, 8vw, 135px);
  padding: 22px 0;
  border-bottom: 1px solid var(--line);
  font-size: clamp(1.45rem, 2.7vw, 3.2rem);
  line-height: 1.08;
  letter-spacing: -.045em;
  transition: color .25s, padding .3s;
}
.services-catalog li:nth-child(odd) { padding-right: clamp(28px, 4vw, 65px); border-right: 1px solid var(--line); }
.services-catalog li:nth-child(even) { padding-left: clamp(28px, 4vw, 65px); }
.services-catalog li:hover { color: var(--accent); padding-inline-start: clamp(10px, 1vw, 18px); }
.services-catalog .service-link { display: flex; width: 100%; align-items: center; justify-content: space-between; gap: 20px; color: inherit; }
.services-catalog .service-link b { flex: 0 0 auto; font: 400 .8rem "DM Mono", monospace; }

/* Tighter editorial rhythm for the dedicated expertise page. */
.expertise-page { --home-space: clamp(82px, 8vw, 125px); }
.expertise-page .home-expertise { padding-top: clamp(115px, 10vw, 155px); padding-bottom: clamp(82px, 8vw, 125px); }
.expertise-page .expertise-motto { min-height: clamp(400px, 45vw, 650px); margin-top: 0; }
.expertise-page .expertise-motto__copy { min-height: clamp(300px, 36vw, 500px); padding-top: clamp(50px, 6vw, 90px); }
.expertise-page .services-catalog { margin-top: clamp(65px, 7vw, 105px); }
.expertise-page .services-catalog ul { margin-top: clamp(42px, 5vw, 72px); }

.home-create { background: transparent; }
.section-title-grid--create h2 em { color: var(--accent); }
.create-list { margin-top: clamp(95px, 11vw, 180px); border-top: 1px solid var(--line); }
.create-row {
  display: grid;
  grid-template-columns: minmax(70px, .65fr) 2.3fr 1.2fr auto;
  gap: 30px;
  align-items: center;
  min-height: clamp(150px, 14vw, 220px);
  border-bottom: 1px solid var(--line);
  transition: padding .35s, color .35s, background .35s;
}
.create-row > span { color: #70706b; }
.create-row h3 { margin: 0; font-size: clamp(2.8rem, 6vw, 7rem); line-height: .85; letter-spacing: -.065em; font-weight: 300; text-transform: uppercase; }
.create-row p { margin: 0; color: var(--muted); font: .62rem "DM Mono", monospace; text-transform: uppercase; letter-spacing: .1em; line-height: 1.7; }
.create-row b { color: var(--accent); opacity: 0; font-size: 1.3rem; transition: opacity .3s, transform .3s; }
.create-row:hover { padding-inline: 16px; background: rgba(255,255,255,.018); }
.create-row:hover b { opacity: 1; transform: translateX(-8px); }
.campaigns-entry { display: flex; justify-content: space-between; align-items: center; margin-top: 45px; padding-bottom: 16px; border-bottom: 1px solid var(--accent); font: .68rem "DM Mono", monospace; text-transform: uppercase; letter-spacing: .1em; color: var(--accent); }
.campaigns-entry b { font-size: 1.1rem; }

.home-work { background: var(--white); color: var(--ink); }
.home-work .editorial-label { color: #555; }
.project-feature { margin-top: clamp(95px, 11vw, 180px); }
.project-feature__media { min-height: 70svh; display: grid; place-items: center; overflow: hidden; background: #080808; }
.project-feature video { display: block; width: 100%; height: min(82svh, 920px); object-fit: contain; background: #080808; }
.project-meta { display: grid; grid-template-columns: 2fr 1fr auto; gap: 35px; align-items: baseline; padding: 24px 0 55px; border-bottom: 1px solid #aaa; }
.project-meta h3 { margin: 0; font-size: clamp(2.2rem, 4.5vw, 5rem); line-height: .9; letter-spacing: -.055em; font-weight: 300; text-transform: uppercase; }
.project-meta p { margin: 0; color: #666; }
.project-meta a { font: .65rem "DM Mono", monospace; text-transform: uppercase; letter-spacing: .09em; border-bottom: 1px solid; padding-bottom: 7px; }
.project-meta a span { margin-left: 18px; }
.project-coming { min-height: min(64vw, 760px); position: relative; overflow: hidden; display: flex; flex-direction: column; justify-content: flex-end; margin-top: clamp(90px, 11vw, 170px); padding: clamp(28px, 5vw, 70px); background: transparent; color: var(--white); }
.project-coming__glow { position: absolute; width: 62%; aspect-ratio: 1; left: 50%; top: 50%; transform: translate(-50%,-50%); border-radius: 50%; background: radial-gradient(circle at 66% 42%, #dfe0c9 0 1%, #77735a 4%, #24231e 18%, #080808 50%, transparent 51%); transition: transform .9s; }
.project-coming:hover .project-coming__glow { transform: translate(-47%,-50%) scale(1.04); }
.project-coming > p,
.project-coming > h3,
.project-coming > span { position: relative; z-index: 1; }
.project-coming > p,
.project-coming > span { margin: 0; color: #999; }
.project-coming h3 { margin: 8px 0; font: italic 400 clamp(4.5rem, 11vw, 12rem) Georgia, serif; letter-spacing: -.08em; }

.home-clients { background: transparent; }
.client-grid--editorial { margin-top: clamp(80px, 9vw, 140px); grid-template-columns: repeat(4, minmax(0, 1fr)); }
.client-grid--editorial .client-logo { min-width: 0; min-height: clamp(155px, 13vw, 190px); margin: 0; padding: clamp(28px, 3vw, 48px); background: transparent; filter: none; transform: none; }
.client-grid--editorial .client-logo:hover { background: rgba(255,255,255,.018); filter: none; }
.client-grid--editorial img { display: block; width: auto; height: auto; max-width: 82%; max-height: 88px; object-fit: contain; opacity: .72; transition: opacity .3s ease, transform .3s ease; }
.client-grid--editorial .client-logo--compact img { max-width: 48%; max-height: 108px; }
.client-grid--editorial .client-logo:hover img { opacity: 1; transform: translateY(-2px); }

.home-contact { min-height: 100svh; padding: var(--home-space) var(--home-gutter) clamp(55px, 6vw, 90px); display: flex; flex-direction: column; background: var(--accent); color: var(--ink); }
.home-contact .editorial-label { color: #465315; }
.home-contact__statement { margin-top: auto; padding-top: clamp(90px, 12vw, 180px); }
.home-contact__statement > p { margin: 0 0 25px; color: #465315; }
.home-contact__statement h2 { margin: 0; font-size: clamp(4.2rem, 11vw, 12rem); line-height: .77; letter-spacing: -.08em; font-weight: 400; text-transform: uppercase; }
.home-contact__meta { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: clamp(65px, 9vw, 130px); border-top: 1px solid rgba(5,5,5,.45); font: .66rem "DM Mono", monospace; text-transform: uppercase; letter-spacing: .09em; }
.contact-channel { display: flex; justify-content: space-between; align-items: center; gap: 24px; min-width: 0; padding: 24px 0; border-bottom: 1px solid rgba(5,5,5,.45); }
.contact-channel:nth-child(odd) { padding-right: clamp(25px, 4vw, 65px); border-right: 1px solid rgba(5,5,5,.45); }
.contact-channel:nth-child(even) { padding-left: clamp(25px, 4vw, 65px); }
.contact-channel > span { flex: 0 0 auto; color: #465315; }
.contact-channel a { display: flex; align-items: center; justify-content: flex-end; gap: 16px; min-width: 0; text-align: right; text-transform: none; transition: opacity .25s ease, transform .25s ease; }
.contact-channel a:hover, .contact-channel a:focus-visible { opacity: .62; transform: translateX(3px); outline: none; }
.contact-channel b { flex: 0 0 auto; font-size: 1rem; font-weight: 400; }
.contact-channel--cta a { font-weight: 500; text-transform: uppercase; }
.home-contact__cta { display: flex; gap: 35px; padding-bottom: 7px; border-bottom: 1px solid; }
.home-contact__cta span { font-size: 1rem; }

@media (max-width: 1100px) {
  .home-page .site-nav { gap: 18px; font-size: .6rem; }
  .client-grid--editorial { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .statement-grid,
  .section-title-grid { grid-template-columns: minmax(180px, .65fr) 2fr; }
  .create-row { grid-template-columns: 55px 2fr 1fr auto; gap: 20px; }
  .expertise-item { min-height: 350px; }
}

@media (max-width: 800px) {
  .home-page { --home-space: clamp(90px, 16vw, 130px); }
  .home-page .site-header { height: 76px; }
  .home-page .menu-toggle { display: flex; width: 42px; height: 42px; flex-direction: column; justify-content: center; gap: 7px; z-index: 2; }
  .home-page .menu-toggle span:not(.sr-only) { width: 22px; height: 1px; background: var(--white); transition: .25s; }
  .home-page .menu-toggle[aria-expanded="true"] span:first-child { transform: translateY(4px) rotate(45deg); }
  .home-page .menu-toggle[aria-expanded="true"] span:nth-child(2) { transform: translateY(-4px) rotate(-45deg); }
  .home-page .site-nav { display: none; position: fixed; inset: 0; background: var(--black); flex-direction: column; justify-content: center; font-size: 1rem; }
  .home-page .site-nav.open { display: flex; }
  .home-page .site-nav > a:not(.project-cta) { min-width: min(72vw, 320px); justify-content: space-between; padding: 8px 0; font-size: clamp(1rem, 4vw, 1.35rem); }
  .home-page .site-nav .project-cta { width: min(72vw, 320px); min-width: min(72vw, 320px); min-height: 48px; margin: 18px 0 0; padding: 0 22px; justify-content: center; font-size: .72rem; }
  .home-hero { min-height: 92svh; padding-top: 120px; }
  .home-hero__inner { min-height: calc(92svh - 120px - clamp(36px, 5vh, 70px)); }
  .home-eclipse { width: 100vw; right: -48vw; top: 7vh; }
  .home-title-art {
    width: min(100%, 900px);
    height: auto;
    object-fit: contain;
  }
  .home-hero h1 { margin-top: 11vh; font-size: clamp(2.3rem, 6.5vw, 4.2rem); line-height: .84; top: clamp(-92px, -10vh, -36px); }
  .home-hero__footer { grid-template-columns: 1fr 1fr; }
  .home-hero__footer .editorial-link { grid-column: 2; width: max-content; justify-self: end; }
  .about-stats { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(14px, 4vw, 28px); }
  .about-stat { gap: 16px; min-width: 0; }
  .editorial-label { grid-template-columns: 70px 1fr; }
  .statement-grid,
  .section-title-grid { grid-template-columns: 1fr; margin-top: 70px; }
  .statement-grid h2,
  .section-title-grid h2,
  .statement-grid > p,
  .section-title-grid > p { grid-column: 1; }
  .statement-grid > p,
  .section-title-grid > p { margin: 0; }
  .home-studio .statement-grid h2 { grid-row: auto; }
  .home-studio .statement-grid > p { grid-row: auto; grid-column: 1; max-width: 460px; margin-top: 45px; }
  .services-editorial,
  .services-showcase { grid-template-columns: 1fr; }
  .services-editorial__intro { margin-left: 0; }
  .services-showcase__visual {
    position: relative;
    top: auto;
    min-height: clamp(280px, 58vw, 460px);
  }
  .service-row {
    grid-template-columns: 54px minmax(0, 1fr);
    gap: 22px;
    min-height: 0;
    padding: 34px 0;
  }
  .service-row__body strong { font-size: clamp(2.55rem, 9vw, 5.3rem); }
  .service-row__action {
    grid-column: 2;
    justify-self: start;
    min-height: 44px;
  }
  .expertise-list { grid-template-columns: 1fr; }
  .expertise-item,
  .expertise-item + .expertise-item { min-height: 260px; padding: 25px 0 30px; border-right: 0; border-bottom: 1px solid var(--line); }
  .expertise-item:last-child { border-bottom: 0; }
  .services-catalog ul { grid-template-columns: 1fr; }
  .services-catalog li:nth-child(odd),
  .services-catalog li:nth-child(even) { padding-inline: 0; border-right: 0; }
  .expertise-motto__copy { grid-template-columns: 1fr; align-content: end; gap: 42px; }
  .expertise-motto h3 em { white-space: normal; }
  .expertise-motto__copy > p { margin: 0; }
  .expertise-motto__orbit { width: 95vw; right: -45%; }
  .create-row { grid-template-columns: 45px 1fr auto; padding: 35px 0; }
  .create-row h3 { font-size: clamp(2.6rem, 9vw, 5rem); }
  .create-row p { grid-column: 2; }
  .create-row b { grid-column: 3; grid-row: 1 / span 2; opacity: .6; }
  .project-feature__media { min-height: 60svh; }
  .project-feature video { height: 68svh; }
  .project-meta { grid-template-columns: 1fr auto; }
  .project-meta p { grid-column: 1; }
  .project-meta a { grid-column: 2; grid-row: 1 / span 2; }
  .project-coming { min-height: 88vw; }
  .client-grid--editorial { grid-template-columns: repeat(2, 1fr); }
  .home-contact__meta { grid-template-columns: 1fr; }
  .contact-channel:nth-child(odd), .contact-channel:nth-child(even) { padding: 22px 0; border-right: 0; }
  .home-contact__cta { grid-column: 1; justify-self: start; }
  .about-intro { grid-template-columns: 1fr; gap: 65px; }
  .about-intro h2 { position: static; }
  .about-team__grid { grid-template-columns: 1fr; gap: 90px; }
}

@media (max-width: 520px) {
  .home-page { --home-gutter: 22px; }
  .home-hero { min-height: 100svh; padding-bottom: 28px; }
  .home-hero__inner { min-height: calc(100svh - 120px - 28px); }
  .home-hero__brand span { display: block; margin-top: 8px; }
  .home-title-art {
    width: 100%;
    max-width: calc(100vw - (var(--home-gutter) * 2));
  }
  .about-stats { padding-block: 38px; }
  .about-stat strong { font-size: clamp(2.3rem, 15vw, 4.2rem); }
  .about-stat > span { font-size: clamp(.48rem, 2.2vw, .62rem); line-height: 1.35; overflow-wrap: anywhere; }
  .home-hero h1 { font-size: clamp(2.15rem, 7vw, 3.2rem); margin: 10vh 0 9vh; top: clamp(-68px, -8vh, -28px); }
  .home-hero__footer { grid-template-columns: 1fr; gap: 28px; }
  .home-hero__description { max-width: 300px; }
  .home-hero__footer .editorial-link { grid-column: 1; justify-self: start; }
  .statement-grid h2,
  .section-title-grid h2 { font-size: clamp(3.1rem, 15vw, 5rem); }
  .create-row { grid-template-columns: 36px 1fr auto; gap: 12px; }
  .create-row h3 { font-size: clamp(2.1rem, 10vw, 3.3rem); }
  .create-row p { font-size: .55rem; }
  .project-feature__media { min-height: 0; }
  .project-feature video { height: 72svh; }
  .project-meta { display: block; }
  .project-meta p { margin: 14px 0 28px; }
  .project-coming { min-height: 125vw; }
  .client-grid--editorial .client-logo { min-height: 128px; padding: 24px 18px; transform: none; }
  .client-grid--editorial img { max-width: 88%; max-height: 68px; }
  .client-grid--editorial .client-logo--compact img { max-width: 52%; max-height: 82px; }
  .home-contact { min-height: 92svh; }
  .home-contact__statement h2 { font-size: clamp(3.8rem, 17vw, 6rem); }
  .home-contact__meta { grid-template-columns: 1fr; }
  .contact-channel { align-items: flex-start; gap: 16px; }
  .contact-channel a { overflow-wrap: anywhere; }
  .home-contact__cta { grid-column: 1; justify-self: start; }
  .about-intro { margin-top: 75px; gap: 48px; }
  .about-intro h2 { font-size: clamp(4rem, 20vw, 6rem); }
  .about-intro__copy .about-lead { font-size: 1.25rem; }
  .about-team, .about-services { margin-top: 100px; }
  .about-person h4 { font-size: clamp(2.45rem, 11vw, 3.6rem); }
  .about-actions { justify-content: flex-start; }
  .about-actions,
  .services-page__actions { gap: 24px; }
  .services-editorial { margin-top: 72px; gap: 38px; }
  .services-editorial h1,
  .services-editorial h2 { font-size: clamp(3.8rem, 18vw, 6.2rem); }
  .services-showcase { margin-top: 58px; gap: 36px; }
  .services-showcase__visual { min-height: 285px; }
  .service-row { grid-template-columns: 42px minmax(0, 1fr); gap: 16px; padding: 30px 0; }
  .service-row__number { font-size: .68rem; }
  .service-row__body { gap: 14px; }
  .service-row__body strong { font-size: clamp(2.1rem, 12vw, 3.7rem); }
  .service-row__body small { font-size: .92rem; }
  .service-row__body em { font-size: .54rem; overflow-wrap: anywhere; }
  .services-catalog { margin-top: 100px; }
  .services-catalog ul { margin-top: 55px; }
  .services-catalog li { min-height: 86px; font-size: clamp(1.4rem, 7vw, 2.25rem); }
  .expertise-motto { min-height: 520px; margin-top: 100px; padding: 24px 20px 34px; }
  .expertise-motto__label { grid-template-columns: 45px 1fr; }
  .expertise-motto__copy { min-height: 430px; padding-top: 75px; }
  .expertise-motto h3 span { font-size: clamp(3rem, 15vw, 5rem); }
  .expertise-motto h3 em { font-size: clamp(3rem, 14vw, 4.8rem); }
  .expertise-page .home-expertise { padding-top: 96px; padding-bottom: 72px; }
  .expertise-page .expertise-motto { min-height: 470px; margin-top: 0; }
  .expertise-page .expertise-motto__copy { min-height: 385px; padding-top: 52px; }
  .expertise-page .services-catalog { margin-top: 64px; }
  .expertise-page .services-catalog ul { margin-top: 38px; }
  .about-services__list { grid-template-columns: 1fr; }
  .about-services__list li:nth-child(odd), .about-services__list li:nth-child(even) { padding: 18px 0; border-right: 0; }
  .about-signoff { margin-top: 100px; font-size: clamp(2rem, 10vw, 3.4rem); }
}

@media (prefers-reduced-motion: reduce) {
  .home-eclipse::after,
  .project-coming__glow,
  .expertise-motto__orbit { transition: none; }
  .expertise-motto::before { animation: none; }
  .expertise-motto__slide { display: none; animation: none; }
  .expertise-motto__slide--one { display: block; opacity: .18; transform: none; }
}

/* Shared cinematic surface across the welcome page and all primary section pages. */
.home-page {
  position: relative;
  isolation: isolate;
  min-height: 100svh;
  background:
    radial-gradient(circle at 78% 8%, rgba(142,216,255,.09), transparent 27%),
    radial-gradient(circle at 18% 52%, rgba(255,255,255,.018), transparent 34%),
    linear-gradient(135deg, #090a09 0%, #050605 54%, #080908 100%);
  color: var(--white);
}
.home-page::before {
  content: "";
  position: fixed;
  z-index: 0;
  width: min(58vw, 900px);
  aspect-ratio: 1;
  top: -21vw;
  right: -5vw;
  border: 1px solid rgba(242,240,233,.075);
  border-radius: 50%;
  background: #070807;
  box-shadow: -30px 18px 90px rgba(142,216,255,.11), inset 20px -8px 36px rgba(255,255,255,.018);
  pointer-events: none;
}
.home-page > main,
.home-page > footer { position: relative; z-index: 1; }
.home-page .home-hero,
.home-page .home-hero::before,
.home-page .home-expertise,
.home-page .home-create,
.home-page .home-work,
.home-page .home-clients,
.home-page .home-contact { background: transparent; color: var(--white); }
.home-page .about-stats,
.home-page .home-studio {
  background: #050605;
  color: var(--white);
}
.home-page .home-eclipse { display: none; }
.home-page .home-studio .editorial-label,
.home-page .home-work .editorial-label,
.home-page .home-contact .editorial-label { color: var(--muted); }
.home-page .about-intro__copy p,
.home-page .about-person__bio p { color: #aaa9a2; }
.home-page .about-intro__copy .about-lead { color: var(--white); }
.home-page .about-person__role,
.home-page .home-contact__statement > p,
.home-page .contact-channel > span { color: #8d8e86; }
.home-page .about-team > h3,
.home-page .about-services > h3,
.home-page .about-person__bio,
.home-page .about-services__list,
.home-page .about-services__list li,
.home-page .project-meta,
.home-page .contact-channel,
.home-page .home-contact__meta { border-color: rgba(242,240,233,.18); }
.home-page .about-signoff { border-color: rgba(242,240,233,.55); }
.home-page .project-meta p { color: var(--muted); }
.home-page .contact-channel a { color: var(--white); }

@media (max-width: 800px) {
  .home-page::before { width: 105vw; top: 2vh; right: -57vw; }
}

