:root{
  --rf-green-1:#0f7a4c;
  --rf-green-2:#004325;
  --rf-green-3:#002214;

  --rf-gold:#d6b36b;
  --rf-ink:rgba(15,17,21,.92);
  --rf-muted:rgba(15,17,21,.62);
  --rf-line:rgba(15,17,21,.12);

  --rf-white:#ffffff;
  --rf-paper:#fbfbf9;

  --rf-shadow: 0 22px 60px rgba(0,0,0,.20);
  --rf-shadow2: 0 16px 40px rgba(0,0,0,.12);
  --rf-radius: 34px;
}

.rf-points{
  background:#fff;
  color:var(--rf-ink);
  font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji","Segoe UI Emoji";
}

/* =========================
   HERO Green Banner
========================= */
.rf-hero{
  background: radial-gradient(circle at 50% -25%, #0d6e44 0, #003b21 36%, #002214 100%);
  padding: 80px 18px 0;
}

.rf-hero-inner{
  max-width: 980px;
  margin: 0 auto;
  text-align: center !important;
  color: rgba(255,255,255,.92);
  padding-bottom: clamp(42px, 6vw, 78px);
}

.rf-pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:10px 18px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.22);
  background:rgba(0,0,0,.12);
  letter-spacing:.28em;
  text-transform:uppercase;
  font-size:12px;
  font-weight:650;
  margin-bottom:20px;
  backdrop-filter: blur(6px);
}

.rf-title{
  margin:0;
  font-weight:900;
  letter-spacing:.01em;
  font-size: clamp(36px, 5.2vw, 66px);
  line-height:1.06;
}

.rf-title-accent{
  display:inline-block;
  margin-left:10px;
  color:var(--rf-gold);
  font-style:italic;
  font-weight:900;
}

.rf-hero-text{
  display:block;
  width:100%;
  max-width:64ch;
  margin:18px auto 0 !important;
  padding:0 !important;
  text-indent:0 !important;
  text-align:center !important;
  letter-spacing:0 !important;

  line-height:1.9;
  color:rgba(255,255,255,.84);
  font-size:16px;
  text-wrap: balance;

  margin-left:auto !important;
  margin-right:auto !important;
}

.rf-hero-text span{
  display:block;
  margin:0 !important;
  padding:0 !important;
}

/* =========================
   White Card Overlap
========================= */
.rf-card-wrap{
  max-width:1180px;
  margin:0 auto;
  transform: translateY(28px);
  padding-bottom:56px;
}

.rf-card{
  background:#fbfaf6;
  border-radius:var(--rf-radius);
  box-shadow:var(--rf-shadow);
  border:1px solid rgba(255,255,255,.35);
  overflow:hidden;
}

.rf-card-top{
  padding: 34px 54px 18px;
  text-align:center;
  background: transparent;
}

.rf-card-title{
  margin:0;
  font-size: clamp(26px, 3vw, 38px);
  letter-spacing:.01em;
  font-weight:900;
  color:rgba(15,17,21,.92);
}

/* =========================
   Grid
========================= */
.rf-grid{
  display:grid;
  grid-template-columns: 1.22fr .92fr;
  gap:0;
}

.rf-col{
  padding: clamp(22px, 3.6vw, 44px) clamp(22px, 3.8vw, 54px);
  background: transparent;
}

.rf-col:first-child{
  border-right:1px solid rgba(15,17,21,.10);
}

.rf-col-accent{
  background: transparent;
}

/* =========================
   Section Headings
========================= */
.rf-h3{
  margin:0 0 14px 0;
  font-size:13px;
  letter-spacing:.26em;
  text-transform:uppercase;
  font-weight:900;
  color:rgba(15,17,21,.86);
  border-bottom:none;
  padding-bottom:0;
}

/* =========================
   Card Blocks
========================= */
.rf-block{
  background:#ffffff;
  border:1px solid rgba(15,17,21,.10);
  border-radius:18px;
  padding:18px 18px 16px;
  box-shadow: 0 10px 26px rgba(0,0,0,.06);
  position:relative;
  overflow:hidden;
  margin-bottom:18px;
}

