/* SmartMatch MA finder — layout + scoped fallbacks for sm-css components */

.sm-ma-finder {
  font-family: var(--sm-font-body);
  font-size: var(--sm-text-base);
  line-height: 1.65;
  color: var(--sm-body);
  max-width: var(--sm-max-width);
  margin-inline: auto;
}
.sm-ma-finder [hidden] { display: none !important; }

.sm-ma-finder .sm-label,
.sm-ma-hero .sm-label,
.sm-ma-change .sm-label,
.sm-ma-estimator-standalone .sm-label,
.sm-ma-estimator-modal .sm-label {
  font-family: var(--sm-font-head);
  font-size: var(--sm-text-sm);
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--sm-muted);
  display: block;
  margin-bottom: var(--sm-space-2);
}

.sm-ma-finder .sm-zip-group,
.sm-ma-hero .sm-zip-group,
.sm-ma-change .sm-zip-group,
.sm-ma-estimator-standalone .sm-zip-group,
.sm-ma-estimator-modal .sm-zip-group {
  display: flex;
  border-radius: var(--sm-radius);
  overflow: hidden;
  box-shadow: var(--sm-shadow-md);
  max-width: 560px;
}
.sm-ma-hero .sm-zip-group { max-width: none; }
.sm-ma-finder .sm-zip-group input,
.sm-ma-hero .sm-zip-group input,
.sm-ma-change .sm-zip-group input,
.sm-ma-estimator-standalone .sm-zip-group input,
.sm-ma-estimator-modal .sm-zip-group input {
  flex: 1;
  border: none;
  border-radius: 0;
  padding: 16px 20px;
  font-family: var(--sm-font-head);
  font-size: var(--sm-text-base);
  font-weight: 600;
  letter-spacing: 0.04em;
  color: var(--sm-purple);
  outline: none;
  min-width: 0;
}
.sm-ma-finder .sm-zip-group button,
.sm-ma-hero .sm-zip-group button,
.sm-ma-change .sm-zip-group button,
.sm-ma-estimator-standalone .sm-zip-group button,
.sm-ma-estimator-modal .sm-zip-group button {
  padding: 16px 24px;
  background: var(--sm-orange);
  color: var(--sm-white);
  border: none;
  font-family: var(--sm-font-head);
  font-size: var(--sm-text-base);
  font-weight: 700;
  letter-spacing: 0.03em;
  cursor: pointer;
  min-height: 52px;
}
.sm-ma-finder .sm-zip-group button:hover,
.sm-ma-hero .sm-zip-group button:hover,
.sm-ma-change .sm-zip-group button:hover,
.sm-ma-estimator-standalone .sm-zip-group button:hover,
.sm-ma-estimator-modal .sm-zip-group button:hover { background: var(--sm-orange-hover); }

.sm-ma-finder__location {
  margin: var(--sm-space-3) 0 0;
  color: var(--sm-muted);
  font-family: var(--sm-font-head);
  font-size: var(--sm-text-sm);
  font-weight: 600;
}

.sm-ma-finder__layout {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--sm-space-8);
  margin-top: var(--sm-space-8);
}
.sm-ma-finder.is-idle .sm-ma-finder__layout,
.sm-ma-finder.is-idle .sm-tcpa { display: none; }
.sm-ma-finder__layout.has-filters {
  grid-template-columns: 260px 1fr;
}
.sm-ma-finder__filters {
  display: flex;
  flex-direction: column;
  gap: var(--sm-space-3);
}
.sm-ma-finder .sm-field,
.sm-ma-estimator-standalone .sm-field,
.sm-ma-estimator-modal .sm-field { margin-bottom: 0; }
.sm-ma-finder .sm-select,
.sm-ma-finder .sm-input,
.sm-ma-change .sm-select,
.sm-ma-change .sm-input,
.sm-ma-estimator-standalone .sm-select,
.sm-ma-estimator-standalone .sm-input,
.sm-ma-estimator-modal .sm-select,
.sm-ma-estimator-modal .sm-input {
  width: 100%;
  padding: 12px 14px;
  border: 1.5px solid var(--sm-border);
  border-radius: var(--sm-radius);
  font-family: var(--sm-font-body);
  font-size: var(--sm-text-base);
  color: var(--sm-body);
  background: var(--sm-white);
}
.sm-ma-finder .sm-select-wrap,
.sm-ma-change .sm-select-wrap,
.sm-ma-estimator-standalone .sm-select-wrap,
.sm-ma-estimator-modal .sm-select-wrap { position: relative; }
.sm-ma-finder .sm-check-wrap {
  display: flex;
  align-items: center;
  gap: var(--sm-space-2);
  font-size: var(--sm-text-base);
  cursor: pointer;
}
.sm-ma-finder .sm-check-wrap input {
  accent-color: var(--sm-purple);
  width: 1.2em;
  height: 1.2em;
  flex: 0 0 1.2em;
}

.sm-ma-finder__count {
  font-family: var(--sm-font-head);
  font-weight: 700;
  color: var(--sm-purple);
  margin: 0 0 var(--sm-space-4);
}
.sm-ma-finder__grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: var(--sm-space-5);
}
.sm-ma-card {
  background: var(--sm-white);
  border: 1.5px solid var(--sm-border);
  border-radius: var(--sm-radius-md);
  padding: var(--sm-space-6);
  position: relative;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  gap: var(--sm-space-3);
  transition: border-color var(--sm-transition), box-shadow var(--sm-transition), transform var(--sm-transition);
}
.sm-ma-card:hover {
  border-color: var(--sm-accent);
  box-shadow: var(--sm-shadow-md);
}
.sm-ma-card::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 3px;
  background: var(--sm-orange);
  opacity: 0;
  transition: opacity var(--sm-transition);
}
.sm-ma-card:hover::before,
.sm-ma-card.is-selected::before { opacity: 1; }
.sm-ma-card__carrier {
  font-family: var(--sm-font-head);
  font-size: var(--sm-text-xs);
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--sm-muted);
}
.sm-ma-card__popular {
  margin: 0;
  font-family: var(--sm-font-head);
  font-size: var(--sm-text-xs);
  font-weight: 700;
  color: var(--sm-muted);
}
.sm-ma-card.is-popular::before { opacity: 0; }
.sm-ma-card__name {
  font-family: var(--sm-font-head);
  font-size: var(--sm-text-md);
  font-weight: 700;
  color: var(--sm-purple);
  line-height: 1.3;
  margin: 0;
}
.sm-ma-card__metrics {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--sm-space-4);
  align-items: end;
}
.sm-ma-card__metrics > div {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  min-width: 0;
}
.sm-ma-card__metric-num {
  font-family: var(--sm-font-head);
  font-size: var(--sm-text-xl);
  font-weight: 800;
  color: var(--sm-purple);
  letter-spacing: -0.03em;
  line-height: 1.15;
  min-height: 1.15em;
}
.sm-ma-card__metric-label {
  font-size: var(--sm-text-xs);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--sm-muted);
  font-family: var(--sm-font-head);
  margin-top: 4px;
}
.sm-ma-card__badges { display: flex; flex-wrap: wrap; gap: 6px; }
.sm-ma-finder .sm-badge {
  display: inline-flex;
  font-family: var(--sm-font-head);
  font-size: var(--sm-text-xs);
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  padding: 4px 10px;
  border-radius: var(--sm-radius-full);
}
.sm-badge-purple { background: var(--sm-purple-lt); color: var(--sm-purple); }
.sm-badge-orange { background: var(--sm-orange-lt); color: var(--sm-orange); }

.sm-ma-card__actions {
  display: flex;
  gap: var(--sm-space-2);
  margin-top: auto;
  flex-wrap: wrap;
}
.sm-ma-finder .sm-btn,
.sm-ma-change .sm-btn,
.sm-ma-notify .sm-btn,
.sm-ma-estimator-standalone .sm-btn,
.sm-ma-estimator-modal .sm-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-family: var(--sm-font-head);
  font-size: var(--sm-text-base);
  font-weight: 700;
  letter-spacing: 0.03em;
  border-radius: var(--sm-radius);
  cursor: pointer;
  border: 2px solid transparent;
  text-decoration: none;
  padding: 12px 18px;
  min-height: 48px;
}
.sm-ma-finder .sm-btn-primary,
.sm-ma-change .sm-btn-primary,
.sm-ma-notify .sm-btn-primary,
.sm-ma-estimator-standalone .sm-btn-primary,
.sm-ma-estimator-modal .sm-btn-primary {
  background: var(--sm-orange);
  color: var(--sm-white);
  box-shadow: var(--sm-shadow-cta);
}
.sm-ma-finder .sm-btn-primary:hover,
.sm-ma-change .sm-btn-primary:hover,
.sm-ma-notify .sm-btn-primary:hover,
.sm-ma-estimator-standalone .sm-btn-primary:hover,
.sm-ma-estimator-modal .sm-btn-primary:hover {
  background: var(--sm-orange-hover);
}
.sm-ma-finder .sm-btn-outline,
.sm-ma-change .sm-btn-outline,
.sm-ma-estimator-standalone .sm-btn-outline,
.sm-ma-estimator-modal .sm-btn-outline {
  background: transparent;
  color: var(--sm-purple);
  border-color: var(--sm-border);
}
.sm-ma-finder .sm-btn-outline:hover,
.sm-ma-change .sm-btn-outline:hover,
.sm-ma-estimator-standalone .sm-btn-outline:hover,
.sm-ma-estimator-modal .sm-btn-outline:hover {
  border-color: var(--sm-purple);
  background: var(--sm-purple-lt);
}

.sm-ma-finder__pager {
  display: flex;
  align-items: center;
  gap: var(--sm-space-4);
  margin-top: var(--sm-space-6);
}
.sm-ma-finder__pager[hidden] { display: none !important; }
.sm-ma-page { font-family: var(--sm-font-head); font-weight: 600; color: var(--sm-muted); }

.sm-ma-compare-tray {
  position: sticky;
  bottom: 16px;
  z-index: var(--sm-z-sticky);
  margin-top: var(--sm-space-8);
}
.sm-ma-compare-tray__inner {
  display: flex;
  align-items: center;
  gap: var(--sm-space-3);
  flex-wrap: wrap;
  background: var(--sm-purple);
  color: var(--sm-white);
  padding: 14px 18px;
  border-radius: var(--sm-radius-md);
  box-shadow: var(--sm-shadow-lg);
}
.sm-ma-compare-tray__count {
  font-family: var(--sm-font-head);
  font-weight: 700;
  margin-right: auto;
}
.sm-ma-compare-tray .sm-btn-outline {
  color: var(--sm-white);
  border-color: rgba(255,255,255,0.35);
}

.sm-ma-modal {
  position: fixed;
  inset: 0;
  z-index: var(--sm-z-modal);
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding: 40px 16px;
  overflow: auto;
}
.sm-ma-modal[hidden] { display: none !important; }
.sm-ma-modal__backdrop {
  position: fixed;
  inset: 0;
  background: rgba(50, 28, 68, 0.55);
}
.sm-ma-modal__panel {
  position: relative;
  background: var(--sm-white);
  border-radius: var(--sm-radius-lg);
  max-width: 920px;
  width: 100%;
  padding: var(--sm-space-8);
  box-shadow: var(--sm-shadow-lg);
}
.sm-ma-modal__close {
  position: absolute;
  top: 12px;
  right: 12px;
}
.sm-btn-ghost {
  background: transparent;
  border: none;
  color: var(--sm-purple);
  font-family: var(--sm-font-head);
  font-weight: 700;
  cursor: pointer;
  padding: 8px 12px;
}
.sm-h3 {
  font-family: var(--sm-font-head);
  color: var(--sm-purple);
  font-size: var(--sm-text-xl);
  margin: 0 0 var(--sm-space-3);
}
.sm-ma-details-help {
  margin: 0 0 var(--sm-space-4);
  display: flex;
  flex-wrap: wrap;
  gap: var(--sm-space-2);
}
.sm-ma-details-help .sm-btn {
  width: auto;
}
.sm-ma-detail-cat { margin: var(--sm-space-6) 0 0; }
.sm-ma-detail-cat h3 {
  font-family: var(--sm-font-head);
  color: var(--sm-purple);
  font-size: var(--sm-text-lg);
  margin: 0 0 var(--sm-space-2);
}
.sm-ma-detail-cat li {
  font-size: var(--sm-text-sm);
  color: var(--sm-body);
  margin: 0 0 6px;
  line-height: 1.5;
}
.sm-ma-compare-table {
  width: 100%;
  border-collapse: collapse;
  font-size: var(--sm-text-sm);
}
.sm-ma-compare-table th,
.sm-ma-compare-table td {
  border-bottom: 1px solid var(--sm-border-lt);
  padding: 10px 8px;
  text-align: left;
  vertical-align: top;
}
.sm-ma-compare-table th {
  font-family: var(--sm-font-head);
  color: var(--sm-purple);
}
.sm-ma-compare-table tr.is-changed td {
  font-weight: 400;
  color: var(--sm-body);
}
.sm-ma-compare-table__group th {
  background: var(--sm-purple-lt);
  color: var(--sm-purple);
  font-size: var(--sm-text-xs);
  letter-spacing: 0.06em;
  text-transform: uppercase;
  padding-top: 14px;
}

.sm-ma-snapshot {
  margin: 0 0 var(--sm-space-8);
  background: var(--sm-linen);
  border-radius: var(--sm-radius-md);
  border: 1px solid var(--sm-border);
}
.sm-ma-finder .sm-stats-grid,
.sm-ma-snapshot.sm-stats-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  text-align: center;
}
.sm-stat-item { padding: var(--sm-space-6); border-right: 1px solid var(--sm-border); }
.sm-stat-item:last-child { border-right: none; }
.sm-stat-num {
  font-family: var(--sm-font-head);
  font-size: var(--sm-text-4xl);
  font-weight: 800;
  color: var(--sm-purple);
  letter-spacing: -0.04em;
  line-height: 1;
  margin-bottom: var(--sm-space-2);
}
.sm-stat-num span { color: var(--sm-orange); }
.sm-stat-label {
  font-family: var(--sm-font-head);
  font-size: var(--sm-text-xs);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--sm-muted);
}

