.packages{max-width:1100px;margin:0 auto;padding:0 1rem}.packages *,.packages :after,.packages :before{box-sizing:border-box}.packages__config{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;background:var(--white);border:1px solid var(--border-color);border-radius:16px;padding:1.25rem;box-shadow:0 10px 30px var(--shadow-sm)}.packages__control{display:flex;flex-direction:column;gap:.5rem}.packages__control-title{font-size:.95rem;font-weight:600;color:var(--text-primary);margin:0}.packages__config-note,.packages__control-note{font-size:.8rem;color:var(--text-secondary);margin:0}.packages__config-note{grid-column:1/-1;border-top:1px solid var(--border-color);padding-top:.75rem}.packages__control-value{font-size:.9rem;color:var(--text-secondary)}.packages__practice-types{display:flex;flex-wrap:wrap;gap:.375rem}.packages__chip{color:var(--text-primary);display:inline-flex;align-items:center;border:1px solid var(--border-color);border-radius:999px;padding:.3rem .7rem;font-size:.85rem;cursor:pointer;transition:background-color .15s ease,border-color .15s ease,color .15s ease}.packages__chip--active{border-color:var(--primary);background:var(--primary-bg-strong);color:var(--primary-dark)}.packages__chip-input{position:absolute;opacity:0;width:0;height:0}.packages__range{width:100%;accent-color:var(--primary)}.packages__grid{list-style:none;margin:1.5rem 0 0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem;align-items:stretch}.package{position:relative;display:flex;flex-direction:column;gap:.5rem;background:var(--white);border:2px solid var(--border-color);border-radius:16px;padding:1.5rem 1.25rem;box-shadow:0 10px 30px var(--shadow-sm);transition:border-color .18s ease,box-shadow .18s ease}.package--highlighted{border-color:var(--primary)}.package__badge{position:absolute;top:-.75rem;left:1.25rem;background:var(--primary);color:var(--text-inverse);border-radius:999px;padding:.2rem .7rem;font-size:.75rem;font-weight:600}.package--upcoming{background:var(--background-alt);border-style:dashed;border-color:var(--border-color);box-shadow:none}.package--upcoming .package__amount,.package--upcoming .package__name{color:var(--text-secondary)}.package--upcoming .package__features li:before{background:var(--text-secondary);opacity:.45}.package__availability{position:absolute;top:-.75rem;right:1.25rem;background:var(--text-primary);color:var(--text-inverse);border-radius:999px;padding:.2rem .7rem;font-size:.75rem;font-weight:600;white-space:nowrap}.package__name{font-size:1.5rem;font-weight:700;color:var(--text-color);margin:0}.package__tagline{color:var(--text-secondary);font-size:.95rem;margin:0;min-height:3rem}.package__price{display:flex;align-items:baseline;gap:.35rem;margin-top:.25rem}.package__amount{font-size:2.25rem;font-weight:700;color:var(--text-color);line-height:1.1}.package__period{color:var(--text-secondary);font-size:.9rem}.package__note,.package__price-note{font-size:.8rem;color:var(--text-secondary);margin:0}.package__inherits{font-weight:600;font-size:.9rem;color:var(--text-primary);margin:.75rem 0 0}.package__features{list-style:none;margin:.25rem 0 auto;padding:0;display:flex;flex-direction:column;gap:.4rem}.package__features li{position:relative;padding-left:1.4rem;font-size:.92rem;color:var(--text-primary)}.package__features li:before{content:"";position:absolute;left:0;top:.45em;width:.5rem;height:.5rem;border-radius:50%;background:var(--primary)}.package--upcoming .package__note{color:var(--text-primary);font-weight:600}.package__cta{margin-top:1rem;width:100%}.packages__disclaimer{text-align:center;font-style:italic;color:var(--text-secondary);font-size:.9rem;margin:1rem 0 0}@media (max-width:900px){.packages__config{grid-template-columns:repeat(2,1fr)}.packages__grid{grid-template-columns:1fr}.package__tagline{min-height:0}}@media (max-width:640px){.packages__config{grid-template-columns:1fr}}.packages__assurances{list-style:none;margin:1.5rem 0 0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.packages__assurance{display:flex;flex-direction:column;gap:.25rem;background:var(--white);border-radius:12px;padding:1rem 1.25rem;box-shadow:0 4px 16px var(--shadow-xs)}.packages__assurance-title{font-weight:600;color:var(--text-primary)}.packages__assurance-body{font-size:.88rem;color:var(--text-secondary)}@media (max-width:900px){.packages__assurances{grid-template-columns:1fr}}