

.jf-reviews-pro {
  --accent:    #b5823a;
  --accent-dk: #8c6222;
  --accent-lt: rgba(181,130,58,.10);
  --bg:        #f0e9de;
  --bg-card:   #faf7f2;
  --border:    rgba(181,130,58,.16);
  --border-hv: rgba(181,130,58,.42);
  --text-h:    #2b1d0e;
  --text-body: #5a4733;
  --text-muted:#9d8872;
  --star:      #c8881f;
  --radius:    20px;
  padding: 96px 24px 108px;
  background: var(--bg);
  font-family: var(--floens-font, system-ui, sans-serif);
  position: relative;
  overflow: hidden;
}
.jf-reviews-pro::after {
  content: '';
  position: absolute;
  width: 700px; height: 700px;
  top: -250px; right: -180px;
  background: radial-gradient(circle, rgba(181,130,58,.10) 0%, transparent 65%);
  pointer-events: none;
  z-index: 0;
}
.jf-reviews-pro__wrap {
  max-width: 1160px;
  margin: 0 auto;
  text-align: center;
  position: relative;
  z-index: 1;
}

/* Google hero */
.jf-google-hero { margin-bottom: 36px; display: flex; flex-direction: column; align-items: center; }
.jf-google-hero-ring {
  display: inline-flex; align-items: center; justify-content: center;
  position: relative; width: 110px; height: 110px;
}
.jf-google-hero-ring::before,.jf-google-hero-ring::after {
  content: ''; position: absolute; border-radius: 50%;
  border: 1.5px solid rgba(181,130,58,.22);
  animation: jfRing 3.2s ease-in-out infinite;
}
.jf-google-hero-ring::before { inset: 0; }
.jf-google-hero-ring::after  { inset: -14px; animation-delay: .7s; border-color: rgba(181,130,58,.09); }
@keyframes jfRing{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(1.06);opacity:.4}}
.jf-g-circle {
  width: 78px; height: 78px; border-radius: 50%;
  background: var(--bg-card); border: 1.5px solid var(--border);
  box-shadow: 0 6px 24px rgba(181,130,58,.14);
  display: flex; align-items: center; justify-content: center;
  position: relative; z-index: 1;
}
.jf-g-circle svg { width: 42px; height: 42px; }
.jf-g-circle svg path { opacity: 0; animation: jfGPath .5s cubic-bezier(.22,1,.36,1) forwards; }
.jf-g-circle svg path:nth-child(1){animation-delay:.15s}
.jf-g-circle svg path:nth-child(2){animation-delay:.28s}
.jf-g-circle svg path:nth-child(3){animation-delay:.41s}
.jf-g-circle svg path:nth-child(4){animation-delay:.54s}
@keyframes jfGPath{from{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}
.jf-google-label {
  margin-top: 10px; font-size: 11px; font-weight: 700;
  letter-spacing: .14em; text-transform: uppercase;
  color: var(--text-muted); opacity: 0;
  animation: jfFadeUp .5s .7s forwards;
}
@keyframes jfFadeUp{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}

/* Header */
.jf-reviews-pro__header { margin-bottom: 56px; }
.jf-header-stars { display: flex; align-items: center; justify-content: center; gap: 4px; margin-bottom: 22px; }
.jf-header-stars .s {
  color: var(--star); font-size: 22px; line-height: 1;
  opacity: 0; animation: jfStarPop .4s cubic-bezier(.34,1.56,.64,1) forwards;
}
.jf-header-stars .s:nth-child(1){animation-delay:.72s}
.jf-header-stars .s:nth-child(2){animation-delay:.80s}
.jf-header-stars .s:nth-child(3){animation-delay:.88s}
.jf-header-stars .s:nth-child(4){animation-delay:.96s}
.jf-header-stars .s:nth-child(5){animation-delay:1.04s}
@keyframes jfStarPop{from{opacity:0;transform:scale(0) rotate(-20deg)}to{opacity:1;transform:scale(1) rotate(0)}}
.jf-header-stars .rt {
  margin-left:10px; font-size:13px; font-weight:600;
  color:var(--text-muted); letter-spacing:.05em; text-transform:uppercase;
  opacity:0; animation: jfFadeUp .5s 1.1s forwards;
}
.jf-reviews-pro__header h2 {
  font-family: var(--floens-font, Georgia, serif);
  font-size: clamp(2rem,5vw,2.9rem); font-weight: 700;
  color: var(--text-h); margin: 0 0 14px; line-height: 1.2;
  opacity: 0; animation: jfFadeUp .65s .85s forwards;
}
.jf-reviews-pro__header h2 em { font-style: italic; color: var(--accent); }
.jf-reviews-pro__header p {
  font-size: 16px; color: var(--text-muted); font-weight: 300;
  margin: 0 auto; max-width: 400px; line-height: 1.65;
  opacity: 0; animation: jfFadeUp .65s 1s forwards;
}
.jf-ornament {
  display: flex; align-items: center; justify-content: center;
  gap: 10px; margin: 26px auto 0; max-width: 180px;
  opacity: 0; animation: jfFadeUp .5s 1.1s forwards;
}
.jf-ornament::before,.jf-ornament::after { content:''; flex:1; height:1px; background:var(--accent); opacity:.3; }
.jf-ornament span { color:var(--accent); font-size:12px; opacity:.55; }

/* Grid */
.jf-reviews-pro__grid { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; margin-bottom:64px; }
@media(max-width:960px){.jf-reviews-pro__grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:580px){.jf-reviews-pro__grid{grid-template-columns:1fr}}

/* Card */
.jf-review-card {
  background:var(--bg-card); border:1px solid var(--border); border-radius:var(--radius);
  padding:32px 28px 26px; text-align:left; position:relative; overflow:hidden;
  box-shadow:0 2px 14px rgba(91,63,30,.05);
  opacity:0; animation: jfCardIn .55s cubic-bezier(.22,1,.36,1) forwards;
  transition:transform .3s cubic-bezier(.22,1,.36,1), border-color .3s, box-shadow .3s;
}
.jf-review-card:nth-child(1){animation-delay:1.1s}
.jf-review-card:nth-child(2){animation-delay:1.18s}
.jf-review-card:nth-child(3){animation-delay:1.26s}
.jf-review-card:nth-child(4){animation-delay:1.34s}
.jf-review-card:nth-child(5){animation-delay:1.42s}
.jf-review-card:nth-child(6){animation-delay:1.50s}
.jf-review-card:nth-child(7){animation-delay:1.58s}
.jf-review-card:nth-child(8){animation-delay:1.66s}
.jf-review-card:nth-child(9){animation-delay:1.74s}
@keyframes jfCardIn{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
.jf-review-card::after {
  content:''; position:absolute; top:0; left:24px; right:24px;
  height:2px; background:linear-gradient(to right,transparent,var(--accent),transparent);
  border-radius:0 0 2px 2px; opacity:0; transition:opacity .3s;
}
.jf-review-card:hover::after{opacity:1}
.jf-review-card::before {
  content:'\201C'; position:absolute; top:0; right:16px;
  font-family: var(--floens-font, serif); font-size:88px; line-height:1;
  color:rgba(181,130,58,.07); pointer-events:none;
}
.jf-review-card:hover{transform:translateY(-6px);border-color:var(--border-hv);box-shadow:0 18px 48px rgba(91,63,30,.12),0 3px 8px rgba(91,63,30,.06)}
.jf-review-card .stars{display:flex;gap:3px;margin-bottom:14px}
.jf-review-card .stars span{color:var(--star);font-size:15px}
.jf-review-card .text{font-size:15px;line-height:1.68;color:var(--text-body);font-weight:300;margin:0 0 24px}
.jf-review-card .author-row{display:flex;align-items:center;gap:11px}
.jf-review-card .author-avatar{
  width:38px;height:38px;border-radius:50%;background:var(--accent-lt);
  border:1.5px solid rgba(181,130,58,.3);display:flex;align-items:center;justify-content:center;
  font-size:12px;font-weight:700;color:var(--accent-dk);flex-shrink:0;
}
.jf-review-card .author{font-size:14px;font-weight:600;color:var(--text-h)}

/* CTA */
.jf-reviews-pro__cta{display:flex;flex-direction:column;align-items:center;opacity:0;animation:jfFadeUp .7s 1.9s forwards}
.jf-cta-inner{
  background:var(--bg-card);border:1px solid var(--border);border-radius:28px;
  padding:48px 56px;max-width:620px;width:100%;
  box-shadow:0 4px 32px rgba(91,63,30,.07);position:relative;overflow:hidden;
}
.jf-cta-inner::before{
  content:'';position:absolute;inset:0;
  background:linear-gradient(145deg,rgba(181,130,58,.05) 0%,transparent 55%);
  pointer-events:none;border-radius:28px;
}
.jf-cta-inner::after{
  content:'';position:absolute;top:0;left:20%;right:20%;height:2px;
  background:linear-gradient(to right,transparent,var(--accent),transparent);
}
.jf-cta-inner h3{
  font-family: var(--floens-font, serif);font-size:1.65rem;font-weight:700;
  color:var(--text-h);margin-bottom:10px;line-height:1.25;position:relative;
}
.jf-cta-inner h3 em{font-style:italic;color:var(--accent)}
.jf-cta-inner > p{
  font-size:15px;color:var(--text-muted);font-weight:300;
  line-height:1.65;margin-bottom:30px;position:relative;
}
.jf-review-btn{
  display:inline-flex;align-items:center;gap:12px;background:var(--accent);
  color:#fff!important;text-decoration:none!important;padding:17px 38px;
  border-radius:100px;font-family: var(--floens-font, sans-serif);font-size:14px;font-weight:700;
  letter-spacing:.09em;text-transform:uppercase;
  box-shadow:0 6px 28px rgba(181,130,58,.38);
  transition:transform .22s cubic-bezier(.22,1,.36,1),box-shadow .22s,background .22s;
}
.jf-review-btn:hover{transform:scale(1.05) translateY(-2px);box-shadow:0 12px 38px rgba(181,130,58,.48);background:var(--accent-dk);text-decoration:none!important}
.jf-review-btn .gicon{
  width:24px;height:24px;border-radius:50%;background:#fff;padding:3px;
  flex-shrink:0;display:flex;align-items:center;justify-content:center;
}
.jf-review-btn .gicon svg{width:100%;height:100%}
.jf-cta-note{display:flex;align-items:center;gap:5px;margin-top:16px;font-size:12px;color:var(--text-muted);font-weight:300;position:relative}

@media(max-width:640px){.jf-cta-inner{padding:36px 24px}}
