/* Testimonials: two compact rows moving in opposite directions. Without JS or motion, one row scrolls by hand. */
.reviews{background:var(--deep);overflow:clip;--review-gap:16px;--review-width:288px;--review-speed:40}
.reviews-heading{display:grid;grid-template-columns:1.25fr .75fr;align-items:end;gap:60px}
.reviews-heading h2{margin-top:24px;font-size:clamp(48px,5.1vw,74px)}
.reviews-heading h2 em{color:var(--gold)}
.reviews-intro{max-width:38ch;color:var(--cream);padding-bottom:3px}
.reviews-disclosure{color:var(--muted);font-size:14px;line-height:1.6;max-width:38ch}
.reviews-hint{margin-top:10px;font-size:12px;color:var(--muted)}
.reviews-marquee{margin-top:40px;padding-block:4px;display:flex;flex-direction:column;gap:var(--review-gap);overflow-x:auto;overflow-y:hidden;scrollbar-width:none;overscroll-behavior-x:contain}
.reviews-marquee::-webkit-scrollbar{display:none}
.reviews-marquee:focus-visible{outline-offset:-2px}
.marquee-row{display:flex;gap:var(--review-gap);width:max-content;padding-left:max(56px,calc((100vw - 1280px)/2))}
.marquee-group{display:flex;gap:var(--review-gap);flex:none;margin:0;padding:0;list-style:none}
.review-card{width:var(--review-width);flex:none;padding:18px;display:flex;flex-direction:column;gap:14px;border:1px solid #ddbd7d26;border-radius:16px;background:var(--surface);transition:border-color 180ms}
.review-head{display:flex;align-items:center;gap:10px}
.review-avatar{flex:none;display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--gold);color:var(--ink);font:500 18px/1 Newsreader,Georgia,serif}
.review-who{display:flex;flex-direction:column;min-width:0;line-height:1.35}
.review-name{font-size:14px;font-weight:500;color:var(--cream)}
.review-service{font-size:12px;letter-spacing:.02em;color:var(--gold)}
/* Only shown where the client wrote "5 estrelas" in the message. */
.review-stars{flex:none;margin-left:auto;width:66px;height:12px;background:var(--gold);--star:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M10 1.6l2.6 5.3 5.8.8-4.2 4.1 1 5.8L10 14.9l-5.2 2.7 1-5.8L1.6 7.7l5.8-.8z'/%3E%3C/svg%3E");-webkit-mask:var(--star) 0 0/12px 12px space no-repeat;mask:var(--star) 0 0/12px 12px space no-repeat}
.review-card blockquote{margin:0;font:400 18px/1.45 Newsreader,Georgia,serif;letter-spacing:-.005em;color:var(--cream);text-wrap:pretty}
.review-card blockquote::before{content:"\201C";color:var(--gold)}
.review-card blockquote::after{content:"\201D";color:var(--gold)}
.reviews-bottom{display:flex;justify-content:space-between;gap:24px;align-items:center;margin-top:28px;color:var(--muted);font-size:14px}
.reviews-bottom .text-link{color:var(--gold)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(hover:hover) and (pointer:fine){.review-card:hover{border-color:var(--gold)}}

/* Motion on: reviews.js fills each row with hidden copies and sets the loop duration. */
.reviews-marquee[data-marquee="on"]{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent)}
.reviews-marquee[data-marquee="on"] .marquee-row{width:auto;padding-left:0}
.reviews-marquee[data-marquee="on"] .marquee-group{animation:review-marquee var(--duration,30s) linear infinite}
.reviews-marquee[data-marquee="on"] .marquee-reverse .marquee-group{animation-direction:reverse}
.reviews-marquee[data-marquee="on"]:is(:hover,:focus-within,[data-paused]) .marquee-group{animation-play-state:paused}
@keyframes review-marquee{from{transform:translateX(0)}to{transform:translateX(calc(-100% - var(--review-gap)))}}

@media(max-width:1100px){.marquee-row{padding-left:36px}.reviews-heading{gap:36px}}
@media(max-width:700px){
  .reviews{--review-gap:12px;--review-width:256px;--review-speed:36;padding-block:60px}
  .reviews-heading{grid-template-columns:1fr;gap:19px}
  .reviews-heading h2{font-size:clamp(36px,9.6vw,48px);margin-top:18px}
  .reviews-disclosure{margin-top:0;font-size:13px}
  .reviews-marquee{margin-top:24px}
  .reviews-marquee[data-marquee="on"]{-webkit-mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent)}
  .marquee-row{padding-left:24px}
  .review-card{padding:16px}
  .review-card blockquote{font-size:17px}
  .reviews-bottom{flex-direction:column;align-items:flex-start;gap:0;margin-top:18px}
}
@media(max-width:360px){.marquee-row{padding-left:20px}}
