#cm-photo-planner-intro,
#cm-photo-planner-intro *,
#cm-ai-treatment-planner,
#cm-ai-treatment-planner * {
  box-sizing: border-box;
}

#cm-photo-planner-intro,
#cm-ai-treatment-planner {
  font-family: "Outfit", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

#cm-photo-planner-intro h2,
#cm-ai-treatment-planner h2,
#cm-ai-treatment-planner h3,
#cm-ai-treatment-planner button,
#cm-ai-treatment-planner input,
#cm-ai-treatment-planner select,
#cm-ai-treatment-planner textarea,
#cm-ai-treatment-planner label,
#cm-ai-treatment-planner a {
  font-family: "Outfit", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

#cm-photo-planner-intro h3,
#cm-ai-treatment-planner .cmatp-head h2 em {
  font-family: "Cormorant Garamond", Georgia, serif;
}

#cm-photo-planner-intro {
  --r: #581012;
  --rlt: rgba(88,16,18,.06);
  --bdr: rgba(15,23,42,.08);
  --txt: #0f172a;
  --mut: #475569;
  width: 100%;
  padding: 64px 0 24px;
  background: #fff;
  color: var(--txt);
}

#cm-photo-planner-intro .w {
  max-width: 980px;
  margin: 0 auto;
  padding: 0 28px;
  text-align: center;
}

#cm-photo-planner-intro .ey {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 0 0 14px;
  color: var(--r);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .20em;
  line-height: 1.2;
  text-transform: uppercase;
}

#cm-photo-planner-intro .ey:before {
  content: "";
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--r);
  box-shadow: 0 0 0 4px rgba(88,16,18,.14);
  flex-shrink: 0;
}

#cm-photo-planner-intro h2 {
  margin: 0 0 10px;
  color: var(--txt);
  font-family: "Outfit", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: clamp(30px,3.6vw,50px);
  font-weight: 800;
  line-height: 1.06;
  letter-spacing: -.035em;
}

#cm-photo-planner-intro .cmppi-h2-line {
  display: block;
}

#cm-photo-planner-intro h3 {
  margin: 0 0 14px;
  color: var(--r);
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: clamp(24px,2.65vw,36px);
  font-style: italic;
  font-weight: 500;
  line-height: 1.08;
  letter-spacing: -.02em;
}

#cm-photo-planner-intro .lead {
  max-width: 78ch;
  margin: 0 auto;
  color: var(--mut);
  font-size: 15.5px;
  font-weight: 400;
  line-height: 1.72;
}

#cm-photo-planner-intro .steps {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px;
  margin: 20px auto 0;
  padding: 0;
  list-style: none;
}

#cm-photo-planner-intro .steps li {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-height: 36px;
  padding: 8px 14px;
  border: 1px solid var(--bdr);
  border-radius: 999px;
  background: #fff;
  color: var(--mut);
  box-shadow: 0 2px 12px rgba(12,20,33,.04);
  font-size: 12.5px;
  font-weight: 600;
  line-height: 1.25;
}

#cm-photo-planner-intro .steps b {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 18px;
  height: 18px;
  border-radius: 999px;
  background: var(--rlt);
  color: var(--r);
  font-size: 10px;
  font-weight: 900;
  flex: 0 0 auto;
}

.cm-planner-section-divider {
  width: min(70%, 860px);
  height: 22px;
  margin: 10px auto 22px;
  position: relative;
}

.cm-planner-section-divider:before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 50%;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(88,16,18,.28), transparent);
}

.cm-planner-section-divider span {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 9px;
  height: 9px;
  transform: translate(-50%, -50%);
  border-radius: 50%;
  background: #581012;
  box-shadow: 0 0 0 8px rgba(88,16,18,.07);
}

#cm-ai-treatment-planner {
  --r: #581012;
  --rdk: #4b0d0f;
  --rlt: rgba(88,16,18,.06);
  --rmd: rgba(88,16,18,.14);
  --txt: #0f172a;
  --mut: #475569;
  --fnt: #94a3b8;
  --bdr: rgba(15,23,42,.08);
  display: block;
  width: 100%;
  padding: 56px 0 88px;
  background: #fff;
  color: var(--txt);
  isolation: isolate;
}

