.workshop-pricing { max-width: 1440px; margin: auto; padding: 5.5rem var(--gutter); border-top: 1px solid var(--line); background: radial-gradient(ellipse at 50% 25%, #24483b28, transparent 65%); }
.pricing-heading { text-align: center; margin: 0 auto 2.5rem; }
.pricing-heading .eyebrow { color: var(--teal); }
.pricing-heading h2 { margin: 0; font-size: clamp(2.25rem, 4.4vw, 4rem); line-height: 1.1; letter-spacing: -.045em; font-weight: 600; }
.pricing-heading h2 em { color: var(--gold); font-style: normal; }
.pricing-heading > p:last-child { color: var(--muted); font-size: clamp(1rem, 1.6vw, 1.25rem); margin: 1.25rem 0 0; }
.pricing-offer { display: flex; align-items: center; justify-content: center; gap: 2rem; padding: 1.5rem 2rem; margin-bottom: 2.75rem; border: 1px solid var(--gold); border-radius: .875rem; background: linear-gradient(110deg, #e9bc7409, transparent); }
.pricing-offer > svg { width: 3.5rem; height: 3.5rem; flex-shrink: 0; color: var(--gold); }
.pricing-offer .eyebrow { font-size: .75rem; margin: 0 0 .35rem; }
.pricing-offer strong { display: block; font-size: clamp(1.125rem, 2vw, 1.5rem); line-height: 1.45; }
.pricing-offer p:last-child { margin: .25rem 0 0; color: var(--muted); }
.pricing-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem; }
.pricing-card { position: relative; min-width: 0; display: flex; flex-direction: column; padding: 1.75rem 1.5rem 1.5rem; border: 1px solid var(--line); border-radius: .875rem; background: linear-gradient(160deg, #18201c, #101513); }
.pricing-card-complete { border: 2px solid var(--gold); padding: calc(1.75rem - 1px) calc(1.5rem - 1px) calc(1.5rem - 1px); background: linear-gradient(160deg, #24281e, #101513); }
.pricing-badge { position: absolute; top: 0; left: 50%; transform: translate(-50%, -50%); white-space: nowrap; padding: .3rem 1.5rem; border-radius: 999px; background: var(--gold); color: #172018; font-size: .7rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.pricing-card-heading { display: flex; align-items: center; gap: .85rem; min-height: 5.5rem; padding-bottom: 1.25rem; border-bottom: 1px solid var(--line); }
.pricing-card-heading > svg { width: 2.5rem; height: 2.5rem; color: var(--teal); flex-shrink: 0; }
.pricing-card-heading h3 { margin: 0; font-size: clamp(1.25rem, 1.8vw, 1.65rem); font-weight: 600; line-height: 1.2; letter-spacing: -.035em; text-wrap: initial; }
.pricing-card-heading p { margin: .5rem 0 0; font-size: .85rem; line-height: 1.45; color: var(--muted); }
.pricing-regular { margin: 1.25rem 0; }
.pricing-regular strong { display: block; font-size: clamp(2.75rem, 4vw, 3.75rem); font-weight: 700; line-height: 1.1; letter-spacing: -.04em; }
.pricing-regular > span { display: block; color: var(--muted); font-size: .9rem; margin-top: .35rem; }
.pricing-launch { min-height: 9rem; border: 1px solid #8ad4bf44; border-radius: .65rem; padding: 1rem; background: #8ad4bf0c; }
.pricing-launch > span { display: block; color: var(--teal); font-size: .65rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.pricing-launch p { margin: .3rem 0; font-size: .8rem; }
.pricing-launch strong { font-size: clamp(1.65rem, 2.7vw, 2.25rem); line-height: 1.2; letter-spacing: -.03em; }
.pricing-launch small { display: block; color: var(--muted); font-size: .75rem; line-height: 1.5; }
.pricing-features { display: grid; gap: .75rem; list-style: none; padding: 0; margin: 1.5rem 0; }
.pricing-features li { display: flex; align-items: flex-start; gap: .65rem; font-size: .875rem; line-height: 1.55; }
.pricing-features li > span { display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; width: 1.25rem; height: 1.25rem; margin-top: .1rem; border-radius: 50%; background: var(--teal); color: var(--bg); font-size: .8rem; font-weight: 700; }
.pricing-cta { display: flex; align-items: center; justify-content: center; gap: .65rem; min-height: 3.25rem; margin-top: auto; border: 1px solid var(--teal); border-radius: 999px; padding: .85rem .75rem; color: var(--teal); text-align: center; font-size: .875rem; font-weight: 700; line-height: 1.4; transition: background .18s, color .18s; }
.pricing-cta:hover { background: var(--teal); color: var(--bg); }
.pricing-card-complete .pricing-cta { background: var(--gold); color: #172018; border-color: var(--gold); }
.pricing-card-complete .pricing-cta:hover { background: #f7cf90; }
.pricing-shared { display: flex; flex-wrap: wrap; justify-content: center; gap: .75rem 1.5rem; margin-top: 1.5rem; padding: 1.25rem 0; border-block: 1px solid var(--line); font-size: .8rem; color: var(--muted); }
.pricing-shared strong { color: var(--ink); }
.pricing-shared > span::before { content: '✓'; color: var(--teal); margin-right: .5rem; }
.pricing-terms { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2rem; padding: 1.5rem 0; border-bottom: 1px solid var(--line); }
.pricing-terms > div + div { border-left: 1px solid var(--line); padding-left: 2rem; }
.pricing-terms h3 { margin: 0 0 .5rem; font-size: 1rem; font-weight: 600; }
.pricing-terms p { margin: 0; font-size: .875rem; line-height: 1.7; color: var(--muted); }
.pricing-fineprint { margin: 1rem 0 .5rem; color: var(--muted); font-size: .75rem; line-height: 1.8; }
.pricing-conditions-link { display: inline-flex; min-height: 2.75rem; align-items: center; color: var(--teal); text-decoration: underline; text-underline-offset: .25em; font-size: .8rem; }
@media (max-width: 1050px) {
  .pricing-grid { grid-template-columns: minmax(0, 1fr); gap: 2rem; max-width: 38rem; margin-inline: auto; }
  .pricing-card { padding: 1.75rem; }
  .pricing-card-complete { padding: calc(1.75rem - 1px); }
  .pricing-card-heading { min-height: 0; }
  .pricing-card-heading h3 { font-size: 1.65rem; }
  .pricing-regular strong { font-size: 3.5rem; }
  .pricing-launch { min-height: 0; }
  .pricing-launch strong { font-size: 2.25rem; }
  .pricing-cta { margin-top: .5rem; }
}
@media (max-width: 600px) {
  .workshop-pricing { padding-block: 3.5rem; }
  .pricing-heading { text-align: left; }
  .pricing-offer { align-items: flex-start; gap: 1rem; padding: 1.25rem; }
  .pricing-offer > svg { width: 2rem; height: 2rem; }
  .pricing-offer .eyebrow { font-size: .65rem; }
  .pricing-offer p:last-child { font-size: .875rem; }
  .pricing-card { padding: 1.5rem; }
  .pricing-card-complete { padding: calc(1.5rem - 1px); }
  .pricing-shared { justify-content: flex-start; gap: .5rem; flex-direction: column; }
  .pricing-terms { grid-template-columns: minmax(0, 1fr); gap: 1.5rem; }
  .pricing-terms > div + div { border-left: 0; padding-left: 0; }
}
