/* Reviews: compact full-width animated Flamp quotes in the site's dark blue palette. */
.reviews-section.reviews-quotes{
  position:relative!important;
  isolation:isolate;
  margin:20px 6px 14px!important;
  padding:30px 32px 26px!important;
  overflow:hidden!important;
  border:1px solid rgba(123,176,217,.12)!important;
  border-radius:24px!important;
  color:#dce9f3!important;
  background:
    radial-gradient(circle at 12% 8%,rgba(82,139,184,.12),transparent 26%),
    radial-gradient(circle at 90% 84%,rgba(154,183,205,.07),transparent 28%),
    linear-gradient(180deg,#081723 0%,#06131e 100%)!important;
  box-shadow:0 18px 46px rgba(0,0,0,.18)!important;
}
.reviews-quotes:before,
.reviews-quotes:after{
  content:"";
  position:absolute;
  z-index:-1;
  pointer-events:none;
  border-radius:50%;
}
.reviews-quotes:before{
  width:210px;height:210px;right:-72px;top:-92px;
  border:1px solid rgba(151,193,224,.10);
  box-shadow:0 0 0 34px rgba(137,181,215,.025),0 0 0 72px rgba(137,181,215,.015);
  animation:reviewOrbitA 8s ease-in-out infinite alternate;
}
.reviews-quotes:after{
  width:138px;height:138px;left:-48px;bottom:-56px;
  background:rgba(131,172,202,.055);
  border:1px solid rgba(172,204,227,.08);
  animation:reviewOrbitB 9s ease-in-out infinite alternate;
}
.reviews-quote-head{
  position:relative;z-index:2;
  display:flex;align-items:flex-end;justify-content:space-between;
  gap:22px;margin:0 0 18px;
}
.reviews-quote-kicker{
  display:flex;align-items:center;gap:8px;
  margin:0 0 5px;color:#7eb5df;
  font-size:9px;font-weight:900;letter-spacing:.17em;
}
.reviews-quote-kicker:before{
  content:"";width:6px;height:6px;border-radius:50%;
  background:#9cc9e9;box-shadow:0 0 0 4px rgba(130,181,218,.08);
  animation:reviewPulse 3s ease-in-out infinite;
}
.reviews-quote-head h2{
  max-width:620px;margin:0!important;
  color:#dceaf4!important;
  font-family:Georgia,'Times New Roman',serif!important;
  font-size:clamp(25px,2.35vw,34px)!important;
  line-height:1.04!important;letter-spacing:-.02em!important;
  font-weight:500!important;
}
.reviews-quote-head>p{
  display:none!important;
  max-width:300px;margin:0 0 1px!important;
  color:#7f96a9!important;font-size:10px!important;line-height:1.42!important;
  text-align:right!important;
}
.review-monument{
  position:relative;z-index:2;
  width:100%!important;
  margin-left:0!important;
  margin-right:0!important;
  padding:15px 18px 13px 21px;
  border:1px solid rgba(67,102,129,.16);
  border-radius:17px!important;
  background:
    linear-gradient(135deg,rgba(214,229,239,.97) 0%,rgba(190,211,226,.96) 48%,rgba(208,224,235,.97) 100%);
  box-shadow:0 9px 22px rgba(0,0,0,.16),inset 0 1px 0 rgba(255,255,255,.58);
  backdrop-filter:blur(8px);
  will-change:transform;
}
.review-monument-primary{
  margin-top:0!important;
  margin-bottom:12px!important;
  animation:reviewFloatPrimary 6.8s ease-in-out infinite;
}
.review-monument-secondary{
  margin-top:0!important;
  margin-bottom:0!important;
  animation:reviewFloatSecondary 7.6s ease-in-out infinite;
}
.review-monument:hover{
  border-color:rgba(126,176,211,.32);
  box-shadow:0 13px 28px rgba(0,0,0,.20),inset 0 1px 0 rgba(255,255,255,.72);
}
.review-monument-mark{
  position:absolute;left:10px;top:-15px;z-index:-1;
  font-family:Georgia,'Times New Roman',serif;
  font-size:74px;line-height:1;color:rgba(26,61,87,.10);
  user-select:none;animation:reviewMarkDrift 5s ease-in-out infinite;
}
.review-monument-secondary .review-monument-mark{
  left:auto;right:11px;top:-15px;transform:rotate(180deg);
  color:rgba(26,61,87,.08);
}
.review-monument blockquote,
.review-monument-secondary blockquote{
  position:relative;z-index:2;margin:0!important;
  max-width:none!important;
  color:#183246!important;
  font-family:Georgia,'Times New Roman',serif!important;
  font-size:clamp(15px,1.18vw,18px)!important;
  line-height:1.38!important;letter-spacing:-.004em!important;
  font-weight:400!important;text-wrap:pretty;
}
.review-signature{
  display:flex;align-items:center;justify-content:space-between;
  gap:16px;margin-top:10px;padding-top:9px;
  border-top:1px solid rgba(31,67,93,.11);
}
.review-person b{
  display:block;color:#173348;font-size:12px;line-height:1.2;
}
.review-person span{
  display:block;margin-top:2px;color:#688195;
  font-size:7px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;
}
.flamp-source{
  display:flex;align-items:center;gap:6px;
  min-height:30px;padding:3px 8px 3px 6px;
  border:1px solid rgba(30,60,80,.09);border-radius:999px;
  background:rgba(255,255,255,.92);text-decoration:none!important;
  box-shadow:0 4px 11px rgba(25,48,65,.09);
  transition:transform .18s ease,box-shadow .18s ease;
}
.flamp-source:hover{transform:translateY(-2px);box-shadow:0 7px 15px rgba(25,48,65,.14)}
.flamp-source img{
  display:block!important;width:58px!important;height:19px!important;max-width:none!important;
  object-fit:contain!important;filter:none!important;
}
.flamp-source em{
  padding-left:6px;border-left:1px solid rgba(31,55,72,.10);
  color:#697783;font-style:normal;font-size:6px;font-weight:800;
  letter-spacing:.05em;text-transform:uppercase;
}
.reviews-quote-actions{
  position:relative;z-index:2;display:flex;justify-content:flex-end;gap:7px;
  margin-top:14px;
}
.reviews-quote-actions a{
  min-height:32px;padding:0 11px;border-radius:999px;
  display:inline-flex;align-items:center;justify-content:center;gap:6px;
  text-decoration:none!important;font-size:8px;font-weight:900;
  transition:transform .18s ease,border-color .18s ease,background .18s ease;
}
.reviews-quote-actions .review-all{
  color:#b9d3e6;border:1px solid rgba(122,171,207,.18);background:rgba(18,45,66,.72);
}
.reviews-quote-actions .review-add{
  color:#d3e6f3;border:1px solid rgba(150,190,219,.21);background:rgba(73,113,143,.18);
}
.reviews-quote-actions a:hover{transform:translateY(-2px);border-color:rgba(153,196,226,.42);background:rgba(31,68,94,.84)}
.reviews-quote-actions i{font-style:normal;color:#9ec7e5;font-size:12px}
@keyframes reviewFloatPrimary{
  0%,100%{transform:translate3d(0,0,0) rotate(-.05deg)}
  32%{transform:translate3d(4px,-4px,0) rotate(.04deg)}
  68%{transform:translate3d(-3px,2px,0) rotate(-.02deg)}
}
@keyframes reviewFloatSecondary{
  0%,100%{transform:translate3d(0,0,0) rotate(.05deg)}
  36%{transform:translate3d(-4px,3px,0) rotate(-.04deg)}
  72%{transform:translate3d(3px,-3px,0) rotate(.02deg)}
}
@keyframes reviewMarkDrift{
  0%,100%{opacity:.48;translate:0 0}
  50%{opacity:.82;translate:3px -3px}
}
@keyframes reviewOrbitA{to{transform:translate3d(-18px,13px,0) rotate(7deg) scale(1.04)}}
@keyframes reviewOrbitB{to{transform:translate3d(16px,-10px,0) scale(.94)}}
@keyframes reviewPulse{0%,100%{opacity:.45;transform:scale(.75)}50%{opacity:1;transform:scale(1.2)}}
@media(max-width:900px){
  .reviews-section.reviews-quotes{padding:27px 22px 24px!important}
  .reviews-quote-head{display:block;margin-bottom:15px}
  .reviews-quote-head>p{max-width:520px;margin-top:8px!important;text-align:left!important}
}
@media(max-width:620px){
  .reviews-section.reviews-quotes{margin-left:0!important;margin-right:0!important;padding:23px 13px 21px!important;border-radius:19px!important}
  .reviews-quote-head h2{font-size:27px!important}
  .reviews-quote-head>p{font-size:9px!important}
  .review-monument{padding:14px 14px 12px 16px;border-radius:15px!important}
  .review-monument-primary{margin-bottom:10px!important}
  .review-monument blockquote,.review-monument-secondary blockquote{font-size:15px!important;line-height:1.42!important}
  .review-monument-mark{font-size:62px;top:-10px}
  .review-signature{margin-top:9px;padding-top:8px}
  .flamp-source img{width:52px!important;height:18px!important}
  .reviews-quote-actions{justify-content:flex-start;flex-wrap:wrap;margin-top:12px}
}
@media(prefers-reduced-motion:reduce){
  .reviews-quotes:before,.reviews-quotes:after,.reviews-quote-kicker:before,.review-monument,.review-monument-mark{animation:none!important;transform:none!important}
}