.sm-ma-finder .sm-eyebrow {
  display: inline-flex;
  font-family: var(--sm-font-head);
  font-size: var(--sm-text-xs);
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--sm-purple);
  background: none;
  padding: 0;
  margin: 0 0 var(--sm-space-2);
}
.sm-ma-finder .sm-tcpa {
  font-size: var(--sm-text-sm);
  color: var(--sm-muted);
  line-height: 1.65;
  padding-top: var(--sm-space-6);
  border-top: 1px solid var(--sm-border);
  margin-top: var(--sm-space-8);
}

.sm-ma-faq { display: flex; flex-direction: column; gap: var(--sm-space-3); }
.sm-ma-faq-item {
  border: 1.5px solid var(--sm-border);
  border-radius: var(--sm-radius);
  padding: var(--sm-space-4);
  background: var(--sm-white);
}
.sm-ma-faq-q {
  font-family: var(--sm-font-head);
  font-weight: 700;
  color: var(--sm-purple);
  cursor: pointer;
}

.sm-ma-empty {
  padding: var(--sm-space-8);
  background: var(--sm-linen);
  border-radius: var(--sm-radius-md);
  color: var(--sm-muted);
}

.sm-ma-finder__results-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--sm-space-4);
  flex-wrap: wrap;
  margin-bottom: var(--sm-space-4);
}
.sm-ma-finder__count { margin: 0; }

.sm-ma-lead {
  font-family: var(--sm-font-body);
  color: var(--sm-body);
  max-width: 640px;
}
.sm-ma-lead .sm-eyebrow { display: none; }
.sm-ma-lead__title {
  font-family: var(--sm-font-head);
  font-size: var(--sm-text-2xl);
  font-weight: 800;
  color: var(--sm-purple);
  letter-spacing: -0.03em;
  margin: 0 0 var(--sm-space-3);
}
.sm-ma-lead__intro {
  color: var(--sm-muted);
  margin: 0 0 var(--sm-space-6);
}
.sm-ma-lead__plans { margin-bottom: var(--sm-space-5); }
.sm-ma-lead__chips {
  display: flex;
  flex-direction: column;
  gap: var(--sm-space-2);
}
.sm-ma-lead__chips { gap: 0; }
.sm-ma-lead__chip {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  background: none;
  border: 0;
  border-bottom: 1px solid var(--sm-border-lt);
  border-radius: 0;
  padding: 12px 0;
}
.sm-ma-lead__chip-body {
  min-width: 0;
  flex: 1;
}
.sm-ma-lead__chip strong {
  display: block;
  font-family: var(--sm-font-head);
  color: var(--sm-purple);
  font-size: var(--sm-text-sm);
  line-height: 1.35;
  margin: 0 0 4px;
}
.sm-ma-lead__chip span {
  display: block;
  color: var(--sm-muted);
  font-size: var(--sm-text-sm);
  line-height: 1.4;
}
.sm-ma-lead__chip-remove {
  flex: 0 0 auto;
  border: none;
  background: transparent;
  color: var(--sm-muted);
  font-size: 22px;
  line-height: 1;
  cursor: pointer;
  padding: 0 2px;
}
.sm-ma-lead__filters {
  font-family: var(--sm-font-head);
  font-size: var(--sm-text-xs);
  font-weight: 600;
  color: var(--sm-purple);
  background: var(--sm-purple-lt);
  padding: 8px 12px;
  border-radius: var(--sm-radius);
  margin: 0 0 var(--sm-space-6);
}
.sm-ma-lead .sm-field { margin-bottom: var(--sm-space-3); }
.sm-ma-lead .sm-form-row {
  display: flex;
  gap: var(--sm-space-3);
}
.sm-ma-lead .sm-form-row .sm-field { flex: 1; }
.sm-ma-lead .sm-label {
  font-family: var(--sm-font-head);
  font-size: var(--sm-text-sm);
  font-weight: 600;
  letter-spacing: 0;
  text-transform: none;
  color: var(--sm-muted);
  display: block;
  margin-bottom: var(--sm-space-2);
}
.sm-ma-lead .sm-label span {
  font-weight: 400;
}
.sm-ma-field-help {
  margin: var(--sm-space-2) 0 0;
  color: var(--sm-muted);
  font-size: var(--sm-text-xs);
  line-height: 1.4;
}
.sm-ma-lead .sm-input,
.sm-ma-lead .sm-select {
  width: 100%;
  padding: 13px 16px;
  border: 1.5px solid var(--sm-border);
  border-radius: var(--sm-radius);
  font-family: var(--sm-font-body);
  font-size: var(--sm-text-base);
  background: var(--sm-white);
}
.sm-ma-lead .sm-select-wrap { position: relative; }
.sm-ma-lead__consent {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  margin: var(--sm-space-4) 0;
  font-size: var(--sm-text-base);
  line-height: 1.5;
}
.sm-ma-lead__error {
  color: var(--sm-error, #b91c1c);
  font-family: var(--sm-font-head);
  font-weight: 600;
  font-size: var(--sm-text-base);
  margin: 0 0 var(--sm-space-3);
}
.sm-ma-lead .sm-btn-primary,
.sm-ma-lead__submit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 48px;
  background: var(--sm-orange);
  color: var(--sm-white);
  border: none;
  padding: 14px 22px;
  font-family: var(--sm-font-head);
  font-weight: 700;
  border-radius: var(--sm-radius);
  cursor: pointer;
  box-shadow: var(--sm-shadow-cta);
}
.sm-ma-lead .sm-btn-primary:disabled { opacity: 0.7; cursor: wait; }
.sm-ma-lead__call {
  display: inline-block;
  margin-top: var(--sm-space-3);
  font-family: var(--sm-font-head);
  font-weight: 700;
  font-size: var(--sm-text-sm);
  color: var(--sm-purple);
  text-decoration: underline;
  text-underline-offset: 3px;
}
.sm-ma-lead .sm-tcpa,
.sm-ma-lead .sm-ma-disc:not(.sm-ma-disc--consent) {
  font-size: var(--sm-text-sm);
  color: var(--sm-muted);
  line-height: 1.65;
  padding-top: var(--sm-space-6);
  border-top: 1px solid var(--sm-border);
  margin-top: var(--sm-space-8);
}
.sm-ma-lead__consent .sm-ma-disc--consent {
  font-size: var(--sm-text-sm);
  line-height: 1.55;
  color: var(--sm-muted);
  font-weight: 400;
}
.sm-ma-lead__consent .sm-ma-disc--consent p { margin: 0 0 0.65em; }
.sm-ma-lead__consent .sm-ma-disc--consent p:last-child { margin-bottom: 0; }
.sm-ma-change .sm-tcpa,
.sm-ma-change .sm-ma-disc,
.sm-ma-modal .sm-ma-disc {
  font-size: var(--sm-text-sm);
  color: var(--sm-muted);
  line-height: 1.65;
  margin-top: var(--sm-space-6);
}
@media (max-width: 640px) {
  .sm-ma-finder .sm-zip-group,
  .sm-ma-hero .sm-zip-group,
  .sm-ma-change .sm-zip-group,
  .sm-ma-estimator-standalone .sm-zip-group,
  .sm-ma-estimator-modal .sm-zip-group { flex-direction: column; }
  .sm-ma-lead .sm-form-row { flex-direction: column; }
  .sm-ma-steps__grid,
  .sm-ma-index__grid { grid-template-columns: 1fr; }
}

.sm-ma-hero { margin: 0 0 var(--sm-space-8); max-width: var(--sm-max-width); }
.sm-ma-hero .sm-eyebrow,
.sm-ma-aep .sm-eyebrow,
.sm-ma-steps .sm-eyebrow {
  display: inline-flex;
  font-family: var(--sm-font-head);
  font-size: var(--sm-text-xs);
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--sm-purple);
  background: none;
  padding: 0;
  margin: 0 0 var(--sm-space-2);
}
.sm-ma-home .sm-eyebrow {
  display: inline-flex;
  font-family: var(--sm-font-head);
  font-size: var(--sm-text-xs);
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--sm-orange);
  background: var(--sm-orange-lt);
  padding: 5px 12px;
  border-radius: var(--sm-radius-full);
  margin: 0 0 var(--sm-space-2);
}
.sm-ma-hero__title {
  font-family: var(--sm-font-head);
  font-size: var(--sm-text-3xl);
  font-weight: 800;
  color: var(--sm-purple);
  letter-spacing: -0.03em;
  line-height: 1.15;
  margin: 0 0 var(--sm-space-3);
}
.sm-ma-hero__lede {
  font-size: var(--sm-text-lg, 18px);
  color: var(--sm-body);
  max-width: 42rem;
  margin: 0 0 var(--sm-space-4);
}
.sm-ma-hero__phone {
  font-family: var(--sm-font-head);
  font-weight: 700;
  color: var(--sm-purple);
  margin: 0;
}
.sm-ma-hero__phone a { color: var(--sm-orange, #ed5c2e); text-decoration: none; }
.sm-ma-hero__phone span { color: var(--sm-muted); font-weight: 600; margin-left: 8px; }

.sm-ma-intro {
  max-width: var(--sm-max-width);
  margin: 0 0 var(--sm-space-16);
  color: var(--sm-body);
  line-height: 1.65;
}
.sm-ma-section-title {
  font-family: var(--sm-font-head);
  font-size: var(--sm-text-xl, 22px);
  font-weight: 800;
  color: var(--sm-purple);
  margin: 0 0 var(--sm-space-4);
}
.sm-ma-steps,
.sm-ma-types,
.sm-ma-aep,
.sm-ma-fork,
.sm-ma-index,
.sm-ma-faq,
.sm-ma-change,
.sm-carrier-strip {
  margin: 0 0 var(--sm-space-16);
}
.sm-ma-steps__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--sm-space-4);
}
.sm-ma-step {
  background: var(--sm-linen);
  border: 1px solid var(--sm-border);
  border-radius: var(--sm-radius-md);
  padding: var(--sm-space-5);
}
.sm-ma-step__num {
  display: inline-flex;
  width: 28px;
  height: 28px;
  align-items: center;
  justify-content: center;
  background: var(--sm-purple-lt);
  color: var(--sm-purple);
  font-family: var(--sm-font-head);
  font-weight: 800;
  border-radius: var(--sm-radius-full);
  margin-bottom: var(--sm-space-3);
}
.sm-ma-step h3 {
  font-family: var(--sm-font-head);
  color: var(--sm-purple);
  margin: 0 0 var(--sm-space-2);
  font-size: var(--sm-text-base);
}
.sm-ma-step p { margin: 0; color: var(--sm-muted); }

.sm-ma-finder__search {
  background: var(--sm-linen);
  border: 1.5px solid var(--sm-border);
  border-radius: var(--sm-radius-lg);
  padding: var(--sm-space-8);
  position: relative;
  overflow: hidden;
}
.sm-ma-finder__search::before { display: none; }
.sm-ma-finder__search .sm-eyebrow { margin-bottom: var(--sm-space-3); }
.sm-ma-finder__search-title {
  font-family: var(--sm-font-head);
  font-size: clamp(22px, 3vw, 30px);
  font-weight: 800;
  color: var(--sm-purple);
  letter-spacing: -0.03em;
  line-height: 1.2;
  margin: 0 0 var(--sm-space-3);
}
.sm-ma-finder__hint {
  margin: 0 0 var(--sm-space-5);
  color: var(--sm-muted);
  max-width: 38rem;
  font-size: var(--sm-text-md);
  line-height: 1.55;
}
.sm-ma-finder .sm-zip-group { max-width: 480px; }
.sm-ma-finder__points {
  list-style: none;
  margin: var(--sm-space-6) 0 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--sm-space-4);
}
.sm-ma-finder__points li {
  background: var(--sm-white);
  border: 1px solid var(--sm-border);
  border-radius: var(--sm-radius);
  padding: var(--sm-space-4);
  color: var(--sm-muted);
  font-size: var(--sm-text-sm);
  line-height: 1.5;
}
.sm-ma-finder__points strong {
  display: block;
  font-family: var(--sm-font-head);
  color: var(--sm-purple);
  font-size: var(--sm-text-sm);
  margin-bottom: 4px;
}
.sm-ma-finder__phone {
  margin: var(--sm-space-5) 0 0;
  font-family: var(--sm-font-head);
  font-weight: 700;
  color: var(--sm-purple);
}
.sm-ma-finder__phone a { color: var(--sm-orange); text-decoration: none; }
.sm-ma-finder__phone span { color: var(--sm-muted); font-weight: 600; margin-left: 8px; }
.sm-ma-finder.has-results .sm-ma-finder__points,
.sm-ma-finder.has-results .sm-ma-finder__phone,
.sm-ma-finder.has-results .sm-ma-finder__search-title,
.sm-ma-finder.has-results .sm-ma-finder__hint,
.sm-ma-finder.has-results .sm-ma-finder__search .sm-eyebrow {
  display: none;
}
.sm-ma-finder.has-results .sm-ma-finder__search {
  padding: var(--sm-space-5) var(--sm-space-6);
  background: var(--sm-white);
}
.sm-ma-finder__chips {
  display: flex;
  flex-wrap: wrap;
  gap: var(--sm-space-2);
  margin-bottom: var(--sm-space-4);
}
.sm-ma-chip {
  font-family: var(--sm-font-head);
  font-size: var(--sm-text-sm);
  font-weight: 700;
  color: var(--sm-purple);
  background: var(--sm-white);
  border: 1.5px solid var(--sm-border);
  border-radius: var(--sm-radius-full);
  padding: 8px 14px;
  cursor: pointer;
}
.sm-ma-chip.is-on {
  background: var(--sm-purple);
  color: var(--sm-white);
  border-color: var(--sm-purple);
}

.sm-ma-types__list,
.sm-ma-index__grid {
  list-style: none;
  margin: 0;
  padding: 0;
}
.sm-ma-types__list li {
  padding: 10px 0;
  border-bottom: 1px solid var(--sm-border-lt);
  color: var(--sm-muted);
}
.sm-ma-change-guide,
.sm-ma-change-types,
.sm-ma-change-faq {
  max-width: var(--sm-max-width);
  margin-left: auto;
  margin-right: auto;
}
.sm-ma-change-guide { margin-top: var(--sm-space-16); }

