:root {
  --page-max: 100rem;
}

.page-body {
  background: var(--black);
}

.page-body .site-header {
  transform: none;
  opacity: 1;
}

.page-body .site-header.is-scrolled {
  background: rgba(0, 0, 0, 0.9);
}

.page-body .category-nav a[aria-current="page"] {
  color: var(--cream);
}

.page-body .category-nav a[aria-current="page"]::after {
  transform: scaleX(1);
}

.page-main {
  overflow: hidden;
}

#events,
#people {
  scroll-margin-top: var(--header-height);
}

.page-section {
  position: relative;
  padding: clamp(5rem, 9vw, 9rem) var(--gutter);
}

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

.page-kicker {
  display: inline-flex;
  align-items: center;
  gap: 0.75rem;
  color: var(--cream);
  font-size: 0.66rem;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.page-kicker::before {
  width: 1.5rem;
  height: 1px;
  background: currentColor;
  content: "";
}

.page-hero {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(24rem, 1.1fr);
  min-height: 100svh;
  padding: calc(var(--header-height) + clamp(3rem, 7vw, 7rem)) var(--gutter) clamp(3rem, 5vw, 5rem);
  border-bottom: 1px solid var(--line);
}

.page-hero__copy {
  z-index: 2;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-width: 0;
  padding: 0 clamp(2rem, 6vw, 7rem) 0 0;
}

.page-hero__title {
  margin: auto 0;
  padding: 3rem 0;
}

.page-hero h1 {
  max-width: 10ch;
  font-size: clamp(4.8rem, 10.5vw, 11rem);
  font-weight: 500;
  line-height: 0.78;
  letter-spacing: -0.075em;
  text-transform: uppercase;
  overflow-wrap: break-word;
}

.page-hero h1 em {
  display: block;
  color: var(--cream);
  font-family: var(--font-serif);
  font-size: 0.72em;
  font-style: italic;
  font-weight: 400;
  letter-spacing: -0.05em;
  text-transform: none;
}

.page-hero__intro {
  max-width: 40rem;
  color: rgba(241, 238, 230, 0.72);
  font-size: clamp(0.96rem, 1.2vw, 1.2rem);
  line-height: 1.65;
}

.page-hero__media {
  position: relative;
  min-height: 42rem;
  overflow: hidden;
  background: #0b0b0b;
}

.page-hero__media::before {
  position: absolute;
  z-index: 1;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(0, 0, 0, 0.24), transparent 42%),
    linear-gradient(180deg, transparent 58%, rgba(0, 0, 0, 0.46));
  content: "";
  pointer-events: none;
}

.page-hero__media img,
.page-hero__media video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: grayscale(0.7) contrast(1.06) brightness(0.85);
  transition: filter 700ms ease, transform 1.2s cubic-bezier(0.22, 1, 0.36, 1);
}

.page-hero:hover .page-hero__media img,
.page-hero:hover .page-hero__media video {
  filter: grayscale(0.25) contrast(1.04) brightness(0.92);
  transform: scale(1.015);
}

.about-hero-media {
  isolation: isolate;
}

.about-hero__slides {
  position: absolute;
  inset: 0;
}

.about-page .about-hero__slide {
  position: absolute;
  inset: 0;
  opacity: 0;
  filter: grayscale(0.65) contrast(1.06) brightness(0.92);
  transform: scale(1.035);
  transition:
    opacity 900ms ease,
    filter 700ms ease,
    transform 5.2s cubic-bezier(0.22, 1, 0.36, 1);
}

.about-page .about-hero__slide.is-active {
  opacity: 1;
  transform: scale(1);
}

.about-page .page-hero:hover .about-hero__slide {
  filter: grayscale(0.15) contrast(1.03) brightness(0.96);
}

.about-page .page-hero:hover .about-hero__slide:not(.is-active) {
  transform: scale(1.035);
}

.about-page .page-hero:hover .about-hero__slide.is-active {
  transform: scale(1);
}

.about-hero__progress {
  position: absolute;
  z-index: 2;
  bottom: 1.5rem;
  left: 1.5rem;
  display: flex;
  align-items: center;
  gap: 0.45rem;
}

.about-hero__progress span {
  width: 1.4rem;
  height: 2px;
  background: rgba(241, 238, 230, 0.42);
  transition: width 350ms ease, background-color 350ms ease;
}

.about-hero__progress span.is-active {
  width: 2.8rem;
  background: var(--cream);
}

.page-hero__number {
  position: absolute;
  z-index: 2;
  right: 1.5rem;
  bottom: 1.25rem;
  color: rgba(241, 238, 230, 0.65);
  font-size: 0.6rem;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.page-statement {
  display: grid;
  grid-template-columns: minmax(12rem, 0.55fr) minmax(0, 1.45fr);
  gap: clamp(3rem, 8vw, 10rem);
  align-items: start;
}

.page-statement__copy {
  max-width: 68rem;
}

.page-statement--centered {
  grid-template-columns: minmax(0, 1fr);
  justify-items: center;
  gap: clamp(2rem, 4vw, 3.5rem);
  text-align: center;
}

.page-statement--centered .page-statement__copy {
  width: min(100%, 72rem);
  max-width: none;
  margin-inline: auto;
}

.page-statement--centered h2 {
  max-width: 14ch;
  margin-inline: auto;
}

.page-statement--centered .page-statement__body {
  width: min(100%, 56rem);
  margin-inline: auto;
  text-align: left;
}

.page-statement h2 {
  margin-bottom: clamp(2.5rem, 5vw, 5rem);
  font-size: clamp(2.7rem, 6vw, 6.6rem);
  font-weight: 500;
  line-height: 0.94;
  letter-spacing: -0.055em;
}

.page-statement h2 em {
  color: var(--cream);
  font-family: var(--font-serif);
  font-style: italic;
  font-weight: 400;
}

.page-statement__body {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(1.5rem, 4vw, 4rem);
  max-width: 56rem;
  margin-left: auto;
  color: rgba(241, 238, 230, 0.7);
  font-size: clamp(0.88rem, 1.1vw, 1.05rem);
  line-height: 1.75;
}

.page-statement__body p:first-child::first-letter {
  float: left;
  margin: 0.06em 0.14em 0 0;
  color: var(--cream);
  font-family: var(--font-serif);
  font-size: 4.2em;
  line-height: 0.78;
}

.split-feature {
  display: grid;
  grid-template-columns: minmax(22rem, 0.95fr) minmax(0, 1.05fr);
  gap: clamp(3rem, 8vw, 9rem);
  align-items: center;
}

.split-feature--reverse .split-feature__media {
  order: 2;
}

.split-feature__media {
  min-height: 42rem;
  overflow: hidden;
}

.split-feature__media img,
.split-feature__media video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: grayscale(0.65) contrast(1.06);
}

.about-page .split-feature__media img,
.about-page .split-feature__media video {
  filter: saturate(1.06) contrast(1.03);
  transition: filter 500ms ease, transform 900ms cubic-bezier(0.22, 1, 0.36, 1);
}

.about-page .split-feature:hover .split-feature__media img,
.about-page .split-feature:hover .split-feature__media video {
  filter: saturate(1.16) contrast(1.02);
  transform: scale(1.018);
}

.split-feature__copy {
  max-width: 42rem;
}

.split-feature h2 {
  margin: 2rem 0;
  font-size: clamp(3rem, 6.5vw, 7rem);
  font-weight: 500;
  line-height: 0.88;
  letter-spacing: -0.06em;
}

.split-feature h2 em {
  display: block;
  font-family: var(--font-serif);
  font-style: italic;
  font-weight: 400;
}

.split-feature__copy > p {
  color: rgba(241, 238, 230, 0.7);
  line-height: 1.75;
}

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

