
.rf-pin-blog {
  --rp-blue:#0b56a0;
  --rp-blue-dark:#073668;
  --rp-blue-light:#edf6ff;
  --rp-bg:#f8fbff;
  --rp-card:#ffffff;
  --rp-title:#17283b;
  --rp-text:#47586c;
  --rp-muted:#718195;
  --rp-border:#dce8f4;
  --rp-cyan:#1796ba;
  --rp-green:#168267;
  --rp-orange:#c97712;
  --rp-purple:#7762b7;
  --rp-shadow:0 12px 34px rgba(13,70,120,.08);

  max-width:1180px;
  margin:0 auto;
  color:var(--rp-text);
  font-family:Arial,Helvetica,sans-serif;
  line-height:1.74;
  box-sizing:border-box;
}

.rf-pin-blog *,
.rf-pin-blog *::before,
.rf-pin-blog *::after {
  box-sizing:border-box;
}

.rf-pin-blog img {
  display:block;
  width:100%;
  max-width:100%;
  height:auto;
}

.rf-pin-blog a {
  color:var(--rp-blue);
  text-decoration:none;
}

.rf-pin-blog a:hover {
  text-decoration:underline;
}

.rf-pin-blog h2,
.rf-pin-blog h3 {
  margin-top:0;
  color:var(--rp-title);
}

.rf-pin-blog h2 {
  margin-bottom:18px;
  font-size:34px;
  line-height:1.27;
}

.rf-pin-blog h3 {
  margin-bottom:10px;
  font-size:22px;
  line-height:1.35;
}

.rf-pin-blog p {
  margin:0 0 18px;
}

.rp-section {
  padding:62px 28px;
}

.rp-container {
  max-width:1080px;
  margin:0 auto;
}

.rp-center {
  text-align:center;
}

.rp-soft {
  background:var(--rp-bg);
  border-radius:25px;
}

.rp-eyebrow {
  display:inline-block;
  margin-bottom:13px;
  color:var(--rp-blue);
  font-size:13px;
  font-weight:800;
  letter-spacing:1.35px;
  text-transform:uppercase;
}

.rp-lead {
  max-width:850px;
  margin-left:auto !important;
  margin-right:auto !important;
  color:#586a7d;
  font-size:17px;
  line-height:1.8;
}


/* HERO */

