/* Resource discovery and reading on existing public URLs. */
.rc-series-start { margin:20px 0 0!important; padding:14px 16px; border-left:3px solid var(--brand-deep-purple); background:var(--pastel-purple); font-size:.9rem; line-height:1.6; }
.rc-series-start a { display:inline-block; padding:6px 0; }
.rc-worksheet-link { display:flex; align-items:center; min-height:44px; margin-top:8px; font-size:.85rem; font-weight:600; }
.rc-page { background:var(--surface); color:var(--text); padding:28px 0 56px; }
.rc-page *, .rc-page *::before, .rc-page *::after { box-sizing:border-box; }
.rc-wrap { width:min(1180px,calc(100% - 48px)); margin-inline:auto; }
.rc-page h1,.rc-page h2,.rc-page h3,.rc-page p { margin:0; }
.rc-page a { color:inherit; text-underline-offset:4px; }
.rc-page :is(a,button,input,select,summary):focus-visible { outline:3px solid var(--brand-deep-purple); outline-offset:4px; }
.rc-page h1 { font-size:clamp(1.85rem,3vw,2.65rem); line-height:1.15; letter-spacing:-.025em; font-weight:650; }
.rc-page h2 { font-size:1.3rem; line-height:1.35; font-weight:650; }
.rc-page h3 { font-size:1.05rem; line-height:1.4; font-weight:600; }
.rc-eyebrow { font-size:.75rem; font-weight:650; letter-spacing:.045em; color:var(--brand-deep-purple); margin-bottom:10px!important; }
.rc-intro { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:28px 32px; border-radius:var(--radius-lg); background:linear-gradient(125deg,var(--pastel-purple),var(--pastel-blue),var(--pastel-teal)); }
.rc-intro h1 { max-width:24ch; }
.rc-intro p:not(.rc-eyebrow) { margin-top:12px; color:var(--text-muted); line-height:1.6; }
.rc-intro img,.rc-reader-header img { object-fit:contain; flex:none; }
.rc-utilities { display:flex; gap:24px; flex-wrap:wrap; padding:19px 0; border-bottom:1px solid var(--border-hairline); font-size:.85rem; }
.rc-utilities a { padding:6px 0; text-decoration:none; }
.rc-utilities a:hover { text-decoration:underline; }
.rc-discovery { display:grid; grid-template-columns:206px minmax(0,1fr); gap:34px; padding-top:26px; }
.rc-topics h2,.rc-contents h2 { font-size:.8rem; margin-bottom:12px; color:var(--text-muted); }
.rc-topics nav { display:grid; gap:3px; }
.rc-topics a { display:block; padding:10px 12px; border-radius:var(--radius-md); font-size:.85rem; text-decoration:none; }
.rc-topics a:hover,.rc-topics a[aria-current] { background:var(--pastel-purple); color:var(--brand-deep-purple); }
.rc-search > label { display:block; font-size:1rem; font-weight:600; margin-bottom:9px; }
.rc-search-row { display:flex; gap:8px; }
.rc-search input[type=search],.rc-filters select { width:100%; min-height:44px; border:1px solid var(--border-hairline); border-radius:var(--radius-md); padding:10px 12px; font:inherit; background:var(--surface); color:var(--text); min-width:0; }
.rc-button,.rc-filter-button { display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:10px 18px; border-radius:var(--radius-md); border:1px solid transparent; background:var(--btn-action-bg); color:var(--btn-action-fg)!important; font:inherit; font-size:.85rem; font-weight:600; cursor:pointer; text-decoration:none; white-space:nowrap; }
.rc-filter-button { border-color: var(--interaction-border); background: var(--surface); color: var(--interaction-ink) !important; }
.rc-filter-button:not(:disabled):not([aria-disabled="true"]):is(:hover,:focus-visible) { background:var(--interaction-bg); }
.rc-filters { display:flex; align-items:end; gap:12px; margin-top:14px; font-size:.8rem; }
.rc-filters label { flex:1; min-width:0; color:var(--text-muted); }
.rc-filters select { display:block; margin-top:5px; }
.rc-filters > a { padding:13px 0; white-space:nowrap; }
.rc-start { display:grid; grid-template-columns:1fr 1.2fr; gap:22px; padding:22px; border-radius:var(--radius-lg); margin:26px 0; background:linear-gradient(125deg,var(--pastel-teal),var(--pastel-lime)); }
.rc-start p:not(.rc-eyebrow) { font-size:.88rem; line-height:1.6; margin-top:8px; color:var(--text-muted); }
.rc-start-links { display:grid; gap:0; }
.rc-start-links a { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:10px 0; font-size:.85rem; text-decoration:none; border-bottom:1px solid var(--border-hairline); }
.rc-start-links a:last-child { border:0; }
.rc-start-links a:hover { text-decoration:underline; }
.rc-results-head { display:flex; gap:12px; flex-wrap:wrap; align-items:baseline; justify-content:space-between; margin:26px 0 16px; }
.rc-results-head p { color:var(--text-muted); font-size:.8rem; }
.rc-cards { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.rc-card { display:flex; flex-direction:column; border:1px solid var(--border-hairline); border-radius:var(--radius-lg); padding:20px; min-width:0; }
.rc-card-labels { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:12px; font-size:.72rem; color:var(--text-muted); }
.rc-card-labels span:first-child { color:var(--brand-deep-purple); background:var(--pastel-purple); border-radius:var(--radius-sm); padding:3px 7px; }
.rc-card-labels span:not(:first-child) { padding:3px 0; }
.rc-card h3 a { display:block; text-decoration:none; }
.rc-card h3 a:hover { text-decoration:underline; }
.rc-card p { color:var(--text-muted); font-size:.85rem; line-height:1.6; margin:10px 0 18px; }
.rc-card-topic { margin-top:auto; font-size:.72rem; color:var(--text-muted); }
.rc-pagination { display:flex; align-items:center; justify-content:center; gap:18px; margin-top:24px; font-size:.85rem; }
.rc-empty { padding:30px; border-radius:var(--radius-lg); background:var(--surface-canvas); }
.rc-empty p { margin:12px 0; }
.rc-reading { max-width:1050px; }
.rc-breadcrumb { display:flex; flex-wrap:wrap; gap:10px; font-size:.78rem; color:var(--text-muted); margin:0 0 24px; }
.rc-reader-header { display:flex; align-items:center; gap:24px; padding-bottom:24px; border-bottom:1px solid var(--border-hairline); }
.rc-reader-header h1 { max-width:29ch; }
.rc-byline { margin-top:16px!important; font-size:.8rem; color:var(--text-muted); }
.rc-byline span { margin:0 8px; }
.rc-byline time { white-space:nowrap; }
.rc-reader-grid { display:grid; grid-template-columns:220px minmax(0,1fr); gap:48px; padding-top:26px; }
.rc-contents nav { position:sticky; top:110px; max-height:calc(100dvh - 134px); overflow-y:auto; }
.rc-contents a { display:block; padding:9px 0; color:var(--text-muted); font-size:.8rem; line-height:1.5; text-decoration:none; }
.rc-contents a:hover { color:var(--brand-deep-purple); text-decoration:underline; }
.rc-mobile-contents,.rc-mobile-topics { display:none; }
.rc-prose { min-width:0; max-width:72ch; font-size:1rem; line-height:1.8; }
.rc-prose section { margin-top:30px; scroll-margin-top:110px; }
.rc-prose h2 { margin-bottom:14px; }
.rc-prose p + p { margin-top:14px; }
.rc-prose a:not(.rc-button) { color:var(--brand-deep-purple); }
.rc-prose ul { padding-left:22px; margin:12px 0 0; }
.rc-prose li + li { margin-top:8px; }
.rc-answer { border-left:3px solid var(--brand-deep-purple); padding:18px 22px; border-radius:0 var(--radius-md) var(--radius-md) 0; background:linear-gradient(180deg,var(--pastel-purple),var(--surface)); }
.rc-prose .amenity-types-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; margin:20px 0; }
.rc-prose .amenity-type-card { min-width:0; padding:18px; border:1px solid var(--border-hairline); border-left:4px solid var(--brand-deep-purple); border-radius:var(--radius-md); background:var(--pastel-purple); }
.rc-prose .amenity-type-card-shared { border-left-color:var(--ink-purple-lime); background:var(--pastel-lime); }
.rc-prose .amenity-type-card h3 { margin:0 0 8px; }
.rc-prose .amenity-type-card p { margin:0; font-size:.9rem; line-height:1.65; }
.rc-prose .eviction-cost-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; margin:20px 0; }
.rc-prose .eviction-cost-card { min-width:0; padding:18px; border:1px solid var(--border-hairline); border-left:4px solid var(--brand-deep-purple); border-radius:var(--radius-md); background:var(--pastel-purple); }
.rc-prose .eviction-cost-card:nth-child(even) { border-left-color:var(--ink-purple-lime); background:var(--pastel-lime); }
.rc-prose .eviction-cost-card h3 { margin:0 0 8px; }
.rc-prose .eviction-cost-card p { margin:0; font-size:.9rem; line-height:1.65; }
.rc-prose .rent-increase-worksheet { margin:20px 0; padding:20px 22px; border:1px solid var(--border-hairline); border-left:4px solid var(--ink-purple-lime); border-radius:var(--radius-md); background:linear-gradient(135deg,var(--pastel-purple),var(--pastel-lime)); font-size:.92rem; line-height:1.75; }
.rc-prose .rent-increase-worksheet p + p { margin-top:12px; }
.rc-prose .rent-increase-worksheet strong { color:var(--brand-deep-purple); }
.rc-prose .rental-tax-form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; margin:20px 0; }
.rc-prose .rental-tax-form-card { min-width:0; padding:18px; border:1px solid var(--border-hairline); border-left:4px solid var(--brand-deep-purple); border-radius:var(--radius-md); background:var(--pastel-purple); }
.rc-prose .rental-tax-form-card-alt { border-left-color:var(--ink-purple-lime); background:var(--pastel-lime); }
.rc-prose .rental-tax-form-card h3 { margin:0 0 8px; }
.rc-prose .rental-tax-form-card p { margin:0; font-size:.9rem; line-height:1.65; }
.rc-checklist { padding:22px; background:var(--surface-canvas); border:1px solid var(--border-hairline); border-radius:var(--radius-lg); }
.rc-prose details { border-bottom:1px solid var(--border-hairline); padding:15px 0; }
.rc-prose summary { cursor:pointer; font-weight:600; min-height:44px; padding:7px 0; }
.rc-prose details p { margin-top:12px; }
.rc-sources { font-size:.85rem; color:var(--text-muted); }
.rc-next { padding-top:24px; border-top:1px solid var(--border-hairline); }
.rc-related { margin-top:36px; border-top:1px solid var(--border-hairline); padding-top:24px; }
.rc-related > div { display:flex; flex-wrap:wrap; gap:12px; margin-top:14px; }
.rc-related a { flex:1; min-width:220px; padding:18px; border:1px solid var(--border-hairline); border-radius:var(--radius-md); font-size:.9rem; }
#resource-results { scroll-margin-top:110px; }
@media(max-width:800px) {
  .rc-discovery { grid-template-columns:minmax(0,1fr); gap:22px; }
  .rc-topics,.rc-contents { display:none; }
  .rc-mobile-contents,.rc-mobile-topics { display:block; }
  .rc-mobile-topics { margin-bottom:20px; }
  .rc-mobile-contents summary,.rc-mobile-topics summary { cursor:pointer; font-size:.85rem; padding:8px 0; }
  .rc-mobile-contents nav,.rc-mobile-topics nav { display:grid; padding-top:10px; }
  .rc-mobile-contents a,.rc-mobile-topics a { padding:8px 0; font-size:.85rem; }
  .rc-mobile-contents a { min-height:44px; }
  .rc-reader-grid { grid-template-columns:minmax(0,1fr); gap:22px; }
  .rc-reader-header img { width:150px; height:120px; }
}
@media(max-width:520px) {
  .rc-page { padding-top:16px; }
  .rc-wrap { width:calc(100% - 32px); }
  .rc-intro { padding:22px; }
  .rc-intro img { display:none; }
  .rc-utilities { gap:8px 18px; }
  .rc-start,.rc-cards,.rc-prose .amenity-types-grid,.rc-prose .eviction-cost-grid,.rc-prose .rental-tax-form-grid { grid-template-columns:minmax(0,1fr); }
  .rc-filters { flex-wrap:wrap; }
  .rc-filters label { flex-basis:calc(50% - 6px); }
  .rc-filters > a { margin-left:auto; }
  .rc-reader-header img { display:none; }
  .rc-prose { font-size:.95rem; }
  .rc-answer,.rc-checklist { padding:18px; }
}

