/* Come, Sit — Just Ask: restrained production refinements v29 */
.csja-room-page .room-shell{padding-top:3.25rem}
.csja-room-page .csja-room-hero{
  grid-template-columns:minmax(220px,292px) minmax(0,1fr);
  gap:clamp(2.4rem,5vw,4.25rem);
  align-items:center;
  margin-bottom:3.25rem
}
.csja-room-page .csja-room-hero>img{
  width:100%;
  max-width:282px;
  justify-self:center
}
.csja-room-page .csja-room-copy{max-width:36.5rem}
.csja-room-page .csja-room-copy .eyebrow{margin:0 0 .8rem}
.csja-room-page .csja-room-heading{
  font-family:"Playfair Display",Georgia,serif;
  font-size:clamp(1.72rem,2.7vw,2.28rem);
  line-height:1.24;
  font-weight:400;
  margin:0 0 .95rem;
  max-width:24ch
}
.csja-room-page .csja-room-copy .subhead{
  font-family:"Playfair Display",Georgia,serif;
  font-size:clamp(1.02rem,1.45vw,1.16rem);
  line-height:1.68;
  margin:0 0 1.05rem;
  max-width:35rem
}
.csja-room-page .csja-room-copy .intro{
  font-size:.98rem;
  line-height:1.76;
  max-width:35rem
}
.csja-room-page .csja-room-copy .intro p{margin:.7rem 0}
.csja-room-page .csja-room-copy .status-note{margin-top:1.15rem}

.csja-story-page.quiet-field-note .reading-page{
  max-width:70rem;
  padding-top:3.7rem
}
.csja-story-page .story-header{
  max-width:41rem;
  margin-bottom:2.25rem
}
.csja-story-page .story-header h1{
  font-size:clamp(2.2rem,4.5vw,3.35rem);
  line-height:1.12;
  margin:.62rem auto .72rem;
  max-width:16ch;
  text-wrap:balance
}
.csja-story-page .story-deck{
  font-family:"Playfair Display",Georgia,serif;
  font-style:italic;
  font-size:clamp(1rem,1.35vw,1.13rem);
  line-height:1.58;
  max-width:33rem;
  margin:.62rem auto 0;
  color:var(--ink-soft)
}
.csja-story-page .reading-time{margin-top:.8rem}
.csja-story-page .story-hero{
  max-width:410px;
  margin:0 auto 3.3rem
}
.csja-story-page .story-hero img{
  display:block;
  width:100%;
  height:auto;
  border-radius:2px;
  box-shadow:0 8px 25px rgba(44,37,25,.14)
}
.csja-story-page .story-body{
  max-width:41rem;
  font-family:"Playfair Display",Georgia,serif;
  font-size:clamp(1.08rem,1.2vw,1.18rem);
  line-height:1.86;
  color:#322a1f
}
.csja-story-page .story-body p{margin:0 0 1.38em}
.csja-story-page .story-body .opening-line{
  font-size:1.12em;
  line-height:1.72
}
.csja-story-page .story-body .opening-line::first-letter{
  float:left;
  font-size:3.55rem;
  line-height:.84;
  padding:.12rem .46rem 0 0;
  color:var(--leaf)
}
.csja-story-page .story-body .story-rule{
  border:0;
  border-top:1px solid var(--line);
  width:28%;
  margin:2.9rem auto
}
.csja-story-page .story-ending{
  max-width:41rem;
  margin:3.8rem auto 0;
  text-align:center
}
.csja-story-page .story-ending h2{
  font-size:clamp(1.62rem,2.6vw,2.05rem);
  font-weight:400;
  margin-bottom:.7rem
}
.csja-story-page .story-ending>p{
  max-width:33rem;
  margin:.55rem auto 1.35rem;
  line-height:1.72;
  color:var(--ink-soft)
}
.csja-story-page .story-nav{
  margin-top:2.35rem;
  display:flex;
  justify-content:space-between;
  gap:1rem;
  align-items:center;
  border-top:1px solid var(--line);
  padding-top:1.35rem
}
.csja-story-page .story-nav a{
  color:var(--leaf);
  text-decoration:none;
  font-size:.88rem;
  letter-spacing:.03em
}

