/* 408-APPOINTMENT-FIRST-1.1 — calm, readable short intake for cold acquisition routes. */
form[data-life-intake-form]:not([data-appointment-flow]){display:none}
form[data-life-intake-form][data-appointment-flow]:not([data-appointment-enhanced="true"]){min-height:320px}
form[data-life-intake-form][data-appointment-flow]:not([data-appointment-enhanced="true"])>*{display:none!important}
form[data-appointment-flow]{scroll-margin-top:24px}
form[data-appointment-flow] .appointment-progress{display:grid;grid-template-columns:auto 1fr;gap:8px 14px;align-items:center;margin:16px 0 26px}
form[data-appointment-flow] .appointment-progress__label{color:#456078;font-size:.78rem;font-weight:850;letter-spacing:.03em;white-space:nowrap}
form[data-appointment-flow] .appointment-progress__track{height:8px;border-radius:999px;background:#e5ebf2;overflow:hidden}
form[data-appointment-flow] .appointment-progress__bar{display:block;width:20%;height:100%;border-radius:inherit;background:#168c52;transition:width .2s ease}
form[data-appointment-flow] .appointment-progress__title{grid-column:1/-1;color:#153a65;font-size:.84rem;font-weight:750}
form[data-appointment-flow] .appointment-step{border:0;padding:0;margin:0;min-width:0}
form[data-appointment-flow] .appointment-step[hidden]{display:none!important}
form[data-appointment-flow] .appointment-step legend{display:block;width:100%;color:#082b56;font-size:clamp(1.4rem,4vw,1.9rem);font-weight:850;line-height:1.16;margin:0 0 7px}
form[data-appointment-flow] .appointment-step>p{color:#5c6c80;font-size:.96rem;line-height:1.48;margin:0 0 18px}
form[data-appointment-flow] .appointment-choice-grid{display:grid;gap:12px}
form[data-appointment-flow] .appointment-choice-grid button{appearance:none;width:100%;min-height:56px;padding:13px 16px;border:2px solid #d4dde8;border-radius:14px;background:#fff;color:#092d59;font:inherit;font-weight:800;line-height:1.25;text-align:left;cursor:pointer;touch-action:manipulation;transition:border-color .15s,background .15s,transform .15s}
@media(hover:hover){form[data-appointment-flow] .appointment-choice-grid button:hover{border-color:#168c52;background:#f2fbf6}}
form[data-appointment-flow] .appointment-choice-grid button:focus-visible{border-color:#168c52;background:#f2fbf6;outline:3px solid rgba(22,140,82,.2);outline-offset:2px}
form[data-appointment-flow] .appointment-choice-grid button:active{transform:scale(.99)}
form[data-appointment-flow] .appointment-choice-grid button[aria-pressed="true"]{border-color:#168c52;background:#edf9f2}
form[data-appointment-flow] .appointment-field-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
form[data-appointment-flow] label>span:first-child{display:block;color:#102f55;font-weight:800;margin-bottom:7px}
form[data-appointment-flow] input[type="text"],form[data-appointment-flow] input[type="tel"]{width:100%;min-height:54px;border:2px solid #d4dde8;border-radius:12px;padding:11px 13px;background:#fff;color:#102f55;font:inherit;font-size:1rem}
form[data-appointment-flow] input:focus{border-color:#168c52;outline:3px solid rgba(22,140,82,.18);outline-offset:1px}
form[data-appointment-flow] .appointment-person{display:flex;align-items:center;gap:11px;margin:0 0 18px;padding:11px 13px;border:1px solid #dce5ee;border-radius:13px;background:#f7fafc}
form[data-appointment-flow] .appointment-person img{width:44px;height:44px;border-radius:50%;object-fit:cover;flex:0 0 44px}
form[data-appointment-flow] .appointment-person strong,form[data-appointment-flow] .appointment-person span{display:block}
form[data-appointment-flow] .appointment-person strong{color:#0d315c;font-size:.94rem}
form[data-appointment-flow] .appointment-person span{margin-top:2px;color:#5b6d81;font-size:.78rem;line-height:1.35}
form[data-appointment-flow] .appointment-consent{display:grid;grid-template-columns:24px 1fr;gap:10px;align-items:start;margin:20px 0 14px;color:#334d69;font-size:.88rem;line-height:1.45}
form[data-appointment-flow] .appointment-consent input{width:22px;height:22px;margin:1px 0 0;accent-color:#168c52}
form[data-appointment-flow] .appointment-reassurance{color:#42627e;font-size:.84rem;font-weight:750;line-height:1.45;margin:0 0 14px}
form[data-appointment-flow] .appointment-back{display:block;min-height:44px;margin:12px auto 0;padding:8px 14px;border:0;background:transparent;color:#0a396d;font:inherit;font-weight:800;text-decoration:underline;text-underline-offset:3px;cursor:pointer;touch-action:manipulation}
form[data-appointment-flow] .primary-button{width:100%;min-height:54px}
/* Remove stale progress/explanation layers surrounding forms upgraded to appointment-first. */
.buyer-form-card:has(form[data-appointment-flow])>.buyer-progress,.quote-card:has(form[data-appointment-flow])>.review-intro{display:none!important}
@media(min-width:720px){form[data-appointment-flow] .appointment-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){form[data-appointment-flow] .appointment-field-grid{grid-template-columns:1fr}form[data-appointment-flow] .appointment-progress{margin-top:10px;margin-bottom:21px}form[data-appointment-flow] .appointment-step legend{font-size:1.48rem}form[data-appointment-flow] .appointment-consent{font-size:.82rem}}
@media(prefers-reduced-motion:reduce){form[data-appointment-flow] .appointment-choice-grid button,form[data-appointment-flow] .appointment-progress__bar{transition:none}}
