.rpr-page { --rpr-accent: #285f68; }
.rpr-page h1, .rpr-page h2, .rpr-page h3 { font-family: 'Space Grotesk', sans-serif; font-weight: 600; letter-spacing: -.025em; }
.rpr-page h1 { font-size: clamp(2.6rem, 5.6vw, 4.5rem); line-height: 1.05; margin: 18px 0 24px; max-width: 14em; }
.rpr-page h2 { font-size: clamp(1.9rem, 3.4vw, 2.8rem); line-height: 1.12; margin: 0 0 20px; }
.rpr-page h3 { font-size: 1.4rem; line-height: 1.2; margin: 0 0 14px; }
.rpr-page p { color: #54595f; line-height: 1.65; margin: 0 0 20px; }
.rpr-page .eyebrow { font-family: 'Space Mono', monospace; text-transform: uppercase; letter-spacing: .13em; font-size: .75rem; color: var(--rpr-accent); margin-bottom: 16px; }
.rpr-section { padding-top: clamp(48px, 7vw, 88px); padding-bottom: clamp(48px, 7vw, 88px); scroll-margin-top: 90px; }
.rpr-white { background: #fff; border-block: 1px solid #e7e3da; }
.rpr-intro { max-width: 44em; margin-bottom: 36px; }
.rpr-lead { font-size: clamp(1.08rem, 1.6vw, 1.25rem); max-width: 41em; }
.rpr-page .rpr-price { font-family: 'Space Grotesk', sans-serif; color: #285f68; margin: 24px 0; }
.rpr-price strong { display: block; font-size: 2.5rem; line-height: 1.2; margin: 6px 0; }
.rpr-price strong span { font-size: 1rem; font-weight: 500; }
.rpr-price-tax { display: block; color: #54595f; font-size: .85rem; }
.rpr-actions { display: flex; flex-wrap: wrap; gap: 12px; margin: 26px 0 18px; }
.rpr-page .btn { padding: 14px 22px; font-size: 1rem; text-align: center; }
.btn-rpr { background: #285f68; color: #fff; }
.btn-rpr:hover { background: #1f4950; }
.rpr-page .rpr-note { font-size: .88rem; line-height: 1.55; }
.rpr-page figure { margin: 0; min-width: 0; }
.rpr-page figure a { display: block; border-radius: 12px; }
.rpr-page figure img { width: 100%; height: auto; border: 1px solid #d9dedb; border-radius: 12px; background: #fff; }
.rpr-page figcaption { color: #54595f; font-size: .82rem; line-height: 1.5; padding: 12px 2px 0; }
.rpr-hero-shot { margin-top: 40px !important; padding: clamp(12px, 3vw, 28px); background: #e7edeb; border: 1px solid #d5dfda; border-radius: 20px; }
.rpr-two { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px; }
.rpr-feature { border: 1px solid #e7e3da; border-radius: 18px; padding: clamp(20px, 3vw, 30px); background: #fbfaf7; }
.rpr-feature figure { margin-top: 24px; }
.rpr-mobile { display: grid; grid-template-columns: minmax(0, 1fr) minmax(180px, 280px); gap: clamp(28px, 6vw, 80px); align-items: center; margin-top: 32px; padding: clamp(24px, 4vw, 48px); border-radius: 20px; background: #e7edeb; }
.rpr-mobile figure { max-width: 280px; }
.rpr-steps { list-style: none; padding: 0; margin: 36px 0 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 28px; counter-reset: step; }
.rpr-steps li { counter-increment: step; border-top: 1px solid #cdcfc8; padding-top: 22px; }
.rpr-steps li::before { content: '0' counter(step); display: block; font-family: 'Space Mono', monospace; font-size: .85rem; color: var(--rpr-accent); margin-bottom: 18px; }
.rpr-steps h3 { font-size: 1.15rem; }
.rpr-host { border: 1px solid #d5dfda; border-radius: 20px; padding: clamp(24px, 3vw, 38px); background: #fff; }
.rpr-host-primary { background: #e7edeb; }
.rpr-status { display: inline-block; border: 1px solid #d6d2c8; border-radius: 6px; padding: 4px 9px; font: .75rem 'Space Mono', monospace; vertical-align: middle; letter-spacing: 0; }
.rpr-table-wrap { overflow-x: auto; margin-top: 36px; }
.rpr-table { border-collapse: collapse; width: 100%; min-width: 590px; text-align: left; font-size: .95rem; line-height: 1.5; }
.rpr-table caption { text-align: left; font-family: 'Space Grotesk', sans-serif; font-size: 1.3rem; font-weight: 600; padding-bottom: 18px; }
.rpr-table th, .rpr-table td { padding: 16px; border-bottom: 1px solid #ddd9cf; vertical-align: top; }
.rpr-table thead { background: #e7edeb; }
.rpr-table tbody th { width: 25%; }
.rpr-table td { width: 37.5%; color: #54595f; }
.rpr-faq { max-width: 820px; }
.rpr-faq details { border-bottom: 1px solid #ddd9cf; padding: 20px 0; }
.rpr-faq summary { font-family: 'Space Grotesk', sans-serif; font-size: 1.08rem; font-weight: 600; cursor: pointer; }
.rpr-faq details p { margin: 16px 0 0; }
.rpr-final { background: #16191f; color: #fff; border-radius: 22px; padding: clamp(28px, 5vw, 56px); }
.rpr-final p { color: #c7cbd1; max-width: 40em; }
.rpr-final .btn-outline { color: #fff; border-color: #777c84; }
.rpr-final .btn-outline:hover { background: #303640; }
.rpr-page a:focus-visible, .rpr-page summary:focus-visible, .rpr-table-wrap:focus-visible { outline: 3px solid #285f68; outline-offset: 5px; }
@media (max-width: 760px) {
  .rpr-two, .rpr-mobile { grid-template-columns: 1fr; }
  .rpr-mobile figure { margin-inline: auto; }
  .rpr-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 420px) {
  .rpr-actions { flex-direction: column; }
  .rpr-steps { grid-template-columns: 1fr; }
}