.rc-prose img,.rc-prose video { max-width:100%; height:auto; }
.rc-prose .rc-process { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; list-style:none; padding:0; margin:16px 0; counter-reset:payment-step; }
.rc-prose .rc-process li { padding:16px; margin:0; background:var(--pastel-teal); border-radius:var(--radius-md); font-size:.9rem; }
.rc-process li::before { counter-increment:payment-step; content:counter(payment-step) ". "; font-weight:650; }
.rc-prose section.rc-checklist ul { list-style:disc; }
.rc-prose ul { list-style:disc; }
.rc-prose a { overflow-wrap:anywhere; }
.rc-table-scroll { overflow-x:auto; margin:20px 0; }
.rc-prose table { border-collapse:collapse; width:100%; font-size:.88rem; }
.rc-prose th,.rc-prose td { text-align:left; vertical-align:top; padding:12px; border-bottom:1px solid var(--border); }
.rc-prose thead { background:var(--pastel-teal); }
.rc-prose caption { text-align:left; padding:0 0 12px; font-weight:600; }
.rc-editorial-note { margin-top:28px; font-size:.85rem; color:var(--text-secondary); }
@media(max-width:520px) { .rc-prose .rc-process { grid-template-columns:minmax(0,1fr); } .rc-next .rc-button { white-space:normal; text-align:center; } }

