/* RPF shared service/local design system. No global theme resets. */
.rpf-design{--rpf-navy:#020e27;--rpf-blue:#0038a3;--rpf-bright:#145fff;--rpf-pale:#ccd8ff;--rpf-muted:#526078;--rpf-line:#dfe5ef;color:var(--rpf-navy);font-family:'Open Sans',Arial,sans-serif;font-size:16px;line-height:1.75;max-width:1200px;margin-inline:auto;overflow-wrap:anywhere}
.rpf-design *, .rpf-design *::before,.rpf-design *::after{box-sizing:border-box}
.rpf-design p{margin:0 0 1.15em}.rpf-design h2,.rpf-design h3{font-family:Rubik,'Open Sans',sans-serif;color:var(--rpf-navy);font-weight:600;letter-spacing:-.025em}
.rpf-design h2{font-size:clamp(26px,3vw,38px);line-height:1.2;margin:0 0 24px;padding:0}.rpf-design h3{font-size:22px;line-height:1.3;margin:0 0 14px;padding:0}
.rpf-design a{color:var(--rpf-blue);text-underline-offset:4px}.rpf-design a:hover{color:var(--rpf-bright)}
.rpf-design :is(a,summary,button):focus-visible{outline:3px solid #145fff;outline-offset:5px}
.rpf-design-hero{background:var(--rpf-navy);color:white;border-radius:20px;overflow:hidden;display:grid;min-height:340px;margin:8px 0 0;isolation:isolate}
.rpf-design-hero.has-media{grid-template-columns:1.05fr 1fr}.rpf-design-hero-copy{padding:clamp(28px,4vw,56px);align-self:center}
.rpf-design .rpf-design-eyebrow{font-family:Rubik,Arial,sans-serif;font-size:11px;font-weight:600;letter-spacing:.14em;line-height:1.6;margin:0 0 20px;color:var(--rpf-pale)}
.rpf-design .rpf-design-lead{font-family:Cabin,'Open Sans',sans-serif;font-size:clamp(22px,2.35vw,30px);line-height:1.45;color:#fff;margin:0 0 28px;letter-spacing:-.015em}
.rpf-design .rpf-design-hero-media{margin:0;min-width:0;min-height:340px}.rpf-design img.rpf-design-hero-image{width:100%;height:100%;min-height:340px;object-fit:cover;display:block;max-width:100%}
.rpf-design-actions{display:flex;align-items:center;flex-wrap:wrap;gap:14px}.rpf-seo-cta{display:inline-flex;justify-content:center;align-items:center;min-height:48px;padding:13px 23px;border-radius:7px;font-family:Rubik,Arial,sans-serif;font-weight:600;font-size:15px;line-height:1.4;text-decoration:none;border:1px solid transparent}
.rpf-design a.rpf-seo-cta-primary,.rpf-seo-native-cta a{color:#fff;background:#0038a3}.rpf-design .rpf-design-hero a.rpf-seo-cta-primary,.rpf-design-contact a.rpf-seo-cta-primary{background:#fff;color:#0038a3}.rpf-design a.rpf-seo-cta-primary:hover{background:#ccd8ff;color:#020e27}.rpf-design a.rpf-seo-cta-secondary{color:inherit;border-color:currentColor;background:transparent}
.rpf-design-nav{display:flex;gap:8px 24px;flex-wrap:wrap;padding:22px 4px;border-bottom:1px solid var(--rpf-line);font-family:Rubik,Arial,sans-serif;font-size:13px}.rpf-design-nav a{padding:8px 0;text-decoration:none}
.rpf-design-section{padding:48px 0;border-bottom:1px solid var(--rpf-line);scroll-margin-top:130px}.rpf-design-body>p{max-width:78ch}.rpf-design-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.rpf-design-card{background:#f5f7fc;border:1px solid var(--rpf-line);border-top:3px solid var(--rpf-blue);border-radius:12px;padding:28px;min-width:0}.rpf-design-card p:last-child{margin-bottom:0}.rpf-design-card a{font-weight:600}
.rpf-design-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.rpf-design-gallery figure{margin:0}.rpf-design-gallery img{display:block;width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:12px}.rpf-design-gallery figcaption{font-size:13px;color:var(--rpf-muted);padding-top:10px}
.rpf-seo-faqs{border-top:1px solid #dfe5ef;margin-block:20px}.rpf-seo-faq{border-bottom:1px solid #dfe5ef;padding:0;background:#fff}.rpf-seo-faq-question{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px 8px;font:600 18px/1.5 Rubik,'Open Sans',sans-serif;color:#020e27}.rpf-seo-faq-question::-webkit-details-marker{display:none}.rpf-seo-faq-question::after{content:'+';font-size:25px;color:#0038a3;flex-shrink:0}.rpf-seo-faq[open]>.rpf-seo-faq-question::after{content:'-';}.rpf-seo-faq[open]{background:#f5f7fc}.rpf-seo-faq-answer{padding:0 44px 20px 20px;max-width:88ch}.rpf-seo-faq-answer p:last-child{margin:0}
.rpf-design .rpf-seo-related-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;list-style:none;padding:0;margin:0}.rpf-design .rpf-seo-related-links li{margin:0}.rpf-design .rpf-seo-related-links a{display:block;border:1px solid var(--rpf-line);border-radius:8px;padding:22px;text-decoration:none;font-weight:600;height:100%;background:#f5f7fc}.rpf-design-proof{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;list-style:none;margin:0;padding:0}.rpf-design-proof li{background:#eff3ff;border-left:3px solid #0038a3;padding:24px}
.rpf-design-contact{display:flex;gap:32px;align-items:center;justify-content:space-between;background:#020e27;color:#fff;border-radius:16px;padding:clamp(28px,4vw,48px);margin:44px 0}.rpf-design-contact h2{color:#fff;font-size:30px;margin-bottom:14px}.rpf-design-contact p:last-child{margin-bottom:0}.rpf-design-contact .rpf-design-actions{flex-shrink:0;max-width:280px}
.rpf-seo-designed .post-date.vamtam-meta-date{display:none!important}.rpf-seo-designed header.page-header{padding-block:36px}.rpf-seo-designed header.page-header h1{font-family:Cabin,'Open Sans',sans-serif;font-size:clamp(32px,4vw,52px);line-height:1.12;letter-spacing:-.035em;color:#020e27}
@media(max-width:900px){.rpf-design-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.rpf-design-hero.has-media{grid-template-columns:1fr}.rpf-design .rpf-design-hero-media,.rpf-design img.rpf-design-hero-image{min-height:0;height:300px}.rpf-design-contact{align-items:flex-start;flex-direction:column}.rpf-design-contact .rpf-design-actions{max-width:none}}
@media(max-width:600px){.rpf-design-cards,.rpf-design .rpf-seo-related-links,.rpf-design-gallery,.rpf-design-proof{grid-template-columns:1fr}.rpf-design-section{padding-block:32px}.rpf-design-hero-copy{padding:28px 24px}.rpf-design .rpf-design-hero-media,.rpf-design img.rpf-design-hero-image{height:230px}.rpf-design-nav{gap:4px 16px}.rpf-design-card{padding:24px}.rpf-seo-faq-question{font-size:16px;padding:20px 8px}.rpf-design-contact h2{font-size:26px}}
@media(prefers-reduced-motion:reduce){.rpf-design *{scroll-behavior:auto!important;transition:none!important}}
@media print{.rpf-design-hero,.rpf-design-contact{background:#fff;color:#020e27;border:1px solid #dfe5ef}.rpf-design .rpf-design-lead,.rpf-design-contact h2,.rpf-design .rpf-design-eyebrow{color:#020e27}.rpf-design-nav{display:none}.rpf-seo-faq::details-content{content-visibility:visible}.rpf-seo-faq-answer{display:block}}

/* Structured publishing modules, shared by native and Beaver layouts. */
.rpf-design .rpf-design-contact p{color:#fff}
.rpf-design-split{display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:center}
.rpf-design-split figure{margin:0}.rpf-design-split img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:12px}
.rpf-design-card a:focus-visible,.rpf-design-nav a:focus-visible{outline:3px solid #145fff;outline-offset:4px}
@media(max-width:600px){body.rpf-seo-designed .rpf-design{padding-left:16px;padding-right:16px;box-sizing:border-box}.rpf-design-split{grid-template-columns:1fr;gap:20px}}
/* 1.4.0 shared service template refinements */
.rpf-design-split-reverse figure{order:2}.rpf-design-hero-image{object-position:var(--rpf-image-focus,50% 50%)}
body.rpf-seo-designed .page-header{padding-top:32px;padding-bottom:32px}
@media(max-width:767px){.rpf-design-split-reverse figure{order:0}body.rpf-seo-designed .page-header{padding-top:20px;padding-bottom:20px}.rpf-design-nav a{white-space:normal}}

.rpf-comparison-wrap{overflow-x:auto}.rpf-comparison-wrap table{width:100%;border-collapse:collapse}.rpf-comparison-wrap th,.rpf-comparison-wrap td{padding:16px;border:1px solid #ccd8ff;text-align:left;vertical-align:top}

/* Resource media stays proportional and secondary to the article. */
body.single-rpf_resource article img.wp-post-image{width:100%;height:auto;max-height:420px;object-fit:cover}
.rpf-resource-design>h2{margin-top:36px}.rpf-resource-design>p{max-width:85ch}
@media(max-width:600px){body.single-rpf_resource article img.wp-post-image{max-height:240px}.rpf-resource-design{padding-inline:16px}}

/* Branded, accessible comparison tables. */
.rpf-design .rpf-comparison-wrap{border:1px solid #dfe5ef;border-radius:12px;overflow-x:auto;margin-block:24px;box-shadow:0 4px 18px rgba(2,14,39,.05)}
.rpf-design .rpf-comparison-wrap table{margin:0;min-width:620px;border-collapse:separate;border-spacing:0;font-size:15px;line-height:1.6}
.rpf-design .rpf-comparison-wrap thead th{background:#020e27;color:#fff;font-family:Rubik,'Open Sans',sans-serif;font-weight:600;padding:20px 24px;border:0}
.rpf-design .rpf-comparison-wrap tbody th,.rpf-design .rpf-comparison-wrap tbody td{padding:22px 24px;border:0;border-top:1px solid #dfe5ef;vertical-align:top}
.rpf-design .rpf-comparison-wrap tbody th{font-family:Rubik,'Open Sans',sans-serif;color:#0038a3;font-weight:600;width:22%}
.rpf-design .rpf-comparison-wrap tbody tr:nth-child(even){background:#f5f7fc}
.rpf-design .rpf-comparison-wrap tbody tr:nth-child(odd){background:#fff}
@media(max-width:600px){.rpf-design .rpf-comparison-wrap table{font-size:14px}.rpf-design .rpf-comparison-wrap th,.rpf-design .rpf-comparison-wrap td{padding:16px!important}}

