:root{--navy:#1a1a1a;--blue:#ffd400;--body:#333;--ink:#1a1a1a;--mist:#faf9f2;--card:#fff9db;--line:#e8e6de;--gold:#b8960c;--white:#fff;--serif:var(--font-serif), "Noto Serif KR", serif;--sans:"Pretendard Variable", Pretendard, -apple-system, sans-serif}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}[id]{scroll-margin-top:64px}body{font-family:var(--sans);color:var(--body);background:var(--white);word-break:keep-all;letter-spacing:-.01em;font-size:17px;line-height:1.8}a{color:inherit;text-decoration:none}.wrap{max-width:680px;margin:0 auto;padding:0 24px}header{z-index:50;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);background:#fffffff0;position:sticky;top:0}.hd{justify-content:space-between;align-items:center;max-width:680px;height:60px;margin:0 auto;padding:0 20px;display:flex}.logo{font-family:var(--serif);color:var(--navy);letter-spacing:-.02em;align-items:center;min-height:44px;font-size:19px;font-weight:900;display:inline-flex}.logo .bang{color:var(--gold)}.hd-right{align-items:center;gap:14px;display:flex}.hd-tel{color:var(--navy);letter-spacing:0;background:var(--blue);border-radius:20px;padding:8px 14px;font-size:15px;font-weight:800}.hd-tel svg{vertical-align:-2px;margin-right:4px}.menu-btn{cursor:pointer;background:0 0;border:none;flex-direction:column;gap:4px;margin-right:-10px;padding:14px 10px;display:flex}.menu-btn span{background:var(--navy);width:20px;height:2px;transition:all .2s;display:block}header nav{border-top:1px solid var(--line);background:var(--white);display:none}header nav.open{display:block}header nav a{color:var(--navy);border-bottom:1px solid var(--mist);padding:14px 24px;font-size:15px;font-weight:600;display:block}header nav a:last-child{border-bottom:none}.hero{background:linear-gradient(180deg,var(--mist) 0%,var(--white) 100%);text-align:center;padding:84px 0 72px;position:relative;overflow:hidden}.hero .bang-mark{font-family:var(--serif);color:var(--blue);opacity:.18;pointer-events:none;-webkit-user-select:none;user-select:none;font-size:340px;font-weight:900;line-height:1;position:absolute;top:-60px;right:-30px}.hero h1{font-family:var(--serif);color:var(--navy);letter-spacing:-.03em;font-size:clamp(30px,7.4vw,42px);font-weight:900;line-height:1.42;position:relative}.hero .sub{color:var(--body);margin-top:22px;font-size:16.5px;position:relative}.hero .sub strong{color:var(--navy);font-weight:700}.hero .meta{color:#6f6b5c;letter-spacing:.02em;margin-top:34px;font-size:13px;font-weight:600;position:relative}.hero .meta i{color:var(--gold);margin:0 8px;font-style:normal}.scroll-cue{color:var(--gold);margin-top:40px;font-size:20px;animation:2.2s ease-in-out infinite bob;position:relative}@keyframes bob{0%,to{transform:translateY(0)}50%{transform:translateY(6px)}}@media (prefers-reduced-motion:reduce){.scroll-cue{animation:none}.reveal{opacity:1!important;transition:none!important;transform:none!important}}section{padding:76px 0}.eyebrow{color:var(--navy);letter-spacing:.14em;margin-bottom:14px;font-size:13px;font-weight:800;display:inline-block}.eyebrow:before{content:"!";font-family:var(--serif);background:var(--blue);color:var(--navy);border-radius:4px;margin-right:9px;padding:0 7px;font-weight:900}.sec-title{font-family:var(--serif);color:var(--navy);letter-spacing:-.02em;margin-bottom:40px;font-size:clamp(23px,5.6vw,29px);font-weight:700;line-height:1.5}.block{margin-bottom:52px}.block:last-child{margin-bottom:0}.block h3{font-family:var(--serif);color:var(--navy);letter-spacing:-.02em;margin-bottom:14px;font-size:20px;font-weight:700;line-height:1.55}.block h3 .no{font-family:var(--sans);color:var(--gold);letter-spacing:.1em;margin-bottom:8px;font-size:13px;font-weight:800;display:block}.block p{margin-bottom:14px}.block p:last-child{margin-bottom:0}.block em{color:var(--navy);background:linear-gradient(#0000 62%,#ffd40073 62%);font-style:normal;font-weight:700}.goal{background:var(--navy);color:#e2dfd4;text-align:center;padding:80px 0;position:relative;overflow:hidden}.goal .bang-mark{font-family:var(--serif);color:var(--blue);opacity:.14;pointer-events:none;font-size:300px;font-weight:900;line-height:1;position:absolute;bottom:-90px;left:-40px}.goal .lead{color:#cfcbc0;margin-bottom:22px;font-size:15.5px;position:relative}.goal h2{font-family:var(--serif);color:var(--white);letter-spacing:-.02em;font-size:clamp(25px,6.4vw,36px);font-weight:900;line-height:1.56;position:relative}.goal h2 .hl{color:var(--blue)}.goal .after{color:#d6d2c6;max-width:520px;margin-top:26px;margin-left:auto;margin-right:auto;font-size:16px;line-height:1.85;position:relative}.goal .rule{background:var(--blue);width:44px;height:3px;margin:30px auto 0;position:relative}.program{background:var(--mist)}.part-card{background:var(--card);border:2px solid var(--blue);border-radius:10px;margin-bottom:16px;padding:24px 22px}.part-card h3{font-family:var(--serif);color:var(--navy);margin-bottom:10px;font-size:17.5px;font-weight:700}.part-card h3 .pn{background:var(--navy);width:24px;height:24px;color:var(--blue);font-family:var(--sans);vertical-align:-3px;border-radius:50%;justify-content:center;align-items:center;margin-right:9px;font-size:13px;font-weight:800;display:inline-flex}.part-card h3 .tag{font-family:var(--sans);color:var(--navy);background:var(--blue);vertical-align:2px;letter-spacing:.02em;border-radius:20px;margin-left:8px;padding:2px 10px;font-size:12px;font-weight:800;display:inline-block}.part-card p{font-size:16px}.part-intro{margin-bottom:26px}.sub-block{margin-top:60px}.sub-block h3{font-family:var(--serif);color:var(--navy);letter-spacing:-.02em;margin-bottom:16px;font-size:20px;font-weight:700}.sub-block p{margin-bottom:14px}.sub-block p:last-child{margin-bottom:0}.road{margin-top:26px;padding-left:26px;position:relative}.road:before{content:"";background:var(--line);width:2px;position:absolute;top:8px;bottom:8px;left:7px}.stage{padding-bottom:34px;position:relative}.stage:last-child{padding-bottom:0}.stage:before{content:"";background:var(--white);border:4px solid var(--blue);border-radius:50%;width:16px;height:16px;position:absolute;top:7px;left:-26px}.stage.final:before{background:var(--navy);border-color:var(--blue)}.stage h4{font-family:var(--serif);color:var(--navy);margin-bottom:8px;font-size:17.5px;font-weight:700}.stage h4 small{font-family:var(--sans);color:#6f6b5c;margin-left:8px;font-size:13px;font-weight:600}.stage p{font-size:16px}.growth-note{background:var(--white);border-left:3px solid var(--blue);color:var(--navy);border-radius:0 8px 8px 0;margin-top:26px;padding:16px 20px;font-size:15.5px;font-weight:600}.schools{flex-wrap:wrap;gap:8px;margin-top:18px;display:flex}.schools span{background:var(--white);border:1px solid var(--line);color:var(--navy);border-radius:20px;padding:6px 14px;font-size:14px;font-weight:700}.callband{background:var(--navy);text-align:center;color:#d6d2c6;border-radius:14px;margin-top:64px;padding:34px 28px}.callband p{font-size:15.5px;line-height:1.8}.callband .tel{color:var(--blue);letter-spacing:.01em;margin:16px 0 8px;font-size:clamp(26px,7vw,32px);font-weight:800;display:inline-block}.callband .tel svg{vertical-align:-3px;margin-right:8px}.callband .hours{color:#a8a498;font-size:14px}.steps{counter-reset:step}.step{padding:0 0 40px 58px;position:relative}.step:before{counter-increment:step;content:counter(step);background:var(--card);border:2px solid var(--navy);width:40px;height:40px;color:var(--navy);border-radius:50%;justify-content:center;align-items:center;font-size:17px;font-weight:800;display:flex;position:absolute;top:2px;left:0}.step:after{content:"";background:var(--line);width:2px;position:absolute;top:46px;bottom:6px;left:19px}.step:last-child{padding-bottom:0}.step:last-child:after{display:none}.step h3{font-family:var(--serif);color:var(--navy);margin-bottom:8px;font-size:18px;font-weight:700}.step h3 small{font-family:var(--sans);color:#6f6b5c;font-size:13px;font-weight:600}.step p{font-size:16px}.step-tel{color:var(--navy);background:var(--blue);border-radius:20px;margin-top:10px;padding:5px 14px;font-size:15px;font-weight:800;display:inline-block}.rule-note{color:#6f6b5c;text-align:center;margin-top:36px;font-size:14px}.contact{background:var(--navy);color:#d6d2c6;text-align:center}.contact .ask{font-family:var(--serif);color:var(--white);font-size:19px;font-weight:600;line-height:1.7}.contact .tel{color:var(--white);letter-spacing:.01em;margin:26px 0 10px;font-size:clamp(34px,9.5vw,46px);font-weight:900;display:inline-block}.contact .tel .hl{color:var(--blue)}.contact .hours{color:#a8a498;font-size:15px}.contact .note{color:#918d80;margin-top:6px;font-size:13.5px}.addr{border-top:1px solid #ffffff24;margin-top:44px;padding-top:36px;font-size:15px;line-height:1.8}.addr strong{color:var(--white);margin-bottom:4px;font-weight:700;display:block}.map-note{color:#918d80;margin-top:12px;font-size:13.5px}footer{text-align:center;background:#111;padding:30px 0}footer p{color:#8f8b80;font-size:12.5px;line-height:1.9}footer .flogo{font-family:var(--serif);color:#d6d2c6;margin-bottom:8px;font-size:15px;font-weight:900}footer .flogo .bang{color:var(--blue)}.page-section{min-height:60vh;padding:56px 0 76px}.timetable{border-collapse:collapse;width:100%;margin-top:8px;font-size:15.5px;line-height:1.5}.timetable thead th{background:var(--navy);color:var(--blue);letter-spacing:.04em;text-align:center;padding:12px 10px;font-size:14px;font-weight:800}.timetable thead th:first-child{border-radius:8px 0 0}.timetable thead th:last-child{border-radius:0 8px 0 0}.timetable tbody th{font-family:var(--serif);color:var(--navy);background:var(--card);text-align:center;border-bottom:1px solid var(--line);padding:13px 10px;font-weight:700}.timetable tbody td{text-align:center;color:var(--body);border-bottom:1px solid var(--line);padding:13px 10px;font-weight:600}.timetable-note{color:#6f6b5c;text-align:center;margin-top:20px;font-size:14px}.timetable-tel{text-align:center;margin-top:14px}.timetable-tel a{color:var(--navy);background:var(--blue);border-radius:20px;padding:8px 18px;font-size:16px;font-weight:800;display:inline-block}.timetable-tel svg{vertical-align:-2px;margin-right:5px}.reveal{opacity:0;transition:opacity .7s,transform .7s;transform:translateY(18px)}.reveal.on{opacity:1;transform:none}
