.place-block { background:var(--surface); border-top:1px solid var(--line);
  border-bottom:1px solid var(--line); padding:44px 0; }
.place-block .three-pieces { display:grid; grid-template-columns:1fr; gap:14px;
  margin-top:20px; }
.place-block .piece { background:var(--card); border:1px solid var(--line);
  border-radius:14px; padding:18px; display:flex; gap:14px; align-items:flex-start; }
.place-block .piece .ic { font-size:1.6rem; line-height:1; }
.place-block .piece h3 { margin-bottom:4px; }
.place-block .piece p { color:var(--text-soft); font-size:.9rem; }

.place-block .modes { display:grid; grid-template-columns:1fr; gap:36px;
  margin-top:34px; }
.place-block .mode-tag { font-family:var(--serif); font-size:1.0625rem; font-weight:700;
  color:var(--text); margin-bottom:14px; }
.place-block .mode > p { color:var(--text-soft); font-size:.9375rem; margin-top:18px; }

.place-block .stack { display:flex; align-items:flex-start; justify-content:center; }
.place-block .stack > .tg-frame + .tg-frame { margin-left:-46px; margin-top:30px;
  position:relative; z-index:2; }
.place-block .stack > .route-illo { margin-left:18px; align-self:center; }
.place-block .tg-frame { margin:0; width:190px; flex:0 0 190px; padding:7px;
  background:#1E293B; border-radius:24px; box-shadow:0 8px 24px rgba(15,23,42,.20); }
.place-block .tg-frame img { display:block; width:100%; height:auto;
  border-radius:17px; }
.place-block .route-illo { width:190px; flex:0 0 190px; height:auto;
  align-self:flex-start; border-radius:18px; border:1px solid var(--line);
  background:var(--card); }

.place-block .note { background:var(--card); border:1px solid var(--line);
  border-radius:12px; padding:14px 16px; margin-top:30px; color:var(--text-soft);
  font-size:.9rem; }

@media (min-width:900px) {
  .place-block .three-pieces { grid-template-columns:1fr 1fr 1fr; grid-auto-rows:1fr; }
  .place-block .piece { align-items:center; }
  .place-block .modes { grid-template-columns:1fr 1fr; gap:40px; }
  .place-block .stack { justify-content:flex-start; }
}
.place-block .tg-frame-empty { display:flex; flex-direction:column;
  align-items:center; justify-content:center; text-align:center; gap:6px;
  aspect-ratio:9/18; background:repeating-linear-gradient(-45deg,#EDF2FB,#EDF2FB 12px,#F1F5F9 12px,#F1F5F9 24px);
  border:8px solid #1E293B; color:var(--muted); padding:14px 10px;
  border-radius:24px; overflow:hidden; }
.place-block .tg-frame-empty .tg { font-size:1.8rem; line-height:1; }
.place-block .tg-frame-empty .lbl { font-weight:600; color:var(--text-soft);
  font-size:.8125rem; line-height:1.25; max-width:100%; white-space:normal;
  overflow-wrap:anywhere; hyphens:auto; }
.place-block .tg-frame-empty .sub { font-size:.75rem; }
.pair-solo { display:block; max-width:520px; margin-inline:auto; }
.pair-solo .pair-phone { margin:0 auto; }