.principle {
  position: relative;
  display: flex;
  min-height: 28rem;
  flex-direction: column;
  justify-content: space-between;
  padding: clamp(1.5rem, 3vw, 3rem);
  overflow: hidden;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

.principle::after {
  position: absolute;
  right: -6rem;
  bottom: -6rem;
  width: 12rem;
  aspect-ratio: 1;
  border: 1px solid rgba(241, 238, 230, 0.35);
  border-radius: 50%;
  content: "";
  opacity: 0;
  transform: scale(0.7);
  transition: opacity 350ms ease, transform 600ms cubic-bezier(0.22, 1, 0.36, 1);
}

.principle:hover::after {
  opacity: 1;
  transform: scale(1);
}

.principle small {
  color: rgba(241, 238, 230, 0.42);
  font-size: 0.6rem;
  letter-spacing: 0.16em;
}

.principle h3 {
  max-width: 8ch;
  font-size: clamp(2.4rem, 4vw, 4.5rem);
  font-weight: 500;
  line-height: 0.92;
  letter-spacing: -0.05em;
}

.principle p {
  max-width: 28rem;
  color: rgba(241, 238, 230, 0.64);
  font-size: 0.86rem;
  line-height: 1.7;
}

.page-metrics {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border-top: 1px solid var(--line);
  border-left: 1px solid var(--line);
}

.page-metrics article {
  display: flex;
  min-height: 17rem;
  flex-direction: column;
  justify-content: space-between;
  padding: clamp(1.25rem, 2.5vw, 2.5rem);
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

.page-metrics strong {
  font-size: clamp(2.8rem, 5vw, 5.5rem);
  font-weight: 500;
  line-height: 0.9;
  letter-spacing: -0.06em;
}

.page-metrics span {
  color: rgba(241, 238, 230, 0.55);
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}

.page-cta {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1.3fr) minmax(15rem, 0.7fr);
  gap: clamp(2rem, 6vw, 7rem);
  align-items: end;
  overflow: hidden;
}

.page-cta::after {
  position: absolute;
  z-index: -1;
  top: 50%;
  right: -8rem;
  width: min(40vw, 32rem);
  aspect-ratio: 1;
  border: 1px solid rgba(241, 238, 230, 0.3);
  border-radius: 50%;
  box-shadow: 0 0 7rem rgba(241, 238, 230, 0.1);
  content: "";
  transform: translateY(-50%);
}

.page-cta h2 {
  max-width: 12ch;
  font-size: clamp(3.5rem, 8vw, 8.5rem);
  font-weight: 500;
  line-height: 0.86;
  letter-spacing: -0.065em;
}

.page-cta h2 em {
  color: var(--cream);
  font-family: var(--font-serif);
  font-style: italic;
  font-weight: 400;
}

.page-cta__action {
  display: grid;
  gap: 1.5rem;
  justify-items: start;
  color: rgba(241, 238, 230, 0.65);
  font-size: 0.86rem;
  line-height: 1.7;
}

.arrow-link {
  display: inline-flex;
  align-items: center;
  gap: 1rem;
  min-height: 3.5rem;
  padding: 0 1.25rem;
  border: 1px solid var(--line);
  color: var(--cream);
  font-size: 0.66rem;
  font-weight: 700;
  letter-spacing: 0.13em;
  text-transform: uppercase;
  transition: gap 250ms ease, border-color 250ms ease, color 250ms ease;
}

.arrow-link::after {
  width: 1.35rem;
  height: 1px;
  background: currentColor;
  content: "";
  box-shadow: 0.38rem -0.16rem 0 -0.33rem currentColor;
}

.arrow-link:hover {
  gap: 1.5rem;
  border-color: var(--cream);
  color: var(--cream);
}

/* References */
.reference-carousel {
  overflow: hidden;
}

.reference-carousel__header {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 2rem;
  margin-bottom: clamp(2.5rem, 5vw, 5rem);
}

.reference-carousel__header h2 {
  font-size: clamp(3.5rem, 8vw, 8.5rem);
  font-weight: 500;
  letter-spacing: -0.065em;
}

.reference-carousel__controls {
  display: flex;
  gap: 0.65rem;
}

.reference-carousel__controls button {
  display: grid;
  width: 3.25rem;
  aspect-ratio: 1;
  place-items: center;
  border: 1px solid var(--line);
  border-radius: 50%;
  color: var(--cream);
  font-size: 1.2rem;
  transition: background-color 220ms ease, border-color 220ms ease, color 220ms ease, transform 220ms ease;
}

.reference-carousel__controls button:hover,
.reference-carousel__controls button:focus-visible {
  border-color: var(--cream);
  background: var(--cream);
  color: var(--black);
  transform: translateY(-0.15rem);
}

.reference-carousel__viewport {
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  scroll-behavior: smooth;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
}

.reference-carousel__viewport::-webkit-scrollbar {
  display: none;
}

.reference-carousel__viewport:focus-visible {
  outline: 1px solid var(--cream);
  outline-offset: 0.5rem;
}

.reference-carousel__track {
  display: flex;
  gap: clamp(0.75rem, 1.2vw, 1.25rem);
  width: max-content;
  min-width: 100%;
}

.reference-carousel__item {
  flex: 0 0 clamp(13rem, 20vw, 18rem);
  border: 1px solid var(--line);
  scroll-snap-align: start;
  scroll-snap-stop: always;
}

.about-page .reference-carousel__item {
  border-color: transparent;
  background: transparent;
  box-shadow: none;
}

.about-page .reference-carousel__item img,
.about-page .reference-carousel__item.client-logo--badge img,
.about-page .reference-carousel__item.client-logo--bold img {
  width: min(74%, 12rem);
  max-width: none;
  height: clamp(4.75rem, 7vw, 6.5rem);
  max-height: none;
  object-fit: contain;
  opacity: 1;
  filter: grayscale(1) brightness(0) invert(1);
}

.about-page .reference-carousel__item.client-logo--on-dark img {
  filter: grayscale(1) brightness(0) invert(1);
}

.about-page .reference-carousel__item:hover {
  border-color: transparent;
}

.about-page .reference-carousel__item:hover img {
  opacity: 1;
}

/* Services */
.services-intro {
  display: grid;
  grid-template-columns: minmax(0, 0.7fr) minmax(0, 1.3fr);
  gap: clamp(3rem, 8vw, 9rem);
}

.services-intro__title {
  position: sticky;
  top: calc(var(--header-height) + 2rem);
  align-self: start;
}

.services-intro h2 {
  margin-top: 1.75rem;
  font-size: clamp(3rem, 6vw, 6.5rem);
  font-weight: 500;
  line-height: 0.88;
  letter-spacing: -0.06em;
}

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

.service-item {
  display: grid;
  grid-template-columns: 3rem minmax(12rem, 0.7fr) minmax(0, 1.3fr);
  gap: clamp(1.25rem, 3vw, 3rem);
  padding: clamp(2rem, 4vw, 4rem) 0;
  border-bottom: 1px solid var(--line);
}

.service-item > small {
  color: var(--cream);
  font-size: 0.58rem;
  font-weight: 700;
  letter-spacing: 0.14em;
}

.service-item h3 {
  font-size: clamp(1.5rem, 2.5vw, 2.7rem);
  font-weight: 500;
  line-height: 1;
  letter-spacing: -0.04em;
}

.service-item__detail {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(10rem, 0.75fr);
  gap: clamp(1.5rem, 3vw, 3rem);
}

.service-item__detail p {
  color: rgba(241, 238, 230, 0.64);
  font-size: 0.86rem;
  line-height: 1.7;
}

.service-item__media {
  height: 11rem;
  overflow: hidden;
}

.service-item__media img,
.service-item__media video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: grayscale(0.75) contrast(1.08) brightness(0.85);
  transition: filter 400ms ease, transform 600ms ease;
}

.service-item:hover .service-item__media img,
.service-item:hover .service-item__media video {
  filter: grayscale(0.2) contrast(1.04);
  transform: scale(1.03);
}

.deliverable-band {
  display: grid;
  grid-template-columns: minmax(14rem, 0.65fr) minmax(0, 1.35fr);
  gap: clamp(3rem, 8vw, 9rem);
  background: var(--cream);
  color: var(--black);
}

.deliverable-band h2 {
  font-size: clamp(3.2rem, 7vw, 7.4rem);
  font-weight: 500;
  line-height: 0.82;
  letter-spacing: -0.065em;
  text-transform: uppercase;
}

.deliverable-band h2 em {
  display: block;
  color: var(--cream);
  font-family: var(--font-serif);
  font-size: 0.78em;
  font-style: italic;
  font-weight: 400;
  text-transform: none;
}

.deliverable-band ol {
  border-top: 1px solid var(--line-dark);
  counter-reset: deliverable;
}

.deliverable-band li {
  display: grid;
  grid-template-columns: 3rem 1fr;
  align-items: center;
  min-height: 4.75rem;
  border-bottom: 1px solid var(--line-dark);
  counter-increment: deliverable;
  font-size: clamp(1rem, 1.6vw, 1.4rem);
}

.deliverable-band li::before {
  color: rgba(17, 17, 15, 0.48);
  content: counter(deliverable, decimal-leading-zero);
  font-size: 0.58rem;
  font-weight: 700;
  letter-spacing: 0.12em;
}

.people-service-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  border-top: 1px solid var(--line);
  border-left: 1px solid var(--line);
}

.people-service {
  position: relative;
  display: flex;
  min-height: 34rem;
  flex-direction: column;
  justify-content: flex-end;
  padding: clamp(1.5rem, 3vw, 3rem);
  overflow: hidden;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  isolation: isolate;
}

.people-service::after {
  position: absolute;
  z-index: -1;
  inset: 0;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0.08) 18%, rgba(0, 0, 0, 0.92) 83%);
  content: "";
}

.people-service > img,
.people-service > video {
  position: absolute;
  z-index: -2;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: grayscale(0.8) contrast(1.05);
  transition: filter 500ms ease, transform 800ms ease;
}

.people-service:hover > img,
.people-service:hover > video {
  filter: grayscale(0.25) contrast(1.05);
  transform: scale(1.025);
}

.people-service small {
  position: absolute;
  top: 1.5rem;
  left: 1.5rem;
  color: rgba(241, 238, 230, 0.7);
  font-size: 0.58rem;
  font-weight: 700;
  letter-spacing: 0.14em;
}

.people-service h3 {
  max-width: 10ch;
  margin-bottom: 1rem;
  font-size: clamp(2.5rem, 4vw, 4.8rem);
  font-weight: 500;
  line-height: 0.92;
  letter-spacing: -0.055em;
}

.people-service p {
  max-width: 40rem;
  color: rgba(241, 238, 230, 0.76);
  font-size: 0.82rem;
  line-height: 1.65;
}

.people-service__tags {
  margin-top: 1.2rem;
  color: var(--cream) !important;
  font-size: 0.6rem !important;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

/* Blog index */
.blog-hero {
  min-height: 88svh;
}

.blog-hero .page-hero__media {
  min-height: 36rem;
}

.blog-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  border-top: 1px solid var(--line);
  border-left: 1px solid var(--line);
}

.blog-card {
  display: grid;
  min-width: 0;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

.blog-card__media {
  height: clamp(20rem, 32vw, 34rem);
  overflow: hidden;
}

.blog-card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: grayscale(0.78) contrast(1.06);
  transition: filter 500ms ease, transform 800ms cubic-bezier(0.22, 1, 0.36, 1);
}

.blog-card:hover .blog-card__media img {
  filter: grayscale(0.2) contrast(1.03);
  transform: scale(1.025);
}

.blog-card__copy {
  display: grid;
  grid-template-rows: auto 1fr auto;
  min-height: 24rem;
  padding: clamp(1.5rem, 3vw, 3rem);
}

.blog-card__meta {
  display: flex;
  justify-content: space-between;
  color: rgba(241, 238, 230, 0.46);
  font-size: 0.59rem;
  font-weight: 700;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}

.blog-card h2 {
  max-width: 12ch;
  align-self: center;
  margin: 2rem 0;
  font-size: clamp(2.5rem, 4.7vw, 5.3rem);
  font-weight: 500;
  line-height: 0.9;
  letter-spacing: -0.055em;
}

.blog-card__footer {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 2rem;
  align-items: end;
}

.blog-card__footer p {
  max-width: 32rem;
  color: rgba(241, 238, 230, 0.62);
  font-size: 0.82rem;
  line-height: 1.65;
}