.rp-hero {
  position:relative;
  overflow:hidden;
  padding:68px 34px;
  border:1px solid #daeafa;
  border-radius:26px;
  background:
    radial-gradient(circle at 92% 10%,rgba(45,143,216,.16),transparent 31%),
    linear-gradient(135deg,#f1f8ff 0%,#ffffff 55%,#edf7ff 100%);
}

.rp-hero-inner {
  max-width:960px;
  margin:0 auto;
  text-align:center;
}

.rp-hero-badge {
  display:inline-block;
  margin-bottom:19px;
  padding:8px 15px;
  color:var(--rp-blue);
  background:#e0f0ff;
  border-radius:999px;
  font-size:13px;
  font-weight:800;
}

/*
If the CMS automatically renders the blog title as H1,
keep this visual title as H2.
*/

.rp-hero-title {
  max-width:930px;
  margin:0 auto 20px;
  color:#102a46;
  font-size:45px;
  line-height:1.15;
  font-weight:800;
}

.rp-hero-title span {
  color:var(--rp-blue);
}

.rp-hero-desc {
  max-width:840px;
  margin:0 auto 24px !important;
  color:#56687b;
  font-size:18px;
}

.rp-updated {
  color:#78899b;
  font-size:13px;
}


/* QUICK ANSWER */

.rp-answer {
  padding:32px;
  color:#fff;
  background:
    radial-gradient(circle at 90% 10%,rgba(87,184,242,.27),transparent 34%),
    linear-gradient(135deg,var(--rp-blue-dark),var(--rp-blue));
  border-radius:20px;
  box-shadow:var(--rp-shadow);
}

.rp-answer h3 {
  color:#fff;
}

.rp-answer p {
  margin-bottom:0;
  color:#e4f2ff;
}


/* VISUAL IMAGE */

.rp-image-card {
  overflow:hidden;
  margin:30px 0;
  padding:12px;
  background:#fff;
  border:1px solid var(--rp-border);
  border-radius:20px;
  box-shadow:var(--rp-shadow);
}

.rp-image-card img {
  border-radius:14px;
}

.rp-image-caption {
  padding:14px 10px 5px;
  color:var(--rp-muted);
  font-size:13px;
  text-align:center;
}


/* CARTRIDGE CARDS */

.rp-pin-grid {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:17px;
  margin-top:32px;
}

.rp-pin-card {
  position:relative;
  overflow:hidden;
  padding:28px 21px;
  background:#fff;
  border:1px solid var(--rp-border);
  border-radius:18px;
  box-shadow:0 8px 24px rgba(13,70,120,.05);
}

.rp-pin-card::before {
  content:"";
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:4px;
  background:var(--rp-blue);
}

.rp-pin-card.pin24::before {
  background:var(--rp-cyan);
}

.rp-pin-card.pin40::before {
  background:var(--rp-orange);
}

.rp-pin-card.nano::before {
  background:var(--rp-purple);
}

.rp-pin-number {
  display:block;
  margin-bottom:9px;
  color:var(--rp-blue);
  font-size:32px;
  font-weight:900;
}

.rp-pin-card.pin24 .rp-pin-number {
  color:var(--rp-cyan);
}

.rp-pin-card.pin40 .rp-pin-number {
  color:var(--rp-orange);
}

.rp-pin-card.nano .rp-pin-number {
  color:var(--rp-purple);
}

.rp-pin-card h3 {
  font-size:19px;
}

.rp-pin-card p {
  margin-bottom:0;
  font-size:14px;
}


/* TABLE */

.rp-table-wrap {
  overflow-x:auto;
  margin:30px 0;
  border:1px solid var(--rp-border);
  border-radius:17px;
}

.rp-table {
  width:100%;
  min-width:780px;
  border-collapse:collapse;
  background:#fff;
}

.rp-table th,
.rp-table td {
  padding:17px 18px;
  border-bottom:1px solid #e5edf5;
  text-align:left;
  vertical-align:top;
}

.rp-table th {
  color:#24435f;
  background:#edf7ff;
  font-size:14px;
}

.rp-table tr:last-child td {
  border-bottom:0;
}

.rp-table strong {
  color:var(--rp-blue-dark);
}


/* NOTE */

.rp-note {
  padding:19px 21px;
  background:#f5faff;
  border-left:4px solid var(--rp-blue);
  border-radius:7px;
  color:#56687c;
  font-size:14px;
}


/* SPLIT */

.rp-split {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:25px;
  margin-top:30px;
}

.rp-card {
  padding:28px 24px;
  background:#fff;
  border:1px solid var(--rp-border);
  border-radius:17px;
  box-shadow:0 8px 24px rgba(13,70,120,.05);
}

.rp-check {
  margin:18px 0 0;
  padding:0;
  list-style:none;
}

.rp-check li {
  position:relative;
  padding:8px 0 8px 30px;
}

.rp-check li::before {
  content:"✓";
  position:absolute;
  left:0;
  top:9px;
  width:20px;
  height:20px;
  color:#fff;
  background:var(--rp-green);
  border-radius:50%;
  line-height:20px;
  text-align:center;
  font-size:11px;
  font-weight:800;
}


/* PRODUCT BACKLINK */

.rp-product {
  padding:38px;
  color:#fff;
  background:
    radial-gradient(circle at 90% 10%,rgba(88,187,245,.28),transparent 34%),
    linear-gradient(135deg,#07386d,#0b65af);
  border-radius:21px;
}

.rp-product-grid {
  display:grid;
  grid-template-columns:1.25fr .75fr;
  gap:32px;
  align-items:center;
}

.rp-product h2,
.rp-product h3 {
  color:#fff;
}

.rp-product p {
  color:#e0effb;
}

.rp-product a.rp-inline-link {
  color:#fff;
  text-decoration:underline;
  font-weight:800;
}

.rp-btn {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:48px;
  padding:13px 23px;
  margin-top:10px;
  color:var(--rp-blue-dark) !important;
  background:#fff;
  border-radius:8px;
  font-weight:800;
  text-decoration:none !important;
}

.rp-product-spec {
  display:block;
  margin:9px 0;
  color:#d7edff;
  font-size:14px;
}


/* DECISION GUIDE */

.rp-decision {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
  margin-top:30px;
}

.rp-decision-card {
  padding:25px 22px;
  background:#fff;
  border:1px solid var(--rp-border);
  border-radius:16px;
}

.rp-step {
  display:inline-flex;
  width:37px;
  height:37px;
  align-items:center;
  justify-content:center;
  margin-bottom:14px;
  color:#fff;
  background:var(--rp-blue);
  border-radius:10px;
  font-weight:800;
}

.rp-decision-card p {
  margin-bottom:0;
  font-size:14px;
}


/* SAFETY */

.rp-safety {
  padding:30px;
  background:#fff9ef;
  border:1px solid #efd9b9;
  border-radius:18px;
}

.rp-safety h3 {
  color:#70460e;
}

.rp-safety p {
  color:#6a5944;
}


/* FAQ */

.rp-faq {
  max-width:900px;
  margin:30px auto 0;
}

.rp-faq details {
  margin-bottom:12px;
  background:#fff;
  border:1px solid var(--rp-border);
  border-radius:12px;
}

.rp-faq summary {
  position:relative;
  padding:19px 52px 19px 20px;
  color:#273f55;
  cursor:pointer;
  font-weight:800;
  list-style:none;
}

.rp-faq summary::-webkit-details-marker {
  display:none;
}

.rp-faq summary::after {
  content:"+";
  position:absolute;
  right:20px;
  top:14px;
  color:var(--rp-blue);
  font-size:26px;
}

.rp-faq details[open] summary::after {
  content:"−";
}

.rp-faq-answer {
  padding:0 20px 20px;
  color:#5e7183;
  font-size:14px;
}


/* AUTHOR */

.rp-author {
  display:flex;
  gap:20px;
  align-items:flex-start;
  padding:28px;
  background:#f8fbfe;
  border:1px solid var(--rp-border);
  border-radius:16px;
}

.rp-author-icon {
  flex:0 0 52px;
  width:52px;
  height:52px;
  color:#fff;
  background:var(--rp-blue);
  border-radius:50%;
  line-height:52px;
  text-align:center;
  font-weight:800;
}


/* FINAL CTA */

.rp-final {
  padding:52px 30px;
  color:#fff;
  text-align:center;
  background:
    radial-gradient(circle at 86% 8%,rgba(88,187,246,.28),transparent 32%),
    linear-gradient(135deg,#07386c,#0c68b4);
  border-radius:23px;
}

.rp-final h2 {
  color:#fff;
}

.rp-final p {
  max-width:760px;
  margin:0 auto 22px;
  color:#dceeff;
}


/* MOBILE */

@media (max-width:900px) {

  .rp-pin-grid {
    grid-template-columns:repeat(2,1fr);
  }

  .rp-product-grid,
  .rp-split {
    grid-template-columns:1fr;
  }

  .rp-decision {
    grid-template-columns:1fr;
  }

  .rp-hero-title {
    font-size:38px;
  }

}

@media (max-width:650px) {

  .rp-section {
    padding:46px 16px;
  }

  .rp-hero {
    padding:44px 18px;
    border-radius:18px;
  }

  .rp-hero-title {
    font-size:30px;
  }

  .rf-pin-blog h2 {
    font-size:27px;
  }

  .rp-pin-grid {
    grid-template-columns:1fr;
  }

  .rp-product,
  .rp-safety {
    padding:24px 20px;
  }

}
