@font-face{font-family:Sora;font-style:normal;font-weight:100 800;font-display:swap;src:url(/assets/marketing/fonts/sora.woff2) format('woff2')}
@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(/assets/marketing/fonts/manrope.woff2) format('woff2')}

/* RepBot marketing system v1. Scope on <body class="rb-marketing">.
 * Canonical shared values for all marketing pages; see BRAND_GUIDELINES.md.
 * Homepage composition live in pages/home.css.
 */
body.rb-marketing {
  --rb-font-heading: Sora, Arial, sans-serif;
  --rb-font-body: Manrope, Arial, sans-serif;
  --rb-page: #fff;
  --rb-ink: #101211;
  --rb-muted: #5c6265;
  --rb-line: #e3e5e8;
  --rb-soft: #f5f5f7;
  --rb-surface-lavender: #e4e0f2;
  --rb-surface-mint: #dcebe6;
  --rb-accent: #835bc7;
  --rb-teal: #368e90;
  --rb-inverse: #1f1f1f;
  --rb-inverse-panel: #282828;
  --rb-inverse-ink: #fff;
  --rb-inverse-muted: #c2c5c3;
  --rb-inverse-line: #454545;
  --rb-gradient: linear-gradient(110deg, #9569c8 5%, #526fba 55%, #409e9b 100%);
  --rb-button-gradient: linear-gradient(102deg, #8258c8, #6766c8 32%, #2c84c8);
  --rb-cta-primary: linear-gradient(110deg, #6142a6 0%, #4d57ad 55%, #2b668f 100%);
  --rb-cta-primary-hover: linear-gradient(110deg, #7655c2 0%, #5668c3 55%, #337da7 100%);
  --rb-cta-secondary: linear-gradient(110deg, #126e71 0%, #176779 55%, #1a587a 100%);
  --rb-cta-secondary-hover: linear-gradient(110deg, #18868a 0%, #1d7b91 55%, #236b94 100%);
  --rb-focus: #9569c8;
  --rb-radius: 8px;
  --rb-radius-control: 6px;
  --rb-space-1: 4px;
  --rb-space-2: 8px;
  --rb-space-3: 12px;
  --rb-space-4: 16px;
  --rb-space-6: 24px;
  --rb-space-8: 32px;
  --rb-space-10: 40px;
  --rb-space-12: 48px;
  --rb-space-16: 64px;
  --rb-space-20: 80px;
  --rb-space-28: 112px;
  --rb-gutter: 112px;
  --rb-container: min(1316px, calc(100vw - 2 * var(--rb-gutter)));
  --rb-section-space: var(--rb-space-28);
  --rb-content-gap: var(--rb-space-12);
  --rb-column-gap: var(--rb-space-16);
  --rb-card-padding: var(--rb-space-8);
  --rb-title-size: 52px;
  --rb-panel-size: 36px;
  --rb-card-size: 20px;
  --rb-button-height: 64px;
  --rb-button-text: 16px;
  margin: 0;
  background: var(--rb-page);
  color: var(--rb-ink);
  font: 400 16px/1.75 var(--rb-font-body);
  -webkit-font-smoothing: antialiased;
}

body.rb-marketing.rb-dark {
  --rb-page: #141716;
  --rb-ink: #f4f5f3;
  --rb-muted: #b3bdb6;
  --rb-line: #353c37;
  --rb-soft: #282e2a;
  --rb-surface-lavender: #322e3d;
  --rb-surface-mint: #263c36;
  --rb-accent: #b69ae6;
  --rb-gradient: linear-gradient(110deg, #c197eb 5%, #8fa5ef 55%, #68c9b9 100%);
  --rb-cta-primary: linear-gradient(110deg, #7650bf 0%, #6654bb 55%, #255f9f 100%);
  --rb-cta-secondary: linear-gradient(110deg, #137b77 0%, #176f84 55%, #215b99 100%);
}

body.rb-marketing *,
body.rb-marketing *::before,
body.rb-marketing *::after { box-sizing: border-box; }
body.rb-marketing :focus-visible { outline: 3px solid var(--rb-focus); outline-offset: 5px; }
body.rb-marketing [hidden] { display: none !important; }
:where(body.rb-marketing) img { display: block; max-width: 100%; height: auto; }
:where(body.rb-marketing) a { color: inherit; text-decoration: none; }
:where(body.rb-marketing) button { font-family: var(--rb-font-body); cursor: pointer; }
:where(body.rb-marketing) p { margin: 0; }

/* Typography is assigned by role, never by a page-specific heading selector. */
body.rb-marketing :is(.rb-display, .rb-section-title, .rb-panel-title, .rb-plan-title) {
  font-family: var(--rb-font-heading);
  font-weight: 400;
  margin: 0;
  text-wrap: balance;
}
body.rb-marketing .rb-display { font-size: clamp(48px, 5.15cqw, 68px); line-height: 1.04; letter-spacing: -.05em; }
body.rb-marketing .rb-section-title { font-size: var(--rb-title-size); line-height: 1.16; letter-spacing: -.045em; }
body.rb-marketing .rb-panel-title { font-size: var(--rb-panel-size); line-height: 1.25; letter-spacing: -.035em; }
body.rb-marketing .rb-plan-title { font-size: 28px; line-height: 1.25; letter-spacing: -.035em; }
body.rb-marketing .rb-card-title { font: 600 var(--rb-card-size)/1.5 var(--rb-font-body); letter-spacing: 0; margin: 0; text-wrap: pretty; }
body.rb-marketing .rb-body { font: 400 16px/1.75 var(--rb-font-body); letter-spacing: 0; }
body.rb-marketing .rb-small { font: 400 14px/1.75 var(--rb-font-body); letter-spacing: 0; }
body.rb-marketing .rb-meta { font: 400 12px/1.5 var(--rb-font-body); letter-spacing: 0; }
body.rb-marketing .rb-eyebrow {
  font: 600 13px/1.5 var(--rb-font-body);
  letter-spacing: .01em;
  /* The old V2 eyebrow uses !important. This is the sole compatibility exception. */
  margin: 0 0 var(--rb-space-6) !important;
}
body.rb-marketing .rb-eyebrow::before { content: '[ '; color: var(--rb-accent); }
body.rb-marketing .rb-eyebrow::after { content: ' ]'; color: var(--rb-accent); }
body.rb-marketing .rb-gradient { background: var(--rb-gradient); background-clip: text; -webkit-background-clip: text; color: transparent; }
body.rb-marketing .rb-muted { color: var(--rb-muted); }
body.rb-marketing .rb-footer-title { font: 600 14px/1.5 var(--rb-font-body); letter-spacing: 0; margin: 0 0 var(--rb-space-4); color: var(--rb-muted); }

/* Layout primitives. Band decoration may be wider; content always shares this grid. */
body.rb-marketing .rb-container { width: var(--rb-container); max-width: calc(100% - 24px); margin-inline: auto; }
body.rb-marketing .rb-section { padding-block: var(--rb-section-space); }
body.rb-marketing .rb-section--compact { padding-block: var(--rb-content-gap); }
body.rb-marketing .rb-section-heading { margin-bottom: var(--rb-content-gap); }
body.rb-marketing .rb-section-heading > .rb-body { margin-top: var(--rb-space-6); }
body.rb-marketing .rb-split { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--rb-column-gap); align-items: start; }
body.rb-marketing .rb-stack > * + * { margin-top: var(--rb-space-6); }
body.rb-marketing .rb-card { padding: var(--rb-card-padding); border: 1px solid var(--rb-line); border-radius: var(--rb-radius); }
body.rb-marketing .rb-inverse { --rb-ink: var(--rb-inverse-ink); --rb-muted: var(--rb-inverse-muted); --rb-line: var(--rb-inverse-line); --rb-accent: #b69ae6; color: var(--rb-ink); background-color: var(--rb-inverse); }

/* Buttons. Reuse the two-SVG arrow markup from rb_v2_arrow() in WordPress. */
body.rb-marketing .rb-button {
  position: relative;
  isolation: isolate;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--rb-space-6);
  min-height: var(--rb-button-height);
  max-width: 100%;
  padding: var(--rb-space-3) var(--rb-space-6);
  border: 1px solid rgba(255, 255, 255, .2);
  border-radius: 10px;
  background: var(--rb-cta-primary);
  color: #fff;
  font: 600 var(--rb-button-text)/1.35 var(--rb-font-heading);
  letter-spacing: -.015em;
  text-align: center;
  text-shadow: 0 1px 1px rgba(15, 22, 42, .2);
  white-space: normal;
  box-shadow: 0 8px 20px rgba(50, 52, 116, .23), inset 0 1px 0 rgba(255, 255, 255, .25);
  transition: transform .2s ease, box-shadow .2s ease, color .2s ease;
}
body.rb-marketing .rb-button--outline { --rb-cta-primary-hover: var(--rb-cta-secondary-hover); background: var(--rb-cta-secondary); box-shadow: 0 8px 20px rgba(19, 100, 106, .22), inset 0 1px 0 rgba(255, 255, 255, .23); }
body.rb-marketing .rb-button--compact { min-height: 48px; padding: var(--rb-space-3) var(--rb-space-4); gap: var(--rb-space-4); font-size: 14px; }
body.rb-marketing .rb-button:is(:hover, :focus-visible) { background: var(--rb-cta-primary-hover); box-shadow: 0 12px 24px rgba(50, 52, 116, .3), inset 0 1px 0 rgba(255, 255, 255, .3); color: #fff; transform: translateY(-2px); }
body.rb-marketing .rb-button:active { transform: translateY(0); }
body.rb-marketing .rb-button-arrow { position: relative; display: inline-block; flex: none; width: 28px; height: 28px; border-radius: 50%; overflow: hidden; background: rgba(255, 255, 255, .16); }
body.rb-marketing .rb-button-arrow svg { position: absolute; inset: 8px; width: 12px; height: 12px; transition: transform .3s ease; }
body.rb-marketing .rb-button-arrow svg:last-child { transform: translate(-150%, 150%); }
body.rb-marketing .rb-button:is(:hover, :focus-visible) .rb-button-arrow svg:first-child { transform: translate(150%, -150%); }
body.rb-marketing .rb-button:is(:hover, :focus-visible) .rb-button-arrow svg:last-child { transform: translate(0, 0); }
body.rb-marketing .home-button.rb-button--white,
body.rb-marketing.rb-dark .home-button.rb-button--solid { color: #fff !important; }
@media (prefers-reduced-motion: reduce) {
  body.rb-marketing .rb-button { transition: none; }
}

/* Native details group: use a shared name attribute for exclusive expansion. */
body.rb-marketing .rb-faq details { border-bottom: 1px solid var(--rb-line); padding-block: var(--rb-space-6); }
body.rb-marketing .rb-faq details:first-child { padding-top: 0; }
body.rb-marketing .rb-faq summary { display: flex; align-items: center; justify-content: space-between; gap: var(--rb-space-6); list-style: none; cursor: pointer; color: var(--rb-ink); font: 400 18px/1.5 var(--rb-font-heading); letter-spacing: -.025em; }
body.rb-marketing .rb-faq summary::-webkit-details-marker { display: none; }
body.rb-marketing .rb-faq summary > span { position: relative; width: 18px; height: 18px; flex: none; }
body.rb-marketing .rb-faq summary > span::before,
body.rb-marketing .rb-faq summary > span::after { content: ''; position: absolute; background: currentColor; width: 14px; height: 1px; top: 8px; left: 2px; }
body.rb-marketing .rb-faq summary > span::after { transform: rotate(90deg); }
body.rb-marketing .rb-faq details[open] summary > span::after { transform: none; }
body.rb-marketing .rb-faq p { font: 400 16px/1.75 var(--rb-font-body); margin: var(--rb-space-4) 0 0; color: var(--rb-muted); }

@media (max-width: 1250px) {
  body.rb-marketing { --rb-gutter: 64px; }
}
@media (max-width: 1050px) {
  body.rb-marketing { --rb-gutter: 48px; --rb-section-space: var(--rb-space-20); --rb-column-gap: var(--rb-space-10); --rb-title-size: 44px; --rb-panel-size: 32px; }
  body.rb-marketing .rb-display { font-size: clamp(36px, 5vw, 52px); }
}
@media (max-width: 767px) {
  body.rb-marketing { --rb-gutter: 24px; --rb-section-space: var(--rb-space-16); --rb-content-gap: var(--rb-space-8); --rb-column-gap: var(--rb-space-8); --rb-card-padding: var(--rb-space-6); --rb-title-size: 34px; --rb-panel-size: 28px; --rb-card-size: 18px; --rb-button-height: 56px; --rb-button-text: 14px; }
  body.rb-marketing .rb-display { font-size: clamp(32px, 9.3vw, 55px); line-height: 1.08; letter-spacing: -.06em; }
  body.rb-marketing .rb-split { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
  body.rb-marketing *, body.rb-marketing *::before, body.rb-marketing *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}

/* Shared site shell and long-form reading components. */
:root { --rb-header-height: 88px; }
html { scroll-behavior: smooth; scroll-padding-top: calc(var(--rb-header-height) + 24px); }
body.rb-marketing { overflow-wrap: break-word; }
:where(.rb-marketing) h1, :where(.rb-marketing) h2, :where(.rb-marketing) h3, :where(.rb-marketing) h4 { font-family: var(--rb-font-heading); font-weight: 400; line-height: 1.25; margin: 0; }
:where(.rb-marketing) svg { width: 24px; height: 24px; flex-shrink: 0; }
:where(.rb-marketing) a, :where(.rb-marketing) button { touch-action: manipulation; }
.site-frame { overflow: clip; }
.site-skip { position: fixed; left: 12px; top: 12px; z-index: 1000; padding: 12px 20px; background: #fff; color: #101211; clip-path: inset(50%); width: 1px; height: 1px; overflow: hidden; white-space: nowrap; }
.site-skip:focus { clip-path: none; width: auto; height: auto; }
.site-header { position: sticky; top: 0; z-index: 60; padding-top: 0; background: var(--rb-page); border-bottom: 1px solid var(--rb-line); }
.site-topline { display: flex; justify-content: space-between; gap: 24px; border: 1px solid var(--rb-line); border-radius: var(--rb-radius); padding: 7px 30px; color: var(--rb-muted); font-size: 12px; }
.site-topline a { display: inline-flex; align-items: center; gap: 16px; }
.site-nav-row { display: flex; align-items: center; justify-content: space-between; gap: 24px; min-height: var(--rb-header-height); }
.site-logo { display: block; flex: none; width: 155px; }
.site-logo img { width: 100%; }
.site-logo-dark { display: none !important; }
.rb-dark .site-logo-light { display: none !important; }
.rb-dark .site-logo-dark { display: block !important; }
.site-nav { display: flex; align-items: center; gap: 2px; padding: 9px; background: #101211; border-radius: var(--rb-radius); }
.site-nav > a { padding: 14px 17px; color: #fff; font-size: 11px; line-height: 1.3; font-weight: 700; text-transform: uppercase; letter-spacing: .01em; border: 1px solid transparent; border-radius: var(--rb-radius-control); }
.site-nav > a:hover { background: #343636; }
.site-nav > a[aria-current="page"] { border-color: #626465; }
.site-header-actions { display: flex; align-items: center; gap: 20px; }
.site-login { font-size: 13px; }
body.rb-marketing .site-header-cta.rb-button { background: var(--rb-cta-primary); font-size: 15px; }
body.rb-marketing .site-header-cta.rb-button:is(:hover, :focus-visible) { background: var(--rb-cta-primary-hover); }
body.rb-marketing .site-nav .site-mobile-trial { border-radius: var(--rb-radius-control); background: var(--rb-cta-primary); box-shadow: 0 8px 20px rgba(50, 52, 116, .25); font: 600 14px/1.35 var(--rb-font-heading); text-transform: none; }
.site-theme, .site-menu-toggle { display: grid; place-items: center; width: 44px; height: 44px; flex: none; border: 0; border-radius: var(--rb-radius-control); background: var(--rb-soft); color: var(--rb-ink); }
.site-theme svg { width: 21px; height: 21px; }
.site-theme { margin-inline-start: var(--rb-space-6); }
.site-menu-toggle, .site-nav .site-mobile-login, .site-nav .site-mobile-trial { display: none; }
.site-footer { padding-top: var(--rb-content-gap); }
.site-footer-main { display: grid; grid-template-columns: 2fr 1fr 1fr 1fr; gap: var(--rb-space-8); padding-bottom: var(--rb-content-gap); }
.site-footer-brand p { max-width: 48ch; color: var(--rb-muted); font-size: 14px; line-height: 1.75; margin-top: var(--rb-space-6); }
.site-footer nav > a { display: block; font-size: 14px; line-height: 1.75; margin-block: var(--rb-space-2); }
.site-footer nav > a:hover { color: var(--rb-accent); }
.site-footer-bottom { display: flex; justify-content: space-between; align-items: center; gap: var(--rb-space-6); padding-block: var(--rb-space-6); border-top: 1px solid var(--rb-line); color: var(--rb-muted); font-size: 12px; }
.site-footer-bottom nav { display: flex; gap: var(--rb-space-6); }
.site-footer-bottom nav > a { font-size: 12px; margin: 0; }
.site-back-top { position: fixed; right: 22px; bottom: 22px; z-index: 30; width: 44px; height: 44px; border-radius: var(--rb-radius-control); border: 1px solid #727672; background: #181c1a; color: #fff; font-size: 20px; }

/* Policies retain their live content; presentation is shared rather than copied per page. */
.rb-policy-layout { display: grid; grid-template-columns: 250px minmax(0, 1fr); gap: var(--rb-column-gap); align-items: start; }
.rb-policy-layout:not(:has(.rb-policy-toc)) { grid-template-columns: minmax(0, 1fr); }
.rb-policy-toc { position: sticky; top: calc(var(--rb-header-height) + 24px); font-size: 14px; }
.rb-policy-toc details { border: 1px solid var(--rb-line); border-radius: var(--rb-radius); padding: var(--rb-space-6); }
.rb-policy-toc summary { font-weight: 600; cursor: pointer; }
.rb-policy-toc nav { margin-top: var(--rb-space-6); }
.rb-policy-toc nav h2 { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.rb-policy-toc :is(ul, ol) { list-style: none; padding: 0; margin: 0; }
.rb-policy-toc li + li { margin-top: var(--rb-space-3); }
.rb-policy-toc a:hover { color: var(--rb-accent); text-decoration: underline; }
.rb-prose { max-width: 72ch; min-width: 0; color: var(--rb-ink); font: 400 16px/1.75 var(--rb-font-body); }
.rb-prose h1 { font-size: var(--rb-title-size); line-height: 1.16; letter-spacing: -.045em; margin: 0 0 var(--rb-space-6); text-wrap: balance; }
.rb-prose h2 { font-size: var(--rb-panel-size); letter-spacing: -.035em; margin: var(--rb-space-12) 0 var(--rb-space-6); }
.rb-prose h3 { font-size: var(--rb-card-size); margin: var(--rb-space-8) 0 var(--rb-space-4); }
.rb-prose h4 { font: 600 16px/1.5 var(--rb-font-body); margin: var(--rb-space-6) 0 var(--rb-space-3); }
.rb-prose p { margin: 0 0 var(--rb-space-6); }
.rb-prose :is(ul, ol) { padding-left: var(--rb-space-6); margin: 0 0 var(--rb-space-6); }
.rb-prose li + li { margin-top: var(--rb-space-2); }
.rb-prose a { color: var(--rb-accent); text-decoration: underline; text-underline-offset: 3px; overflow-wrap: anywhere; }
.rb-prose .heading-accent { color: var(--rb-accent); }
.rb-prose .legal-layout { display: block; }
.rb-prose .policy-sidebar { position: static; width: auto; padding: var(--rb-space-6); margin-top: var(--rb-space-12); background: var(--rb-soft); border-radius: var(--rb-radius); }
.rb-prose .policy-sidebar h2:first-child { margin-top: 0; }
.rb-prose :is(.table-scroll, table) { display: block; max-width: 100%; overflow-x: auto; }
.rb-prose table { border-collapse: collapse; margin-block: var(--rb-space-6); font-size: 14px; }
.rb-prose :is(th, td) { padding: var(--rb-space-3); text-align: left; vertical-align: top; border: 1px solid var(--rb-line); min-width: 130px; }
.rb-prose th { background: var(--rb-soft); font-weight: 600; }
.rb-prose [id] { scroll-margin-top: var(--rb-space-8); }

@media (max-width: 1250px) {
  .site-login { display: none; }
  .site-nav > a { padding-inline: 13px; font-size: 10px; }
  .site-logo { width: 135px; }
  .site-header-actions { gap: 14px; }
}
@media (max-width: 1050px) {
  :root { --rb-header-height: 80px; }
  .site-logo { width: 150px; }
  .site-nav { display: none; position: absolute; left: var(--rb-gutter); right: var(--rb-gutter); top: calc(100% - 5px); flex-direction: column; align-items: stretch; padding: 15px; max-height: calc(100dvh - 150px); overflow-y: auto; box-shadow: 0 15px 35px #0003; }
  .site-menu-open .site-nav { display: flex; }
  .site-nav > a { padding: 15px 20px; font-size: 13px; }
  .site-nav .site-mobile-login { display: block; }
  .site-nav .site-mobile-trial { display: flex; align-items: center; justify-content: space-between; background: #343636; }
  .site-menu-toggle { display: flex; flex-direction: column; gap: 7px; justify-content: center; align-items: center; background: transparent; }
  .site-menu-toggle span { width: 22px; height: 1.5px; background: currentColor; transition: transform .2s; }
  .site-menu-open .site-menu-toggle span:first-child { transform: translateY(4.25px) rotate(45deg); }
  .site-menu-open .site-menu-toggle span:last-child { transform: translateY(-4.25px) rotate(-45deg); }
  .site-footer-main { grid-template-columns: repeat(3, 1fr); }
  .site-footer-brand { grid-column: 1 / -1; display: flex; justify-content: space-between; align-items: center; gap: var(--rb-space-8); }
  .site-footer-brand p { margin: 0; }
  .rb-policy-layout { grid-template-columns: 210px minmax(0, 1fr); }
}
@media (max-width: 767px) {
  :root { --rb-header-height: 72px; }
  .site-theme { margin-inline-start: 0; }
  .site-header { padding-top: 0; }
  .site-topline { display: none; }
  .site-nav-row { gap: 10px; }
  .site-logo { width: 137px; }
  .site-header-actions { gap: 7px; }
  .site-nav { max-height: calc(100dvh - 95px); }
  .site-footer-main { grid-template-columns: 1fr 1fr; }
  .site-footer-main > nav:last-child { grid-column: 1 / -1; }
  .site-footer-brand { display: block; }
  .site-footer-brand p { margin-top: var(--rb-space-6); }
  .site-footer-bottom { display: block; }
  .site-footer-bottom nav { flex-wrap: wrap; margin-top: var(--rb-space-4); gap: 12px 22px; }
  .site-back-top { right: 14px; bottom: 14px; }
  .rb-policy-layout { grid-template-columns: 1fr; }
  .rb-policy-toc { position: static; }
  .rb-prose { max-width: 100%; }
}
@media (max-width: 600px) { .site-header-cta { display: none !important; } }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }

/* One vertical rhythm across marketing, tools and blog consumers.
 * Each section end includes the prelaunch 10px breathing room.
 * Adjacent half-gutters add to one section gap; page edges are shared too. */
body.rb-marketing.rb-site { --rb-section-extra: 10px; --rb-page-edge: 42px; --rb-section-gap: 100px; --rb-section-space: var(--rb-section-gap); --rb-content-gap: 32px; }
body.rb-marketing.rb-site main > :is(section, .rb-section) { margin-block: 0; padding-block: calc(var(--rb-section-gap) / 2); }
body.rb-marketing.rb-site main > :is(section, .rb-section):first-child { padding-top: var(--rb-page-edge); }
body.rb-marketing.rb-site .site-footer { padding-top: calc(var(--rb-section-gap) / 2); }
body.rb-marketing.rb-site .rb-section-heading { margin-bottom: var(--rb-content-gap); }
body.rb-marketing.rb-site .rbf-stories .rbf-feature { padding-block: calc(var(--rb-section-gap) / 2); }
body.rb-marketing.rb-site .rbf-stories .rbf-feature:first-child { padding-top: 0; }
body.rb-marketing.rb-site .rbf-stories .rbf-feature:last-child { padding-bottom: 0; }
body.rb-marketing.rb-site.rb-blog-listing .rp-page-header { padding-block: var(--rb-page-edge) calc(var(--rb-section-gap) / 2); }
body.rb-marketing.rb-site .rp-article-hero { padding-block: var(--rb-page-edge) var(--rb-section-extra); }
body.rb-marketing.rb-site .rp-article-layout { padding-block: calc(var(--rb-section-gap) / 2); }
body.rb-marketing.rb-site.rb-blog-listing main { padding-bottom: calc(var(--rb-section-gap) / 2); }
@media (max-width: 1050px) {
  body.rb-marketing.rb-site { --rb-page-edge: 34px; --rb-section-gap: 84px; }
}
@media (max-width: 767px) {
  body.rb-marketing.rb-site { --rb-page-edge: 26px; --rb-section-gap: 68px; --rb-content-gap: 24px; }
}

/* Standalone listing structure over marketing-system.css and the shared site shell.
 * No legacy stylesheet dependency. Opt in on listing routes only.
 */
body.rb-marketing.rb-blog-listing .rp-container {
  width: var(--rb-container);
  max-width: calc(100% - 24px);
  margin-inline: auto;
  padding-inline: 0;
}
body.rb-marketing.rb-blog-listing .rp-page-header {
  padding-block: var(--rb-section-space) var(--rb-content-gap);
  background: var(--rb-page);
  color: var(--rb-ink);
}
body.rb-marketing.rb-blog-listing .rp-page-header h1 {
  max-width: 22ch;
  margin: 0;
  font: 400 var(--rb-title-size)/1.16 var(--rb-font-heading);
  letter-spacing: -.045em;
  text-wrap: balance;
}
body.rb-marketing.rb-blog-listing .rp-page-header > .rp-container > p {
  max-width: 65ch;
  margin: var(--rb-space-6) 0 0;
  font: 400 16px/1.75 var(--rb-font-body);
  color: var(--rb-muted);
}
body.rb-marketing.rb-blog-listing .rp-page-header .rp-eyebrow {
  margin: 0 0 var(--rb-space-6);
  font: 600 13px/1.5 var(--rb-font-body);
  letter-spacing: .01em;
  text-transform: none;
  color: var(--rb-ink);
}
body.rb-marketing.rb-blog-listing .rp-eyebrow::before { content: '[ '; color: var(--rb-accent); }
body.rb-marketing.rb-blog-listing .rp-eyebrow::after { content: ' ]'; color: var(--rb-accent); }
body.rb-marketing.rb-blog-listing .rp-breadcrumbs {
  margin-bottom: var(--rb-space-6);
  font: 400 14px/1.75 var(--rb-font-body);
  color: var(--rb-muted);
  overflow-wrap: anywhere;
}
body.rb-marketing.rb-blog-listing .rp-breadcrumbs a { color: var(--rb-ink); text-decoration: underline; text-underline-offset: .2em; }
body.rb-marketing.rb-blog-listing main { padding-bottom: var(--rb-section-space); }
body.rb-marketing.rb-blog-listing .rp-card-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--rb-space-16) var(--rb-space-8);
  padding-bottom: 0;
}
body.rb-marketing.rb-blog-listing .rp-card {
  display: flex;
  flex-direction: column;
  height: 100%;
  min-width: 0;
  overflow: visible;
  background: var(--rb-page);
  border: 1px solid var(--rb-line);
  border-radius: var(--rb-radius);
  box-shadow: none;
  transform: none;
  transition: none;
}
body.rb-marketing.rb-blog-listing .rp-card:is(:hover, :focus-within) { border-color: var(--rb-accent); box-shadow: none; transform: none; }
body.rb-marketing.rb-blog-listing .rp-card--image { border: 0; background: transparent; }
body.rb-marketing.rb-blog-listing .rp-card-visual { position: relative; }
body.rb-marketing.rb-blog-listing .rp-card-visual .rp-card-meta {
  position: absolute; left: var(--rb-space-6); bottom: -1px; margin: 0;
  padding: var(--rb-space-3) var(--rb-space-4) 0;
  border-radius: var(--rb-radius) var(--rb-radius) 0 0;
  background: var(--rb-page); color: var(--rb-muted); pointer-events: none;
}
body.rb-marketing.rb-blog-listing .rp-card-media {
  display: block;
  flex: none;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  border-radius: var(--rb-radius);
  background: var(--rb-soft);
  border: 0;
}
/* Retain existing editorial image URLs, dimensions and legacy crop behavior. */
body.rb-marketing.rb-blog-listing .rp-card-media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
body.rb-marketing.rb-blog-listing .rp-card-media--legacy img {
  width: 112%;
  height: 112%;
  max-width: none;
  margin: -6% 0 0 -6%;
}
body.rb-marketing.rb-blog-listing .rp-card-body {
  display: flex;
  flex: 1;
  flex-direction: column;
  min-width: 0;
  padding: var(--rb-card-padding);
  gap: var(--rb-space-3);
}
body.rb-marketing.rb-blog-listing .rp-card--image .rp-card-body { padding: var(--rb-space-6) 0 0; gap: var(--rb-space-4); }
body.rb-marketing.rb-blog-listing .rp-card--image .rp-card-title {
  font: 400 24px/1.4 var(--rb-font-heading); letter-spacing: -.035em;
}
body.rb-marketing.rb-blog-listing .rp-card-category { margin: auto 0 0; color: var(--rb-muted); font: 400 13px/1.5 var(--rb-font-body); }
body.rb-marketing.rb-blog-listing .rp-card-category::before { content: '/ '; color: var(--rb-accent); }
body.rb-marketing.rb-blog-listing .rp-card-category::after { content: ' /'; color: var(--rb-accent); }
body.rb-marketing.rb-blog-listing .rp-card-meta {
  margin: 0;
  font: 400 12px/1.5 var(--rb-font-body);
  letter-spacing: 0;
  text-transform: none;
  color: var(--rb-muted);
}
body.rb-marketing.rb-blog-listing .rp-card-title {
  margin: 0;
  font: 600 var(--rb-card-size)/1.5 var(--rb-font-body);
  letter-spacing: 0;
  overflow-wrap: anywhere;
  text-wrap: pretty;
}
body.rb-marketing.rb-blog-listing .rp-card-title a { color: var(--rb-ink); }
body.rb-marketing.rb-blog-listing .rp-card-title a:is(:hover, :focus-visible) { text-decoration: underline; text-underline-offset: .2em; }
body.rb-marketing.rb-blog-listing .rp-card-excerpt {
  display: block;
  overflow: visible;
  -webkit-line-clamp: unset;
  margin: 0;
  font: 400 16px/1.75 var(--rb-font-body);
  color: var(--rb-muted);
  overflow-wrap: anywhere;
}
body.rb-marketing.rb-blog-listing .rp-listing-nav { margin-bottom: var(--rb-content-gap); }
body.rb-marketing.rb-blog-listing .rp-listing-nav ul {
  display: flex;
  flex-wrap: wrap;
  gap: var(--rb-space-3);
  list-style: none;
  padding: 0;
  margin: 0;
}
body.rb-marketing.rb-blog-listing .rp-listing-nav li { margin: 0; max-width: 100%; }
body.rb-marketing.rb-blog-listing .rp-pagination {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: var(--rb-space-3);
  margin: var(--rb-content-gap) 0 0;
}
body.rb-marketing.rb-blog-listing :is(.rp-listing-nav a, .rp-pagination a, .rp-pagination span) {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  min-width: 48px;
  max-width: 100%;
  padding: var(--rb-space-3) var(--rb-space-4);
  border: 1px solid var(--rb-line);
  border-radius: var(--rb-radius-control);
  background: var(--rb-page);
  color: var(--rb-ink);
  font: 600 14px/1.5 var(--rb-font-body);
  text-align: center;
  overflow-wrap: anywhere;
}
body.rb-marketing.rb-blog-listing :is(.rp-listing-nav, .rp-pagination) [aria-current] {
  background: var(--rb-soft);
  border-color: var(--rb-ink);
  text-decoration: underline;
  text-underline-offset: .2em;
}
body.rb-marketing.rb-blog-listing :is(.rp-listing-nav, .rp-pagination) a:is(:hover, :focus-visible) {
  border-color: var(--rb-accent);
  text-decoration: underline;
  text-underline-offset: .2em;
}
body.rb-marketing.rb-blog-listing :is(main, .rp-page-header) a:focus-visible {
  outline: 3px solid var(--rb-focus);
  outline-offset: 5px;
}
@media (max-width: 1050px) {
  body.rb-marketing.rb-blog-listing .rp-card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
  body.rb-marketing.rb-blog-listing .rp-card-grid { grid-template-columns: minmax(0, 1fr); gap: var(--rb-space-12); }
}

/* Shared editorial banner for the Cloudflare index and article templates. */
body.rb-marketing .rp-editorial-banner {
  position: relative; isolation: isolate; display: flex; flex-direction: column;
  align-items: center; justify-content: center; min-height: 420px;
  padding: var(--rb-space-16); border-radius: var(--rb-radius);
  background: #202c36 url('/blog/assets/brand/blog-neighborhood-banner.webp') center / cover no-repeat;
  color: #fff; text-align: center; overflow: hidden;
}
body.rb-marketing .rp-editorial-banner::before {
  content: ''; position: absolute; inset: 0; z-index: -1;
  background: linear-gradient(100deg, #1a2b3240, #28243740);
}
body.rb-marketing .rp-editorial-banner h1 {
  max-width: 1040px; margin: 0; color: #fff;
  font: 400 var(--rb-title-size)/1.16 var(--rb-font-heading); letter-spacing: -.045em; text-wrap: balance;
}
body.rb-marketing .rp-editorial-banner .rp-banner-eyebrow {
  margin: 0 0 var(--rb-space-6); color: #e4d9f7; font: 600 13px/1.5 var(--rb-font-body);
}
body.rb-marketing .rp-banner-eyebrow::before { content: '[ '; }
body.rb-marketing .rp-banner-eyebrow::after { content: ' ]'; }
body.rb-marketing .rp-editorial-banner .rp-banner-description {
  max-width: 50ch; margin: var(--rb-space-6) 0 0; color: #f4f5f3; font: 400 16px/1.75 var(--rb-font-body);
}
body.rb-marketing.rb-blog-listing .rp-blog-index-header { padding-block: var(--rb-space-8) var(--rb-content-gap); }
body.rb-marketing .rp-banner-breadcrumbs {
  position: relative; z-index: 1; width: fit-content; max-width: 100%;
  margin: calc(-1 * var(--rb-space-12)) 0 0; padding: var(--rb-space-6) var(--rb-space-6) 0 0;
  background: var(--rb-page); border-top-right-radius: var(--rb-radius);
  font: 400 13px/1.75 var(--rb-font-body);
}
body.rb-marketing .rp-banner-breadcrumbs ol { display: flex; flex-wrap: wrap; gap: var(--rb-space-2); list-style: none; padding: 0; margin: 0; }
body.rb-marketing .rp-banner-breadcrumbs li { margin: 0; }
body.rb-marketing .rp-banner-breadcrumbs li:not(:last-child)::after { content: '/'; margin-left: var(--rb-space-2); color: var(--rb-muted); }
body.rb-marketing .rp-banner-breadcrumbs a { text-decoration: underline; text-underline-offset: .2em; }
@media (max-width: 1050px) {
  body.rb-marketing .rp-editorial-banner { min-height: 360px; padding: var(--rb-space-12) var(--rb-space-8) var(--rb-space-20); }
}
@media (max-width: 767px) {
  body.rb-marketing .rp-editorial-banner { min-height: 340px; padding: var(--rb-space-12) var(--rb-space-6) var(--rb-space-16); }
  body.rb-marketing .rp-editorial-banner h1 { font-size: 34px; }
  body.rb-marketing .rp-banner-breadcrumbs { margin-top: 0; padding-top: var(--rb-space-4); }
  body.rb-marketing.rb-blog-listing .rp-card--image .rp-card-title { font-size: 22px; }
}

/* Standalone approved article layout. Load after marketing-system.css.
 * Requires body.rb-marketing and shared fonts. Content/IDs remain source-owned.
 * Article headings map to panel/card roles so long-form hierarchy stays compact.
 */
body.rb-marketing .rp-article-hero {
  padding-block: var(--rb-space-8) 0;
  border-bottom: 0;
  background: var(--rb-page);
  color: var(--rb-ink);
}
body.rb-marketing .rp-article-hero > .rp-container,
body.rb-marketing .rp-article-layout {
  width: var(--rb-container);
  max-width: calc(100% - 24px);
  margin-inline: auto;
}
body.rb-marketing .rp-breadcrumbs:not(.rp-banner-breadcrumbs) { margin-bottom: var(--rb-space-8); }
body.rb-marketing .rp-breadcrumbs ol { display: flex; flex-wrap: wrap; gap: var(--rb-space-2); margin: 0; padding: 0; list-style: none; }
body.rb-marketing .rp-breadcrumbs li { margin: 0; }
body.rb-marketing .rp-breadcrumbs li:not(:last-child)::after { content: "›"; margin-left: var(--rb-space-2); color: var(--rb-muted); }
body.rb-marketing .rp-article-hero a { color: inherit; text-underline-offset: .2em; }
body.rb-marketing .rp-article-hero a:hover { text-decoration: underline; }
body.rb-marketing .rp-author { display: flex; align-items: center; flex-wrap: wrap; gap: var(--rb-space-2); margin-top: var(--rb-space-6); }
body.rb-marketing .rp-author img { width: var(--rb-space-10); height: var(--rb-space-10); border-radius: 50%; object-fit: cover; flex: none; }
body.rb-marketing .rp-article-date { margin-bottom: var(--rb-space-3); }
body.rb-marketing .rp-hero-image {
  margin: 0;
  overflow: hidden;
  border: 0;
  border-radius: var(--rb-radius);
  box-shadow: none;
}
body.rb-marketing .rp-hero-image img {
  width: 100%;
  height: auto;
  aspect-ratio: auto;
  object-fit: contain;
}
body.rb-marketing .rp-article-layout {
  display: grid;
  grid-template-columns: 280px minmax(0, 1fr);
  align-items: start;
  gap: var(--rb-column-gap);
  padding-block: var(--rb-space-16) var(--rb-section-space);
  font: 400 16px/1.75 var(--rb-font-body);
}
body.rb-marketing .rp-article {
  width: 100%;
  max-width: none;
  min-width: 0;
  color: var(--rb-ink);
  overflow-wrap: anywhere;
  font: 400 16px/1.75 var(--rb-font-body);
}
body.rb-marketing .rp-article :is(p, li, blockquote, td, th, .rp-copy-text, .rp-response) {
  color: var(--rb-ink);
  font-size: 16px;
  line-height: 1.75;
}
body.rb-marketing .rp-article p { margin: 0 0 var(--rb-space-6); }
body.rb-marketing .rp-article :is(p, ul, ol) { max-width: none; }
body.rb-marketing .rp-article-opening { margin-bottom: var(--rb-space-8); }
body.rb-marketing .rp-article-meta {
  display: flex; align-items: center; flex-wrap: wrap; gap: var(--rb-space-4) var(--rb-space-6);
  padding-block: var(--rb-space-6); border-bottom: 1px solid var(--rb-line);
}
body.rb-marketing .rp-article-meta :is(.rp-article-date, .rp-author) { margin: 0; color: var(--rb-muted); font: 400 14px/1.75 var(--rb-font-body); }
body.rb-marketing .rp-article-opening .subtitle { margin-top: var(--rb-space-6); }
body.rb-marketing .rp-article :is(ul, ol) { margin-block: var(--rb-space-4) var(--rb-space-6); padding-left: var(--rb-space-6); }
body.rb-marketing .rp-article li { margin-bottom: var(--rb-space-2); }
body.rb-marketing .rp-article :is(h2, h3, h4, h5, h6) {
  color: var(--rb-ink);
  scroll-margin-top: var(--rb-article-anchor-offset, 128px);
}
body.rb-marketing .rp-article h2 {
  margin: var(--rb-space-12) 0 var(--rb-space-6);
  font: 400 var(--rb-panel-size)/1.25 var(--rb-font-heading);
  letter-spacing: -.035em;
  text-wrap: balance;
}
body.rb-marketing .rp-article h3 {
  margin: var(--rb-space-8) 0 var(--rb-space-3);
  font: 600 var(--rb-card-size)/1.5 var(--rb-font-body);
  letter-spacing: 0;
}
body.rb-marketing .rp-article :is(h4, h5, h6) { margin-block: var(--rb-space-6) var(--rb-space-3); font: 600 16px/1.75 var(--rb-font-body); }
body.rb-marketing .rp-article h3.rp-inherited-faq-question { margin-block: var(--rb-space-6) var(--rb-space-3); font: 600 16px/1.75 var(--rb-font-body); }
body.rb-marketing .rp-article section { margin-bottom: var(--rb-space-12); }
body.rb-marketing .rp-article-introduction { margin-bottom: var(--rb-space-12); }
body.rb-marketing .rp-article a:not(.rp-btn):not(.rb-button) {
  color: var(--rb-ink);
  text-decoration: underline;
  text-decoration-color: var(--rb-accent);
  text-underline-offset: .2em;
  text-decoration-thickness: 1px;
}
body.rb-marketing .rp-article a:not(.rp-btn):not(.rb-button):hover { text-decoration-thickness: 2px; }
body.rb-marketing .rp-article :is(img, video, iframe) { max-width: 100%; }
body.rb-marketing .rp-section-image { display: block; overflow: hidden; margin: var(--rb-space-6) 0 var(--rb-space-8); max-width: 100%; border-radius: var(--rb-radius); }
body.rb-marketing .rp-section-image img { height: auto; max-height: none; object-fit: contain; }
/* Composed editorial banners: the icon is a small asset inside the full graphic. */
body.rb-marketing .rp-section-image img { display: block; width: 100%; height: auto; }
body.rb-marketing .rp-article :is(figcaption, .rp-disclosure) { color: var(--rb-muted); font: 400 14px/1.75 var(--rb-font-body); }
body.rb-marketing .rp-article blockquote { margin: var(--rb-space-6) 0; padding: var(--rb-space-6); border-left: 3px solid var(--rb-accent); background: var(--rb-soft); }
body.rb-marketing .rp-disclosure { margin-block: var(--rb-space-8); padding: var(--rb-space-6); border-left: 3px solid var(--rb-accent); border-radius: var(--rb-radius); background: var(--rb-soft); }
/* Wrapper is preferred for accessible scrolling; bare source tables also contain overflow. */
body.rb-marketing .rp-article :is(.rp-table-scroll, pre) { max-width: 100%; overflow-x: auto; }
body.rb-marketing .rp-article table { display: block; max-width: 100%; overflow-x: auto; border-collapse: collapse; margin-block: var(--rb-space-6); }
body.rb-marketing .rp-article .rp-table-scroll table { display: table; width: 100%; overflow: visible; }
body.rb-marketing .rp-article :is(th, td) { padding: var(--rb-space-3) var(--rb-space-4); border: 1px solid var(--rb-line); text-align: left; vertical-align: top; min-width: 9rem; }
body.rb-marketing .rp-article th { background: var(--rb-soft); font-weight: 600; }
body.rb-marketing .rp-toc {
  position: static;
  top: var(--rb-sidebar-offset, 112px);
  max-height: none;
  overflow: visible;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  color: var(--rb-ink);
}
body.rb-marketing .rp-toc nav { padding: 20px; border-radius: var(--rb-radius); background: var(--rb-soft); }
body.rb-marketing .rp-toc-disclosure > summary { display: none; }
body.rb-marketing .rp-toc-title { margin: 0 0 var(--rb-space-4); color: var(--rb-ink); font: 600 14px/1.75 var(--rb-font-body); letter-spacing: 0; text-transform: none; }
body.rb-marketing .rp-toc :is(ul, ol) { margin: 0; padding: 0; list-style: none; }
body.rb-marketing .rp-toc li { margin: 0; }
body.rb-marketing .rp-toc :is(ul, ol) a { display: block; padding-block: 4px; color: var(--rb-muted); font: 400 13px/1.4 var(--rb-font-body); }
body.rb-marketing .rp-toc :is(ul, ol) a:hover { color: var(--rb-ink); text-decoration: underline; text-underline-offset: .2em; }
body.rb-marketing .rp-toc nav a[aria-current="location"] { color: var(--rb-ink); font-weight: 700; }
body.rb-marketing .rp-toc-cta { margin-top: var(--rb-space-6); padding: var(--rb-space-6); border: 0; border-radius: var(--rb-radius); background: var(--rb-surface-mint); box-shadow: none; text-align: left; }
body.rb-marketing .rp-toc-cta__badge { padding: 0; border-radius: 0; color: var(--rb-muted); background: none; font: 600 13px/1.5 var(--rb-font-body); letter-spacing: .01em; text-transform: none; }
body.rb-marketing .rp-toc-cta__title { margin-block: var(--rb-space-3); color: var(--rb-ink); font: 600 var(--rb-card-size)/1.5 var(--rb-font-body); letter-spacing: 0; text-transform: none; }
body.rb-marketing .rp-toc-cta__description { margin-bottom: var(--rb-space-6); color: var(--rb-muted); font: 400 14px/1.75 var(--rb-font-body); }
body.rb-marketing .rp-toc-cta__button { width: 100%; }
body.rb-marketing .rp-toc-cta__button.rb-button { padding-inline: var(--rb-space-4); gap: var(--rb-space-3); }
body.rb-marketing .rp-toc-cta__icon { flex: none; }
body.rb-marketing .rp-example-card { margin-block: var(--rb-space-8); overflow: hidden; border: 1px solid var(--rb-line); border-radius: var(--rb-radius); background: var(--rb-page); box-shadow: none; }
body.rb-marketing .rp-example-card > header,
body.rb-marketing .rp-example-card__header { padding: var(--rb-space-6); border-bottom: 1px solid var(--rb-line); background: var(--rb-surface-lavender); }
body.rb-marketing .rp-example-card--positive > header { background: var(--rb-surface-mint); }
/* Preserve source polarity without changing ratings, wording, or copy targets. */
body.rb-marketing .rp-example-card--positive { border-left: 3px solid var(--rb-teal); }
body.rb-marketing .rp-example-card--negative { border-left: 3px solid var(--rb-accent); }
body.rb-marketing .rp-example-card > header h3,
body.rb-marketing .rp-example-card__header h3 { margin: 0; font: 600 var(--rb-card-size)/1.5 var(--rb-font-body); }
body.rb-marketing .rp-example-card__body { padding: var(--rb-space-6); }
body.rb-marketing .rp-example-card blockquote { margin: 0 0 var(--rb-space-6); padding: 0 0 0 var(--rb-space-4); border: 0; border-left: 2px solid var(--rb-line); border-radius: 0; background: none; }
body.rb-marketing .rp-response { padding: var(--rb-space-6); border: 1px solid var(--rb-line); border-radius: var(--rb-radius); background: var(--rb-soft); }
body.rb-marketing .rp-response-heading { display: flex; flex-wrap: wrap; gap: var(--rb-space-3); align-items: center; justify-content: space-between; margin-bottom: var(--rb-space-4); }
body.rb-marketing .rp-label { color: var(--rb-muted); font: 600 13px/1.5 var(--rb-font-body); text-transform: none; letter-spacing: .01em; }
body.rb-marketing .rp-article :is(.rp-copy-text, .rp-response, blockquote) > p:last-child { margin-bottom: 0; }
/* Parent normalization adds shared rb-button variants; no competing button skin. */
body.rb-marketing .rp-copy-btn { flex-shrink: 0; }
body.rb-marketing .rp-response-heading .rp-label { margin-bottom: 0; }
body.rb-marketing .rp-response-reset { padding: 8px 12px; border: 1px solid var(--rb-line); border-radius: 6px; background: var(--rb-page); color: var(--rb-ink); font: 600 13px/1.5 var(--rb-font-body); cursor: pointer; }
body.rb-marketing .rp-response-reset:disabled { opacity: .45; cursor: default; }
body.rb-marketing .rp-response-reset[hidden] { display: none; }
body.rb-marketing .rp-placeholder__apply { display: flex; align-items: flex-start; gap: 6px; max-width: 320px; padding-top: 6px; color: var(--rb-muted); font: 400 12px/1.4 var(--rb-font-body); white-space: normal; }
body.rb-marketing .rp-placeholder__apply input { flex: none; width: 16px; height: 16px; margin: 0; accent-color: var(--rb-accent); }
/* Inline template fields stay in the response flow and reflow when edited. */
body.rb-marketing .rp-placeholder { display: inline; overflow-wrap: anywhere; }
body.rb-marketing .rp-placeholder__trigger {
  display: inline; padding: 0; border: 0; border-bottom: 1px dashed var(--rb-accent);
  border-radius: 0; background: transparent; color: inherit; font: inherit;
  text-align: inherit; cursor: pointer; overflow-wrap: anywhere;
}
body.rb-marketing .rp-placeholder__trigger[hidden] { display: none; }
body.rb-marketing .rp-placeholder__trigger:hover { background: var(--rb-surface-mint); }
body.rb-marketing .rp-placeholder--edited .rp-placeholder__trigger { border-bottom-style: dotted; }
body.rb-marketing .rp-placeholder__editor {
  position: relative; display: inline-block; max-width: 100%; vertical-align: middle;
  margin-block: 34px 4px;
}
body.rb-marketing .rp-placeholder__input {
  display: block; box-sizing: border-box; min-width: 0; max-width: 100%; min-height: 36px;
  padding: 3px 8px; resize: none; overflow: hidden; border: 1px solid var(--rb-accent);
  border-radius: 4px; background: var(--rb-page); color: var(--rb-ink); font: inherit; line-height: 1.75;
}
body.rb-marketing .rp-placeholder__controls {
  position: absolute; right: 0; bottom: calc(100% + 3px); display: flex; align-items: center; gap: 4px;
  padding: 2px; border: 1px solid var(--rb-line); border-radius: 4px;
  background: var(--rb-page); color: var(--rb-ink); white-space: nowrap;
}
body.rb-marketing .rp-placeholder__controls button {
  display: inline-flex; align-items: center; justify-content: center; width: 28px; height: 28px;
  padding: 4px; border: 0; border-radius: 3px; background: var(--rb-soft); color: inherit; cursor: pointer;
}
body.rb-marketing .rp-placeholder__controls button:disabled { opacity: .4; cursor: default; }
body.rb-marketing .rp-placeholder__count { padding-inline: 4px; font: 400 11px/1.5 var(--rb-font-body); }
body.rb-marketing :is(.rp-article, .rp-toc) :focus-visible { outline: 3px solid var(--rb-focus); outline-offset: 5px; }
body.rb-marketing .rp-article .rp-faq { margin: 0; padding: var(--rb-space-6) 0; border: 0; border-bottom: 1px solid var(--rb-line); border-radius: 0; background: none; }
body.rb-marketing .rp-faq summary { color: var(--rb-ink); cursor: pointer; font: 400 18px/1.5 var(--rb-font-heading); letter-spacing: -.025em; }
body.rb-marketing .rp-faq[open] summary { margin-bottom: var(--rb-space-6); }
body.rb-marketing .rp-article .rp-faq p { padding: 0; border-radius: 0; background: none; }
body.rb-marketing .rp-article .rp-related { margin-top: var(--rb-space-12); padding: var(--rb-card-padding); border: 1px solid var(--rb-line); border-radius: var(--rb-radius); background: var(--rb-soft); }
body.rb-marketing .rp-related h2 { margin-top: 0; }
body.rb-marketing .rp-article .rp-related-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--rb-space-3) var(--rb-space-6); padding: 0; list-style: none; }
body.rb-marketing .rp-related-list a { display: block; padding-block: var(--rb-space-1); }
@media (max-width: 1050px) {
  body.rb-marketing .rp-article-layout { grid-template-columns: minmax(0, 1fr); }
  body.rb-marketing .rp-article { margin-inline: auto; }
  body.rb-marketing .rp-toc { position: static; max-height: none; width: 100%; max-width: none; margin-inline: auto; overflow: visible; }
  body.rb-marketing .rp-toc-disclosure > summary { display: flex; justify-content: space-between; align-items: center; gap: var(--rb-space-4); padding: var(--rb-space-4) var(--rb-space-6); border: 1px solid var(--rb-line); border-radius: var(--rb-radius); font: 600 14px/1.75 var(--rb-font-body); cursor: pointer; }
  body.rb-marketing .rp-toc-disclosure > summary::after { content: '+'; font-size: 22px; }
  body.rb-marketing .rp-toc-disclosure[open] > summary::after { content: '−'; }
  body.rb-marketing .rp-toc-disclosure > summary::-webkit-details-marker { display: none; }
  body.rb-marketing .rp-toc nav { margin-top: var(--rb-space-4); }
  body.rb-marketing .rp-hero-image { max-width: none; }
}
@media (max-width: 767px) {
  body.rb-marketing .rp-article .rp-related-list { grid-template-columns: minmax(0, 1fr); }
  body.rb-marketing .rp-response { padding: var(--rb-space-4); }
}
@media print {
  body.rb-marketing .rp-toc { display: none; }
  body.rb-marketing .rp-article-layout { display: block; width: 100%; }
  body.rb-marketing .rp-article { max-width: none; }
  body.rb-marketing .rp-article table { display: table; }
  body.rb-marketing .rp-copy-btn { display: none; }
}

/* Keep the complete sidebar accessible even on short desktop viewports. */
@media (min-width: 1051px) {
  body.rb-marketing .rp-toc {
    position: sticky;
    align-self: start;
    max-height: calc(100dvh - var(--rb-sidebar-offset, 112px) - 16px);
    overflow-y: auto;
    overscroll-behavior-y: contain;
    scrollbar-width: thin;
  }
}
body.rb-marketing .rp-toc-cta {
  padding: 24px 20px;
  background: linear-gradient(135deg, rgba(101,190,194,.13), transparent 62%), var(--rb-soft);
  border: 1px solid var(--rb-line);
  text-align: center;
}
body.rb-marketing .rp-toc-cta__badge {
  display: inline-block; padding: 4px 12px; border-radius: 4px;
  color: var(--rb-ink); background: var(--rb-surface-mint);
  font-size: 11px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase;
}
body.rb-marketing .rp-toc-cta__title { font-size: 18px; line-height: 1.35; font-weight: 600; }
body.rb-marketing .rp-toc-cta__description { font-size: 13.5px; line-height: 1.5; margin-bottom: 20px; }
body.rb-marketing .rp-toc-cta__button.rb-button {
  justify-content: center; padding: 12px 8px; min-height: 48px;
  font-size: 14px;
}