.blog-card__footer span {
  color: var(--cream);
  font-size: 0.62rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

/* Article */
.article-progress {
  position: fixed;
  z-index: 90;
  top: var(--header-height);
  right: 0;
  left: 0;
  height: 2px;
  transform: scaleX(var(--article-progress, 0));
  transform-origin: left;
  background: var(--cream);
}

.article-hero {
  position: relative;
  display: grid;
  min-height: 100svh;
  align-content: end;
  padding: calc(var(--header-height) + clamp(4rem, 8vw, 8rem)) var(--gutter) clamp(4rem, 7vw, 7rem);
  overflow: hidden;
  border-bottom: 1px solid var(--line);
}

.article-hero::before {
  position: absolute;
  z-index: -1;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(0, 0, 0, 0.96) 0%, rgba(0, 0, 0, 0.7) 54%, rgba(0, 0, 0, 0.32) 100%),
    linear-gradient(180deg, rgba(0, 0, 0, 0.1), #000 100%);
  content: "";
}

.article-hero > img {
  position: absolute;
  z-index: -2;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: grayscale(0.7) contrast(1.08);
}

.article-hero__inner {
  width: min(100%, 79rem);
}

.article-back {
  display: inline-block;
  margin-bottom: clamp(3rem, 7vw, 7rem);
  color: rgba(241, 238, 230, 0.6);
  font-size: 0.62rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  transition: color 200ms ease;
}

.article-back:hover {
  color: var(--cream);
}

.article-hero h1 {
  max-width: 12ch;
  margin: 1.75rem 0 2rem;
  font-size: clamp(4rem, 9vw, 9.5rem);
  font-weight: 500;
  line-height: 0.84;
  letter-spacing: -0.065em;
}

.article-deck {
  max-width: 50rem;
  color: rgba(241, 238, 230, 0.72);
  font-size: clamp(1rem, 1.4vw, 1.35rem);
  line-height: 1.65;
}

.article-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem 2.5rem;
  margin-top: 2.5rem;
  color: rgba(241, 238, 230, 0.45);
  font-size: 0.59rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.article-content {
  display: grid;
  grid-template-columns: minmax(8rem, 0.55fr) minmax(0, 1.15fr) minmax(8rem, 0.3fr);
  gap: clamp(2rem, 5vw, 6rem);
  align-items: start;
}

.article-aside {
  position: sticky;
  top: calc(var(--header-height) + 3rem);
  display: grid;
  gap: 1rem;
  color: rgba(241, 238, 230, 0.4);
  font-size: 0.58rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.article-aside::before {
  width: 2rem;
  height: 1px;
  margin-bottom: 0.5rem;
  background: var(--cream);
  content: "";
}

.article-body {
  max-width: 51rem;
}

.article-body > p {
  margin-bottom: 1.7em;
  color: rgba(241, 238, 230, 0.76);
  font-family: var(--font-serif);
  font-size: clamp(1.18rem, 1.75vw, 1.55rem);
  line-height: 1.78;
}

.article-body > p:first-child::first-letter {
  float: left;
  margin: 0.08em 0.12em 0 0;
  color: var(--cream);
  font-size: 4.6em;
  line-height: 0.75;
}

.article-body h2 {
  margin: clamp(4rem, 7vw, 7rem) 0 2rem;
  font-size: clamp(2.8rem, 5vw, 5.3rem);
  font-weight: 500;
  line-height: 0.94;
  letter-spacing: -0.05em;
}

.article-body blockquote {
  margin: clamp(4rem, 7vw, 7rem) 0;
  padding: clamp(2rem, 4vw, 4rem) 0;
  border-top: 1px solid var(--cream);
  border-bottom: 1px solid var(--line);
  color: var(--cream);
  font-size: clamp(2rem, 4vw, 4.4rem);
  line-height: 1.04;
  letter-spacing: -0.045em;
}

.article-body blockquote em {
  color: var(--cream);
  font-family: var(--font-serif);
  font-weight: 400;
}

.article-index {
  position: sticky;
  top: calc(var(--header-height) + 3rem);
  display: grid;
  gap: 0.8rem;
  padding-left: 1.25rem;
  border-left: 1px solid var(--line);
  color: rgba(241, 238, 230, 0.4);
  font-size: 0.58rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.article-next {
  display: grid;
  grid-template-columns: minmax(0, 0.55fr) minmax(0, 1.45fr);
  gap: clamp(3rem, 8vw, 10rem);
  align-items: end;
}

.article-next a {
  display: grid;
  gap: 1rem;
  color: var(--cream);
}

.article-next small {
  color: var(--cream);
  font-size: 0.6rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.article-next strong {
  max-width: 13ch;
  font-size: clamp(3rem, 6vw, 6.5rem);
  font-weight: 500;
  line-height: 0.9;
  letter-spacing: -0.055em;
}

/* Contact */
.contact-layout {
  display: grid;
  grid-template-columns: minmax(0, 0.85fr) minmax(26rem, 1.15fr);
  min-height: 100svh;
  padding-top: var(--header-height);
  border-bottom: 1px solid var(--line);
}

.contact-intro {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: clamp(4rem, 8vw, 8rem) var(--gutter);
  border-right: 1px solid var(--line);
}

.contact-intro h1 {
  max-width: 9ch;
  margin: 3rem 0;
  font-size: clamp(4.6rem, 9vw, 9rem);
  font-weight: 500;
  line-height: 0.82;
  letter-spacing: -0.07em;
  text-transform: uppercase;
}

.contact-intro h1 em {
  display: block;
  color: var(--cream);
  font-family: var(--font-serif);
  font-size: 0.72em;
  font-style: italic;
  font-weight: 400;
  text-transform: none;
}

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

.contact-details a,
.contact-details address {
  display: grid;
  grid-template-columns: 6rem minmax(0, 1fr);
  gap: 1rem;
  min-height: 4.6rem;
  align-items: center;
  border-bottom: 1px solid var(--line);
  color: rgba(241, 238, 230, 0.72);
  font-size: 0.78rem;
  font-style: normal;
  overflow-wrap: anywhere;
}

.contact-details small {
  color: rgba(241, 238, 230, 0.38);
  font-size: 0.56rem;
  font-weight: 700;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}

.contact-form-wrap {
  display: grid;
  align-content: center;
  padding: clamp(4rem, 8vw, 8rem) var(--gutter);
}

.contact-form-wrap > header {
  max-width: 43rem;
  margin-bottom: clamp(3rem, 6vw, 6rem);
}

.contact-form-wrap h2 {
  margin: 1.5rem 0;
  font-size: clamp(2.8rem, 5vw, 5.5rem);
  font-weight: 500;
  line-height: 0.92;
  letter-spacing: -0.055em;
}

.contact-form-wrap header p {
  color: rgba(241, 238, 230, 0.6);
  font-size: 0.86rem;
  line-height: 1.7;
}

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

.contact-form label {
  display: grid;
  gap: 0.75rem;
  color: rgba(241, 238, 230, 0.45);
  font-size: 0.58rem;
  font-weight: 700;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}

.contact-form label:last-of-type,
.contact-form__actions {
  grid-column: 1 / -1;
}

.contact-form input,
.contact-form select,
.contact-form textarea {
  width: 100%;
  min-height: 3.4rem;
  padding: 0;
  border: 0;
  border-bottom: 1px solid var(--line);
  border-radius: 0;
  outline: 0;
  background: transparent;
  color: var(--cream);
  font-family: var(--font-sans);
  font-size: 0.98rem;
  line-height: 1.5;
  transition: border-color 200ms ease;
}

.contact-form select {
  color-scheme: dark;
}

.contact-form textarea {
  min-height: 7rem;
  padding-top: 0.8rem;
  resize: vertical;
}

.contact-form input:focus,
.contact-form select:focus,
.contact-form textarea:focus {
  border-color: var(--cream);
}

.contact-form__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 1.25rem;
  align-items: center;
  margin-top: 1rem;
}

.contact-form button {
  display: inline-flex;
  min-height: 3.8rem;
  align-items: center;
  gap: 1rem;
  padding: 0 1.5rem;
  border: 1px solid var(--cream);
  background: var(--cream);
  color: var(--black);
  font-size: 0.65rem;
  font-weight: 700;
  letter-spacing: 0.13em;
  text-transform: uppercase;
  transition: background 200ms ease, color 200ms ease;
}

.contact-form button:hover {
  background: transparent;
  color: var(--cream);
}

.contact-form__status {
  min-height: 1.5rem;
  color: rgba(241, 238, 230, 0.58);
  font-size: 0.72rem;
}

.contact-map {
  height: min(60rem, 74svh);
  padding: 0;
  overflow: hidden;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

.contact-map iframe {
  width: 100%;
  height: 100%;
  border: 0;
  filter: grayscale(1) contrast(1.06) brightness(0.68);
  transition: filter 500ms ease;
}

.contact-map:hover iframe,
.contact-map:focus-within iframe {
  filter: grayscale(0.35) contrast(1.03) brightness(0.82);
}

@media (max-width: 1080px) {
  .page-hero {
    grid-template-columns: minmax(0, 0.85fr) minmax(20rem, 1.15fr);
  }

  .page-statement,
  .split-feature,
  .services-intro {
    gap: 4rem;
  }

  .service-item {
    grid-template-columns: 2.5rem minmax(10rem, 0.6fr) minmax(0, 1.4fr);
  }

  .service-item__detail {
    grid-template-columns: 1fr;
  }

  .article-content {
    grid-template-columns: minmax(7rem, 0.3fr) minmax(0, 1fr);
  }

  .article-index {
    display: none;
  }
}

@media (max-width: 820px) {
  .page-hero,
  .page-statement,
  .split-feature,
  .services-intro,
  .deliverable-band,
  .page-cta,
  .article-next,
  .contact-layout {
    grid-template-columns: 1fr;
  }

  .page-hero {
    min-height: auto;
    padding-top: calc(var(--header-height) + 3rem);
  }

  .page-hero__copy {
    min-height: 65svh;
    padding-right: 0;
  }

  .page-hero__media {
    min-height: 65svh;
    margin-top: 3rem;
  }

  .page-statement__body {
    margin-left: 0;
  }

  .split-feature--reverse .split-feature__media {
    order: 0;
  }

  .split-feature__media {
    min-height: 60svh;
  }

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

  .principle {
    min-height: 23rem;
  }

  .page-metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .page-cta__action {
    max-width: 34rem;
  }

  .reference-carousel__item {
    flex-basis: clamp(13rem, 34vw, 17rem);
  }

  .services-intro__title {
    position: static;
  }

  .people-service-grid,
  .blog-grid {
    grid-template-columns: 1fr;
  }

  .article-content {
    grid-template-columns: 1fr;
  }

  .article-aside {
    position: static;
    grid-auto-flow: column;
    justify-content: start;
  }

  .contact-intro {
    min-height: calc(100svh - var(--header-height));
    border-right: 0;
    border-bottom: 1px solid var(--line);
  }
}

/* Keep the long services hero headline inside its copy column. The phrase
   “merkezden” is intentionally kept intact, so the type scale steps down
   before it can spill into the adjacent video. */
.services-page-revised .page-hero__copy {
  padding-right: clamp(1.25rem, 3vw, 3.5rem);
}

.services-page-revised .page-hero h1 {
  max-width: 100%;
  font-size: clamp(3.4rem, 6.2vw, 7rem);
  line-height: 0.9;
  letter-spacing: -0.045em;
}

@media (max-width: 820px) {
  .services-page-revised .page-hero h1 {
    max-width: 10ch;
    font-size: clamp(4rem, 10vw, 7rem);
  }
}

@media (max-width: 560px) {
  .services-page-revised .page-hero h1 {
    max-width: 100%;
    font-size: clamp(3.2rem, 13.5vw, 5rem);
  }
}

/* Service reference logos use the same editorial carousel language as the
   wider reference surfaces, with enough width to make arrow navigation useful
   on desktop as well as touch scrolling on mobile. */
.service-references .reference-carousel__header {
  align-items: end;
}

.service-references .reference-carousel__header > div:first-child {
  min-width: 0;
}

.service-references .reference-carousel__header h2 {
  max-width: 14ch;
  font-size: clamp(3rem, 6.3vw, 7rem);
  line-height: 1;
  letter-spacing: -0.04em;
}

.service-references .reference-carousel__controls {
  flex-shrink: 0;
}

.service-references .service-brand-carousel {
  width: 100%;
}

.service-references .reference-carousel__item {
  flex-basis: clamp(14rem, 24vw, 22rem);
}

.menu-panel__nav span {
  font-size: clamp(1.9rem, 4.35vw, 4.4rem);
  line-height: 1.02;
}

@media (max-width: 820px) {
  .service-references .reference-carousel__header {
    align-items: start;
  }

  .service-references .reference-carousel__header h2 {
    font-size: clamp(2.8rem, 10vw, 5.5rem);
  }
}

@media (max-width: 560px) {
  .service-references .reference-carousel__item {
    flex-basis: min(72vw, 17rem);
  }

  .menu-panel__nav span {
    /* pages.css loads after the shared menu styles. Cap this page-specific
       treatment so the longest Turkish service labels remain on one row on
       every 320–560px viewport. */
    font-size: clamp(1.08rem, 4.6vw, 1.3rem);
    line-height: 1.04;
  }

  .menu-panel__nav a {
    padding-block: 0.18rem;
  }
}

@media (max-width: 560px) {
  .page-section {
    padding-top: 4.5rem;
    padding-bottom: 4.5rem;
  }

  .page-body .category-nav {
    display: none;
  }

  .page-hero {
    padding-top: calc(var(--header-height) + 2rem);
  }

  .page-hero__copy {
    min-height: 31rem;
  }

  .page-hero h1 {
    font-size: 18.5vw;
  }

  .page-hero__media {
    min-height: 31rem;
    width: calc(100% + (var(--gutter) * 2));
    margin-left: calc(var(--gutter) * -1);
  }

  .page-statement__body {
    grid-template-columns: 1fr;
  }

  .split-feature__media {
    width: calc(100% + (var(--gutter) * 2));
    min-height: 32rem;
    margin-left: calc(var(--gutter) * -1);
  }

  .page-metrics article {
    min-height: 12rem;
    padding: 1rem;
  }

  .page-metrics strong {
    font-size: 10.5vw;
  }

  .page-cta h2 {
    font-size: 15vw;
  }

  .reference-carousel__header {
    align-items: center;
    gap: 1rem;
  }

  .reference-carousel__header h2 {
    font-size: 15vw;
  }

  .reference-carousel__controls button {
    width: 2.85rem;
  }

  .reference-carousel__item {
    flex-basis: min(72vw, 17rem);
  }

  .service-item {
    grid-template-columns: 2rem minmax(0, 1fr);
  }

  .service-item__detail {
    grid-column: 2;
  }

  .service-item__media {
    height: 13rem;
  }

  .deliverable-band h2 {
    font-size: 16vw;
  }

  .people-service {
    min-height: 31rem;
    padding: 1.25rem;
  }

  .blog-card__copy {
    min-height: 23rem;
    padding: 1.25rem;
  }

  .blog-card h2 {
    font-size: 12vw;
  }

  .blog-card__footer {
    grid-template-columns: 1fr;
  }

  .article-hero {
    min-height: 92svh;
  }

  .article-hero h1 {
    font-size: 15vw;
  }

  .article-aside {
    grid-auto-flow: row;
  }

  .article-body > p {
    font-size: 1.16rem;
  }

  .article-next strong {
    font-size: 12vw;
  }

  .contact-intro h1 {
    font-size: 17vw;
  }

  .contact-form {
    grid-template-columns: 1fr;
  }

  .contact-form label,
  .contact-form label:last-of-type,
  .contact-form__actions {
    grid-column: 1;
  }

  .contact-map {
    height: 34rem;
  }
}

.page-body .contact-intro h1 {
  overflow-wrap: normal;
  word-break: normal;
  hyphens: none;
}

.page-body .contact-intro h1 em {
  margin-top: 0.14em;
}

/* Preserve English service names without splitting words on narrow screens. */
.page-body :is(.service-item, .people-service) h3 {
  overflow-wrap: normal;
  word-break: normal;
  hyphens: none;
}

.page-body .people-service h3 {
  max-width: 14ch;
}

/* 2026 unified agency revision */
.rev-button {
  display: inline-flex;
  min-height: 3.35rem;
  align-items: center;
  justify-content: center;
  padding: 0.9rem 1.4rem;
  border: 1px solid rgba(241, 238, 230, 0.55);
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-align: center;
  text-transform: uppercase;
  transition: background-color 220ms ease, color 220ms ease, border-color 220ms ease, transform 220ms ease;
}

.rev-button:hover {
  transform: translateY(-2px);
}

.rev-button--primary,
.rev-button--light {
  border-color: var(--cream);
  background: var(--cream);
  color: var(--black);
}

.rev-button--primary:hover,
.rev-button--light:hover {
  background: transparent;
  color: var(--cream);
}

.rev-button--ghost:hover {
  border-color: var(--cream);
  background: rgba(241, 238, 230, 0.1);
}

.rev-hero {
  position: relative;
  display: flex;
  min-height: 100svh;
  align-items: flex-end;
  padding: calc(var(--header-height) + 4rem) var(--gutter) clamp(4rem, 7vw, 7rem);
  overflow: hidden;
  border-bottom: 1px solid var(--line);
  isolation: isolate;
}

.rev-hero__video {
  position: absolute;
  z-index: -3;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  background: #111;
  filter: saturate(0.82) contrast(1.08) brightness(0.76);
}

.rev-hero__veil {
  position: absolute;
  z-index: -2;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(0, 0, 0, 0.93) 0%, rgba(0, 0, 0, 0.66) 52%, rgba(0, 0, 0, 0.2) 100%),
    linear-gradient(180deg, rgba(0, 0, 0, 0.24) 0%, rgba(0, 0, 0, 0.12) 42%, rgba(0, 0, 0, 0.85) 100%);
}

.rev-hero__content {
  width: min(100%, 78rem);
}

.rev-hero__eyebrow {
  margin-bottom: clamp(2rem, 4vw, 4rem);
  color: rgba(241, 238, 230, 0.72);
  font-size: 0.66rem;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.rev-hero h1 {
  max-width: 13.5ch;
  font-size: clamp(4.5rem, 8.25vw, 9.2rem);
  font-weight: 500;
  line-height: 0.9;
  letter-spacing: -0.065em;
  text-transform: uppercase;
  text-wrap: balance;
}

.rev-hero h1 em {
  display: inline-block;
  color: var(--cream);
  font-family: var(--font-serif);
  font-size: 0.76em;
  font-style: italic;
  font-weight: 400;
  letter-spacing: -0.045em;
  text-transform: none;
}

.rev-hero__lead {
  max-width: 48rem;
  margin-top: clamp(1.75rem, 3vw, 3rem);
  color: rgba(241, 238, 230, 0.82);
  font-size: clamp(1rem, 1.5vw, 1.35rem);
  line-height: 1.65;
}

.rev-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin-top: 2rem;
}

.rev-hero__scroll {
  position: absolute;
  right: var(--gutter);
  bottom: clamp(2rem, 4vw, 4rem);
  display: flex;
  align-items: center;
  gap: 0.8rem;
  color: rgba(241, 238, 230, 0.7);
  font-size: 0.62rem;
  font-weight: 700;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}

.rev-hero__scroll i {
  position: relative;
  display: block;
  width: 2.6rem;
  height: 2.6rem;
  border: 1px solid rgba(241, 238, 230, 0.45);
  border-radius: 50%;
}

.rev-hero__scroll i::after {
  position: absolute;
  top: 0.78rem;
  left: 1.05rem;
  width: 0.45rem;
  height: 0.45rem;
  border-right: 1px solid var(--white);
  border-bottom: 1px solid var(--white);
  content: "";
  transform: rotate(45deg);
}

.rev-proof {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border-bottom: 1px solid var(--line);
}

.rev-proof article {
  min-height: 15rem;
  padding: clamp(1.5rem, 3vw, 3rem);
  border-right: 1px solid var(--line);
}

.rev-proof article:last-child {
  border-right: 0;
}

.rev-proof strong {
  display: block;
  font-size: clamp(2.8rem, 4.8vw, 5.5rem);
  font-weight: 500;
  line-height: 1;
  letter-spacing: -0.06em;
}

.rev-proof span {
  display: block;
  max-width: 17rem;
  margin-top: 1rem;
  color: rgba(241, 238, 230, 0.64);
  font-size: 0.78rem;
  line-height: 1.55;
}

.rev-section-head {
  display: grid;
  grid-template-columns: minmax(10rem, 0.5fr) minmax(0, 1.5fr);
  gap: clamp(2rem, 7vw, 8rem);
  align-items: start;
  margin-bottom: clamp(3rem, 7vw, 7rem);
}

.rev-section-head > div {
  max-width: 70rem;
}

.rev-section-head h2,
.section-heading-compact h2 {
  font-size: clamp(3rem, 6.3vw, 7rem);
  font-weight: 500;
  line-height: 0.94;
  letter-spacing: -0.06em;
}

.rev-section-head h2 em,
.section-heading-compact h2 em {
  color: var(--cream);
  font-family: var(--font-serif);
  font-weight: 400;
}

.rev-section-head p {
  max-width: 43rem;
  margin-top: 1.75rem;
  color: rgba(241, 238, 230, 0.62);
  font-size: clamp(0.95rem, 1.25vw, 1.16rem);
  line-height: 1.7;
}

.rev-service-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-top: 1px solid var(--line);
  border-left: 1px solid var(--line);
}

.rev-service-card {
  position: relative;
  display: flex;
  min-height: clamp(20rem, 28vw, 30rem);
  flex-direction: column;
  padding: clamp(1.5rem, 2.5vw, 2.5rem);
  overflow: hidden;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  transition: background-color 260ms ease, color 260ms ease;
}

.rev-service-card::before {
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 82% 18%, rgba(241, 238, 230, 0.09), transparent 32%);
  content: "";
  opacity: 0;
  transition: opacity 260ms ease;
}

.rev-service-card:hover {
  background: #f2f2f2;
  color: var(--black);
}

.rev-service-card:hover::before {
  opacity: 1;
}

.rev-service-card small {
  position: relative;
  color: rgba(241, 238, 230, 0.48);
  font-size: 0.58rem;
  font-weight: 700;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}

.rev-service-card:hover small,
.rev-service-card:hover p {
  color: rgba(0, 0, 0, 0.62);
}

.rev-service-card h3 {
  position: relative;
  max-width: 11ch;
  margin: auto 0 1.2rem;
  font-size: clamp(2rem, 3vw, 3.7rem);
  font-weight: 500;
  line-height: 1.02;
  letter-spacing: -0.055em;
}

.rev-service-card p {
  position: relative;
  max-width: 30rem;
  color: rgba(241, 238, 230, 0.62);
  font-size: 0.78rem;
  line-height: 1.65;
}

.rev-service-card > span {
  position: relative;
  margin-top: 2rem;
  color: var(--cream);
  font-size: 0.6rem;
  font-weight: 700;
  letter-spacing: 0.11em;
  text-transform: uppercase;
}

.rev-service-card--featured {
  background: #151515;
}

.rev-section-action {
  display: flex;
  justify-content: flex-end;
  margin-top: 3rem;
}

.rev-operation {
  display: grid;
  grid-template-columns: minmax(0, 1.12fr) minmax(26rem, 0.88fr);
  min-height: 48rem;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

.rev-operation--reverse .rev-operation__media {
  order: 2;
}

.rev-operation__media {
  min-height: 44rem;
  overflow: hidden;
}

.rev-operation__media img,
.rev-operation__media video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: grayscale(0.35) contrast(1.04) brightness(0.87);
  transition: filter 500ms ease, transform 900ms ease;
}

.rev-operation:hover .rev-operation__media img {
  filter: grayscale(0.05) contrast(1.02) brightness(0.94);
  transform: scale(1.01);
}

.rev-operation__copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(3rem, 7vw, 8rem) var(--gutter);
}

