/* 카페·로스터리 공용 모양(두 페이지 같은 모양 — rebuild-roastery.css 와 내용 같음).
   옛 시안: 왼쪽 사진 500×600 + 왼쪽 아래 연한 상자, 오른쪽 글, 아래 사진 두 장 580×380. */
.rb-place { --rb-soft: #f5f4f0; --rb-body: #666; word-break: keep-all; overflow-wrap: anywhere; }
.rb-place h2, .rb-place h3, .rb-place p { word-break: keep-all; text-wrap: pretty; }
.rb-place .rb-container { max-inline-size: 1240px; }
.rb-place .rb-split { grid-template-columns: 560px 1fr; gap: 80px; padding-block: 0; isolation: isolate; }
.rb-place .rb-split > div { padding-block-start: 14px; }
.rb-place .rb-photo { justify-self: end; inline-size: min(100%, 500px); margin: 0; }
.rb-place .rb-photo::after { inset: auto auto -60px -60px; inline-size: 45.2%; block-size: 34.7%; }
.rb-place .rb-eyebrow { margin-block-end: 22px; font-size: 20px; }
.rb-place .rb-split h2 { margin: 0 0 50px; font-size: clamp(22px, 2.1vw, 30px); line-height: 1.55; font-weight: 600; }
.rb-place .rb-split p.rb-text { max-inline-size: none; color: var(--rb-body); font-size: clamp(15px, 1.3vw, 18.7px); line-height: 34px; font-weight: 300; }
.rb-place .rb-split p.rb-text + p.rb-text { margin-block-start: 2em; }
.rb-place .rb-gallery { padding-block: 239px 180px; }
.rb-place .rb-gallery h2 { margin-block-end: 52px; font-size: clamp(26px, 2.75vw, 39px); font-weight: 600; }
.rb-place .rb-grid { gap: 40px; }
.rb-place .rb-grid img { aspect-ratio: 580 / 380; }

@media (max-width: 1200px) {
  .rb-place .rb-split { grid-template-columns: 1fr 1fr; gap: 60px; }
}
@media (max-width: 991px) {
  .rb-place .rb-split { grid-template-columns: 1fr; gap: 70px; padding-block: 0 20px; isolation: isolate; }
  .rb-place .rb-photo { justify-self: start; inline-size: min(90%, 540px); }
  .rb-place .rb-photo::after { inset: auto -11% -60px auto; inline-size: 45%; block-size: 34%; }
  .rb-place .rb-gallery { padding-block: 110px 90px; }
}
@media (max-width: 600px) {
  .rb-place .rb-split { gap: 70px; }
  .rb-place .rb-eyebrow { font-size: 16px; margin-block-end: 18px; }
  .rb-place .rb-split h2 { margin-block-end: 26px; font-size: 21px; line-height: 1.55; }
  .rb-place .rb-split h2 br.rb-pc { display: none; }
  .rb-place .rb-split p.rb-text { font-size: 15px; line-height: 1.85; }
  .rb-place .rb-split p.rb-text + p.rb-text { margin-block-start: 1.6em; }
  .rb-place .rb-photo::after { inset: auto -20px -40px auto; }
  .rb-place .rb-gallery { padding-block: 80px 70px; }
  .rb-place .rb-gallery h2 { margin-block-end: 28px; font-size: 26px; }
  .rb-place .rb-grid { grid-template-columns: repeat(2, 1fr); gap: 14px; }
}
