.sales-intro { padding-block: 2.5rem 1.25rem; }
.sales-intro h1 { font-size: clamp(2.3rem, 4.5vw, 4rem); line-height: 1.08; letter-spacing: -.045em; margin: .6rem 0 1rem; }
.sales-intro > p:not(.eyebrow) { max-width: 48rem; }
.sales-categories { display: flex; flex-wrap: wrap; gap: .75rem; padding-block: .75rem; }
.sales-categories a { border: 1px solid var(--line); border-radius: 99rem; font-weight: 700; padding: .65rem 1rem; text-decoration: none; }
.sales-section { padding-block: 1.5rem 2.5rem; }
.sales-section h2 { font-size: clamp(1.7rem, 3vw, 2.4rem); line-height: 1.15; letter-spacing: -.035em; }
.sales-grid { display: grid; gap: 1.25rem; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.sales-services { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.sales-card { border: 1px solid var(--line); border-radius: 1.2rem; background: white; overflow: hidden; display: flex; flex-direction: column; }
.sales-card > img { aspect-ratio: 1.8; object-fit: contain; background: #f7f8f4; width: 100%; height: auto; max-height: 15rem; display: block; }
.sales-card-body { display: flex; flex-direction: column; flex: 1; padding: 1.5rem; }
.sales-card h3 { font-size: 1.5rem; line-height: 1.2; margin: .25rem 0 .75rem; }
.sales-card p:not(.eyebrow), .sales-note { color: var(--muted); }
.sales-card ul { padding-left: 1.15rem; margin: .25rem 0 1.5rem; }
.sales-card li { padding-block: .2rem; }
.sales-price { display: grid; gap: .2rem; margin: auto 0 1.25rem; }
.sales-price strong { font-size: 2rem; letter-spacing: -.04em; }
.sales-price span, .sales-note { font-size: .875rem; }
.sales-section-heading { display: grid; grid-template-columns: 1fr 1fr; gap: 2rem; align-items: center; }
.sales-next { background: var(--green-dark); border-radius: 1.5rem; color: white; padding: 2rem; }
.sales-next .card-cta { background: var(--lime); color: var(--green-dark); }
.sales-registration { max-width: 64rem; margin-inline: auto; }
.sales-registration fieldset { border: 1px solid var(--line); border-radius: 1rem; background: white; padding: 1.5rem; margin: 1rem 0 1.5rem; min-width: 0; }
.sales-registration legend { font-size: 1.2rem; font-weight: 800; padding-inline: .5rem; }
.sales-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.sales-field { display: flex; flex-direction: column; gap: .45rem; min-width: 0; }
.sales-form-grid label { font-weight: 750; margin-top: .6rem; }
.sales-form-grid input { min-width: 0; }
.sales-registration .helptext { color: var(--muted); font-size: .875rem; margin-bottom: .5rem; }
.sales-registration textarea { width: 100%; max-width: 100%; font: inherit; padding: .8rem; border: 1px solid #aebbb2; border-radius: .6rem; }
.sales-checks { margin-block: 1rem; }
.sales-checks label { display: flex; align-items: flex-start; gap: .65rem; padding-block: .5rem; font-weight: 600; }
.sales-checks input[type="checkbox"] { width: 1.15rem; min-width: 1.15rem; height: 1.15rem; min-height: 0; margin: .25rem 0 0; }
.sales-registration button { margin-block: .75rem; }
.sales-registration button:disabled { cursor: not-allowed; opacity: .6; }
.sales-alert { padding: 1rem 1.25rem; background: #fff1cb; border: 1px solid #e6cf8a; border-radius: .75rem; margin-block: 1rem; }
.sales-alert p { margin-bottom: 0; }
.sales-privacy { border-block: 1px solid var(--line); padding-block: .5rem; overflow-wrap: anywhere; }
.sales-registration-disclosure { border: 1px solid var(--line); border-radius: 1rem; padding: 1rem 1.25rem; }
.sales-registration-disclosure > summary { font-size: 1.25rem; }
@media (max-width: 58rem) { .sales-grid, .sales-services, .sales-section-heading { grid-template-columns: 1fr; } .sales-card > img { max-height: 13rem; } }
@media (max-width: 36rem) { .sales-form-grid { grid-template-columns: 1fr; } .sales-registration fieldset, .sales-card-body { padding: 1rem; } .sales-registration legend { font-size: 1.05rem; } }