.rev-operation__copy h2 {
  margin: clamp(2.2rem, 4vw, 4rem) 0 2rem;
  font-size: clamp(3.3rem, 6vw, 7rem);
  font-weight: 500;
  line-height: 0.92;
  letter-spacing: -0.06em;
}

.rev-operation__copy h2 em {
  color: var(--cream);
  font-family: var(--font-serif);
  font-weight: 400;
}

.rev-operation__copy > p {
  max-width: 40rem;
  color: rgba(241, 238, 230, 0.68);
  font-size: clamp(0.95rem, 1.2vw, 1.15rem);
  line-height: 1.75;
}

.rev-operation__copy ul {
  display: grid;
  gap: 0.8rem;
  margin: 2rem 0 2.5rem;
  padding: 0;
  list-style: none;
}

.rev-operation__copy ul li {
  padding-bottom: 0.8rem;
  border-bottom: 1px solid var(--line);
  color: rgba(241, 238, 230, 0.76);
  font-size: 0.78rem;
}

.rev-operation__copy .rev-button {
  align-self: flex-start;
}

.rev-numbered-list {
  display: grid;
  gap: 0;
  margin: 2.5rem 0 0;
  padding: 0;
  list-style: none;
}

.rev-numbered-list li {
  display: grid;
  grid-template-columns: 3.2rem 1fr;
  gap: 1rem;
  padding: 1.1rem 0;
  border-top: 1px solid var(--line);
  font-size: 0.82rem;
}