.sm-ma-aep {
  background: var(--sm-linen);
  border-radius: var(--sm-radius-md);
  padding: var(--sm-space-6);
  border: 1px solid var(--sm-border);
}
.sm-ma-fork__links {
  display: flex;
  flex-wrap: wrap;
  gap: var(--sm-space-3);
}
.sm-ma-fork .sm-btn,
.sm-ma-fork .sm-btn-outline {
  display: inline-flex;
  padding: 10px 16px;
  font-family: var(--sm-font-head);
  font-weight: 700;
  border-radius: var(--sm-radius);
  text-decoration: none;
  border: 2px solid var(--sm-border);
  color: var(--sm-purple);
}
.sm-ma-index__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px 24px;
}
.sm-ma-index__grid a {
  color: var(--sm-purple);
  font-family: var(--sm-font-head);
  font-weight: 700;
  text-decoration: none;
}
.sm-ma-index__grid span { color: var(--sm-muted); font-size: var(--sm-text-sm); }

@media (max-width: 900px) {
  .sm-ma-finder__layout,
  .sm-ma-finder__layout.has-filters { grid-template-columns: 1fr; }
  .sm-ma-steps__grid { grid-template-columns: 1fr; }
  .sm-ma-index__grid { grid-template-columns: repeat(2, 1fr); }
  .sm-ma-snapshot.sm-stats-grid,
  .sm-ma-finder .sm-stats-grid { grid-template-columns: repeat(2, 1fr); }
  .sm-stat-item:nth-child(2) { border-right: none; }
}

/* ============================================================
   Hero band — combined headline + ZIP search
   ============================================================ */

html:has(.sm-ma-hero-band),
html:has(.sm-ma-home--full) { overflow-x: clip; }
body:has(.sm-ma-hero--with-stats) .sm-ma-snapshot { display: none; }
body:has(.sm-ma-hero) .sm-ma-finder__hint { display: none; }
body.sm-ma-filters-open { overflow: hidden; }

#sm-ma-plans,
#sm-ma-types,
#sm-ma-enroll,
#sm-ma-faq {
  scroll-margin-top: 24px;
}

.sm-ma-hero-band {
  box-sizing: border-box;
  width: 100vw;
  max-width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  margin-bottom: var(--sm-space-8);
  padding: var(--sm-space-12) var(--sm-section-h) var(--sm-space-10);
}
.sm-ma-hero-band--dark {
  background:
    radial-gradient(ellipse 90% 80% at 100% -10%, var(--sm-purple-mid) 0%, transparent 55%),
    linear-gradient(180deg, var(--sm-purple-deep) 0%, var(--sm-purple) 100%);
  color: var(--sm-white);
}
.sm-ma-hero-band--transparent {
  background: transparent;
  color: #fff;
}
.sm-ma-hero-band--transparent.sm-ma-home--hero {
  position: relative;
  isolation: isolate;
  width: auto;
  max-width: none;
  margin-left: 0;
  margin-right: 0;
}
.sm-ma-hero-band--transparent.sm-ma-home--hero::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background:
    linear-gradient(90deg, rgba(50, 28, 68, 0.78) 0%, rgba(69, 41, 92, 0.42) 48%, rgba(69, 41, 92, 0.12) 78%, rgba(69, 41, 92, 0.04) 100%),
    linear-gradient(180deg, rgba(50, 28, 68, 0.28) 0%, transparent 28%);
}
.sm-ma-hero-band--transparent.sm-ma-home--hero > * {
  position: relative;
  z-index: 1;
}
.sm-ma-hero-band--transparent .sm-ma-hero__copy .sm-eyebrow {
  background: var(--sm-orange);
  color: #fff;
}
.sm-ma-hero-band--transparent .sm-ma-hero__title {
  color: #fff;
  text-shadow: 0 0 28px rgba(50, 28, 68, 0.55);
}
.sm-ma-hero-band--transparent .sm-ma-hero__lede,
.sm-ma-hero-band--transparent .sm-ma-hero__phone,
.sm-ma-hero-band--transparent .sm-ma-hero__phone span {
  color: #fff;
  text-shadow: 0 1px 14px rgba(50, 28, 68, 0.9), 0 0 2px rgba(50, 28, 68, 0.75);
}
.sm-ma-hero-band--transparent .sm-ma-hero__phone a,
.sm-ma-hero-band--transparent .sm-ma-hero__phone a:visited {
  color: #fff !important;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.sm-ma-hero-band--transparent .sm-ma-hero__phone a:hover {
  color: var(--sm-orange) !important;
}

.sm-ma-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(260px, 0.8fr);
  gap: var(--sm-space-8);
  align-items: center;
  max-width: var(--sm-max-width);
  margin: 0 auto;
}
.sm-ma-hero__copy { min-width: 0; }
.sm-ma-hero__title { font-size: clamp(28px, 4vw, 40px); }
.sm-ma-hero__lede { max-width: 36rem; }

.sm-ma-hero-band--dark .sm-ma-hero__copy > .sm-eyebrow {
  color: var(--sm-on-photo, #f4eef8);
}
.sm-ma-hero-band--dark .sm-ma-hero__title { color: var(--sm-white); }
.sm-ma-hero-band--dark .sm-ma-hero__lede { color: var(--sm-purple-lt); }
.sm-ma-hero-band--dark .sm-ma-hero__phone,
.sm-ma-hero-band--dark .sm-ma-hero__phone span { color: #fff; }
.sm-ma-hero-band--dark .sm-ma-hero__phone a,
.sm-ma-hero-band--dark .sm-ma-hero__phone a:visited {
  color: #fff !important;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.sm-ma-hero-band--dark .sm-ma-hero__phone a:hover,
.sm-ma-hero-band--dark .sm-ma-hero__phone a:focus {
  color: var(--sm-orange, #ed5c2e) !important;
}
.sm-ma-hero-band--dark.sm-ma-change-hero {
  background:
    radial-gradient(ellipse 70% 55% at 0% 110%, rgba(237, 92, 46, 0.32) 0%, transparent 58%),
    radial-gradient(ellipse 90% 80% at 100% -10%, var(--sm-purple-mid) 0%, transparent 55%),
    linear-gradient(180deg, var(--sm-purple-deep) 0%, var(--sm-purple) 100%);
}
.sm-ma-change-hero .sm-ma-hero__copy > .sm-eyebrow {
  display: inline-flex;
  background: var(--sm-orange);
  color: #fff;
  padding: 5px 12px;
  border-radius: var(--sm-radius-full);
  margin-bottom: var(--sm-space-3);
}
.sm-ma-change-hero .sm-ma-change__tool {
  margin: var(--sm-space-5) 0 var(--sm-space-4);
  max-width: 32rem;
}
.sm-ma-change-hero .sm-ma-change__zip-row { max-width: none; }
.sm-ma-change-hero .sm-ma-change__toggle-missing {
  color: #fff;
  margin-top: var(--sm-space-3);
}
.sm-ma-change-hero .sm-ma-change__location {
  color: rgba(255,255,255,0.78);
}
.sm-ma-change-hero .sm-ma-jump {
  margin-top: var(--sm-space-4);
}
.sm-ma-change-hero__steps {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: var(--sm-space-3);
}
.sm-ma-change-hero__steps li {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-family: var(--sm-font-head);
  font-weight: 700;
  color: var(--sm-purple);
  font-size: var(--sm-text-sm);
  line-height: 1.4;
}
.sm-ma-change-hero__steps span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  flex: 0 0 22px;
  border-radius: 50%;
  background: var(--sm-orange);
  color: #fff;
  font-size: var(--sm-text-xs);
}
.sm-ma-change.sm-ma-change--hero {
  max-width: none;
  width: 100%;
  margin: 0;
  padding: 0;
}
.sm-ma-change--hero .sm-ma-change__body {
  max-width: var(--sm-max-width);
  margin: 0 auto;
  padding: 0 var(--sm-section-h);
  box-sizing: border-box;
}
.sm-ma-change--hero .sm-ma-hero-band {
  margin-bottom: var(--sm-space-10);
}
.sm-ma-hero-band--dark .sm-ma-hero__copy .sm-ma-finder__location { color: rgba(255,255,255,0.78); }
.sm-ma-hero-band--dark .sm-ma-jump a {
  color: var(--sm-white);
  background: none;
  border: 0;
  padding: 0;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.sm-ma-hero-band--dark .sm-ma-jump a:hover {
  background: none;
  color: var(--sm-on-photo, #f4eef8);
  border: 0;
}

.sm-ma-hero__copy .sm-ma-finder__search--compact {
  background: transparent;
  border: none;
  padding: 0;
  margin: var(--sm-space-5) 0 var(--sm-space-4);
  max-width: 32rem;
  overflow: visible;
}
.sm-ma-hero__copy .sm-ma-finder__search--compact::before { display: none; }
.sm-ma-hero__copy .sm-zip-group { max-width: none; }

.sm-ma-hero__tool {
  background: var(--sm-white);
  border: 1.5px solid var(--sm-border);
  border-radius: var(--sm-radius-md);
  padding: var(--sm-space-6);
  box-shadow: var(--sm-shadow-lg, var(--sm-shadow-md));
  position: relative;
  overflow: hidden;
  color: var(--sm-body);
}
.sm-ma-hero__tool::before { display: none; }
.sm-ma-hero__glance-title {
  font-family: var(--sm-font-head);
  font-size: clamp(18px, 2vw, 22px);
  font-weight: 800;
  color: var(--sm-purple);
  letter-spacing: -0.03em;
  line-height: 1.25;
  margin: 0 0 var(--sm-space-5);
}
.sm-ma-hero__tool .sm-eyebrow {
  margin-bottom: var(--sm-space-4);
  color: var(--sm-purple);
}
.sm-ma-hero__zip-slot .sm-ma-finder__location {
  margin-top: var(--sm-space-3);
}

.sm-ma-hero__stats {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--sm-space-2);
  margin-top: 0;
}
.sm-ma-hero__stats div {
  background: var(--sm-linen);
  border-radius: var(--sm-radius-sm);
  padding: 10px 12px;
}
.sm-ma-hero__stats strong {
  display: block;
  font-family: var(--sm-font-head);
  font-size: var(--sm-text-lg);
  font-weight: 800;
  color: var(--sm-purple);
  letter-spacing: -0.03em;
  line-height: 1.1;
}
.sm-ma-hero__stats span {
  font-family: var(--sm-font-head);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--sm-muted);
}

.sm-ma-jump {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 16px;
  margin-top: var(--sm-space-5);
}
.sm-ma-jump a {
  font-family: var(--sm-font-head);
  font-size: var(--sm-text-sm);
  font-weight: 700;
  letter-spacing: 0;
  text-transform: none;
  text-decoration: underline;
  text-underline-offset: 3px;
  color: var(--sm-purple);
  background: none;
  border: 0;
  border-radius: 0;
  padding: 0;
  min-height: 0;
  display: inline;
}
.sm-ma-jump a:hover {
  border: 0;
  background: none;
  color: var(--sm-orange);
}

.sm-ma-finder--zip-in-hero.is-idle {
  display: block;
}
.sm-ma-finder:not(.is-idle) .sm-ma-card-guide,
.sm-ma-finder.has-results .sm-ma-card-guide { display: none; }
.sm-ma-card-guide {
  margin: 0 0 var(--sm-space-12);
}
.sm-ma-card-guide__lede {
  margin: 0 0 var(--sm-space-6);
  color: var(--sm-muted);
  max-width: 40rem;
  font-size: var(--sm-text-md);
  line-height: 1.55;
}
.sm-ma-card-guide__stage {
  display: flex;
  flex-wrap: wrap;
  gap: var(--sm-space-8);
  align-items: flex-start;
}
.sm-ma-card--sample {
  flex: 0 1 360px;
  max-width: 360px;
  margin: 0;
  overflow: visible;
  pointer-events: none;
  transform: none;
}
.sm-ma-card--sample:hover {
  border-color: var(--sm-border);
  box-shadow: none;
}
.sm-ma-card--sample:hover::before { opacity: 0; }
.sm-ma-card-guide__n {
  display: inline-flex;
  width: 20px;
  height: 20px;
  flex: 0 0 20px;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: var(--sm-purple);
  color: #fff;
  font-family: var(--sm-font-head);
  font-size: var(--sm-text-xs);
  font-weight: 800;
  line-height: 1;
  letter-spacing: 0;
  text-transform: none;
  vertical-align: middle;
}
.sm-ma-card-guide__cta {
  display: grid;
  grid-template-columns: 20px minmax(0, 1fr);
  gap: 10px;
  align-items: center;
}
.sm-ma-card-guide__cta .sm-ma-card-lead { width: 100%; }
.sm-ma-card-guide__key {
  list-style: none;
  margin: 0;
  padding: 0;
  flex: 1 1 260px;
  min-width: 240px;
}
.sm-ma-card-guide__key li {
  display: grid;
  grid-template-columns: 20px minmax(0, 1fr);
  gap: 10px;
  align-items: start;
  margin: 0 0 var(--sm-space-4);
  color: var(--sm-muted);
  font-size: var(--sm-text-sm);
  line-height: 1.45;
}
.sm-ma-card-guide__key li:last-child { margin-bottom: 0; }
.sm-ma-card-guide__key strong {
  display: block;
  font-family: var(--sm-font-head);
  color: var(--sm-purple);
  font-size: var(--sm-text-sm);
}
.sm-ma-card--sample .sm-ma-card__metric-label {
  display: flex;
  align-items: center;
  gap: 6px;
}
.sm-ma-card--sample .sm-ma-card__badges {
  align-items: center;
}
.sm-ma-finder:not(.has-results) .sm-tcpa,
.sm-ma-finder.is-preview .sm-tcpa { display: none; }
.sm-ma-finder:not(.has-results) .sm-ma-finder__chips { display: none; }
.sm-ma-steps--after-zip { display: none; }
body.sm-ma-has-results .sm-ma-steps--after-zip { display: block; }
.sm-ma-card.is-locked {
  filter: grayscale(0.45);
  opacity: 0.55;
  box-shadow: none;
}
.sm-ma-card.is-locked .sm-ma-card__compare,
.sm-ma-card.is-locked .sm-ma-card__actions {
  pointer-events: none;
}
.sm-ma-finder--zip-in-hero.has-results .sm-ma-finder__search { display: none; }
.sm-ma-finder--zip-in-hero .sm-ma-finder__layout,
.sm-ma-finder--zip-in-hero .sm-ma-finder__layout.has-filters {
  grid-template-columns: 1fr;
  margin-top: var(--sm-space-4);
}
.sm-ma-finder .sm-ma-advisor { display: none; }

.sm-ma-finder__chips {
  flex-wrap: nowrap;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: thin;
  padding-bottom: 4px;
}
.sm-ma-chip {
  flex: 0 0 auto;
  min-height: 40px;
}
.sm-ma-chip[data-chip="more"] {
  border-style: dashed;
}

.sm-ma-card {
  padding-top: var(--sm-space-8);
}
.sm-ma-card__compare {
  position: absolute;
  top: 10px;
  right: 10px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-family: var(--sm-font-head);
  font-size: var(--sm-text-sm);
  font-weight: 600;
  letter-spacing: 0;
  text-transform: none;
  color: var(--sm-muted);
  cursor: pointer;
  z-index: 1;
}
.sm-ma-card__compare input {
  accent-color: var(--sm-purple);
  width: 1.15em;
  height: 1.15em;
}
.sm-ma-card__name {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  min-height: 2.6em;
}
.sm-ma-card__metric-num { font-size: var(--sm-text-xl); line-height: 1.15; }
.sm-ma-card__metric-num.is-zero { color: var(--sm-purple); }
.sm-ma-card__metric-num--sec {
  font-size: var(--sm-text-lg);
  font-weight: 700;
  color: var(--sm-purple);
}
.sm-ma-card__actions {
  flex-direction: column;
  align-items: stretch;
}
.sm-ma-card-lead {
  width: 100%;
  min-height: 44px;
}
.sm-ma-card__details {
  appearance: none;
  background: none;
  border: none;
  padding: 6px 0 0;
  font-family: var(--sm-font-head);
  font-size: var(--sm-text-sm);
  font-weight: 700;
  color: var(--sm-purple);
  text-decoration: underline;
  text-underline-offset: 3px;
  cursor: pointer;
  min-height: 44px;
}
.sm-ma-card__details:hover { color: var(--sm-orange); }

.sm-ma-filter-drawer {
  position: fixed;
  inset: 0;
  z-index: var(--sm-z-modal);
}
.sm-ma-filter-drawer[hidden] { display: none !important; }
.sm-ma-filter-drawer__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(50, 28, 68, 0.45);
}
.sm-ma-filter-drawer__panel {
  position: absolute;
  top: 0;
  right: 0;
  width: min(400px, 100%);
  height: 100%;
  background: var(--sm-white);
  box-shadow: var(--sm-shadow-lg);
  padding: var(--sm-space-6);
  overflow: auto;
}
.sm-ma-filter-drawer__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--sm-space-3);
  margin-bottom: var(--sm-space-5);
}
.sm-ma-filter-drawer__head .sm-eyebrow { margin: 0; }
.sm-ma-filter-drawer__close {
  font-family: var(--sm-font-head);
  font-weight: 700;
  color: var(--sm-purple);
  background: var(--sm-purple-lt);
  border: none;
  border-radius: var(--sm-radius);
  padding: 10px 14px;
  min-height: 44px;
  cursor: pointer;
}
.sm-ma-filter-drawer .sm-ma-finder__filters { display: flex; }

