/* Mobile-first adaptations of styles.css: experience-item, services/step,
   about and section-heading. Scoped to the landing, separate from checkout. */
.consult-landing { --consult-gutter: max(var(--page-gutter), calc((100vw - var(--content-max)) / 2)); }
.consult-landing .section { padding-block: 48px; }
.consult-landing h2 { text-wrap: balance; }
.consult-hero { gap: 24px; padding-top: 8px; padding-bottom: 40px; }
.consult-hero h1 { font-size: clamp(34px, 8.5vw, 60px); line-height: 1.12; text-wrap: balance; }
.consult-hero .eyebrow { display: flex; align-items: center; gap: 12px; }
.consult-hero > .form-stack > .eyebrow::before { content: ""; width: 28px; height: 1px; background: currentColor; }
.consult-hero .chips { column-gap: 16px; }
.consult-hero .chip { font-size: 13px; }
.consult-hero .hero-buy { padding: 24px; border: 1px solid var(--line); border-radius: 4px 4px 40px 4px; background: var(--cream-deep); gap: 16px; }
.consult-hero .hero-buy .eyebrow { font-size: 12px; letter-spacing: 1.5px; }
.consult-hero .price strong { font-size: clamp(36px, 8vw, 48px); font-weight: 500; letter-spacing: -.04em; }
.consult-hero .secure { font-size: 12px; }
.consult-hero .consult-payment-note { font-size: 12px; line-height: 1.6; color: var(--muted); }
.consult-audience { border-top: 1px solid var(--line); }
.consult-audience-list { list-style: none; padding: 0; margin: 24px 0; display: grid; gap: 16px; }
.consult-audience-list li { display: flex; align-items: baseline; gap: 16px; }
.consult-audience-list li > span { flex: 0 0 24px; color: var(--wine); font-size: 24px; text-align: center; }
.consult-audience-list p { color: var(--muted); line-height: 1.7; }
.consult-audience-closing { font-weight: 600; line-height: 1.7; max-width: 680px; }
.consult-focus, .consult-booking, .consult-faq { display: grid; gap: 28px; align-items: start; }
.consult-focus .section-head, .consult-faq .section-head { margin: 0; }
.consult-landing .consult-note { color: var(--muted); font-size: 14px; line-height: 1.7; margin-top: 24px; }
.consult-focus .consult-note { padding-left: 16px; border-left: 2px solid var(--terra); margin-top: 16px; }
.consult-focus-grid { border-top: 1px solid var(--line); }
.consult-focus-card { display: flex; align-items: flex-start; gap: 16px; padding: 24px 0; border-bottom: 1px solid var(--line); }
.consult-focus-card > .eyebrow { flex: 0 0 24px; padding-top: 3px; letter-spacing: 0; }
.consult-focus-card > div { min-width: 0; }
.consult-focus-card h3 { font-size: 20px; line-height: 1.35; margin-bottom: 8px; }
.consult-focus-card p { color: var(--muted); line-height: 1.7; }
.consult-session { background: var(--cream-deep); margin-inline: calc(-1 * var(--consult-gutter)); padding-inline: var(--consult-gutter); }
.consult-session .section-head { max-width: none; gap: 16px; }
.consult-session .section-head h2 { max-width: 560px; }
.consult-session .section-head p { max-width: 390px; }
.consult-steps { display: grid; list-style: none; padding: 0; gap: 28px; margin-top: 32px; }
.consult-steps li { border-top: 1px solid #cfbfb0; padding-top: 20px; }
.consult-step-top { display: flex; justify-content: space-between; align-items: center; color: var(--accent-text); font-size: 13px; }
.consult-step-symbol { font-size: 28px; color: var(--wine); line-height: 1; }
.consult-steps h3 { font-size: 20px; line-height: 1.4; margin: 16px 0 12px; }
.consult-steps p { color: var(--muted); line-height: 1.75; }
.consult-how .steps-flow { gap: 0; }
.consult-how .steps-flow li { grid-template-columns: 24px minmax(0, 1fr); column-gap: 16px; }
.consult-how .steps-flow li::before { grid-row: 1 / 3; padding-top: 2px; }
.consult-how .steps-flow li > span { grid-column: 2; }
.consult-booking { border-top: 1px solid var(--line); }
.consult-booking .join { width: 100%; max-width: none; padding: 24px 20px; background: var(--cream-deep); border: 0; border-radius: 4px 4px 40px 4px; gap: 16px; }
.consult-booking .join .lead { color: var(--muted); }
.consult-booking .join .btn { padding-inline: 16px; }
.consult-faq { border-top: 1px solid var(--line); }
.consult-faq .faq { width: 100%; max-width: none; }
.consult-faq .faq summary { font-size: 16px; }
@media (min-width: 700px) {
  .consult-landing .section { padding-block: 72px; }
  .consult-hero { padding-block: 24px 56px; }
  .consult-steps { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; }
  .consult-how .steps-flow { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; }
  .consult-booking .join { padding: 32px; }
}
@media (min-width: 900px) {
  .consult-hero { grid-template-columns: minmax(0, 1.35fr) minmax(0, .85fr); gap: 64px; }
  .consult-hero .hero-buy { padding: 36px; border-bottom-right-radius: 64px; }
  .consult-focus, .consult-faq { grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: 72px; }
  .consult-focus .section-head { position: sticky; top: calc(var(--header-height) + 32px); }
  .consult-booking { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 72px; }
  .consult-session .section-head { grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr); align-items: end; gap: 72px; }
  .consult-steps { margin-top: 40px; gap: 44px; }
}
