
.rf-cost-blog {
  --rf-primary:#0c4f96;
  --rf-primary-dark:#073568;
  --rf-primary-light:#eaf4ff;
  --rf-accent:#1e82d1;
  --rf-cyan:#19a0ba;
  --rf-bg:#f7fbff;
  --rf-card:#ffffff;
  --rf-text:#44556a;
  --rf-title:#15273b;
  --rf-muted:#708094;
  --rf-line:#dce8f4;
  --rf-success:#158367;
  --rf-warning:#b96b0c;
  --rf-shadow:0 14px 36px rgba(11,66,116,.09);

  max-width:1180px;
  margin:0 auto;
  color:var(--rf-text);
  font-family:Arial,Helvetica,sans-serif;
  line-height:1.72;
  box-sizing:border-box;
}

.rf-cost-blog *,
.rf-cost-blog *::before,
.rf-cost-blog *::after {
  box-sizing:border-box;
}

.rf-cost-blog img {
  display:block;
  width:100%;
  max-width:100%;
  height:auto;
}

.rf-cost-blog a {
  color:var(--rf-primary);
  text-decoration:none;
}

.rf-cost-blog a:hover {
  text-decoration:underline;
}

.rf-cost-blog h2,
.rf-cost-blog h3,
.rf-cost-blog h4 {
  margin-top:0;
  color:var(--rf-title);
}

.rf-cost-blog h2 {
  margin-bottom:18px;
  font-size:34px;
  line-height:1.26;
}

.rf-cost-blog h3 {
  margin-bottom:10px;
  font-size:22px;
  line-height:1.35;
}

.rf-cost-blog p {
  margin:0 0 18px;
}

.rf-section {
  padding:62px 28px;
}

.rf-container {
  max-width:1080px;
  margin:0 auto;
}

.rf-center {
  text-align:center;
}

.rf-eyebrow {
  display:inline-block;
  margin-bottom:13px;
  color:var(--rf-accent);
  font-size:13px;
  line-height:1;
  font-weight:800;
  letter-spacing:1.4px;
  text-transform:uppercase;
}

.rf-lead {
  max-width:850px;
  margin-left:auto !important;
  margin-right:auto !important;
  color:#586a7f;
  font-size:17px;
  line-height:1.8;
}

/* HERO */

.rf-hero {
  position:relative;
  overflow:hidden;
  padding:66px 34px;
  border:1px solid #dbeaf8;
  border-radius:26px;
  background:
    radial-gradient(circle at 90% 10%,rgba(30,130,209,.17),transparent 31%),
    linear-gradient(135deg,#f1f8ff 0%,#ffffff 52%,#edf7ff 100%);
}

.rf-hero-inner {
  max-width:960px;
  margin:0 auto;
  text-align:center;
}

.rf-hero-badge {
  display:inline-block;
  margin-bottom:20px;
  padding:8px 16px;
  color:var(--rf-primary);
  background:#dff0ff;
  border-radius:999px;
  font-size:13px;
  font-weight:800;
}

/*
If your blog CMS automatically displays the article title as H1,
keep this element as H2.
*/

.rf-hero-title {
  max-width:920px;
  margin:0 auto 20px;
  color:#102a46;
  font-size:46px;
  line-height:1.14;
  font-weight:800;
}

.rf-hero-title span {
  color:var(--rf-primary);
}

.rf-hero-desc {
  max-width:850px;
  margin:0 auto 24px !important;
  color:#55687d;
  font-size:18px;
}

.rf-updated {
  color:#78889a;
  font-size:13px;
}

/* QUICK ANSWER */

.rf-quick-answer {
  margin-top:30px;
  padding:32px;
  color:#fff;
  background:
    radial-gradient(circle at 90% 10%,rgba(92,184,241,.28),transparent 34%),
    linear-gradient(135deg,var(--rf-primary-dark),var(--rf-primary));
  border-radius:20px;
  box-shadow:var(--rf-shadow);
}

.rf-quick-answer h3 {
  margin-bottom:10px;
  color:#fff;
}

.rf-quick-answer p {
  margin:0;
  color:#e8f4ff;
  font-size:16px;
}

/* SUMMARY CARDS */

.rf-summary-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:16px;
  margin-top:28px;
}

