
:root{--ink:#142244;--sub:#697894;--faint:#8998ac;--blue:#3156ec;--soft:#eef3ff;--line:#e3e9f4;--teal:#18b6a6;--paper:#f7f9fc;--radius:22px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:"NanumSquare",Pretendard,"Apple SD Gothic Neo","Malgun Gothic","Noto Sans KR",system-ui,sans-serif;letter-spacing:-.045em;font-weight:650;-webkit-font-smoothing:antialiased}button,input,select{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #60a5fa;outline-offset:3px}svg{display:block}strong,b{font-weight:850}.container{max-width:1240px;margin:0 auto;padding:0 32px}.header{height:84px;border-bottom:1px solid #edf0f6;background:rgba(255,255,255,.96);position:relative;z-index:30}.headerin{height:100%;display:flex;align-items:center;justify-content:space-between;gap:26px}.brand{display:flex;align-items:center;gap:12px}.brandmark{width:44px;height:44px;display:grid;place-items:center;border-radius:14px;background:var(--blue);color:white;box-shadow:0 7px 16px rgba(49,86,236,.18)}.brandname{font-size:23px;font-weight:950;letter-spacing:-.07em;line-height:1}.brandeng{font-size:10px;letter-spacing:.16em;font-weight:850;color:#8190a8;margin-top:6px}.nav{display:flex;gap:36px;align-items:center;color:#516079;font-size:14px;font-weight:820}.nav a:hover{color:var(--blue)}.headercta{display:flex;gap:8px;align-items:center;background:#152650;color:white;border:0;border-radius:12px;padding:14px 19px;font-size:13px;font-weight:900;white-space:nowrap}.headercta:hover{background:#24418c}.hero{position:relative;overflow:hidden;background:radial-gradient(circle at 85% 16%,#eaf0ff 0, transparent 31%),linear-gradient(170deg,#fff 3%,#f8faff 64%,#f3f7ff 100%);padding:97px 0 90px}.hero:before{content:"";position:absolute;right:-120px;top:-150px;width:640px;height:640px;border:1px solid #e7edfe;border-radius:50%;box-shadow:0 0 0 120px rgba(242,246,255,.6),0 0 0 250px rgba(247,249,254,.7);pointer-events:none}.herogrid{position:relative;display:grid;grid-template-columns:minmax(0,1.06fr) minmax(0,.94fr);gap:50px;align-items:center}.eyebrow{font-size:13px;color:var(--blue);font-weight:900;display:flex;align-items:center;gap:9px;margin-bottom:26px;letter-spacing:-.02em}.eyebrow i{display:block;width:8px;height:8px;border-radius:50%;background:var(--teal);box-shadow:0 0 0 5px #e5f8f5}.hero h1{font-size:clamp(48px,4.5vw,66px);font-weight:950;line-height:1.21;letter-spacing:-.082em;margin:0 0 25px;word-break:keep-all}.hero h1 em{font-style:normal;color:var(--blue);position:relative;white-space:nowrap}.hero h1 em:after{content:"";height:8px;position:absolute;left:0;right:2px;bottom:2px;border-radius:20px;background:#d8e3ff;z-index:-1}.herosub{font-size:17px;line-height:1.83;color:#596983;letter-spacing:-.045em;margin:0 0 32px;font-weight:690;word-break:keep-all}.herosub b{color:#233654}.searcharea{position:relative;max-width:585px}.searchbox{display:flex;align-items:center;gap:12px;padding:8px 8px 8px 18px;background:#fff;box-shadow:0 12px 30px rgba(50,74,146,.12);border:1.5px solid #d5dff5;border-radius:17px;min-height:68px}.searchbox:focus-within{border-color:#6c86ff;box-shadow:0 12px 30px rgba(50,74,146,.13),0 0 0 3px rgba(49,86,236,.09)}.searchicon{flex:none;color:#637693}.searchbox input{min-width:0;flex:1;border:0;background:transparent;font-size:15px;font-weight:780;outline:0;color:var(--ink);letter-spacing:-.035em}.searchbox input::placeholder{color:#8796ad;font-weight:700}.searchbox>button{flex:none;padding:14px 16px;border-radius:12px;border:0;background:var(--blue);color:white;font-size:13px;font-weight:900;display:flex;align-items:center;gap:8px}.searchbox>button:hover{background:#2045d8}.suggestions{position:absolute;left:0;right:0;top:76px;background:#fff;z-index:22;border:1px solid #dbe4f8;border-radius:15px;box-shadow:0 20px 44px #182c5a21;padding:8px;display:none;max-height:360px;overflow:auto}.suggestions.open{display:block}.suggestbtn{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#fff;border:0;width:100%;text-align:left;padding:12px 13px;border-radius:9px;color:#192c51}.suggestbtn:hover,.suggestbtn:focus{background:#eef3ff}.suggestbtn b{font-size:13px}.suggestbtn small{font-weight:650;color:#7283a0;font-size:11px}.examples{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-top:17px}.examples>span{font-size:12px;font-weight:790;color:#7a8aa5;margin-right:3px}.example{border:1px solid #e0e7f4;background:white;border-radius:24px;padding:8px 12px;color:#435675;font-size:11.5px;font-weight:850}.example:hover{border-color:#9aaff4;color:var(--blue)}.honest{font-size:11px;color:#8290a7;line-height:1.6;font-weight:680;margin-top:19px}.hero-right{position:relative}.pathboard{background:#fff;padding:27px 29px 23px;border-radius:26px;box-shadow:0 28px 75px rgba(43,67,130,.13);border:1px solid #e8edfa;transform:rotate(1deg);position:relative}.pathboard:before{content:"";position:absolute;z-index:-1;inset:10px -10px -10px 11px;border-radius:26px;border:1px solid #dce5fb;background:#edf3ff;transform:rotate(2.5deg)}.pathhead{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding-bottom:18px;border-bottom:1px solid #edf0f5}.pathhead small{font-size:10px;font-weight:900;letter-spacing:.18em;color:#4263db}.pathhead h2{font-size:22px;font-weight:950;letter-spacing:-.06em;margin:7px 0 0}.pathmark{display:grid;place-items:center;width:39px;height:39px;border-radius:12px;background:#eff3ff;color:var(--blue)}.pathbody{padding:24px 3px 10px}.pathstep{display:grid;grid-template-columns:43px 1fr;gap:16px;position:relative;padding-bottom:28px}.pathstep:not(:last-child):before{content:"";position:absolute;left:20px;top:41px;bottom:-2px;border-left:2px dashed #c9d7fb}.stepnum{height:41px;width:41px;border-radius:14px;display:grid;place-items:center;font-weight:950;font-size:13px;background:#eaf0ff;color:#3156ec;position:relative;z-index:2}.pathstep.ready .stepnum{background:var(--blue);color:white}.pathstep:last-child .stepnum{background:#e4f8f3;color:#179b8f}.steplabel{font-size:10px;color:#7e8caa;font-weight:900;letter-spacing:.05em;margin-bottom:5px}.stepname{font-weight:920;font-size:15px;line-height:1.55}.stepdesc{color:#72829d;font-size:12px;font-weight:650;line-height:1.7;margin-top:3px}.pathfooter{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#f5f8ff;border-radius:13px;padding:13px 16px;font-size:12px;font-weight:790;color:#476080}.pathfooter strong{color:var(--blue);font-weight:900}.floatmini{position:absolute;right:0px;bottom:-47px;padding:17px 21px;border-radius:16px;background:#1d397a;color:#fff;box-shadow:0 17px 35px #152c6230;transform:rotate(-3deg)}.floatmini small{color:#abc0f8;font-size:10px;display:block;font-weight:900;margin-bottom:6px}.floatmini b{font-size:14px;font-weight:900}.principle{border-bottom:1px solid #ebeff6;background:white}.principlein{display:grid;grid-template-columns:1fr 1px 1fr;gap:38px;align-items:center;padding-top:29px;padding-bottom:29px}.principleline{height:37px;background:#e7edf7}.principleitem{display:flex;align-items:center;gap:15px}.principleicon{display:grid;place-items:center;width:44px;height:44px;flex:none;border-radius:13px;background:#eff3ff;color:var(--blue)}.principleicon.green{background:#e6f7f4;color:#14a697}.principleitem b{font-size:14px}.principleitem p{font-size:12px;color:#73829a;line-height:1.55;margin:4px 0 0}.section{padding:105px 0}.section-kicker{font-weight:930;color:#4164db;font-size:12px;letter-spacing:.12em;margin:0 0 13px}.sectiontitle{font-size:clamp(30px,3.2vw,42px);font-weight:950;letter-spacing:-.072em;line-height:1.3;margin:0 0 14px;word-break:keep-all}.sectionlead{font-size:15px;line-height:1.75;color:#6e7e98;font-weight:680;margin:0}.builder{background:#f7f9fd}.builderhead{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-bottom:31px}.builder-status{font-size:12px;font-weight:820;background:#eef3ff;color:#3659d4;border-radius:40px;padding:10px 15px;white-space:nowrap}.buildergrid{display:grid;grid-template-columns:350px minmax(0,1fr);align-items:stretch;gap:20px}.controlpanel,.planpanel{border:1px solid #e1e8f4;background:#fff;box-shadow:0 12px 32px rgba(40,63,110,.045);border-radius:23px;padding:27px}.panelnum{display:inline-flex;align-items:center;gap:8px;color:#4160d5;font-size:11px;font-weight:950;letter-spacing:.06em}.panelnum:before{content:"";height:7px;width:7px;border-radius:50%;background:var(--teal)}.controlpanel h3,.planpanel h3{font-size:22px;font-weight:950;letter-spacing:-.066em;margin:11px 0 21px}.field{margin:19px 0}.field label{display:block;font-size:12px;color:#576a88;font-weight:900;margin-bottom:10px}.chosen{padding:15px;background:#f4f7ff;border:1px solid #e0e9ff;border-radius:12px;display:flex;align-items:center;gap:9px;min-height:53px}.chosen b{font-size:13px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chosen em{font-size:11px;color:#8392aa;font-style:normal;margin-left:auto;white-space:nowrap}.chosen svg{color:#3156ec;flex:none}.field select,.field input[type=date]{background:#fff;width:100%;border:1px solid #dae3f2;color:#233659;border-radius:11px;min-height:51px;padding:0 13px;font-size:13px;font-weight:820}.twofields{display:grid;grid-template-columns:1fr 1fr;gap:11px}.buttonplan{display:flex;align-items:center;justify-content:center;gap:8px;background:#3156ec;color:#fff;border:0;border-radius:12px;padding:16px;width:100%;font-size:14px;font-weight:950;box-shadow:0 7px 18px #3055eb30}.buttonplan:hover{background:#2445c8}.controlnote{color:#8492a9;font-size:11px;line-height:1.7;margin-top:15px;font-weight:620}.planpanel{padding:28px 31px;background:#fff}.planhead{display:flex;align-items:center;justify-content:space-between;gap:15px}.planhead h3{margin-bottom:5px}.planmeta{color:#71809a;font-size:12px;font-weight:770}.planflag{background:#e9f8f4;color:#108c80;font-size:11px;padding:8px 11px;border-radius:40px;font-weight:950;white-space:nowrap}.stepsgrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:29px 0 18px}.week{border:1px solid #e4eaf5;background:#fbfcff;border-radius:15px;padding:17px 13px 15px;min-width:0;position:relative}.week:first-child{border-color:#bdccff;background:#f3f6ff}.weekmark{font-size:11px;color:#3156ec;font-weight:950;letter-spacing:.08em}.week:before{content:"";display:block;background:#e3e9f6;height:5px;border-radius:5px;position:absolute;top:-1px;left:15px;right:15px}.week:first-child:before{background:#3156ec}.week h4{font-size:15px;font-weight:940;letter-spacing:-.06em;margin:12px 0 7px;word-break:keep-all}.week p{font-size:11.5px;color:#74829b;font-weight:670;line-height:1.65;margin:0;word-break:keep-all}.actionbox{background:#f8faff;border:1px solid #e7ecf9;border-radius:15px;padding:19px 22px}.actionbox-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px}.actionbox-head b{font-size:13px;font-weight:950}.actionbox-head span{font-size:11px;color:#798aa4;font-weight:800}.todo{display:flex;align-items:start;gap:10px;padding:10px 0;border-bottom:1px solid #e9edf6;font-size:12.5px;font-weight:770;color:#354767;line-height:1.6}.todo:last-child{border-bottom:0}.todo input{appearance:none;flex:none;width:18px;height:18px;margin:1px 0 0;border:1.8px solid #b2c0da;border-radius:6px;background:white;cursor:pointer;position:relative}.todo input:checked{border-color:#18aa9e;background:#18aa9e}.todo input:checked:after{content:'✓';color:white;font-size:12px;font-weight:950;position:absolute;left:3px;top:-3px}.todo:has(input:checked) span{color:#8391a5;text-decoration:line-through}.datasect{background:#fff}.diffgrid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px;margin-top:38px}.diffcard{border:1px solid #e6ebf5;border-radius:22px;padding:27px;background:#fff;box-shadow:0 12px 30px #173b8a08}.diffcard:nth-child(2){background:#f0f5ff;border-color:#e3eaff}.diffcard:nth-child(3){background:#f0faf8;border-color:#dbeeea}.difficon{width:49px;height:49px;border-radius:14px;display:grid;place-items:center;background:#edf2ff;color:#3156ec;margin-bottom:23px}.diffcard:nth-child(3) .difficon{color:#1da89b;background:#dbf5ee}.diffcard h3{font-size:19px;font-weight:950;letter-spacing:-.055em;margin:0 0 11px}.diffcard p{color:#72819a;font-size:13px;line-height:1.8;font-weight:700;margin:0}.difffoot{margin-top:20px;font-size:11px;color:#5370b7;font-weight:900}.datahelp{margin-top:20px;background:#f8fafd;border:1px solid #e8edf6;border-radius:14px;padding:18px 23px;display:flex;gap:10px;align-items:flex-start;color:#677890;font-size:12px;line-height:1.8;font-weight:680}.datahelp svg{flex:none;color:#6278ae;margin-top:2px}.bottomcta{padding:65px 0 83px;background:#f7f9fd}.ctainner{border-radius:25px;background:linear-gradient(105deg,#213e91,#345bdf);color:white;padding:43px 52px;display:flex;justify-content:space-between;gap:20px;align-items:center;position:relative;overflow:hidden}.ctainner:after{content:"";position:absolute;right:90px;top:-120px;width:360px;height:360px;border-radius:50%;border:50px solid #ffffff0f}.ctainner p{color:#bbcbff;font-size:12px;font-weight:920;letter-spacing:.07em;margin:0 0 9px}.ctainner h2{font-size:30px;letter-spacing:-.07em;line-height:1.35;margin:0;font-weight:950}.ctainner button{border:0;background:white;color:#284bbd;padding:17px 22px;border-radius:12px;font-weight:920;font-size:13px;z-index:2;white-space:nowrap}.footer{padding:30px 0;background:white;border-top:1px solid #e9edf6}.footerin{display:flex;justify-content:space-between;align-items:center;gap:16px;color:#8290a7;font-size:11px;line-height:1.6}.footer strong{font-size:15px;color:#1f2e4c}.toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%,25px);background:#1c315b;color:white;border-radius:13px;padding:14px 20px;font-size:12px;font-weight:800;box-shadow:0 12px 30px #24385c47;opacity:0;pointer-events:none;transition:all .2s;z-index:100;max-width:calc(100vw - 34px);text-align:center}.toast.open{opacity:1;transform:translate(-50%,0)}
@media(max-width:1120px){.herogrid{gap:27px}.hero h1{font-size:clamp(42px,4.7vw,60px)}.container{padding:0 26px}.buildergrid{grid-template-columns:320px minmax(0,1fr)}.week{padding:17px 9px}.week h4{font-size:13px}.pathboard{padding:25px 22px}.floatmini{right:-10px}}
@media(max-width:850px){.nav{display:none}.hero{padding:64px 0 71px}.herogrid{grid-template-columns:1fr;gap:43px}.hero h1{font-size:54px}.hero-right{max-width:580px}.pathboard{transform:none}.floatmini{right:3px}.principlein{gap:20px}.buildergrid{grid-template-columns:1fr}.controlpanel{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:center;gap:10px 20px}.controlpanel .panelnum,.controlpanel h3,.buttonplan,.controlnote{grid-column:1/-1}.controlpanel .field{margin:4px 0}.planpanel{padding:27px}.diffgrid{gap:10px}.diffcard{padding:19px}}
@media(max-width:600px){.container{padding:0 20px}.header{height:68px}.brandmark{height:39px;width:39px;border-radius:12px}.brandname{font-size:20px}.brandeng{font-size:9px;margin-top:5px}.headercta{font-size:11px;padding:12px 13px}.headercta svg{display:none}.hero{padding:47px 0 62px}.hero:before{display:none}.eyebrow{font-size:11px;margin-bottom:20px}.hero h1{font-size:clamp(35px,9vw,45px);line-height:1.23;margin-bottom:17px;letter-spacing:-.077em}.hero h1 em{white-space:normal}.herosub{font-size:13.5px;line-height:1.8;margin-bottom:27px}.searchbox{min-height:61px;padding:6px 6px 6px 12px;gap:8px;border-radius:15px}.searchbox input{font-size:12px;font-weight:760}.searchbox input::placeholder{font-size:11px}.searchbox>button{font-size:11px;padding:12px 10px;gap:0;white-space:nowrap}.searchbox>button svg{display:none}.examples{margin-top:15px;gap:7px}.examples>span{width:100%;font-size:11px}.example{font-size:10px;padding:7px 10px}.honest{font-size:10px;margin-top:16px}.hero-right{max-width:100%;margin-right:5px}.pathboard{border-radius:20px;padding:19px 18px 18px}.pathhead h2{font-size:19px}.pathbody{padding-top:21px}.pathstep{padding-bottom:22px}.steplabel{font-size:9px}.stepname{font-size:13px}.stepdesc{font-size:11px}.pathfooter{font-size:11px;padding:11px 13px}.floatmini{position:relative;right:auto;bottom:auto;transform:none;width:fit-content;margin:-3px -4px 0 auto;padding:11px 13px;box-shadow:none;border-radius:10px}.floatmini small{font-size:9px;margin-bottom:3px}.floatmini b{font-size:11px}.principlein{display:flex;gap:18px;flex-direction:column;align-items:stretch;padding-top:24px;padding-bottom:24px}.principleline{width:100%;height:1px}.principleitem{gap:12px}.principleicon{width:40px;height:40px}.principleitem b{font-size:13px}.principleitem p{font-size:11px}.section{padding:69px 0}.section-kicker{font-size:10.5px}.sectiontitle{font-size:28px;line-height:1.37}.sectionlead{font-size:13px}.builderhead{display:block;margin-bottom:22px}.builder-status{display:inline-block;margin-top:18px;font-size:11px}.controlpanel,.planpanel{padding:21px 19px;border-radius:19px}.controlpanel{display:block}.controlpanel h3,.planpanel h3{font-size:21px;margin-top:11px}.controlpanel .field{margin:17px 0}.field label{font-size:12px;margin-bottom:9px}.chosen{min-height:49px}.planpanel{padding:22px 18px}.planhead h3{font-size:20px}.planmeta{font-size:11px}.planflag{font-size:9.5px;padding:7px 9px}.stepsgrid{grid-template-columns:1fr 1fr;gap:9px;margin:24px 0 14px}.week{padding:18px 13px 15px;min-height:112px}.week h4{font-size:14px;margin:10px 0 4px}.week p{font-size:11px}.actionbox{padding:16px 14px}.actionbox-head b{font-size:12px}.actionbox-head span{font-size:10px}.todo{font-size:12px}.diffgrid{grid-template-columns:1fr;gap:10px;margin-top:25px}.diffcard{display:grid;grid-template-columns:45px 1fr;gap:0 13px;align-items:start;padding:19px}.difficon{height:43px;width:43px;margin:0;grid-row:1/4}.diffcard h3{font-size:16px;margin:1px 0 5px}.diffcard p{font-size:12px;line-height:1.65}.difffoot{margin-top:8px;font-size:10px}.datahelp{font-size:11px;padding:16px}.bottomcta{padding:0 0 65px}.ctainner{padding:30px 24px;display:block}.ctainner h2{font-size:23px}.ctainner button{margin-top:21px;font-size:12px}.footerin{display:block}.footerin span{display:block;margin-top:6px}}

/* Unified school detail navigation */
[data-school-detail-link][hidden]{display:none!important}
.school-detail-link{display:flex;margin:-7px 0 14px;padding:10px 2px;align-items:center;gap:8px;color:#3156ec;font-size:12px;font-weight:900;text-decoration:underline;text-underline-offset:4px}
.school-detail-link:hover{color:#1738b9}
.path-detail-link{border-radius:10px;padding:8px 11px;background:#3156ec;color:#fff;font-size:11px;font-weight:900;text-decoration:none;white-space:nowrap}
.path-detail-link:hover{background:#1839be}
.plan-detail-link{display:flex;align-items:center;justify-content:center;width:100%;margin-top:18px;padding:15px;border:1px solid #bdcbf5;border-radius:13px;background:#eef3ff;color:#2748c7;font-size:14px;font-weight:950;text-align:center}
.plan-detail-link:hover{background:#e5edff}
@media(max-width:560px){.pathfooter{flex-wrap:wrap}.path-detail-link{width:100%;text-align:center}}

/* v5.1: visible school-detail navigation on the homepage */
.hero-detail-link{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px;border:1px solid #bacafa;background:#eef3ff;border-radius:13px;color:#1b3fa3;font-weight:900;font-size:14px;line-height:1.5;padding:14px 16px;text-decoration:none;box-shadow:0 8px 22px #234ed015}
.hero-detail-link:hover,.hero-detail-link:focus-visible{background:#e1eaff;border-color:#7799ef;text-decoration:underline}
.hero-detail-link[hidden]{display:none!important}
.suggestrow{display:flex;align-items:stretch;gap:4px;border-radius:10px}
.suggestrow:hover{background:#f4f7ff}
.suggestrow .suggestbtn{flex:1;min-width:0;width:auto;flex-direction:column;align-items:flex-start;justify-content:center;gap:3px}
.suggestrow .suggestbtn b{font-size:14px;font-weight:850}
.suggestrow .suggestbtn small{font-size:11px}
.suggest-detail{align-self:center;flex:none;font-size:12px;font-weight:900;color:#244bdb;border-radius:9px;padding:11px 12px;background:#eaf0ff;text-decoration:none;white-space:nowrap}
.suggest-detail:hover,.suggest-detail:focus-visible{color:white;background:#2c52e5}
@media(max-width:480px){.hero-detail-link{font-size:13px;padding:12px 13px}.suggest-detail{font-size:11px;padding:10px 9px}.suggestrow .suggestbtn small{font-size:10px}}