.sm-ma-sticky {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: var(--sm-z-sticky);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--sm-space-3);
  background: var(--sm-purple);
  color: var(--sm-white);
  padding: 10px 16px;
  padding-bottom: calc(10px + env(safe-area-inset-bottom, 0px));
  box-shadow: 0 -8px 24px rgba(69, 41, 92, 0.18);
}
.sm-ma-sticky[hidden] { display: none !important; }
.sm-ma-sticky__loc {
  font-family: var(--sm-font-head);
  font-size: var(--sm-text-sm);
  font-weight: 700;
  min-width: 0;
}
.sm-ma-sticky-help { min-height: 44px; min-width: 120px; }
body:has(.sm-ma-sticky:not([hidden])) {
  padding-bottom: calc(68px + env(safe-area-inset-bottom, 0px));
}
@media (min-width: 901px) {
  .sm-ma-sticky { display: none !important; }
  body:has(.sm-ma-sticky:not([hidden])) { padding-bottom: 0; }
}
@media (max-width: 900px) {
  body:has(.sm-ma-compare-tray:not([hidden])) .sm-ma-sticky {
    display: none !important;
  }
  body:has(.sm-ma-compare-tray:not([hidden])) {
    padding-bottom: calc(72px + env(safe-area-inset-bottom, 0px));
  }
}

.sm-carrier-strip {
  margin: 0 0 var(--sm-space-16);
  padding: var(--sm-space-5) var(--sm-space-6);
  background: var(--sm-linen);
  border: 1px solid var(--sm-border);
  border-radius: var(--sm-radius-md);
}
.sm-carrier-strip-inner {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--sm-space-3) var(--sm-space-4);
}
.sm-carrier-label {
  font-family: var(--sm-font-head);
  font-size: var(--sm-text-xs);
  font-weight: 700;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  color: var(--sm-muted);
  flex: 0 0 auto;
}
.sm-carrier-divider {
  display: none;
  width: 1px;
  height: 20px;
  background: var(--sm-border);
  flex: 0 0 auto;
}
.sm-carrier-logos {
  display: flex;
  flex-wrap: wrap;
  gap: 4px 16px;
  flex: 1 1 auto;
  min-width: 0;
  align-items: center;
}
.sm-carrier-logo {
  display: inline-flex;
  align-items: center;
  font-family: var(--sm-font-head);
  font-size: var(--sm-text-sm);
  font-weight: 600;
  color: var(--sm-purple);
  background: none;
  border: 0;
  border-radius: 0;
  padding: 4px 0;
  letter-spacing: 0;
  text-transform: none;
  white-space: nowrap;
}
.sm-carrier-more {
  font-family: var(--sm-font-head);
  font-size: var(--sm-text-sm);
  font-weight: 700;
  color: var(--sm-muted);
}
@media (min-width: 641px) {
  .sm-carrier-divider { display: block; }
}

.sm-ma-intro {
  border: 0;
  border-radius: 0;
  padding: 0;
  background: none;
}
.sm-ma-intro .sm-ma-section-title { max-width: 42rem; }
.sm-ma-intro p {
  max-width: 42rem;
  margin: 0 0 var(--sm-space-3);
  color: var(--sm-body);
  font-size: var(--sm-text-base);
  line-height: 1.65;
}
.sm-ma-intro p:last-child { margin-bottom: 0; }

.sm-ma-steps--compact {
  margin: 0 0 var(--sm-space-6);
}
.sm-ma-steps__row {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: var(--sm-space-3) var(--sm-space-6);
  font-family: var(--sm-font-head);
  font-weight: 700;
  color: var(--sm-purple);
  font-size: var(--sm-text-sm);
}
.sm-ma-steps__row li {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.sm-ma-steps--compact .sm-ma-step__num {
  margin-bottom: 0;
  width: 22px;
  height: 22px;
  font-size: var(--sm-text-xs);
}

.sm-ma-aep--slim {
  padding: var(--sm-space-4) var(--sm-space-5);
}
.sm-ma-aep--slim p { margin: 0; color: var(--sm-body); }
.sm-ma-fork--slim {
  margin: 0 0 var(--sm-space-8);
  color: var(--sm-muted);
}
.sm-ma-fork--slim a {
  color: var(--sm-purple);
  font-family: var(--sm-font-head);
  font-weight: 700;
}

.sm-ma-types,
.sm-ma-faq,
.sm-ma-index {
  background: none;
  border: 0;
  border-radius: 0;
  padding: 0;
}

@media (max-width: 900px) {
  .sm-ma-hero {
    grid-template-columns: 1fr;
    gap: var(--sm-space-5);
  }
  .sm-ma-finder__grid { grid-template-columns: 1fr; }
  .sm-ma-finder__points { grid-template-columns: 1fr; }
  .sm-ma-finder__search { padding: var(--sm-space-6); }
  .sm-ma-filter-drawer__panel {
    top: auto;
    left: 0;
    right: 0;
    width: 100%;
    height: auto;
    max-height: 88vh;
    border-radius: var(--sm-radius-lg) var(--sm-radius-lg) 0 0;
    padding-bottom: calc(var(--sm-space-6) + env(safe-area-inset-bottom, 0px));
  }
}

@media (max-width: 640px) {
  .sm-ma-hero__title { font-size: 26px; }
  .sm-ma-hero__lede { font-size: var(--sm-text-base); }
  .sm-ma-jump a { min-height: 0; }
  .sm-ma-card { padding: var(--sm-space-5); padding-top: var(--sm-space-8); }
  .sm-ma-compare-tray { bottom: 0; margin-top: 0; }
  .sm-ma-compare-tray__inner {
    border-radius: 0;
    padding-bottom: calc(14px + env(safe-area-inset-bottom, 0px));
  }
}

/* Plan change checker (AEP) */
.sm-ma-change {
  font-family: var(--sm-font-body);
  color: var(--sm-body);
  margin: 0 0 var(--sm-space-16);
  background: none;
  border: 0;
  border-radius: 0;
  padding: 0;
  position: relative;
  overflow: visible;
}
.sm-ma-change::before { display: none; }
.sm-ma-change [hidden] { display: none !important; }
.sm-ma-change__lede {
  color: var(--sm-muted);
  margin: 0 0 var(--sm-space-5);
  max-width: 42rem;
  font-size: var(--sm-text-md);
  line-height: 1.55;
}
.sm-ma-change__tool { margin-bottom: var(--sm-space-5); }
.sm-ma-change__zip-row { max-width: 560px; }
.sm-ma-change__toggle-search,
.sm-ma-change__toggle-missing {
  appearance: none;
  background: none;
  border: none;
  padding: 0;
  margin-top: var(--sm-space-4);
  font-family: var(--sm-font-head);
  font-size: var(--sm-text-sm);
  font-weight: 700;
  color: var(--sm-purple);
  text-decoration: underline;
  cursor: pointer;
}
.sm-ma-change__search-wrap { margin-top: var(--sm-space-4); }
.sm-ma-change__carrier-wrap {
  margin-top: var(--sm-space-4);
  max-width: 560px;
}
.sm-ma-change__missing {
  margin-top: var(--sm-space-4);
  padding: var(--sm-space-5);
  border: 1.5px solid var(--sm-border);
  border-radius: var(--sm-radius-md);
  background: var(--sm-white);
}
.sm-ma-change__missing-lede {
  margin: 0 0 var(--sm-space-3);
  color: var(--sm-muted);
  font-size: var(--sm-text-sm);
}
.sm-ma-change__manual { margin-top: var(--sm-space-4); }
.sm-ma-change__manual .sm-form-row {
  display: flex;
  gap: var(--sm-space-3);
  margin-bottom: var(--sm-space-3);
}
.sm-ma-change__manual .sm-field { flex: 1; min-width: 0; }
.sm-ma-change__outcome {
  margin: 0 0 var(--sm-space-5);
}
.sm-ma-change__notify-wrap {
  margin-top: var(--sm-space-4);
  max-width: none;
  padding: var(--sm-space-6);
  background: var(--sm-white);
  border: 1.5px solid var(--sm-border);
  border-radius: var(--sm-radius-md);
}
.sm-ma-change__search-row {
  display: flex;
  gap: var(--sm-space-3);
  max-width: 560px;
}
.sm-ma-change__search-row .sm-input { flex: 1; min-width: 0; }
.sm-ma-change__list {
  display: grid;
  gap: var(--sm-space-3);
}
.sm-ma-change__pick {
  display: block;
  width: 100%;
  text-align: left;
  background: var(--sm-white);
  border: 1.5px solid var(--sm-border);
  border-radius: var(--sm-radius-md);
  padding: var(--sm-space-5);
  cursor: pointer;
  transition: border-color var(--sm-transition), box-shadow var(--sm-transition);
}
.sm-ma-change__pick:hover,
.sm-ma-change__pick.is-selected {
  border-color: var(--sm-purple);
  box-shadow: var(--sm-shadow-sm);
}
.sm-ma-change__pick-carrier {
  display: block;
  font-family: var(--sm-font-head);
  font-size: var(--sm-text-xs);
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--sm-muted);
  margin-bottom: 4px;
}
.sm-ma-change__pick strong {
  display: block;
  font-family: var(--sm-font-head);
  color: var(--sm-purple);
  margin-bottom: 4px;
}
.sm-ma-change__pick-meta {
  font-size: var(--sm-text-sm);
  color: var(--sm-muted);
}
.sm-ma-change__card {
  background: var(--sm-white);
  border-radius: var(--sm-radius-md);
  padding: var(--sm-space-6);
  border: 1.5px solid var(--sm-border);
  box-shadow: var(--sm-shadow-sm);
}
.sm-ma-change__card--danger { border-color: #fca5a5; background: #fef2f2; }
.sm-ma-change__card--warning { border-color: #fcd34d; background: #fffbeb; }
.sm-ma-change__card--success { border-color: #86efac; background: #f0fdf4; }
.sm-ma-change__card--info { border-color: var(--sm-accent); }
.sm-ma-change__card h3 {
  font-family: var(--sm-font-head);
  color: var(--sm-purple);
  margin: 0 0 var(--sm-space-3);
  font-size: var(--sm-text-lg);
}
.sm-ma-change__card p {
  margin: 0 0 var(--sm-space-3);
  color: var(--sm-body);
  line-height: 1.55;
}
.sm-ma-change__status { font-size: var(--sm-text-sm); color: var(--sm-muted); }
.sm-ma-change__compare {
  width: 100%;
  border-collapse: collapse;
  margin: var(--sm-space-4) 0;
  font-size: var(--sm-text-sm);
}
.sm-ma-change__compare th,
.sm-ma-change__compare td {
  border-bottom: 1px solid var(--sm-border-lt);
  padding: 10px 8px;
  text-align: left;
}
.sm-ma-change__compare thead th {
  font-family: var(--sm-font-head);
  color: var(--sm-purple);
}
.sm-ma-change__compare tr.is-changed td {
  font-weight: 400;
  color: var(--sm-body);
}
.sm-ma-change__flag,
.sm-ma-compare-table .sm-ma-change__flag {
  display: inline-block;
  margin-left: 8px;
  font-family: var(--sm-font-head);
  font-size: var(--sm-text-xs);
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--sm-purple);
}
.sm-ma-change__text-link {
  appearance: none;
  background: none;
  border: none;
  padding: 10px 0;
  font-family: var(--sm-font-head);
  font-size: var(--sm-text-sm);
  font-weight: 700;
  color: var(--sm-purple);
  text-decoration: underline;
  text-underline-offset: 3px;
  cursor: pointer;
}
.sm-ma-change__text-link:hover { color: var(--sm-orange); }
.sm-ma-compare-help {
  margin: var(--sm-space-5) 0 0;
  display: flex;
  flex-wrap: wrap;
  gap: var(--sm-space-2);
}
.sm-ma-compare-help .sm-btn { width: auto; }
.sm-ma-change__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--sm-space-3);
  margin-top: var(--sm-space-4);
}
.sm-ma-change__compare-note {
  color: var(--sm-muted);
  font-size: var(--sm-text-sm);
  margin: 0 0 var(--sm-space-4);
}
.sm-ma-change__compare-scroll {
  overflow: auto;
  max-height: min(70vh, 720px);
}
.sm-ma-change .sm-ma-modal__panel { max-width: 980px; }
.sm-ma-notify {
  font-family: var(--sm-font-body);
  color: var(--sm-body);
  max-width: 640px;
}
.sm-ma-notify__intro { color: var(--sm-muted); margin: 0 0 var(--sm-space-4); }
.sm-ma-notify__plan {
  color: var(--sm-purple);
  font-family: var(--sm-font-head);
  font-weight: 700;
  margin-bottom: var(--sm-space-5);
}
.sm-ma-notify__success {
  color: var(--sm-success);
  font-family: var(--sm-font-head);
  font-weight: 700;
  margin-bottom: var(--sm-space-4);
}
.sm-ma-notify .sm-form-row {
  display: flex;
  gap: var(--sm-space-3);
}
.sm-ma-notify .sm-form-row .sm-field { flex: 1; }
.sm-ma-notify .sm-input {
  width: 100%;
  padding: 13px 16px;
  border: 1.5px solid var(--sm-border);
  border-radius: var(--sm-radius);
  font-family: var(--sm-font-body);
  font-size: var(--sm-text-base);
  background: var(--sm-white);
}
@media (max-width: 640px) {
  .sm-ma-notify .sm-form-row,
  .sm-ma-change__search-row,
  .sm-ma-change__manual .sm-form-row { flex-direction: column; }
}