.rf-summary-card {
  padding:24px 18px;
  text-align:center;
  background:#fff;
  border:1px solid var(--rf-line);
  border-radius:15px;
  box-shadow:0 7px 20px rgba(11,66,116,.04);
}

.rf-summary-value {
  display:block;
  margin-bottom:6px;
  color:var(--rf-primary);
  font-size:25px;
  font-weight:800;
}

.rf-summary-label {
  display:block;
  color:#687a8e;
  font-size:13px;
  line-height:1.5;
}

/* SOFT SECTION */

.rf-soft {
  background:var(--rf-bg);
  border-radius:25px;
}

/* TABLE */

.rf-table-wrap {
  overflow-x:auto;
  margin:30px 0;
  border:1px solid var(--rf-line);
  border-radius:16px;
  box-shadow:0 7px 22px rgba(11,66,116,.04);
}

.rf-table {
  width:100%;
  min-width:780px;
  border-collapse:collapse;
  background:#fff;
}

.rf-table th,
.rf-table td {
  padding:17px 18px;
  border-bottom:1px solid #e6eef6;
  text-align:left;
  vertical-align:top;
}

.rf-table th {
  color:#24425f;
  background:#edf7ff;
  font-size:14px;
}

.rf-table tr:last-child td {
  border-bottom:0;
}

.rf-price {
  color:var(--rf-primary);
  font-weight:800;
}

/* NOTE */

.rf-note {
  padding:19px 21px;
  color:#56697c;
  background:#f5faff;
  border-left:4px solid var(--rf-accent);
  border-radius:7px;
  font-size:14px;
}

/* CARDS */

.rf-grid-3 {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
  margin-top:30px;
}

.rf-grid-2 {
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:20px;
  margin-top:30px;
}

.rf-card {
  padding:27px 23px;
  background:#fff;
  border:1px solid var(--rf-line);
  border-radius:17px;
  box-shadow:0 8px 24px rgba(11,66,116,.05);
}

.rf-number {
  display:flex;
  align-items:center;
  justify-content:center;
  width:43px;
  height:43px;
  margin-bottom:16px;
  color:#fff;
  background:linear-gradient(135deg,var(--rf-primary),var(--rf-accent));
  border-radius:11px;
  font-weight:800;
}

.rf-card p {
  margin-bottom:0;
  font-size:14px;
}

/* FACTORS */

.rf-factor {
  padding:22px 0;
  border-bottom:1px solid var(--rf-line);
}

.rf-factor:last-child {
  border-bottom:0;
}

.rf-factor-title {
  margin-bottom:8px;
  color:var(--rf-title);
  font-size:20px;
  font-weight:800;
}

/* PRODUCT LINK */

.rf-product-box {
  overflow:hidden;
  margin:30px 0;
  padding:38px;
  color:#fff;
  background:
    radial-gradient(circle at 90% 10%,rgba(86,185,245,.26),transparent 32%),
    linear-gradient(135deg,#07386c,#0c68b5);
  border-radius:21px;
}

.rf-product-grid {
  display:grid;
  grid-template-columns:1.3fr .7fr;
  gap:32px;
  align-items:center;
}

.rf-product-box h2,
.rf-product-box h3 {
  color:#fff;
}

.rf-product-box p {
  color:#e0effb;
}

.rf-spec {
  display:block;
  margin:8px 0;
  color:#d5edff;
  font-size:14px;
}

.rf-btn {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:48px;
  margin-top:10px;
  padding:13px 23px;
  color:var(--rf-primary-dark) !important;
  background:#fff;
  border-radius:8px;
  font-weight:800;
  text-decoration:none !important;
}

.rf-btn:hover {
  background:#eef7ff;
}

/* CHECKLIST */

.rf-checklist {
  margin:20px 0;
  padding:0;
  list-style:none;
}

.rf-checklist li {
  position:relative;
  padding:9px 0 9px 30px;
}

.rf-checklist li::before {
  content:"✓";
  position:absolute;
  left:0;
  top:10px;
  width:20px;
  height:20px;
  color:#fff;
  background:var(--rf-success);
  border-radius:50%;
  font-size:11px;
  line-height:20px;
  text-align:center;
  font-weight:800;
}

/* ROI */

.rf-roi {
  padding:34px;
  background:#fff;
  border:2px solid #c9e3f6;
  border-radius:18px;
}

.rf-roi-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:15px;
  margin:25px 0;
}