#cm-ai-treatment-planner a.cmatp-btn,
#cm-ai-treatment-planner a.cmatp-btn:visited,
#cm-ai-treatment-planner a.cmatp-btn:hover,
#cm-ai-treatment-planner a.cmatp-btn:focus,
#cm-ai-treatment-planner a.cmatp-btn:active,
#cm-ai-treatment-planner a.cmatp-mini-btn,
#cm-ai-treatment-planner a.cmatp-mini-btn:visited,
#cm-ai-treatment-planner a.cmatp-mini-btn:hover,
#cm-ai-treatment-planner a.cmatp-mini-btn:focus,
#cm-ai-treatment-planner a.cmatp-mini-btn:active,
#cm-ai-treatment-planner .cmatp-card-actions a,
#cm-ai-treatment-planner .cmatp-booking-actions a,
#cm-ai-treatment-planner .cmatp-footer-actions a,
#cm-ai-treatment-planner .cmatp-result-actions a {
  text-decoration: none !important;
  text-decoration-line: none !important;
  text-underline-offset: 0 !important;
}

#cm-ai-treatment-planner a.cmatp-btn *,
#cm-ai-treatment-planner a.cmatp-mini-btn * {
  text-decoration: none !important;
  text-decoration-line: none !important;
}

#cm-ai-treatment-planner .cmatp-w {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 28px;
}

.cmatp-shell {
  border: 1px solid var(--bdr);
  border-radius: 28px;
  overflow: hidden;
  background: #fff;
  box-shadow: 0 4px 6px rgba(12,20,33,.04), 0 20px 60px rgba(12,20,33,.07);
}

.cmatp-head {
  text-align: center;
  max-width: 850px;
  margin: 0 auto;
  padding: 40px 32px 30px;
}

.cmatp-ey {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .20em;
  text-transform: uppercase;
  color: var(--r);
  margin: 0 0 16px;
  line-height: 1.2;
}

.cmatp-ey-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--r);
  box-shadow: 0 0 0 4px rgba(88,16,18,.14);
  flex: 0 0 auto;
}

.cmatp-ey-mobile {
  display: none;
}

.cmatp-ey-desktop {
  display: inline;
}

.cmatp-head h2 {
  font-family: "Outfit", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: clamp(30px,3.7vw,52px);
  font-weight: 800;
  color: var(--txt);
  margin: 0 0 14px;
  line-height: 1.05;
  letter-spacing: -.035em;
}

.cmatp-head h2 em {
  font-family: "Cormorant Garamond", Georgia, serif;
  font-style: italic;
  font-weight: 600;
  font-size: 1.08em;
  color: var(--r);
  letter-spacing: -.02em;
  display: block;
  line-height: 1.05;
}

.cmatp-head p {
  font-size: 15.5px;
  color: var(--mut);
  line-height: 1.74;
  margin: 0;
  font-weight: 400;
}

.cmatp-tool {
  display: grid;
  grid-template-columns: 1.05fr .95fr;
  gap: 24px;
  padding: 0 32px 40px;
}

.cmatp-upload-panel,
.cmatp-form-panel {
  border: 1px solid var(--bdr);
  border-radius: 22px;
  background: #fff;
  box-shadow: 0 2px 12px rgba(12,20,33,.05);
}

.cmatp-upload-panel {
  padding: 22px;
}

.cmatp-form-panel {
  padding: 24px;
}

.cmatp-mode {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin: 0 0 12px;
}

.cmatp-mode-btn {
  width: 100%;
  border: 1px solid var(--bdr);
  border-radius: 999px;
  background: #fff;
  color: var(--txt);
  padding: 11px 14px;
  font-size: 12.5px;
  line-height: 1.2;
  font-weight: 800;
  cursor: pointer;
  transition: background .15s ease, color .15s ease, border-color .15s ease, transform .15s ease;
}

.cmatp-mode-btn:hover {
  border-color: rgba(88,16,18,.28);
  color: var(--r);
}

.cmatp-mode-btn.is-active {
  background: var(--r);
  border-color: var(--r);
  color: #fff;
  box-shadow: 0 8px 18px rgba(88,16,18,.18);
}

.cmatp-mode-note,
.cmatp-safe {
  margin: 12px 0 0;
  padding: 10px 14px;
  border: 1px solid rgba(88,16,18,.12);
  border-radius: 16px;
  background: rgba(88,16,18,.045);
  color: #6b2730;
  font-size: 11.8px;
  font-weight: 600;
  line-height: 1.5;
  text-align: center;
}

.cmatp-upload-box {
  position: relative;
  overflow: hidden;
  min-height: 420px;
  border: 1px solid var(--bdr);
  border-radius: 20px;
  background: #fafafa;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  transition: border-color .15s ease, background .15s ease, box-shadow .15s ease;
}

.cmatp-upload-box.is-dragging {
  border-color: rgba(88,16,18,.45);
  background: rgba(88,16,18,.035);
  box-shadow: inset 0 0 0 2px rgba(88,16,18,.08);
}

.cmatp-upload-start,
.cmatp-description-panel {
  width: 100%;
  max-width: 430px;
  padding: 26px 18px;
}

.cmatp-icon {
  width: 66px;
  height: 66px;
  margin: 0 auto 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--rmd);
  border-radius: 20px;
  background: var(--rlt);
  color: var(--r);
  box-shadow: 0 8px 22px rgba(12,20,33,.08);
}

.cmatp-upload-start h3,
.cmatp-form-panel h3,
.cmatp-description-panel h3 {
  margin: 0 0 8px;
  color: var(--txt);
  font-size: 20px;
  font-weight: 800;
  line-height: 1.12;
  letter-spacing: -.03em;
}

.cmatp-upload-start p,
.cmatp-panel-copy,
.cmatp-description-panel p,
.cmatp-description-panel small {
  margin: 0 0 16px;
  color: var(--mut);
  font-size: 14.5px;
  line-height: 1.7;
  font-weight: 400;
}

.cmatp-description-panel small {
  display: block;
  margin: 10px 0 0;
  font-size: 12.2px;
  color: #64748b;
}

.cmatp-file,
.cmatp-hp {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0,0,0,0);
  white-space: nowrap;
}

.cmatp-btn,
.cmatp-btn:visited,
label.cmatp-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  border-radius: 999px;
  padding: 10px 20px;
  text-decoration: none !important;
  text-decoration-line: none !important;
  white-space: nowrap;
  transition: transform .15s ease, background .15s ease, box-shadow .15s ease, border-color .15s ease;
  font-size: 12.5px;
  font-weight: 800;
  cursor: pointer;
}

.cmatp-btn:hover {
  transform: translateY(-1px);
  text-decoration: none !important;
  text-decoration-line: none !important;
}

.cmatp-btn-primary {
  background: var(--r);
  color: #fff;
  border: 1.5px solid var(--r);
  box-shadow: 0 4px 14px rgba(88,16,18,.22);
}

.cmatp-btn-primary:hover {
  background: var(--rdk);
  color: #fff;
}

.cmatp-btn-ghost {
  background: #fff;
  color: var(--txt);
  border: 1px solid var(--bdr);
}

.cmatp-btn-ghost:hover {
  border-color: var(--rmd);
  color: var(--r);
}

.cmatp-preview {
  position: absolute;
  inset: 0;
  padding: 18px;
  background: #fafafa;
  display: flex;
  align-items: center;
  justify-content: center;
}

.cmatp-preview[hidden] {
  display: none;
}

.cmatp-preview img {
  display: block;
  max-width: 100%;
  max-height: calc(100% - 74px);
  border-radius: 18px;
  box-shadow: 0 10px 34px rgba(12,20,33,.12);
  object-fit: contain;
}

.cmatp-preview-actions {
  position: absolute;
  left: 18px;
  right: 18px;
  bottom: 18px;
  display: flex;
  justify-content: center;
  gap: 10px;
  flex-wrap: wrap;
}