/* Homepage hero */
.sm-ma-home--hero.sm-ma-hero-band {
  margin-bottom: 0;
  padding-top: var(--sm-space-8);
  padding-bottom: var(--sm-space-6);
}
.sm-ma-home--hero,
.sm-ma-home--hero * {
  box-sizing: border-box;
}
.sm-ma-home__inner {
  max-width: var(--sm-max-width);
  margin: 0 auto;
  width: 100%;
}
.sm-ma-home--hero .sm-ma-hero {
  margin-bottom: 0;
  max-width: none;
  width: 100%;
}
.sm-ma-home__hero {
  align-items: center;
  grid-template-columns: minmax(0, 1.4fr) minmax(300px, 0.6fr);
}
.sm-ma-home__hero .sm-ma-hero__copy {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0;
}
.sm-ma-home--hero h1.sm-ma-home__title {
  font-family: var(--sm-font-head);
  font-size: clamp(34px, 4.6vw, 56px) !important;
  font-weight: 800 !important;
  line-height: 1.1 !important;
  letter-spacing: -0.035em;
  max-width: 24ch;
  margin: 0 0 var(--sm-space-4) !important;
  padding: 0 !important;
  border: 0 !important;
  background: none !important;
  color: #fff !important;
  text-shadow: 0 0 28px rgba(50, 28, 68, 0.55);
}
.sm-ma-home--hero.sm-ma-hero-band--transparent p.sm-ma-hero__lede,
.sm-ma-home--hero.sm-ma-hero-band--transparent p.sm-ma-home__lede,
.sm-ma-home--hero.sm-ma-hero-band--dark p.sm-ma-home__lede {
  font-size: var(--sm-text-md) !important;
  line-height: 1.45 !important;
  max-width: 34rem;
  margin: 0 0 var(--sm-space-5) !important;
  padding: 0 !important;
  border: 0 !important;
  background: none !important;
  color: #fff !important;
  font-weight: 500;
  text-shadow: 0 1px 14px rgba(50, 28, 68, 0.9), 0 0 2px rgba(50, 28, 68, 0.75);
}
.sm-ma-home--hero .sm-ma-hero__phone {
  font-size: var(--sm-text-md) !important;
  margin: 0 0 var(--sm-space-5) !important;
  padding: 0 !important;
  border: 0 !important;
  background: none !important;
}
.sm-ma-home--hero.sm-ma-hero-band--transparent .sm-ma-hero__phone,
.sm-ma-home--hero.sm-ma-hero-band--transparent .sm-ma-hero__phone span,
.sm-ma-home--hero.sm-ma-hero-band--dark .sm-ma-hero__phone,
.sm-ma-home--hero.sm-ma-hero-band--dark .sm-ma-hero__phone span {
  color: #fff !important;
}
.sm-ma-home__card {
  display: flex;
  flex-direction: column;
  gap: var(--sm-space-4);
}
.sm-ma-home__card .sm-ma-hero__glance-title {
  margin-bottom: 0;
  font-size: var(--sm-text-lg);
  font-weight: 700;
  letter-spacing: -0.02em;
}
.sm-ma-home__aep {
  width: 100%;
  margin: 0 0 var(--sm-space-4);
  padding: 0;
  background: none;
  border: 0;
  box-shadow: none;
}
.sm-ma-home__aep-copy {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0.35em 0.55em;
  margin: 0;
  padding: 0;
  font-size: var(--sm-text-sm);
  line-height: 1.45;
}
.sm-ma-home--hero.sm-ma-hero-band--transparent .sm-ma-home__aep-copy,
.sm-ma-home--hero.sm-ma-hero-band--dark .sm-ma-home__aep-copy {
  color: #fff !important;
  text-shadow: 0 1px 14px rgba(50, 28, 68, 0.9), 0 0 2px rgba(50, 28, 68, 0.75);
}
.sm-ma-home--hero.sm-ma-hero-band--light .sm-ma-home__aep-copy {
  color: var(--sm-muted);
}
.sm-ma-home__aep-meta {
  font-weight: 600;
  opacity: 0.9;
  font-size: var(--sm-text-xs);
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
.sm-ma-home__aep-text {
  font-weight: 500;
}
.sm-ma-home--hero a.sm-ma-home__aep-link {
  display: inline !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0;
  background: none !important;
  box-shadow: none !important;
  min-height: 0 !important;
  font-family: var(--sm-font-head);
  font-weight: 700;
  font-size: inherit;
  color: #fff !important;
  text-decoration: underline;
  text-decoration-color: rgba(255, 255, 255, 0.55);
  text-underline-offset: 0.15em;
  white-space: nowrap;
  text-shadow: 0 1px 14px rgba(50, 28, 68, 0.9), 0 0 2px rgba(50, 28, 68, 0.75);
}
.sm-ma-home--hero a.sm-ma-home__aep-link:hover,
.sm-ma-home--hero a.sm-ma-home__aep-link:focus-visible {
  color: var(--sm-orange) !important;
  background: none !important;
  text-decoration-color: var(--sm-orange);
}
.sm-ma-home--hero.sm-ma-hero-band--light a.sm-ma-home__aep-link {
  color: var(--sm-purple) !important;
  text-decoration-color: rgba(69, 41, 92, 0.35);
  text-shadow: none;
}
.sm-ma-home--hero.sm-ma-hero-band--light a.sm-ma-home__aep-link:hover,
.sm-ma-home--hero.sm-ma-hero-band--light a.sm-ma-home__aep-link:focus-visible {
  color: var(--sm-orange) !important;
  text-decoration-color: var(--sm-orange);
}
.sm-ma-home__zip {
  display: flex;
  border-radius: var(--sm-radius);
  overflow: hidden;
  box-shadow: var(--sm-shadow-md);
}
.sm-ma-home__zip input {
  flex: 1;
  border: none;
  border-radius: 0;
  padding: 16px 20px;
  font-family: var(--sm-font-head);
  font-size: var(--sm-text-base);
  font-weight: 600;
  letter-spacing: 0.04em;
  color: var(--sm-purple);
  outline: none;
  min-width: 0;
}
.sm-ma-home__zip button {
  padding: 16px 24px;
  background: var(--sm-orange);
  color: var(--sm-white);
  border: none;
  font-family: var(--sm-font-head);
  font-size: var(--sm-text-base);
  font-weight: 700;
  letter-spacing: 0.03em;
  cursor: pointer;
  white-space: nowrap;
}
.sm-ma-home__zip button:hover { background: var(--sm-orange-hover); }
.sm-ma-home__lead-link {
  display: inline-block;
  margin-top: var(--sm-space-3);
  font-family: var(--sm-font-head);
  font-size: var(--sm-text-sm);
  font-weight: 700;
  color: var(--sm-purple);
  text-decoration: underline;
  text-underline-offset: 3px;
}
.sm-ma-home__lead-link:hover { color: var(--sm-orange); }
.sm-ma-home .sm-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-family: var(--sm-font-head);
  font-size: var(--sm-text-base);
  font-weight: 700;
  letter-spacing: 0.03em;
  border-radius: var(--sm-radius);
  cursor: pointer;
  border: 2px solid transparent;
  text-decoration: none;
  padding: 12px 18px;
  min-height: 48px;
}
.sm-ma-home .sm-btn-primary {
  background: var(--sm-orange);
  color: var(--sm-white);
  box-shadow: var(--sm-shadow-cta);
}
.sm-ma-home .sm-btn-primary:hover { background: var(--sm-orange-hover); }
.sm-ma-home .sm-btn-outline {
  background: transparent;
  color: var(--sm-purple);
  border-color: var(--sm-border);
}
.sm-ma-home .sm-btn-outline:hover {
  border-color: var(--sm-purple);
  background: var(--sm-purple-lt);
}
.sm-ma-home .sm-btn-secondary {
  background: var(--sm-white);
  color: var(--sm-purple) !important;
  border-color: var(--sm-purple);
  box-shadow: none;
}
.sm-ma-home .sm-btn-secondary:hover {
  background: var(--sm-purple);
  color: var(--sm-white) !important;
  border-color: var(--sm-purple);
}
.sm-ma-home .screen-reader-text {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
@media (max-width: 900px) {
  .sm-ma-home__hero { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
  .sm-ma-home__zip { flex-direction: column; }
}

.sm-ma-home--hero a.sm-ma-home__learn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: 2px;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0;
  background: none !important;
  color: #fff !important;
  font-family: var(--sm-font-head);
  font-weight: 700;
  font-size: var(--sm-text-base);
  text-decoration: underline;
  text-underline-offset: 4px;
  text-shadow: 0 2px 10px rgba(50, 28, 68, 0.95), 0 0 3px rgba(50, 28, 68, 0.8);
  box-shadow: none;
}
.sm-ma-home--hero a.sm-ma-home__learn:hover,
.sm-ma-home--hero a.sm-ma-home__learn:focus {
  color: var(--sm-orange) !important;
  background: none !important;
  text-shadow: 0 2px 10px rgba(50, 28, 68, 0.95);
}
.sm-ma-home__bar {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: var(--sm-space-4);
  flex-wrap: wrap;
  margin: var(--sm-space-3) auto 0;
  padding-top: 0;
  border-top: none;
}
.sm-ma-home__trust {
  display: flex;
  flex-wrap: wrap;
  gap: var(--sm-space-4);
  align-items: center;
}
.sm-ma-home__signal {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px 8px;
  color: var(--sm-on-photo);
  text-decoration: none;
  min-width: 0;
}
.sm-ma-home__signal-brand {
  font-family: var(--sm-font-head);
  font-size: var(--sm-text-sm);
  font-weight: 700;
  letter-spacing: 0.02em;
}
.sm-ma-stars { display: inline-flex; gap: 1px; }
.sm-ma-home__signal .sm-ma-star { width: 13px; height: 13px; }
.sm-ma-home__signal-meta {
  font-size: var(--sm-text-sm);
  color: var(--sm-on-photo);
}
.sm-ma-home--hero.sm-ma-hero-band--light h1.sm-ma-home__title,
.sm-ma-home--hero.sm-ma-hero-band--light p.sm-ma-home__lede,
.sm-ma-home--hero.sm-ma-hero-band--light a.sm-ma-home__learn {
  color: var(--sm-purple) !important;
  text-shadow: none;
}
.sm-ma-home--hero.sm-ma-hero-band--light a.sm-ma-home__learn:hover {
  color: var(--sm-orange) !important;
}
.sm-ma-home--hero.sm-ma-hero-band--light .sm-ma-home__signal,
.sm-ma-home--hero.sm-ma-hero-band--light .sm-ma-home__signal-meta {
  color: var(--sm-purple);
  text-shadow: none;
}
@media (max-width: 900px) {
  .sm-ma-home--hero h1.sm-ma-home__title { max-width: none; }
  .sm-ma-home__bar { justify-content: flex-start; }
}
@media (max-width: 700px) {
  .sm-ma-home__bar { flex-direction: column; align-items: flex-start; }
}

.sm-ma-assistant {
  position: fixed;
  left: 16px;
  bottom: 16px;
  z-index: calc(var(--sm-z-sticky) + 2);
  font-family: var(--sm-font-body);
  font-size: var(--sm-text-base);
  line-height: 1.65;
  color: var(--sm-body);
}
.sm-ma-assistant__launch {
  border: 0;
  border-radius: var(--sm-radius-full);
  background: var(--sm-purple);
  color: #fff;
  font-family: var(--sm-font-head);
  font-size: var(--sm-text-base);
  font-weight: 700;
  padding: 14px 20px;
  min-height: 48px;
  cursor: pointer;
  box-shadow: var(--sm-shadow-md);
}
.sm-ma-assistant.is-open .sm-ma-assistant__launch { display: none; }
.sm-ma-assistant:not(.is-open) .sm-ma-assistant__launch {
  display: inline-flex !important;
  visibility: visible !important;
  opacity: 1 !important;
}
.sm-ma-assistant__panel {
  width: min(440px, calc(100vw - 24px));
  max-height: min(70vh, calc(100vh - 32px));
  display: flex;
  flex-direction: column;
  background: var(--sm-white);
  border: 1px solid var(--sm-border);
  border-radius: var(--sm-radius-lg);
  box-shadow: var(--sm-shadow-lg);
  overflow: hidden;
}
.sm-ma-assistant__panel[hidden] { display: none !important; }
.sm-ma-assistant__head {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: var(--sm-space-3);
  padding: var(--sm-space-4);
  background: var(--sm-linen);
  border-bottom: 1px solid var(--sm-border);
}
.sm-ma-assistant__actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 4px;
}
.sm-ma-assistant__actions .sm-btn {
  width: auto;
  min-height: 40px;
  padding: 8px 10px;
  font-size: var(--sm-text-sm);
}
.sm-ma-assistant__sub {
  margin: 4px 0 0;
  font-size: var(--sm-text-sm);
  color: var(--sm-muted);
  line-height: 1.45;
}
.sm-ma-assistant__context {
  margin: 0;
  padding: 10px var(--sm-space-4);
  font-size: var(--sm-text-base);
  background: var(--sm-purple-lt);
  color: var(--sm-purple);
}
.sm-ma-assistant__clear-plan {
  margin-left: 8px;
  border: 0;
  background: none;
  color: var(--sm-orange);
  font-size: var(--sm-text-base);
  font-weight: 700;
  cursor: pointer;
}
.sm-ma-assistant__log {
  flex: 1 1 auto;
  overflow: auto;
  padding: var(--sm-space-4);
  display: flex;
  flex-direction: column;
  gap: var(--sm-space-3);
  min-height: 180px;
}
.sm-ma-assistant__msg {
  max-width: 100%;
  padding: 12px 14px;
  border-radius: var(--sm-radius);
  font-size: var(--sm-text-base);
  line-height: 1.55;
}
.sm-ma-assistant__msg p { margin: 0; }
.sm-ma-assistant__msg--bot {
  background: var(--sm-linen);
  color: var(--sm-body);
}
.sm-ma-assistant__msg--user {
  align-self: flex-end;
  background: var(--sm-purple);
  color: #fff;
}
.sm-ma-assistant__chips,
.sm-ma-assistant__examples {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 10px 0 0;
}
.sm-ma-assistant__chips span,
.sm-ma-assistant__ex {
  border: 1px solid var(--sm-border);
  background: #fff;
  color: var(--sm-purple);
  border-radius: var(--sm-radius-full);
  padding: 6px 12px;
  font-size: var(--sm-text-sm);
  font-weight: 700;
  font-family: var(--sm-font-head);
}
.sm-ma-assistant__ex { cursor: pointer; }
.sm-ma-assistant__help { margin: 10px 0 0; }
.sm-ma-assistant__help .sm-btn { width: auto; min-height: 48px; }
.sm-ma-assistant__form {
  padding: var(--sm-space-3) var(--sm-space-4) var(--sm-space-4);
  border-top: 1px solid var(--sm-border);
}
.sm-ma-assistant__form .sm-label { font-size: var(--sm-text-sm); }
.sm-ma-assistant__row {
  display: flex;
  gap: 8px;
}
.sm-ma-assistant__row .sm-input {
  flex: 1 1 auto;
  min-width: 0;
  font-size: var(--sm-text-base);
  min-height: 48px;
}
.sm-ma-assistant__row .sm-btn { flex: 0 0 auto; width: auto; }

