
/* v10.3 Google reviews section */
.reviews-section{position:relative;overflow:hidden;background:#090909;padding:82px 0}
.reviews-section::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 12% 8%,rgba(255,106,0,.14),transparent 34%),radial-gradient(circle at 88% 78%,rgba(255,255,255,.04),transparent 30%);pointer-events:none}
.reviews-summary{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);gap:30px;align-items:stretch;margin-top:28px}
.review-score-card{border:1px solid rgba(255,255,255,.11);border-radius:28px;background:linear-gradient(155deg,rgba(255,106,0,.16),rgba(255,255,255,.025));padding:30px;display:flex;flex-direction:column;justify-content:center;min-height:260px;box-shadow:0 22px 54px rgba(0,0,0,.28)}
.review-score{font-size:clamp(64px,8vw,112px);font-weight:1000;line-height:.82;letter-spacing:-.07em;color:#fff}
.review-stars{color:#ff7a1a;font-size:27px;letter-spacing:.16em;margin:20px 0 12px}
.review-count{font-size:15px;font-weight:900;letter-spacing:.09em;text-transform:uppercase;color:#d9d9d9}
.review-source{font-size:13px;color:#a9a9a9;margin-top:8px}
.review-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.review-card{position:relative;border:1px solid rgba(255,255,255,.1);border-radius:24px;background:rgba(255,255,255,.035);padding:24px;box-shadow:0 18px 40px rgba(0,0,0,.2);min-height:210px;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden}
.review-card::after{content:'“';position:absolute;right:16px;top:-18px;color:rgba(255,106,0,.13);font-size:120px;font-family:Georgia,serif;line-height:1;pointer-events:none}
.review-card .stars{color:#ff7a1a;letter-spacing:.12em;font-size:18px;margin-bottom:16px}
.review-card blockquote{margin:0;color:#fff;font-size:19px;line-height:1.55;font-weight:700;max-width:30ch}
.review-card footer{margin-top:18px;padding:0;background:none;color:#a9a9a9;font-size:12px;font-weight:900;letter-spacing:.09em;text-transform:uppercase}
.review-themes{grid-column:1/-1;border:1px solid rgba(255,255,255,.1);border-radius:24px;padding:20px 22px;background:rgba(255,255,255,.025);display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.review-themes strong{font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:#fff;margin-right:8px}
.review-theme{display:inline-flex;padding:8px 11px;border-radius:999px;background:rgba(255,106,0,.11);border:1px solid rgba(255,106,0,.25);color:#ff9b58;font-size:12px;font-weight:800}
.reviews-actions{position:relative;z-index:1;display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}
@media(max-width:900px){.reviews-summary{grid-template-columns:1fr}.review-grid{grid-template-columns:1fr}.review-score-card{min-height:220px}.reviews-section{padding:64px 0}}
@media(max-width:560px){.review-score-card,.review-card{border-radius:20px;padding:20px}.review-score{font-size:76px}.review-card blockquote{font-size:17px}.review-stars{font-size:23px}}

/* v10.4 — animated 5-star sweep */
.review-stars,.review-card .stars{display:inline-flex;gap:.08em;align-items:center}
.review-stars .star,.review-card .stars .star{position:relative;display:inline-block;color:rgba(255,122,26,.28)}
.review-stars .star::after,.review-card .stars .star::after{content:'★';position:absolute;inset:0;color:#ff8a1c;opacity:0;transform:scale(.74);filter:drop-shadow(0 0 0 rgba(255,184,102,0));animation:starSweep 2.8s ease-in-out infinite;animation-delay:var(--star-delay,0s)}
.review-stars .star:last-child::before,.review-card .stars .star:last-child::before{content:'✦';position:absolute;right:-.34em;top:-.52em;font-size:.58em;color:#fff3cf;opacity:0;text-shadow:0 0 8px rgba(255,231,170,.88);animation:starSpark 2.8s ease-in-out infinite;animation-delay:calc(var(--star-delay,0s) + .18s)}
@keyframes starSweep{0%,12%{opacity:0;transform:scale(.74)}18%{opacity:1;transform:scale(1.12);filter:drop-shadow(0 0 12px rgba(255,160,55,.88))}28%,100%{opacity:1;transform:scale(1);filter:drop-shadow(0 0 0 rgba(255,184,102,0))}}
@keyframes starSpark{0%,76%{opacity:0;transform:scale(.5) rotate(0deg)}84%{opacity:1;transform:scale(1.16) rotate(18deg)}92%{opacity:.82;transform:scale(.94) rotate(-12deg)}100%{opacity:0;transform:scale(.66) rotate(0deg)}}
