/* Floating consultation request and compact dialog. */
.consult-float{position:fixed;z-index:90;right:clamp(20px,3vw,48px);bottom:clamp(112px,19vh,180px);width:54px;height:54px;border:1px solid #ffffff70;border-radius:16px;background:linear-gradient(135deg,#348aff,#0755d9);color:#fff;font-weight:800;font-size:11px;line-height:1.2;box-shadow:0 12px 36px #071d4a90,0 0 0 5px #2a76ee27;transition:transform .22s,box-shadow .22s}.consult-float:hover,.consult-float:focus-visible{transform:translateY(-4px);box-shadow:0 18px 40px #071d4aa6,0 0 0 7px #2a76ee30}.consult-float:focus-visible{outline:3px solid #a9d5ff;outline-offset:4px}
.consult-dialog{position:fixed;inset:0;margin:auto;width:min(470px,calc(100% - 28px));max-height:min(90dvh,780px);padding:0;overflow:auto;border:0;border-radius:17px;background:#fff;color:#142238;box-shadow:0 30px 100px #0008}.consult-dialog::backdrop{background:#030d1bc9;backdrop-filter:blur(5px)}.consult-head{position:relative;background:linear-gradient(110deg,#0b254e,#1760c8);color:#fff;padding:25px 31px 23px}.consult-head small{color:#a4c8ff;font-size:11px;font-weight:800;letter-spacing:.15em}.consult-head h2{font-size:25px;letter-spacing:-.06em;margin:9px 0 4px}.consult-head p{font-size:13px;color:#d4e5ff;line-height:1.55;margin:0}.consult-close{position:absolute;right:18px;top:16px;color:#fff;background:#ffffff20;border:1px solid #ffffff56;border-radius:50%;width:35px;height:35px;font-size:24px;line-height:1}.consult-close:hover{background:#ffffff46}.consult-form{padding:25px 30px 30px;display:grid;gap:15px}.consult-field{display:block;color:#233654;font-size:13px;font-weight:800}.consult-field .required{color:#2377ff}.consult-field input,.consult-field select,.consult-field textarea{display:block;margin-top:7px;width:100%;min-height:43px;padding:10px 12px;border-radius:8px;border:1px solid #d7e0ec;background:#f6f9fc;color:#12263f;font:500 14px/1.5 'Noto Sans KR','Apple SD Gothic Neo',sans-serif;outline:0}.consult-field textarea{resize:vertical;min-height:76px}.consult-field input:focus,.consult-field select:focus,.consult-field textarea:focus{border-color:#2c7dff;box-shadow:0 0 0 3px #277bff22}.consult-field select:disabled{color:#93a1b4}.consult-region{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:7px}.consult-region select{margin-top:0}.consult-consent{display:flex;gap:8px;align-items:flex-start;color:#41536b;font-size:12px;line-height:1.65;cursor:pointer}.consult-consent input{margin-top:4px;accent-color:#2377ff}.consult-consent a{color:#1768d9;text-decoration:underline;text-underline-offset:2px}.consult-submit{min-height:48px;width:100%;border:0;border-radius:8px;background:#2377ff;color:#fff;font-size:15px;font-weight:800;cursor:pointer}.consult-submit:hover{background:#125cdd}.consult-submit:disabled{opacity:.65;cursor:wait}.consult-status{margin:0;font-size:13px;line-height:1.5;min-height:0}.consult-status:not(:empty){padding:9px 12px;border-radius:8px}.consult-status.error{background:#fff1f0;color:#b62929}.consult-status.success{background:#e9f5ee;color:#16753f}.consult-honey{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
@media(max-width:620px){.consult-float{right:18px;bottom:18px;width:46px;height:46px;border-radius:14px;font-size:10px}.consult-dialog{max-height:93dvh}.consult-head{padding:22px 23px 20px}.consult-form{padding:22px;gap:13px}.consult-region{grid-template-columns:1fr 1fr}}
@media(prefers-reduced-motion:reduce){.consult-float{transition:none}}

/* Compact speech-bubble styling: larger label and a small directional marker. */
.consult-float{width:58px;height:58px;border:1px solid #a6d8ffba;border-radius:18px 18px 18px 7px;background:radial-gradient(circle at 23% 18%,#6ec3ff7e,transparent 43%),linear-gradient(138deg,#368fff 2%,#0b55d5 88%);font-size:13px;font-weight:900;letter-spacing:-.04em;line-height:1.16;box-shadow:0 14px 35px #041e4d86,inset 0 1px 0 #fff7;isolation:isolate}
.consult-float::before{content:"";position:absolute;inset:-4px;border:1px solid #95ceff8c;border-radius:20px 20px 20px 9px;pointer-events:none;animation:consult-halo 4s ease-in-out infinite}
.consult-float::after{content:"↗";position:absolute;right:-8px;top:-8px;width:19px;height:19px;display:grid;place-items:center;border-radius:50%;border:1px solid #b7d8ff;background:#f6fbff;color:#1763d4;font:900 12px Arial,sans-serif;box-shadow:0 4px 12px #001b4275;pointer-events:none}
.consult-float:hover,.consult-float:focus-visible{transform:translateY(-3px) scale(1.04);box-shadow:0 19px 42px #042153a1,inset 0 1px 0 #fff9}
@keyframes consult-halo{0%,100%{opacity:.45;box-shadow:0 0 0 1px #3198ff18}50%{opacity:.95;box-shadow:0 0 0 5px #3198ff23}}
@media(max-width:620px){.consult-float{width:50px;height:50px;border-radius:16px 16px 16px 6px;font-size:12px}.consult-float::before{border-radius:18px 18px 18px 8px}.consult-float::after{width:17px;height:17px;font-size:11px;right:-6px;top:-6px}}
@media(prefers-reduced-motion:reduce){.consult-float::before{animation:none}}

/* Identical floating controls on the main and company pages. */
.floating-actions{position:fixed;right:26px;top:68.5%;transform:translateY(-50%);display:flex;flex-direction:column;align-items:center;gap:14px;z-index:90}
.floating-actions .consult-float,.floating-actions .cinematic-top{position:relative;inset:auto;bottom:auto!important;width:72px;height:72px;flex:0 0 72px;box-sizing:border-box;border:1.5px solid #fff;border-radius:50%;margin:0;padding:0;display:flex;align-items:center;justify-content:center;text-align:center;color:#fff;text-decoration:none;letter-spacing:-.04em;box-shadow:0 12px 30px #00143350;transition:transform .2s,box-shadow .2s}
.floating-actions .consult-float{background:linear-gradient(145deg,#2188ff,#0758d0);font-size:16px;font-weight:800;line-height:1.25}
.floating-actions .cinematic-top{background:#142e55;font-size:14px;font-weight:800;line-height:1}
.floating-actions .consult-float::before,.floating-actions .consult-float::after{display:none;animation:none}
.floating-actions .consult-float:hover,.floating-actions .cinematic-top:hover{transform:translateY(-3px);box-shadow:0 16px 34px #00143370}
.floating-actions .consult-float:focus-visible,.floating-actions .cinematic-top:focus-visible{outline:3px solid #98caff;outline-offset:4px}
@media(max-width:700px){.floating-actions{right:16px;gap:10px}.floating-actions .consult-float,.floating-actions .cinematic-top{width:56px;height:56px;flex-basis:56px;border-width:1.5px}.floating-actions .consult-float{font-size:13px}.floating-actions .cinematic-top{font-size:11px}}
@media(prefers-reduced-motion:reduce){.floating-actions .consult-float,.floating-actions .cinematic-top{transition:none}}
