:root{--blue:#3f8fe0;--blue2:#6bb2f0;--teal:#4cc0b0;--navy:#27456e;--sky:#eef6ff;--mint:#eaf9f6;--line:#dfeaf7;--txt:#2a3647;--mute:#5f6e83}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:76px}
body{font-family:'Pretendard','Noto Sans KR','Malgun Gothic',sans-serif;color:var(--txt);background:#fff;line-height:1.7;padding-bottom:62px;word-break:keep-all}
a{color:inherit;text-decoration:none}ul,ol{list-style:none}img{max-width:100%;display:block}
.wrap{max-width:1100px;margin:0 auto;padding:0 20px}.narrow{max-width:820px}
em{color:#e0505a;font-style:normal;font-size:.8em}
.center{text-align:center}.small{font-size:13px;color:var(--mute);margin-top:12px}

/* 헤더 */
.gnb{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.96);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.gnb-in{display:flex;align-items:center;gap:18px;height:66px}
.logo{display:flex;align-items:center;gap:8px;font-weight:800;font-size:19px;color:var(--navy)}.logo img{width:30px;height:30px}
.menu{display:flex;gap:20px;font-size:14.5px;font-weight:600;margin-left:auto}.menu a:hover{color:var(--blue)}
.tel-btn{background:var(--sky);color:var(--blue);padding:8px 16px;border-radius:20px;font-weight:800;font-size:14px;white-space:nowrap}
.sub .tel-btn{margin-left:auto}
.burger{display:none;background:none;border:0;font-size:26px;color:var(--navy)}

/* 히어로 */
.hero{min-height:500px;display:flex;align-items:center;justify-content:center;text-align:center;color:var(--navy);background:url(assets/hero.svg) center/cover no-repeat,#e9f4ff;padding:60px 20px}
.chips span{display:inline-block;margin:3px;padding:4px 14px;background:rgba(255,255,255,.85);border:1px solid #bcd9f5;border-radius:20px;font-size:14px;color:var(--blue);font-weight:600}
.hero h1{font-size:46px;line-height:1.3;margin:22px 0 14px;font-weight:800}
.sub{font-size:18px;color:#46628a}
.btns{margin-top:30px;display:flex;gap:10px;justify-content:center;flex-wrap:wrap}
.btn{display:inline-block;padding:13px 26px;border-radius:30px;font-weight:700;font-size:15px;border:1px solid transparent}
.primary{background:var(--blue);color:#fff;box-shadow:0 6px 16px rgba(63,143,224,.3)}
.outline{background:#fff;border-color:#b9d6f3;color:var(--blue)}.outline.dark{color:var(--navy);border-color:var(--navy);background:transparent}
.white{background:#fff;color:var(--blue)}.small-btn{padding:8px 16px;font-size:13px;margin-top:10px}

.notice-band{background:var(--mint);padding:12px 0;text-align:center;font-size:14.5px;color:#2b6f66;font-weight:600}
.notice-band span{font-weight:400;color:#4d867e}

.sec{padding:76px 0}.alt{background:#f6faff}
h2{font-size:30px;line-height:1.4;margin-bottom:18px;color:var(--navy)}
h3{font-size:18px;margin-bottom:6px;color:var(--navy)}
.eyebrow{color:var(--blue);font-weight:800;font-size:13.5px;letter-spacing:.04em;margin-bottom:8px}
.hl{margin-top:18px;padding:14px 18px;background:var(--sky);border-left:4px solid var(--blue);border-radius:0 10px 10px 0;font-weight:600;color:var(--navy)!important}
.sec p{color:var(--mute)}

.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:26px}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:26px}
.card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:24px;box-shadow:0 6px 18px rgba(63,143,224,.07);transition:.2s}
.card.link:hover,.qcard:hover,.sym-item:hover{transform:translateY(-3px);box-shadow:0 10px 24px rgba(63,143,224,.15)}
.step{font-size:12px;font-weight:800;color:var(--teal);display:block;margin-bottom:6px}
.ico{font-size:30px;margin-bottom:8px}

.quick{padding:40px 0 10px}.quick .grid4{margin-top:0}
.qcard{display:block;text-align:center;padding:22px 14px;background:linear-gradient(180deg,#fff,var(--sky));border:1px solid var(--line);border-radius:18px;transition:.2s}
.qcard span{font-size:30px}.qcard p{font-size:13.5px;color:var(--mute)}

.doc{display:grid;grid-template-columns:.9fr 1.2fr;gap:50px;align-items:center}
.photo{width:100%;border-radius:22px;box-shadow:0 10px 30px rgba(63,143,224,.18)}
.list li{padding:6px 0 6px 24px;position:relative}.list li:before{content:'✓';position:absolute;left:0;color:var(--teal);font-weight:800}
.sec .list{margin-top:10px}.sec .list li{color:var(--txt)}

.two{display:grid;grid-template-columns:1.1fr 1fr;gap:18px}
.panel{padding:34px;border-radius:20px;background:var(--sky)}.panel .btn{margin-top:14px}.soft{background:#fff;border:1px solid var(--line)}
.alt .soft{background:#fff}
.links li a{display:block;padding:13px 4px;border-bottom:1px solid var(--line);font-weight:700;color:var(--navy)}.links li a:hover{color:var(--blue)}
.fmt{background:linear-gradient(135deg,#e6f7f3,#eaf3ff);text-align:center}.fmt .eyebrow{color:var(--teal)}.fmt p{margin-bottom:16px}

.tags{display:flex;flex-wrap:wrap;gap:8px}.tags a{padding:7px 16px;background:#fff;border:1px solid var(--line);border-radius:20px;font-size:14px;color:var(--navy);font-weight:600}.tags a:hover{background:var(--sky);color:var(--blue)}
.tags.big a{padding:12px 22px;font-size:15.5px}
.sym-item{display:block;padding:20px;background:#fff;border:1px solid var(--line);border-radius:14px;font-weight:700;text-align:center;color:var(--navy);transition:.2s}
.check{display:flex;justify-content:space-between;align-items:center;padding:26px 32px;border-radius:20px;background:linear-gradient(90deg,#dcefff,#e6f9f5);color:var(--navy);font-size:18px}
.check p{font-size:14px;font-weight:400}.check span{font-size:28px;color:var(--blue)}

.tour figure{border-radius:16px;overflow:hidden;border:1px solid var(--line);background:#fff}
.tour figcaption{padding:10px;text-align:center;font-size:14px;font-weight:600;color:var(--navy)}

details{border-bottom:1px solid var(--line);padding:16px 0}
summary{cursor:pointer;font-weight:700;font-size:17px;list-style:none;display:flex;justify-content:space-between;color:var(--navy)}
summary::-webkit-details-marker{display:none}
summary:after{content:'+';color:var(--blue);font-size:22px}details[open] summary:after{content:'–'}
details p{margin-top:10px}

.cta{background:linear-gradient(135deg,var(--blue2),var(--teal));color:#fff;text-align:center;padding:64px 20px}
.cta h2{color:#fff}.cta p{margin-bottom:20px;color:#fff;opacity:.95}

footer{background:#f2f7fd;color:var(--mute);padding:50px 0 20px;font-size:14px;border-top:1px solid var(--line)}
.foot{display:grid;grid-template-columns:1fr 1fr 1.4fr;gap:34px}
footer h4{color:var(--navy);margin-bottom:8px}footer strong{color:var(--navy);font-size:18px}
.foot small{display:block;margin-top:8px;color:#e0505a}
.tel{font-size:22px;color:var(--blue);font-weight:800;margin-top:8px}
.map-box img{margin-top:10px;border-radius:12px;border:1px solid var(--line)}
.copy{text-align:center;margin-top:30px;font-size:12px;color:#8a98ad}.copy.light{padding:20px}

.dock{position:fixed;bottom:0;left:0;right:0;z-index:60;display:flex;background:#fff;border-top:1px solid var(--line);box-shadow:0 -4px 14px rgba(0,0,0,.05)}
.dock a{flex:1;text-align:center;color:var(--navy);padding:15px 0;font-weight:700;font-size:15px}
.dock a:first-child{background:var(--blue);color:#fff}

/* 챗봇 */
.chat-fab{position:fixed;right:18px;bottom:78px;z-index:70;display:flex;align-items:center;gap:6px;padding:12px 18px;border:0;border-radius:30px;background:var(--teal);color:#fff;font-size:20px;box-shadow:0 8px 22px rgba(76,192,176,.5);cursor:pointer}
.chat-fab span{font-size:14px;font-weight:700}
.chat{position:fixed;right:18px;bottom:78px;z-index:80;width:340px;max-width:calc(100vw - 36px);height:460px;display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:0 16px 40px rgba(39,69,110,.25);overflow:hidden}
.chat[hidden]{display:none}
.chat header{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;background:linear-gradient(90deg,var(--blue2),var(--teal));color:#fff}
.chat header button{background:none;border:0;color:#fff;font-size:18px;cursor:pointer}
.chat-body{flex:1;overflow:auto;padding:14px;background:#f6faff;display:flex;flex-direction:column;gap:8px}
.msg{max-width:84%;padding:9px 13px;border-radius:14px;font-size:14px;line-height:1.55;white-space:pre-line}
.msg.bot{background:#fff;border:1px solid var(--line);align-self:flex-start}.msg.me{background:var(--blue);color:#fff;align-self:flex-end}
.chat-quick{display:flex;flex-wrap:wrap;gap:6px;padding:8px 12px;border-top:1px solid var(--line)}
.chat-quick button{padding:5px 12px;border:1px solid #b9d6f3;background:#fff;color:var(--blue);border-radius:16px;font-size:13px;cursor:pointer}
.chat-form{display:flex;border-top:1px solid var(--line)}
.chat-form input{flex:1;border:0;padding:13px;font-size:14px;outline:none}.chat-form button{border:0;background:var(--blue);color:#fff;padding:0 18px;font-weight:700;cursor:pointer}

/* 상세페이지 */
.sub .gnb-in{justify-content:space-between}
.crumb{font-size:13px;color:var(--mute);margin-bottom:10px}.crumb a{color:var(--blue)}
.ptitle{font-size:34px;color:var(--navy);line-height:1.35;margin-bottom:10px}
.plead{font-size:18px;color:var(--mute);margin-bottom:20px}
.blk{margin:30px 0 8px;font-size:20px;padding-left:12px;border-left:4px solid var(--teal)}
.steps{counter-reset:s}.steps li{counter-increment:s;padding:10px 0 10px 44px;position:relative;border-bottom:1px dashed var(--line)}
.steps li:before{content:counter(s);position:absolute;left:0;top:10px;width:28px;height:28px;border-radius:50%;background:var(--blue);color:#fff;text-align:center;line-height:28px;font-weight:700;font-size:14px}
.notice-box{background:#fff8e6;border:1px solid #f3d98a;color:#8a6a10;padding:14px 18px;border-radius:12px;margin-bottom:10px;font-weight:600}

@media(max-width:900px){
 .menu{display:none;position:absolute;top:66px;left:0;right:0;background:#fff;flex-direction:column;padding:16px 20px;gap:14px;border-bottom:1px solid var(--line);margin:0}
 .nav-open .menu{display:flex}.burger{display:block}.tel-btn{margin-left:auto}
 .hero h1{font-size:30px}h2{font-size:24px}.sec{padding:52px 0}
 .grid4{grid-template-columns:1fr 1fr}.grid3,.two,.doc,.foot{grid-template-columns:1fr}
 .grid3.sym,.tour{grid-template-columns:1fr 1fr}
 .ptitle{font-size:26px}
}