.rf-block::before{
  content:"";
  position:absolute;
  width:76px;
  height:76px;
  border-radius:999px;
  top:-34px;
  left:-34px;
  background: radial-gradient(circle, rgba(214,179,107,.45) 0, transparent 70%);
  opacity:.65;
}

/* Order cancellation note block */
.rf-note-block{
  border-color: rgba(214,179,107,.38);
  background: rgba(214,179,107,.08);
}

.rf-note-block::before{
  background: radial-gradient(circle, rgba(15,122,76,.22) 0, transparent 70%);
}

.rf-divider{
  display:none !important;
}

.rf-h4{
  margin:0 0 10px 0;
  font-size:17px;
  font-weight:850;
  letter-spacing:.01em;
  color:rgba(15,17,21,.92);
}

/* =========================
   Lists
========================= */
.rf-list{
  margin:0;
  padding-left:20px;
  line-height:1.85;
  font-size:14.5px;
  color:rgba(15,17,21,.68);
}

.rf-list li{
  margin:8px 0;
}

.rf-list li::marker{
  color:rgba(15,17,21,.35);
}

.rf-list strong{
  color:rgba(15,17,21,.92);
  font-weight:900;
}

.rf-muted{
  color:rgba(15,17,21,.54);
}

/* =========================
   Terms
========================= */
.rf-terms{
  margin-top: 6px;
  padding: 0;
  border-top: none;
}

.rf-terms-title{
  font-size:12px;
  letter-spacing:.26em;
  text-transform:uppercase;
  color:rgba(15,17,21,.55);
  font-weight:800;
  margin: 18px 0 10px;
}

.rf-terms-list{
  margin:0;
  padding:16px 18px 14px 20px;
  line-height:1.78;
  font-size:13.5px;
  color:rgba(15,17,21,.64);
  background:#ffffff;
  border:1px solid rgba(15,17,21,.10);
  border-radius:18px;
  box-shadow: 0 10px 26px rgba(0,0,0,.05);
}

/* =========================
   Footer Badge
========================= */
.rf-footer{
  padding: 12px clamp(22px, 3.8vw, 54px) 30px;
  border-top:1px solid rgba(15,17,21,.08);
  display:flex;
  justify-content:center;
  background: transparent;
}

.rf-badge{
  display:inline-flex;
  align-items:center;
  padding:10px 16px;
  border-radius:999px;
  border:1px solid rgba(15,17,21,.14);
  background: rgba(214,179,107,.10);
  color: rgba(15,17,21,.86);
  letter-spacing:.18em;
  text-transform:uppercase;
  font-size:11px;
  font-weight:800;
}

/* =========================
   Trustpilot Link Styling
========================= */
.rf-list a{
  color: var(--rf-green-1);
  text-decoration: underline;
  text-underline-offset: 3px;
  font-weight: 900;
}

.rf-list a:hover{
  color: var(--rf-green-2);
  text-decoration-thickness: 2px;
}

/* =========================
   Responsive
========================= */
@media (max-width: 900px){
  .rf-grid{
    grid-template-columns:1fr;
  }

  .rf-col:first-child{
    border-right:none;
    border-bottom:1px solid rgba(15,17,21,.10);
  }

  .rf-card-wrap{
    transform: translateY(18px);
  }

  .rf-card-top{
    padding: 28px 20px 14px;
  }

  .rf-block{
    padding:16px 16px 14px;
  }
}

@media (max-width: 720px){
  .rf-hero{
    padding: 64px 18px 0;
  }

  .rf-hero-text{
    max-width:44ch;
    font-size:15px;
    line-height:1.85;
  }
}

@media (max-width: 420px){
  .rf-pill{
    padding:9px 14px;
    letter-spacing:.22em;
  }

  .rf-title-accent{
    margin-left:0;
  }
}