.problem-lead { margin: 40px 0 50px; padding: 30px 32px; border-left: 5px solid var(--lime); color: var(--white); background: var(--night); }
.problem-lead p { margin: 0 !important; font: 500 24px/1.2 var(--serif); }
.gear-map { width: min(1040px, calc(100% - 80px)); margin: 46px auto 18px; }
.gear-map figcaption, .diagnostic figcaption, .transition figcaption { margin-top: 16px; color: var(--muted); font-size: 13px; line-height: 1.2; }
.gear-center { padding: 25px 28px; color: var(--white); border-radius: 22px 22px 0 0; background: var(--night); text-align: center; }
.gear-center small { display: block; margin-bottom: 7px; color: var(--lime); font-size: 11px; font-weight: 900; letter-spacing: .13em; text-transform: uppercase; }
.gear-center strong { font: 500 30px/1.05 var(--serif); }
.gear-options { display: grid; grid-template-columns: repeat(4, 1fr); border: 1px solid var(--line); border-top: 0; border-radius: 0 0 22px 22px; overflow: hidden; background: var(--white); }
.gear-option { min-height: 180px; padding: 24px; }
.gear-option + .gear-option { border-left: 1px solid var(--line); }
.gear-option b { display: block; margin-bottom: 11px; color: var(--violet); font-size: 12px; letter-spacing: .1em; text-transform: uppercase; }
.gear-option h3 { margin: 0 0 10px; font-size: 18px; }
.gear-option p { margin: 0; color: var(--muted); font-size: 14px; line-height: 1.2; }
.forum-quote { margin: 34px 0; padding: 0 0 0 26px; border-left: 3px solid var(--violet); }
.forum-quote p { margin: 0 !important; font: 500 24px/1.2 var(--serif); }
.diagnostic { width: min(1040px, calc(100% - 80px)); margin: 44px auto 16px; }
.diagnostic-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 2px; padding: 2px; border-radius: 24px; background: var(--line); overflow: hidden; }
.diagnostic-step { position: relative; min-height: 228px; padding: 26px 22px; background: var(--white); }
.diagnostic-step b { display: block; margin-bottom: 34px; color: var(--violet); font-size: 12px; letter-spacing: .1em; }
.diagnostic-step h3 { margin: 0 0 12px; font-size: 18px; }
.diagnostic-step p { margin: 0; color: var(--muted); font-size: 14px; line-height: 1.2; }
.diagnostic-result { margin-top: 2px; padding: 24px 28px; color: var(--white); border-radius: 0 0 24px 24px; background: var(--violet); text-align: center; font-weight: 800; line-height: 1.2; }
.situations { width: min(1040px, calc(100% - 80px)); margin: 40px auto 16px; }
.situations-grid { display: grid; grid-template-columns: 1fr; gap: 2px; padding: 2px; border-radius: 26px; background: var(--line); overflow: hidden; }
.situation { min-height: 270px; padding: 32px; background: var(--white); }
.situation .case-num { margin-bottom: 20px; }
.situation h3 { margin: 0 0 14px; font-size: 22px; }
.situation p { margin: 0 0 16px; color: var(--muted); font-size: 15px; line-height: 1.2; }
.situation strong { display: block; padding-top: 15px; border-top: 1px solid var(--line); font-size: 14px; line-height: 1.2; }
.clave-note { margin: 36px 0; padding: 30px 32px; border: 1px solid var(--line); border-radius: 24px; background: var(--white); }
.clave-note .eyebrow { margin-bottom: 12px; color: var(--violet); }
.clave-note h3 { margin: 0 0 13px; font: 500 28px/1.08 var(--serif); }
.clave-note p:last-child { margin-bottom: 0; }
.transition { width: min(1040px, calc(100% - 80px)); margin: 42px auto 12px; }
.transition-track { display: grid; grid-template-columns: repeat(7, 1fr); color: var(--white); border-radius: 24px; background: var(--night); overflow: hidden; }
.transition-step { position: relative; min-height: 168px; padding: 25px 18px; border-right: 1px solid rgba(255,255,255,.12); }
.transition-step:last-child { border-right: 0; }
.transition-step b { display: block; margin-bottom: 22px; color: var(--lime); font-size: 11px; letter-spacing: .1em; }
.transition-step p { margin: 0; font-size: 14px; line-height: 1.2; }
.return-list { margin: 28px 0 0; padding: 0; list-style: none; border-top: 1px solid var(--line); }
.return-list li { position: relative; padding: 17px 0 17px 33px; border-bottom: 1px solid var(--line); line-height: 1.2; }
.return-list li::before { content: "↩"; position: absolute; left: 2px; top: 15px; color: var(--violet); font-weight: 900; }
.practice .listens { grid-template-columns: repeat(2, 1fr); }
.practice .listen { min-height: 210px; }
.floor-check { margin-top: 36px; }
.floor-check .decision-flow { grid-template-columns: repeat(5, 1fr); }
.floor-check .decision-step { padding: 20px 16px; }
.floor-check .decision-step p { line-height: 1.2; }
.formula { margin: 38px 0; padding: 27px 30px; border-left: 5px solid var(--violet); background: var(--white); font-size: 18px; font-weight: 850; line-height: 1.2; }
.article-note { margin: 28px 0 0; color: var(--muted); font-size: 14px; line-height: 1.2; }
body { font-size: 18px; line-height: 1.2; }
.cta .whatsapp-note { margin: 14px 0 0; line-height: 1.2; }
.cta .whatsapp-note a { color: var(--lime); font-weight: 800; text-underline-offset: 3px; }
.reading { width: min(760px, calc(100% - 80px)); }
.standfirst { font-size: 24px; line-height: 1.2; }
.byline { font-size: 15px; }
.intro { font-size: 18px; line-height: 1.2 !important; }
.article p, .article li, .article figcaption, .article strong { line-height: 1.2; }
.reading > p, .reading > ul li { line-height: 1.2; }
.gear-map figcaption, .diagnostic figcaption, .transition figcaption { font-size: 15px; line-height: 1.2; }
.gear-option p, .diagnostic-step p, .situation p, .transition-step p { font-size: 18px; line-height: 1.2; }
.diagnostic-result { line-height: 1.2; }
.situation strong { font-size: 18px; line-height: 1.2; }
.return-list li { line-height: 1.2; }
.practice .listen p, .floor-check .decision-step p { font-size: 18px; line-height: 1.2; }
.formula { font-size: 21px; line-height: 1.2; }
.article-note { font-size: 16px; line-height: 1.2; }
.gear-map, .diagnostic, .situations, .transition, .practice { width: min(760px, calc(100% - 80px)); margin-left: auto; margin-right: auto; }
.gear-options, .diagnostic-grid { grid-template-columns: repeat(2, 1fr); }
.gear-option + .gear-option { border-left: 0; border-top: 1px solid var(--line); }
.gear-option:nth-child(even) { border-left: 1px solid var(--line); }
.diagnostic-step:last-child { grid-column: 1 / -1; }
.transition-track { grid-template-columns: 1fr; }
.transition-step { min-height: 0; border-right: 0; border-bottom: 1px solid rgba(255,255,255,.12); }
.transition-step:last-child { border-bottom: 0; }
.practice-head { grid-template-columns: 1fr; gap: 22px; }
.cta-wrap .wide { width: min(760px, calc(100% - 80px)); }
.cta { grid-template-columns: 1fr; gap: 30px; padding: 40px; }
.button { justify-self: start; }

