
  :root{
    --af-green:#253d36;
    --af-lime:#dafe70;
    --af-muted:#f5f7f2;
    --af-line:#d9e0da;
    --af-dim:#6b7a73;
  }
  .rv-wrap{font-family:Arial,Helvetica,sans-serif;color:var(--af-green);
           max-width:1080px;margin:0 auto;padding:0 20px 64px;box-sizing:border-box}
  .rv-wrap *{box-sizing:border-box}

  /* ---- hero ---- */
  .rv-hero{padding:56px 0 8px;border-bottom:1px solid var(--af-line);margin-bottom:32px}
  .rv-eyebrow{font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;
              color:var(--af-dim);margin:0 0 10px}
  .rv-hero h1{font-size:2.4rem;line-height:1.15;margin:0 0 12px;font-weight:700}
  .rv-hero p{font-size:1.05rem;line-height:1.6;max-width:62ch;margin:0 0 28px;color:#3b4f47}

  /* ---- average ---- */
  .rv-average{display:flex;align-items:center;gap:14px;flex-wrap:wrap;
              background:var(--af-muted);border-radius:8px;padding:16px 20px;margin-bottom:34px}
  .rv-average[hidden]{display:none}
  .rv-score{font-size:2rem;font-weight:700;line-height:1}
  .rv-stars-lg{font-size:1.4rem;letter-spacing:.1em;color:var(--af-green)}
  .rv-count{color:var(--af-dim);font-size:.92rem}

  /* ---- layout ---- */
  .rv-cols{display:grid;grid-template-columns:1.25fr 1fr;gap:40px;align-items:start}
  .rv-section-title{font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;
                    color:var(--af-dim);margin:0 0 16px}

  /* ---- review cards ---- */
  .rv-list{display:flex;flex-direction:column;gap:14px;margin:0;padding:0;list-style:none}
  .rv-card{background:#fff;border:1px solid var(--af-line);border-radius:8px;padding:18px 20px}
  .rv-card-top{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;margin-bottom:8px}
  .rv-name{font-weight:700}
  .rv-city,.rv-date{color:var(--af-dim);font-size:.85rem}
  .rv-stars{color:var(--af-green);letter-spacing:.08em;font-size:.95rem}
  .rv-text{margin:0;line-height:1.62;white-space:pre-wrap;overflow-wrap:anywhere}

  .rv-empty{background:var(--af-muted);border-radius:8px;padding:28px 24px;text-align:center}
  .rv-empty h3{margin:0 0 8px;font-size:1.15rem}
  .rv-empty p{margin:0;color:var(--af-dim);line-height:1.6}
  .rv-status{color:var(--af-dim);font-size:.92rem;margin:0}

  /* ---- form ---- */
  .rv-form-box{background:var(--af-muted);border-radius:8px;padding:24px;position:sticky;top:20px}
  .rv-form-box h2{font-size:1.3rem;margin:0 0 6px}
  .rv-form-box .rv-lede{margin:0 0 20px;color:var(--af-dim);font-size:.92rem;line-height:1.55}
  .rv-field{margin-bottom:16px}
  .rv-field label{display:block;font-size:.85rem;font-weight:700;margin-bottom:6px}
  .rv-opt{font-weight:400;color:var(--af-dim)}
  .rv-field input[type=text],
  .rv-field input[type=email],
  .rv-field textarea{width:100%;font:inherit;font-size:.95rem;padding:10px 12px;
      border:1px solid var(--af-line);border-radius:3px;background:#fff;color:var(--af-green)}
  .rv-field textarea{min-height:130px;resize:vertical;line-height:1.55}
  .rv-field input:focus,.rv-field textarea:focus{outline:2px solid var(--af-green);outline-offset:1px}

  /* star radio group */
  .rv-rating{display:flex;gap:4px;direction:rtl;justify-content:flex-end}
  .rv-rating input{position:absolute;opacity:0;width:1px;height:1px}
  .rv-rating label{font-size:1.9rem;line-height:1;cursor:pointer;color:#c3cdc5;
                   margin:0;transition:color .12s}
  .rv-rating input:checked ~ label,
  .rv-rating label:hover,
  .rv-rating label:hover ~ label{color:var(--af-green)}
  .rv-rating input:focus-visible + label{outline:2px solid var(--af-green);outline-offset:2px}

  /* honeypot — hidden from humans, visible to bots */
  .rv-hp{position:absolute!important;left:-9999px!important;width:1px!important;
         height:1px!important;overflow:hidden!important}

  .rv-submit{background:var(--af-green);color:var(--af-lime);border:0;border-radius:3px;
             font:inherit;font-weight:700;font-size:.95rem;padding:13px 26px;cursor:pointer;width:100%}
  .rv-submit:hover{background:#1c2f2a}
  .rv-submit:disabled{opacity:.6;cursor:default}
  .rv-note{font-size:.8rem;color:var(--af-dim);margin:12px 0 0;line-height:1.5}

  .rv-msg{border-radius:3px;padding:12px 14px;margin:0 0 16px;font-size:.92rem;line-height:1.5}
  .rv-msg[hidden]{display:none}
  .rv-msg.is-ok{background:var(--af-lime);color:var(--af-green)}
  .rv-msg.is-err{background:#f6e2e2;color:#8a1f1f}
  .rv-err{display:block;color:#8a1f1f;font-size:.82rem;margin-top:5px}

  .rv-thanks{background:#fff;border:1px solid var(--af-line);border-radius:8px;
             padding:28px 24px;text-align:center}
  .rv-thanks h2{margin:0 0 10px;font-size:1.25rem}
  .rv-thanks p{margin:0;color:var(--af-dim);line-height:1.6}

  @media (max-width:900px){
    .rv-cols{grid-template-columns:1fr;gap:34px}
    .rv-form-box{position:static}
    .rv-hero{padding-top:34px}
    .rv-hero h1{font-size:1.9rem}
  }