.rev-numbered-list span {
  color: rgba(241, 238, 230, 0.4);
  font-size: 0.6rem;
  font-weight: 700;
  letter-spacing: 0.12em;
}

.rev-project-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1px;
  background: var(--line);
}

.rev-project-card {
  position: relative;
  min-height: clamp(28rem, 45vw, 48rem);
  overflow: hidden;
  background: var(--black);
}

.rev-project-card--wide {
  grid-column: 1 / -1;
  min-height: clamp(32rem, 58vw, 61rem);
}

.rev-project-card::after {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 38%, rgba(0, 0, 0, 0.9) 100%);
  content: "";
}

.rev-project-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: grayscale(0.55) contrast(1.05);
  transition: filter 500ms ease, transform 900ms ease;
}

.rev-project-card:hover img {
  filter: grayscale(0.1) contrast(1.03);
  transform: scale(1.018);
}

.rev-project-card > div {
  position: absolute;
  z-index: 2;
  right: 0;
  bottom: 0;
  left: 0;
  padding: clamp(1.5rem, 3vw, 3rem);
}

.rev-project-card small,
.reference-case small {
  color: var(--cream);
  font-size: 0.58rem;
  font-weight: 700;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}

.rev-project-card h3 {
  max-width: 18ch;
  margin-top: 1rem;
  font-size: clamp(2rem, 4.2vw, 5rem);
  font-weight: 500;
  line-height: 1.02;
  letter-spacing: -0.05em;
}

.rev-logo-grid,
.service-brand-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border-top: 1px solid var(--line);
  border-left: 1px solid var(--line);
}

.rev-logo-grid figure,
.service-brand {
  display: grid;
  min-height: clamp(9rem, 14vw, 15rem);
  place-items: center;
  padding: clamp(1.5rem, 3vw, 3rem);
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

.rev-logo-grid img,
.service-brand img {
  width: min(76%, 11rem);
  max-height: 5.8rem;
  object-fit: contain;
}

.rev-logo-grid__on-dark img {
  filter: grayscale(1) brightness(0) invert(1);
}

/* Convert only dark monochrome reference marks to white. Colored and
   composite logos remain untouched, preserving their original silhouettes,
   internal negative space and brand color relationships. */
.rev-logo-grid img[src*="/adidas.svg"],
.rev-logo-grid img[src*="/dyson.svg"],
.rev-logo-grid img[src*="/loreal.svg"],
.rev-logo-grid img[src*="/trendyol.svg"],
.rev-logo-grid img[src*="/beymen.svg"],
.rev-logo-grid img[src*="/koton.svg"],
.rev-logo-grid img[src*="/sephora.svg"],
.service-brand img[src*="/adidas.svg"],
.service-brand img[src*="/dyson.svg"],
.service-brand img[src*="/loreal.svg"],
.service-brand img[src*="/trendyol.svg"],
.service-brand img[src*="/beymen.svg"],
.service-brand img[src*="/koton.svg"],
.service-brand img[src*="/sephora.svg"] {
  filter: grayscale(1) brightness(0) invert(1);
}

.rev-logo-grid--all {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(0.65rem, 1.2vw, 1.15rem);
  border: 0;
}

.rev-logo-grid--all figure {
  min-height: 0;
  aspect-ratio: 1.45 / 1;
  padding: clamp(1rem, 1.8vw, 1.75rem);
  border: 0;
  transition: transform 250ms ease;
}

.rev-logo-grid--all figure:hover {
  transform: translateY(-0.18rem);
}

.rev-logo-grid--all img {
  width: min(76%, 11rem);
  max-height: clamp(4.5rem, 6.5vw, 7.25rem);
  transition: opacity 250ms ease, transform 250ms ease;
}

.rev-logo-grid--all figure:nth-child(-n + 2) img {
  width: min(52%, 7.5rem);
}

.rev-logo-grid--all figure:hover img {
  opacity: 0.88;
  transform: scale(1.025);
}

.rev-final-cta .rev-button,
.page-cta .rev-button {
  align-self: start;
}

/* Reference page */
.reference-cases__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1px;
  background: var(--line);
}

.reference-case {
  display: grid;
  grid-template-rows: minmax(20rem, 1fr) auto;
  min-width: 0;
  background: var(--black);
}

.reference-case--wide {
  grid-column: 1 / -1;
  grid-template-columns: minmax(0, 1.3fr) minmax(22rem, 0.7fr);
  grid-template-rows: minmax(35rem, 52vw);
}

.reference-case figure {
  overflow: hidden;
}

.reference-case figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: grayscale(0.42) contrast(1.04);
  transition: filter 500ms ease, transform 900ms ease;
}

.reference-case:hover figure img {
  filter: grayscale(0.05) contrast(1.02);
  transform: scale(1.015);
}

.reference-case > div {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(1.5rem, 4vw, 4rem);
}

.reference-case h3 {
  max-width: 17ch;
  margin-top: 1rem;
  font-size: clamp(2rem, 4vw, 4.6rem);
  font-weight: 500;
  line-height: 1.04;
  letter-spacing: -0.05em;
}

.reference-case p {
  max-width: 31rem;
  margin-top: 1.5rem;
  color: rgba(241, 238, 230, 0.6);
  font-size: 0.8rem;
  line-height: 1.7;
}

/* About */
.principles-revised__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border-top: 1px solid var(--line);
  border-left: 1px solid var(--line);
}

.principles-revised__grid article {
  min-height: 22rem;
  padding: clamp(1.5rem, 2.5vw, 2.5rem);
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

.principles-revised__grid small {
  color: var(--cream);
  font-size: 0.58rem;
  font-weight: 700;
  letter-spacing: 0.12em;
}

.principles-revised__grid h3 {
  margin: clamp(5rem, 9vw, 9rem) 0 1rem;
  font-size: clamp(1.8rem, 2.5vw, 3rem);
  font-weight: 500;
  letter-spacing: -0.04em;
}

.principles-revised__grid p {
  color: rgba(241, 238, 230, 0.62);
  font-size: 0.78rem;
  line-height: 1.65;
}

.metrics-revised span {
  max-width: 19rem;
  line-height: 1.5;
}

/* Contact */
.contact-intro__lead {
  max-width: 35rem;
  margin-bottom: 2.5rem;
  color: rgba(241, 238, 230, 0.64);
  font-size: 0.95rem;
  line-height: 1.7;
}

.contact-layout-revised .contact-intro {
  justify-content: flex-start;
}

.contact-layout-revised .contact-details {
  margin-top: auto;
}

.contact-details-revised {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.contact-details-revised a,
.contact-details-revised address {
  min-width: 0;
}

.contact-details-revised span {
  overflow-wrap: anywhere;
}

.form-honeypot {
  display: none !important;
}

.contact-form__consent {
  display: grid !important;
  grid-template-columns: auto 1fr;
  grid-column: 1 / -1 !important;
  gap: 0.8rem;
  align-items: start;
  color: rgba(241, 238, 230, 0.72) !important;
  font-size: 0.74rem !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
  line-height: 1.55;
  text-transform: none !important;
}

.contact-form__consent input {
  width: 1.15rem !important;
  height: 1.15rem !important;
  margin-top: 0.12rem;
  padding: 0 !important;
  accent-color: var(--cream);
}

.contact-form__consent a {
  text-decoration: underline;
  text-underline-offset: 0.2em;
}

.contact-form button {
  display: inline-flex;
  gap: 1rem;
  align-items: center;
  justify-content: center;
}

.contact-form button:disabled {
  cursor: wait;
  opacity: 0.55;
}

.contact-form__status {
  max-width: 35rem;
  line-height: 1.55;
}

.contact-form__status.is-success {
  color: #fff;
}

.contact-form__status.is-error {
  color: #d0d0d0;
}

.application-intro__points {
  display: grid;
  margin: auto 0 0;
  padding: 0;
  border-top: 1px solid var(--line);
  list-style: none;
}

.application-intro__points li {
  display: grid;
  grid-template-columns: 2.5rem minmax(0, 1fr);
  gap: 1rem;
  padding: 1.1rem 0;
  border-bottom: 1px solid var(--line);
}

.application-intro__points li > span {
  color: rgba(241, 238, 230, 0.42);
  font-size: 0.6rem;
  font-weight: 700;
  letter-spacing: 0.13em;
}

.application-intro__points p {
  max-width: 24rem;
  color: rgba(241, 238, 230, 0.72);
  font-size: 0.8rem;
  line-height: 1.6;
}

.application-form .application-message {
  grid-column: 1 / -1;
}

.application-form .application-message textarea {
  min-height: 9rem;
}

.application-form-wrap > header {
  max-width: 46rem;
}

@media (max-width: 820px) {
  .application-intro__points {
    margin-top: 2.5rem;
  }
}

/* Service detail */
.service-detail-hero .page-hero__title {
  margin-top: auto;
}

.service-detail-hero h1 {
  max-width: 12ch;
  font-size: clamp(4rem, 8vw, 9rem);
}

.service-detail-lead {
  display: grid;
  grid-template-columns: minmax(10rem, 0.45fr) minmax(0, 1.55fr);
  gap: clamp(3rem, 8vw, 10rem);
}

.service-detail-lead__copy {
  max-width: 68rem;
}

.service-detail-lead h2 {
  font-size: clamp(3rem, 6vw, 6.8rem);
  font-weight: 500;
  line-height: 0.95;
  letter-spacing: -0.06em;
}

.service-detail-lead h2 em {
  color: var(--cream);
  font-family: var(--font-serif);
  font-weight: 400;
}

.service-detail-lead p {
  max-width: 47rem;
  margin: 2.2rem 0 0 auto;
  color: rgba(241, 238, 230, 0.7);
  font-family: var(--font-serif);
  font-size: clamp(1.15rem, 1.8vw, 1.55rem);
  line-height: 1.75;
}

.service-detail-gallery {
  display: grid;
  grid-template-columns: 1.15fr 0.85fr;
  gap: 1px;
  min-height: 48rem;
  background: var(--line);
}

.service-detail-gallery figure {
  min-height: 40rem;
  overflow: hidden;
  background: #111;
}

.service-detail-gallery img,
.service-detail-gallery video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: grayscale(0.32) contrast(1.04);
}

.section-heading-compact {
  display: grid;
  grid-template-columns: minmax(10rem, 0.45fr) minmax(0, 1.55fr);
  gap: clamp(3rem, 8vw, 10rem);
  margin-bottom: clamp(3rem, 6vw, 6rem);
}

.section-heading-compact h2 {
  max-width: 14ch;
}

.service-process__grid,
.service-projects__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-top: 1px solid var(--line);
  border-left: 1px solid var(--line);
  padding: 0;
  list-style: none;
}

