.rb-block {
  --rb-ink:#232e2a;
  --rb-muted:#536158;
  --rb-line:#d8ded7;
  --rb-wash:#f2f5ef;
  box-sizing:border-box;
  container-type:inline-size;
  background:#fff;
  color:var(--rb-ink);
  padding:clamp(22px,4.2vw,56px);
  border-top:1px solid var(--rb-line);
  line-height:1.5;
  overflow-wrap:anywhere;
  text-align:left;
}
.rb-block *, .rb-block *::before, .rb-block *::after { box-sizing:border-box; }
.rb-block [hidden] { display:none!important; }
.rb-block h3 { margin:0 0 18px; color:inherit; font:700 clamp(20px,4cqw,31px)/1.28 system-ui,sans-serif; letter-spacing:-.05em; }
.rb-block h4 { font:650 1.05rem/1.4 system-ui,sans-serif; margin:0 0 8px; }
.rb-block h4:last-child,.rb-block p:last-child { margin-bottom:0; }
.rb-block p { margin:8px 0; }
.rb-block button,.rb-block input,.rb-block select,.rb-block textarea { font:inherit; }
.rb-block button { border-radius:8px; padding:7px 12px; min-height:34px; background:white; border:1px solid var(--rb-line); color:var(--rb-ink); cursor:pointer; }
.rb-block button:hover:not(:disabled),.rb-block button:focus-visible { border-color:var(--rb-muted); }
.rb-block button:disabled { opacity:.32; cursor:default; }
.rb-block button[aria-pressed="true"],.rb-block button[type=submit] { background:var(--rb-ink); color:white; }
.rb-block figure { min-width:0; margin:0; overflow:hidden; }
.rb-block figure img { width:100%; max-width:100%; aspect-ratio:4/3; object-fit:cover; display:block; border-radius:8px; }
.rb-block figcaption,.rb-block cite,.rb-block small { font-size:.82rem; color:var(--rb-muted); }
.rb-block figcaption { margin-top:6px; }
.rb-block .rb-pair,.rb-block .rb-gallery,.rb-block .rb-places { display:grid; gap:10px; }
.rb-block .rb-gallery,.rb-block .rb-places { grid-template-columns:repeat(auto-fit,minmax(min(140px,100%),1fr)); }
.rb-block .rb-pair { grid-template-columns:repeat(2,minmax(0,1fr)); }
.rb-block .rb-crop-1,.rb-block .rb-crop-2 { object-fit:cover; object-position:15% 30%; }
.rb-block .rb-crop-1 { object-view-box:inset(10% 34% 22% 6%); }
.rb-block .rb-crop-2 { object-view-box:inset(25% 3% 8% 42%); }
.rb-block .rb-gallery-track { display:flex; width:100%; overflow-x:auto; overscroll-behavior-x:contain; scroll-snap-type:x mandatory; scrollbar-width:thin; }
.rb-block .rb-gallery-track figure { flex:0 0 100%; scroll-snap-align:start; }
.rb-block .rb-gallery-track img { aspect-ratio:16/9; max-height:340px; }
.rb-block .rb-gallery-track figcaption { padding-bottom:6px; }
.rb-block .rb-controls { display:flex; flex-wrap:wrap; align-items:center; gap:6px; margin:10px 0; }
.rb-block .rb-controls>span { font-size:.82rem; font-variant-numeric:tabular-nums; padding:0 8px; }
.rb-block .rb-wipe { --wipe:50%; position:relative; aspect-ratio:16/9; overflow:hidden; border-radius:8px; }
.rb-block .rb-wipe img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.rb-block .rb-compare-crop { overflow:hidden; border-radius:8px; }
.rb-block .rb-wipe-overlay { position:absolute; inset:0; clip-path:inset(0 0 0 var(--wipe)); }
.rb-block .rb-zoom-detail { transform:scale(1.65); transform-origin:60% 45%; }
.rb-block .rb-wipe-labels { position:absolute; top:10px; left:10px; right:10px; display:flex; justify-content:space-between; pointer-events:none; }
.rb-block .rb-wipe-labels span { background:#16251ee6; border-radius:5px; padding:3px 7px; color:white; font:600 .78rem/1.4 system-ui,sans-serif; }
.rb-block .rb-wipe-handle { position:absolute; top:50%; left:clamp(14px,var(--wipe),calc(100% - 14px)); transform:translate(-50%,-50%); z-index:1; display:grid; place-items:center; width:30px; height:30px; border-radius:50%; background:white; color:#16251e; box-shadow:0 1px 7px #19262070; pointer-events:none; }
.rb-block .rb-wipe input[type=range] { appearance:none; position:absolute; width:100%; height:100%; z-index:2; inset:0; margin:0; padding:0; opacity:0; cursor:ew-resize; }
.rb-block .rb-wipe input[type=range]::-webkit-slider-thumb { appearance:none; width:1px; height:100%; }
.rb-block .rb-wipe input[type=range]::-moz-range-thumb { width:1px; }
.rb-block .rb-wipe:has(input:focus-visible) { outline:3px solid #397253; outline-offset:2px; }
.rb-block .rb-wipe::after { content:""; position:absolute; top:0; bottom:0; left:var(--wipe); width:2px; box-shadow:0 0 4px #222; background:white; }
.rb-block .rb-field { display:grid; gap:5px; font-size:.9rem; font-weight:600; margin:12px 0; }
.rb-block :is(input[type=search],textarea,select) { border:1px solid var(--rb-line); color:var(--rb-ink); background:white; min-width:0; width:100%; padding:8px 10px; border-radius:7px; }
.rb-block textarea { resize:vertical; }
.rb-block input[type=range],.rb-block progress { accent-color:var(--rb-ink); width:100%; }
.rb-block table { width:100%; border-collapse:collapse; font-size:clamp(.79rem,2.4cqw,.95rem); }
.rb-block td,.rb-block th { padding:10px 5px; border-bottom:1px solid var(--rb-line); text-align:left; color:inherit; }
.rb-block th { background:var(--rb-wash); }
.rb-block .rb-card,.rb-block .rb-answer:not(:empty),.rb-block blockquote { border-radius:8px; padding:13px; background:var(--rb-wash); margin:10px 0 0; }
.rb-block .rb-card h4 { margin:3px 0; }
.rb-block .rb-answer { white-space:pre-wrap; }
.rb-block .rb-faq details { border-bottom:1px solid var(--rb-line); padding:10px 0; }
.rb-block summary { cursor:pointer; }
.rb-block .rb-list { list-style:none; margin:8px 0; padding:0; }
.rb-block .rb-list li { display:flex; align-items:center; justify-content:space-between; gap:8px; padding:11px 0; border-bottom:1px solid var(--rb-line); }
.rb-block .rb-timeline { margin:0; padding-left:28px; border-left:3px solid var(--rb-line); }
.rb-block .rb-timeline li { padding:5px 0; }
.rb-block .rb-timeline p { font-size:.9rem; color:var(--rb-muted); }
.rb-block .rb-check { cursor:pointer; display:flex; align-items:center; gap:8px; padding:8px 0; }
.rb-block .rb-check input { width:18px; height:18px; accent-color:var(--rb-ink); }
.rb-block .rb-check input:checked+span { color:var(--rb-muted); }
.rb-block .rb-calendar { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:3px; max-width:380px; }
.rb-block .rb-calendar>* { text-align:center; font-size:.85rem; }
.rb-block .rb-calendar>button { min-width:0; padding:4px 0; margin:0; }
.rb-block .rb-reviews blockquote p { font-weight:550; margin:0 0 6px; }
.rb-block .rb-reviews cite { font-style:normal; }
.rb-block form { margin:0; }
