/* Fixed public contact controls. Private dialogs and printed reports stay unobstructed. */
:root{--quick-height:146px}body{padding-bottom:var(--quick-height)}
.quick-tuition{position:fixed;z-index:45;bottom:max(12px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);width:min(1240px,calc(100% - 36px));padding:18px 22px 14px;background:#fff;color:var(--ink);border:1px solid #dce2f1;border-top:3px solid var(--blue);box-shadow:0 9px 50px #0a143b25;display:grid;grid-template-columns:150px minmax(0,1fr);gap:24px;border-radius:3px}
.quick-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;padding-top:5px}.quick-heading>div{display:grid;gap:9px}.quick-heading span{font-size:8px;font-weight:650;letter-spacing:.09em;color:var(--blue)}.quick-heading strong{font-size:17px;letter-spacing:-.06em;white-space:nowrap;line-height:1.4}.quick-toggle{display:none}
.quick-form{min-width:0}.quick-fields{display:grid;grid-template-columns:1.2fr 1.05fr .85fr .6fr 1.35fr 1.3fr;gap:9px;align-items:end}.quick-fields label{font-size:10px;color:#606574;letter-spacing:-.02em;display:grid;gap:5px;min-width:0;font-weight:600}.quick-fields input,.quick-fields select{display:block;min-width:0;width:100%;height:43px;padding:0 11px;border:1px solid #dbe0ec;border-radius:2px;background:#f8faff;color:#181c28;font-weight:500;line-height:1.4;font-size:12px;font-family:inherit}.quick-fields input::placeholder{color:#7b8190}.quick-fields input[type=number]{padding-right:4px}.quick-fields select{padding-right:4px}.quick-submit{height:43px;background:var(--blue);color:white;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 13px;font-size:12px;font-weight:650;white-space:nowrap}.quick-submit>span:last-child{font-size:21px}.quick-submit:disabled{opacity:.65}
.quick-notes{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:11px;font-size:9px;color:#6b7282;line-height:1.6}.quick-consent-row{display:flex;align-items:center;gap:9px;white-space:nowrap}.quick-consent{display:flex;align-items:center;gap:5px;cursor:pointer;font-size:10px;font-weight:500;color:#4c5261}.quick-consent input{width:15px;height:15px;margin:0;accent-color:var(--blue)}.quick-consent small{font-size:9px}.quick-privacy summary{cursor:pointer;text-decoration:underline;text-underline-offset:3px;font-size:9px}.quick-privacy>div{position:absolute;bottom:calc(100% + 10px);left:0;width:min(440px,100%);max-height:320px;overflow:auto;background:#fff;padding:24px;box-shadow:0 4px 35px #10182826;border:1px solid #dbe0ec;color:#444b5b;font-size:11px;line-height:1.8;white-space:normal}.quick-privacy strong{font-size:13px;color:#121827}.quick-privacy dl{display:grid;grid-template-columns:86px 1fr;gap:8px;margin:14px 0}.quick-privacy dd{margin:0}.quick-privacy dt{font-weight:650}.quick-notes>p>a{text-decoration:underline;text-underline-offset:3px}.quick-status{margin:0;font-size:11px;line-height:1.7;padding-top:9px;white-space:pre-line;color:var(--blue)}.quick-status:empty{display:none}.quick-status[data-state=error]{color:#b42318}
.contact-rail{position:fixed;right:16px;top:50%;transform:translateY(-50%);z-index:44;display:grid;gap:8px;padding:7px;border:1px solid #e2e7f0;border-radius:40px;background:#ffffffed;box-shadow:0 8px 35px #0a143b17;backdrop-filter:blur(12px)}.contact-shortcut{width:54px;min-height:67px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;border-radius:26px;transition:background .2s,transform .2s}.contact-icon{width:37px;height:37px;display:grid;place-items:center;border-radius:50%;background:#eef2ff;color:var(--blue)}.contact-icon svg{width:22px;height:22px}.contact-kakao .contact-icon{background:#fee500;color:#3c1e1e}.contact-naver .contact-icon{background:#03c75a;color:#fff}.contact-instagram .contact-icon{background:linear-gradient(35deg,#ffb04b,#e83b78 50%,#7556dd);color:white}.contact-map .contact-icon{background:var(--blue);color:#fff}.contact-label{font-size:9px;font-weight:600;line-height:1.5;letter-spacing:-.055em;color:#333c4b;white-space:nowrap}.contact-shortcut:hover{background:#edf2ff;transform:translateX(-2px)}.contact-shortcut[aria-disabled=true]{opacity:.4;pointer-events:none}
body:has(dialog[open]) .contact-rail,body:has(dialog[open]) .quick-tuition{visibility:hidden;pointer-events:none}.analytics-choice{bottom:calc(var(--quick-height) + 8px)}
@media(min-width:1600px){.contact-rail{right:28px}.quick-tuition{width:min(1320px,calc(100% - 180px))}}
@media(max-width:1000px){:root{--quick-height:88px}.quick-tuition{display:block;padding:13px 18px 12px;width:calc(100% - 24px)}.quick-heading{align-items:center;padding:0}.quick-heading>div{gap:3px}.quick-heading strong{font-size:16px}.quick-heading>div>span{font-size:8px}.quick-toggle{display:flex;align-items:center;gap:20px;background:var(--blue);color:white;min-height:40px;padding:0 13px;font-size:12px}.quick-toggle>span{color:inherit;font-size:12px;letter-spacing:-.02em}.quick-toggle svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;transition:transform .25s}.is-expanded .quick-toggle svg{transform:rotate(180deg)}.quick-tuition:not(.is-expanded) .quick-form{display:none}.quick-form{margin-top:17px;max-height:calc(78dvh - 78px);overflow:auto;overscroll-behavior:contain;padding:2px 3px 3px;margin-left:-3px;margin-right:-3px}.quick-fields{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.quick-fields label:nth-child(1),.quick-fields label:nth-child(2){grid-column:span 2}.quick-phone{grid-column:span 2}.quick-submit{grid-column:1/-1}.quick-fields label{font-size:11px}.quick-fields input,.quick-fields select{font-size:16px;height:44px}.quick-submit{font-size:14px;height:46px;justify-content:center;gap:25px}.quick-notes{align-items:flex-start;flex-direction:column;margin-top:15px;font-size:10px;gap:10px}.quick-consent{font-size:12px;gap:7px}.quick-consent small{font-size:10px}.quick-consent input{width:18px;height:18px}.quick-consent-row{width:100%;justify-content:space-between;flex-wrap:wrap}.quick-privacy{font-size:10px}.quick-privacy summary{font-size:10px}.quick-privacy[open]{flex-basis:100%}.quick-privacy>div{position:static;width:100%;max-height:220px;margin-top:10px;padding:18px;box-shadow:none;font-size:11px}.quick-status{font-size:12px}.contact-rail{right:12px;top:auto;bottom:calc(var(--quick-height) + 10px);transform:none;border-radius:32px;gap:4px;padding:6px}.contact-shortcut{width:43px;min-height:52px;gap:3px}.contact-icon{width:29px;height:29px}.contact-icon svg{width:18px;height:18px}.contact-label{font-size:8px}.quick-tuition.is-expanded~.contact-rail{display:none}body:has(.quick-tuition.is-expanded) .contact-rail{visibility:hidden}.analytics-choice{bottom:calc(var(--quick-height) + 4px)}}
@media(max-width:440px){.quick-tuition{padding:11px 14px;width:calc(100% - 20px)}.quick-fields{grid-template-columns:1fr 1fr}.quick-fields label:nth-child(1),.quick-fields label:nth-child(2){grid-column:auto}.quick-phone{grid-column:1/-1}.quick-heading strong{font-size:15px}.quick-toggle{gap:15px}.quick-consent-row{gap:8px}.contact-rail{right:10px}.contact-shortcut{width:42px}}
@media(max-height:600px) and (min-width:1001px){.contact-rail{top:110px;transform:none;gap:2px;padding:4px}.contact-shortcut{min-height:52px}.contact-icon{width:28px;height:28px}.contact-icon svg{width:18px;height:18px}}
@media(prefers-reduced-motion:reduce){.contact-shortcut,.quick-toggle svg{transition:none}}
.motion-paused .contact-shortcut,.motion-paused .quick-toggle svg{transition:none}
@media print{body{padding-bottom:0!important}.contact-rail,.quick-tuition{display:none!important}}
