.renewal-home-view { transition: transform .42s cubic-bezier(.22,.68,.3,1); }
body.intake-open { overflow: hidden; }
.intake-open .renewal-home-view { transform: translateX(-100%); }
.intake-panel { position: fixed; inset: 0; z-index: 100; background: #f8fbfa; overflow-y: auto; overscroll-behavior: contain; transform: translateX(100%); transition: transform .42s cubic-bezier(.22,.68,.3,1); }
.intake-panel.is-open { transform: translateX(0); }
.intake-header { position: sticky; top: 0; z-index: 5; display: flex; align-items: center; gap: 28px; height: clamp(64px, 7svh, 92px); padding: 0 max(32px, calc((100vw - 1520px)/2)); border-bottom: 1px solid var(--line); background: #fff; }
.intake-header .wordmark { font-size: clamp(18px, 1.8svh, 24px); }
.intake-close { display: grid; place-items: center; width: clamp(44px, 4.4svh, 58px); height: clamp(44px, 4.4svh, 58px); border: 0; border-radius: 50%; background: var(--surface); font-size: 24px; }
.intake-phone { margin-left: auto; font-size: 14px; font-weight: 650; white-space: nowrap; }
.intake-container { width: min(2160px, calc(100% - 48px), 131svh); margin: 3.6svh auto 2.4svh; }
.intake-surface { background: #fff; border: 1px solid var(--line); border-radius: 32px; padding: clamp(24px, 5svh, 66px) clamp(24px, 5.1svh, 68px); min-width: 0; }
.intake-panel .purchase-progress { margin-bottom: clamp(20px, 4.1svh, 55px); }
.intake-panel .purchase-progress ol { display: flex; list-style: none; gap: 16px; padding: 0; margin: 0 0 clamp(8px, 1.05svh, 14px); }
.intake-panel .purchase-progress li { font-size: 12px; color: var(--muted); padding-bottom: clamp(8px, 1.5svh, 20px); border-bottom: 3px solid var(--line); flex: 1; }
.intake-panel .purchase-progress li[aria-current] { border-color: var(--mint); color: var(--ink); font-weight: 750; }
.intake-panel .purchase-progress li.is-complete { border-color: var(--mint-light); }
.intake-panel [data-draft-status] { font-size: 11px; color: var(--muted); }
.intake-panel .eyebrow { color: var(--mint-ink); font-size: clamp(12px, 1.05svh, 14px); font-weight: 700; margin-bottom: clamp(8px, 1.7svh, 22px); }
.intake-panel .question-heading h2, .intake-panel .purchase-review h2 { font-size: clamp(28px, 3.5svh, 46px); line-height: 1.2; letter-spacing: -.055em; margin-bottom: clamp(16px, 3.6svh, 48px); }
.intake-panel .question-heading h2:focus { outline: none; }
.intake-panel [data-question-help] { font-size: 18px; color: var(--muted); margin-bottom: 16px; }
.intake-panel [data-question-help]:empty { display: none; }
.intake-panel .accident-choices { display: grid; gap: clamp(10px, 1.3svh, 18px); }
.intake-panel .accident-option { position: relative; padding: clamp(14px, 2svh, 28px) clamp(18px, 2.6svh, 34px); border: 1px solid var(--line); border-radius: 24px; background: #fff; text-align: left; min-height: clamp(84px, 11svh, 148px); }
.intake-panel .accident-option::after { content: '→'; position: absolute; right: 24px; top: 50%; transform: translateY(-50%); color: var(--mint-ink); font-size: 24px; }
.intake-panel .accident-option strong { display: block; font-size: clamp(20px, 2.4svh, 32px); padding-right: 28px; letter-spacing: -.04em; }
.intake-panel .accident-option small { display: block; font-size: clamp(15px, 1.6svh, 22px); color: var(--muted); margin-top: clamp(4px, .5svh, 8px); padding-right: 20px; }
.intake-panel .accident-option:hover, .intake-panel .accident-option[aria-pressed=true] { background: var(--mint-light); border-color: var(--mint); }
.intake-panel .answer-control { position: relative; display: flex; flex-wrap: wrap; align-items: stretch; border: 1px solid #c9d8d4; border-radius: 20px; background: #fff; }
.intake-panel input, .intake-panel textarea { font: inherit; }
.intake-panel .answer-control input { flex: 1; width: 100%; min-width: 0; border: 0; border-radius: 20px; padding: 18px; height: 76px; color: var(--ink); font-size: 28px; background: transparent; }
.intake-panel .answer-control input::placeholder { font-size: 24px; color: #85948f; }
.intake-panel .answer-control:focus-within { border-color: var(--mint); box-shadow: 0 0 0 3px var(--mint-light); }
.intake-panel input:focus-visible, .intake-panel textarea:focus-visible { outline: 2px solid var(--mint); outline-offset: 3px; }
.intake-panel .arrow-button { display: grid; place-items: center; width: 52px; flex: 0 0 52px; border: 0; border-left: 1px solid var(--line); border-radius: 0 20px 20px 0; background: var(--surface); }
.intake-panel .arrow-button svg, .intake-panel .list-scroll svg { width: 18px; height: 18px; }
.intake-panel .number-arrows { display: grid; flex: 0 0 52px; }
.intake-panel .number-arrows .arrow-button { height: 37px; border-radius: 0 20px 0 0; }
.intake-panel .number-arrows .arrow-button:last-child { border-radius: 0 0 20px 0; border-top: 1px solid var(--line); }
.intake-panel .input-unit { align-self: center; padding: 0 14px; font-size: 14px; color: var(--muted); }
.intake-panel .combo-menu { position: relative; flex: 0 0 100%; margin-top: 4px; background: #fff; border: 1px solid var(--line); border-radius: 18px; overflow: hidden; }
.intake-panel .combo-menu [role=listbox] { max-height: 240px; overflow-y: auto; overscroll-behavior: contain; }
.intake-panel .combo-menu [role=option] { display: block; width: 100%; min-height: 52px; padding: 14px 20px; border: 0; background: #fff; text-align: left; font-size: 16px; }
.intake-panel .combo-menu [role=option]:hover, .intake-panel .combo-menu [aria-selected=true] { background: var(--mint-light); }
.intake-panel .list-scroll { display: grid; place-items: center; width: 100%; height: 32px; border: 0; background: var(--surface); }
.intake-panel .combo-menu p { padding: 16px; font-size: 13px; color: var(--muted); }
.intake-panel .purchase-actions { display: flex; align-items: center; gap: 12px; margin-top: clamp(18px, 3.6svh, 48px); }
.intake-panel .next-button, .intake-panel .back-button { min-height: clamp(48px, 5svh, 68px); padding: 10px 22px; border: 0; border-radius: 99px; font-weight: 650; font-size: 15px; }
.intake-panel .next-button { margin-left: auto; background: var(--navy); color: #fff; min-width: 130px; }
.intake-panel .back-button { background: var(--surface); }
.intake-panel button:disabled { opacity: .55; cursor: wait; }
.intake-panel .form-error { margin-top: 16px; font-size: 14px; color: #ac3f3b; }
.intake-panel .form-error:empty { display: none; }
.intake-panel .photo-guide { font-size: 14px; color: var(--muted); margin: 16px 0; }
.intake-panel .photo-drop { display: grid; justify-items: center; gap: 10px; text-align: center; background: #f2fbf8; border: 1px dashed var(--mint); border-radius: 24px; padding: 32px 16px; cursor: pointer; }
.intake-panel .photo-drop strong { font-size: 20px; }
.intake-panel .photo-drop span, .intake-panel .photo-drop small { font-size: 12px; color: var(--muted); }
.intake-panel .photo-drop .upload-plus { font-size: 32px; color: var(--mint-ink); }
.intake-panel .photo-drop.is-dragging { background: var(--mint-light); }
.intake-panel .photo-heading { display: flex; gap: 12px; margin-top: 24px; font-size: 14px; }
.intake-panel .photo-heading strong { color: var(--mint-ink); }
.intake-panel .photo-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; margin-top: 16px; }
.intake-panel .photo-grid figure { position: relative; min-width: 0; margin: 0; }
.intake-panel .photo-grid img { width: 100%; aspect-ratio: 1; object-fit: cover; border-radius: 16px; }
.intake-panel .photo-grid button { position: absolute; top: 6px; right: 6px; width: 32px; height: 32px; border: 0; border-radius: 50%; background: #fff; font-size: 24px; }
.intake-panel .photo-grid figcaption { margin-top: 6px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 11px; color: var(--muted); }
.intake-panel .airbag-label { display: block; font-size: 22px; font-weight: 650; margin: 22px 0 10px; }
.intake-panel .airbag-description { width: 100%; min-height: 160px; resize: vertical; border: 1px solid #c9d8d4; border-radius: 20px; padding: 18px; font-size: 26px; }
.intake-panel .airbag-example { font-size: 12px; color: var(--muted); margin: 12px 0 20px; }
.intake-panel .payoff-check, .intake-panel .intake-consent { display: flex; align-items: flex-start; gap: 12px; font-size: 14px; line-height: 1.8; margin: 24px 0; }
.intake-panel input[type=checkbox] { width: 20px; height: 20px; flex: 0 0 20px; accent-color: var(--mint-ink); margin: 3px 0 0; }
.intake-panel .consultation-summary { background: var(--surface); border-radius: 20px; padding: 24px; margin: 24px 0; }
.intake-panel .consultation-summary p { font-size: 18px; margin-bottom: 14px; overflow-wrap: anywhere; white-space: pre-wrap; }
.intake-panel .review-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.intake-panel .review-actions button { flex: 1; white-space: nowrap; }
.intake-panel [data-save] { color: #fff; background: var(--navy); }
.intake-panel [data-save-status] { font-size: 14px; color: var(--muted); margin-top: 18px; }
.intake-panel .preview-note { font-size: 11px; text-align: center; color: var(--muted); margin-top: clamp(16px, 2.4svh, 32px); }
.intake-loading, .intake-fallback { display: block; max-width: 600px; margin: 24px auto; text-align: center; font-size: 14px; }
.intake-panel [hidden] { display: none; }
@media (max-width: 900px) {
  .intake-container { width: calc(100% - 48px); }
  .intake-surface { padding: 24px; }
}
@media (min-width: 701px) and (max-height: 900px) {
  .intake-container { margin: 16px auto 20px; }
  .intake-surface { padding: 24px 32px; }
  .intake-panel .purchase-progress { margin-bottom: 20px; }
  .intake-panel .eyebrow { margin-bottom: 8px; }
  .intake-panel .question-heading h2, .intake-panel .purchase-review h2 { margin-bottom: 20px; }
  .intake-panel .purchase-actions { margin-top: 18px; }
  .intake-panel .preview-note { margin-top: 16px; }
}
@media (max-width: 700px) {
  .intake-header { gap: 14px; padding: 10px 20px; }
  .intake-header .wordmark { font-size: 16px; }
  .intake-phone { display: none; }
  .intake-close { width: 42px; height: 42px; }
  .intake-container { display: block; width: calc(100% - 40px); margin: 30px auto 48px; }
  .intake-surface { padding: 26px 22px; border-radius: 28px; }
  .intake-panel .purchase-progress { margin-bottom: 16px; }
  .intake-panel .purchase-progress ol { gap: 8px; margin-bottom: 8px; }
  .intake-panel .purchase-progress li { font-size: 10px; padding-bottom: 8px; }
  .intake-panel .question-heading h2, .intake-panel .purchase-review h2 { font-size: 28px; margin-bottom: 16px; }
  .intake-panel .accident-option { padding: 14px 16px; min-height: 84px; }
  .intake-panel .accident-option strong { font-size: 20px; }
  .intake-panel .accident-option small { font-size: 15px; }
  .intake-panel .accident-option::after { right: 18px; }
  .intake-panel .answer-control input { padding: 16px; font-size: 24px; height: 68px; }
  .intake-panel .purchase-actions { flex-wrap: wrap; gap: 8px; margin-top: 18px; }
  .intake-panel .next-button, .intake-panel .back-button { padding: 12px 18px; min-width: 0; min-height: 48px; }
  .intake-panel .photo-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (prefers-reduced-motion: reduce) {
  .renewal-home-view, .intake-panel { transition: none; }
}

.intake-panel .answer-unknown { display: flex; align-items: center; gap: 12px; padding: clamp(12px, 1.65svh, 22px) 22px; margin-top: clamp(16px, 2.4svh, 32px); border: 1px solid var(--line); border-radius: 16px; background: var(--surface); font-size: clamp(18px, 1.8svh, 24px); line-height: 1.5; cursor: pointer; }
.intake-panel .answer-unknown input { width: clamp(22px, 2.4svh, 32px); height: clamp(22px, 2.4svh, 32px); flex: 0 0 clamp(22px, 2.4svh, 32px); accent-color: var(--mint-ink); }
.intake-panel .answer-unknown:has(input:checked) { background: var(--mint-light); border-color: var(--mint); }
.intake-panel .answer-control:has(input:disabled), .intake-panel textarea:disabled { opacity: .5; background: var(--surface); }
.intake-panel .album-title { font-size: 24px; margin: 28px 0 12px; }
.intake-panel .photo-album-shell .photo-drop { margin: 0; min-width: 0; min-height: 240px; padding: 30px 18px; border-radius: 24px; align-content: center; }
.intake-panel .photo-album-shell .photo-drop strong { font-size: 24px; }
.intake-panel .photo-album-shell .photo-drop span { font-size: 17px; }
.intake-panel .photo-album-shell .photo-drop .upload-plus { font-size: 44px; }
.intake-panel .photo-album figure { position: relative; margin: 0; min-width: 0; aspect-ratio: 1; flex: 0 0 280px; width: 280px; height: 280px; scroll-snap-align: start; }
.intake-panel .photo-album img { width: 100%; height: 100%; object-fit: cover; border-radius: 24px; }
.intake-panel .photo-album figure button { position: absolute; right: 12px; top: 12px; width: 42px; height: 42px; border: 0; border-radius: 50%; background: #fff; font-size: 28px; }
.intake-panel .photo-album figcaption { display: none; }
.intake-panel .photo-heading { flex-wrap: wrap; align-items: center; font-size: 18px; margin-top: 18px; }
.intake-panel .photo-heading span { font-size: 16px; color: var(--muted); }
.intake-panel .review-contact-help { font-size: 18px; margin-bottom: 18px; color: var(--muted); }
@media (max-width: 700px) {
  .intake-container { width: calc(100% - 24px); margin: 12px auto 20px; }
  .intake-surface { padding: 20px 18px; }
  .intake-panel .answer-control input::placeholder { font-size: 20px; }
  .intake-panel .airbag-description { font-size: 22px; }
  .intake-panel .answer-unknown { padding: 12px; font-size: 17px; gap: 10px; margin-top: 16px; }
  .intake-panel .answer-unknown input { width: 22px; height: 22px; flex-basis: 22px; }
  .intake-panel .photo-album-shell .photo-drop { padding: 18px 10px; }
  .intake-panel .photo-album figure button { width: 34px; height: 34px; right: 8px; top: 8px; }
}

.intake-panel .photo-album-shell { display: grid; grid-template-columns: 280px minmax(0,1fr); gap: 18px; min-width: 0; }
.intake-panel .photo-album-shell .photo-drop { height: 280px; min-height: 0; }
.intake-panel .photo-album { display: flex; flex-wrap: nowrap; gap: 18px; min-width: 0; overflow-x: auto; overflow-y: hidden; padding-bottom: 12px; scroll-snap-type: x proximity; overscroll-behavior-inline: contain; touch-action: pan-x pan-y; cursor: grab; }
.intake-panel .photo-album.is-dragging { cursor: grabbing; scroll-snap-type: none; user-select: none; }
.intake-panel .photo-album-shell:not(.has-photos) .photo-album { visibility: hidden; }
@media (max-width: 700px) {
  .intake-panel .photo-album-shell { grid-template-columns: 126px minmax(0,1fr); gap: 12px; }
  .intake-panel .photo-album-shell .photo-drop { height: 156px; padding: 16px 8px; }
  .intake-panel .photo-album-shell .photo-drop strong { font-size: 18px; }
  .intake-panel .photo-album-shell .photo-drop span:not(.upload-plus) { font-size: 14px; }
  .intake-panel .photo-album { gap: 12px; }
  .intake-panel .photo-album figure { flex-basis: 156px; width: 156px; height: 156px; }
}
