/* FrankiHolz: verified guest voices in the hero.
   Remains completely hidden until an admin supplies attributed reviews. */
.fh-hero-grid.fh-reviews-empty{grid-template-columns:minmax(0,1fr)}
.fh-hero-grid.fh-reviews-empty .hero-content{max-width:840px}
.fh-hero-grid.fh-reviews-empty h1{max-width:15ch}
.fh-hero-reviews[hidden]{display:none!important}
.fh-hero-reviews{
  display:flex;flex-direction:column;align-self:end;min-width:0;
  color:#fff;border:1px solid rgba(255,255,255,.28);
  border-radius:23px;
  padding:clamp(24px,2.6vw,34px);
  background:linear-gradient(145deg,rgba(15,51,60,.85),rgba(25,76,78,.76));
  backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);
  box-shadow:0 25px 70px rgba(0,15,22,.24);
}
.fh-review-top{display:flex;align-items:start;justify-content:space-between;gap:14px}
.fh-review-eyebrow{font-size:10px;font-weight:800;letter-spacing:.135em;line-height:1.6;color:#b6e9d3}
.fh-review-quote-mark{color:#a8dfc7;font-family:Georgia,serif;font-size:72px;line-height:.75;opacity:.7}
.fh-review-heading{font-size:clamp(19px,2vw,24px)!important;line-height:1.25!important;font-weight:800;letter-spacing:-.025em;margin:15px 0 21px!important;color:#fff!important}
.fh-review-slide{min-height:210px;display:flex;flex-direction:column;justify-content:space-between;gap:22px}
.fh-review-quote{font-size:clamp(17px,1.9vw,22px);font-weight:700;line-height:1.58;letter-spacing:-.02em;margin:0;color:#fff;overflow-wrap:anywhere}
.fh-review-attribution{display:flex;flex-direction:column;gap:6px}
.fh-review-author{color:#e5f5ed;font-size:13px;font-weight:800}
.fh-review-attribution a{color:#bcead6;font-size:12px;line-height:1.4;text-decoration:underline;text-decoration-color:rgba(188,234,214,.55);text-underline-offset:4px;width:fit-content}
.fh-review-attribution a:hover{color:#fff}
.fh-review-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid rgba(255,255,255,.23);padding-top:18px;margin-top:24px}
.fh-review-progress{font-size:11px;font-weight:800;letter-spacing:.15em;color:#cbe5da;font-variant-numeric:tabular-nums}
.fh-review-controls{display:flex;align-items:center;gap:8px}
.fh-review-arrow{width:38px;height:38px;display:grid;place-items:center;cursor:pointer;border-radius:50%;border:1px solid rgba(255,255,255,.3);background:rgba(255,255,255,.10);color:#fff;font:inherit;font-weight:800;font-size:18px;transition:background .2s,border-color .2s,transform .2s}
.fh-review-arrow:hover{background:rgba(255,255,255,.22);border-color:rgba(255,255,255,.6);transform:translateY(-1px)}
.fh-review-arrow:focus-visible{outline:3px solid #a2e6be;outline-offset:3px}
.fh-review-arrow:disabled{opacity:.35;cursor:default;transform:none}
@media(prefers-reduced-motion:no-preference){
  .fh-review-slide.fh-review-enter{animation:fhReviewEnter .34s ease both}
  @keyframes fhReviewEnter{from{opacity:.3;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}
}
@media(max-width:900px){
  .fh-hero-reviews{width:100%;max-width:620px;justify-self:start;align-self:start}
  .fh-review-slide{min-height:160px}
}
@media(max-width:600px){
  .fh-hero-reviews{padding:24px;border-radius:18px}
  .fh-review-heading{font-size:19px!important;margin-bottom:16px!important}
  .fh-review-slide{min-height:unset}
  .fh-review-quote{font-size:17px}
  .fh-review-quote-mark{font-size:60px}
}
@media(prefers-reduced-motion:reduce){
  .fh-review-slide{animation:none!important}
  .fh-review-arrow{transition:none!important}
}
