
:root{
  --ssw-bg:#f6f7f9;
  --ssw-surface:#ffffff;
  --ssw-surface-2:#f8fafc;
  --ssw-text:#0f172a;
  --ssw-muted:#64748b;
  --ssw-line:#e2e8f0;
  --ssw-line-strong:#cbd5e1;
  --ssw-accent:#111827;
  --ssw-accent-2:#1f2937;
  --ssw-shadow:0 12px 40px rgba(15,23,42,.06);
  --ssw-shadow-soft:0 8px 24px rgba(15,23,42,.04);
  --ssw-radius:22px;
  --ssw-radius-sm:16px;
}

.ssw-wrap{
  font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji","Segoe UI Emoji";
  color:var(--ssw-text);
}

.ssw-wrap button,
.ssw-wrap input,
.ssw-wrap textarea{
  font: inherit;
}

.ssw-hero{
  background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%) !important;
  border:1px solid var(--ssw-line);
  border-bottom:0;
  padding:48px 24px 34px;
  border-radius:28px 28px 0 0;
}

.ssw-hero__inner{
  max-width:1100px;
  margin:0 auto;
  text-align:center;
}

.ssw-title{
  margin:0;
  color:var(--ssw-text) !important;
  font-size:clamp(32px, 3.4vw, 48px);
  font-weight:800;
  letter-spacing:-.04em;
  line-height:1.02;
}

.ssw-subtitle{
  margin:12px 0 0;
  color:var(--ssw-muted) !important;
  font-size:17px;
  line-height:1.6;
}

.ssw-card{
  background:var(--ssw-bg);
  border:1px solid var(--ssw-line);
  border-top:0;
  border-radius:0 0 28px 28px;
  padding:26px 18px 22px;
  box-shadow:var(--ssw-shadow);
}

.ssw-body{
  max-width:1100px;
  margin:0 auto;
}

.ssw-progress{
  display:flex;
  gap:12px;
  align-items:center;
  justify-content:center;
  flex-wrap:wrap;
  padding:2px 0 24px;
}

.ssw-progress__step{
  display:flex;
  align-items:center;
  gap:10px;
  padding:8px 10px;
  border-radius:999px;
  color:var(--ssw-muted);
  transition:all .18s ease;
}

.ssw-progress__step.is-active{
  color:var(--ssw-text);
  font-weight:700;
}

.ssw-progress__step.is-done{
  color:var(--ssw-text);
}

.ssw-dot{
  width:34px;
  height:34px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:#eef2f7;
  color:var(--ssw-muted);
  font-weight:800;
  border:1px solid transparent;
}

.ssw-progress__step.is-active .ssw-dot{
  background:#ffffff;
  color:var(--ssw-text);
  border-color:var(--ssw-line);
  box-shadow:var(--ssw-shadow-soft);
}

.ssw-progress__step.is-done .ssw-dot{
  background:var(--ssw-accent);
  color:#ffffff;
}

.ssw-label{
  font-size:14px;
  font-weight:600;
}

.ssw-step{
  padding:12px 0 0;
}

.ssw-h{
  margin:4px 0 18px;
  text-align:center;
  font-size:clamp(28px, 3vw, 40px);
  line-height:1.08;
  font-weight:800;
  letter-spacing:-.04em;
  color:var(--ssw-text);
}

.ssw-h4{
  margin:0 0 12px;
  font-size:18px;
  font-weight:800;
  color:var(--ssw-text);
}

.ssw-mt{ margin-top:20px; }

.ssw-grid{ display:grid; gap:18px; }
.ssw-grid--4{ grid-template-columns:repeat(4,minmax(0,1fr)); }

