/* Editorial library and foundation readers share the public brand tokens. */
.rf-tool { max-width:1100px; margin:auto; padding:32px 24px 64px; color:var(--text); }
.rf-tool .rc-breadcrumb { display:flex; gap:12px; font-size:.85rem; margin-bottom:24px; }
.rf-tool h1 { margin:12px 0; }
.rf-glossary { margin-top:32px; }
.rf-glossary>label { display:block; font-weight:600; margin-bottom:10px; }
.rf-glossary>input { width:100%; min-height:48px; padding:12px; border:1px solid var(--brand-deep-purple); border-radius:var(--radius-md); background:var(--surface); color:var(--text); font:inherit; }
.rf-term-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.rf-term-grid article { border:1px solid var(--border-hairline); border-radius:var(--radius-lg); padding:24px; background:var(--surface); line-height:1.75; }
.rf-term-grid h2 { font-size:1.15rem; margin:0 0 12px; }
.rf-term-grid h3 { font-size:1.15rem; margin:0 0 12px; }
.rf-resource-group { margin:32px 0; }
.rf-resource-group>h2 { margin-bottom:18px; font-size:1.4rem; }
@media(max-width:620px) { .rf-term-grid { grid-template-columns:1fr; } }
.rf-tool .rc-guide-hero p { line-height:1.7; }
.rf-calculator { margin:32px 0; border:1px solid var(--border-hairline); padding:24px; border-radius:var(--radius-lg); background:var(--surface); }
.rf-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; margin-bottom:24px; }
.rf-fields label { display:flex; flex-direction:column; gap:8px; font-size:.9rem; font-weight:600; }
.rf-fields input { width:100%; min-height:46px; padding:10px 12px; color:var(--text); background:var(--surface); border:1px solid var(--brand-deep-purple); border-radius:var(--radius-md); font:inherit; }
.rf-fields input:focus-visible { outline:2px solid var(--brand-deep-purple); outline-offset:3px; }
.rf-results div { display:flex; justify-content:space-between; gap:20px; padding:14px 0; border-bottom:1px solid var(--border-hairline); }
.rf-results dd { margin:0; font-weight:600; text-align:right; }
.rf-results div:nth-child(3) { background:var(--pastel-lime); padding:14px; border-radius:var(--radius-sm); }
.rf-results-plain div:nth-child(3) { background:transparent; padding:14px 0; border-radius:0; }
.rf-results .rf-key, .rf-results-plain .rf-key:nth-child(3) { background:var(--pastel-lime); padding:14px; border-radius:var(--radius-sm); }
.rf-section { min-width:0; margin:0 0 8px; padding:0; border:0; }
.rf-tool .rf-calculator .rf-section > legend, .rf-tool .rf-groups h3 { margin:0 0 16px; padding:0; font-size:1.15rem; line-height:1.4; font-weight:600; }
.rf-fields small { font-size:.8rem; font-weight:400; color:var(--text-secondary); }
.rf-groups { display:grid; gap:24px; }
.rf-groups section { min-width:0; }
.rf-tool .rf-groups h3 { margin-bottom:4px; }
.rf-groups .rf-results { margin:0; }
.rf-error { color:var(--text); font-weight:600; }
.rf-explanation { max-width:80ch; line-height:1.85; }
.rf-explanation h2 { margin:24px 0 12px; font-size:1.4rem; }
.rf-coverage-note { box-sizing:border-box; margin:28px auto 0; padding:20px 24px; border-left:5px solid var(--brand-deep-purple); background:var(--pastel-lime); border-radius:var(--radius-md); }
.rf-coverage-note h2 { margin:0 0 8px; }
.rf-guide-sections { max-width:80ch; margin:28px auto 0; display:grid; gap:18px; line-height:1.8; }
.rf-guide-section { padding:24px 28px; background:var(--surface); border:1px solid var(--border-hairline); border-radius:var(--radius-lg); }
.rf-guide-section .rc-eyebrow,.rf-guide-sources .rc-eyebrow,.rf-guide-faq .rc-eyebrow { margin:0 0 7px; color:var(--brand-deep-purple); font-size:.75rem; font-weight:700; letter-spacing:.07em; text-transform:uppercase; }
.rf-guide-section h2,.rf-guide-sources h2,.rf-guide-faq h2 { margin:0 0 12px; font-size:1.4rem; line-height:1.4; }
.rf-guide-section p { margin:12px 0; }
.rf-guide-section ol,.rf-guide-section ul { padding-left:24px; margin:14px 0; }
.rf-guide-section li { padding-left:4px; margin:8px 0; }
.rf-guide-checklist { border-top:4px solid var(--brand-deep-purple); background:var(--pastel-purple); }
.rf-guide-sources { max-width:1000px; margin:32px auto 0; padding:26px; background:var(--pastel-purple); border-radius:var(--radius-lg); line-height:1.7; }
.rf-source-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; margin:20px 0; }
.rf-source-grid article { padding:18px; border:1px solid var(--border-hairline); border-radius:var(--radius-md); background:var(--surface); }
.rf-source-grid h3 { margin:0 0 10px; font-size:1rem; line-height:1.5; }
.rf-source-grid p { margin:0; font-size:.9rem; }
.rf-guide-faq { max-width:80ch; margin:34px auto 0; }
.rf-guide-faq details { border-bottom:1px solid var(--border-hairline); }
.rf-guide-faq details:first-of-type { border-top:1px solid var(--border-hairline); }
.rf-guide-faq summary { min-height:48px; padding:14px 34px 14px 0; position:relative; cursor:pointer; font-weight:650; list-style:none; }
.rf-guide-faq summary::-webkit-details-marker { display:none; }
.rf-guide-faq summary::after { content:"+"; position:absolute; right:6px; top:10px; color:var(--brand-deep-purple); font-size:1.35rem; }
.rf-guide-faq details[open] summary::after { content:"−"; }
.rf-guide-faq details p { margin:0; padding:0 22px 18px 0; line-height:1.75; }
.rf-guide-scope { max-width:80ch; margin:28px auto 16px; padding:16px 18px; border:1px solid var(--border-hairline); border-radius:var(--radius-md); line-height:1.7; }
.rf-guide-section :focus-visible,.rf-guide-sources a:focus-visible,.rf-guide-faq summary:focus-visible { outline:3px solid var(--brand-deep-purple); outline-offset:3px; }
@media(max-width:760px) { .rf-source-grid { grid-template-columns:1fr; } }
@media(max-width:520px) { .rf-coverage-note,.rf-guide-section,.rf-guide-sources { padding:19px; } }
@media(max-width:520px) { .rf-fields { grid-template-columns:1fr; } .rf-calculator { padding:20px; } .rf-results div { flex-direction:column; gap:5px; } .rf-results dd { text-align:left; } }
.rc-refreshed .rc-intro { display:grid; grid-template-columns:1fr minmax(250px,42%); gap:30px; background:var(--pastel-purple); padding:24px 32px; overflow:hidden; }
.rc-refreshed .rc-library-art { display:block; width:100%; height:auto; max-height:235px; object-fit:contain; border-radius:var(--radius-md); }
.rc-library-start { display:inline-flex; align-items:center; gap:12px; margin-top:20px; padding:12px 16px; background:var(--btn-action-bg); color:var(--btn-action-fg)!important; border-radius:var(--radius-md); font-size:.88rem; font-weight:600; text-decoration:none; }
.rc-library-start:hover { text-decoration:underline; }
.rc-refreshed .rc-filters { flex-wrap:wrap; align-items:end; gap:12px; }
.rc-refreshed .rc-filters label { flex:1 1 140px; }
.rc-refreshed .rc-filters select,.rc-refreshed input[type=search] { border-color:var(--brand-deep-purple); }
.rc-archive-explanation { font-size:.78rem; color:var(--text-muted); line-height:1.6; margin:12px 0 0!important; max-width:70ch; }
.rc-refreshed .rc-card-labels { align-items:center; gap:6px 10px; }
.rc-refreshed .rc-card-labels .rc-topic-label { padding:4px 8px; border-radius:var(--radius-sm); background:var(--surface-canvas); color:var(--text); }
.rc-refreshed .rc-card[data-topic=advertising] .rc-topic-label { background:var(--pastel-blue); }
.rc-refreshed .rc-card[data-topic=leasing] .rc-topic-label { background:var(--pastel-purple); }
.rc-refreshed .rc-card[data-topic=maintenance] .rc-topic-label { background:var(--pastel-teal); }
.rc-refreshed .rc-card[data-topic=rent] .rc-topic-label { background:var(--pastel-lime); }
.rc-refreshed .rc-card[data-topic=accounting] .rc-topic-label { background:var(--pastel-blue); }
.rc-refreshed .rc-card-meta { gap:5px 10px; line-height:1.65; padding-top:12px; border-top:1px solid var(--border-hairline); }
.rc-guide-hero { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); gap:32px; align-items:center; padding:28px; background:var(--pastel-purple); border-radius:var(--radius-lg); }
.rc-guide-hero h1 { font-size:clamp(1.9rem,3vw,2.7rem); line-height:1.2; text-wrap:balance; }
.public-design .rc-foundation-reader .rc-guide-hero h1 { font-family:"Poppins","Open Sans",Arial,sans-serif; font-weight:600; }
.public-design .rc-foundation-reader .rc-eyebrow { color:var(--interaction-hover-ink); }
.rc-guide-hero img { display:block; width:100%; height:auto; max-height:340px; object-fit:contain; border-radius:var(--radius-md); }
.rc-guide-hero .rc-byline { display:flex; flex-wrap:wrap; gap:8px 14px; line-height:1.6; }
.rc-guide-hero .rc-byline span { margin:0; }
.rc-guide-archive { display:inline-flex; margin-top:18px; padding:6px 10px; background:var(--surface); color:var(--brand-deep-purple)!important; border-radius:var(--radius-sm); font-size:.78rem; text-decoration:none; }
.rc-guide-archive:hover { text-decoration:underline; }
.rc-foundation-reader .rc-prose { font-size:1rem; line-height:1.85; }
.public-design .rc-foundation-reader .rc-prose { font-family:"Open Sans",Arial,sans-serif; }
.rc-foundation-reader .rc-prose h2 { font-size:1.35rem; line-height:1.4; }
.rc-foundation-reader .rc-prose p { margin:14px 0; }
.rc-foundation-reader .rc-prose blockquote.rr-rent-reporting-message { margin:20px 0; border:1px solid var(--border-hairline); border-left:5px solid var(--brand-deep-purple); padding:18px 22px; background:var(--pastel-lime); border-radius:0 var(--radius-md) var(--radius-md) 0; }
.rc-foundation-reader .rc-prose blockquote.rr-rent-reporting-message p:first-child { margin-top:0; }
.rc-foundation-reader .rc-prose blockquote.rr-rent-reporting-message p:last-child { margin-bottom:0; }
.rc-foundation-reader .rc-prose .rc-button { max-width:100%; box-sizing:border-box; white-space:normal; text-align:center; }
.rc-foundation-reader .rc-table-scroll:focus-visible { outline:3px solid var(--brand-deep-purple); outline-offset:4px; }
.rc-foundation-reader .rc-table-scroll table { min-width:680px; }
.rc-foundation-reader .rc-prose ul { list-style:disc; }
.rc-foundation-reader .rc-prose ol { list-style:decimal; padding-left:24px; margin:14px 0; }
.rc-foundation-reader .rc-prose h2,.rc-foundation-reader section { scroll-margin-top:110px; }
.rc-foundation-reader .rc-answer { background:var(--pastel-purple); }
@media(max-width:800px) {
  .rc-refreshed .rc-intro { grid-template-columns:1fr 40%; padding:24px; gap:20px; }
  .rc-guide-hero { grid-template-columns:1fr; }
  .rc-guide-hero img { max-height:320px; }
}
@media(max-width:520px) {
  .rc-refreshed .rc-intro { grid-template-columns:1fr; padding:22px; gap:16px; }
  .rc-refreshed .rc-intro .rc-library-art { display:block; max-height:200px; }
  .rc-refreshed .rc-filters label { flex:1 1 calc(50% - 12px); }
  .rc-refreshed .rc-filters button { width:100%; }
  .rc-guide-hero { padding:22px; gap:20px; }
  .rc-guide-hero h1 { font-size:1.8rem; }
  .rc-foundation-reader .rc-prose { font-size:1rem; }
}
