/* Estetica22 — fluid type scale. Display = Cormorant Garamond, UI/body = Jost. */
body { font-family: var(--font-body); font-weight: 300; font-size: 1.0625rem; line-height: 1.7; letter-spacing: .01em; }
p { max-width: var(--measure); }

.over-title, .chapter-label, .label-caps {
  font-family: var(--font-body); font-weight: 500; font-size: .72rem;
  letter-spacing: .35em; text-transform: uppercase; color: var(--ink-soft);
}
.chapter-label { display: inline-flex; align-items: center; gap: 1rem; }
.chapter-label::after { content: ""; width: 3.5rem; height: 1px; background: var(--hairline); }

h1, .display-1 { font-family: var(--font-display); font-weight: 300; font-size: clamp(2.6rem, 6.5vw, 4.8rem); line-height: 1.12; letter-spacing: .005em; margin: 0 0 1.5rem; }
h2, .display-2 { font-family: var(--font-display); font-weight: 300; font-size: clamp(2.2rem, 5vw, 3.6rem); line-height: 1.15; margin: 0 0 .75rem; }
h3, .display-3 { font-family: var(--font-display); font-weight: 400; font-size: clamp(1.5rem, 2.6vw, 2.1rem); line-height: 1.2; margin: 0 0 .6rem; }
.display-1 em, .display-2 em, .pull-quote em { font-style: italic; font-weight: 300; }

.section-subtitle { font-family: var(--font-display); font-style: italic; font-weight: 400; font-size: clamp(1.1rem, 2vw, 1.35rem); color: var(--ink-soft); margin: 0 0 2.5rem; }
.pull-quote { font-family: var(--font-display); font-style: italic; font-weight: 300; font-size: clamp(1.25rem, 3.4vw, 1.5rem); line-height: 1.4; max-width: 32ch; }

.num-roman { font-family: var(--font-display); font-weight: 400; font-size: 1.05rem; letter-spacing: .08em; color: var(--ink-soft); font-variant-numeric: lining-nums; }
.price { font-family: var(--font-body); font-weight: 500; font-size: .95rem; letter-spacing: .06em; white-space: nowrap; }
.dotted-leader { flex: 1; border-bottom: 1px dotted var(--hairline); transform: translateY(-.35em); min-width: 2rem; }
.treatment-meta { font-size: .85rem; font-weight: 400; letter-spacing: .08em; color: var(--ink-soft); }
