/* Content extensions: project comparisons and home sections. */
.rb-timeline-five { grid-template-columns:repeat(5,minmax(0,1fr)); }
.rb-category-four { grid-template-columns:repeat(4,minmax(0,1fr)); }
.rb-category-four .rb-category-card { aspect-ratio:3/4; }
.rb-image-note { display:block; font-size:.72rem; line-height:1.7; color:#6e665b; margin:10px 0; }
.rb-image-label { position:absolute; top:12px; left:12px; z-index:2; background:rgba(250,250,247,.94); color:#514536; border-radius:20px; padding:5px 10px; font-size:.68rem; }
.rb-service-card { height:100%; }
.rb-service-photo { display:block; width:100%; aspect-ratio:3/2; object-fit:cover; border-radius:10px; margin-bottom:20px; }
.rb-section-nav { border-bottom: 1px solid var(--border); background: var(--bg); }
.rb-section-nav .container { display:flex; justify-content:center; flex-wrap:wrap; gap:8px 28px; padding-top:22px; padding-bottom:22px; }
.rb-section-nav a { font-size:.88rem; padding:8px 0; }
.rb-content-section { scroll-margin-top:100px; }
.rb-section-intro { max-width:380px; margin:0; color:#66645f; font-size:.9rem; }
.rb-content-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; }
.rb-content-card { min-width:0; overflow-wrap:anywhere; }
.rb-content-photo { width:100%; aspect-ratio:4/3; object-fit:cover; border-radius:var(--radius); }
.rb-content-card-body { padding:24px 0 0; }
.rb-content-card h3 { font-size:1.15rem; margin:0 0 14px; }
.rb-content-card p { font-size:.94rem; line-height:1.9; color:#65635e; margin:0; }
.rb-content-empty { padding:40px; text-align:center; border:1px solid var(--border); border-radius:var(--radius); }
.rb-content-empty p { color:#65635e; margin-bottom:12px; }
.rb-why-section { background:var(--dark); }
.rb-why-section h2,.rb-why-section h3 { color:var(--white); }
.rb-why-section .rb-label,.rb-why-number { color:var(--sand-light); }
.rb-why-section .rb-content-card p { color:#d5d2cc; }
.rb-why-section .rb-content-card { border-top:1px solid #5a5751; padding-top:24px; }
.rb-why-number { font-family:var(--font-en); font-size:2.5rem; font-weight:400; }
.rb-why-section .rb-content-empty p,.rb-why-section .rb-link { color:#d5d2cc; }
.rb-review-card { background:var(--white); border:1px solid var(--border); border-radius:var(--radius); overflow:hidden; }
.rb-review-card .rb-content-photo { border-radius:0; }
.rb-review-card .rb-content-card-body { padding:24px; }
.rb-quote-mark { color:var(--sand-dark); font:4rem/1 Georgia,serif; display:block; height:42px; }
.rb-review-card blockquote { font-size:1rem; line-height:1.9; margin-bottom:24px; white-space:normal; }
.rb-review-card h3 { font-size:.95rem; margin-bottom:6px; }
.rb-review-card .rb-review-detail { font-size:.8rem; }
.rb-faq-layout { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.4fr); gap:clamp(40px,6vw,88px); align-items:start; }
.rb-faq-intro h2 { margin:0 0 20px; }
.rb-faq-lead { color:#65635e; font-size:.95rem; line-height:1.9; margin:0; }
.rb-faq-help { margin-top:36px; padding-top:28px; border-top:1px solid #cec8be; }
.rb-faq-help-label { display:block; font-size:1rem; font-weight:600; color:var(--dark); margin-bottom:10px; }
.rb-faq-help p { color:#65635e; font-size:.88rem; line-height:1.85; margin-bottom:20px; }
.rb-faq-help .rb-btn { gap:24px; font-size:.88rem; }
.rb-faq-list { display:grid; gap:12px; min-width:0; }
.rb-faq-item { border:1px solid #d8d3cb; border-radius:14px; background:rgba(255,255,255,.45); overflow:hidden; }
.rb-faq-item[open] { background:var(--white); border-color:#bfb4a3; }
.rb-faq-item summary { display:grid; grid-template-columns:24px minmax(0,1fr) 30px; align-items:center; gap:16px; list-style:none; cursor:pointer; padding:24px; font-weight:500; }
.rb-faq-item summary:hover { background:rgba(190,174,150,.09); }
.rb-faq-item summary::-webkit-details-marker { display:none; }
.rb-faq-number { font-family:var(--font-en); font-size:.75rem; color:#817563; letter-spacing:.03em; }
.rb-faq-question { font-size:.98rem; line-height:1.65; overflow-wrap:anywhere; }
.rb-faq-toggle { position:relative; width:30px; height:30px; border:1px solid #d8d3cb; border-radius:50%; color:#6e6558; }
.rb-faq-toggle::before,.rb-faq-toggle::after { content:''; position:absolute; width:10px; height:1px; background:currentColor; left:9px; top:14px; }
.rb-faq-toggle::after { transform:rotate(90deg); }
.rb-faq-item[open] .rb-faq-toggle { background:var(--dark); color:white; border-color:var(--dark); }
.rb-faq-item[open] .rb-faq-toggle::after { display:none; }
.rb-faq-answer { padding:0 64px 26px; color:#65635e; font-size:.91rem; line-height:1.95; overflow-wrap:anywhere; }
.rb-faq-section .rb-faq-item summary:focus-visible { outline:2px solid #817563; outline-offset:-5px; border-radius:12px; }
.rb-comparison-list { display:grid; gap:48px; }
.rb-comparison-card h3 { margin-bottom:24px; }
.rb-comparison-pair { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.rb-comparison-pair figure { margin:0; overflow:hidden; border-radius:var(--radius); background:var(--white); }
.rb-comparison-pair figcaption { display:flex; align-items:center; justify-content:space-between; padding:12px 20px; font-weight:500; }
.rb-comparison-pair figcaption span { font: .65rem var(--font-en); letter-spacing:.14em; color:#65635e; }
.rb-comparison-pair figure:last-child figcaption { background:var(--dark); color:white; }
.rb-comparison-pair figure:last-child figcaption span { color:#ded8cd; }
.rb-comparison-pair img { width:100%; aspect-ratio:3/2; object-fit:contain; background:#e7e4de; }
.rb-comparison-caption { margin:20px 0 0; color:#65635e; overflow-wrap:anywhere; }
.rb-comparison-badge { display:inline-block; color:#526044; background:#edf1e8; border-radius:20px; padding:4px 12px; margin-top:10px; font-size:.75rem; }
.rb-view-filter { display:flex; gap:10px; flex-wrap:wrap; margin-bottom:24px; }
.rb-project-category-filters { margin-bottom:20px; }
.rb-project-result-count { font-size:.85rem; color:var(--muted); margin-bottom:24px; }
.project-item[hidden],.rb-project-filter-empty[hidden] { display:none!important; }
.rb-project-filter-empty { text-align:center; padding:48px 24px; border:1px solid var(--border); border-radius:var(--radius); }
.rb-project-filter-empty p { color:var(--muted); margin-bottom:20px; }
.rb-filter:focus-visible { outline:2px solid var(--sand-dark); outline-offset:4px; }
.rb-nav-more { position:relative; }
.rb-nav-more summary { cursor:pointer; list-style:none; }
.rb-nav-more summary::-webkit-details-marker { display:none; }
.rb-nav-more summary.rb-nav-link::after { content:'⌄'; position:static; display:inline; width:auto; height:auto; background:none; margin-left:6px; }
.rb-nav-more-menu { position:absolute; right:0; top:calc(100% + 14px); min-width:210px; padding:12px; display:grid; gap:4px; background:var(--bg); border:1px solid var(--border); border-radius:12px; box-shadow:var(--shadow-md); }
.rb-nav-more-menu a { padding:9px 12px; font-size:.88rem; border-radius:6px; }
.rb-nav-more-menu a:hover { background:var(--bg-alt); }
.rb-nav-links { gap:26px; }
.rb-content-section a:focus-visible,.rb-faq-item summary:focus-visible,.rb-nav-more summary:focus-visible,.rb-section-nav a:focus-visible { outline:2px solid var(--sand-dark); outline-offset:5px; }
@media(max-width:991px) {
    .rb-faq-layout { grid-template-columns:minmax(0,1fr); gap:32px; }
    .rb-faq-intro { display:contents; }
    .rb-faq-help { order:1; margin:0; padding:24px; border:1px solid #d8d3cb; border-radius:14px; }
    .rb-faq-desktop-break { display:none; }
    .rb-timeline-five { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .rb-category-four { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .rb-category-four .rb-category-card { aspect-ratio:4/3; }
    .rb-content-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .rb-nav-more-menu { position:static; margin-top:12px; min-width:0; box-shadow:none; }
    .rb-nav-links.open { max-height:calc(100dvh - 80px); overflow:auto; }
}
@media(max-width:600px) {
    .rb-timeline-five,.rb-category-four { grid-template-columns:1fr; }
    .rb-category-four .rb-category-card { aspect-ratio:16/9; }
    .rb-content-grid { grid-template-columns:1fr; gap:24px; }
    .rb-comparison-pair { grid-template-columns:1fr; gap:14px; }
    .rb-section-nav .container { gap:4px 20px; justify-content:flex-start; }
    .rb-section-nav a { font-size:.82rem; }
    .rb-content-empty { padding:28px 20px; }
    .rb-faq-item summary { padding:20px 16px; grid-template-columns:20px minmax(0,1fr) 28px; gap:10px; }
    .rb-faq-question { font-size:.93rem; }
    .rb-faq-toggle { width:28px; height:28px; }
    .rb-faq-toggle::before,.rb-faq-toggle::after { left:8px; top:13px; }
    .rb-faq-answer { padding:0 20px 22px 46px; font-size:.88rem; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }
