/* Легче — страница «Отзывы» (reviews.html). Подключается после styles.css, header-v2.css, ui-v2.css. Префикс rv-. */

.rv-hero{position:relative;overflow:hidden;min-height:340px;display:flex;align-items:center;background:linear-gradient(180deg,#fbf8f1 0%,#f6f2e6 100%)}
.rv-hero-img{position:absolute;top:0;bottom:0;right:0;width:min(56%,780px)}
.rv-hero-img img{display:block;width:100%;height:100%;object-fit:cover;object-position:62% 10%}
.rv-hero-img::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#f9f6ec 0%,rgba(249,246,236,.88) 12%,rgba(249,246,236,0) 52%)}
.rv-branch{position:absolute;left:-22px;top:-14px;width:130px;height:170px;color:#8fb94a;opacity:.5;transform:rotate(-28deg);pointer-events:none;z-index:1}
.rv-hero-in{position:relative;z-index:2;padding:48px 0 56px}
.rv-hero-copy{max-width:560px}
.rv-pill{display:inline-block;margin:0 0 20px;padding:9px 17px;border-radius:12px;background:#e4ecd0;color:#3f6120;font:600 15px/1 var(--sans)}
.rv-hero h1{margin:0 0 14px;font:700 clamp(36px,4.2vw,56px)/1.08 var(--serif);color:var(--g-dark);letter-spacing:-.015em;text-wrap:balance}
.rv-lead{margin:0;max-width:440px;font-size:18px;line-height:1.55;color:var(--text)}

.rv-body{padding:46px 0 22px;background:var(--cream)}

/* Пока отзывов нет: одна большая карточка вместо сетки */
.rv-empty{position:relative;overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:320px;padding:56px 28px;text-align:center;border:1px solid var(--line);border-radius:30px;background:linear-gradient(160deg,#fffdf8 0%,#f7faeb 100%);box-shadow:0 10px 30px rgba(40,60,20,.06)}
.rv-empty>*{position:relative;z-index:1}
.rv-empty-ico{display:grid;place-items:center;width:68px;height:68px;margin:0 0 20px;border-radius:50%;background:var(--g-soft);color:var(--g)}
.rv-empty-ico svg{width:30px;height:30px;fill:currentColor}
.rv-empty h2{margin:0 0 12px;font:700 clamp(30px,3.6vw,46px)/1.15 var(--serif);color:var(--g-dark);letter-spacing:-.012em;text-wrap:balance}
.rv-empty p{margin:0;max-width:520px;font-size:17px;line-height:1.6;color:var(--muted)}
.rv-empty .branch{position:absolute;z-index:0;color:#a9c96a;pointer-events:none}
.rv-empty .branch.l{left:-26px;bottom:-34px;width:120px;height:160px;opacity:.32;transform:rotate(-12deg) scaleX(-1)}
.rv-empty .branch.r{right:-18px;bottom:-30px;width:130px;height:172px;opacity:.4;transform:rotate(14deg)}

/* Карточки настоящих отзывов (когда появятся): три колонки → две → одна */
.rv-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.rv-card{position:relative;overflow:hidden;margin:0;padding:22px 22px 30px;border:1px solid var(--line);border-radius:26px;background:var(--card);box-shadow:0 8px 24px rgba(40,60,20,.05)}
.rv-card-top{display:flex;align-items:center;gap:14px;margin:0 0 14px}
.rv-ava{flex:none;display:grid;place-items:center;width:56px;height:56px;border-radius:50%;background:var(--g-soft);color:var(--g-dark);font:700 22px/1 var(--serif)}
.rv-card-top strong{flex:1;min-width:0;font:700 20px/1.2 var(--serif);color:var(--g-dark)}
.rv-q{flex:none;width:26px;height:26px;fill:var(--g);opacity:.85}
.rv-card blockquote{margin:0;font-size:16.5px;line-height:1.6;color:#37442c}

.rv-cta{grid-template-columns:minmax(0,1fr) auto}
.rv-cta h2{font-size:clamp(28px,3.2vw,42px)}
.rv-cta-btns{display:flex;flex-wrap:wrap;gap:14px;position:relative;z-index:2}
.rv-ghost{background:transparent;color:#fff;border:1.5px solid rgba(255,255,255,.78)}
.rv-ghost:hover{background:rgba(255,255,255,.14)}

@media(max-width:1100px){
  .rv-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .rv-cta{grid-template-columns:1fr;row-gap:22px}
  .rv-cta .rv-cta-btns{grid-column:1;grid-row:auto;justify-self:stretch}
}
@media(max-width:900px){
  .rv-hero{flex-direction:column;align-items:stretch;min-height:0}
  .rv-hero-img{position:relative;order:2;width:100%;height:230px}
  .rv-hero-img::after{background:linear-gradient(180deg,#f9f6ec 0%,rgba(249,246,236,0) 55%)}
  .rv-branch{width:92px;height:122px;left:-26px;top:-22px;opacity:.38}
  .rv-hero-in{padding:34px 0 8px}
  .rv-body{padding-top:32px}
}
@media(max-width:600px){
  .rv-hero h1{font-size:34px}
  .rv-lead{font-size:16.5px}
  .rv-grid{grid-template-columns:minmax(0,1fr)}
  .rv-empty{min-height:260px;padding:44px 20px 64px;border-radius:26px}
  .rv-empty .branch.l{width:84px;height:112px;left:-22px;bottom:-34px}
  .rv-empty .branch.r{width:92px;height:122px;right:-16px;bottom:-34px}
  .rv-empty p{font-size:16px}
  .rv-cta-btns .h-btn{flex:1 1 100%}
}