/* Blog and news share a reading layout, but keep separate collections. */
.rc-collections a[aria-current] { color:var(--brand-deep-purple); font-weight:650; border-bottom:2px solid currentColor; }
.rc-publications .rc-intro { padding-block:24px; }
.rc-publications .rc-filters label { flex:0 1 auto; margin-bottom:0; }
.rc-publications .rc-filters select { display:flex; align-items:center; gap:12px; }
.rc-publications .rc-filters > .rc-filter-button { align-self:end; }
.rc-feature { display:grid; grid-template-columns:1.1fr 1fr; overflow:hidden; border:1px solid var(--border-hairline); border-radius:var(--radius-lg); margin-bottom:22px; background:var(--pastel-purple); }
.rc-feature-media { display:block; min-width:0; background:var(--surface-alt); }
.rc-feature-media img { width:100%; height:100%; object-fit:cover; aspect-ratio:3/2; }
.rc-feature-copy { display:flex; flex-direction:column; padding:24px; min-width:0; }
.rc-feature-copy h2 a { text-decoration:none; }
.rc-feature-copy h2 a:hover { text-decoration:underline; }
.rc-feature-summary { font-size:.88rem; line-height:1.6; color:var(--text-muted); margin:12px 0 20px!important; }
.rc-card-media { display:block; margin:-20px -20px 18px; overflow:hidden; border-radius:var(--radius-lg) var(--radius-lg) 0 0; background:var(--surface-alt); }
.rc-card-media img { display:block; width:100%; height:auto; aspect-ratio:3/2; object-fit:cover; }
.rc-card-meta { display:flex; flex-wrap:wrap; gap:8px; margin-top:auto; font-size:.75rem; color:var(--text-muted); }
.rc-reader-header:has(.rc-reader-cover) { flex-wrap:wrap; }
.rc-reader-header .rc-reader-cover { display:block; width:100%; height:auto; max-height:480px; object-fit:contain; border-radius:var(--radius-lg); background:var(--surface-alt); }
@media(max-width:600px) { .rc-feature { grid-template-columns:minmax(0,1fr); } .rc-feature-copy { padding:20px; } }