.sm-ma-assistant.is-popout.is-open {
  left: auto;
  right: 0;
  top: 0;
  bottom: 0;
}
.sm-ma-assistant:not(.is-open) {
  left: 16px;
  right: auto;
  top: auto;
  width: auto;
  height: auto;
}
.sm-ma-assistant.is-popout.is-open .sm-ma-assistant__panel {
  width: min(520px, 42vw);
  max-height: none;
  height: 100%;
  border-radius: 0;
  border-right: 0;
  box-shadow: var(--sm-shadow-lg);
}
body.sm-ma-assistant-popout {
  padding-right: min(520px, 42vw);
}
body:has(.sm-ma-sticky:not([hidden])) .sm-ma-assistant:not(.is-popout.is-open) {
  bottom: calc(76px + env(safe-area-inset-bottom, 0px));
}
body:has(.sm-ma-compare-tray:not([hidden])) .sm-ma-assistant:not(.is-popout.is-open) {
  bottom: calc(88px + env(safe-area-inset-bottom, 0px));
}
@media (min-width: 901px) {
  body:has(.sm-ma-sticky:not([hidden])) .sm-ma-assistant:not(.is-popout.is-open) {
    bottom: 16px;
  }
}
@media (max-width: 900px) {
  .sm-ma-assistant.is-popout.is-open .sm-ma-assistant__panel {
    width: 100vw;
  }
  body.sm-ma-assistant-popout { padding-right: 0; }
}
@media (max-width: 640px) {
  .sm-ma-assistant:not(.is-popout.is-open) {
    left: 12px;
    right: 12px;
    bottom: 12px;
  }
  .sm-ma-assistant:not(.is-popout.is-open) .sm-ma-assistant__panel { width: 100%; }
}

/* ============================================================
   Reusable marketing components — CTA band + article cards
   ============================================================ */

.sm-cta-band,
.sm-article-cards,
.sm-paths,
.sm-process,
.sm-logo-strip,
.sm-proof {
  box-sizing: border-box;
  width: 100vw;
  max-width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  font-family: var(--sm-font-body);
  font-size: var(--sm-text-base);
  line-height: 1.65;
  color: var(--sm-body);
  -webkit-font-smoothing: antialiased;
}
.sm-cta-band *,
.sm-article-cards *,
.sm-paths *,
.sm-process *,
.sm-logo-strip *,
.sm-proof * {
  box-sizing: border-box;
}
.sm-paths__inner,
.sm-process__inner,
.sm-logo-strip__inner,
.sm-promise__inner,
.sm-proof__inner {
  width: 100%;
  max-width: var(--sm-max-width);
  margin: 0 auto;
}

.sm-cta-band {
  padding: var(--sm-space-16) var(--sm-section-h);
}
.sm-cta-band--purple {
  color: var(--sm-white);
  background: var(--sm-purple-deep);
}
.sm-cta-band--linen {
  color: var(--sm-body);
  background: var(--sm-linen-mid);
}
.sm-cta-band__inner {
  width: 100%;
  max-width: var(--sm-max-width);
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, 0.85fr);
  align-items: center;
  gap: var(--sm-space-12);
}
.sm-cta-band__copy {
  max-width: 42rem;
}
.sm-cta-band h2.sm-cta-band__title {
  margin: 0;
  font-family: var(--sm-font-head);
  font-size: clamp(30px, 4vw, 46px);
  font-weight: 800;
  line-height: 1.12;
  letter-spacing: -0.035em;
}
.sm-cta-band--purple h2.sm-cta-band__title {
  color: var(--sm-white);
}
.sm-cta-band--linen h2.sm-cta-band__title {
  color: var(--sm-purple);
}
.sm-cta-band__lede {
  margin: var(--sm-space-4) 0 0;
  max-width: 38rem;
  color: inherit;
  font-size: var(--sm-text-md);
  line-height: 1.55;
}
.sm-cta-band--purple .sm-cta-band__lede {
  color: var(--sm-on-photo);
}
.sm-cta-band__actions,
.sm-cta-band__call {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: var(--sm-space-3);
}
.sm-cta-band__call-label,
.sm-cta-band__hours {
  display: block;
  text-align: center;
  font-size: var(--sm-text-sm);
}
.sm-cta-band__call-label {
  font-weight: 700;
}
.sm-cta-band--linen .sm-cta-band__call-label {
  color: var(--sm-purple);
}
.sm-cta-band--purple .sm-cta-band__call-label {
  color: var(--sm-white);
}
.sm-cta-band__hours {
  color: var(--sm-muted);
}
.sm-cta-band--purple .sm-cta-band__hours {
  color: var(--sm-on-photo);
}
.sm-cta-band a.sm-cta-band__button {
  display: inline-flex;
  min-height: 54px;
  align-items: center;
  justify-content: center;
  padding: 13px 24px;
  border: 2px solid transparent;
  border-radius: var(--sm-radius);
  font-family: var(--sm-font-head);
  font-size: var(--sm-text-base);
  font-weight: 800;
  line-height: 1.2;
  text-align: center;
  text-decoration: none;
  transition: color var(--sm-transition), background var(--sm-transition), border-color var(--sm-transition);
}
.sm-cta-band a.sm-cta-band__button--primary,
.sm-cta-band a.sm-cta-band__button--primary:visited {
  color: var(--sm-white);
  background: var(--sm-orange);
  border-color: var(--sm-orange);
}
.sm-cta-band a.sm-cta-band__button--primary:hover,
.sm-cta-band a.sm-cta-band__button--primary:focus-visible {
  color: var(--sm-white);
  background: var(--sm-orange-hover);
  border-color: var(--sm-orange-hover);
}
.sm-cta-band a.sm-cta-band__button--phone,
.sm-cta-band a.sm-cta-band__button--phone:visited {
  color: var(--sm-purple);
  background: transparent;
  border-color: var(--sm-purple);
}
.sm-cta-band--purple a.sm-cta-band__button--phone,
.sm-cta-band--purple a.sm-cta-band__button--phone:visited {
  color: var(--sm-white);
  border-color: var(--sm-white);
}
.sm-cta-band a.sm-cta-band__button--phone:hover,
.sm-cta-band a.sm-cta-band__button--phone:focus-visible {
  color: var(--sm-white);
  background: var(--sm-purple);
  border-color: var(--sm-purple);
}
.sm-cta-band--purple a.sm-cta-band__button--phone:hover,
.sm-cta-band--purple a.sm-cta-band__button--phone:focus-visible {
  color: var(--sm-purple-deep);
  background: var(--sm-white);
  border-color: var(--sm-white);
}
.sm-cta-band a.sm-cta-band__button:focus-visible,
.sm-article-card__link:focus-visible,
.sm-article-cards__all a:focus-visible {
  outline: 3px solid var(--sm-orange);
  outline-offset: 3px;
}

/* ── Carrier logo strip ─────────────────────────────────────── */
.sm-logo-strip {
  padding: var(--sm-space-10) var(--sm-section-h);
  background: var(--sm-white);
  border-bottom: 1px solid var(--sm-border-lt);
}
.sm-logo-strip__label {
  margin: 0 0 var(--sm-space-6);
  text-align: center;
  font-family: var(--sm-font-head);
  color: var(--sm-muted);
}
.sm-logo-strip__label--eyebrow {
  font-size: var(--sm-text-xs);
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}
/* Sentence-length label: readable type instead of a letter-spaced eyebrow. */
.sm-logo-strip__label--heading {
  max-width: 52rem;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: var(--sm-space-8);
  font-size: var(--sm-text-md);
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: -0.01em;
  text-transform: none;
  color: var(--sm-purple);
}
@media (max-width: 640px) {
  .sm-logo-strip__label--heading {
    font-size: var(--sm-text-base);
  }
}
.sm-logo-strip__row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: var(--sm-space-8) var(--sm-space-12);
}
.sm-logo-strip__item {
  display: inline-flex;
  align-items: center;
}
.sm-logo-strip .sm-logo-strip__img {
  display: block;
  width: auto;
  height: auto;
  max-width: 160px;
  max-height: 44px;
  object-fit: contain;
}
.sm-logo-strip__notice {
  max-width: 44rem;
  margin: var(--sm-space-6) auto 0;
  padding: var(--sm-space-3) var(--sm-space-4);
  background: var(--sm-orange-lt);
  border-left: 4px solid var(--sm-orange);
  border-radius: var(--sm-radius-sm);
  color: var(--sm-body);
  font-size: var(--sm-text-sm);
  line-height: 1.5;
}

/* ── Medicare paths ─────────────────────────────────────────── */
.sm-paths {
  padding: var(--sm-section-v) var(--sm-section-h);
  background: var(--sm-linen);
}
.sm-paths__header {
  max-width: 44rem;
  margin-bottom: var(--sm-space-10);
}
.sm-paths h2.sm-paths__title,
.sm-process h2.sm-process__title {
  margin: 0;
  color: var(--sm-purple);
  font-family: var(--sm-font-head);
  font-size: clamp(30px, 4vw, 46px);
  font-weight: 800;
  line-height: 1.15;
  letter-spacing: -0.035em;
}
.sm-paths__lede,
.sm-process__lede {
  margin: var(--sm-space-4) 0 0;
  color: var(--sm-muted);
  font-size: var(--sm-text-md);
  line-height: 1.55;
}
.sm-paths__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--sm-space-5);
}
.sm-path-card,
.sm-path-card:visited {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  padding: var(--sm-space-6);
  background: var(--sm-white);
  border: 1px solid var(--sm-border);
  border-left: 4px solid var(--sm-purple-lt);
  border-radius: var(--sm-radius-md);
  color: var(--sm-body);
  text-decoration: none;
  transition: border-color var(--sm-transition), transform var(--sm-transition);
}
.sm-path-card:hover,
.sm-path-card:focus-visible {
  border-left-color: var(--sm-orange);
  transform: translateY(-2px);
}
.sm-path-card:focus-visible {
  outline: 3px solid var(--sm-orange);
  outline-offset: 3px;
}
.sm-path-card__eyebrow {
  display: block;
  margin-bottom: var(--sm-space-2);
  color: var(--sm-muted);
  font-family: var(--sm-font-head);
  font-size: var(--sm-text-xs);
  font-weight: 700;
  letter-spacing: 0.07em;
  text-transform: uppercase;
}
.sm-path-card h3.sm-path-card__title {
  margin: 0;
  color: var(--sm-purple);
  font-family: var(--sm-font-head);
  font-size: var(--sm-text-xl);
  font-weight: 800;
  line-height: 1.25;
  letter-spacing: -0.025em;
}
.sm-path-card__body {
  display: block;
  margin-top: var(--sm-space-3);
  color: var(--sm-body);
  font-size: var(--sm-text-sm);
  line-height: 1.55;
}
.sm-path-card__cta {
  display: inline-flex;
  gap: 6px;
  margin-top: auto;
  padding-top: var(--sm-space-5);
  color: var(--sm-purple);
  font-family: var(--sm-font-head);
  font-size: var(--sm-text-sm);
  font-weight: 800;
  text-decoration: underline;
  text-decoration-color: transparent;
  text-underline-offset: 4px;
}
.sm-path-card:hover .sm-path-card__cta {
  color: var(--sm-orange);
  text-decoration-color: currentColor;
}