@media (max-width: 900px) {
  .gear-options, .diagnostic-grid { grid-template-columns: 1fr 1fr; }
  .gear-option + .gear-option { border-left: 0; border-top: 1px solid var(--line); }
  .gear-option:nth-child(even) { border-left: 1px solid var(--line); }
  .diagnostic-step { min-height: 190px; }
  .diagnostic-step:last-child { grid-column: 1 / -1; }
  .transition-track { grid-template-columns: 1fr; }
  .transition-step { min-height: 0; border-right: 0; border-bottom: 1px solid rgba(255,255,255,.12); }
  .floor-check .decision-flow { grid-template-columns: 1fr; }
}

@media (max-width: 599px) {
  body { font-size: 14px; line-height: 1.2; }
  .problem-lead { padding: 24px 20px; }
  .problem-lead p, .forum-quote p { font-size: 20px; }
  .standfirst { font-size: 17px; line-height: 1.2 !important; }
  .intro { font-size: 14px; line-height: 1.2 !important; }
  .article p, .article li { font-size: 14px; line-height: 1.2; }
  .reading > p, .reading > ul li { line-height: 1.2; }
  .reading, .gear-map, .diagnostic, .situations, .transition, .practice, .cta-wrap .wide { width: calc(100% - 28px); }
  .practice { border-radius: 28px; }
  .article .practice { padding: 28px 14px; }
  .article .practice-head { gap: 14px; margin-bottom: 16px; }
  .article .practice .eyebrow { margin: 0 0 10px; }
  .article .practice h2 { margin: 0; }
  .article .practice-intro { margin: 0; }
  .article .practice .song { margin-top: 10px; }
  .article .practice .song-embed { margin: 0 auto; }
  .gear-options, .diagnostic-grid, .situations-grid, .practice .listens { grid-template-columns: 1fr; }
  .gear-option, .diagnostic-step, .situation, .practice .listen { min-height: 0; }
  .gear-option p, .diagnostic-step p, .situation p, .situation strong, .transition-step p, .practice .listen p, .floor-check .decision-step p { font-size: 14px; line-height: 1.2; }
  .gear-option:nth-child(even) { border-left: 0; }
  .diagnostic-step:last-child { grid-column: auto; }
  .clave-note { padding: 24px 20px; }
  .clave-note h3 { font-size: 24px; }
  .formula { padding: 22px 20px; font-size: 16px; line-height: 1.2; }
  .article-note { font-size: 14px; line-height: 1.2; }
}