/* Public resource readers only: retain normal type, let enlarged text reflow. */
.rc-reading { overflow-wrap: anywhere; }
.rc-reading :is(.rc-reader-header,.rc-guide-hero) > div { min-width: 0; }
.rc-reading .rc-byline time { white-space: normal; }
.rc-reading .rc-button { max-width: 100%; white-space: normal; }
/* Match the public type layer's existing 24/34, 17/26 and 14/22 ratios.
   Unitless line heights continue to follow browser-enlarged text. */
.public-design #main-content .rc-reading h1:not(:where(.pd-preserve,.pd-preserve *)) { line-height: 1.4166666667 !important; }
.public-design #main-content .rc-reading :is(h2,h3):not(:where(.pd-preserve,.pd-preserve *)) { line-height: 1.5294117647; }
.public-design #main-content .rc-reading :is(p,li):not(:where(.pd-preserve,.pd-preserve *)) { line-height: 1.5714285714; }
.rc-reading .rc-breadcrumb,
.rc-reading .rc-guide-archive { line-height: 1.7628205128; }
.rc-reading .rc-related a { line-height: 1.5277777778; }

/* Preserve natural table word widths inside the intentional scroll region. */
.rc-reading .rc-table-scroll { overflow-wrap: normal; }

.rc-reading-tools { display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin-bottom:16px; }
.rc-reading-tools[hidden],.rc-reading-tools [hidden] { display:none; }
.rc-reading-tools button { min-height:44px; max-width:100%; padding:8px 12px; border:1px solid var(--brand-deep-purple); border-radius:999px; background:var(--surface); color:var(--brand-deep-purple); font:inherit; line-height:1.5; white-space:normal; cursor:pointer; transition:background-color .4s,color .4s; }
.rc-reading-tools button:is(:hover,:focus-visible) { background:var(--brand-deep-purple); color:var(--surface); }
.rc-reading-tools input { min-width:0; width:100%; min-height:44px; padding:8px 12px; border:1px solid var(--brand-deep-purple); border-radius:6px; font:inherit; }
.rc-reading .rc-next .rc-button { border-radius:999px; background:var(--btn-primary-bg); color:var(--btn-primary-fg)!important; transition:background-color .4s,color .4s; }
.rc-reading .rc-next .rc-button:is(:hover,:focus-visible) { background:var(--btn-primary-hover); color:var(--btn-primary-hover-fg)!important; }
.rc-reading [data-section-anchor] { display:block; scroll-margin-top:110px; }

/* Selected public Answer prose retains readable body size on phones. */
.rc-reading .rc-readable-prose { font-size:1rem; line-height:1.8; }
.rc-readable-navigation .rc-contents a { min-height:44px; }
.rc-reading .rc-readable-prose .rc-table-scroll:focus-visible { outline:3px solid var(--brand-deep-purple); outline-offset:4px; }

/* Keep the tax-record table at the established reading size and scroll on phones. */
.rc-reading .rc-readable-tables table { min-width:680px; font-size:inherit; }
.rc-reading .rc-readable-tables .rc-table-scroll:focus-visible { outline:3px solid var(--brand-deep-purple); outline-offset:4px; }
