/* ==========================================================================
   Enigma — shared inner-page patterns: numbered steps, split blocks, notes
   ========================================================================== */

/* Numbered steps in a row (ritual, face fitness) */
.steps { display: grid; grid-template-columns: repeat(var(--cols, 5), minmax(0, 1fr)); border-top: 1px solid var(--line); }
.steps > li { position: relative; display: grid; align-content: start; gap: 0.75rem; padding: 1.75rem clamp(0.75rem, 1.5vw, 1.5rem) 2rem 0; }
.steps > li + li { padding-left: clamp(0.75rem, 1.5vw, 1.5rem); border-left: 1px solid var(--line); }
.steps h3 { font-family: var(--f-serif); font-size: var(--fs-h3); }
.steps p { color: var(--muted); font-size: 0.95rem; }
.steps__n { font-size: 0.75rem; font-weight: 600; letter-spacing: 0.16em; color: var(--accent); }
@media (max-width: 960px) {
  .steps { grid-template-columns: 1fr; }
  .steps > li, .steps > li + li { padding: 1.4rem 0; border-left: 0; border-bottom: 1px solid var(--line); }
}

/* Two columns: copy + media */
.split { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: var(--space-l); align-items: center; }
.split__media { border-radius: var(--r-card); overflow: hidden; }
.split__media img { width: 100%; height: 100%; object-fit: cover; }
@media (max-width: 860px) { .split { grid-template-columns: 1fr; } }

/* Quiet footnote line */
.note { font-size: var(--fs-small); color: var(--muted); max-width: 60ch; }

/* Instagram call-out */
.ig-cta {
  display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1.5rem;
  padding: clamp(1.5rem, 3vw, 2.5rem); border-radius: var(--r-pill); box-shadow: inset 0 0 0 1px var(--line-strong);
}
.ig-cta p { font-family: var(--f-serif); font-size: clamp(1.4rem, 1rem + 1.2vw, 2.2rem); line-height: 1.1; max-width: 26ch; }
.ig-cta p em { font-style: italic; }
.ig-cta a { display: inline-flex; align-items: center; gap: 0.6rem; font-weight: 600; }
@media (max-width: 640px) { .ig-cta { border-radius: var(--r-card); } }

/* ---------- 404 ---------- */
.nf {
  min-height: 100svh; display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; gap: var(--space-l);
  padding: calc(var(--nav-h) + var(--space-m)) var(--gutter) var(--space-l);
}
.nf .mirror--sm { --mw: min(64vw, 380px); margin: 0; }
.nf__body { display: grid; gap: 1.4rem; justify-items: start; }
.nf__body .h1 { max-width: 11ch; }
.nf__text { color: var(--muted); max-width: 40ch; }
@media (max-width: 760px) { .nf { grid-template-columns: 1fr; justify-items: center; } }
