/* Form-only extension of the approved Pearl & Pixie identity. */
body.ing-page--consultation .ing-consult-intro { padding: 1.5rem 0; }
body.ing-page--consultation:has(#intake-root .intake-stage):not(:has(#intake-root .intake-welcome)) .ing-consult-intro { display:none; }
.ing-page--consultation .intake-root {
  --plum: var(--ing-ink); --text: var(--ing-ink); --text-soft: var(--ing-copy);
  --berry: var(--ing-rose); --orchid: var(--ing-lavender); --line: var(--ing-control-border);
  --surface: var(--ing-pearl); --mist: var(--ing-lavender-wash);
  color: var(--ing-ink); font-family: var(--ing-functional); padding-block: 1rem 4rem;
}
.intake-root *, .intake-root *::before, .intake-root *::after { box-sizing: border-box; }
.intake-root .intake-stage { max-width: 1020px; padding-inline: clamp(1rem, 3vw, 2rem); }
.ing-page--consultation .intake-root .intake-stage__header h1 { max-width:none; }
.intake-root .intake-brand-meaning { margin-block: 0 2rem; }
.intake-root .intake-progress { position: static; background: var(--ing-pearl); border-color: var(--ing-border); }
.intake-root .intake-progress__inner { flex-wrap: wrap; }
.intake-root .intake-progress__step { white-space: normal; }
.intake-root .intake-welcome { padding-top: .5rem; }
.intake-root .intake-welcome h1 { font-size: clamp(2.4rem, 5vw, 3.7rem); max-width: 22ch; margin-bottom: 1.5rem; line-height: 1.1; }
.intake-root .intake-welcome__desc { max-width: 65ch; font-size: 1rem; color: var(--ing-copy); line-height: 1.7; }
.intake-root .intake-welcome__tagline { color: var(--ing-lavender); }
.intake-root p, .intake-root li, .intake-root label, .intake-root legend { overflow-wrap: anywhere; }
.intake-root .intake-field { margin-bottom: 1.5rem; }
.intake-root .intake-field :is(label,legend), .intake-root legend { font-size: 1rem; font-weight: 600; color: var(--ing-ink); line-height: 1.5; }
.intake-root :is(p,li,.intake-hint,.intake-optional,.service-card__desc,.intake-save-status,.intake-status) { font-size: 1rem; line-height: 1.65; color: var(--ing-copy); }
.intake-root .intake-required { color: var(--ing-rose); font-size: .95rem; }
.intake-root .intake-field :is(input:not([type=radio]):not([type=checkbox]),select,textarea) {
  display:block; width:100%; min-width:0; min-height:48px; font-size:1rem; font-family:var(--ing-functional);
  padding:.8rem 1rem; background:var(--ing-pearl); color:var(--ing-ink); border:1.5px solid var(--ing-control-border); border-radius:12px;
}
.intake-root .intake-field textarea { min-height: 112px; }
.intake-root :is(input,select,textarea,button,a,summary):focus-visible { outline:3px solid var(--ing-focus); outline-offset:4px; box-shadow:none; }
.intake-root :is(button,summary) { min-height:44px; font-size:1rem; }
.intake-root button { min-width:44px; max-width:100%; white-space:normal; overflow-wrap:anywhere; }
.intake-root .btn--primary { border:2px solid var(--ing-blue); border-radius:100px; background:var(--ing-blue); color:var(--ing-paper); padding:.9rem 1.6rem; font-size:1rem; line-height:1.4; }
.intake-root .btn--primary:hover { background:var(--ing-lavender); border-color:var(--ing-lavender); }
.intake-root .btn--secondary, .intake-root .intake-nav__back { background:var(--ing-pearl); color:var(--ing-blue); border:1.5px solid var(--ing-control-border); border-radius:100px; padding:.65rem 1rem; font-size:1rem; line-height:1.4; }
.intake-root .service-actions button { color:var(--ing-blue); padding:.6rem .85rem; }
.intake-root .intake-nav { gap:1rem; margin-top:2rem; flex-wrap:wrap; }
.intake-root .intake-nav > div { min-width:0; max-width:100%; }
.intake-root .intake-details { border:1px solid var(--ing-border); border-radius:16px; padding:.4rem 1rem; background:var(--ing-pearl); margin-block:1.25rem; }
.intake-root .intake-details summary { color:var(--ing-blue); font-weight:600; padding:.65rem .1rem; line-height:1.5; cursor:pointer; }
.intake-root .intake-details[open] summary { margin-bottom:1rem; }
.intake-root .intake-details ul { padding-inline-start:1.4rem; }
.intake-root .intake-details li + li { margin-top:.85rem; }
.intake-root .intake-field--half { gap:1.5rem; }
.request-story { margin:2rem auto 2.5rem; padding:1.25rem; border:1px solid var(--ing-border); border-radius:24px; background:linear-gradient(110deg,var(--ing-blue-wash),var(--ing-rose-wash),var(--ing-sage-wash)); }
.request-story img { display:block; width:100%; height:auto; max-height:230px; object-fit:contain; margin:auto; }
.request-story ol { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.5rem; padding-inline-start:1.5rem; margin:1rem 0 .5rem; }
.request-story li { padding-inline:.3rem; }
.request-story strong { display:block; color:var(--ing-ink); }
.request-choice-group, .request-services, .request-packages { border:0; padding:0; margin:2rem 0; min-width:0; }
.request-choice-group legend, .request-services legend, .request-packages legend { margin-bottom:1rem; }
.request-choice-grid { display:flex; flex-wrap:wrap; gap:1rem; margin-top:1rem; }
.request-choice { flex:1 1 230px; display:flex; align-items:flex-start; gap:.8rem; padding:1.3rem; background:var(--ing-pearl); border:1.5px solid var(--ing-control-border); border-radius:20px; min-height:80px; cursor:pointer; }
.request-choice span span { display:block; margin-top:.6rem; color:var(--ing-copy); font-size:1rem; line-height:1.65; }
.request-choice:has(input:checked), .request-service:has(input:checked) { background:var(--ing-blue-wash); border-color:var(--ing-blue); box-shadow:inset 0 0 0 1px var(--ing-blue),0 8px 24px #24487e0d; }
.request-choice input, .request-service input, .request-tier-select input { width:22px; height:22px; flex-shrink:0; margin-top:.25rem; accent-color:var(--ing-blue); }
.request-check { display:flex; gap:.8rem; align-items:flex-start; padding:.8rem; min-height:48px; cursor:pointer; line-height:1.6; border-radius:12px; }
.request-check input { width:22px; height:22px; margin-top:.3rem; flex-shrink:0; accent-color:var(--ing-blue); }
.intake-root .service-grid { display:grid; grid-template-columns:1fr; gap:1rem; }
.intake-root .request-service { display:flex; gap:1rem; align-items:flex-start; text-align:left; padding:1.5rem; background:var(--ing-pearl); border:1.5px solid var(--ing-control-border); border-radius:22px; cursor:pointer; }
.request-service > span { display:block; min-width:0; }
.request-service strong { display:block; color:var(--ing-ink); font-size:1.2rem; line-height:1.45; }
.request-number { display:flex; align-items:center; justify-content:center; border:1px solid var(--ing-control-border); width:40px; height:40px; border-radius:50%; color:var(--ing-lavender); background:var(--ing-lavender-wash); margin-bottom:.85rem; font-size:.9rem; }
.request-panel { border:1px solid var(--ing-border); border-radius:28px; padding:clamp(1rem,3vw,2rem); margin-block:2rem; box-shadow:0 12px 38px #56356809; }
.request-panel--blue { background:var(--ing-blue-wash); }
.request-panel--rose { background:var(--ing-rose-wash); }
.request-panel--sage { background:var(--ing-sage-wash); }
.intake-root .request-panel h2 { font-family:var(--ing-editorial); color:var(--ing-ink); font-size:2rem; margin-bottom:1rem; }
.request-panel .scope-divider { display:none; }
.request-panel .intake-section-label { margin-block:1.25rem; color:var(--ing-ink); font-size:1rem; }
.request-item { min-width:0; border:1px solid var(--ing-border); border-radius:20px; background:var(--ing-pearl); padding:1rem 1.25rem; margin:1.5rem 0; }
.request-item legend { padding-inline:.5rem; }
.request-note { border-left:3px solid var(--ing-lavender); background:var(--ing-lavender-wash); border-radius:0 18px 18px 0; padding:1.3rem 1.5rem; margin-block:1.5rem; }
.request-note > strong { color:var(--ing-ink); }
.request-tier-grid { display:grid; align-items:start; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.25rem; }
.request-tier { --tier:var(--ing-blue); padding:1.3rem; border:1px solid var(--ing-control-border); border-radius:28px 28px 20px 20px; background:var(--ing-blue-wash); position:relative; box-shadow:0 12px 36px #5635680a; }
.request-tier--premium { --tier:var(--ing-rose); background:var(--ing-rose-wash); }
.request-tier--luxe { --tier:var(--ing-lavender); background:var(--ing-lavender-wash); }
.request-tier::before { content:""; position:absolute; inset:6px; border:1px solid var(--ing-border); border-radius:22px 22px 14px 14px; pointer-events:none; }
.request-tier:has(input:checked) { outline:3px solid var(--tier); outline-offset:3px; }
.request-tier-select { display:flex; align-items:center; gap:.75rem; cursor:pointer; min-height:80px; }
.request-tier-select span { flex:1; text-align:center; }
.request-tier-select .request-number { margin-inline:auto; }
.request-tier-select strong { font-family:var(--ing-editorial); font-size:2.1rem; color:var(--tier); }
.intake-root .request-tier h2 { font-size:1.35rem; text-align:center; color:var(--ing-ink); margin-block:1.25rem .85rem; }
.request-tier > p { text-align:center; }
.request-coverage { list-style:none; padding:0; margin:1.25rem 0; }
.request-coverage li { padding-block:1rem; border-top:1px solid var(--ing-border); }
.request-coverage strong, .request-coverage span { display:block; font-size:1rem; line-height:1.6; }
.request-coverage strong { color:var(--ing-ink); margin-bottom:.5rem; }
.intake-root .request-tier .intake-details { padding:.25rem .65rem; }
.intake-root .intake-check-item { align-items:center; padding:.55rem .3rem; min-height:44px; }
.intake-root .intake-check-item label { font-size:1rem; margin:0; min-height:44px; display:flex; align-items:center; }
.intake-root .intake-radio-card { color:var(--ing-ink); padding:.85rem; border-color:var(--ing-control-border); min-height:44px; background:var(--ing-pearl); }
.intake-root .review-summary { margin-top:2rem; border:1px solid var(--ing-border); border-radius:24px; padding:clamp(1rem,3vw,1.75rem); background:var(--ing-pearl); }
.intake-root .review-section { padding-block:1.25rem; }
.intake-root .review-section__head { gap:1rem; flex-wrap:wrap; }
.intake-root .review-section__title { font-family:var(--ing-editorial); font-size:1.7rem; color:var(--ing-ink); }
.intake-root .review-section__body :is(dt,dd) { font-size:1rem; color:var(--ing-copy); overflow-wrap:anywhere; }
.intake-root .review-section__body dt { color:var(--ing-ink); font-weight:600; }
.intake-root .review-section__body dl { grid-template-columns: minmax(110px,1fr) minmax(0,2fr); gap:.75rem 1rem; }
.intake-root .review-section__body ul { margin:0; padding-inline-start:1.2rem; }
.intake-root .intake-consent { padding:1rem; border-radius:16px; background:var(--ing-blue-wash); }
.intake-root .intake-consent label { font-size:1rem; color:var(--ing-ink); line-height:1.7; }
.intake-root .intake-consent input { accent-color:var(--ing-blue); width:22px; height:22px; }
.intake-root :is(.intake-error-summary,.intake-inline-error) { background:var(--ing-rose-wash); border-color:var(--ing-error); color:var(--ing-error); }
.intake-root .intake-error-summary :is(h3,a,strong,span), .intake-root .intake-inline-error :is(strong,span) { color:var(--ing-error); font-size:1rem; }
.intake-root .intake-inline-error__icon { flex-shrink:0; background:var(--ing-error); }
.intake-root .intake-details summary:hover { color:var(--ing-rose); }
@media(min-width:760px) { .request-choice:hover,.request-service:hover,.request-tier:hover { box-shadow:0 12px 32px #56356813; transition:box-shadow .2s ease; } }
@media(max-width:760px) {
 .request-tier-grid,.request-story ol { grid-template-columns:1fr; }
 .request-story img { min-height:100px; }
 .intake-root .intake-field--half { grid-template-columns:1fr; gap:0; }
 .intake-root .review-section__body dl { display:block; }
 .intake-root .review-section__body dd { margin:.35rem 0 1rem; }
 .intake-root .intake-selected-services { padding:1rem; }
 .intake-root .intake-nav { align-items:stretch; }
 .intake-root .intake-nav > div { min-width:0; }
 .request-choice { flex-basis:100%; }
 .request-number { width:36px; height:36px; }
}
@media(prefers-reduced-motion:reduce) { .intake-root *, .intake-root *::before,.intake-root *::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; } }
html[data-motion="reduced"] .intake-root *,html[data-motion="reduced"] .intake-root *::before,html[data-motion="reduced"] .intake-root *::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; }
@media(forced-colors:active) { .request-tier::before { display:none; } .request-choice:has(input:checked), .request-service:has(input:checked),.request-tier:has(input:checked) { outline:3px solid Highlight; } }