@media(max-width:720px){
  .csja-room-page .room-shell{padding-top:2.45rem}
  .csja-room-page .csja-room-hero{
    grid-template-columns:1fr;
    gap:1.55rem;
    align-items:start
  }
  .csja-room-page .csja-room-copy{order:1}
  .csja-room-page .csja-room-hero>img{
    order:2;
    max-width:260px;
    margin-top:.35rem
  }
  .csja-room-page .csja-room-heading{
    font-size:clamp(1.62rem,7.5vw,2rem);
    max-width:none
  }
  .csja-room-page .csja-room-copy .subhead{font-size:1.04rem}
  .csja-story-page.quiet-field-note .reading-page{padding-top:2.7rem}
  .csja-story-page .story-header{margin-bottom:1.9rem}
  .csja-story-page .story-header h1{
    font-size:clamp(2rem,9.4vw,2.7rem);
    max-width:15ch
  }
  .csja-story-page .story-hero{
    max-width:305px;
    margin-bottom:2.55rem
  }
  .csja-story-page .story-body{
    font-size:1.055rem;
    line-height:1.8
  }
  .csja-story-page .story-body p{margin-bottom:1.3em}
  .csja-story-page .story-body .opening-line::first-letter{font-size:3.1rem}
  .csja-story-page .story-body .story-rule{margin:2.5rem auto;width:34%}
  .csja-story-page .story-nav{flex-direction:column;align-items:center}
}

/* CSJA v1.0.126 — Reflect is a pause, not a story poster. */
.csja-reflect-page .story-hero{width:min(100%,520px)!important;max-width:520px!important;aspect-ratio:1/1!important;background:#f4efe3!important}
.csja-reflect-page .story-hero img{width:100%!important;height:100%!important;object-fit:contain!important}
.walking-map-link{margin:1.35rem 0 1.6rem!important;text-align:center}
.walking-map-link a{display:inline-flex;padding:.7rem 1.05rem;border:1px solid rgba(78,93,68,.38);border-radius:3px;color:#4e5d44;text-decoration:none;font-family:Inter,sans-serif;font-size:.86rem;font-weight:500}
.reflect-num{font-size:.62rem!important;letter-spacing:.12em!important}

/* v144 Reflect architecture — Walking Map embedded in Reflect pages */
.csja-reflect-map-figure { margin: 2rem auto 0; max-width: 700px; text-align: center; }
.csja-reflect-map-figure img { width: 100%; height: auto; display: block; }
.reflect-map-actions { display: flex; justify-content: center; gap: 10px; flex-wrap: wrap; margin: 14px 0 2rem; }
.reflect-map-actions a,
.reflect-map-actions button {
  appearance: none; -webkit-appearance: none;
  border: 1px solid rgba(78,93,68,.45);
  background: #f7f1e5; color: #3f5139;
  border-radius: 3px; padding: .72rem 1.1rem;
  font: 600 12px/1 Arial,sans-serif;
  cursor: pointer; text-decoration: none; display: inline-block;
}
@media print {
  .topbar, .story-nav, footer, .reflect-map-actions, .story-header, .site-header { display: none !important; }
  .csja-reflect-map-figure img { width: 100%; max-height: 100vh; object-fit: contain; }
  body, html { background: #fff; }
}
/* Shelf card: Reflect label — clean, no sub-description noise */
.spine .reflect-num { font-size: 10px; letter-spacing: .12em; color: #8a6b31; }

/* v144 fix: reflect shelf card — no spine-num rendered, spine-copy fills that column */
.csja-reading-room .spine.reflect-spine.shelf-spine-with-thumb .spine-copy {
  grid-column: 2 / span 2;
}
@media(max-width:640px) {
  .csja-reading-room .spine.reflect-spine.shelf-spine-with-thumb .spine-copy {
    grid-column: 3 / span 1;
  }
}
