/* Plans + therapist pages. Separate from home.css on purpose: kept in the
   same palette (Garden Day paper, sage, gold) so the page reads as one. */
.plans { background: var(--paper, #fffbec); color: var(--ink, #2a3b31); padding: clamp(80px, 11vw, 150px) 0; }
.plans-eyebrow { font-size: 0.78rem; font-weight: 800; letter-spacing: 0.2em; text-transform: uppercase; color: var(--gold-text, #85590f); margin: 0 0 18px; text-align: center; }
.plans h2 { font-family: var(--serif, Georgia, serif); font-weight: 600; font-size: clamp(2.1rem, 5vw, 3.6rem); line-height: 1.08; text-align: center; margin: 0 auto 18px; max-width: 18ch; }
.plans h2 em { font-style: italic; font-weight: 400; color: var(--sage, #3f7a57); }
.plans-lede { text-align: center; color: var(--ink-soft, #54685c); max-width: 34em; margin: 0 auto clamp(40px, 6vw, 64px); font-size: 1.08rem; }
.plan-grid { display: grid; gap: 18px; grid-template-columns: 1fr; max-width: 1000px; margin: 0 auto; }
@media (min-width: 860px) { .plan-grid { grid-template-columns: 1fr 1.08fr 1fr; align-items: stretch; } }
.plan { position: relative; display: flex; flex-direction: column; padding: 30px 28px; border-radius: 26px; background: #fff; border: 1px solid #e8e0cc; box-shadow: 0 1px 2px rgba(42,59,49,.05), 0 18px 40px -22px rgba(42,59,49,.25); }
.plan.featured { background: linear-gradient(160deg, #22382a, #111a13); color: #e9f4ea; border-color: transparent; box-shadow: 0 30px 60px -24px rgba(17,26,19,.6); }
.plan.sponsor { background: #fbf6e8; }
.plan-flag { position: absolute; top: -12px; left: 28px; margin: 0; padding: 4px 12px; border-radius: 999px; background: var(--candle, #ebc49a); color: #1b2a1e; font-size: .72rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.plan-name { margin: 0 0 10px; font-weight: 800; letter-spacing: .04em; }
.plan-price { font-family: var(--serif, Georgia, serif); font-size: 2.6rem; line-height: 1; margin: 0 0 10px; }
.plan-price span { font-family: var(--sans, sans-serif); font-size: 1rem; opacity: .7; margin-left: 6px; }
.plan-note { margin: 0 0 24px; opacity: .8; flex: 1; }
.plan-cta { display: block; text-align: center; padding: 14px 18px; border-radius: 999px; font-weight: 800; text-decoration: none; background: var(--candle, #ebc49a); color: #1b2a1e; transition: transform .3s; }
.plan-cta:hover { transform: translateY(-2px); }
.plan-cta.ghost { background: transparent; color: var(--ink, #2a3b31); border: 1.5px solid #cfc3a4; }
.plan-includes { list-style: none; padding: 0; margin: 40px auto 0; display: flex; flex-wrap: wrap; justify-content: center; gap: 10px 26px; max-width: 900px; color: var(--ink-soft, #54685c); }
.plan-includes li::before { content: "✓"; color: var(--sage, #3f7a57); font-weight: 800; margin-right: 8px; }
.plan-fine { text-align: center; max-width: 44em; margin: 34px auto 0; font-size: .9rem; color: var(--ink-soft, #54685c); }
.plan-fine a { color: var(--sage, #3f7a57); font-weight: 700; }

.plan-cta.is-soon { cursor: default; opacity: .75; }
.plan-cta.is-soon:hover { transform: none; }

.foot .company { flex-basis: 100%; margin: 4px 0 0; font-size: .78rem; color: var(--night-soft); opacity: .8; }
