/* ==========================================================================
   Page-specific rules. Shared design system lives in main.css (section 13
   holds the journal components every page is built from).
   ========================================================================== */

/* chapter heads that sit inside a two-column split need a tighter gap */
.duo-split .ch__head { margin-bottom: 1.3rem; }
.duo-split .ch__head h2 { font-size: var(--step-3); }

/* --- Home ----------------------------------------------------------------- */
.home-hero-photo img { object-position: 76% 40%; }
.quote-trio { display: grid; gap: clamp(2rem, 4vw, 3rem); }
@media (min-width: 860px) { .quote-trio { grid-template-columns: repeat(3, 1fr); } }
.quote-trio .say blockquote { font-size: var(--step-1); line-height: 1.4; color: #fff; }

/* --- Treatments ----------------------------------------------------------- */
.tx-chapter .ch__head { margin-bottom: clamp(1.6rem, 3.5vw, 2.4rem); }
.tx-chapter .ch__head h2 { font-size: var(--step-3); }
@media (min-width: 1100px) { .page-home .index-grid { grid-template-columns: repeat(5, 1fr); } }
@media (min-width: 700px) and (max-width: 1099px) { .page-home .index-grid { grid-template-columns: repeat(3, 1fr); } }
.tcard--menu .say { margin: .9rem 0 .2rem; }
.tcard--menu .say blockquote { font-size: 1.02rem; }

/* --- Layout utilities (replace former inline styles) ----------------------- */
.section--flush-top { padding-top: 0; }
.page-head--center .hero__actions { justify-content: center; }
.duo-split--top { align-items: start; }

/* "More treatments" cards: name left, price box always top-right, whatever
   the name length (a wrapping flex row dropped long names' price to the left). */
.tcard--menu .tcard__band { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: start; gap: 1rem; }
.tcard--menu .tcard__band > div { min-width: 0; }
/* Korean names break between words, never mid-word */
.tcard__kr, [lang="ko"] { word-break: keep-all; }
