.header {
  grid-template-columns: 1fr auto auto auto;
}

.lang-switch {
  display: flex;
  gap: 0.15rem;
  margin-inline: 1rem;
}

.lang-switch button,
.lang-switch a {
  border: 0;
  background: transparent;
  color: #aaa;
  padding: 0.35rem;
  font:
    600 0.62rem Arial,
    sans-serif;
  cursor: pointer;
  text-decoration: none;
}

.lang-switch button.active,
.lang-switch a.active {
  color: #caff4f;
  border-bottom: 1px solid #caff4f;
}

[dir='rtl'] body {
  font-family: Arial, Tahoma, sans-serif;
}

[dir='rtl'] .hero-shade {
  transform: scaleX(-1);
}

[dir='rtl'] .sound-note {
  right: auto;
  left: 4vw;
}

[dir='rtl'] .aside {
  margin-left: 0;
  margin-right: auto;
}

[dir='rtl'] .work-card > div {
  grid-template-columns: 1fr 3rem;
}

[dir='rtl'] .work-card > div p {
  grid-column: 2;
  grid-row: 1;
}

[dir='rtl'] .work-card > div h3,
[dir='rtl'] .work-card > div small {
  grid-column: 1;
}

[dir='rtl'] .about-copy .placeholder {
  padding-left: 0;
  padding-right: 1.3rem;
  border-left: 0;
  border-right: 1px solid #caff4f;
}

@media (width <= 760px) {
  .header {
    grid-template-columns: 1fr auto auto;
  }

  .lang-switch {
    margin-inline: 0.2rem;
  }

  .lang-switch button,
  .lang-switch a {
    padding: 0.25rem;
  }

  .header nav {
    right: auto;
    inset-inline-end: 4vw;
  }
}

[dir='rtl'] .booking-link b,
[dir='rtl'] .portfolio-section-cta b {
  transform: rotate(180deg);
}

.header-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  border-color: #caff4f;
  background: #caff4f;
  color: #11110f;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  box-shadow: 0 0 0 0 #caff4f55;
  transition:
    transform 0.25s,
    box-shadow 0.25s,
    background 0.25s;
}

.header-cta:hover,
.header-cta:focus-visible {
  background: #e0ff94;
  transform: translateY(-2px);
  box-shadow: 0 0 0 5px #caff4f24;
}

.portfolio-section-cta {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  min-width: 220px;
  padding: 0.9rem 1rem;
  border: 1px solid #caff4f !important;
  color: #caff4f;
  transition:
    background 0.25s,
    color 0.25s;
}

.portfolio-section-cta b {
  font-size: 1.05rem;
}

.portfolio-section-cta:hover,
.portfolio-section-cta:focus-visible {
  background: #caff4f;
  color: #11110f;
}

@media (width <= 760px) {
  .header {
    grid-template-columns: 1fr auto auto auto;
    gap: 0.35rem;
  }

  .header-cta {
    display: inline-flex;
    min-height: 34px;
    padding: 0.5rem 0.65rem;
    font-size: 0.58rem;
  }

  .header-cta span {
    font-size: 0;
  }

  .header-cta span::before {
    content: 'Portfolio ↗';
    font-size: 0.58rem;
  }

  [lang='fr'] .header-cta span::before {
    content: 'Portfolio ↗';
  }

  [lang='es'] .header-cta span::before {
    content: 'Portafolio ↗';
  }

  [lang='ar'] .header-cta span::before {
    content: 'الأعمال ↗';
  }

  .portfolio-section-cta {
    width: 100%;
    max-width: 320px;
    margin-top: 1rem;
  }
}

.testimonials {
  background: #11110f;
}

.about-portrait {
  max-width: 560px;
  justify-self: center;
  overflow: hidden;
  background: #171715;
}

.about-portrait img {
  height: auto;
  aspect-ratio: auto !important;
  object-fit: contain;
}

.work-card figure img,
.work-card.tall figure img {
  height: auto;
  aspect-ratio: auto;
  object-fit: contain;
}

.work-card figure figcaption {
  position: static;
  min-height: 38px;
  padding: 0.7rem 1rem;
  background: #171715;
  color: #ddd;
  font-size: 0.6rem;
  letter-spacing: 0.12em;
  line-height: 1.35;
  text-transform: uppercase;
}

@media (width >= 761px) {
  .service-list article {
    grid-template-columns: 5rem minmax(0, 1.35fr) minmax(0, 1fr) minmax(250px, 0.85fr);
  }

  .service-list h3,
  .service-list p,
  .service-list small {
    justify-self: stretch;
  }

  .service-list small {
    text-align: start;
  }
}

.testimonials-heading {
  display: grid;
  grid-template-columns: 1fr 3fr;
  gap: 3rem;
  align-items: start;
  margin-bottom: 5rem;
}

.testimonials h2 {
  max-width: 980px;
  margin: 0;
  font-size: clamp(2.8rem, 5.8vw, 6rem);
  line-height: 0.98;
  letter-spacing: -0.055em;
}

.testimonials-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border-top: 1px solid #2c2c28;
}

.testimonials blockquote {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-height: 330px;
  margin: 0;
  padding: 2.2rem;
  border-inline-end: 1px solid #2c2c28;
}

.testimonials blockquote:last-child {
  border-inline-end: 0;
}

.testimonials blockquote > p {
  margin: 0;
  font:
    400 clamp(1.25rem, 1.8vw, 1.8rem)/1.45 Georgia,
    serif;
}

.testimonials blockquote footer {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  padding: 2rem 0 0;
  color: #9c9a92;
  letter-spacing: 0.09em;
}

.testimonials cite {
  color: #caff4f;
  font-style: normal;
}

.reviews-source {
  display: inline-block;
  margin-top: 2.5rem;
  padding-bottom: 0.35rem;
  border-bottom: 1px solid #caff4f;
  color: #caff4f;
  font-size: 0.72rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

@media (width <= 760px) {
  .testimonials-heading,
  .testimonials-grid {
    grid-template-columns: 1fr;
  }

  .testimonials-heading {
    gap: 2rem;
    margin-bottom: 3rem;
  }

  .testimonials blockquote {
    min-height: 0;
    gap: 3rem;
    padding: 2rem 0;
    border-inline-end: 0;
    border-bottom: 1px solid #2c2c28;
  }
}