@media (max-width:980px){
  .ssw-grid--4{ grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:560px){
  .ssw-grid--4{ grid-template-columns:1fr; }
}

/* Cards */
.ssw-wrap .ssw-card-btn,
.ssw-wrap .ssw-btn-card,
.ssw-wrap .ssw-acc__head,
.ssw-wrap .ssw-primary,
.ssw-wrap .ssw-secondary,
.ssw-wrap .ssw-small{
  -webkit-appearance:none !important;
  appearance:none !important;
  background-image:none !important;
  text-shadow:none !important;
}

.ssw-card-btn{
  background:var(--ssw-surface) !important;
  border:1px solid var(--ssw-line) !important;
  border-radius:var(--ssw-radius) !important;
  padding:24px 18px !important;
  box-shadow:none !important;
  cursor:pointer;
  min-height:112px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:12px;
  transition:border-color .18s ease, background-color .18s ease, transform .18s ease, box-shadow .18s ease;
}

.ssw-card-btn:hover,
.ssw-card-btn:focus,
.ssw-card-btn:active{
  background:var(--ssw-surface-2) !important;
  border-color:var(--ssw-line-strong) !important;
  box-shadow:var(--ssw-shadow-soft) !important;
  transform:translateY(-1px);
  outline:none !important;
}

.ssw-card-btn.is-active,
.ssw-card-btn.is-active:hover,
.ssw-card-btn.is-active:focus,
.ssw-card-btn.is-active:active{
  background:var(--ssw-accent) !important;
  border-color:var(--ssw-accent) !important;
  box-shadow:0 16px 38px rgba(15,23,42,.14) !important;
  transform:none;
}

.ssw-card-btn__big{
  font-size:42px;
  font-weight:800;
  color:var(--ssw-text) !important;
  letter-spacing:-.05em;
  line-height:1;
}

.ssw-card-btn.is-active .ssw-card-btn__big{
  color:#ffffff !important;
}

.ssw-card-btn--icon .ssw-icon{
  width:58px;
  height:58px;
  color:var(--ssw-text);
  display:flex;
  align-items:center;
  justify-content:center;
}

.ssw-card-btn--icon .ssw-icon svg{
  width:100%;
  height:100%;
}

.ssw-card-btn.is-active .ssw-icon{
  color:#ffffff !important;
}

.ssw-card-btn__title{
  font-size:24px;
  font-weight:800;
  letter-spacing:-.03em;
  color:var(--ssw-text) !important;
  line-height:1.1;
  text-align:center;
}

.ssw-card-btn.is-active .ssw-card-btn__title{
  color:#ffffff !important;
}

/* Accordion */
.ssw-accordion{
  display:flex;
  flex-direction:column;
  gap:16px;
}

.ssw-acc{
  background:var(--ssw-surface);
  border-radius:var(--ssw-radius);
  box-shadow:none;
  border:1px solid var(--ssw-line);
  overflow:hidden;
}

.ssw-acc__head{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:22px 24px;
  background:#ffffff !important;
  border:0 !important;
  cursor:pointer;
  text-align:left;
  transition:background-color .18s ease;
}

.ssw-acc__head:hover,
.ssw-acc__head:focus,
.ssw-acc__head:active{
  background:var(--ssw-surface-2) !important;
  outline:none !important;
}

.ssw-acc__title{
  font-size:24px;
  line-height:1.1;
  font-weight:800;
  letter-spacing:-.03em;
  color:var(--ssw-text);
}

.ssw-acc__sub{
  font-size:14px;
  color:var(--ssw-muted);
  margin-top:6px;
  line-height:1.5;
}

.ssw-acc__chev{
  font-size:20px;
  color:var(--ssw-muted);
  flex:0 0 auto;
}

.ssw-acc__body{
  padding:18px 24px 22px;
  background:#ffffff;
  border-top:1px solid var(--ssw-line);
}

.ssw-features{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px 14px;
}

@media (max-width:720px){
  .ssw-features{ grid-template-columns:1fr; }
}

.ssw-feature{
  display:flex;
  align-items:flex-start;
  gap:12px;
  padding:16px 16px;
  border-radius:16px;
  border:1px solid var(--ssw-line);
  background:#fbfcfe;
  cursor:pointer;
  transition:border-color .18s ease, background-color .18s ease;
}

.ssw-feature:hover{
  border-color:var(--ssw-line-strong);
  background:#f8fafc;
}

.ssw-feature input{
  margin-top:2px;
  accent-color:var(--ssw-accent);
  width:18px;
  height:18px;
}

.ssw-feature span{
  font-size:16px;
  line-height:1.45;
  color:var(--ssw-text);
}

.ssw-acc__footer{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-top:16px;
  flex-wrap:wrap;
}

.ssw-small{
  background:#111827 !important;
  color:#ffffff !important;
  border:1px solid #111827 !important;
  padding:10px 14px;
  border-radius:999px;
  cursor:pointer;
  font-weight:700;
  box-shadow:none !important;
}

.ssw-small:hover,
.ssw-small:focus,
.ssw-small:active{
  background:#0b1220 !important;
  border-color:#0b1220 !important;
  color:#ffffff !important;
  outline:none !important;
}

.ssw-pills{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}

.ssw-pill{
  font-size:12px;
  padding:7px 11px;
  border-radius:999px;
  background:#f1f5f9;
  color:#334155;
  border:1px solid #e2e8f0;
}

.ssw-help{
  margin-top:16px;
  padding:16px 18px;
  border-radius:18px;
  background:#ffffff;
  border:1px solid var(--ssw-line);
}

.ssw-help__title{
  font-weight:800;
  color:var(--ssw-text);
  margin-bottom:4px;
}

.ssw-help__text{
  color:#475569;
  font-size:14px;
  line-height:1.6;
}

/* Navigation buttons */
.ssw-actions{
  display:flex;
  justify-content:center;
  gap:12px;
  padding:22px 0 8px;
}

.ssw-primary,
.ssw-secondary{
  border:1px solid transparent !important;
  cursor:pointer;
  padding:13px 22px !important;
  border-radius:14px !important;
  font-weight:800;
  letter-spacing:.01em;
  min-width:120px;
  box-shadow:none !important;
  transition:background-color .18s ease, border-color .18s ease, color .18s ease;
}

.ssw-primary{
  background:#111827 !important;
  color:#ffffff !important;
  border-color:#111827 !important;
}

.ssw-primary:hover,
.ssw-primary:focus,
.ssw-primary:active{
  background:#0b1220 !important;
  border-color:#0b1220 !important;
  color:#ffffff !important;
  outline:none !important;
}

.ssw-primary:disabled{
  opacity:.45;
  cursor:not-allowed;
}

.ssw-secondary{
  background:#ffffff !important;
  color:#111827 !important;
  border-color:var(--ssw-line) !important;
}

.ssw-secondary:hover,
.ssw-secondary:focus,
.ssw-secondary:active{
  background:#f8fafc !important;
  border-color:var(--ssw-line-strong) !important;
  color:#111827 !important;
  outline:none !important;
}

.ssw-secondary:disabled{
  opacity:.45;
  cursor:not-allowed;
}

/* Step 4 yes/no cards */
.ssw-two-col{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
}

@media (max-width:720px){
  .ssw-two-col{ grid-template-columns:1fr; }
}

.ssw-btn-card{
  width:100%;
  text-align:left;
  background:#ffffff !important;
  border:1px solid var(--ssw-line) !important;
  border-radius:var(--ssw-radius) !important;
  padding:24px 22px !important;
  cursor:pointer;
  box-shadow:none !important;
  transition:border-color .18s ease, background-color .18s ease, box-shadow .18s ease;
}

.ssw-btn-card:hover,
.ssw-btn-card:focus,
.ssw-btn-card:active{
  background:var(--ssw-surface-2) !important;
  border-color:var(--ssw-line-strong) !important;
  box-shadow:var(--ssw-shadow-soft) !important;
  outline:none !important;
}

.ssw-btn-card.is-active,
.ssw-btn-card.is-active:hover,
.ssw-btn-card.is-active:focus,
.ssw-btn-card.is-active:active{
  background:#111827 !important;
  border-color:#111827 !important;
  box-shadow:0 16px 38px rgba(15,23,42,.14) !important;
}

.ssw-btn-card__title{
  font-weight:800;
  font-size:24px;
  color:var(--ssw-text);
  letter-spacing:-.03em;
}

.ssw-btn-card__desc{
  display:block;
  margin-top:8px;
  color:var(--ssw-muted);
  font-size:15px;
  line-height:1.5;
}

.ssw-btn-card.is-active .ssw-btn-card__title,
.ssw-btn-card.is-active .ssw-btn-card__desc{
  color:#ffffff !important;
}

.ssw-divider{
  height:1px;
  background:var(--ssw-line);
  width:100%;
}

/* Summary */
.ssw-summary__box{
  background:#ffffff;
  border:1px solid var(--ssw-line);
  border-radius:var(--ssw-radius);
  box-shadow:none;
  padding:18px 18px;
}

.ssw-summary__row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}