.cmatp-fields {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
  margin: 0 0 14px;
}

.cmatp-fields label span,
.cmatp-lead-grid label span {
  display: block;
  margin: 0 0 7px;
  color: var(--txt);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.cmatp-fields select,
.cmatp-lead-grid input,
.cmatp-lead-grid select,
#cmatp-goals,
#cmatp-description-only {
  width: 100%;
  border: 1px solid var(--bdr);
  background: #fff;
  color: var(--txt);
  font-size: 13px;
  font-weight: 600;
  outline: none;
  transition: border-color .15s ease, box-shadow .15s ease;
}

.cmatp-fields select,
.cmatp-lead-grid input,
.cmatp-lead-grid select {
  min-height: 44px;
  border-radius: 999px;
  padding: 10px 14px;
}

#cmatp-goals,
#cmatp-description-only {
  min-height: 118px;
  border-radius: 18px;
  padding: 13px 14px;
  resize: vertical;
  line-height: 1.55;
}

#cmatp-description-only {
  min-height: 132px;
}

.cmatp-fields select:focus,
.cmatp-lead-grid input:focus,
.cmatp-lead-grid select:focus,
#cmatp-goals:focus,
#cmatp-description-only:focus {
  border-color: rgba(88,16,18,.36);
  box-shadow: 0 0 0 4px rgba(88,16,18,.06);
}

.cmatp-goals-field {
  margin: 0 0 14px;
}

.cmatp-consent {
  display: grid;
  grid-template-columns: 18px 1fr;
  gap: 10px;
  align-items: start;
  margin: 14px 0 18px;
  color: var(--mut);
  font-size: 13px;
  line-height: 1.55;
}

.cmatp-consent input {
  margin-top: 3px;
}

.cmatp-analyze,
.cmatp-submit-results {
  width: 100%;
  min-height: 46px;
}

.cmatp-error,
.cmatp-status {
  margin: 12px 0 0;
  padding: 10px 12px;
  border-radius: 14px;
  font-size: 13px;
  font-weight: 650;
  line-height: 1.45;
}

.cmatp-error,
.cmatp-status.is-error {
  background: #fff1f2;
  border: 1px solid #fecdd3;
  color: #9f1239;
}

.cmatp-status:not(.is-error) {
  background: #ecfdf5;
  border: 1px solid #a7f3d0;
  color: #065f46;
}

.cmatp-pathways {
  margin: 16px 0 0;
  padding: 14px;
  border: 1px solid rgba(15,23,42,.07);
  border-radius: 18px;
  background: #fafafa;
}

.cmatp-pathways-head {
  margin: 0 0 10px;
  color: var(--txt);
  font-size: 13px;
  font-weight: 800;
}

.cmatp-pathway-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 9px;
}

.cmatp-pathway {
  min-height: 40px;
  padding: 9px 12px;
  border: 1px solid var(--bdr);
  border-radius: 14px;
  background: #fff;
  color: var(--txt);
  font-size: 12.2px;
  font-weight: 750;
  line-height: 1.25;
  cursor: pointer;
  text-align: left;
}

.cmatp-pathway:hover,
.cmatp-pathway.is-selected {
  border-color: rgba(88,16,18,.28);
  background: rgba(88,16,18,.045);
  color: var(--r);
}

.cmatp-results {
  padding: 0 32px 34px;
}

.cmatp-results[hidden] {
  display: none;
}

.cmatp-results-head {
  text-align: center;
  max-width: 760px;
  margin: 0 auto 22px;
}

.cmatp-results-head h3 {
  font-size: clamp(20px,2.2vw,28px);
  font-weight: 800;
  margin: 0 0 8px;
  color: var(--txt);
  letter-spacing: -.03em;
}

.cmatp-results-head p {
  margin: 0;
  color: var(--mut);
  font-size: 14.5px;
  line-height: 1.7;
}

.cmatp-client-response,
.cmatp-appointment,
.cmatp-booking,
.cmatp-lead {
  border: 1px solid var(--bdr);
  border-radius: 22px;
  background: #fff;
  box-shadow: 0 2px 12px rgba(12,20,33,.05);
  padding: 18px;
  margin: 0 0 16px;
}

.cmatp-client-response h4,
.cmatp-appointment h4,
.cmatp-booking h4,
.cmatp-lead h4,
.cmatp-columns h4 {
  margin: 0 0 12px;
  color: var(--txt);
  font-size: 15px;
  font-weight: 800;
  letter-spacing: -.02em;
}

.cmatp-client-response p,
.cmatp-appointment p,
.cmatp-booking p,
.cmatp-lead-head p {
  margin: 0;
  color: var(--mut);
  font-size: 13.6px;
  line-height: 1.65;
}

.cmatp-columns {
  display: grid;
  grid-template-columns: .9fr 1.1fr;
  gap: 16px;
  margin-bottom: 16px;
}

.cmatp-columns > div {
  border-radius: 22px;
  padding: 18px;
}

.cmatp-columns > div:first-child {
  border: 1px solid rgba(15,23,42,.08);
  background: linear-gradient(180deg,#fff,#fafafa);
  box-shadow: 0 2px 12px rgba(12,20,33,.04);
}

.cmatp-columns > div:last-child {
  border: 1px solid rgba(88,16,18,.16);
  background: linear-gradient(180deg,#fff,rgba(88,16,18,.035));
  box-shadow: 0 8px 22px rgba(88,16,18,.07);
}

.cmatp-columns > div:first-child h4 {
  color: #334155;
}

.cmatp-columns > div:last-child h4 {
  color: var(--r);
}

.cmatp-list {
  display: grid;
  gap: 10px;
}

.cmatp-item {
  border: 1px solid rgba(15,23,42,.08);
  border-radius: 16px;
  background: #fff;
  padding: 13px;
}

.cmatp-photo-note,
#cmatp-observations .cmatp-item {
  background: #fff;
  border-color: rgba(15,23,42,.08);
}

.cmatp-rec-card {
  position: relative;
  border-color: rgba(88,16,18,.20);
  background: linear-gradient(180deg,#fff,rgba(88,16,18,.045));
  box-shadow: 0 8px 20px rgba(88,16,18,.07);
}

.cmatp-rec-card:before {
  content: "";
  position: absolute;
  left: 0;
  top: 14px;
  bottom: 14px;
  width: 4px;
  border-radius: 0 999px 999px 0;
  background: var(--r);
}

.cmatp-item strong {
  display: block;
  color: var(--txt);
  font-size: 14px;
  font-weight: 800;
  margin: 0 0 4px;
}

.cmatp-item p {
  margin: 0;
  color: var(--mut);
  font-size: 12.8px;
  line-height: 1.58;
}

.cmatp-meta {
  display: flex;
  gap: 7px;
  flex-wrap: wrap;
  margin: 8px 0 0;
}

.cmatp-chip {
  display: inline-flex;
  border: 1px solid var(--rmd);
  border-radius: 999px;
  background: var(--rlt);
  color: var(--r);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .06em;
  text-transform: uppercase;
  padding: 5px 8px;
}

.cmatp-chip-strong {
  background: var(--r);
  color: #fff;
  border-color: var(--r);
}

.cmatp-promo {
  margin: 10px 0 0;
  padding: 10px 12px;
  border-radius: 14px;
  border: 1px solid rgba(88,16,18,.16);
  background: rgba(88,16,18,.06);
  color: #6b2730;
  font-size: 12.5px;
  line-height: 1.5;
}

.cmatp-promo-row {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  align-items: center;
  margin: 0 0 7px;
}

.cmatp-promo-pill,
.cmatp-savings-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  padding: 5px 9px;
  font-size: 10.5px;
  line-height: 1;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.cmatp-promo-pill {
  background: rgba(88,16,18,.10);
  color: #581012;
  border: 1px solid rgba(88,16,18,.18);
}

.cmatp-savings-pill {
  background: #ecfdf3;
  color: #166534;
  border: 1px solid rgba(22,101,52,.18);
}

.cmatp-card-actions,
.cmatp-booking-actions,
.cmatp-footer-actions,
.cmatp-result-actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  align-items: center;
}

.cmatp-card-actions {
  margin: 12px 0 0;
}

.cmatp-mini-btn,
.cmatp-mini-btn:visited {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 34px;
  padding: 8px 12px;
  border-radius: 999px;
  border: 1px solid rgba(88,16,18,.20);
  background: #fff;
  color: var(--r);
  font-size: 11.5px;
  font-weight: 800;
  text-decoration: none !important;
  text-decoration-line: none !important;
}

.cmatp-mini-primary,
.cmatp-mini-primary:visited {
  background: var(--r);
  color: #fff;
  border-color: var(--r);
}

.cmatp-booking {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 18px;
  align-items: center;
  border-color: rgba(88,16,18,.16);
  background: linear-gradient(180deg,#fff,rgba(88,16,18,.035));
}

.cmatp-booking[hidden],
.cmatp-appointment[hidden],
.cmatp-result-actions[hidden],
.cmatp-client-response[hidden],
.cmatp-status[hidden],
.cmatp-error[hidden] {
  display: none;
}

.cmatp-result-actions {
  justify-content: center;
  margin: 2px 0 18px;
}

.cmatp-lead {
  margin-top: 18px;
}

.cmatp-lead-head {
  text-align: center;
  margin: 0 0 14px;
}

.cmatp-lead-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}

.cmatp-lead-full {
  grid-column: 1 / -1;
}

.cmatp-footer {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 18px;
  align-items: center;
  padding: 24px 32px 28px;
  border-top: 1px solid var(--bdr);
  background: #fafafa;
}

.cmatp-footer p {
  margin: 0;
  color: var(--fnt);
  font-size: 12.5px;
  line-height: 1.55;
}

.cmatp-footer-actions {
  justify-content: flex-end;
}

@media (max-width: 980px) {
  #cm-photo-planner-intro {
    padding: 44px 0 18px;
  }

  #cm-photo-planner-intro .w,
  #cm-ai-treatment-planner .cmatp-w {
    padding: 0 16px;
  }

  #cm-photo-planner-intro h2 {
    font-size: clamp(29px,7.4vw,40px);
    line-height: 1.08;
  }

  #cm-photo-planner-intro .steps {
    display: grid;
    grid-template-columns: 1fr;
    max-width: 520px;
  }

  #cm-photo-planner-intro .steps li {
    justify-content: flex-start;
    border-radius: 16px;
    text-align: left;
  }

  .cm-planner-section-divider {
    width: 76%;
    margin: 8px auto 18px;
  }

  #cm-ai-treatment-planner {
    padding: 42px 0 64px;
  }

  .cmatp-shell {
    border-radius: 22px;
  }

  .cmatp-head {
    padding: 30px 18px 22px;
  }

  .cmatp-ey {
    letter-spacing: .14em;
  }

  .cmatp-ey-desktop {
    display: none;
  }

  .cmatp-ey-mobile {
    display: inline;
  }

  .cmatp-head h2 {
    font-size: clamp(29px,7.6vw,40px);
    line-height: 1.08;
  }

  .cmatp-tool,
  .cmatp-columns,
  .cmatp-booking,
  .cmatp-footer {
    grid-template-columns: 1fr;
  }

  .cmatp-tool {
    padding: 0 16px 28px;
    gap: 16px;
  }

  .cmatp-upload-panel,
  .cmatp-form-panel,
  .cmatp-results,
  .cmatp-footer {
    padding-left: 16px;
    padding-right: 16px;
  }

  .cmatp-upload-box {
    min-height: 360px;
  }

  .is-description-mode .cmatp-upload-box {
    min-height: 0;
    align-items: stretch;
  }

  .cmatp-mode {
    grid-template-columns: 1fr;
  }

  .cmatp-mode-btn {
    white-space: normal;
  }

  .cmatp-fields,
  .cmatp-lead-grid,
  .cmatp-pathway-grid {
    grid-template-columns: 1fr;
  }

  .cmatp-booking-actions,
  .cmatp-footer-actions,
  .cmatp-card-actions,
  .cmatp-result-actions {
    justify-content: center;
  }

  .cmatp-results {
    padding-top: 0;
  }

  .cmatp-columns > div,
  .cmatp-client-response,
  .cmatp-appointment,
  .cmatp-booking,
  .cmatp-lead {
    border-radius: 18px;
  }
}

