.cpc-intake {
  --cpc-ink: #10232c;
  --cpc-text: #52656f;
  --cpc-accent: #35c9c9;
  --cpc-highlight: #67d59a;
  --cpc-line: rgba(16, 35, 44, 0.15);
  --cpc-panel: #f1f6f5;
  color: var(--cpc-text);
  font-family: Inter, Arial, sans-serif;
  max-width: 1080px;
  margin-inline: auto;
  padding: clamp(2rem, 6vw, 5.25rem) 1rem;
}

.cpc-intake *, .cpc-intake *::before, .cpc-intake *::after { box-sizing: border-box; }
.cpc-intake__header { color: #bdd1d9; max-width: 770px; margin: 0 0 2rem; }
.cpc-intake__header h2 { color: #edf7f8; font-family: inherit; font-size: clamp(2rem, 4vw, 3.7rem); line-height: 1.03; margin: .25rem 0 1rem; }
.cpc-intake__header p:last-child { font-size: 1.02rem; max-width: 720px; }
.cpc-intake__success h2 { color: var(--cpc-ink); font-family: inherit; font-size: clamp(2rem, 4vw, 3.2rem); line-height: 1.06; margin: .25rem 0 1rem; }
.cpc-intake__eyebrow { color: var(--cpc-accent); font-size: .78rem; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
.cpc-intake__form, .cpc-intake__success { background: #f8fbfa; border: 1px solid rgba(255,255,255,.12); border-radius: 28px; box-shadow: 0 28px 80px rgba(0, 0, 0, .28); padding: clamp(1.2rem, 4vw, 3rem); }
.cpc-intake__success { max-width: 820px; }
.cpc-intake__reference { align-items: center; background: #e8f7ef; border-radius: 12px; color: var(--cpc-ink); display: inline-flex; gap: .6rem; padding: .75rem 1rem; }
.cpc-intake__progress { display: grid; grid-template-columns: repeat(4, 1fr); list-style: none; margin: 0 0 2.5rem; padding: 0; }
.cpc-intake__progress li { border-top: 2px solid var(--cpc-line); color: #71818a; font-size: .82rem; padding-top: .8rem; }
.cpc-intake__progress li span { align-items: center; background: #e7efef; border-radius: 99px; display: inline-flex; font-weight: 800; height: 1.8rem; justify-content: center; margin-right: .45rem; width: 1.8rem; }
.cpc-intake__progress li[aria-current="step"], .cpc-intake__progress li.is-complete { border-color: #26aaa9; color: var(--cpc-ink); }
.cpc-intake__progress li[aria-current="step"] span, .cpc-intake__progress li.is-complete span { background: var(--cpc-highlight); color: var(--cpc-ink); }
.cpc-intake fieldset { border: 0; margin: 0; padding: 0; }
.cpc-intake legend { color: var(--cpc-ink); font-family: inherit; font-size: clamp(1.35rem, 2.6vw, 2.05rem); font-weight: 750; margin-bottom: 1.5rem; outline: 0; }
.cpc-intake__grid { display: grid; gap: 1.15rem; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.cpc-intake label { color: var(--cpc-ink); display: grid; font-size: .88rem; font-weight: 700; gap: .5rem; }
.cpc-intake input[type="text"], .cpc-intake input[type="email"], .cpc-intake input[type="tel"], .cpc-intake input[type="number"], .cpc-intake input[type="date"], .cpc-intake select { background: #fff; border: 1px solid var(--cpc-line); border-radius: 12px; color: var(--cpc-ink); min-height: 52px; padding: .75rem .9rem; width: 100%; }
.cpc-intake input:focus, .cpc-intake select:focus { border-color: #26aaa9; box-shadow: 0 0 0 3px rgba(38, 170, 169, .18); outline: 0; }
.cpc-intake [aria-invalid="true"] { border-color: #ba3a3a !important; }
.cpc-intake small { color: #71818a; font-size: .75rem; font-weight: 500; }
.cpc-intake__choices { display: grid; gap: 1rem; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.cpc-intake__choices label { cursor: pointer; position: relative; }
.cpc-intake__choices input { opacity: 0; position: absolute; }
.cpc-intake__choices span { background: var(--cpc-panel); border: 2px solid transparent; border-radius: 18px; display: grid; gap: .45rem; min-height: 150px; padding: 1.4rem; }
.cpc-intake__choices b { font-size: 1.15rem; }
.cpc-intake__choices input:checked + span { background: #e7faef; border-color: #26aaa9; }
.cpc-intake__choices input:focus-visible + span { box-shadow: 0 0 0 3px rgba(38, 170, 169, .2); }
.cpc-intake__summary { background: #eaf3f3; border-radius: 14px; display: grid; gap: .2rem; margin: 0 0 1.3rem; padding: 1rem 1.15rem; }
.cpc-intake__summary span { color: #71818a; font-size: .72rem; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
.cpc-intake__summary strong { color: var(--cpc-ink); font-size: 1.05rem; }
.cpc-intake__consent { align-items: start; display: grid !important; font-weight: 500 !important; gap: .8rem !important; grid-template-columns: auto 1fr; margin-bottom: 1.2rem; }
.cpc-intake__consent input { height: 1.2rem; margin-top: .15rem; width: 1.2rem; }
.cpc-intake__privacy { background: var(--cpc-panel); border-radius: 12px; font-size: .82rem; margin-top: 1.5rem; padding: 1rem; }
.cpc-intake__actions { display: flex; gap: .75rem; justify-content: flex-end; margin-top: 2rem; }
.cpc-intake__actions button { border: 1px solid var(--cpc-line); border-radius: 999px; cursor: pointer; font-family: inherit; font-weight: 800; min-height: 50px; padding: .75rem 1.35rem; }
.cpc-intake__next, .cpc-intake__submit { background: var(--cpc-highlight); color: var(--cpc-ink); }
.cpc-intake__next:hover, .cpc-intake__submit:hover { background: #7fe0aa; }
.cpc-intake__back { background: transparent; color: var(--cpc-ink); }
.cpc-intake__actions button:disabled { cursor: wait; opacity: .65; }
.cpc-intake__message, .cpc-intake__error { color: #9d2424; font-weight: 700; }
.cpc-intake__message { margin: 1rem 0 0; text-align: right; }
.cpc-intake__error { background: #fff2f2; border-radius: 12px; margin-bottom: 1.25rem; padding: 1rem; }
.cpc-intake__trap { left: -9999px !important; position: absolute !important; }
.cpc-intake--enhanced .cpc-intake__step[hidden], .cpc-intake--enhanced .cpc-intake__conditional[hidden], .cpc-intake [hidden] { display: none !important; }

@media (max-width: 720px) {
  .cpc-intake { padding-inline: .65rem; }
  .cpc-intake__grid, .cpc-intake__choices { grid-template-columns: 1fr; }
  .cpc-intake__progress { margin-bottom: 1.8rem; }
  .cpc-intake__progress li { font-size: 0; }
  .cpc-intake__progress li span { font-size: .82rem; }
  .cpc-intake__actions { justify-content: stretch; }
  .cpc-intake__actions button { flex: 1; }
}

@media (prefers-reduced-motion: no-preference) {
  .cpc-intake__form, .cpc-intake__success { animation: cpc-rise .42s ease-out both; }
  @keyframes cpc-rise { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: translateY(0); } }
}
