#consultation-dialog{width:min(1040px,calc(100vw - 64px));max-width:1040px;max-height:calc(100dvh - 64px);padding:0;border:1px solid #655640;border-radius:16px;background:#141310;color:var(--ivory);overflow:hidden;box-shadow:0 36px 110px #0009,0 0 0 1px #f2ede208 inset;transform-origin:center;}
#consultation-dialog::backdrop{background:#05050499;backdrop-filter:blur(12px);animation:consultation-backdrop-in 650ms ease both}
#consultation-dialog.is-closing::backdrop{animation:consultation-backdrop-out 500ms ease both}
.consultation-bar{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:64px;padding:10px 20px 10px 32px;border-bottom:1px solid #c9a87826;background:#1d1b17;color:#bfb6a8;font-size:12px;letter-spacing:.015em}.bar-divider{padding:0 12px;color:#786245}
#consultation-close{width:40px;height:40px;display:grid;place-items:center;border:1px solid transparent;border-radius:50%;background:transparent;color:var(--ivory);font-size:26px;line-height:1;transition:background 180ms,border-color 180ms}#consultation-close:hover{background:#c9a87818;border-color:#786245}
.consultation-scroll{max-height:calc(100dvh - 130px);overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#786245 transparent;padding:48px;display:grid;grid-template-columns:.9fr 1.1fr;gap:52px;}
.consultation-intro{align-self:start;position:sticky;top:0}.consultation-intro .eyebrow{font-size:11px;margin-bottom:24px;letter-spacing:.12em}.consultation-intro h2{font-size:clamp(28px,2.65vw,38px);line-height:1.4;font-weight:450;letter-spacing:-.045em;outline:none}.consultation-intro h2 span{color:var(--gold)}.consultation-intro>p:not(.eyebrow){font-size:14px;line-height:1.9;color:#c8bfb1;margin-top:24px}.consultation-email{display:inline-flex;align-items:center;min-height:44px;font-size:12px;color:var(--gold);margin-top:32px;border-bottom:1px solid #786245}
#consultation-dialog label{font-size:13px;margin-bottom:19px;line-height:1.5}#consultation-dialog .form-row{gap:16px}#consultation-dialog input,#consultation-dialog select,#consultation-dialog textarea{font-size:16px;min-height:48px;padding:12px 14px;background:#0f0e0c;border:1px solid #655640;transition:border-color 160ms,background 160ms}#consultation-dialog input:focus,#consultation-dialog select:focus,#consultation-dialog textarea:focus{border-color:var(--gold);background:#1a1712;outline:1px solid var(--gold);outline-offset:0}#consultation-dialog textarea{min-height:110px;resize:vertical}#consultation-dialog textarea::placeholder{color:#958c7e;font-size:13px;line-height:1.7}#consultation-dialog .required{font-size:10px;margin-left:4px;color:#a79c8a}#consultation-dialog .consent{font-size:12px;gap:10px;margin-bottom:8px}#consultation-dialog .consent input{width:17px;height:17px;min-height:17px;margin:0;flex-shrink:0}#consultation-dialog form small{font-size:10px;line-height:1.8;margin-bottom:22px;color:#a79c8a}#consultation-dialog form>.button{width:100%;justify-content:space-between;min-height:52px}#consultation-dialog #status{font-size:13px;line-height:1.7;padding:16px;border:1px solid #786245;margin-top:16px}
@keyframes consultation-backdrop-in{from{background:#05050400;backdrop-filter:blur(0)}to{background:#05050499;backdrop-filter:blur(12px)}}@keyframes consultation-backdrop-out{from{background:#05050499;backdrop-filter:blur(12px)}to{background:#05050400;backdrop-filter:blur(0)}}
@media(max-width:700px){#consultation-dialog{width:calc(100vw - 24px);max-height:calc(100dvh - 24px);border-radius:12px}.consultation-bar{min-height:56px;padding:8px 12px 8px 22px}.consultation-scroll{max-height:calc(100dvh - 82px);padding:28px 22px 32px;grid-template-columns:1fr;gap:30px}.consultation-intro{position:static}.consultation-intro h2{font-size:29px}.consultation-intro .eyebrow{margin-bottom:16px}.consultation-intro>p:not(.eyebrow){margin-top:18px;font-size:13px}.consultation-intro>p br{display:none}.consultation-email{margin-top:12px}#consultation-dialog .form-row{grid-template-columns:1fr;gap:0}}
@media(prefers-reduced-motion:reduce){#consultation-dialog::backdrop,#consultation-dialog.is-closing::backdrop{animation:none}}
#consultation-title:focus{outline:none}

/* Stable page width and proportional dialog motion. */
html{scrollbar-gutter:stable}.consultation-scroll{scrollbar-gutter:stable}
#consultation-dialog::backdrop{backdrop-filter:blur(6px);animation:consultation-scrim-in 420ms ease both}
#consultation-dialog.is-closing::backdrop{animation:consultation-scrim-out 280ms ease both}
@keyframes consultation-scrim-in{from{opacity:0}to{opacity:1}}@keyframes consultation-scrim-out{from{opacity:1}to{opacity:0}}
@media(prefers-reduced-motion:reduce){#consultation-dialog::backdrop,#consultation-dialog.is-closing::backdrop{animation:none}}
