/* ─── PRICING ────────────────────────────────────────────── */
.pricing-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2px; background: var(--border); align-items: start; }
.pkg-item { display: flex; flex-direction: column; background: var(--bg); }
.pkg-popular-tag { min-height: 20px; padding: 2px 44px 0; font-size: 10px; letter-spacing: 0.18em; text-transform: uppercase; color: var(--accent); }
.pkg-card {
  background: var(--card-bg); padding: 44px;
  border: 1px solid transparent; transition: border-color 0.3s, box-shadow 0.3s; cursor: default; flex: 1;
}
.pkg-card:hover { border-color: var(--accent); box-shadow: 0 0 32px rgba(232,224,208,0.07); }
.pkg-card.expanded { border-color: var(--accent); box-shadow: 0 0 32px rgba(232,224,208,0.07); }
.pkg-num { font-size: 11px; letter-spacing: 0.1em; opacity: 0.2; margin-bottom: 16px; }
.pkg-name { font-size: 22px; font-weight: 700; letter-spacing: -0.015em; margin-bottom: 10px; }
.pkg-price { font-size: 32px; font-weight: 700; color: var(--accent); letter-spacing: -0.02em; margin-bottom: 24px; }
.pkg-teaser { list-style: none; display: flex; flex-direction: column; gap: 8px; margin-bottom: 20px; }
.pkg-teaser li { font-size: 13px; opacity: 0.55; padding-left: 14px; position: relative; line-height: 1.5; }
.pkg-teaser li::before { content: '—'; position: absolute; left: 0; opacity: 0.35; }
.pkg-arrow { display: inline-block; font-size: 14px; opacity: 0.25; transition: transform 0.35s ease, opacity 0.3s; user-select: none; }
.pkg-card:hover .pkg-arrow, .pkg-card.expanded .pkg-arrow { transform: rotate(180deg); opacity: 0.6; }
.pkg-expanded {
  max-height: 0; overflow: hidden; opacity: 0; transform: translateY(8px);
  transition: max-height 0.45s cubic-bezier(0.4,0,0.2,1), opacity 0.35s ease 0.1s, transform 0.35s ease 0.1s;
}
.pkg-card:hover .pkg-expanded, .pkg-card.expanded .pkg-expanded { max-height: 640px; opacity: 1; transform: translateY(0); }
.pkg-detail { border-top: 1px solid var(--border); margin-top: 20px; padding-top: 20px; font-size: 14px; opacity: 0.6; line-height: 1.75; margin-bottom: 20px; white-space: pre-line; }
.pkg-includes { font-size: 13px; opacity: 0.5; line-height: 1.85; margin-bottom: 20px; white-space: pre-line; }
.pkg-time { font-size: 11px; letter-spacing: 0.08em; text-transform: uppercase; opacity: 0.3; margin-bottom: 24px; }
.pkg-cta { font-size: 13px; padding: 12px 24px; }
.pkg-retainer-note { text-align: center; font-size: 13px; opacity: 0.35; margin-top: 32px; letter-spacing: 0.02em; }