@media (max-width: 560px) {
  #cm-photo-planner-intro .w,
  #cm-ai-treatment-planner .cmatp-w {
    padding: 0 12px;
  }

  .cmatp-head p,
  #cm-photo-planner-intro .lead {
    font-size: 14.5px;
  }

  .cmatp-upload-panel,
  .cmatp-form-panel {
    padding: 14px;
  }

  .cmatp-upload-start,
  .cmatp-description-panel {
    padding: 22px 12px;
  }

  .cmatp-icon {
    width: 58px;
    height: 58px;
    border-radius: 18px;
  }

  .cmatp-upload-start h3,
  .cmatp-form-panel h3,
  .cmatp-description-panel h3 {
    font-size: 18px;
  }

  .cmatp-btn,
  label.cmatp-btn,
  .cmatp-mini-btn {
    width: 100%;
  }

  .cmatp-preview-actions {
    left: 12px;
    right: 12px;
    bottom: 12px;
  }

  #cmatp-description-only {
    min-height: 124px;
  }
}


/* v1.4.5 logic update: clearer path and recommendation hierarchy */
.cmatp-path-overview {
  margin-top: 14px;
  padding: 14px 16px;
  border: 1px solid rgba(88,16,18,.16);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(88,16,18,.055), rgba(88,16,18,.025));
}
.cmatp-path-overview strong {
  display: block;
  margin: 0 0 6px;
  color: var(--r);
  font-size: 12px;
  font-weight: 850;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.cmatp-path-overview p {
  margin: 0;
  color: var(--mut);
  font-size: 13.3px;
  line-height: 1.62;
}
.cmatp-rec-card {
  padding: 16px 16px 16px 18px;
  border-color: rgba(88,16,18,.28);
  background:
    radial-gradient(560px 140px at 0% 0%, rgba(88,16,18,.085), transparent 62%),
    linear-gradient(180deg,#ffffff,rgba(88,16,18,.038));
}
.cmatp-rec-kicker {
  margin: 0 0 7px 0;
  color: var(--r);
  font-size: 10.5px;
  font-weight: 900;
  line-height: 1.25;
  letter-spacing: .10em;
  text-transform: uppercase;
}
.cmatp-rec-meta {
  margin-top: 9px;
  margin-bottom: 10px;
}
.cmatp-rec-why,
.cmatp-rec-detail {
  margin: 10px 0 0;
  padding: 11px 12px;
  border-radius: 14px;
  background: #fff;
  border: 1px solid rgba(15,23,42,.07);
}
.cmatp-rec-why {
  border-color: rgba(88,16,18,.18);
  background: rgba(88,16,18,.035);
}
.cmatp-rec-why b,
.cmatp-rec-detail b {
  display: block;
  margin: 0 0 4px;
  color: var(--txt);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.cmatp-rec-why p,
.cmatp-rec-detail p {
  margin: 0;
  color: var(--mut);
  font-size: 12.8px;
  line-height: 1.55;
}
.cmatp-rec-price {
  display: inline-flex;
  margin: 10px 0 0;
  padding: 7px 10px;
  border: 1px solid rgba(88,16,18,.18);
  border-radius: 999px;
  background: #fff;
  color: var(--r);
  font-size: 11px;
  font-weight: 850;
  line-height: 1.25;
}
#cmatp-observations .cmatp-item {
  background: linear-gradient(180deg,#fff,#fbfdff);
  border-color: rgba(15,23,42,.08);
  box-shadow: 0 2px 10px rgba(12,20,33,.035);
}
@media (max-width: 720px) {
  .cmatp-path-overview,
  .cmatp-rec-why,
  .cmatp-rec-detail {
    padding: 12px;
  }
  .cmatp-rec-card {
    padding: 15px 14px;
  }
}
