.contact-dock{position:fixed;right:26px;bottom:max(24px,env(safe-area-inset-bottom));z-index:40;display:flex;flex-direction:column;align-items:flex-end;gap:10px;font-family:var(--serif)}
.contact-dock a,.contact-dock button{height:48px;border-radius:28px;padding:0 18px;display:flex;align-items:center;gap:10px;font-size:14px;line-height:1;border:1px solid #d4d0c4;box-shadow:0 4px 18px #28251912;cursor:pointer;transition:transform .2s,box-shadow .2s;white-space:nowrap}
.contact-dock a:hover,.contact-dock button:hover{transform:translateY(-2px);box-shadow:0 6px 20px #28251920}
.contact-dock .kakao-contact{background:#fee500;border-color:#fee500;color:#30251e}.contact-dock .consultation-toggle{background:#363a32;color:#fff;border-color:#363a32}
.contact-dock svg{width:20px;height:20px;flex-shrink:0}.contact-dock .online-dot{width:6px;height:6px;background:#c8d4b6;border-radius:50%;margin-left:2px}
.consultation-panel{position:fixed;right:26px;bottom:142px;z-index:41;width:365px;max-width:calc(100vw - 32px);height:530px;max-height:calc(100dvh - 174px);background:#faf9f5;border:1px solid #d6d2c7;border-radius:17px;box-shadow:0 16px 65px #302a2329;display:flex;flex-direction:column;overflow:hidden;font-family:var(--serif);font-size:14px;line-height:1.7;animation:consultation-enter .23s ease-out}
.consultation-header{display:flex;align-items:center;gap:12px;padding:17px 20px;background:#eeece4;border-bottom:1px solid #dedbd1;flex-shrink:0}.consultation-avatar{display:grid;place-items:center;width:36px;height:36px;background:#faf9f5;border:1px solid #cec9bb;border-radius:50%;font-size:16px}.consultation-title{flex:1;min-width:0}.consultation-title h2{font-size:17px;line-height:1.3;letter-spacing:0}.consultation-title p{font:10px/1.5 Arial,sans-serif;letter-spacing:.03em;color:#6b7063;margin:4px 0 0}.consultation-close{border:0;background:transparent;font-family:Arial,sans-serif;font-size:25px;line-height:1;width:34px;height:34px;color:#625e54;border-radius:50%;cursor:pointer}
.consultation-messages{padding:19px 17px;overflow-y:auto;overscroll-behavior:contain;flex:1;min-height:0;scrollbar-width:thin}.consultation-message{max-width:93%;margin:0 0 13px;padding:12px 14px;border:1px solid #e4e0d6;background:#fff;border-radius:2px 13px 13px;white-space:pre-wrap;overflow-wrap:anywhere;color:#34362e;font-size:14px;line-height:1.85}.consultation-message.is-visitor{background:#e8ebdf;border-color:#e8ebdf;border-radius:13px 2px 13px 13px;margin-left:auto;width:fit-content}.consultation-message .sender{display:block;font-size:10px;color:#868477;margin-bottom:5px;letter-spacing:.04em}
.consultation-options{display:flex;flex-wrap:wrap;gap:7px;padding:11px 17px;border-top:1px solid #e5e2d9;flex-shrink:0}.consultation-options button{border:1px solid #d9d5ca;border-radius:16px;background:#faf9f5;padding:6px 11px;font-size:12px;line-height:1.3;color:#575a4d;cursor:pointer}.consultation-options button:hover{background:#eaece2;border-color:#a7ae99}
.consultation-compose{display:flex;gap:8px;align-items:center;padding:0 17px 12px;flex-shrink:0}.consultation-compose input{border:1px solid #d9d5ca;border-radius:8px;background:white;padding:10px 11px;font-size:14px;line-height:1.5;min-width:0;flex:1}.consultation-compose button{border:0;background:#414637;color:white;border-radius:8px;padding:10px 13px;font-size:13px;cursor:pointer;white-space:nowrap}
.consultation-handoff{display:flex;gap:0;flex-shrink:0;padding:10px 8px;background:#f0eee7;border-top:1px solid #e0dccf;justify-content:center}.consultation-handoff a,.consultation-handoff button{font-size:12px;line-height:1.5;background:none;border:0;padding:2px 10px;color:#575b4e;cursor:pointer}.consultation-handoff>:not(:first-child){border-left:1px solid #cfcbbf}
.consultation-disclaimer{margin:0;padding:8px 17px;font-size:10px;line-height:1.5;color:#858174;text-align:center;background:#faf9f5;flex-shrink:0}
@keyframes consultation-enter{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:600px){.contact-dock{right:16px;bottom:max(16px,env(safe-area-inset-bottom));gap:8px}.contact-dock a,.contact-dock button{height:43px;padding:0 14px;font-size:12px;gap:8px}.contact-dock svg{width:18px;height:18px}.consultation-panel{right:16px;bottom:119px;width:calc(100% - 32px);height:540px;max-height:calc(100dvh - 137px)}.consultation-compose input{font-size:16px}.consultation-messages{padding:14px}.consultation-header{padding:13px 16px}.consultation-options{padding:9px 14px}.consultation-disclaimer{font-size:10px}}
@media(max-height:560px){.consultation-panel{top:10px;bottom:10px;height:auto;max-height:none}.consultation-options{padding-top:6px;padding-bottom:6px}.consultation-disclaimer{display:none}}
@media(prefers-reduced-motion:reduce){.consultation-panel{animation:none}}
@media print{.contact-dock,.consultation-panel{display:none}}