@media (max-width:720px){
  .ssw-summary__row{ grid-template-columns:1fr; }
}

.ssw-list{
  margin:8px 0 0;
  padding-left:18px;
  color:var(--ssw-text);
}

.ssw-recs{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
}

@media (max-width:980px){
  .ssw-recs{ grid-template-columns:1fr; }
}

.ssw-rec{
  background:#ffffff;
  border:1px solid var(--ssw-line);
  border-radius:var(--ssw-radius);
  padding:18px 18px;
  box-shadow:none;
}

.ssw-rec__title{
  font-weight:800;
  font-size:18px;
  color:var(--ssw-text);
}

.ssw-rec__sub{
  color:var(--ssw-muted);
  font-size:14px;
  margin-top:5px;
  line-height:1.55;
}

.ssw-rec__meta{
  margin-top:12px;
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}

.ssw-tag{
  font-size:12px;
  padding:7px 11px;
  border-radius:999px;
  background:#f1f5f9;
  color:#334155;
  border:1px solid #e2e8f0;
}

/* Lead form */
.ssw-lead{
  margin-top:18px;
  background:#ffffff;
  border:1px solid var(--ssw-line);
  border-radius:var(--ssw-radius);
  padding:18px 18px;
  box-shadow:none;
}

.ssw-form{
  display:flex;
  flex-direction:column;
  gap:12px;
}