/* ── How it works ───────────────────────────────────────────── */
.sm-process {
  padding: var(--sm-section-v) var(--sm-section-h);
  background: var(--sm-white);
}
.sm-process__header {
  max-width: 44rem;
  margin-bottom: var(--sm-space-10);
}
.sm-process__list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--sm-space-8);
  margin: 0;
  padding: 0;
  list-style: none;
  counter-reset: none;
}
.sm-process__step {
  min-width: 0;
  padding-top: var(--sm-space-5);
  border-top: 2px solid var(--sm-purple-lt);
}
.sm-process__num {
  display: inline-flex;
  width: 34px;
  height: 34px;
  margin-bottom: var(--sm-space-4);
  align-items: center;
  justify-content: center;
  border-radius: var(--sm-radius-full);
  background: var(--sm-orange-lt);
  color: var(--sm-orange);
  font-family: var(--sm-font-head);
  font-size: var(--sm-text-sm);
  font-weight: 800;
}
.sm-process h3.sm-process__step-title {
  margin: 0;
  color: var(--sm-purple);
  font-family: var(--sm-font-head);
  font-size: var(--sm-text-lg);
  font-weight: 800;
  line-height: 1.25;
  letter-spacing: -0.02em;
}
.sm-process__step-body {
  margin: var(--sm-space-3) 0 0;
  color: var(--sm-body);
  font-size: var(--sm-text-sm);
  line-height: 1.6;
}
.sm-process__link {
  margin: var(--sm-space-10) 0 0;
}
.sm-process__link a,
.sm-process__link a:visited,
.sm-proof__link a,
.sm-proof__link a:visited {
  color: var(--sm-purple);
  font-family: var(--sm-font-head);
  font-size: var(--sm-text-base);
  font-weight: 800;
  text-decoration: underline;
  text-underline-offset: 4px;
}
.sm-process__link a:hover,
.sm-proof__link a:hover {
  color: var(--sm-orange);
}

/* ── Service promise (“what you get”) ───────────────────────── */
.sm-promise {
  padding: var(--sm-section-v) var(--sm-section-h);
  background: var(--sm-linen);
}
.sm-promise__header {
  max-width: 44rem;
  margin: 0 0 var(--sm-space-10);
}
.sm-promise h2.sm-promise__title {
  margin: 0;
  color: var(--sm-purple);
  font-family: var(--sm-font-head);
  font-size: clamp(30px, 4vw, 46px);
  font-weight: 800;
  line-height: 1.15;
  letter-spacing: -0.035em;
}
.sm-promise__lede {
  margin: var(--sm-space-4) 0 0;
  color: var(--sm-muted);
  font-size: var(--sm-text-md);
  line-height: 1.55;
}
.sm-promise__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--sm-space-6);
  margin: 0;
  padding: 0;
  list-style: none;
}
.sm-promise-card {
  display: flex;
  gap: var(--sm-space-4);
  min-width: 0;
  margin: 0;
  padding: var(--sm-space-6);
  background: var(--sm-white);
  border: 1px solid var(--sm-border);
  border-radius: var(--sm-radius-lg);
  list-style: none;
}
.sm-promise-card__icon {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: var(--sm-orange-lt);
  color: var(--sm-orange);
}
.sm-promise-card__body {
  min-width: 0;
}
.sm-promise h3.sm-promise-card__title {
  margin: 2px 0 var(--sm-space-2);
  color: var(--sm-purple);
  font-family: var(--sm-font-head);
  font-size: var(--sm-text-md);
  font-weight: 800;
  line-height: 1.3;
  letter-spacing: -0.02em;
}
.sm-promise-card__copy {
  margin: 0;
  color: var(--sm-body);
  font-size: var(--sm-text-sm);
  line-height: 1.6;
}
.sm-promise__facts {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: var(--sm-space-6);
  margin: var(--sm-space-10) 0 0;
  padding: var(--sm-space-6) 0 0;
  border-top: 1px solid var(--sm-border);
  list-style: none;
}
.sm-promise-fact {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  margin: 0;
  text-align: center;
}
.sm-promise-fact__value {
  color: var(--sm-purple);
  font-family: var(--sm-font-head);
  font-size: clamp(26px, 3vw, 34px);
  font-weight: 800;
  line-height: 1;
  letter-spacing: -0.03em;
}
.sm-promise-fact__label {
  color: var(--sm-muted);
  font-size: var(--sm-text-sm);
  line-height: 1.4;
}
a.sm-promise-fact__label {
  color: var(--sm-purple);
  text-decoration: underline;
  text-underline-offset: 2px;
}

/* ── Customer reviews ───────────────────────────────────────── */
.sm-proof {
  padding: var(--sm-section-v) var(--sm-section-h);
  background: var(--sm-purple-lt);
}
.sm-proof__header {
  max-width: 44rem;
  margin: 0 auto var(--sm-space-10);
  text-align: center;
}
.sm-proof h2.sm-proof__title {
  margin: 0;
  color: var(--sm-purple);
  font-family: var(--sm-font-head);
  font-size: clamp(30px, 4vw, 46px);
  font-weight: 800;
  line-height: 1.15;
  letter-spacing: -0.035em;
}
.sm-proof__lede {
  margin: var(--sm-space-4) 0 0;
  color: var(--sm-muted);
  font-size: var(--sm-text-md);
  line-height: 1.55;
}
.sm-proof__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--sm-space-6);
  align-items: start;
}
.sm-proof--count-1 .sm-proof__grid {
  grid-template-columns: minmax(0, 46rem);
  justify-content: center;
}
.sm-proof--count-2 .sm-proof__grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  max-width: 60rem;
  margin: 0 auto;
}
.sm-proof-card {
  display: flex;
  min-width: 0;
  height: 100%;
  flex-direction: column;
  margin: 0;
  padding: var(--sm-space-6);
  background: var(--sm-white);
  border: 1px solid var(--sm-border);
  border-radius: var(--sm-radius-lg);
}
.sm-proof-card__rating {
  margin-bottom: var(--sm-space-4);
}
.sm-proof-card__rating .sm-ma-star {
  width: 18px;
  height: 18px;
}
.sm-proof-card__quote {
  position: relative;
  margin: 0;
  padding: 0;
  border: 0;
  quotes: none;
}
.sm-proof-card__quote p {
  margin: 0;
  color: var(--sm-body);
  font-size: var(--sm-text-base);
  line-height: 1.6;
}
.sm-proof--count-1 .sm-proof-card__quote p {
  font-family: var(--sm-font-head);
  font-size: clamp(20px, 2.2vw, 26px);
  font-weight: 700;
  line-height: 1.45;
  letter-spacing: -0.02em;
  color: var(--sm-purple-deep);
}
.sm-proof-card__cite {
  display: flex;
  flex-direction: column;
  gap: 2px;
  margin-top: auto;
  padding-top: var(--sm-space-5);
}
.sm-proof-card__name {
  font-family: var(--sm-font-head);
  font-size: var(--sm-text-sm);
  font-weight: 800;
  color: var(--sm-purple);
}
.sm-proof-card__meta {
  font-size: var(--sm-text-xs);
  color: var(--sm-muted);
}
.sm-proof__link {
  margin: var(--sm-space-8) 0 0;
  text-align: center;
}

.sm-article-cards {
  padding: var(--sm-section-v) var(--sm-section-h);
  background: var(--sm-linen);
}
.sm-article-cards__inner {
  width: 100%;
  max-width: var(--sm-max-width);
  margin: 0 auto;
}
.sm-article-cards__header {
  max-width: 46rem;
  margin-bottom: var(--sm-space-10);
}
.sm-article-cards h2.sm-article-cards__title {
  margin: 0;
  color: var(--sm-purple);
  font-family: var(--sm-font-head);
  font-size: clamp(30px, 4vw, 46px);
  font-weight: 800;
  line-height: 1.15;
  letter-spacing: -0.035em;
}
.sm-article-cards__lede {
  margin: var(--sm-space-4) 0 0;
  color: var(--sm-muted);
  font-size: var(--sm-text-md);
  line-height: 1.55;
}
.sm-article-cards__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--sm-space-6);
}
.sm-article-card {
  min-width: 0;
  overflow: hidden;
  background: var(--sm-white);
  border: 1px solid var(--sm-border);
  border-radius: var(--sm-radius-lg);
}
.sm-article-card__link,
.sm-article-card__link:visited {
  display: flex;
  height: 100%;
  flex-direction: column;
  color: var(--sm-body);
  text-decoration: none;
}
.sm-article-card__media {
  display: block;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  background: var(--sm-purple-lt);
}
.sm-article-card__media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform var(--sm-transition-lg);
}
.sm-article-card__link:hover .sm-article-card__media img {
  transform: scale(1.025);
}
.sm-article-card__body {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  align-items: flex-start;
  padding: var(--sm-space-6);
}
.sm-article-card__category {
  display: inline-flex;
  margin-bottom: var(--sm-space-3);
  padding: 4px 10px;
  border-radius: var(--sm-radius-full);
  color: var(--sm-purple);
  background: var(--sm-purple-lt);
  font-family: var(--sm-font-head);
  font-size: var(--sm-text-xs);
  font-weight: 800;
  line-height: 1.35;
}
.sm-article-card h3.sm-article-card__title {
  margin: 0;
  color: var(--sm-purple);
  font-family: var(--sm-font-head);
  font-size: var(--sm-text-lg);
  font-weight: 800;
  line-height: 1.3;
  letter-spacing: -0.02em;
}
.sm-article-card__excerpt {
  display: block;
  margin-top: var(--sm-space-3);
  color: var(--sm-muted);
  font-size: var(--sm-text-sm);
  line-height: 1.55;
}
.sm-article-card__read {
  display: inline-flex;
  gap: 6px;
  margin-top: auto;
  padding-top: var(--sm-space-5);
  color: var(--sm-purple);
  font-family: var(--sm-font-head);
  font-size: var(--sm-text-sm);
  font-weight: 800;
  text-decoration: underline;
  text-decoration-color: transparent;
  text-underline-offset: 4px;
}
.sm-article-card__link:hover .sm-article-card__read {
  color: var(--sm-orange);
  text-decoration-color: currentColor;
}
.sm-article-cards__all {
  margin: var(--sm-space-8) 0 0;
  text-align: center;
}
.sm-article-cards__all a,
.sm-article-cards__all a:visited {
  color: var(--sm-purple);
  font-family: var(--sm-font-head);
  font-size: var(--sm-text-base);
  font-weight: 800;
  text-decoration: underline;
  text-underline-offset: 4px;
}
.sm-article-cards__all a:hover {
  color: var(--sm-orange);
}

@media (max-width: 900px) {
  .sm-cta-band__inner {
    grid-template-columns: 1fr;
    gap: var(--sm-space-8);
  }
  .sm-cta-band__actions {
    max-width: 36rem;
  }
  .sm-article-cards__grid,
  .sm-process__list,
  .sm-proof__grid,
  .sm-proof--count-2 .sm-proof__grid,
  .sm-proof--count-1 .sm-proof__grid {
    grid-template-columns: 1fr;
  }
  .sm-process__list {
    gap: var(--sm-space-6);
  }
}
@media (max-width: 640px) {
  .sm-cta-band {
    padding-top: var(--sm-space-12);
    padding-bottom: var(--sm-space-12);
  }
  .sm-cta-band h2.sm-cta-band__title,
  .sm-article-cards h2.sm-article-cards__title,
  .sm-paths h2.sm-paths__title,
  .sm-process h2.sm-process__title {
    font-size: 30px;
  }
  .sm-cta-band__lede,
  .sm-article-cards__lede,
  .sm-paths__lede,
  .sm-process__lede {
    font-size: var(--sm-text-base);
  }
  .sm-article-card__body {
    padding: var(--sm-space-5);
  }
  .sm-paths__grid {
    grid-template-columns: 1fr;
  }
  .sm-path-card {
    padding: var(--sm-space-5);
  }
  .sm-proof h2.sm-proof__title,
  .sm-promise h2.sm-promise__title {
    font-size: 30px;
  }
  .sm-promise__grid {
    grid-template-columns: 1fr;
  }
  .sm-promise__lede {
    font-size: var(--sm-text-base);
  }
  .sm-promise-card {
    padding: var(--sm-space-5);
  }
  .sm-promise__facts {
    grid-template-columns: 1fr;
    gap: var(--sm-space-5);
  }
  .sm-proof__lede {
    font-size: var(--sm-text-base);
  }
  .sm-proof-card {
    padding: var(--sm-space-5);
  }
  .sm-logo-strip .sm-logo-strip__img {
    max-width: 128px;
    max-height: 36px;
  }
  .sm-logo-strip__row {
    gap: var(--sm-space-6) var(--sm-space-8);
  }
}

/* ── Agent single template components ─────────────────────── */
.sm-agent-hero,
.sm-agent-coverage,
.sm-agent-faq,
.sm-agent-cta {
  box-sizing: border-box;
  font-family: var(--sm-font-body);
  color: var(--sm-body);
}
.sm-agent-hero *,
.sm-agent-coverage *,
.sm-agent-faq *,
.sm-agent-cta * {
  box-sizing: border-box;
}
.sm-agent-hero {
  padding: var(--sm-section-v) var(--sm-section-h);
  background:
    radial-gradient(circle at 8% 8%, rgba(237, 92, 46, 0.1), transparent 28rem),
    var(--sm-linen);
}
.sm-agent-hero__inner {
  display: grid;
  grid-template-columns: minmax(280px, 0.72fr) minmax(0, 1.28fr);
  max-width: var(--sm-max-width);
  min-height: 560px;
  margin: 0 auto;
  overflow: hidden;
  border-radius: var(--sm-radius-xl);
  background: var(--sm-purple-deep);
  box-shadow: var(--sm-shadow-lg);
}
.sm-agent-hero__portrait {
  position: relative;
  overflow: hidden;
  background: var(--sm-purple-mid);
}
/* Absolute fill: the column is sized by the copy beside it, and a percentage
   height on the image would resolve against an auto height and leave the
   column background exposed below the photo. */