.service-projects__grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.service-process__grid li,
.service-projects__grid article {
  min-height: 23rem;
  padding: clamp(1.5rem, 3vw, 3rem);
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

.service-process__grid small,
.service-projects__grid small {
  color: rgba(241, 238, 230, 0.42);
  font-size: 0.58rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.service-process__grid h3,
.service-projects__grid h3 {
  max-width: 14ch;
  margin: clamp(5rem, 8vw, 8rem) 0 1.25rem;
  font-size: clamp(2rem, 3.5vw, 4rem);
  font-weight: 500;
  line-height: 1.04;
  letter-spacing: -0.05em;
}

.service-process__grid p,
.service-projects__grid p {
  max-width: 31rem;
  color: rgba(241, 238, 230, 0.62);
  font-size: 0.8rem;
  line-height: 1.7;
}

.service-brand-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

/* Legal */
.legal-main {
  padding-top: var(--header-height);
}

.legal-hero {
  padding: clamp(6rem, 11vw, 11rem) var(--gutter) clamp(4rem, 7vw, 7rem);
  border-bottom: 1px solid var(--line);
}

.legal-hero h1 {
  max-width: 11ch;
  margin: 2rem 0;
  font-size: clamp(4rem, 9vw, 9.5rem);
  font-weight: 500;
  line-height: 0.94;
  letter-spacing: -0.065em;
}

.legal-hero p {
  max-width: 47rem;
  color: rgba(241, 238, 230, 0.68);
  font-size: clamp(1rem, 1.4vw, 1.3rem);
  line-height: 1.7;
}

.legal-content {
  width: min(100% - (var(--gutter) * 2), 62rem);
  margin: 0 auto;
  padding: clamp(4rem, 8vw, 8rem) 0;
}

.legal-content h2 {
  margin: 3.5rem 0 1rem;
  font-size: clamp(1.8rem, 3vw, 2.8rem);
  font-weight: 500;
  letter-spacing: -0.035em;
}

.legal-content h2:first-child {
  margin-top: 0;
}

.legal-content p,
.legal-content li {
  color: rgba(241, 238, 230, 0.7);
  font-family: var(--font-serif);
  font-size: clamp(1.02rem, 1.3vw, 1.18rem);
  line-height: 1.85;
}

.legal-content ul {
  display: grid;
  gap: 0.45rem;
  padding-left: 1.3rem;
}

.legal-content a {
  color: var(--cream);
  text-decoration: underline;
  text-underline-offset: 0.2em;
}

@media (max-width: 1080px) {
  .rev-service-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .rev-proof {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .rev-proof article:nth-child(2) {
    border-right: 0;
  }

  .rev-proof article:nth-child(-n + 2) {
    border-bottom: 1px solid var(--line);
  }

  .principles-revised__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .contact-details-revised {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 820px) {
  .rev-hero {
    min-height: 92svh;
    padding-top: calc(var(--header-height) + 3rem);
  }

  .rev-hero__veil {
    background:
      linear-gradient(180deg, rgba(0, 0, 0, 0.34) 0%, rgba(0, 0, 0, 0.5) 40%, rgba(0, 0, 0, 0.94) 100%);
  }

  .rev-hero h1 {
    font-size: clamp(3.8rem, 14.5vw, 7rem);
  }

  .rev-hero__scroll {
    display: none;
  }

  .rev-section-head,
  .service-detail-lead,
  .section-heading-compact {
    grid-template-columns: 1fr;
    gap: 2.2rem;
  }

  .rev-operation,
  .rev-operation--reverse {
    grid-template-columns: 1fr;
  }

  .rev-operation--reverse .rev-operation__media {
    order: 0;
  }

  .rev-operation__media {
    min-height: 34rem;
  }

  .rev-operation__copy {
    min-height: 38rem;
  }

  .rev-project-grid,
  .reference-cases__grid,
  .service-detail-gallery {
    grid-template-columns: 1fr;
  }

  .rev-project-card--wide,
  .reference-case--wide {
    grid-column: auto;
  }

  .reference-case--wide {
    grid-template-columns: 1fr;
    grid-template-rows: minmax(28rem, 65vw) auto;
  }

  .rev-logo-grid,
  .service-brand-grid,
  .rev-logo-grid--all {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .service-detail-gallery {
    min-height: 0;
  }

  .service-detail-gallery figure {
    min-height: 32rem;
  }

  .service-process__grid {
    grid-template-columns: 1fr;
  }

  .service-projects__grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 560px) {
  .rev-hero {
    min-height: 90svh;
    padding-bottom: 2.5rem;
  }

  .rev-hero__eyebrow {
    margin-bottom: 1.5rem;
    font-size: 0.58rem;
  }

  .rev-hero h1 {
    font-size: 15vw;
    line-height: 0.98;
  }

  .rev-hero__lead {
    margin-top: 1.4rem;
    font-size: 0.95rem;
  }

  .rev-hero__actions {
    display: grid;
    grid-template-columns: 1fr;
  }

  .rev-button {
    width: 100%;
  }

  .rev-proof {
    grid-template-columns: 1fr;
  }

  .rev-proof article,
  .rev-proof article:nth-child(2) {
    min-height: 11rem;
    border-right: 0;
    border-bottom: 1px solid var(--line);
  }

  .rev-proof article:last-child {
    border-bottom: 0;
  }

  .rev-service-grid {
    grid-template-columns: 1fr;
  }

  .rev-service-card {
    min-height: 19rem;
  }

  .rev-operation__media {
    min-height: 28rem;
  }

  .rev-operation__copy {
    min-height: 0;
    padding-top: 4.5rem;
    padding-bottom: 4.5rem;
  }

  .rev-operation__copy .rev-button {
    width: 100%;
  }

  .rev-project-card,
  .rev-project-card--wide {
    min-height: 28rem;
  }

  .rev-logo-grid,
  .service-brand-grid,
  .rev-logo-grid--all {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .rev-logo-grid figure,
  .service-brand {
    min-height: 8.5rem;
    padding: 1rem;
  }

  .rev-logo-grid--all figure {
    min-height: 0;
  }

  .principles-revised__grid {
    grid-template-columns: 1fr;
  }

  .principles-revised__grid article {
    min-height: 17rem;
  }

  .contact-details-revised {
    grid-template-columns: 1fr;
  }

  .service-detail-hero h1 {
    font-size: 14vw;
  }

  .service-detail-gallery figure {
    min-height: 26rem;
  }

  .service-process__grid li,
  .service-projects__grid article {
    min-height: 20rem;
  }

  .service-process__grid h3,
  .service-projects__grid h3 {
    margin-top: 4.5rem;
  }

  .legal-hero h1 {
    font-size: 14vw;
  }
}

/* Typography clarity pass for internal pages. Display scale remains intact;
   body copy and line boxes are opened so no heading or paragraph can collide
   when Turkish words wrap at tablet and mobile widths. */
.page-kicker,
.rev-hero__eyebrow,
.rev-project-card small,
.reference-case small,
.rev-service-card small,
.service-process__grid small,
.service-projects__grid small {
  font-size: clamp(0.66rem, 0.72vw, 0.76rem);
  letter-spacing: 0.12em;
}

.page-hero h1,
.service-detail-hero h1 {
  line-height: 0.9;
  letter-spacing: -0.045em;
  overflow-wrap: normal;
  word-break: normal;
}

.page-hero h1 em {
  letter-spacing: -0.02em;
}

.page-hero__intro {
  font-size: clamp(1rem, 1.25vw, 1.24rem);
  line-height: 1.8;
}

.page-statement h2 {
  line-height: 1;
  letter-spacing: -0.035em;
}

.page-statement__body {
  font-size: clamp(0.98rem, 1.15vw, 1.1rem);
  line-height: 1.82;
}

.split-feature h2 {
  line-height: 0.96;
  letter-spacing: -0.04em;
}

.split-feature__copy > p {
  font-size: clamp(0.98rem, 1.1vw, 1.08rem);
  line-height: 1.82;
}

.principle h3,
.principles-revised__grid h3 {
  line-height: 1.02;
  letter-spacing: -0.03em;
}

.principle p,
.principles-revised__grid p {
  font-size: clamp(0.9rem, 1vw, 1rem);
  line-height: 1.8;
}

.page-metrics strong,
.rev-proof strong {
  line-height: 0.96;
  letter-spacing: -0.04em;
}

.page-metrics span {
  font-size: 0.72rem;
  line-height: 1.6;
  letter-spacing: 0.1em;
}

.page-cta h2 {
  line-height: 0.94;
  letter-spacing: -0.04em;
}

.page-cta__action {
  font-size: clamp(0.96rem, 1.05vw, 1.08rem);
  line-height: 1.8;
}

.rev-hero h1 {
  line-height: 0.96;
  letter-spacing: -0.04em;
}

.rev-hero h1 em {
  letter-spacing: -0.02em;
}

.rev-hero__lead {
  font-size: clamp(1.04rem, 1.5vw, 1.38rem);
  line-height: 1.75;
}

.rev-proof span {
  font-size: 0.9rem;
  line-height: 1.7;
}

.rev-section-head h2,
.section-heading-compact h2 {
  line-height: 1;
  letter-spacing: -0.04em;
}

.rev-section-head p {
  font-size: clamp(1rem, 1.25vw, 1.18rem);
  line-height: 1.8;
}

.rev-service-card h3 {
  line-height: 1.08;
  letter-spacing: -0.03em;
}

.rev-service-card p {
  font-size: clamp(0.92rem, 1vw, 1.02rem);
  line-height: 1.8;
}

.rev-service-card > span {
  font-size: 0.68rem;
  line-height: 1.6;
  letter-spacing: 0.1em;
}

.rev-operation__copy h2 {
  line-height: 0.98;
  letter-spacing: -0.04em;
}

.rev-operation__copy > p {
  font-size: clamp(1rem, 1.2vw, 1.18rem);
  line-height: 1.82;
}

.rev-operation__copy ul li,
.rev-numbered-list li {
  font-size: 0.9rem;
  line-height: 1.75;
}

.rev-project-card h3,
.reference-case h3 {
  line-height: 1.08;
  letter-spacing: -0.035em;
}

.reference-case p {
  font-size: 0.92rem;
  line-height: 1.8;
}

.service-detail-lead h2 {
  line-height: 1;
  letter-spacing: -0.04em;
}

.service-detail-lead p {
  font-size: clamp(1.18rem, 1.8vw, 1.58rem);
  line-height: 1.82;
}

.service-process__grid h3,
.service-projects__grid h3 {
  line-height: 1.08;
  letter-spacing: -0.035em;
}

.service-process__grid p,
.service-projects__grid p {
  font-size: clamp(0.92rem, 1vw, 1.02rem);
  line-height: 1.8;
}

.contact-intro h1 {
  line-height: 0.92;
  letter-spacing: -0.04em;
}

.contact-details a,
.contact-details address {
  font-size: 0.9rem;
  line-height: 1.6;
}

.contact-details small,
.contact-form label {
  font-size: 0.66rem;
  letter-spacing: 0.11em;
}

.contact-form-wrap h2 {
  line-height: 0.98;
  letter-spacing: -0.04em;
}

.contact-form-wrap header p {
  font-size: 1rem;
  line-height: 1.8;
}

.contact-form input,
.contact-form select,
.contact-form textarea {
  font-size: 1rem;
  line-height: 1.6;
}

@media (max-width: 560px) {
  .page-hero h1,
  .service-detail-hero h1 {
    line-height: 0.98;
    letter-spacing: -0.035em;
  }

  .page-hero__intro,
  .page-statement__body,
  .split-feature__copy > p,
  .principle p,
  .principles-revised__grid p,
  .page-cta__action,
  .rev-section-head p,
  .rev-service-card p,
  .rev-operation__copy > p,
  .reference-case p,
  .service-process__grid p,
  .service-projects__grid p,
  .contact-form-wrap header p {
    font-size: 1rem;
    line-height: 1.82;
  }

  .rev-hero h1,
  .rev-section-head h2,
  .section-heading-compact h2,
  .page-cta h2 {
    line-height: 1.02;
    letter-spacing: -0.03em;
  }

  .service-detail-lead p {
    font-size: 1.16rem;
    line-height: 1.82;
  }

  .contact-details a,
  .contact-details address {
    font-size: 0.94rem;
    line-height: 1.65;
  }
}

/* Contact clarity pass: keep the editorial tone while separating the
   headline, contact details and form into a calmer visual hierarchy. */
.contact-layout-revised {
  grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
}

.contact-layout-revised .contact-intro,
.contact-layout-revised .contact-form-wrap {
  padding: clamp(4rem, 6vw, 6rem) clamp(2rem, 5vw, 5rem);
}

.contact-layout-revised .contact-intro h1 {
  max-width: 9ch;
  margin: clamp(2.5rem, 4vw, 4rem) 0 1.75rem;
  font-size: clamp(4rem, 6.8vw, 7.4rem);
  line-height: 0.94;
  letter-spacing: -0.045em;
}

.contact-layout-revised .contact-intro__lead {
  max-width: 30rem;
  margin-bottom: 0;
  line-height: 1.8;
}

.contact-layout-revised .contact-details-revised {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 1.25rem;
  margin-top: clamp(3rem, 5vw, 5rem);
}

.contact-layout-revised .contact-details-revised a,
.contact-layout-revised .contact-details-revised address {
  grid-template-columns: 5.25rem minmax(0, 1fr);
  gap: 0.75rem;
  min-height: 4rem;
  font-size: 0.82rem;
  line-height: 1.55;
}

.contact-layout-revised .contact-form-wrap > header {
  max-width: 35rem;
  margin-bottom: clamp(2.5rem, 4vw, 4rem);
}

.contact-layout-revised .contact-form-wrap h2 {
  max-width: 14ch;
  margin: 1.25rem 0;
  font-size: clamp(2.8rem, 4vw, 4.6rem);
  line-height: 1.02;
  letter-spacing: -0.035em;
}

.contact-layout-revised .contact-form-wrap header p {
  max-width: 32rem;
  line-height: 1.8;
}

.contact-layout-revised .contact-form {
  gap: 1.75rem 2.25rem;
}

.contact-page-revised .contact-map {
  height: min(42rem, 54svh);
}

@media (max-width: 820px) {
  .contact-layout-revised {
    grid-template-columns: 1fr;
  }

  .contact-layout-revised .contact-intro,
  .contact-layout-revised .contact-form-wrap {
    padding: 4.5rem var(--gutter);
  }

  .contact-layout-revised .contact-intro h1 {
    max-width: 100%;
    margin: 2.5rem 0 1.5rem;
    font-size: clamp(3.8rem, 16.5vw, 6.5rem);
    line-height: 0.98;
  }

  .contact-layout-revised .contact-details-revised {
    grid-template-columns: 1fr;
    gap: 0;
    margin-top: 3rem;
  }

  .contact-layout-revised .contact-form-wrap h2 {
    max-width: 18ch;
    font-size: clamp(2.5rem, 9vw, 4.2rem);
  }

  .contact-page-revised .contact-map {
    height: 28rem;
  }
}

/* Contact revision: keep the page focused on the offer form only. */
.contact-layout--form-only {
  display: block;
  min-height: calc(100svh - var(--header-height));
  border-bottom: 0;
}

.contact-layout--form-only .contact-form-wrap {
  width: min(100%, 74rem);
  min-height: calc(100svh - var(--header-height));
  margin: 0 auto;
  padding: clamp(5rem, 8vw, 8rem) var(--gutter);
}

.contact-layout--form-only .contact-form-wrap > header {
  max-width: 48rem;
  margin-bottom: clamp(2.5rem, 5vw, 5rem);
}

.contact-layout--form-only .contact-form-wrap h1 {
  max-width: 16ch;
  margin: 1.25rem 0;
  font-size: var(--title-feature);
  line-height: var(--leading-feature);
  letter-spacing: -0.04em;
}

.contact-layout--form-only .contact-form {
  max-width: 62rem;
}

@media (max-width: 820px) {
  .contact-layout--form-only .contact-form-wrap {
    min-height: auto;
    padding: 4.5rem var(--gutter) 6rem;
  }

  .contact-layout--form-only .contact-form-wrap h1 {
    max-width: 18ch;
    font-size: clamp(2.5rem, 9vw, 4.2rem);
  }
}

/* Captions are part of the copy hierarchy, so keep them below the media
   rather than placing text directly on top of a photograph or video. */
.page-hero__media {
  display: flex;
  min-height: 0;
  flex-direction: column;
  overflow: visible;
  background: transparent;
}

.page-hero__media::before {
  display: none;
}

.page-hero__media > :is(img, video) {
  flex: 0 0 auto;
  height: min(100svh, 52rem);
  min-height: 42rem;
}

.page-hero__media .page-hero__number {
  position: static;
  z-index: auto;
  display: block;
  padding: 0.8rem 0 0;
  background: var(--black);
  color: rgba(241, 238, 230, 0.65);
}

.about-hero-media {
  height: min(100svh, 52rem);
  min-height: 42rem;
}

.about-hero-media .about-hero__slides {
  position: relative;
  inset: auto;
  flex: 1 1 auto;
  min-height: 0;
}

.about-hero-media .about-hero__progress {
  bottom: 3.25rem;
}

.category-hero__media {
  display: flex;
  height: auto;
  min-height: 0;
  flex-direction: column;
  overflow: visible;
}

.category-hero__media::after {
  display: none;
}

.category-hero__media > img {
  flex: 0 0 auto;
  height: min(56vw, 50rem);
  min-height: 32rem;
}

.category-hero__media figcaption {
  position: static;
  right: auto;
  bottom: auto;
  padding-top: 0.8rem;
  color: rgba(241, 238, 230, 0.65);
}

@media (max-width: 820px) {
  .page-hero__media > :is(img, video) {
    height: min(65svh, 36rem);
    min-height: 31rem;
  }

  .about-hero-media {
    height: min(65svh, 36rem);
    min-height: 31rem;
  }

  .category-hero__media > img {
    height: 68svh;
    min-height: 30rem;
  }
}

@media (max-width: 560px) {
  .page-hero__media > :is(img, video) {
    height: min(65svh, 32rem);
    min-height: 27rem;
  }

  .about-hero-media {
    height: min(65svh, 32rem);
    min-height: 27rem;
  }

  .category-hero__media > img {
    height: 62svh;
    min-height: 27rem;
  }
}

/* Project archive: keep every project title and description in its own
   content block below the image so the copy never competes with the media. */
.project-archive {
  overflow: hidden;
}

.project-archive__grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 1px;
  border: 1px solid var(--line);
  background: var(--line);
}

.project-archive__card {
  grid-column: span 4;
  display: flex;
  min-width: 0;
  flex-direction: column;
  background: var(--black);
}

.project-archive__card--wide {
  grid-column: span 8;
}

.project-archive__card figure {
  aspect-ratio: 4 / 3;
  margin: 0;
  overflow: hidden;
  background: #111;
}

.project-archive__card--wide figure {
  aspect-ratio: 16 / 8;
}

.project-archive__card figure img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: grayscale(0.35) contrast(1.04) brightness(0.86);
  transition: filter 500ms ease, transform 900ms cubic-bezier(0.22, 1, 0.36, 1);
}

.project-archive__card:hover figure img,
.project-archive__card:focus-within figure img {
  filter: grayscale(0.05) contrast(1.02) brightness(0.96);
  transform: scale(1.025);
}

.project-archive__content {
  display: flex;
  min-height: clamp(16rem, 22vw, 22rem);
  flex: 1;
  flex-direction: column;
  gap: 1.15rem;
  padding: clamp(1.35rem, 2.4vw, 2.6rem);
}

.project-archive__content small {
  color: rgba(241, 238, 230, 0.52);
  font-size: 0.62rem;
  font-weight: 700;
  letter-spacing: 0.13em;
  line-height: 1.4;
  text-transform: uppercase;
}

.project-archive__content h3 {
  max-width: 20ch;
  margin: 0;
  font-size: clamp(1.7rem, 2.5vw, 3rem);
  font-weight: 500;
  line-height: 1.02;
  letter-spacing: -0.045em;
  text-wrap: balance;
}

.project-archive__content p {
  max-width: 38rem;
  margin: 0;
  color: rgba(241, 238, 230, 0.64);
  font-family: var(--font-serif);
  font-size: clamp(1rem, 1.2vw, 1.14rem);
  line-height: 1.65;
  text-wrap: pretty;
}

.project-archive__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  margin-top: auto;
  padding-top: 1.25rem;
}

.project-archive__tags span {
  display: inline-flex;
  align-items: center;
  min-height: 1.8rem;
  padding: 0.35rem 0.6rem;
  border: 1px solid var(--line);
  color: rgba(241, 238, 230, 0.68);
  font-size: 0.6rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1.3;
  text-transform: uppercase;
}

@media (max-width: 820px) {
  .project-archive__card,
  .project-archive__card--wide {
    grid-column: span 6;
  }

  .project-archive__card--wide figure {
    aspect-ratio: 4 / 3;
  }
}

@media (max-width: 560px) {
  .project-archive__grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .project-archive__card,
  .project-archive__card--wide {
    grid-column: auto;
  }

  .project-archive__card figure,
  .project-archive__card--wide figure {
    aspect-ratio: 4 / 3;
  }

  .project-archive__content {
    min-height: 0;
    padding: 1.45rem 1.2rem 1.6rem;
  }

  .project-archive__content h3 {
    max-width: 18ch;
    font-size: clamp(1.75rem, 8.4vw, 2.5rem);
  }
}

/* Shared display scale for internal pages. Hero titles receive the strongest
   reduction because they sit beside or over media; section and card headings
   step down proportionally without changing body-copy readability. */
.page-hero h1,
.service-detail-hero h1,
.services-page-revised .page-hero h1,
.article-hero h1,
.rev-hero h1,
.legal-hero h1,
.contact-layout-revised .contact-intro h1 {
  font-size: var(--title-hero);
  line-height: var(--leading-hero);
}

.page-statement h2,
.split-feature h2,
.page-cta h2,
.reference-carousel__header h2,
.service-references .reference-carousel__header h2,
.services-intro h2,
.deliverable-band h2,
.article-next strong,
.rev-section-head h2,
.section-heading-compact h2,
.rev-operation__copy h2,
.service-detail-lead h2 {
  font-size: var(--title-section);
  line-height: var(--leading-section);
}

.principle h3,
.people-service h3,
.blog-card h2,
.article-body h2,
.contact-layout-revised .contact-form-wrap h2,
.reference-case h3,
.service-process__grid h3,
.service-projects__grid h3 {
  font-size: var(--title-feature);
  line-height: var(--leading-feature);
}

.rev-service-card h3,
.rev-project-card h3,
.principles-revised__grid h3,
.project-archive__content h3 {
  font-size: var(--title-card);
  line-height: var(--leading-card);
}

.service-item h3,
.legal-content h2 {
  line-height: var(--leading-card);
}

.article-body blockquote {
  line-height: var(--leading-feature);
}

/* Two-column hero copy has less usable width than full-bleed headings. Keep
   even the longest Turkish service names inside the copy column. */
.page-hero h1,
.service-detail-hero h1,
.services-page-revised .page-hero h1 {
  max-width: 100%;
  font-size: var(--title-hero-column);
}

.page-cta h2 {
  max-width: 14ch;
  font-size: var(--title-feature);
  line-height: var(--leading-feature);
}

/* A few Turkish service names contain a single long word. At 320–360px,
   tighten the shared two-column hero scale after the global display rules so
   the full word stays in the copy column without horizontal scrolling. */
@media (max-width: 360px) {
  :root {
    --title-hero-column: clamp(2rem, 10.8vw, 2.55rem);
  }

  .contact-form__consent {
    min-height: 2.75rem;
  }
}

/* Blog data states */
.blog-status,
.post-loading {
  padding: clamp(2rem, 5vw, 4rem) var(--gutter);
  color: rgba(241, 238, 230, 0.65);
  font-size: 0.82rem;
  letter-spacing: 0.05em;
}

.post-loading {
  min-height: 65vh;
  padding-top: calc(var(--header-height) + 5rem);
}

.post-loading.is-error {
  color: #e8a79f;
}

.article-hero--dynamic > img {
  filter: grayscale(0.25) brightness(0.62);
}

.article-breadcrumb {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  align-items: center;
  margin-bottom: 1.4rem;
  color: rgba(241, 238, 230, 0.65);
  font-size: 0.66rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.article-breadcrumb a:hover,
.article-breadcrumb a:focus-visible {
  color: var(--cream);
}

.article-copy-section + .article-copy-section {
  margin-top: clamp(2.5rem, 5vw, 4.5rem);
}

.article-faq {
  margin-top: clamp(3rem, 6vw, 5rem);
  border-top: 1px solid var(--line);
}

.article-faq h2 {
  padding: 2rem 0 1rem;
}

.article-faq details {
  border-bottom: 1px solid var(--line);
}

.article-faq summary {
  padding: 1.2rem 2.4rem 1.2rem 0;
  cursor: pointer;
  font-weight: 700;
  line-height: 1.45;
}

.article-faq details p {
  padding: 0 0 1.4rem;
  color: rgba(241, 238, 230, 0.7);
}

.article-related {
  padding: 1.4rem;
  margin-top: clamp(2.5rem, 5vw, 4rem);
  border: 1px solid var(--line);
  background: rgba(241, 238, 230, 0.035);
}

.article-related a {
  text-decoration: underline;
  text-underline-offset: 0.2em;
}

/* Blog-only admin surface */
.admin-page {
  min-height: 100vh;
  background: #0b0b0b;
  color: var(--cream);
}

.admin-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: var(--header-height);
  padding: 0 var(--gutter);
  border-bottom: 1px solid var(--line);
  background: rgba(11, 11, 11, 0.94);
}

.admin-header__back {
  padding: 0.8rem 0;
  color: rgba(241, 238, 230, 0.68);
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.11em;
  text-transform: uppercase;
}

.admin-shell {
  width: min(78rem, 100%);
  padding: clamp(4rem, 8vw, 7rem) var(--gutter) clamp(5rem, 9vw, 8rem);
  margin: 0 auto;
}

.admin-intro {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(16rem, 0.65fr);
  gap: 2rem 5rem;
  align-items: end;
  margin-bottom: clamp(3rem, 6vw, 5rem);
}

.admin-intro .page-kicker {
  grid-column: 1 / -1;
}

.admin-intro h1 {
  max-width: 9ch;
  font-size: var(--title-hero-column);
  line-height: var(--leading-hero);
  letter-spacing: -0.055em;
}

.admin-intro h1 em {
  font-family: var(--serif);
  font-weight: 400;
}

.admin-intro p {
  max-width: 34rem;
  color: rgba(241, 238, 230, 0.62);
  font-size: clamp(0.95rem, 1.2vw, 1.12rem);
  line-height: 1.7;
}

.admin-card {
  border: 1px solid var(--line);
  background: #101010;
}

.admin-card__top {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 2rem;
  padding: clamp(1.5rem, 3vw, 2.5rem);
  border-bottom: 1px solid var(--line);
}

.admin-card__top h2 {
  margin-top: 0.5rem;
  font-size: clamp(1.8rem, 3vw, 3rem);
  line-height: 1;
  letter-spacing: -0.04em;
}

.admin-eyebrow,
.admin-account {
  color: rgba(241, 238, 230, 0.48);
  font-size: 0.64rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.admin-auth-message {
  padding: 2rem clamp(1.5rem, 3vw, 2.5rem);
  color: rgba(241, 238, 230, 0.68);
}

.admin-auth-message.is-error {
  color: #e8a79f;
}

.admin-form {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 2rem;
  padding: clamp(1.5rem, 3vw, 2.5rem);
}

.admin-form[hidden] {
  display: none;
}

.admin-field {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 0.65rem;
}

.admin-field--wide,
.admin-form__footer {
  grid-column: 1 / -1;
}

.admin-field label:first-child {
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.admin-field input[type="text"],
.admin-field input[type="password"],
.admin-field textarea {
  width: 100%;
  border: 0;
  border-bottom: 1px solid rgba(241, 238, 230, 0.24);
  border-radius: 0;
  outline: 0;
  background: transparent;
  color: var(--cream);
  font: inherit;
  line-height: 1.6;
  resize: vertical;
}

.admin-field input[type="text"],
.admin-field input[type="password"] {
  min-height: 3.4rem;
}

.admin-field textarea {
  padding: 1rem 0;
}

.admin-field input:focus,
.admin-field textarea:focus {
  border-color: var(--cream);
}

.admin-field > span {
  align-self: flex-end;
  color: rgba(241, 238, 230, 0.4);
  font-size: 0.62rem;
}

.admin-upload {
  display: grid;
  min-height: 8rem;
  place-content: center;
  gap: 0.5rem;
  border: 1px dashed rgba(241, 238, 230, 0.34);
  cursor: pointer;
  text-align: center;
}

.admin-upload:hover,
.admin-upload:focus-within {
  border-color: var(--cream);
  background: rgba(241, 238, 230, 0.04);
}

.admin-upload input {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
}

.admin-upload span {
  font-weight: 800;
}

.admin-upload small {
  color: rgba(241, 238, 230, 0.48);
}

.admin-preview {
  max-width: 30rem;
  aspect-ratio: 16 / 9;
  overflow: hidden;
}

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

.admin-form__footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
  padding-top: 1rem;
  border-top: 1px solid var(--line);
}

.admin-form__footer p {
  color: rgba(241, 238, 230, 0.62);
}

.admin-form__footer p.is-error {
  color: #e8a79f;
}

.admin-form__footer p.is-success {
  color: #9bd6a5;
}

.admin-form__footer a {
  text-decoration: underline;
  text-underline-offset: 0.25em;
}

.admin-submit {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
  min-width: 14rem;
  min-height: 3.6rem;
  padding: 0.8rem 1.1rem;
  border: 1px solid var(--cream);
  background: var(--cream);
  color: var(--black);
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.admin-submit:disabled {
  cursor: wait;
  opacity: 0.55;
}

.admin-login {
  width: min(38rem, 100%);
  margin-inline: auto;
}

.admin-login-form {
  display: grid;
  gap: 1.5rem;
  padding: clamp(1.5rem, 3vw, 2.5rem);
}

.admin-login-form > p {
  min-height: 1.5rem;
  color: rgba(241, 238, 230, 0.62);
}

.admin-login-form > p.is-error {
  color: #e8a79f;
}

.admin-login-form .admin-submit {
  justify-self: end;
}

.admin-dashboard[hidden] {
  display: none;
}

.admin-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
  padding: 1.2rem 0;
  margin-bottom: 1.5rem;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

.admin-toolbar p,
.admin-toolbar > div {
  display: flex;
  align-items: center;
  gap: 1rem;
}

.admin-toolbar strong {
  font-size: 0.9rem;
}

.admin-secondary,
.admin-text-button,
.admin-post-item button,
.admin-post-item a {
  border: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  cursor: pointer;
}

.admin-secondary {
  min-height: 2.75rem;
  padding: 0.65rem 0.9rem;
  border: 1px solid rgba(241, 238, 230, 0.3);
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.admin-secondary:hover,
.admin-secondary:focus-visible {
  border-color: var(--cream);
}

.admin-dashboard__grid {
  display: grid;
  grid-template-columns: minmax(19rem, 0.72fr) minmax(0, 1.28fr);
  gap: 1.5rem;
  align-items: start;
}

.admin-posts,
.admin-editor {
  min-width: 0;
}

.admin-posts {
  position: sticky;
  top: 1.5rem;
  max-height: calc(100vh - 3rem);
  overflow: hidden;
}

.admin-posts .admin-card__top {
  align-items: center;
}

.admin-posts .admin-card__top h2,
.admin-editor .admin-card__top h2 {
  font-size: clamp(1.55rem, 2.4vw, 2.35rem);
}

.admin-count {
  color: rgba(241, 238, 230, 0.48);
  font-size: 0.68rem;
}

.admin-post-list {
  max-height: calc(100vh - 12rem);
  overflow-y: auto;
  scrollbar-color: rgba(241, 238, 230, 0.3) transparent;
}

.admin-post-item {
  display: grid;
  gap: 1rem;
  padding: 1.25rem clamp(1.2rem, 2vw, 1.75rem);
  border-bottom: 1px solid var(--line);
}

.admin-post-item > div:first-child {
  min-width: 0;
}

.admin-post-item span,
.admin-post-item time {
  color: rgba(241, 238, 230, 0.45);
  font-size: 0.62rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.admin-post-item h3 {
  margin: 0.45rem 0 0.5rem;
  font-size: 1rem;
  line-height: 1.35;
}

.admin-post-item > div:last-child {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
}

.admin-post-item button,
.admin-post-item a,
.admin-text-button {
  padding: 0.15rem 0;
  color: rgba(241, 238, 230, 0.68);
  font-size: 0.65rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-decoration: underline;
  text-underline-offset: 0.25em;
}

.admin-post-item .is-danger {
  color: #e8a79f;
}

.admin-empty {
  padding: 2rem;
  color: rgba(241, 238, 230, 0.55);
}

@media (max-width: 760px) {
  .admin-intro,
  .admin-form {
    grid-template-columns: 1fr;
  }

  .admin-intro .page-kicker,
  .admin-field--wide,
  .admin-form__footer {
    grid-column: auto;
  }

  .admin-card__top,
  .admin-form__footer {
    align-items: flex-start;
    flex-direction: column;
  }

  .admin-submit {
    width: 100%;
  }

  .admin-login-form .admin-submit {
    justify-self: stretch;
  }

  .admin-toolbar,
  .admin-toolbar p {
    align-items: flex-start;
    flex-direction: column;
  }

  .admin-toolbar > div {
    width: 100%;
  }

  .admin-secondary {
    flex: 1;
  }

  .admin-dashboard__grid {
    grid-template-columns: 1fr;
  }

  .admin-posts {
    position: static;
    max-height: none;
  }

  .admin-post-list {
    max-height: 32rem;
  }
}