.ssw-form__row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}

@media (max-width:720px){
  .ssw-form__row{ grid-template-columns:1fr; }
}

.ssw-form label{
  font-weight:700;
  font-size:13px;
  color:var(--ssw-text);
  display:flex;
  flex-direction:column;
  gap:6px;
}

.ssw-form input,
.ssw-form textarea{
  width:100%;
  padding:13px 14px;
  border-radius:14px;
  border:1px solid var(--ssw-line);
  background:#fbfcfe;
  font-size:14px;
  color:var(--ssw-text);
  outline:none;
}

.ssw-form input:focus,
.ssw-form textarea:focus{
  border-color:var(--ssw-line-strong);
  background:#ffffff;
  box-shadow:0 0 0 4px rgba(15,23,42,.04);
}

.ssw-form textarea{ resize:vertical; }

.ssw-consent{
  display:flex !important;
  align-items:center;
  gap:10px;
  font-weight:700;
  color:var(--ssw-text);
}

.ssw-consent input{
  width:18px;
  height:18px;
  accent-color:var(--ssw-accent);
}

.ssw-form__msg{
  color:var(--ssw-muted);
  font-size:13px;
}

.ssw-muted{
  color:var(--ssw-muted);
}

/* Mobile */
@media (max-width:640px){
  .ssw-hero{
    padding:34px 18px 24px;
    border-radius:22px 22px 0 0;
  }

  .ssw-card{
    border-radius:0 0 22px 22px;
    padding:18px 12px 16px;
  }

  .ssw-card-btn{
    min-height:96px;
    padding:20px 16px !important;
  }

  .ssw-card-btn__title,
  .ssw-btn-card__title,
  .ssw-acc__title{
    font-size:20px;
  }

  .ssw-card-btn__big{
    font-size:36px;
  }

  .ssw-actions{
    flex-direction:column;
  }

  .ssw-primary,
  .ssw-secondary{
    width:100%;
  }
}