.sm-agent-hero__image,
.sm-agent-hero__monogram {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}
.sm-agent-hero__image {
  display: block;
  object-fit: cover;
  object-position: center 18%;
}
.sm-agent-hero__monogram {
  display: grid;
  place-items: center;
  color: var(--sm-white);
  font-family: var(--sm-font-head);
  font-size: 9rem;
  font-weight: 800;
}
.sm-agent-hero__content {
  display: flex;
  min-width: 0;
  flex-direction: column;
  justify-content: center;
  padding: clamp(36px, 6vw, 76px);
  color: var(--sm-white);
}
.sm-agent-hero__eyebrow,
.sm-agent-section-head__eyebrow,
.sm-agent-product__meta {
  margin: 0 0 var(--sm-space-3);
  font-family: var(--sm-font-head);
  font-size: var(--sm-text-xs);
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}
.sm-agent-hero__eyebrow {
  color: #f6a287;
}
.sm-agent-hero h1.sm-agent-hero__name {
  margin: 0;
  color: var(--sm-white);
  font-family: var(--sm-font-head);
  font-size: clamp(38px, 5vw, 58px);
  font-weight: 800;
  line-height: 1.06;
  letter-spacing: -0.04em;
}
.sm-agent-hero__role {
  margin: var(--sm-space-3) 0 0;
  color: var(--sm-on-photo);
  font-family: var(--sm-font-head);
  font-size: var(--sm-text-md);
  font-weight: 700;
}
.sm-agent-hero__intro {
  max-width: 37rem;
  margin: var(--sm-space-6) 0 0;
  color: var(--sm-white);
  font-size: var(--sm-text-base);
  line-height: 1.6;
}
.sm-agent-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--sm-space-3);
  margin-top: var(--sm-space-6);
}
.sm-agent-hero .sm-btn {
  display: inline-flex;
  min-height: 48px;
  align-items: center;
  justify-content: center;
  padding: 11px 20px;
  border: 2px solid transparent;
  border-radius: var(--sm-radius-full);
  font-family: var(--sm-font-head);
  font-size: var(--sm-text-sm);
  font-weight: 800;
  line-height: 1.25;
  text-decoration: none;
  transition: transform var(--sm-transition), background var(--sm-transition);
}
.sm-agent-hero .sm-btn:hover {
  transform: translateY(-1px);
}
.sm-agent-hero .sm-btn--primary {
  color: var(--sm-white);
  background: var(--sm-orange);
  box-shadow: var(--sm-shadow-cta);
}
.sm-agent-hero .sm-btn--primary:hover {
  background: var(--sm-orange-hover);
}
.sm-agent-hero .sm-btn--ghost-light {
  color: var(--sm-white);
  border-color: rgba(255, 255, 255, 0.48);
  background: transparent;
}
.sm-agent-hero .sm-btn--ghost-light:hover {
  border-color: var(--sm-white);
  background: rgba(255, 255, 255, 0.08);
}
.sm-agent-hero__facts {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--sm-space-4) var(--sm-space-6);
  margin: var(--sm-space-8) 0 0;
  padding: var(--sm-space-6) 0 0;
  border-top: 1px solid rgba(255, 255, 255, 0.2);
}
.sm-agent-hero__facts div:last-child:nth-child(odd) {
  grid-column: 1 / -1;
}
.sm-agent-hero__facts dt {
  margin: 0 0 3px;
  color: var(--sm-on-photo);
  font-size: var(--sm-text-xs);
  font-weight: 700;
}
.sm-agent-hero__facts dd {
  min-width: 0;
  margin: 0;
  color: var(--sm-white);
  font-size: var(--sm-text-sm);
  font-weight: 700;
  overflow-wrap: anywhere;
}
/* Anchors in the purple panels need element+class specificity to outrank the
   theme's global link color. */
.sm-agent-hero .sm-agent-hero__facts a,
.sm-agent-hero .sm-agent-hero__facts a:visited,
.sm-agent-hero .sm-agent-hero__facts a:hover {
  color: var(--sm-white);
  text-decoration-color: rgba(255, 255, 255, 0.5);
  text-underline-offset: 3px;
}
.sm-agent-hero__facts dd span {
  color: var(--sm-on-photo);
  white-space: nowrap;
}
.sm-agent-hero a.sm-agent-hero__review,
.sm-agent-hero a.sm-agent-hero__review:visited {
  align-self: flex-start;
  margin-top: var(--sm-space-5);
  color: var(--sm-white);
  font-size: var(--sm-text-sm);
  font-weight: 700;
  text-underline-offset: 4px;
}
.sm-agent-hero a.sm-agent-hero__review:hover {
  color: #f6a287;
}

.sm-agent-coverage,
.sm-agent-faq {
  padding: var(--sm-section-v) var(--sm-section-h);
}
.sm-agent-coverage {
  background: var(--sm-white);
}
.sm-agent-faq {
  background: var(--sm-purple-lter);
}
.sm-agent-coverage__inner,
.sm-agent-faq__inner {
  width: 100%;
  max-width: var(--sm-max-width);
  margin: 0 auto;
}
.sm-agent-section-head {
  max-width: 48rem;
  margin-bottom: var(--sm-space-10);
}
.sm-agent-section-head__eyebrow,
.sm-agent-product__meta {
  color: var(--sm-orange);
}
.sm-agent-section-head h2 {
  margin: 0;
  color: var(--sm-purple);
  font-family: var(--sm-font-head);
  font-size: clamp(30px, 4vw, 46px);
  font-weight: 800;
  line-height: 1.15;
  letter-spacing: -0.035em;
}
.sm-agent-section-head > p:last-child {
  margin: var(--sm-space-4) 0 0;
  color: var(--sm-muted);
  font-size: var(--sm-text-md);
  line-height: 1.55;
}
.sm-agent-coverage__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--sm-space-6);
}
.sm-agent-product {
  display: flex;
  min-width: 0;
  flex-direction: column;
  padding: var(--sm-space-6);
  border: 1px solid var(--sm-border);
  border-radius: var(--sm-radius-lg);
  background: var(--sm-linen);
}
.sm-agent-product h3,
.sm-agent-coverage__additional h3 {
  margin: 0;
  color: var(--sm-purple);
  font-family: var(--sm-font-head);
  font-size: var(--sm-text-lg);
  font-weight: 800;
  line-height: 1.3;
  letter-spacing: -0.02em;
}
.sm-agent-product > p:not(.sm-agent-product__meta) {
  margin: var(--sm-space-4) 0 0;
  color: var(--sm-muted);
  font-size: var(--sm-text-sm);
  line-height: 1.55;
}
.sm-agent-product > a {
  margin-top: auto;
  padding-top: var(--sm-space-5);
  color: var(--sm-purple);
  font-family: var(--sm-font-head);
  font-size: var(--sm-text-sm);
  font-weight: 800;
  text-underline-offset: 4px;
}
.sm-agent-product > a:hover {
  color: var(--sm-orange);
}
.sm-agent-coverage__additional {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: var(--sm-space-5) var(--sm-space-8);
  align-items: center;
  margin-top: var(--sm-space-6);
  padding: var(--sm-space-5) var(--sm-space-6);
  border-radius: var(--sm-radius-lg);
  background: var(--sm-purple-lt);
}
.sm-agent-coverage__additional ul {
  display: flex;
  flex-wrap: wrap;
  gap: var(--sm-space-2) var(--sm-space-4);
  margin: 0;
  padding: 0;
  list-style: none;
}
.sm-agent-coverage__additional li {
  color: var(--sm-purple);
  font-size: var(--sm-text-sm);
  font-weight: 700;
}
.sm-agent-coverage__additional li::before {
  color: var(--sm-orange);
  content: "• ";
}
.sm-agent-coverage__additional > p {
  max-width: 15rem;
  margin: 0;
  color: var(--sm-muted);
  font-size: var(--sm-text-xs);
  line-height: 1.45;
}

.sm-agent-faq__inner {
  display: grid;
  grid-template-columns: minmax(260px, 0.72fr) minmax(0, 1.28fr);
  gap: clamp(40px, 7vw, 88px);
  align-items: start;
}
.sm-agent-faq__item {
  border-bottom: 1px solid var(--sm-border);
}
.sm-agent-faq__item:first-child {
  border-top: 1px solid var(--sm-border);
}
.sm-agent-faq__item summary {
  position: relative;
  padding: var(--sm-space-5) 42px var(--sm-space-5) 0;
  color: var(--sm-purple);
  cursor: pointer;
  font-family: var(--sm-font-head);
  font-size: var(--sm-text-base);
  font-weight: 800;
  line-height: 1.4;
  list-style: none;
}
.sm-agent-faq__item summary::-webkit-details-marker {
  display: none;
}
.sm-agent-faq__item summary span::before,
.sm-agent-faq__item summary span::after {
  position: absolute;
  top: 50%;
  right: 8px;
  width: 16px;
  height: 2px;
  content: "";
  background: var(--sm-orange);
  transition: transform var(--sm-transition);
}
.sm-agent-faq__item summary span::after {
  transform: rotate(90deg);
}
.sm-agent-faq__item[open] summary span::after {
  transform: rotate(0);
}
.sm-agent-faq__item > div {
  padding: 0 42px var(--sm-space-5) 0;
}
.sm-agent-faq__item p {
  margin: 0;
  color: var(--sm-muted);
  font-size: var(--sm-text-sm);
  line-height: 1.65;
}

.sm-agent-cta {
  padding: var(--sm-section-v) var(--sm-section-h);
  background: var(--sm-purple-deep);
  color: var(--sm-white);
}
.sm-agent-cta__inner {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(250px, 0.65fr);
  gap: clamp(32px, 7vw, 88px);
  align-items: center;
  width: 100%;
  max-width: var(--sm-max-width);
  margin: 0 auto;
}
.sm-agent-cta__eyebrow {
  margin: 0 0 var(--sm-space-3);
  color: #f6a287;
  font-family: var(--sm-font-head);
  font-size: var(--sm-text-xs);
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}
.sm-agent-cta h2 {
  margin: 0;
  color: var(--sm-white);
  font-family: var(--sm-font-head);
  font-size: clamp(30px, 4vw, 46px);
  font-weight: 800;
  line-height: 1.15;
  letter-spacing: -0.035em;
}
.sm-agent-cta__lede {
  max-width: 43rem;
  margin: var(--sm-space-4) 0 0;
  color: var(--sm-on-photo);
  font-size: var(--sm-text-md);
  line-height: 1.55;
}
.sm-agent-cta__actions {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: var(--sm-space-3);
}
.sm-agent-cta a.sm-agent-cta__primary,
.sm-agent-cta a.sm-agent-cta__secondary {
  display: inline-flex;
  min-height: 50px;
  align-items: center;
  justify-content: center;
  padding: 12px 22px;
  border: 2px solid transparent;
  border-radius: var(--sm-radius-full);
  font-family: var(--sm-font-head);
  font-size: var(--sm-text-sm);
  font-weight: 800;
  text-decoration: none;
}
.sm-agent-cta a.sm-agent-cta__primary,
.sm-agent-cta a.sm-agent-cta__primary:visited {
  color: var(--sm-white);
  background: var(--sm-orange);
  box-shadow: var(--sm-shadow-cta);
}
.sm-agent-cta a.sm-agent-cta__primary:hover {
  color: var(--sm-white);
  background: var(--sm-orange-hover);
}
.sm-agent-cta a.sm-agent-cta__secondary,
.sm-agent-cta a.sm-agent-cta__secondary:visited {
  color: var(--sm-white);
  border-color: rgba(255, 255, 255, 0.48);
}
.sm-agent-cta a.sm-agent-cta__secondary:hover {
  color: var(--sm-white);
  border-color: var(--sm-white);
  background: rgba(255, 255, 255, 0.08);
}
.sm-agent-cta__actions p {
  margin: -4px 0 2px;
  color: var(--sm-on-photo);
  font-size: var(--sm-text-xs);
  text-align: center;
}

@media (max-width: 900px) {
  .sm-agent-hero__inner {
    grid-template-columns: minmax(220px, 0.65fr) minmax(0, 1.35fr);
  }
  .sm-agent-hero__content {
    padding: var(--sm-space-10);
  }
  .sm-agent-coverage__grid {
    grid-template-columns: 1fr;
  }
  .sm-agent-coverage__additional {
    grid-template-columns: 1fr;
  }
  .sm-agent-coverage__additional > p {
    max-width: none;
  }
  .sm-agent-faq__inner {
    grid-template-columns: 1fr;
    gap: 0;
  }
  .sm-agent-cta__inner {
    grid-template-columns: 1fr;
  }
  .sm-agent-cta__actions {
    max-width: 34rem;
  }
}

@media (max-width: 640px) {
  .sm-agent-hero,
  .sm-agent-coverage,
  .sm-agent-faq,
  .sm-agent-cta {
    padding-top: var(--sm-space-12);
    padding-bottom: var(--sm-space-12);
  }
  .sm-agent-hero__inner {
    grid-template-columns: 1fr;
    min-height: 0;
  }
  .sm-agent-hero__portrait {
    aspect-ratio: 4 / 3;
  }
  .sm-agent-hero__content {
    padding: var(--sm-space-8) var(--sm-space-5);
  }
  .sm-agent-hero h1.sm-agent-hero__name {
    font-size: 36px;
  }
  .sm-agent-hero__facts {
    grid-template-columns: 1fr;
  }
  .sm-agent-hero__facts div:last-child:nth-child(odd) {
    grid-column: auto;
  }
  .sm-agent-hero__actions .sm-btn {
    width: 100%;
  }
  .sm-agent-section-head h2 {
    font-size: 30px;
  }
  .sm-agent-cta h2 {
    font-size: 30px;
  }
  .sm-agent-section-head > p:last-child {
    font-size: var(--sm-text-base);
  }
  .sm-agent-product {
    padding: var(--sm-space-5);
  }
  .sm-agent-cta__lede {
    font-size: var(--sm-text-base);
  }
}
