*{box-sizing:border-box}body{margin:0;font-family:'Pretendard','Noto Sans KR','Nanum Gothic',sans-serif;color:#1f2937;background:#f8fafc}
a{color:inherit;text-decoration:none}.hidden{display:none!important}
.nav{position:sticky;top:0;z-index:5;display:flex;justify-content:space-between;align-items:center;padding:14px 5vw;background:#fff;box-shadow:0 1px 8px #0001}
.logo{font-weight:800;font-size:20px;color:#1f4f8a}.logo{display:flex;align-items:center;gap:8px}.logo img{width:42px;height:42px}.logo small{color:#E8862A;font-size:11px;letter-spacing:1px}
nav a,nav button{margin-left:18px;font-weight:600;color:#475569;background:none;border:0;font-size:15px;cursor:pointer}
main{min-height:75vh}.wrap{max-width:1040px;margin:0 auto;padding:36px 5vw}
.hero{background:linear-gradient(135deg,#1f4f8a,#4a8bd0);color:#fff;padding:80px 5vw 90px}
.hero h1{font-size:clamp(30px,5vw,48px);margin:0 0 14px;line-height:1.25}.hero p{font-size:18px;opacity:.9;max-width:600px}
.btn{display:inline-block;background:#2E6DB4;color:#fff;border:0;border-radius:12px;padding:13px 24px;font-weight:700;font-size:16px;cursor:pointer;font-family:inherit}
.btn.w{background:#fff;color:#1f4f8a}.btn.o{background:#fff;color:#2E6DB4;border:2px solid #2E6DB4}.btn.g{background:#16a34a}.btn:disabled{opacity:.5}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:18px}
.card{background:#fff;border-radius:18px;padding:24px;box-shadow:0 4px 18px #0f172a0d}
.card h3{margin:0 0 8px;color:#1f4f8a}.ic{font-size:30px}
h2.t{font-size:26px;color:#0f172a;margin:0 0 18px}
.pill{display:inline-block;padding:4px 12px;border-radius:99px;background:#dbeafe;color:#1e40af;font-size:13px;font-weight:700;margin-right:6px}
input,select,textarea{width:100%;padding:12px 14px;border:1.5px solid #cbd5e1;border-radius:10px;font-size:15px;font-family:inherit;margin:6px 0 14px}
.opt{display:flex;flex-wrap:wrap;gap:10px;margin:8px 0 20px}.opt button{padding:12px 20px;border-radius:12px;border:2px solid #cbd5e1;background:#fff;font-size:15px;font-weight:600;cursor:pointer;font-family:inherit}
.opt button.on{border-color:#2E6DB4;background:#eff6ff;color:#1d4ed8}
.q{margin-bottom:16px}.q .area{font-size:12px;color:#2E6DB4;font-weight:700}.q h4{margin:6px 0 12px;font-size:17px}
.ch{display:block;padding:11px 14px;border:1.5px solid #e2e8f0;border-radius:10px;margin:7px 0;cursor:pointer}.ch.on{border-color:#2E6DB4;background:#eff6ff}
.ch.right{border-color:#16a34a;background:#f0fdf4}.ch.wrong{border-color:#dc2626;background:#fef2f2}
.prog{height:8px;background:#e2e8f0;border-radius:9px;overflow:hidden;margin-bottom:20px}.prog i{display:block;height:100%;background:#2E6DB4;transition:.3s}
.big{font-size:54px;font-weight:800;color:#1f4f8a}.bar{height:14px;background:#e2e8f0;border-radius:9px;overflow:hidden}.bar i{display:block;height:100%}
.row{display:flex;gap:10px;align-items:center;margin:9px 0}.row b{width:90px}.row span{width:46px;text-align:right}
.fab{position:fixed;right:22px;bottom:22px;background:#E8862A;color:#fff;border:0;border-radius:99px;padding:14px 20px;font-weight:800;font-size:15px;box-shadow:0 6px 20px #0003;cursor:pointer;z-index:9}
.chatpop{position:fixed;right:22px;bottom:84px;width:min(370px,92vw);height:480px;background:#fff;border-radius:18px;box-shadow:0 10px 40px #0004;display:flex;flex-direction:column;z-index:9;overflow:hidden}
.chathead{background:#1f4f8a;color:#fff;padding:14px;font-weight:700;display:flex;justify-content:space-between;align-items:center}.chathead small{font-weight:400;opacity:.7;font-size:11px;margin-left:6px;flex:1}.chathead button{background:none;border:0;color:#fff;font-size:18px;cursor:pointer}
.msgs{flex:1;overflow:auto;padding:14px;background:#f1f5f9}.m{max-width:85%;padding:10px 13px;border-radius:14px;margin:6px 0;white-space:pre-wrap;line-height:1.5;font-size:14.5px}
.m.bot{background:#fff}.m.me{background:#2E6DB4;color:#fff;margin-left:auto}
.chatin{display:flex;gap:8px;padding:10px;border-top:1px solid #e2e8f0}.chatin input{margin:0}.chatin button{background:#2E6DB4;color:#fff;border:0;border-radius:10px;padding:0 16px;font-weight:700;cursor:pointer;white-space:nowrap}
.inline-chat{height:420px;border:1px solid #e2e8f0;border-radius:14px;display:flex;flex-direction:column;overflow:hidden}
.ok{background:#f0fdf4;border:1.5px solid #86efac;border-radius:14px;padding:20px}
footer{text-align:center;color:#94a3b8;padding:30px;font-size:13px}
.err{color:#dc2626;font-weight:600}
.btn.or{background:#E8862A}.hero{background:linear-gradient(135deg,#1f4f8acc,#2E6DB4bb),url(img/facility2.jpg) center/cover}
.gal{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}.gal figure{margin:0;background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 4px 18px #0f172a14}.gal img{width:100%;height:210px;object-fit:cover;display:block}.gal figcaption{padding:12px 16px;font-weight:600}
.callbar{background:#E8862A;color:#fff;border-radius:18px;padding:22px 26px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;margin-top:28px}.callbar a{font-size:26px;font-weight:800}
.herologo{width:110px;height:110px;border-radius:50%;box-shadow:0 6px 20px #0004;margin-bottom:14px}.intro p{line-height:1.8;margin:6px 0}.hl{color:#dc2626}.fee{width:100%;border-collapse:collapse;min-width:480px}.fee th{background:#1f4f8a;color:#fff;padding:10px}.fee td{padding:9px 12px;border-bottom:1px solid #e2e8f0;text-align:center}.fee tr:nth-child(odd) td{background:#f8fafc}
.qbody{display:flex;gap:22px;align-items:flex-start;flex-wrap:wrap}.qtext{flex:1;min-width:260px}
.fig{flex:0 0 auto;background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:6px;line-height:0}.fig svg{max-width:260px;max-height:250px;width:auto;height:auto;display:block}
.q h4 .katex,.ch .katex{font-size:1.12em}.ch .no{font-weight:700;color:#475569;margin-right:6px;font-size:1.15em;font-family:'Noto Sans KR','Malgun Gothic',sans-serif}.ch small{font-weight:700;margin-left:6px}
.tbar{position:sticky;top:64px;z-index:4;background:#f8fafcee;display:flex;justify-content:space-between;align-items:center;padding:8px 0}
.clock{font-weight:800;color:#1f4f8a;font-variant-numeric:tabular-nums}.clock.warn{color:#dc2626}.ok-t{color:#16a34a;font-weight:700}.no-t{color:#dc2626;font-weight:700}

.lv{display:inline-block;margin-left:6px;padding:1px 8px;border-radius:10px;background:#FDF0E3;color:#B8621A;font-size:12px;font-weight:700}
.passage{background:#F4F8FD;border-left:4px solid #2E6DB4;padding:12px 14px;margin:6px 0 10px;line-height:1.7;font-size:15px;border-radius:6px}

.typing{opacity:.6;font-style:italic}