.rf-roi-box {
  padding:21px 15px;
  text-align:center;
  background:#f2f9ff;
  border-radius:13px;
}

.rf-roi-number {
  display:block;
  color:var(--rf-primary);
  font-size:27px;
  font-weight:800;
}

.rf-roi-label {
  display:block;
  color:#697b8e;
  font-size:13px;
}

/* SAFETY */

.rf-safety {
  padding:30px;
  background:#fffaf2;
  border:1px solid #f0d9b8;
  border-radius:18px;
}

.rf-safety h3 {
  color:#70430b;
}

.rf-safety p {
  color:#6c5b45;
}

/* BUYING CHECKLIST */

.rf-buy-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px 32px;
  margin:25px 0;
  padding:0;
  list-style:none;
}

.rf-buy-grid li {
  position:relative;
  padding:11px 0 11px 29px;
  border-bottom:1px solid #e5edf5;
}

.rf-buy-grid li::before {
  content:"✓";
  position:absolute;
  left:0;
  color:var(--rf-primary);
  font-weight:900;
}

/* FAQ */

.rf-faq {
  max-width:900px;
  margin:30px auto 0;
}

.rf-faq details {
  margin-bottom:12px;
  background:#fff;
  border:1px solid var(--rf-line);
  border-radius:12px;
}

.rf-faq summary {
  position:relative;
  padding:19px 52px 19px 20px;
  color:#273e55;
  cursor:pointer;
  font-weight:800;
  list-style:none;
}

.rf-faq summary::-webkit-details-marker {
  display:none;
}

.rf-faq summary::after {
  content:"+";
  position:absolute;
  top:14px;
  right:20px;
  color:var(--rf-primary);
  font-size:26px;
}

.rf-faq details[open] summary::after {
  content:"−";
}

.rf-faq-answer {
  padding:0 20px 20px;
  color:#5d7083;
  font-size:14px;
}

/* AUTHOR */

.rf-author {
  display:flex;
  gap:20px;
  align-items:flex-start;
  padding:28px;
  background:#f7fbfe;
  border:1px solid var(--rf-line);
  border-radius:16px;
}

.rf-author-icon {
  flex:0 0 52px;
  width:52px;
  height:52px;
  color:#fff;
  background:var(--rf-primary);
  border-radius:50%;
  line-height:52px;
  text-align:center;
  font-weight:800;
}

/* FINAL CTA */

.rf-final {
  padding:52px 30px;
  color:#fff;
  text-align:center;
  background:
    radial-gradient(circle at 85% 10%,rgba(84,184,245,.29),transparent 32%),
    linear-gradient(135deg,#07386b,#0c68b4);
  border-radius:23px;
}

.rf-final h2 {
  color:#fff;
}

.rf-final p {
  max-width:760px;
  margin:0 auto 22px;
  color:#dceeff;
}

/* MOBILE */

@media (max-width:900px) {
  .rf-summary-grid,
  .rf-grid-3 {
    grid-template-columns:repeat(2,1fr);
  }

  .rf-product-grid {
    grid-template-columns:1fr;
  }

  .rf-hero-title {
    font-size:38px;
  }
}

@media (max-width:650px) {
  .rf-section {
    padding:46px 16px;
  }

  .rf-hero {
    padding:44px 18px;
    border-radius:18px;
  }

  .rf-hero-title {
    font-size:31px;
  }

  .rf-cost-blog h2 {
    font-size:27px;
  }

  .rf-summary-grid,
  .rf-grid-3,
  .rf-grid-2,
  .rf-roi-grid,
  .rf-buy-grid {
    grid-template-columns:1fr;
  }

  .rf-product-box,
  .rf-roi,
  .rf-safety {
    padding:24px 20px;
  }
}
