.brand-logo {
  display: block;
  width: 165px;
  height: 68px;
  object-fit: contain;
  object-position: center;
  mix-blend-mode: screen;
}

/* Keep the RTL navigation grouped with the logo; leave the call action opposite. */
.topbar .brand {
  margin-left: 0;
}

.topbar .header-cta {
  margin-right: auto;
}

.language-switch{position:relative;direction:ltr;color:#fff;font:600 14px "Heebo",sans-serif;white-space:nowrap}
.language-switch summary{display:flex;align-items:center;justify-content:center;gap:8px;min-width:82px;min-height:42px;padding:0 14px;border:1px solid rgba(255,255,255,.48);border-radius:24px;background:rgba(255,255,255,.08);backdrop-filter:blur(8px);cursor:pointer;list-style:none}
.language-switch summary::-webkit-details-marker{display:none}
.language-switch summary span{font-size:19px;color:#e0bb70}
.language-switch[open] summary{background:rgba(255,255,255,.16)}
.language-menu{position:absolute;top:calc(100% + 10px);left:0;z-index:50;width:220px;overflow:hidden;border-radius:18px;background:#fff;color:#26272a;box-shadow:0 18px 45px rgba(0,0,0,.28)}
.language-menu a,.language-menu>span{display:grid;grid-template-columns:24px 1fr 28px;align-items:center;gap:10px;min-height:50px;padding:0 16px;font-weight:400}
.language-menu a:hover{background:#f4f1e9}
.language-menu .active{background:#f6f0df;font-weight:600}
.language-menu i{color:#b99552;font-style:normal;font-size:18px}
.language-menu strong{font-weight:inherit}
.language-menu small{color:#737579;font-size:13px}

html[dir="ltr"] .topbar .brand{margin-right:0}
html[dir="ltr"] .topbar .header-cta{margin-left:auto;margin-right:0}
html[dir="ltr"] .eyebrow{letter-spacing:.12em}
html[dir="ltr"] blockquote{border-right:0;border-left:3px solid var(--gold)}
html[dir="ltr"] .text-link span{display:inline-block;transform:scaleX(-1)}

.rafael-portrait {
  margin: 0 0 34px;
  display: grid;
  grid-template-columns: minmax(170px, 230px) 1fr;
  align-items: end;
  gap: 24px;
}

.rafael-portrait img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: contain;
  border-radius: 8px;
  box-shadow: 0 18px 48px rgba(11, 25, 43, .16);
}

.rafael-portrait figcaption {
  padding-bottom: 14px;
  border-bottom: 1px solid rgba(16, 17, 19, .2);
}

.rafael-portrait figcaption strong,
.rafael-portrait figcaption span {
  display: block;
}

.rafael-portrait figcaption strong {
  font-family: "Frank Ruhl Libre", serif;
  font-size: 25px;
  font-weight: 600;
}

.rafael-portrait figcaption span {
  margin-top: 5px;
  color: #a47a35;
  font-size: 14px;
}

.contact-logo {
  display: block;
  width: min(270px, 76%);
  max-height: 150px;
  margin: 0 auto 22px;
  object-fit: contain;
}

.footer-logo {
  display: block;
  width: 150px;
  height: 70px;
  object-fit: contain;
  mix-blend-mode: screen;
}

.testimonials {
  padding: 120px 8vw;
  background: #f7f7f5;
}

.testimonials-head {
  display: flex;
  justify-content: space-between;
  align-items: end;
  gap: 40px;
  margin-bottom: 58px;
}

.testimonials h2 {
  margin: 0;
  font-family: "Frank Ruhl Libre", serif;
  font-size: clamp(45px, 5.2vw, 76px);
  font-weight: 500;
  line-height: .95;
}

.demo-note {
  margin: 0;
  padding: 8px 13px;
  border: 1px solid rgba(16, 17, 19, .18);
  color: #707276;
  font-size: 13px;
}

.testimonial-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1px;
  background: #d8d7d2;
}

.testimonial-grid figure {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-height: 360px;
  margin: 0;
  padding: 38px;
  background: #fff;
}

.testimonial-grid blockquote {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 24px;
  line-height: 1.55;
}

.testimonial-grid blockquote::before {
  content: "”";
  display: block;
  height: 45px;
  color: #b99552;
  font: 64px/1 "Frank Ruhl Libre", serif;
}

.testimonial-grid figcaption {
  display: flex;
  align-items: center;
  gap: 13px;
  margin-top: 36px;
}

.testimonial-grid figcaption span {
  display: grid;
  width: 42px;
  height: 42px;
  place-items: center;
  border-radius: 50%;
  background: #111418;
  color: #b99552;
  font-family: "Frank Ruhl Libre", serif;
  font-size: 20px;
}

.testimonial-grid figcaption strong {
  font-size: 17px;
  font-weight: 500;
}

@media (max-width: 900px) {
  .brand-logo { width: 130px; height: 58px; }
  .language-switch summary{min-width:72px;min-height:38px;padding:0 11px}
  .language-menu{right:auto;left:0;width:205px}
  .rafael-portrait { grid-template-columns: 155px 1fr; gap: 18px; }
  .testimonial-grid { grid-template-columns: 1fr; }
  .testimonial-grid figure { min-height: 280px; }
}

@media (max-width: 560px) {
  .language-switch{order:2}
  .rafael-portrait { grid-template-columns: 1fr; }
  .rafael-portrait img { width: min(250px, 76vw); }
  .rafael-portrait figcaption { width: min(250px, 76vw); }
  .contact-logo { width: min(230px, 80%); }
  .testimonials { padding: 80px 6vw; }
  .testimonials-head { display: block; }
  .demo-note { display: inline-block; margin-top: 24px; }
  .testimonial-grid blockquote { font-size: 22px; }
}

.contact-form {
  margin-top: 28px;
  padding-top: 26px;
  border-top: 1px solid #d8d7d2;
}

.contact-form h3 { margin-bottom: 18px; }
.contact-form label, .contact-form label span { display: block; }
.contact-form label { margin-top: 14px; }
.contact-form label span { margin-bottom: 6px; color: #4f5154; font-size: 14px; }
.contact-form input, .contact-form select, .contact-form textarea {
  width: 100%;
  min-height: 48px;
  padding: 11px 13px;
  border: 1px solid #bbb9b2;
  border-radius: 2px;
  background: #fff;
  color: #101113;
  font: 16px "Heebo", sans-serif;
}
.contact-form textarea { min-height: 92px; resize: vertical; }
.form-row { display: grid !important; grid-template-columns: 1fr 1fr; gap: 14px; padding: 0 !important; border: 0 !important; }
.contact-form .primary { border: 0; cursor: pointer; font: 600 16px "Heebo", sans-serif; }
.contact-form .form-note { display: block; margin-top: 9px; color: #696b6e; line-height: 1.5; }

.whatsapp-float {
  position: fixed;
  right: 20px;
  bottom: 20px;
  z-index: 9998;
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 52px;
  padding: 0 18px;
  border: 2px solid #fff;
  border-radius: 28px;
  background: #147a42;
  color: #fff;
  font: 600 16px "Heebo", sans-serif;
  box-shadow: 0 6px 22px rgba(0,0,0,.28);
}
.whatsapp-float span { font-size: 21px; }

@media (max-width: 560px) {
  .form-row { grid-template-columns: 1fr; gap: 0; }
  .whatsapp-float { right: 12px; bottom: 12px; padding: 0 14px; }
}
