/* RankTraction block stylesheet — contract v3.2 §12.5. Do not edit on the site: set the variables. */
.rt-content {
  --rt-accent: #db2777;
  --rt-accent-2: #f43f5e;
  --rt-text: #1a1a2e;
  --rt-muted: #4b5563;
  --rt-surface: #ffffff;
  --rt-surface-2: #f8f9fa;
  --rt-border: #e5e7eb;
  --rt-radius: 12px;
  --rt-font: inherit;
  --rt-heading-font: inherit;
  --rt-note-bg: #eff6ff; --rt-note-border: #93c5fd;
  --rt-answer-bg: #fff7ed; --rt-answer-border: #f59e0b; --rt-answer-text: #92400e;
  --rt-good-bg: #f0fdf4; --rt-good-border: #86efac; --rt-good-text: #166534;
  --rt-bad-bg: #fef2f2; --rt-bad-border: #fca5a5; --rt-bad-text: #991b1b;
  /* Sections: the brand palette reads the site accent back; widths break out of the column. */
  --rt-brand-accent: var(--rt-accent); --rt-brand-accent-2: var(--rt-accent-2); --rt-palette-accent: var(--rt-accent); --rt-palette-accent-2: var(--rt-accent-2);
  --rt-accent-soft: color-mix(in srgb, var(--rt-accent) 10%, var(--rt-surface)); --rt-accent-strong: color-mix(in srgb, var(--rt-accent) 78%, #000);
  --rt-accent-line: color-mix(in srgb, var(--rt-accent) 30%, var(--rt-border)); --rt-accent-light: color-mix(in srgb, var(--rt-accent) 65%, #fff);
  --rt-vw: calc(100vw - var(--rt-scrollbar, 0px)); --rt-content-width: 56rem; --rt-wide-width: 80rem;
  font-family: var(--rt-font);
  color: var(--rt-text);
  line-height: 1.8;
  overflow-wrap: anywhere;
}
/* Typography is a baseline (§12.5): the element part sits in :where(), specificity (0,1,0), so a
   site's own rules of equal or higher specificity win however the two stylesheets are ordered.
   The block rules below keep their specificity. */
.rt-content *, .rt-content *::before, .rt-content *::after { box-sizing: border-box; }
.rt-content :where(h1), .rt-content :where(h2), .rt-content :where(h3), .rt-content :where(h4) { font-family: var(--rt-heading-font); color: var(--rt-text); line-height: 1.3; }
.rt-content :where(h2) { font-size: 1.5rem; font-weight: 700; margin: 2.5rem 0 1rem; padding-bottom: .5rem; border-bottom: 2px solid var(--rt-border); }
.rt-content :where(h3) { font-size: 1.25rem; font-weight: 600; margin: 1.75rem 0 .75rem; }
.rt-content :where(h4) { font-size: 1.05rem; font-weight: 600; margin: 1.25rem 0 .5rem; }
.rt-content :where(p) { margin: 0 0 1rem; }
.rt-content :where(a) { color: var(--rt-accent); text-decoration: none; font-weight: 500; }
.rt-content :where(a:hover) { text-decoration: underline; }
.rt-content :where(ul), .rt-content :where(ol) { padding-left: 1.5rem; margin: 1rem 0; }
.rt-content :where(li) { margin-bottom: .5rem; line-height: 1.7; }
.rt-content :where(img) { max-width: 100%; height: auto; border-radius: 8px; }
.rt-content :where(figure) { margin: 1.5rem 0; }
.rt-content :where(figcaption) { font-size: .85rem; color: var(--rt-muted); text-align: center; margin-top: .5rem; }
.rt-content .table-figure { margin: 1.5rem 0; }
.rt-content .table-figure table { margin: 0; }
.rt-content .table-figure figcaption { margin-top: .6rem; }
.rt-content :where(blockquote) { border-left: 4px solid var(--rt-accent); background: color-mix(in srgb, var(--rt-accent) 6%, var(--rt-surface)); padding: 1rem 1.5rem; margin: 1.5rem 0; border-radius: 0 8px 8px 0; font-style: italic; }
.rt-content :where(pre) { background: var(--rt-surface-2); border: 1px solid var(--rt-border); border-radius: 8px; padding: 1rem; overflow-x: auto; font-size: .9rem; }
.rt-content :where(code) { font-size: .92em; }
.rt-content :where(hr) { border: 0; border-top: 1px solid var(--rt-border); margin: 2rem 0; }
.rt-content .table-wrap, .rt-content .table-wrapper, .rt-content .paginated-table-inner { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.rt-content .table-wrap, .rt-content .table-wrapper { margin: 1.5rem 0; }
.rt-content .table-wrap > table, .rt-content .table-wrapper > table, .rt-content .table-figure .table-wrap { margin: 0; }
.rt-content :where(table) { width: 100%; border-collapse: collapse; margin: 1.5rem 0; font-size: .9rem; border: 1px solid var(--rt-border); border-radius: 8px; overflow: hidden; }
.rt-content :where(th) { background: var(--rt-surface-2); font-weight: 600; padding: .75rem 1rem; text-align: left; border-bottom: 2px solid var(--rt-border); }
.rt-content :where(td) { padding: .75rem 1rem; border-bottom: 1px solid var(--rt-border); vertical-align: top; }
.rt-content :where(tr:last-child td) { border-bottom: 0; }

/* Answer box, takeaways, FAQ */
.rt-content .aio-box, .rt-content .ai-overview { background: var(--rt-answer-bg); border: 1px solid var(--rt-answer-border); border-radius: var(--rt-radius); padding: 1.5rem; margin: 1.5rem 0; }
.rt-content .aio-box h2, .rt-content .aio-box h3, .rt-content .aio-question { color: var(--rt-answer-text); font-size: 1.1rem; margin: 0 0 .75rem; border: 0; padding: 0; }
.rt-content .aio-box p:last-child { margin-bottom: 0; }
.rt-content .key-takeaways { background: var(--rt-good-bg); border: 1px solid var(--rt-good-border); border-radius: var(--rt-radius); padding: 1.5rem; margin: 1.5rem 0; }
.rt-content .key-takeaways h3, .rt-content .key-takeaways .subsection-title { color: var(--rt-good-text); margin: 0 0 .5rem; }
.rt-content .key-takeaways ul { padding-left: 1.25rem; margin: 0; }
.rt-content .faq-section { margin: 2rem 0; border: 1px solid var(--rt-border); border-radius: var(--rt-radius); padding: 1.5rem; }
.rt-content .faq-section h2, .rt-content .faq-heading { border: 0; margin-top: 0; padding: 0; }
.rt-content details { border-bottom: 1px solid var(--rt-border); padding: .75rem 0; }
.rt-content details:last-child { border-bottom: 0; }
.rt-content summary { font-weight: 600; cursor: pointer; padding: .25rem 0; list-style: none; position: relative; padding-right: 1.5rem; }
.rt-content summary::-webkit-details-marker { display: none; }
.rt-content summary::after { content: "+"; position: absolute; right: .25rem; top: .1rem; color: var(--rt-accent); font-weight: 700; }
.rt-content details[open] > summary::after { content: "−"; }
.rt-content .faq-answer { padding-top: .5rem; color: var(--rt-muted); }

/* Table of contents, plain and sticky */
.rt-content nav.table-of-contents, .rt-content details.table-of-contents { background: var(--rt-surface-2); border: 1px solid var(--rt-border); border-radius: var(--rt-radius); padding: 1.25rem 1.5rem; margin: 1.5rem 0; }
.rt-content .table-of-contents ul { list-style: none; padding-left: 0; margin: .5rem 0 0; }
.rt-content .table-of-contents ul ul { padding-left: 1rem; margin: 0; }
.rt-content .table-of-contents li { padding: .3rem 0; border-bottom: 1px solid var(--rt-border); margin: 0; }
.rt-content .table-of-contents li:last-child { border-bottom: 0; }
.rt-content .table-of-contents a[aria-current="true"] { font-weight: 700; }
.rt-content .table-of-contents summary { font-weight: 700; }
.rt-content .sticky-toc, .rt-content .table-of-contents[data-sticky="true"] { position: sticky; top: 1rem; z-index: 2; max-height: calc(100vh - 2rem); overflow: auto; }
.rt-content .sticky-toc.is-stuck { box-shadow: 0 6px 20px rgba(0,0,0,.08); }

/* Info box, pros and cons */
.rt-content aside.info-box, .rt-content .info-box { background: var(--rt-note-bg); border: 1px solid var(--rt-note-border); border-radius: var(--rt-radius); padding: 1.25rem; margin: 1.5rem 0; }
.rt-content .info-box-header { display: flex; align-items: center; gap: .5rem; margin-bottom: .5rem; }
.rt-content .info-box-icon { font-size: 1.25rem; }
.rt-content .info-box-title { margin: 0; }
.rt-content .info-box-list { margin: 0; padding-left: 1.25rem; }
.rt-content .pros-cons { margin: 1.5rem 0; padding: 1.5rem; border: 1px solid var(--rt-border); border-radius: var(--rt-radius); }
.rt-content .pros-cons-inner { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.rt-content .pros-column { background: var(--rt-good-bg); border: 1px solid var(--rt-good-border); border-radius: 8px; padding: 1rem; }
.rt-content .cons-column { background: var(--rt-bad-bg); border: 1px solid var(--rt-bad-border); border-radius: 8px; padding: 1rem; }
.rt-content .pros-title { color: var(--rt-good-text); margin: 0 0 .5rem; }
.rt-content .cons-title { color: var(--rt-bad-text); margin: 0 0 .5rem; }
.rt-content .pros-column ul, .rt-content .cons-column ul { margin: 0; padding-left: 1.1rem; }

/* Comparison table, paginated table */
.rt-content .comparison-table { margin: 1.5rem 0; border: 1px solid var(--rt-border); border-radius: var(--rt-radius); padding: 1.5rem; }
.rt-content .comparison-heading { margin-top: 0; }
.rt-content .comparison-table table { margin: 0; }
.rt-content .comparison-table ul { margin: 0; padding-left: 1.1rem; }
.rt-content .category-label { font-weight: 600; white-space: nowrap; }
.rt-content .paginated-table { margin: 1.5rem 0; border: 1px solid var(--rt-border); border-radius: var(--rt-radius); overflow: hidden; }
.rt-content .paginated-table-heading { margin: 0; padding: 1rem 1.25rem; background: var(--rt-surface-2); border-bottom: 1px solid var(--rt-border); }
.rt-content .paginated-table-grid { margin: 0; border: 0; border-radius: 0; }
.rt-content .paginated-table-grid th { text-align: center; vertical-align: top; }
.rt-content .paginated-table-grid td { text-align: center; }
.rt-content .paginated-table-grid .row-label { text-align: left; font-weight: 600; white-space: nowrap; }
.rt-content .paginated-table-grid th, .rt-content .paginated-table-grid td { min-width: 8.5rem; }
.rt-content .rank-badge { display: inline-block; min-width: 2rem; padding: .15rem .5rem; border-radius: 9999px; color: #fff; font-size: .75rem; font-weight: 700; margin-bottom: .35rem; }
.rt-content .table-col-image { width: 72px; height: 72px; object-fit: cover; border-radius: 8px; margin: .25rem auto; display: block; }
.rt-content .table-col-title { display: block; font-weight: 700; }
.rt-content .table-col-rating { display: block; font-size: .8rem; color: #d97706; }
.rt-content .table-cta, .rt-content .top-list-cta, .rt-content .primary-cta, .rt-content .verification-cta, .rt-content .hero-cta-primary { display: inline-block; background: linear-gradient(135deg, var(--rt-accent), var(--rt-accent-2)); color: #fff !important; padding: .55rem 1.25rem; border-radius: 9999px; font-weight: 600; font-size: .9rem; text-decoration: none !important; }
.rt-content .table-cta-text { color: var(--rt-muted); font-size: .85rem; }

/* Top list */
.rt-content .top-list { margin: 1.5rem 0; }
.rt-content .top-list-tabs, .rt-content .verification-tabs, .rt-content .detailed-review-tabs { display: flex; flex-wrap: wrap; gap: .5rem; margin-bottom: 1rem; }
.rt-content [role="tab"] { border: 1px solid var(--rt-border); background: var(--rt-surface); color: var(--rt-muted); padding: .35rem .9rem; border-radius: 9999px; font-size: .85rem; cursor: pointer; }
.rt-content [role="tab"].active, .rt-content [role="tab"][aria-selected="true"] { background: var(--rt-accent); border-color: var(--rt-accent); color: #fff; }
.rt-content .top-list-item { display: grid; grid-template-columns: 1.1fr 1.4fr 1fr; gap: 1rem; align-items: start; position: relative; border: 1px solid var(--rt-border); border-radius: var(--rt-radius); padding: 1.25rem 1.25rem 1.25rem 2.5rem; margin-bottom: 1rem; background: var(--rt-surface); }
.rt-content .top-list-item[hidden] { display: none; }
.rt-content .top-list-item[data-rank]::before { content: attr(data-rank); position: absolute; top: 0; left: 0; width: 32px; height: 32px; background: linear-gradient(135deg, var(--rt-accent), var(--rt-accent-2)); color: #fff; font-weight: 700; font-size: .85rem; display: flex; align-items: center; justify-content: center; border-radius: var(--rt-radius) 0 8px 0; }
.rt-content .top-list-rank { display: none; }
.rt-content .top-list-logo { width: 100%; max-height: 120px; object-fit: contain; margin: 0 0 .5rem; }
.rt-content .top-list-identity h3 { margin: 0 0 .25rem; font-size: 1.1rem; }
.rt-content .top-list-badge { display: inline-block; background: color-mix(in srgb, var(--rt-accent) 12%, var(--rt-surface)); color: var(--rt-accent); border-radius: 9999px; padding: .1rem .6rem; font-size: .75rem; font-weight: 600; }
.rt-content .top-list-rating { color: #d97706; font-size: .9rem; margin-top: .25rem; }
.rt-content .top-list-bonus-banner { background: var(--rt-answer-bg); border: 1px dashed var(--rt-answer-border); border-radius: 8px; padding: .5rem .75rem; display: flex; gap: .5rem; align-items: center; font-weight: 600; margin-bottom: .75rem; }
.rt-content .bonus-value { margin-left: auto; color: var(--rt-accent); }
.rt-content .top-list-info-grid { display: grid; grid-template-columns: 1fr 1fr; gap: .4rem .75rem; font-size: .85rem; }
.rt-content .info-item { display: flex; gap: .35rem; align-items: baseline; }
.rt-content .info-item strong { color: var(--rt-muted); font-weight: 500; }
.rt-content .top-list-cta-column { text-align: center; }
.rt-content .cta-sparkle { font-weight: 700; color: var(--rt-accent); margin: 0; }
.rt-content .cta-sub { font-size: .8rem; color: var(--rt-muted); margin: 0 0 .5rem; }
.rt-content .top-list-review-link { display: block; margin-top: .5rem; font-size: .85rem; }
.rt-content .top-list-details { grid-column: 1 / -1; border-top: 1px solid var(--rt-border); padding-top: 1rem; }
.rt-content .top-list-details[data-expandable="true"]:not(.is-open) > :not(.rt-expand) { display: none; }
.rt-content .rt-expand { background: none; border: 1px solid var(--rt-border); border-radius: 9999px; padding: .3rem .9rem; font-size: .85rem; cursor: pointer; color: var(--rt-muted); }
.rt-content .detail-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: .5rem; margin-bottom: .75rem; }
.rt-content .detail-card { background: var(--rt-surface-2); border-radius: 8px; padding: .6rem .75rem; font-size: .85rem; display: grid; }
.rt-content .detail-value { font-weight: 700; }
.rt-content .detail-sub { color: var(--rt-muted); font-size: .75rem; }
.rt-content .expert-review { background: var(--rt-note-bg); border-radius: 8px; padding: .75rem 1rem; margin: .75rem 0; }
.rt-content .expert-author { display: flex; align-items: center; gap: .5rem; font-size: .85rem; color: var(--rt-muted); }
.rt-content .expert-avatar { width: 32px; height: 32px; border-radius: 50%; object-fit: cover; margin: 0; }
.rt-content .payment-methods ul, .rt-content .recommendation-points ul { margin: 0; padding-left: 1.1rem; }

/* Verification points, detailed review */
.rt-content .verification-points { margin: 1.5rem 0; border: 1px solid var(--rt-border); border-radius: var(--rt-radius); padding: 1.5rem; }
.rt-content .verification-heading { margin-top: 0; }
.rt-content .verification-points-inner { display: flex; flex-direction: column; gap: .75rem; }
.rt-content .verification-item { display: flex; gap: 1rem; padding: 1rem; border: 1px solid var(--rt-border); border-radius: 8px; align-items: flex-start; }
.rt-content .verification-item[hidden] { display: none; }
.rt-content .verification-icon img { width: 48px; height: 48px; object-fit: contain; margin: 0; }
.rt-content .verification-title { margin: 0 0 .35rem; }
.rt-content .verification-check { color: var(--rt-good-text); margin-right: .25rem; }
.rt-content .verification-sections { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: .5rem; margin: .5rem 0; font-size: .85rem; }
.rt-content .verification-section { background: var(--rt-surface-2); border-radius: 6px; padding: .5rem .75rem; display: grid; }
.rt-content .verification-pointers { margin: .5rem 0 0; }
.rt-content .detailed-review { margin: 1.5rem 0; }
.rt-content .detailed-review-heading { margin-top: 0; }
.rt-content .detailed-review-item { border: 1px solid var(--rt-border); border-radius: var(--rt-radius); padding: 1.25rem; margin-bottom: 1.25rem; background: var(--rt-surface); }
.rt-content .detailed-review-item[hidden] { display: none; }
.rt-content .detailed-review-item h3 { margin-top: 0; }
.rt-content .detailed-review-item .rank { color: var(--rt-accent); margin-right: .35rem; }
.rt-content .review-hero { display: grid; grid-template-columns: 200px 1fr; gap: 1rem; align-items: start; }
.rt-content .review-hero img { width: 100%; margin: 0; }
.rt-content .review-hero h4 { margin: 0 0 .35rem; }
.rt-content .review-specs { margin: 1rem 0; font-size: .85rem; }
.rt-content .review-specs th { width: 40%; text-align: left; background: var(--rt-surface-2); }
.rt-content .review-merits { background: var(--rt-good-bg); border-radius: 8px; padding: .75rem 1rem; margin: .5rem 0; }
.rt-content .review-demerits { background: var(--rt-bad-bg); border-radius: 8px; padding: .75rem 1rem; margin: .5rem 0; }
.rt-content .merit-heading { color: var(--rt-good-text); margin: 0 0 .35rem; }
.rt-content .demerit-heading { color: var(--rt-bad-text); margin: 0 0 .35rem; }
.rt-content .review-merits ul, .rt-content .review-demerits ul { margin: 0; padding-left: 1.1rem; }
.rt-content .review-editorial { background: var(--rt-answer-bg); border-radius: 8px; padding: .75rem 1rem; margin: .75rem 0; }
.rt-content .review-editorial p { margin: .25rem 0 0; }
.rt-content .review-ctas { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: .75rem; }
.rt-content .secondary-cta { display: inline-block; border: 1px solid var(--rt-border); border-radius: 9999px; padding: .55rem 1.25rem; font-weight: 600; font-size: .9rem; }

/* Image slider, call to action, figure, sources */
.rt-content .image-slider { margin: 1.5rem 0; border: 1px solid var(--rt-border); border-radius: var(--rt-radius); padding: 1rem; background: var(--rt-surface-2); position: relative; }
.rt-content .slider-track { display: flex; gap: .75rem; overflow-x: auto; scroll-snap-type: x mandatory; scroll-behavior: smooth; padding-bottom: .5rem; scrollbar-width: thin; }
.rt-content .slider-item { flex: 0 0 calc((100% - .75rem * (var(--rt-visible, 3) - 1)) / var(--rt-visible, 3)); scroll-snap-align: start; border-radius: 8px; overflow: hidden; }
.rt-content .slider-image { width: 100%; height: 200px; object-fit: cover; margin: 0; }
.rt-content .slider-caption { font-size: .8rem; color: var(--rt-muted); margin: .35rem 0 0; text-align: center; }
.rt-content .rt-slider-nav { position: absolute; top: 50%; transform: translateY(-50%); width: 34px; height: 34px; border-radius: 50%; border: 1px solid var(--rt-border); background: var(--rt-surface); cursor: pointer; font-size: 1.1rem; line-height: 1; }
.rt-content .rt-slider-nav[data-dir="prev"] { left: .35rem; }
.rt-content .rt-slider-nav[data-dir="next"] { right: .35rem; }
/* The pause button on anything that moves by itself (the slider, a posts carousel, a slideshow hero), drawn in CSS. */
.rt-content .rt-autoplay-toggle { position: absolute; right: .35rem; bottom: .35rem; z-index: 2; width: 34px; height: 34px; border-radius: 50%; border: 1px solid var(--rt-border); background: var(--rt-surface); cursor: pointer; padding: 0; }
.rt-content .rt-autoplay-toggle::before { content: ""; position: absolute; inset: 0; margin: auto; width: 10px; height: 12px; background: linear-gradient(90deg, var(--rt-text) 0 35%, transparent 35% 65%, var(--rt-text) 65%); }
.rt-content .rt-autoplay-toggle[aria-pressed="true"]::before { width: 10px; height: 12px; background: var(--rt-text); clip-path: polygon(10% 0, 100% 50%, 10% 100%); }
.rt-content .cta, .rt-content .call-to-action, .rt-content .cta-box { background: color-mix(in srgb, var(--rt-accent) 8%, var(--rt-surface)); border: 1px solid color-mix(in srgb, var(--rt-accent) 30%, var(--rt-border)); border-radius: var(--rt-radius); padding: 2rem; margin: 2rem 0; text-align: center; }
.rt-content .cta p:last-child, .rt-content .call-to-action p:last-child { margin-bottom: 0; }
.rt-content .article-figure { margin: 1.5rem 0; }
.rt-content .article-figure img { width: 100%; margin: 0; }
.rt-content .citation-list, .rt-content .sources-section { margin: 2rem 0 0; padding-top: 1rem; border-top: 1px solid var(--rt-border); font-size: .9rem; color: var(--rt-muted); }
.rt-content .citation-list ol, .rt-content .sources-section ol { padding-left: 1.25rem; }
.rt-content aside.disclaimer { font-size: .85rem; color: var(--rt-muted); border-top: 1px solid var(--rt-border); padding-top: 1rem; margin-top: 2rem; }

/* Hero, feature grid */
.rt-content .hero { display: grid; gap: 2rem; align-items: center; padding: 3rem 2rem; margin: 2rem 0; border-radius: calc(var(--rt-radius) + 4px); background: var(--rt-band, var(--rt-accent-soft)); text-align: center; }
.rt-content .hero[data-align="left"] { grid-template-columns: 1.2fr 1fr; text-align: left; }
.rt-content .hero-eyebrow { font-size: .75rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--rt-accent); margin: 0 0 .75rem; }
.rt-content .hero-title { font-size: clamp(1.75rem, 4vw, 2.5rem); line-height: 1.15; font-weight: 800; margin: 0 0 1rem; border: 0; padding: 0; }
.rt-content .hero-subtitle { font-size: 1.125rem; color: var(--rt-muted); max-width: 40rem; margin: 0 auto 1.5rem; }
.rt-content .hero[data-align="left"] .hero-subtitle { margin-left: 0; }
.rt-content .hero-actions { display: flex; flex-wrap: wrap; gap: .75rem; justify-content: center; }
.rt-content .hero[data-align="left"] .hero-actions { justify-content: flex-start; }
.rt-content .hero-cta { display: inline-block; padding: .75rem 1.5rem; border-radius: 9999px; font-weight: 600; }
.rt-content .hero-cta-secondary { border: 1px solid var(--rt-border); color: var(--rt-text); }
.rt-content .hero-media { margin: 0; }
.rt-content .hero-media img { width: 100%; border-radius: var(--rt-radius); margin: 0; }
.rt-content .feature-grid { margin: 2rem 0; }
.rt-content .feature-grid-heading { text-align: center; border: 0; margin: 0 0 1.5rem; padding: 0; }
.rt-content .feature-grid-inner { display: grid; gap: 1rem; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.rt-content .feature-grid[data-columns="2"] .feature-grid-inner { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.rt-content .feature-grid[data-columns="4"] .feature-grid-inner { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.rt-content .feature { padding: 1.25rem; border: 1px solid var(--rt-border); border-radius: var(--rt-radius); background: var(--rt-surface); }
.rt-content .feature-icon { font-size: 1.75rem; display: block; margin-bottom: .5rem; }
.rt-content .rt-icon { display: inline-block; width: 1em; height: 1em; vertical-align: -.125em; }
.rt-content .feature-title { margin: 0 0 .25rem; font-size: 1.05rem; }
.rt-content .feature-text { margin: 0; font-size: .95rem; color: var(--rt-muted); }

/* Tones and palettes: the two dials every section shares. Palettes first, tones after, so a tone's accent wins on the same element. */
.rt-content [data-palette="brand"] { --rt-palette-accent: var(--rt-brand-accent); --rt-palette-accent-2: var(--rt-brand-accent-2); --rt-accent-soft: color-mix(in srgb, var(--rt-brand-accent) 10%, var(--rt-surface)); --rt-accent-strong: color-mix(in srgb, var(--rt-brand-accent) 78%, #000); --rt-accent-line: color-mix(in srgb, var(--rt-brand-accent) 30%, var(--rt-border)); --rt-accent-light: color-mix(in srgb, var(--rt-brand-accent) 65%, #fff); }
.rt-content [data-palette="warm"] { --rt-palette-accent: #c2410c; --rt-palette-accent-2: #f97316; --rt-accent-soft: #fff7ed; --rt-accent-strong: #9a3412; --rt-accent-line: #fed7aa; --rt-accent-light: #fb923c; }
.rt-content [data-palette="professional"] { --rt-palette-accent: #334155; --rt-palette-accent-2: #475569; --rt-accent-soft: #f1f5f9; --rt-accent-strong: #1e293b; --rt-accent-line: #cbd5e1; --rt-accent-light: #f87171; }
.rt-content [data-palette="ocean"] { --rt-palette-accent: #2563eb; --rt-palette-accent-2: #3b82f6; --rt-accent-soft: #eff6ff; --rt-accent-strong: #1d4ed8; --rt-accent-line: #bfdbfe; --rt-accent-light: #60a5fa; }
.rt-content [data-palette="forest"] { --rt-palette-accent: #047857; --rt-palette-accent-2: #10b981; --rt-accent-soft: #ecfdf5; --rt-accent-strong: #065f46; --rt-accent-line: #a7f3d0; --rt-accent-light: #34d399; }
.rt-content [data-palette] { --rt-accent: var(--rt-palette-accent); --rt-accent-2: var(--rt-palette-accent-2); }
.rt-content [data-tone="tinted"] { --rt-band: var(--rt-accent-soft); --rt-border: var(--rt-accent-line); }
.rt-content [data-tone="contrast"], .rt-content [data-tone="image"] { --rt-band: #0f172a; --rt-surface: #1e293b; --rt-surface-2: #273449; --rt-text: #ffffff; --rt-muted: #cbd5e1; --rt-border: #334155; --rt-accent: var(--rt-accent-light); --rt-accent-2: var(--rt-accent-light); --rt-accent-soft: rgba(255,255,255,.06); --rt-accent-line: #334155; color: var(--rt-text); }
.rt-content [data-tone="accent"] { --rt-band: var(--rt-palette-accent); --rt-text: #ffffff; --rt-muted: rgba(255,255,255,.85); --rt-border: rgba(255,255,255,.3); --rt-surface: rgba(255,255,255,.12); --rt-surface-2: rgba(255,255,255,.18); --rt-accent-soft: rgba(255,255,255,.14); --rt-accent: #ffffff; --rt-accent-2: #ffffff; color: #ffffff; }
.rt-content [data-tone="accent"] :is(.hero-cta-primary, .table-cta, .top-list-cta, .primary-cta, .verification-cta, .rt-button-primary) { background: #ffffff; color: var(--rt-palette-accent) !important; }
.rt-content [data-tone="accent"] :is(.hero-cta-secondary, .rt-button-secondary) { border-color: rgba(255,255,255,.6); color: #ffffff; }
.rt-content [data-tone="image"] { background-image: linear-gradient(rgba(15, 23, 42, var(--rt-overlay, .55)), rgba(15, 23, 42, var(--rt-overlay, .55))), var(--rt-bg-image, none); background-size: cover; background-position: center; }
.dark .rt-content [data-palette="warm"], [data-theme="dark"] .rt-content [data-palette="warm"], .rt-content[data-rt-theme="dark"] [data-palette="warm"] { --rt-accent-soft: color-mix(in srgb, #f97316 18%, #18181b); --rt-accent-line: color-mix(in srgb, #f97316 40%, #374151); --rt-palette-accent: #fb923c; }
.dark .rt-content [data-palette="professional"], [data-theme="dark"] .rt-content [data-palette="professional"], .rt-content[data-rt-theme="dark"] [data-palette="professional"] { --rt-accent-soft: color-mix(in srgb, #475569 18%, #18181b); --rt-accent-line: color-mix(in srgb, #475569 40%, #374151); --rt-palette-accent: #f87171; }
.dark .rt-content [data-palette="ocean"], [data-theme="dark"] .rt-content [data-palette="ocean"], .rt-content[data-rt-theme="dark"] [data-palette="ocean"] { --rt-accent-soft: color-mix(in srgb, #3b82f6 18%, #18181b); --rt-accent-line: color-mix(in srgb, #3b82f6 40%, #374151); --rt-palette-accent: #60a5fa; }
.dark .rt-content [data-palette="forest"], [data-theme="dark"] .rt-content [data-palette="forest"], .rt-content[data-rt-theme="dark"] [data-palette="forest"] { --rt-accent-soft: color-mix(in srgb, #10b981 18%, #18181b); --rt-accent-line: color-mix(in srgb, #10b981 40%, #374151); --rt-palette-accent: #34d399; }
.dark .rt-content [data-palette="brand"], [data-theme="dark"] .rt-content [data-palette="brand"], .rt-content[data-rt-theme="dark"] [data-palette="brand"] { --rt-accent-soft: color-mix(in srgb, var(--rt-brand-accent) 18%, #18181b); }
/* Sections: width, band, padding. --rt-content-width and --rt-wide-width are a site's to set. */
.rt-content .rt-section, .rt-content .hero, .rt-content .rt-cta-band, .rt-content .rt-form { background: var(--rt-band, transparent); color: var(--rt-text); }
.rt-content .rt-section { margin: 2rem 0; padding: var(--rt-section-pad, 3rem) 1.5rem; border-radius: var(--rt-radius); }
.rt-content .rt-section[data-padding="compact"] { --rt-section-pad: 1.5rem; }
.rt-content .rt-section[data-padding="spacious"] { --rt-section-pad: 5rem; }
.rt-content .rt-section[data-tone="plain"]:not([data-width="full"]) { padding-left: 0; padding-right: 0; }
.rt-content .rt-section[data-align="center"] { text-align: center; }
.rt-content .rt-section-inner, .rt-content .rt-cta-inner, .rt-content .rt-form-inner { max-width: var(--rt-inner, none); margin: 0 auto; }
.rt-content .rt-section-inner > :first-child, .rt-content .rt-cta-inner > :first-child { margin-top: 0; }
.rt-content .rt-section-inner > :last-child, .rt-content .rt-cta-inner > :last-child { margin-bottom: 0; }
.rt-content .rt-section-heading { margin-top: 0; border: 0; padding: 0; font-size: 1.75rem; }
.rt-content .rt-section-intro { color: var(--rt-muted); font-size: 1.1rem; max-width: 42rem; margin: 0 0 2rem; }
.rt-content .rt-section[data-align="center"] .rt-section-intro { margin-left: auto; margin-right: auto; }
.rt-content [data-width="full"] { width: var(--rt-vw); margin-left: calc(50% - var(--rt-vw) / 2); border-radius: 0; --rt-inner: var(--rt-content-width); }
.rt-content [data-width="wide"] { width: min(var(--rt-vw), var(--rt-wide-width)); margin-left: calc(50% - min(var(--rt-vw), var(--rt-wide-width)) / 2); --rt-inner: var(--rt-wide-width); }
/* Hero variants. The hero keeps its data-align layout; a variant adds the surface. */
.rt-content .hero { --rt-band: var(--rt-accent-soft); }
.rt-content .hero[data-tone] { --rt-band: initial; }
.rt-content .hero[data-tone="tinted"] { --rt-band: var(--rt-accent-soft); }
.rt-content .hero[data-tone="contrast"], .rt-content .hero[data-tone="image"] { --rt-band: #0f172a; }
.rt-content .hero[data-tone="accent"] { --rt-band: var(--rt-palette-accent); }
.rt-content .hero[data-variant="simple"] { --rt-band: transparent; padding: 1rem 0 1.5rem; margin: 0 0 1.5rem; border-radius: 0; text-align: left; }
.rt-content .hero[data-variant="simple"] .hero-subtitle { margin-left: 0; }
.rt-content .hero[data-variant="simple"] .hero-actions { justify-content: flex-start; }
.rt-content .hero[data-variant="image"] { min-height: 24rem; align-content: center; background-image: linear-gradient(rgba(15, 23, 42, var(--rt-overlay, .55)), rgba(15, 23, 42, var(--rt-overlay, .55))), var(--rt-bg-image, none); background-size: cover; background-position: center; --rt-text: #ffffff; --rt-muted: rgba(255,255,255,.88); color: #ffffff; }
.rt-content .hero[data-variant="image"] .hero-eyebrow { color: rgba(255,255,255,.85); }
.rt-content .hero[data-variant="image"] .hero-cta-secondary { border-color: rgba(255,255,255,.6); color: #ffffff; }
.rt-content .hero .hero-inner { max-width: var(--rt-inner, none); margin-left: auto; margin-right: auto; }
.rt-content .hero[data-width="full"], .rt-content .hero[data-width="wide"] { padding-left: 1.5rem; padding-right: 1.5rem; }
.rt-content .hero[data-variant="video"], .rt-content .hero[data-variant="slider"] { position: relative; overflow: hidden; min-height: 24rem; align-content: center; --rt-band: #0f172a; --rt-text: #ffffff; --rt-muted: rgba(255,255,255,.88); color: #ffffff; }
.rt-content .hero-video, .rt-content .hero-slides { position: absolute; inset: 0; z-index: 0; margin: 0; }
.rt-content .hero-video { width: 100%; height: 100%; object-fit: cover; }
.rt-content .hero-slide { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; border-radius: 0; margin: 0; opacity: 0; transition: opacity .8s ease; }
.rt-content .hero-slide.is-active { opacity: 1; }
.rt-content .hero[data-variant="video"]::before, .rt-content .hero[data-variant="slider"]::before { content: ""; position: absolute; inset: 0; z-index: 1; background: rgba(15, 23, 42, var(--rt-overlay, .55)); }
.rt-content .hero[data-variant="video"] .hero-inner, .rt-content .hero[data-variant="slider"] .hero-inner { position: relative; z-index: 2; }
.rt-content .hero[data-variant="video"] .hero-eyebrow, .rt-content .hero[data-variant="slider"] .hero-eyebrow { color: rgba(255,255,255,.85); }
.rt-content .hero[data-variant="video"] .hero-cta-secondary, .rt-content .hero[data-variant="slider"] .hero-cta-secondary { border-color: rgba(255,255,255,.6); color: #ffffff; }
.rt-content .hero[data-variant="split"] { grid-template-columns: 1.2fr 1fr; text-align: left; }
.rt-content .hero[data-variant="split"] .hero-subtitle { margin-left: 0; }
.rt-content .hero[data-variant="split"] .hero-actions { justify-content: flex-start; }
/* Columns */
.rt-content .rt-columns { display: grid; gap: 1.5rem; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 1.5rem 0; }
.rt-content .rt-columns[data-columns="3"] { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.rt-content .rt-columns[data-columns="4"] { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.rt-content .rt-columns[data-ratio="wideLeft"] { grid-template-columns: 2fr 1fr; }
.rt-content .rt-columns[data-ratio="wideRight"] { grid-template-columns: 1fr 2fr; }
.rt-content .rt-column { min-width: 0; }
.rt-content .rt-column > :first-child { margin-top: 0; }
.rt-content .rt-column > :last-child { margin-bottom: 0; }
/* Cards: the feature grid's variants and styles */
.rt-content .feature-grid[data-variant="image"] .feature { padding: 0; overflow: hidden; }
.rt-content .feature-grid[data-variant="image"] .feature-title, .rt-content .feature-grid[data-variant="image"] .feature-text { padding: 0 1.25rem; }
.rt-content .feature-grid[data-variant="image"] .feature-title { margin-top: 1rem; }
.rt-content .feature-grid[data-variant="image"] .feature-text { padding-bottom: 1.25rem; }
.rt-content .feature-image { display: block; width: 100%; aspect-ratio: 16 / 10; object-fit: cover; border-radius: 0; margin: 0; }
.rt-content .feature-link { display: block; color: inherit; text-decoration: none !important; font-weight: inherit; }
.rt-content .feature:has(> .feature-link) { transition: border-color .15s, transform .15s; }
.rt-content .feature:has(> .feature-link):hover { border-color: var(--rt-accent); transform: translateY(-2px); }
.rt-content .feature-grid[data-style="flat"] .feature { border: 0; background: transparent; padding: 0; }
.rt-content .feature-grid[data-style="flat"][data-variant="image"] .feature-title, .rt-content .feature-grid[data-style="flat"][data-variant="image"] .feature-text { padding-left: 0; padding-right: 0; }
.rt-content .feature-grid[data-style="flat"] .feature-image { border-radius: var(--rt-radius); }
.rt-content .feature-grid[data-style="filled"] .feature { background: var(--rt-surface-2); border-color: transparent; }
/* Cards: stats, link tiles, testimonials, people, pricing */
.rt-content .feature-number { display: block; font-size: 2.5rem; font-weight: 800; line-height: 1; letter-spacing: -.02em; color: var(--rt-accent); margin-bottom: .5rem; }
.rt-content .feature-grid[data-variant="number"] .feature { text-align: center; }
.rt-content .feature-grid[data-variant="link"] .feature-title::after { content: " →"; color: var(--rt-accent); }
.rt-content .feature-quote { margin: 0 0 1rem; font-size: 1.05rem; line-height: 1.6; font-style: italic; }
.rt-content .feature-quote::before { content: "“"; color: var(--rt-accent); font-size: 1.6em; line-height: 0; margin-right: .1em; font-style: normal; }
.rt-content .feature-person { display: flex; align-items: center; gap: .75rem; }
.rt-content .feature-avatar { width: 3rem; height: 3rem; border-radius: 50%; object-fit: cover; margin: 0; flex-shrink: 0; }
.rt-content .feature-person-text { display: flex; flex-direction: column; line-height: 1.3; }
.rt-content .feature-person-text .feature-title { font-size: .95rem; font-weight: 700; margin: 0; }
.rt-content .feature-meta { font-size: .85rem; color: var(--rt-muted); }
.rt-content .feature-grid[data-variant="people"] .feature { text-align: center; }
.rt-content .feature-grid[data-variant="people"] .feature-avatar { width: 5rem; height: 5rem; margin: 0 auto .75rem; }
.rt-content .feature-grid[data-variant="people"] .feature-meta { display: block; margin-bottom: .5rem; }
.rt-content .feature-price { font-size: 2rem; font-weight: 800; margin: .25rem 0 1rem; line-height: 1; }
.rt-content .feature-price .feature-meta { font-size: .9rem; font-weight: 500; margin-left: .25rem; }
.rt-content .feature-list { list-style: none; padding: 0; margin: 0 0 1.25rem; font-size: .95rem; }
.rt-content .feature-list li { position: relative; padding-left: 1.4rem; margin-bottom: .4rem; }
.rt-content .feature-list li::before { content: "✓"; position: absolute; left: 0; color: var(--rt-accent); font-weight: 700; }
.rt-content .feature.is-highlighted { border-color: var(--rt-accent); box-shadow: 0 0 0 1px var(--rt-accent); }
.rt-content .feature-grid[data-variant="pricing"] .feature .hero-cta { display: block; text-align: center; }
/* Steps */
.rt-content .rt-steps { margin: 2rem 0; }
.rt-content .rt-steps-heading { margin-top: 0; border: 0; padding: 0; }
.rt-content .rt-steps-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 1.25rem; }
.rt-content .rt-step { display: grid; grid-template-columns: 2.5rem 1fr; gap: 1rem; margin: 0; align-items: start; }
.rt-content .rt-step-number { display: flex; align-items: center; justify-content: center; width: 2.5rem; height: 2.5rem; border-radius: 50%; background: var(--rt-accent); color: #fff; font-weight: 700; font-size: 1.05rem; }
.rt-content [data-tone="accent"] .rt-step-number { background: #fff; color: var(--rt-palette-accent); }
.rt-content .rt-step-title { margin: .35rem 0 .25rem; font-size: 1.1rem; }
.rt-content .rt-step-text { margin: 0; color: var(--rt-muted); }
.rt-content .rt-steps[data-variant="timeline"] .rt-steps-list { position: relative; gap: 1.75rem; }
.rt-content .rt-steps[data-variant="timeline"] .rt-steps-list::before { content: ""; position: absolute; left: 1.25rem; top: 1.25rem; bottom: 1.25rem; width: 2px; background: var(--rt-border); transform: translateX(-50%); }
.rt-content .rt-steps[data-variant="timeline"] .rt-step-number { position: relative; z-index: 1; box-shadow: 0 0 0 4px var(--rt-surface); }
.rt-content .rt-steps[data-variant="flow"] .rt-steps-list { grid-template-columns: repeat(auto-fit, minmax(11rem, 1fr)); gap: 1rem; }
.rt-content .rt-steps[data-variant="flow"] .rt-step { grid-template-columns: 1fr; justify-items: center; text-align: center; padding: 1.25rem 1rem; border: 1px solid var(--rt-border); border-radius: var(--rt-radius); background: var(--rt-surface); }
.rt-content .rt-steps[data-variant="flow"] .rt-step-title { margin-top: .6rem; }
/* The call-to-action band */
.rt-content .rt-cta-band { margin: 2rem 0; padding: 3.5rem 1.5rem; border-radius: var(--rt-radius); text-align: center; }
.rt-content .rt-cta-band[data-align="left"] { text-align: left; }
.rt-content .rt-cta-band:not([data-width="full"]):not([data-width="wide"]) .rt-cta-inner { max-width: 44rem; }
.rt-content .rt-cta-eyebrow { font-size: .75rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--rt-accent); margin: 0 0 .75rem; }
.rt-content [data-tone="accent"] .rt-cta-eyebrow { color: rgba(255,255,255,.85); }
.rt-content .rt-cta-heading { font-size: clamp(1.5rem, 3.5vw, 2.25rem); line-height: 1.15; font-weight: 800; margin: 0 0 .75rem; border: 0; padding: 0; }
.rt-content .rt-cta-text { font-size: 1.1rem; color: var(--rt-muted); max-width: 40rem; margin: 0 auto 1.5rem; }
.rt-content .rt-cta-band[data-align="left"] .rt-cta-text { margin-left: 0; }
.rt-content .rt-cta-actions { display: flex; flex-wrap: wrap; gap: .75rem; justify-content: center; }
.rt-content .rt-cta-band[data-align="left"] .rt-cta-actions { justify-content: flex-start; }
/* Sticky navigation: anchors to the page's sections, under the site header. --rt-sticky-top is a site's to set. */
.rt-content .rt-sticky-nav { position: sticky; top: var(--rt-sticky-top, 4.5rem); z-index: 5; margin: 1rem 0 2rem; padding: .35rem .5rem; border: 1px solid var(--rt-border); border-radius: 999px; background: color-mix(in srgb, var(--rt-surface) 92%, transparent); backdrop-filter: blur(8px); overflow-x: auto; scrollbar-width: none; }
.rt-content .rt-sticky-nav ul { display: flex; gap: .25rem; list-style: none; margin: 0; padding: 0; white-space: nowrap; }
.rt-content .rt-sticky-nav li { margin: 0; }
.rt-content .rt-sticky-nav a { display: inline-block; padding: .4rem .9rem; border-radius: 999px; font-size: .9rem; font-weight: 600; color: var(--rt-text); text-decoration: none; }
.rt-content .rt-sticky-nav a:hover { background: var(--rt-accent-soft); text-decoration: none; }
.rt-content .rt-sticky-nav a[aria-current="true"] { background: var(--rt-accent); color: #fff; }
.rt-content .rt-sticky-nav.is-stuck { box-shadow: 0 8px 24px -16px rgba(0, 0, 0, .35); }
/* Posts: cards of the site's articles, filled by the platform at publish */
.rt-content .rt-posts { margin: 2rem 0; }
.rt-content .rt-posts-heading { margin-top: 0; border: 0; padding: 0; }
.rt-content .rt-posts-list { display: grid; gap: 1.25rem; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.rt-content .rt-posts[data-columns="2"] .rt-posts-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.rt-content .rt-post-card { margin: 0; border: 1px solid var(--rt-border); border-radius: var(--rt-radius); background: var(--rt-surface); overflow: hidden; transition: transform .15s, border-color .15s; }
.rt-content .rt-post-card:hover { transform: translateY(-2px); border-color: var(--rt-accent); }
.rt-content .rt-post-link { display: block; height: 100%; color: inherit; text-decoration: none !important; font-weight: inherit; }
.rt-content .rt-post-image { display: block; width: 100%; aspect-ratio: 16 / 9; object-fit: cover; border-radius: 0; margin: 0; }
.rt-content .rt-post-body { padding: 1rem 1.25rem 1.25rem; }
.rt-content .rt-post-hub { display: inline-block; font-size: .72rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--rt-accent); margin-bottom: .4rem; }
.rt-content .rt-post-title { margin: 0 0 .5rem; font-size: 1.05rem; line-height: 1.4; }
.rt-content .rt-post-excerpt { margin: 0 0 .6rem; font-size: .92rem; color: var(--rt-muted); display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.rt-content .rt-post-date { display: block; font-size: .8rem; color: var(--rt-muted); }
.rt-content .rt-posts[data-layout="featured"] .rt-post-card.is-featured { grid-column: 1 / -1; }
.rt-content .rt-posts[data-layout="featured"] .rt-post-card.is-featured .rt-post-link { display: grid; grid-template-columns: 1.2fr 1fr; align-items: center; }
.rt-content .rt-posts[data-layout="featured"] .rt-post-card.is-featured .rt-post-image { aspect-ratio: 4 / 3; height: 100%; }
.rt-content .rt-posts[data-layout="featured"] .rt-post-card.is-featured .rt-post-title { font-size: 1.5rem; }
.rt-content .rt-posts[data-layout="featured"] .rt-post-card.is-featured .rt-post-body { padding: 1.5rem 2rem; }
.rt-content .rt-posts { position: relative; }
.rt-content .rt-posts[data-layout="list"] .rt-posts-list, .rt-content .rt-posts[data-layout="single"] .rt-posts-list { grid-template-columns: 1fr; }
.rt-content .rt-posts[data-layout="list"] .rt-post-link, .rt-content .rt-posts[data-layout="single"] .rt-post-link { display: grid; grid-template-columns: 11rem 1fr; align-items: center; }
.rt-content .rt-posts[data-layout="list"] .rt-post-image, .rt-content .rt-posts[data-layout="single"] .rt-post-image { aspect-ratio: 4 / 3; height: 100%; }
.rt-content .rt-posts[data-layout="single"] .rt-post-link { grid-template-columns: 1.2fr 1fr; }
.rt-content .rt-posts[data-layout="single"] .rt-post-title { font-size: 1.5rem; }
.rt-content .rt-posts[data-layout="carousel"] .rt-posts-list { display: flex; gap: 1rem; overflow-x: auto; scroll-snap-type: x mandatory; scroll-behavior: smooth; padding-bottom: .5rem; scrollbar-width: thin; }
.rt-content .rt-posts[data-layout="carousel"] .rt-post-card { flex: 0 0 min(80%, 20rem); scroll-snap-align: start; }
.rt-content .rt-posts[data-layout="spotlight"] .rt-posts-list { grid-template-columns: 3fr 2fr; }
.rt-content .rt-posts[data-layout="spotlight"] .rt-post-card.is-featured { grid-row: 1 / span 12; }
.rt-content .rt-posts[data-layout="spotlight"] .rt-post-card:not(.is-featured) .rt-post-link { display: grid; grid-template-columns: 6rem 1fr; align-items: center; }
.rt-content .rt-posts[data-layout="spotlight"] .rt-post-card:not(.is-featured) .rt-post-image { aspect-ratio: 1; height: 100%; }
.rt-content .rt-posts[data-layout="spotlight"] .rt-post-card:not(.is-featured) .rt-post-body { padding: .75rem 1rem; }
.rt-content .rt-posts[data-layout="spotlight"] .rt-post-card:not(.is-featured) .rt-post-excerpt { display: none; }
.rt-content .rt-posts[data-layout="spotlight"] .rt-post-card:not(.is-featured) .rt-post-title { font-size: .95rem; }
.rt-content .rt-posts[data-layout="showcase"] .rt-posts-list { grid-template-columns: 2fr 1fr; grid-auto-flow: dense; }
.rt-content .rt-posts[data-layout="showcase"] .rt-post-card:nth-child(-n+2) { grid-column: 1; }
.rt-content .rt-posts[data-layout="showcase"] .rt-post-card:nth-child(n+3) { grid-column: 2; }
.rt-content .rt-posts[data-layout="showcase"] .rt-post-card:nth-child(n+3) .rt-post-image { display: none; }
.rt-content .rt-posts[data-layout="showcase"] .rt-post-card:nth-child(n+3) .rt-post-excerpt { display: none; }
.rt-content .rt-posts[data-layout="showcase"] .rt-post-card:nth-child(n+3) .rt-post-title { font-size: .95rem; }
.rt-content .rt-posts[data-layout="showcase"] .rt-post-card:nth-child(n+3) .rt-post-body { padding: .75rem 1rem; }
.rt-content .rt-posts[data-layout="ranking"] .rt-posts-list { grid-template-columns: 1fr; counter-reset: rt-rank; gap: .75rem; }
.rt-content .rt-posts[data-layout="ranking"] .rt-post-card { counter-increment: rt-rank; }
.rt-content .rt-posts[data-layout="ranking"] .rt-post-link { display: grid; grid-template-columns: 2.5rem 5rem 1fr; align-items: center; gap: .75rem; padding-right: 1rem; }
.rt-content .rt-posts[data-layout="ranking"] .rt-post-link::before { content: counter(rt-rank); font-size: 1.5rem; font-weight: 800; color: var(--rt-accent); text-align: center; }
.rt-content .rt-posts[data-layout="ranking"] .rt-post-image { aspect-ratio: 1; height: 100%; }
.rt-content .rt-posts[data-layout="ranking"] .rt-post-body { padding: .6rem 0; }
.rt-content .rt-posts[data-layout="ranking"] .rt-post-excerpt { display: none; }
.rt-content .rt-posts[data-layout="ranking"] .rt-post-title { font-size: .95rem; margin-bottom: .2rem; }
.rt-content .rt-posts[data-layout="strip"] .rt-posts-list { grid-template-columns: repeat(auto-fit, minmax(12rem, 1fr)); gap: .75rem; }
.rt-content .rt-posts[data-layout="strip"] .rt-post-image { aspect-ratio: 16 / 9; }
.rt-content .rt-posts[data-layout="strip"] .rt-post-body { padding: .75rem .9rem .9rem; }
.rt-content .rt-posts[data-layout="strip"] .rt-post-title { font-size: .95rem; }
.rt-content .rt-posts-groups { display: grid; gap: 2rem; }
.rt-content .rt-posts-group-title { margin: 0 0 .75rem; font-size: 1.15rem; }
.rt-content .rt-posts-group-title a { color: inherit; }
/* Hubs and child pages */
.rt-content .rt-hubs, .rt-content .rt-children { margin: 2rem 0; }
.rt-content .rt-hubs-heading, .rt-content .rt-children-heading { margin-top: 0; border: 0; padding: 0; }
.rt-content .rt-hubs-list { display: grid; gap: 1rem; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.rt-content .rt-hubs[data-columns="2"] .rt-hubs-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.rt-content .rt-hubs[data-layout="list"] .rt-hubs-list { grid-template-columns: 1fr; gap: .5rem; }
.rt-content .rt-hub-card { display: block; border: 1px solid var(--rt-border); border-radius: var(--rt-radius); background: var(--rt-surface); overflow: hidden; color: inherit; text-decoration: none !important; font-weight: inherit; transition: transform .15s, border-color .15s; }
.rt-content .rt-hub-card:hover { transform: translateY(-2px); border-color: var(--rt-accent); }
.rt-content .rt-hub-image { display: block; width: 100%; aspect-ratio: 16 / 9; object-fit: cover; border-radius: 0; margin: 0; }
.rt-content .rt-hub-body { display: block; padding: .9rem 1.1rem 1.1rem; }
.rt-content .rt-hub-name { display: block; font-weight: 700; font-size: 1.05rem; }
.rt-content .rt-hub-count { display: block; font-size: .8rem; color: var(--rt-muted); margin-top: .15rem; }
.rt-content .rt-hub-description { margin: .5rem 0 0; font-size: .9rem; color: var(--rt-muted); }
.rt-content .rt-hubs[data-layout="list"] .rt-hub-card { display: grid; grid-template-columns: 1fr auto; align-items: center; padding: .6rem 1rem; }
.rt-content .rt-hubs[data-layout="list"] .rt-hub-image { display: none; }
.rt-content .rt-hubs[data-layout="list"] .rt-hub-body { padding: 0; display: grid; grid-template-columns: 1fr auto; gap: 1rem; align-items: baseline; }
.rt-content .rt-hubs[data-layout="list"] .rt-hub-description { display: none; }
.rt-content ul.rt-children-list { list-style: none; margin: 0; padding: 0; display: grid; gap: .5rem; }
.rt-content ul.rt-children-list li { margin: 0; padding: .6rem 1rem; border: 1px solid var(--rt-border); border-radius: 8px; background: var(--rt-surface); }
.rt-content .rt-child-link { font-weight: 600; }
.rt-content .rt-child-description { margin: .25rem 0 0; font-size: .9rem; color: var(--rt-muted); }
.rt-content div.rt-children-list { display: grid; gap: 1rem; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.rt-content .rt-children[data-columns="2"] div.rt-children-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.rt-content .rt-child-card { display: block; border: 1px solid var(--rt-border); border-radius: var(--rt-radius); background: var(--rt-surface); overflow: hidden; color: inherit; text-decoration: none !important; font-weight: inherit; }
.rt-content .rt-child-card:hover { border-color: var(--rt-accent); }
.rt-content .rt-child-image { display: block; width: 100%; aspect-ratio: 16 / 9; object-fit: cover; border-radius: 0; margin: 0; }
.rt-content .rt-child-name { display: block; font-weight: 700; padding: .9rem 1.1rem 0; }
.rt-content .rt-child-card .rt-child-description { padding: 0 1.1rem 1rem; }
/* Tabs: every panel shows until the script takes over */
.rt-content .rt-tabs { margin: 1.5rem 0; }
.rt-content .rt-tabs-bar { display: flex; flex-wrap: wrap; gap: .25rem; border-bottom: 1px solid var(--rt-border); margin-bottom: 1rem; }
.rt-content .rt-tabs-bar [role="tab"] { padding: .55rem 1rem; border: 0; border-bottom: 2px solid transparent; margin-bottom: -1px; background: none; font: inherit; font-weight: 600; color: var(--rt-muted); cursor: pointer; }
.rt-content .rt-tabs-bar [role="tab"][aria-selected="true"] { color: var(--rt-accent); border-bottom-color: var(--rt-accent); }
.rt-content .rt-tabs:not([data-rt-tabs]) .rt-tabs-bar { display: none; }
.rt-content .rt-tabs:not([data-rt-tabs]) .rt-tab::before { content: attr(data-title); display: block; font-weight: 700; margin: 1rem 0 .5rem; }
.rt-content .rt-tabs[data-rt-tabs] .rt-tab:not(.is-active) { display: none; }
.rt-content .rt-tab > :first-child { margin-top: 0; }
/* Product card */
.rt-content .rt-product { display: grid; grid-template-columns: 14rem 1fr; gap: 1.5rem; align-items: start; margin: 1.5rem 0; padding: 1.25rem; border: 1px solid var(--rt-border); border-radius: var(--rt-radius); background: var(--rt-surface); }
.rt-content .rt-product-image { width: 100%; aspect-ratio: 1; object-fit: cover; border-radius: 8px; margin: 0; }
.rt-content .rt-product-badge { display: inline-block; font-size: .72rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: #fff; background: var(--rt-accent); padding: .2rem .6rem; border-radius: 999px; margin-bottom: .5rem; }
.rt-content .rt-product-name { margin: 0 0 .25rem; font-size: 1.25rem; }
.rt-content .rt-product-subtitle { margin: 0 0 .5rem; color: var(--rt-muted); }
.rt-content .rt-product-meta { display: flex; flex-wrap: wrap; align-items: baseline; gap: .75rem; margin: 0 0 .75rem; }
.rt-content .rt-product-price { font-size: 1.5rem; font-weight: 800; }
.rt-content .rt-product-rating { color: #d97706; letter-spacing: .05em; }
.rt-content .rt-product-points { margin: 0 0 1rem; padding-left: 1.2rem; font-size: .95rem; }
.rt-content .rt-product-actions { display: flex; flex-wrap: wrap; gap: .6rem; }
/* Price table */
.rt-content .rt-price-table { margin: 2rem 0; }
.rt-content .rt-price-table-heading { margin-top: 0; border: 0; padding: 0; }
.rt-content .rt-price-table table { text-align: center; }
.rt-content .rt-price-table th[scope="row"] { text-align: left; font-weight: 500; background: var(--rt-surface); }
.rt-content .rt-price-table thead th { vertical-align: bottom; text-align: center; }
.rt-content .rt-price-table thead th:first-child { text-align: left; }
.rt-content .rt-price-table .is-highlighted { background: var(--rt-accent-soft); box-shadow: inset 0 0 0 1px var(--rt-accent-line); }
.rt-content .rt-plan-name { display: block; font-size: 1.05rem; font-weight: 700; }
.rt-content .rt-plan-price { display: block; font-size: 1.35rem; font-weight: 800; margin-top: .25rem; }
.rt-content .rt-plan-period { font-size: .8rem; font-weight: 500; color: var(--rt-muted); margin-left: .2rem; }
.rt-content .rt-price-table td[data-value="yes"] { color: var(--rt-accent); font-weight: 700; }
.rt-content .rt-price-table td[data-value="no"] { color: var(--rt-muted); }
.rt-content .rt-price-table tfoot td { border-bottom: 0; padding-top: 1rem; }
/* Definitions, accordion, notice, spacer */
.rt-content .rt-definitions { margin: 1.5rem 0; display: grid; gap: .75rem; }
.rt-content .rt-definition { padding: .9rem 1.1rem; border: 1px solid var(--rt-border); border-left: 3px solid var(--rt-accent); border-radius: 8px; background: var(--rt-surface); }
.rt-content .rt-definition dt { font-weight: 700; margin-bottom: .2rem; }
.rt-content .rt-definition dd { margin: 0; color: var(--rt-muted); }
.rt-content .rt-accordion { margin: 1.5rem 0; border: 1px solid var(--rt-border); border-radius: var(--rt-radius); overflow: hidden; }
.rt-content .rt-accordion details { margin: 0; border: 0; border-bottom: 1px solid var(--rt-border); border-radius: 0; background: var(--rt-surface); }
.rt-content .rt-accordion details:last-child { border-bottom: 0; }
.rt-content .rt-accordion summary { padding: .9rem 1.1rem; font-weight: 600; cursor: pointer; }
.rt-content .rt-accordion .faq-answer { padding: 0 1.1rem 1rem; }
.rt-content .rt-notice { display: flex; gap: .85rem; align-items: flex-start; margin: 1.5rem 0; padding: 1rem 1.25rem; border: 1px solid var(--rt-note-border); border-left-width: 4px; border-radius: 8px; background: var(--rt-note-bg); }
.rt-content .rt-notice[data-tone="success"] { background: var(--rt-good-bg); border-color: var(--rt-good-border); }
.rt-content .rt-notice[data-tone="warning"] { background: var(--rt-answer-bg); border-color: var(--rt-answer-border); }
.rt-content .rt-notice[data-tone="danger"] { background: var(--rt-bad-bg); border-color: var(--rt-bad-border); }
.rt-content .rt-notice-icon { font-size: 1.25rem; line-height: 1.4; }
.rt-content .rt-notice-body { min-width: 0; flex: 1; }
.rt-content .rt-notice-title { margin: 0 0 .25rem; font-weight: 700; }
.rt-content .rt-notice-text > :first-child { margin-top: 0; }
.rt-content .rt-notice-text > :last-child { margin-bottom: 0; }
.rt-content .rt-spacer { height: 2rem; }
.rt-content .rt-spacer[data-size="small"] { height: 1rem; }
.rt-content .rt-spacer[data-size="large"] { height: 4rem; }
/* Button */
.rt-content .rt-button-row { margin: 1.25rem 0; }
.rt-content .rt-button-row[data-align="center"] { text-align: center; }
.rt-content .rt-button-row[data-align="right"] { text-align: right; }
.rt-content .rt-button { display: inline-block; padding: .75rem 1.5rem; border-radius: 9999px; font-weight: 600; font-size: .95rem; line-height: 1.2; text-decoration: none !important; transition: transform .15s, box-shadow .15s; }
.rt-content .rt-button:hover { transform: translateY(-1px); }
.rt-content .rt-button-primary { background: linear-gradient(135deg, var(--rt-accent), var(--rt-accent-2)); color: #fff !important; }
.rt-content .rt-button-secondary { border: 1px solid var(--rt-border); color: var(--rt-text); background: var(--rt-surface); }
.rt-content .rt-button-ghost { color: var(--rt-accent); text-decoration: underline !important; text-underline-offset: .2em; padding-left: 0; padding-right: 0; }
.rt-content .rt-button[data-size="large"] { padding: 1rem 2rem; font-size: 1.05rem; }
/* The call-to-action box takes a tone and a palette like any band */
.rt-content .cta[data-tone], .rt-content .call-to-action[data-tone] { background: var(--rt-band, color-mix(in srgb, var(--rt-accent) 8%, var(--rt-surface))); border-color: var(--rt-border); color: var(--rt-text); }
.rt-content .cta[data-align="center"] { text-align: center; }
/* Gallery */
.rt-content .rt-gallery { display: grid; gap: .75rem; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 1.5rem 0; }
.rt-content .rt-gallery[data-columns="2"] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.rt-content .rt-gallery[data-columns="4"] { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.rt-content .rt-gallery-item { margin: 0; }
.rt-content .rt-gallery-item img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: var(--rt-radius); }
.rt-content .rt-gallery-item figcaption { margin-top: .4rem; font-size: .8rem; color: var(--rt-muted); text-align: left; }
.rt-content .rt-gallery-link { display: block; }
/* Video file */
.rt-content .rt-video { margin: 1.5rem 0; }
.rt-content .rt-video video { display: block; width: 100%; aspect-ratio: 16 / 9; object-fit: cover; background: #000; border-radius: var(--rt-radius); }
.rt-content .rt-video[data-aspect="4/3"] video { aspect-ratio: 4 / 3; }
.rt-content .rt-video[data-aspect="1/1"] video { aspect-ratio: 1 / 1; }
.rt-content .rt-video[data-aspect="9/16"] video { aspect-ratio: 9 / 16; max-width: 24rem; margin: 0 auto; }
/* Media beside text */
.rt-content .rt-media-text { display: grid; gap: 2rem; grid-template-columns: 1fr 1fr; align-items: center; margin: 2rem 0; }
.rt-content .rt-media-text[data-ratio="wideText"] { grid-template-columns: 2fr 3fr; }
.rt-content .rt-media-text[data-side="right"] .rt-media-text-media { order: 2; }
.rt-content .rt-media-text[data-side="right"][data-ratio="wideText"] { grid-template-columns: 3fr 2fr; }
.rt-content .rt-media-text-media { margin: 0; }
.rt-content .rt-media-text-media img { display: block; width: 100%; border-radius: var(--rt-radius); }
.rt-content .rt-media-text-body { min-width: 0; }
.rt-content .rt-media-text-body > :first-child { margin-top: 0; }
.rt-content .rt-media-text-body > :last-child { margin-bottom: 0; }
/* Logo strip */
.rt-content .rt-logos { margin: 2rem 0; text-align: center; }
.rt-content .rt-logos-heading { font-size: .8rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--rt-muted); margin: 0 0 1rem; }
.rt-content .rt-logos-list { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 1.5rem 2.5rem; list-style: none; margin: 0; padding: 0; }
.rt-content .rt-logos-list li { margin: 0; }
.rt-content .rt-logos-list img { display: block; height: 2.5rem; width: auto; max-width: 10rem; object-fit: contain; border-radius: 0; margin: 0; }
.rt-content .rt-logos[data-grayscale="true"] img { filter: grayscale(1); opacity: .7; transition: filter .2s, opacity .2s; }
.rt-content .rt-logos[data-grayscale="true"] li:hover img { filter: none; opacity: 1; }
/* Expert card */
.rt-content .rt-expert { display: flex; gap: 1.25rem; align-items: flex-start; margin: 2rem 0; padding: 1.25rem 1.5rem; border: 1px solid var(--rt-border); border-left: 4px solid var(--rt-accent); border-radius: var(--rt-radius); background: var(--rt-surface-2); }
.rt-content .rt-expert-avatar { width: 5rem; height: 5rem; border-radius: 50%; object-fit: cover; margin: 0; flex-shrink: 0; }
.rt-content .rt-expert-body { min-width: 0; }
.rt-content .rt-expert-label { font-size: .72rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--rt-accent); margin: 0 0 .25rem; }
.rt-content .rt-expert-name { font-size: 1.15rem; font-weight: 700; margin: 0; }
.rt-content .rt-expert-role { color: var(--rt-muted); margin: 0 0 .5rem; font-size: .9rem; }
.rt-content .rt-expert-bio { margin: 0 0 .5rem; font-size: .95rem; }
.rt-content .rt-expert-credentials { margin: 0 0 .5rem; padding-left: 1.1rem; font-size: .9rem; color: var(--rt-muted); }
.rt-content .rt-expert-credentials li { margin-bottom: .15rem; }
.rt-content .rt-expert-links { margin: 0; font-size: .9rem; }
.rt-content .rt-expert-links a + a::before { content: " · "; color: var(--rt-muted); }
/* Form (v3.3): a band with a heading, the fields and a button; the served script posts it in place. */
.rt-content .rt-form { margin: 2rem 0; padding: var(--rt-section-pad, 3rem) 1.5rem; border-radius: var(--rt-radius); }
.rt-content .rt-form[data-padding="compact"] { --rt-section-pad: 1.5rem; }
.rt-content .rt-form[data-padding="spacious"] { --rt-section-pad: 5rem; }
.rt-content .rt-form:not([data-tone]):not([data-width="full"]):not([data-width="wide"]) { padding-left: 0; padding-right: 0; }
.rt-content .rt-form:not([data-width="full"]):not([data-width="wide"]) .rt-form-inner { max-width: 40rem; }
.rt-content .rt-form[data-align="center"] { text-align: center; }
.rt-content .rt-form-heading { margin: 0 0 .5rem; border: 0; padding: 0; font-size: 1.6rem; }
.rt-content .rt-form-text { margin: 0 0 1.5rem; color: var(--rt-muted); }
.rt-content .rt-form-form { text-align: left; }
.rt-content .rt-form-fields { display: grid; gap: 1rem; margin: 0 0 1.25rem; }
.rt-content .rt-field { display: grid; gap: .35rem; margin: 0; font-size: .95rem; font-weight: 600; }
.rt-content .rt-field input, .rt-content .rt-field textarea, .rt-content .rt-field select { width: 100%; box-sizing: border-box; font: inherit; font-weight: 400; color: var(--rt-text); background: var(--rt-surface); border: 1px solid var(--rt-border); border-radius: calc(var(--rt-radius) * .6); padding: .65rem .85rem; }
.rt-content .rt-field input:focus, .rt-content .rt-field textarea:focus, .rt-content .rt-field select:focus { outline: 2px solid var(--rt-palette-accent, var(--rt-accent)); outline-offset: 1px; }
.rt-content .rt-field textarea { min-height: 7rem; resize: vertical; }
.rt-content .rt-field-check { grid-template-columns: auto 1fr; align-items: start; font-weight: 400; }
.rt-content .rt-field-check input { width: 1.1rem; height: 1.1rem; margin: .2rem 0 0; padding: 0; accent-color: var(--rt-palette-accent, var(--rt-accent)); }
.rt-content .rt-form-form[data-layout="inline"] .rt-form-fields { grid-template-columns: 1fr auto; align-items: end; }
.rt-content .rt-form-form[data-layout="inline"] .rt-field-label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.rt-content .rt-form-form[data-layout="inline"] .rt-form-actions { grid-column: 2; grid-row: 1; margin: 0; }
.rt-content .rt-form-form[data-layout="inline"] { display: grid; grid-template-columns: 1fr auto; column-gap: .75rem; align-items: start; }
.rt-content .rt-form-form[data-layout="inline"] .rt-form-fields { grid-column: 1; grid-template-columns: 1fr; margin: 0; }
.rt-content .rt-form-form[data-layout="inline"] .rt-form-hp, .rt-content .rt-form-form[data-layout="inline"] .rt-form-consent, .rt-content .rt-form-form[data-layout="inline"] .rt-form-status { grid-column: 1 / -1; }
.rt-content .rt-form-form[data-layout="inline"] .hero-cta { padding-top: .7rem; padding-bottom: .7rem; white-space: nowrap; }
.rt-content .rt-form-actions { margin: 0; }
.rt-content .rt-form-actions button { cursor: pointer; border: 0; font: inherit; }
.rt-content .rt-form-actions button[disabled] { opacity: .6; cursor: progress; }
.rt-content .rt-form-consent { margin: .75rem 0 0; font-size: .8rem; color: var(--rt-muted); }
.rt-content .rt-form-hp { position: absolute; left: -10000px; top: auto; width: 1px; height: 1px; overflow: hidden; }
.rt-content .rt-form-status { margin: 1rem 0 0; padding: .75rem 1rem; border-radius: calc(var(--rt-radius) * .6); font-weight: 600; }
.rt-content .rt-form-status[data-state="success"] { background: var(--rt-good-bg); border: 1px solid var(--rt-good-border); color: var(--rt-good-text, var(--rt-text)); }
.rt-content .rt-form-status[data-state="error"] { background: var(--rt-bad-bg); border: 1px solid var(--rt-bad-border); color: var(--rt-bad-text, var(--rt-text)); }
.rt-content [data-tone="contrast"] .rt-field input, .rt-content [data-tone="contrast"] .rt-field textarea, .rt-content [data-tone="contrast"] .rt-field select, .rt-content [data-tone="accent"] .rt-field input, .rt-content [data-tone="accent"] .rt-field textarea, .rt-content [data-tone="accent"] .rt-field select { background: #fff; color: #0f172a; border-color: transparent; }
@media (max-width: 640px) { .rt-content .rt-form-form[data-layout="inline"] { grid-template-columns: 1fr; } .rt-content .rt-form-form[data-layout="inline"] .rt-form-actions { grid-column: 1; grid-row: auto; } }
@container rt (max-width: 640px) { .rt-content .rt-form-form[data-layout="inline"] { grid-template-columns: 1fr; } .rt-content .rt-form-form[data-layout="inline"] .rt-form-actions { grid-column: 1; grid-row: auto; } }
/* Designed looks (plan §4): data-look on a block, from the editor's block settings. */
/* Quote */
.rt-content blockquote[data-look="pull"] { max-width: 40rem; margin: 2.5rem auto; padding: 1.5rem 1rem; border: 0; border-top: 2px solid var(--rt-accent-line); border-bottom: 2px solid var(--rt-accent-line); border-radius: 0; background: none; text-align: center; font-family: var(--rt-heading-font); font-size: 1.3rem; line-height: 1.6; font-style: normal; font-weight: 600; }
.rt-content blockquote[data-look="pull"]::before { content: "\201C"; display: block; font-family: Georgia, "Times New Roman", serif; font-size: 3rem; line-height: .5; margin-top: .4rem; color: var(--rt-accent); }
.rt-content blockquote[data-look="plain"] { padding: .25rem 0 .25rem 1.25rem; border-left: 2px solid var(--rt-border); border-radius: 0; background: none; font-style: normal; color: var(--rt-muted); }
.rt-content blockquote[data-look] > :last-child { margin-bottom: 0; }
/* Code */
.rt-content pre[data-look="dark"] { background: #0f172a; color: #e2e8f0; border-color: #1e293b; }
.rt-content pre[data-look="dark"] code { color: inherit; }
/* Divider */
.rt-content hr[data-look="dots"] { height: auto; margin: 2.5rem 0; border: 0; text-align: center; overflow: visible; }
.rt-content hr[data-look="dots"]::before { content: "\2022\2002\2022\2002\2022"; font-size: .85rem; color: var(--rt-muted); }
.rt-content hr[data-look="short"] { width: 4rem; margin: 2.5rem auto; border: 0; border-top: 3px solid var(--rt-accent); border-radius: 2px; }
/* Table */
.rt-content table[data-look="striped"] tbody tr:nth-child(even) > :is(td, th) { background: var(--rt-surface-2); }
.rt-content table[data-look="striped"] td { border-bottom-color: transparent; }
.rt-content table[data-look="boxed"] { border-collapse: separate; border-spacing: 0; border-radius: var(--rt-radius); box-shadow: 0 1px 2px rgba(0,0,0,.06), 0 14px 36px -18px rgba(0,0,0,.3); }
.rt-content table[data-look="boxed"] th { background: var(--rt-accent-soft); border-bottom: 1px solid var(--rt-accent-line); }
/* Table of contents */
.rt-content .table-of-contents[data-look="numbered"] ul { counter-reset: rt-toc; }
.rt-content .table-of-contents[data-look="numbered"] li { counter-increment: rt-toc; }
.rt-content .table-of-contents[data-look="numbered"] li > a::before { content: counters(rt-toc, ".") ". "; font-weight: 700; font-variant-numeric: tabular-nums; color: var(--rt-accent); }
.rt-content .table-of-contents[data-look="minimal"] { padding: .25rem 0 .25rem 1.25rem; border: 0; border-left: 3px solid var(--rt-accent); border-radius: 0; background: none; }
.rt-content .table-of-contents[data-look="minimal"] li { border-bottom: 0; }
/* Info box */
.rt-content .info-box[data-look="outlined"] { background: var(--rt-surface); border-color: var(--rt-border); border-left: 4px solid var(--rt-accent); }
.rt-content .info-box[data-look="outlined"] .info-box-icon { color: var(--rt-accent); }
.rt-content .info-box[data-look="accent"] { background: var(--rt-accent-soft); border-color: var(--rt-accent-line); }
.rt-content .info-box[data-look="accent"] :is(.info-box-icon, .info-box-title) { color: var(--rt-accent); }
/* Image */
.rt-content img[data-look="shadow"] { box-shadow: 0 1px 2px rgba(0,0,0,.06), 0 14px 36px -18px rgba(0,0,0,.3); }
.rt-content img[data-look="framed"] { padding: .5rem; background: var(--rt-surface); border: 1px solid var(--rt-border); border-radius: calc(var(--rt-radius) + 4px); }
/* Gallery */
.rt-content .rt-gallery[data-look="tight"] { gap: 2px; border-radius: var(--rt-radius); overflow: hidden; }
.rt-content .rt-gallery[data-look="tight"] .rt-gallery-item img { aspect-ratio: 1; border-radius: 0; }
.rt-content .rt-gallery[data-look="tight"] .rt-gallery-item figcaption { padding: .3rem .5rem 0; }
.rt-content .rt-gallery[data-look="masonry"] { display: block; columns: 3; column-gap: .75rem; }
.rt-content .rt-gallery[data-look="masonry"][data-columns="2"] { columns: 2; }
.rt-content .rt-gallery[data-look="masonry"][data-columns="4"] { columns: 4; }
.rt-content .rt-gallery[data-look="masonry"] .rt-gallery-item { break-inside: avoid; margin-bottom: .75rem; }
.rt-content .rt-gallery[data-look="masonry"] .rt-gallery-item img { aspect-ratio: auto; }
.rt-content .rt-gallery[data-look="captions"] .rt-gallery-item { position: relative; overflow: hidden; border-radius: var(--rt-radius); }
.rt-content .rt-gallery[data-look="captions"] .rt-gallery-item figcaption { position: absolute; inset: auto 0 0 0; margin: 0; padding: 1.75rem .75rem .6rem; background: linear-gradient(transparent, rgba(15, 23, 42, .78)); color: #fff; font-size: .8rem; }
/* Image slider */
.rt-content .image-slider:is([data-look="plain"], [data-look="cards"]) { padding: 0; border: 0; background: none; }
.rt-content .image-slider[data-look="cards"] .slider-item { border: 1px solid var(--rt-border); background: var(--rt-surface); }
.rt-content .image-slider[data-look="cards"] .slider-image { border-radius: 0; }
.rt-content .image-slider[data-look="cards"] .slider-caption { margin: 0; padding: .5rem .75rem .75rem; text-align: left; }
/* Video: a file or an embed */
.rt-content .rt-video[data-look="shadow"] video, .rt-content iframe[data-look="shadow"] { border-radius: var(--rt-radius); box-shadow: 0 1px 2px rgba(0,0,0,.06), 0 14px 36px -18px rgba(0,0,0,.3); }
.rt-content .rt-video[data-look="square"] video, .rt-content iframe[data-look="square"] { border-radius: 0; }
/* Media beside text */
.rt-content .rt-media-text[data-look="card"] .rt-media-text-body { padding: 2rem; border-radius: var(--rt-radius); background: var(--rt-surface-2); }
.rt-content .rt-media-text[data-look="overlap"] .rt-media-text-body { position: relative; z-index: 1; margin-left: -4rem; padding: 2rem; background: var(--rt-surface); border: 1px solid var(--rt-border); border-radius: var(--rt-radius); box-shadow: 0 1px 2px rgba(0,0,0,.06), 0 14px 36px -18px rgba(0,0,0,.3); }
.rt-content .rt-media-text[data-look="overlap"][data-side="right"] .rt-media-text-body { margin-left: 0; margin-right: -4rem; }
/* Logo strip */
.rt-content .rt-logos[data-look="tiles"] .rt-logos-list { display: grid; grid-template-columns: repeat(auto-fit, minmax(8rem, 1fr)); gap: .75rem; }
.rt-content .rt-logos[data-look="tiles"] .rt-logos-list li { display: flex; align-items: center; justify-content: center; min-height: 5rem; padding: 1rem; border: 1px solid var(--rt-border); border-radius: var(--rt-radius); background: var(--rt-surface); }
.rt-content .rt-logos[data-look="compact"] .rt-logos-list { gap: .75rem 1.5rem; }
.rt-content .rt-logos[data-look="compact"] .rt-logos-list img { height: 1.75rem; }
/* Answer box */
.rt-content .aio-box[data-look="outlined"] { background: var(--rt-surface); border: 1px solid var(--rt-answer-border); border-left-width: 4px; }
.rt-content .aio-box[data-look="bold"] { background: var(--rt-surface); border: 1px solid var(--rt-border); border-top: 4px solid var(--rt-answer-border); box-shadow: 0 1px 2px rgba(0,0,0,.06), 0 14px 36px -18px rgba(0,0,0,.3); }
.rt-content .aio-box[data-look="bold"] :is(h2, h3, .aio-question) { color: var(--rt-text); font-size: 1.2rem; }
/* Key takeaways */
.rt-content .key-takeaways[data-look="checklist"] ul { list-style: none; padding-left: 0; }
.rt-content .key-takeaways[data-look="checklist"] li { position: relative; padding-left: 1.85rem; }
.rt-content .key-takeaways[data-look="checklist"] li::before { content: "\2713"; position: absolute; left: 0; top: .2rem; display: flex; align-items: center; justify-content: center; width: 1.3rem; height: 1.3rem; border-radius: 50%; background: var(--rt-good-border); color: var(--rt-good-text); font-size: .75rem; font-weight: 700; line-height: 1; }
.rt-content .key-takeaways[data-look="card"] { background: var(--rt-surface); border: 1px solid var(--rt-border); border-top: 4px solid var(--rt-good-border); box-shadow: 0 1px 2px rgba(0,0,0,.06), 0 14px 36px -18px rgba(0,0,0,.3); }
.rt-content .key-takeaways[data-look="card"] :is(h3, .subsection-title) { color: var(--rt-text); }
/* FAQ and accordion */
.rt-content .faq-section:is([data-look="cards"], [data-look="minimal"]) { padding: 0; border: 0; border-radius: 0; }
.rt-content .faq-section[data-look="cards"] details, .rt-content .rt-accordion[data-look="cards"] details { margin-bottom: .6rem; padding: .75rem 1rem; border: 1px solid var(--rt-border); border-radius: var(--rt-radius); background: var(--rt-surface); }
.rt-content .faq-section[data-look="cards"] details:last-child, .rt-content .rt-accordion[data-look="cards"] details:last-child { border-bottom: 1px solid var(--rt-border); }
.rt-content .rt-accordion[data-look="cards"] { overflow: visible; border: 0; border-radius: 0; }
.rt-content .rt-accordion[data-look="cards"] summary { padding: .25rem 1.5rem .25rem 0; }
.rt-content .rt-accordion[data-look="cards"] .faq-answer { padding: .5rem 0 0; }
.rt-content .rt-accordion[data-look="minimal"] { border: 0; border-top: 1px solid var(--rt-border); border-radius: 0; }
.rt-content .rt-accordion[data-look="minimal"] details { background: none; }
.rt-content .rt-accordion[data-look="minimal"] summary { padding: .9rem 1.5rem .9rem 0; }
.rt-content .rt-accordion[data-look="minimal"] .faq-answer { padding: 0 0 1rem; }
/* Definitions */
.rt-content .rt-definitions[data-look="cards"] { grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr)); }
.rt-content .rt-definitions[data-look="cards"] .rt-definition { border-left-width: 1px; border-top: 3px solid var(--rt-accent); background: var(--rt-surface-2); }
.rt-content .rt-definitions[data-look="list"] { gap: 0; border-top: 1px solid var(--rt-border); }
.rt-content .rt-definitions[data-look="list"] .rt-definition { display: grid; grid-template-columns: minmax(7rem, 30%) 1fr; gap: 1rem; padding: .75rem 0; border: 0; border-bottom: 1px solid var(--rt-border); border-radius: 0; background: none; }
.rt-content .rt-definitions[data-look="list"] .rt-definition dt { margin: 0; }
/* Pros and cons */
.rt-content .pros-cons[data-look="stacked"] .pros-cons-inner { grid-template-columns: 1fr; }
.rt-content .pros-cons[data-look="minimal"] { padding: 0; border: 0; }
.rt-content .pros-cons[data-look="minimal"] :is(.pros-column, .cons-column) { padding: .75rem 0 0; border: 0; border-top: 3px solid var(--rt-good-border); border-radius: 0; background: none; }
.rt-content .pros-cons[data-look="minimal"] .cons-column { border-top-color: var(--rt-bad-border); }
.rt-content .pros-cons[data-look="minimal"] ul { list-style: none; padding-left: 0; }
.rt-content .pros-cons[data-look="minimal"] li { position: relative; padding-left: 1.4rem; }
.rt-content .pros-cons[data-look="minimal"] .pros-column li::before { content: "\2713"; position: absolute; left: 0; font-weight: 700; color: var(--rt-good-text); }
.rt-content .pros-cons[data-look="minimal"] .cons-column li::before { content: "\2715"; position: absolute; left: 0; font-weight: 700; color: var(--rt-bad-text); }
/* Comparison, paginated and price tables */
.rt-content :is(.comparison-table, .paginated-table, .rt-price-table)[data-look="striped"] tbody tr:nth-child(even) > :is(td, th) { background: var(--rt-surface-2); }
.rt-content .comparison-table[data-look="minimal"] { padding: 0; border: 0; border-radius: 0; }
.rt-content .comparison-table[data-look="minimal"] table { border: 0; border-radius: 0; }
.rt-content .comparison-table[data-look="minimal"] th { background: none; border-bottom: 2px solid var(--rt-text); }
.rt-content .rt-price-table[data-look="boxed"] table { border-collapse: separate; border-spacing: 0; border-radius: var(--rt-radius); box-shadow: 0 1px 2px rgba(0,0,0,.06), 0 14px 36px -18px rgba(0,0,0,.3); }
.rt-content .rt-price-table[data-look="boxed"] thead th { background: var(--rt-accent-soft); }
/* Ranking */
.rt-content .top-list[data-look="compact"] .top-list-item { gap: .75rem; margin-bottom: .6rem; padding: .85rem 1rem .85rem 2.4rem; font-size: .92rem; }
.rt-content .top-list[data-look="compact"] .top-list-logo { max-height: 72px; }
.rt-content .top-list[data-look="numbered"] .top-list-item { padding-left: 4.5rem; }
.rt-content .top-list[data-look="numbered"] .top-list-item[data-rank]::before { top: 1.25rem; left: 1rem; width: 2.5rem; height: 2.5rem; border-radius: 50%; font-size: 1.1rem; }
/* Detailed review */
.rt-content .detailed-review[data-look="flat"] .detailed-review-item { padding: 0 0 1.5rem; border: 0; border-bottom: 1px solid var(--rt-border); border-radius: 0; background: none; }
/* Verification points */
.rt-content .verification-points[data-look="grid"] .verification-points-inner { display: grid; grid-template-columns: repeat(auto-fit, minmax(16rem, 1fr)); }
.rt-content .verification-points[data-look="grid"] .verification-heading { grid-column: 1 / -1; }
.rt-content .verification-points[data-look="timeline"] .verification-item { position: relative; padding: 0 0 0 2rem; border: 0; }
.rt-content .verification-points[data-look="timeline"] .verification-item::before { content: ""; position: absolute; left: 0; top: .4rem; width: .9rem; height: .9rem; border-radius: 50%; background: var(--rt-accent); box-shadow: 0 0 0 4px var(--rt-surface); }
.rt-content .verification-points[data-look="timeline"] .verification-item:not(:last-child)::after { content: ""; position: absolute; left: calc(.45rem - 1px); top: 1.5rem; bottom: -.75rem; width: 2px; background: var(--rt-border); }
/* Product */
.rt-content .rt-product[data-look="stacked"] { grid-template-columns: 1fr; justify-items: center; text-align: center; }
.rt-content .rt-product[data-look="stacked"] .rt-product-image { max-width: 16rem; }
.rt-content .rt-product[data-look="stacked"] :is(.rt-product-meta, .rt-product-actions) { justify-content: center; }
.rt-content .rt-product[data-look="stacked"] .rt-product-points { display: inline-block; text-align: left; }
.rt-content .rt-product[data-look="featured"] { border: 2px solid var(--rt-accent); background: linear-gradient(180deg, var(--rt-accent-soft), var(--rt-surface) 45%); box-shadow: 0 18px 40px -26px color-mix(in srgb, var(--rt-accent) 70%, transparent); }
/* Expert card */
.rt-content .rt-expert[data-look="centered"] { flex-direction: column; align-items: center; text-align: center; border-left-width: 1px; border-top: 4px solid var(--rt-accent); }
.rt-content .rt-expert[data-look="centered"] .rt-expert-credentials { list-style: none; padding-left: 0; }
.rt-content .rt-expert[data-look="compact"] { align-items: center; gap: .85rem; padding: .75rem 1rem; background: var(--rt-surface); }
.rt-content .rt-expert[data-look="compact"] .rt-expert-avatar { width: 3rem; height: 3rem; }
.rt-content .rt-expert[data-look="compact"] :is(.rt-expert-bio, .rt-expert-credentials) { font-size: .88rem; }
/* Columns */
.rt-content .rt-columns[data-look="cards"] > .rt-column { padding: 1.25rem; border: 1px solid var(--rt-border); border-radius: var(--rt-radius); background: var(--rt-surface); }
.rt-content .rt-columns[data-look="divided"] { gap: 0; }
.rt-content .rt-columns[data-look="divided"] > .rt-column { padding: 0 1.5rem; }
.rt-content .rt-columns[data-look="divided"] > .rt-column:first-child { padding-left: 0; }
.rt-content .rt-columns[data-look="divided"] > .rt-column:last-child { padding-right: 0; }
.rt-content .rt-columns[data-look="divided"] > .rt-column + .rt-column { border-left: 1px solid var(--rt-border); }
/* Tabs */
.rt-content .rt-tabs[data-look="pills"] .rt-tabs-bar { gap: .4rem; border-bottom: 0; }
.rt-content .rt-tabs[data-look="pills"] .rt-tabs-bar [role="tab"] { margin: 0; padding: .45rem 1rem; border: 1px solid var(--rt-border); border-radius: 999px; }
.rt-content .rt-tabs[data-look="pills"] .rt-tabs-bar [role="tab"][aria-selected="true"] { background: var(--rt-accent); border-color: var(--rt-accent); color: #fff; }
.rt-content .rt-tabs[data-look="boxed"] { border: 1px solid var(--rt-border); border-radius: var(--rt-radius); overflow: hidden; }
.rt-content .rt-tabs[data-look="boxed"] .rt-tabs-bar { gap: .25rem; margin: 0; padding: .35rem .35rem 0; background: var(--rt-surface-2); }
.rt-content .rt-tabs[data-look="boxed"] .rt-tabs-bar [role="tab"] { border: 1px solid transparent; border-bottom: 0; border-radius: 8px 8px 0 0; }
.rt-content .rt-tabs[data-look="boxed"] .rt-tabs-bar [role="tab"][aria-selected="true"] { margin-bottom: -1px; background: var(--rt-surface); border-color: var(--rt-border); color: var(--rt-text); }
.rt-content .rt-tabs[data-look="boxed"] :is(.rt-tabs-panels, .rt-tab:only-child) { padding: 1.25rem; }
/* Sticky navigation */
.rt-content .rt-sticky-nav[data-look="underline"] { padding: 0; border-width: 0 0 1px; border-radius: 0; }
.rt-content .rt-sticky-nav[data-look="underline"] a { padding: .65rem .9rem; border-bottom: 2px solid transparent; border-radius: 0; }
.rt-content .rt-sticky-nav[data-look="underline"] a:hover { background: none; border-bottom-color: var(--rt-border); }
.rt-content .rt-sticky-nav[data-look="underline"] a[aria-current="true"] { background: none; color: var(--rt-accent); border-bottom-color: var(--rt-accent); }
.rt-content .rt-sticky-nav[data-look="bar"] { border-radius: var(--rt-radius); border-color: var(--rt-accent-line); background: var(--rt-accent-soft); }
.rt-content .rt-sticky-nav[data-look="bar"] a[aria-current="true"] { background: var(--rt-surface); color: var(--rt-accent); box-shadow: 0 1px 3px rgba(0,0,0,.08); }
/* On an accent band, the accent is white: a pill filled with it takes the palette's colour for its text.
   (The sticky nav's own pills are its first look; its underline and bar looks keep white text there.) */
.rt-content [data-tone="accent"] :is(.rt-tabs[data-look="pills"] [role="tab"][aria-selected="true"], .rt-sticky-nav:not([data-look]) a[aria-current="true"]) { color: var(--rt-palette-accent); }


/* Small screens, and small containers (spec §7): the window on a site that declares no container, the canvas in the editor
   and the content column on a v4 site, which declare .rt-container, so a block looks the same at the same width anywhere. */
.rt-container { container: rt / inline-size; }
@media (max-width: 720px) {
  .rt-content .pros-cons-inner, .rt-content .review-hero, .rt-content .hero[data-align="left"], .rt-content .hero[data-variant="split"] { grid-template-columns: 1fr; }
  .rt-content .rt-section { padding-left: 1rem; padding-right: 1rem; }
  .rt-content .rt-columns[data-columns], .rt-content .rt-columns[data-ratio] { grid-template-columns: 1fr; }
  .rt-content .rt-cta-band { padding: 2.5rem 1rem; }
  .rt-content .rt-sticky-nav { border-radius: 12px; }
  .rt-content .rt-posts[data-columns] .rt-posts-list, .rt-content .rt-posts[data-layout="featured"] .rt-post-card.is-featured .rt-post-link, .rt-content .rt-posts[data-layout="single"] .rt-post-link, .rt-content .rt-posts[data-layout="spotlight"] .rt-posts-list, .rt-content .rt-posts[data-layout="showcase"] .rt-posts-list { grid-template-columns: 1fr; }
  .rt-content .rt-posts[data-layout="carousel"] .rt-posts-list { display: flex; }
  .rt-content .rt-posts[data-layout="showcase"] .rt-post-card:nth-child(n+3), .rt-content .rt-posts[data-layout="showcase"] .rt-post-card:nth-child(-n+2) { grid-column: auto; }
  .rt-content .rt-posts[data-layout="spotlight"] .rt-post-card.is-featured { grid-row: auto; }
  .rt-content .rt-hubs[data-columns] .rt-hubs-list, .rt-content .rt-children[data-columns] div.rt-children-list { grid-template-columns: 1fr; }
  .rt-content .rt-product { grid-template-columns: 1fr; }
  .rt-content .rt-product-image { max-width: 16rem; }
  .rt-content .rt-gallery[data-columns] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .rt-content .rt-media-text, .rt-content .rt-media-text[data-ratio] { grid-template-columns: 1fr; }
  .rt-content .rt-media-text[data-side="right"] .rt-media-text-media { order: 0; }
  .rt-content .rt-expert { flex-direction: column; }
  .rt-content .hero[data-variant="image"] { min-height: 18rem; }
  .rt-content .hero[data-align="left"] { text-align: center; }
  .rt-content .top-list-item { grid-template-columns: 1fr; }
  .rt-content .feature-grid .feature-grid-inner { grid-template-columns: 1fr !important; }
  .rt-content .slider-item { --rt-visible: 1; }
  /* Tables: a boxed table keeps readable columns and scrolls sideways; a comparison table stacks each row into a card. */
  .rt-content :where(.table-wrap, .table-wrapper) :where(th, td) { min-width: 7.5rem; }
  .rt-content .comparison-table { padding: 1rem; }
  .rt-content .comparison-table thead { display: none; }
  .rt-content .comparison-table tr { display: block; padding: .75rem 0; border-bottom: 1px solid var(--rt-border); }
  .rt-content .comparison-table tr:last-child { border-bottom: 0; }
  .rt-content .comparison-table td { display: block; border: 0; padding: .35rem 0; min-width: 0; }
  .rt-content .comparison-table td.category-label { white-space: normal; font-size: 1rem; padding-bottom: .5rem; }
  .rt-content .comparison-table td[data-label]::before { content: attr(data-label); display: block; font-size: .72rem; font-weight: 700; letter-spacing: .04em; color: var(--rt-muted); margin-bottom: .2rem; }
  .rt-content .sticky-toc, .rt-content .table-of-contents[data-sticky="true"] { position: static; max-height: none; }

  .rt-content .rt-media-text[data-look="overlap"] .rt-media-text-body, .rt-content .rt-media-text[data-look="overlap"][data-side="right"] .rt-media-text-body { margin: -2.5rem 1rem 0; }
  .rt-content .rt-columns[data-look="divided"] > .rt-column { padding: 1rem 0; }
  .rt-content .rt-columns[data-look="divided"] > .rt-column + .rt-column { border-left: 0; border-top: 1px solid var(--rt-border); }
  .rt-content .rt-gallery[data-look="masonry"], .rt-content .rt-gallery[data-look="masonry"][data-columns] { columns: 2; }
  .rt-content .rt-definitions[data-look="list"] .rt-definition { grid-template-columns: 1fr; gap: .15rem; }
  .rt-content .top-list[data-look="numbered"] .top-list-item { padding-left: 1.25rem; padding-top: 4rem; }
}
@container rt (max-width: 720px) {
  .rt-content .pros-cons-inner, .rt-content .review-hero, .rt-content .hero[data-align="left"], .rt-content .hero[data-variant="split"] { grid-template-columns: 1fr; }
  .rt-content .rt-section { padding-left: 1rem; padding-right: 1rem; }
  .rt-content .rt-columns[data-columns], .rt-content .rt-columns[data-ratio] { grid-template-columns: 1fr; }
  .rt-content .rt-cta-band { padding: 2.5rem 1rem; }
  .rt-content .rt-sticky-nav { border-radius: 12px; }
  .rt-content .rt-posts[data-columns] .rt-posts-list, .rt-content .rt-posts[data-layout="featured"] .rt-post-card.is-featured .rt-post-link, .rt-content .rt-posts[data-layout="single"] .rt-post-link, .rt-content .rt-posts[data-layout="spotlight"] .rt-posts-list, .rt-content .rt-posts[data-layout="showcase"] .rt-posts-list { grid-template-columns: 1fr; }
  .rt-content .rt-posts[data-layout="carousel"] .rt-posts-list { display: flex; }
  .rt-content .rt-posts[data-layout="showcase"] .rt-post-card:nth-child(n+3), .rt-content .rt-posts[data-layout="showcase"] .rt-post-card:nth-child(-n+2) { grid-column: auto; }
  .rt-content .rt-posts[data-layout="spotlight"] .rt-post-card.is-featured { grid-row: auto; }
  .rt-content .rt-hubs[data-columns] .rt-hubs-list, .rt-content .rt-children[data-columns] div.rt-children-list { grid-template-columns: 1fr; }
  .rt-content .rt-product { grid-template-columns: 1fr; }
  .rt-content .rt-product-image { max-width: 16rem; }
  .rt-content .rt-gallery[data-columns] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .rt-content .rt-media-text, .rt-content .rt-media-text[data-ratio] { grid-template-columns: 1fr; }
  .rt-content .rt-media-text[data-side="right"] .rt-media-text-media { order: 0; }
  .rt-content .rt-expert { flex-direction: column; }
  .rt-content .hero[data-variant="image"] { min-height: 18rem; }
  .rt-content .hero[data-align="left"] { text-align: center; }
  .rt-content .top-list-item { grid-template-columns: 1fr; }
  .rt-content .feature-grid .feature-grid-inner { grid-template-columns: 1fr !important; }
  .rt-content .slider-item { --rt-visible: 1; }
  /* Tables: a boxed table keeps readable columns and scrolls sideways; a comparison table stacks each row into a card. */
  .rt-content :where(.table-wrap, .table-wrapper) :where(th, td) { min-width: 7.5rem; }
  .rt-content .comparison-table { padding: 1rem; }
  .rt-content .comparison-table thead { display: none; }
  .rt-content .comparison-table tr { display: block; padding: .75rem 0; border-bottom: 1px solid var(--rt-border); }
  .rt-content .comparison-table tr:last-child { border-bottom: 0; }
  .rt-content .comparison-table td { display: block; border: 0; padding: .35rem 0; min-width: 0; }
  .rt-content .comparison-table td.category-label { white-space: normal; font-size: 1rem; padding-bottom: .5rem; }
  .rt-content .comparison-table td[data-label]::before { content: attr(data-label); display: block; font-size: .72rem; font-weight: 700; letter-spacing: .04em; color: var(--rt-muted); margin-bottom: .2rem; }
  .rt-content .sticky-toc, .rt-content .table-of-contents[data-sticky="true"] { position: static; max-height: none; }

  .rt-content .rt-media-text[data-look="overlap"] .rt-media-text-body, .rt-content .rt-media-text[data-look="overlap"][data-side="right"] .rt-media-text-body { margin: -2.5rem 1rem 0; }
  .rt-content .rt-columns[data-look="divided"] > .rt-column { padding: 1rem 0; }
  .rt-content .rt-columns[data-look="divided"] > .rt-column + .rt-column { border-left: 0; border-top: 1px solid var(--rt-border); }
  .rt-content .rt-gallery[data-look="masonry"], .rt-content .rt-gallery[data-look="masonry"][data-columns] { columns: 2; }
  .rt-content .rt-definitions[data-look="list"] .rt-definition { grid-template-columns: 1fr; gap: .15rem; }
  .rt-content .top-list[data-look="numbered"] .top-list-item { padding-left: 1.25rem; padding-top: 4rem; }
}
/* The space around a block and where it shows, set in the editor's block settings (data-rt-space, data-rt-hide).
   Visibility follows the window, not the column: "phones only" means a phone, however narrow the column is elsewhere. */
.rt-content [data-rt-space="none"] { margin-top: 0 !important; margin-bottom: 0 !important; }
.rt-content [data-rt-space="small"] { margin-top: .75rem !important; margin-bottom: .75rem !important; }
.rt-content [data-rt-space="large"] { margin-top: 3rem !important; margin-bottom: 3rem !important; }
.rt-content [data-rt-space="xlarge"] { margin-top: 5rem !important; margin-bottom: 5rem !important; }
@media (max-width: 720px) { .rt-content [data-rt-hide="phone"] { display: none !important; } }
@media (min-width: 721px) { .rt-content [data-rt-hide="desktop"] { display: none !important; } }

/* Dark: a site sets data-rt-theme="dark" on the wrapper or a .dark ancestor, or "auto" to follow the system. */
.dark .rt-content, [data-theme="dark"] .rt-content, .rt-content[data-rt-theme="dark"] {
  --rt-text: #e5e7eb; --rt-muted: #cbd5e1; --rt-surface: #18181b; --rt-surface-2: #1f2937; --rt-border: #374151;
  --rt-note-bg: #172554; --rt-note-border: #1e40af; --rt-answer-bg: #451a03; --rt-answer-border: #92400e; --rt-answer-text: #fde68a;
  --rt-good-bg: #052e16; --rt-good-border: #166534; --rt-good-text: #bbf7d0; --rt-bad-bg: #450a0a; --rt-bad-border: #991b1b; --rt-bad-text: #fecaca;
}
/* Access (contract v4 §7): visible keyboard focus on every control a block adds, and headings in Japanese that break
   between phrases rather than inside a word, where the browser can. */
.rt-content :where(a, button, summary, [role="tab"], [tabindex]):focus-visible { outline: 2px solid var(--rt-accent); outline-offset: 2px; border-radius: 4px; }
.rt-content :where(input, select, textarea):focus-visible { outline: 2px solid var(--rt-accent); outline-offset: 1px; }
:where([lang|="ja"]) .rt-content :where(h1, h2, h3, h4) { word-break: auto-phrase; }
/* A visitor who asks for less motion gets none: no fades between slides, no smooth scrolling, no transitions. */
@media (prefers-reduced-motion: reduce) {
  .rt-content *, .rt-content *::before, .rt-content *::after { transition-duration: 0s !important; animation-duration: 0s !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; }
}
@media (prefers-color-scheme: dark) {
  .rt-content[data-rt-theme="auto"] {
    --rt-text: #e5e7eb; --rt-muted: #cbd5e1; --rt-surface: #18181b; --rt-surface-2: #1f2937; --rt-border: #374151;
    --rt-note-bg: #172554; --rt-note-border: #1e40af; --rt-answer-bg: #451a03; --rt-answer-border: #92400e; --rt-answer-text: #fde68a;
    --rt-good-bg: #052e16; --rt-good-border: #166534; --rt-good-text: #bbf7d0; --rt-bad-bg: #450a0a; --rt-bad-border: #991b1b; --rt-bad-text: #fecaca;
  }
}
