@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@400;500;600;700;800&family=Noto+Serif+KR:wght@500;600;700&display=swap');
:root{--paper:#f8f5ef;--ink:#132e3b;--accent:#b84917;--sand:#f0e7da;--muted:#66645d;--serif:'Noto Serif KR',Georgia,serif;--sans:'Noto Sans KR',system-ui,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:94px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.7;word-break:keep-all}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:3px solid var(--accent);outline-offset:6px}button{border:0}img{display:block;max-width:100%}.wrap{width:min(1280px,calc(100% - 96px));margin-inline:auto}.skip{position:fixed;top:-80px;left:20px;z-index:100;background:white;padding:12px}.skip:focus{top:10px}.header{height:86px;background:var(--paper);position:sticky;top:0;z-index:20;border-bottom:1px solid #18303c40}.header-inner{height:100%;display:flex;align-items:center;justify-content:space-between;gap:30px}.brand{display:flex;align-items:center;gap:15px;font-size:23px;font-weight:800;letter-spacing:-1px;white-space:nowrap}.brand svg{width:40px;height:40px;flex-shrink:0}#navigation{display:flex;gap:38px;align-items:center;font-weight:600}.nav-link{position:relative;padding:23px 0}.nav-link.active:after{content:'';position:absolute;bottom:13px;left:0;right:0;height:3px;background:var(--accent)}.login{padding:0 0 0 30px;border-left:1px solid var(--ink);background:none}.menu-toggle{display:none}.hero{position:relative;min-height:610px;overflow:hidden;isolation:isolate}.hero-content{position:relative;z-index:2;padding-top:52px;padding-bottom:58px;pointer-events:none}.hero-content a{pointer-events:auto}.eyebrow{color:var(--accent);font-family:Georgia,serif;font-size:17px;letter-spacing:2px;text-transform:uppercase;margin:0 0 20px}.hero h1{font-family:var(--serif);font-size:clamp(46px,5.3vw,76px);line-height:1.3;letter-spacing:-3px;font-weight:700;margin:0}.hero h1 em{font-style:normal;color:var(--accent)}.hero-description{font-size:21px;font-weight:500;margin:24px 0 27px}.hero-actions{display:flex;gap:16px}.button{display:inline-flex;align-items:center;justify-content:center;gap:28px;padding:12px 27px;min-height:50px;min-width:170px;border-radius:5px;font-weight:600;font-size:17px;transition:background .2s,transform .2s}.button:hover{transform:translateY(-2px)}.primary{background:var(--ink);color:#fff;border:1px solid var(--ink)}.primary:hover{background:#244958}.outline{background:#f8f5efb8;border:1px solid var(--ink)}.outline:hover{background:#fff}.art{position:relative;display:block;overflow:hidden;aspect-ratio:var(--w)/var(--h)}.art img{position:absolute;max-width:none;width:calc(1024 / var(--w) * 100%);height:auto;left:calc(-1 * var(--x) / var(--w) * 100%);top:calc(-1 * var(--y) / var(--h) * 100%)}.hero-art{position:absolute;width:65%;right:0;bottom:0;height:100%;aspect-ratio:auto;z-index:0;--w:575!important;--h:439!important}.hero-art img{width:auto;height:calc(1536 / 439 * 100%);left:auto;right:0;top:calc(-61 / 439 * 100%)}.hero-art:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,var(--paper),transparent 23%)}.learning-path{background:var(--ink);color:var(--paper)}.path-inner{display:grid;grid-template-columns:repeat(3,1fr);padding:19px 0}.path-inner a{font-family:var(--serif);display:flex;align-items:center;justify-content:center;gap:17px;font-size:23px;line-height:1.4;border-right:1px solid #ffffff70}.path-inner a:last-child{border:0}.path-inner i{font-family:Georgia,serif;font-weight:400;font-size:31px}.path-inner a>span{display:none}.path-inner a:hover{color:#eab18b}.section{padding-block:70px 54px}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:34px}h2{font-family:var(--serif);font-size:clamp(30px,3.4vw,46px);line-height:1.45;letter-spacing:-2px;margin:0;font-weight:700}.section-heading .eyebrow{margin-bottom:10px}.text-link{display:inline-block;background:none;padding:4px 0;border-bottom:1px solid var(--ink);font-weight:600;white-space:nowrap}.text-link:hover{color:var(--accent);border-color:var(--accent)}.course-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.course-card{text-align:left;background:none;padding:0;display:block;min-width:0}.course-art{border-radius:8px;transition:filter .2s}.course-card:hover .course-art{filter:brightness(1.07)}.course-title{display:flex;align-items:center;justify-content:space-between;gap:5px;font-family:var(--serif);font-size:25px;font-weight:700;letter-spacing:-1px;margin:12px 0 9px}.course-title>span{font-family:var(--sans);font-size:18px;opacity:0;transition:opacity .2s}.course-card:hover .course-title>span,.course-card:focus-visible .course-title>span{opacity:1}.course-meta{display:flex;align-items:center;font-size:14px;color:#575953;gap:17px}.tag{color:var(--accent);border:1px solid var(--accent);border-radius:5px;padding:0px 14px;line-height:1.6}.course-meta>span+span{border-left:1px solid #9b9c95;padding-left:17px}.section-note{font-size:13px;color:var(--muted);margin:25px 0 0}.store{background:var(--sand);overflow:hidden}.store-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:50px;align-items:center;padding-top:45px;padding-bottom:24px}.store-copy{padding-bottom:32px}.store-copy .eyebrow{margin-bottom:15px}.store-copy>p:not(.eyebrow){font-size:19px;margin:20px 0 27px}.store-preview{background:none;padding:0;text-align:center;display:block;min-width:0}.books-art{transition:transform .3s}.store-preview:hover .books-art{transform:translateY(-5px)}.book-labels{display:grid;grid-template-columns:1fr 1fr;font-size:13px;margin-top:9px}.about{text-align:center;padding-block:55px 58px}.about:before{content:'';display:block;border-top:1px solid #132e3b70;margin-bottom:36px}.about .eyebrow{font-size:13px;letter-spacing:3px;margin-bottom:16px}.about h2{font-size:clamp(28px,3vw,42px)}.about>p:not(.eyebrow){font-size:16px;color:#535e60;line-height:1.9;margin:21px auto;max-width:850px}.about-sign{font-size:14px}.mobile-break{display:none}footer{background:var(--ink);color:var(--paper);padding:29px 0 19px}.footer-top{display:flex;align-items:center;justify-content:space-between;gap:30px}.footer-brand{font-size:18px;gap:10px}.footer-brand svg{width:30px;height:30px}footer nav{display:flex;flex-wrap:wrap;gap:25px;font-size:13px}footer button{background:none;padding:0;font-size:13px}footer a:hover,footer button:hover{color:#edb18a}.footer-bottom{border-top:1px solid #ffffff20;margin-top:23px;padding-top:16px;font-size:11px;opacity:.7;display:flex;justify-content:space-between;gap:15px}dialog{width:min(590px,calc(100% - 32px));padding:0;border:0;border-radius:12px;color:var(--ink);background:var(--paper);box-shadow:0 24px 90px #0003}dialog::backdrop{background:#071e2bb3;backdrop-filter:blur(4px)}.dialog-body{padding:42px}.dialog-close{position:absolute;right:13px;top:8px;background:none;font-size:30px;width:40px;height:40px}.dialog-body .eyebrow{font-size:13px}.dialog-body h2{font-size:30px}.dialog-body p{color:#4c585d}.dialog-body ul{padding-left:22px;line-height:2}.dialog-done{margin-top:15px;min-width:110px}body.modal-open{overflow:hidden}
@media(min-width:1600px){.hero{min-height:680px}.hero-content{padding-top:70px}.hero h1{font-size:80px}}
@media(max-width:1100px){.wrap{width:calc(100% - 64px)}.brand{font-size:19px;gap:10px}#navigation{gap:24px}.hero{min-height:550px}.hero-content{padding-top:45px}.hero h1{font-size:60px}.hero-description{font-size:18px}.hero-art{width:62%;opacity:.9}.path-inner a{font-size:18px;gap:12px}.path-inner i{font-size:26px}.course-title{font-size:21px}.course-grid{gap:22px}.footer-top{align-items:flex-start}.footer-brand{font-size:16px}footer nav{gap:15px}.store-grid{gap:25px}}
@media(max-width:760px){html{scroll-padding-top:70px}.wrap{width:calc(100% - 40px)}.header{height:70px}.brand{font-size:16px;gap:8px;letter-spacing:-.8px}.brand svg{width:29px;height:32px}.menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:6px;width:42px;height:42px;background:none;padding:8px}.menu-toggle span{height:2px;width:24px;background:var(--ink)}#navigation{display:none;position:absolute;top:70px;left:0;right:0;background:var(--paper);padding:16px 24px 24px;border-bottom:1px solid #132e3b40;gap:22px;flex-wrap:wrap}#navigation.open{display:flex}.nav-link{padding:6px 0}.nav-link.active:after{bottom:0}.login{padding-left:20px}.hero{min-height:auto;padding-bottom:0;display:flex;flex-direction:column}.hero-content{padding-top:33px;padding-bottom:25px;order:0}.hero .eyebrow{font-size:12px;letter-spacing:1.6px;margin-bottom:20px}.hero h1{font-size:clamp(44px,10.6vw,66px);letter-spacing:-2px;line-height:1.28}.hero-description{font-size:15px;margin:20px 0}.hero-actions{gap:10px}.button{font-size:14px;min-width:0;padding:11px 18px;gap:19px}.hero-art{position:relative;order:1;width:100%;height:auto;aspect-ratio:575/350;opacity:1}.hero-art img{width:calc(1024 / 575 * 100%);height:auto;right:0;top:calc(-110 / 350 * 100%)}.hero-art:after{background:linear-gradient(180deg,var(--paper),transparent 18%)}.path-inner{grid-template-columns:1fr;padding:7px 0}.path-inner a{font-family:var(--sans);font-size:15px;border-right:0;border-bottom:1px solid #ffffff25;justify-content:flex-start;padding:11px 6px;gap:18px}.path-inner i{font-size:23px}.path-inner a>span{display:block;margin-left:auto}.section{padding-block:43px 35px}.section-heading{display:block;margin-bottom:25px}.eyebrow{font-size:13px;margin-bottom:11px}.section-heading .text-link{margin-top:16px;font-size:13px}h2{font-size:30px;letter-spacing:-1.5px}.course-grid{grid-template-columns:1fr;gap:30px}.course-art{aspect-ratio:var(--w)/var(--h)}.course-art img{top:calc(-1 * var(--y) / var(--h) * 100%)}.course-title{font-size:24px;margin:12px 0 8px}.course-title>span{opacity:1}.course-meta{font-size:13px}.section-note{font-size:12px}.store-grid{grid-template-columns:1fr;gap:12px;padding-top:35px;padding-bottom:26px}.store-copy{padding-bottom:5px}.store-copy h2{font-size:34px}.store-copy>p:not(.eyebrow){font-size:16px;margin:15px 0 18px}.store-copy .text-link{font-size:14px}.store-preview{margin-top:13px}.book-labels{font-size:12px}.about{padding-block:32px 40px}.about:before{margin-bottom:28px}.about h2{font-size:27px;line-height:1.6}.about>p:not(.eyebrow){font-size:14px;text-align:left}.desktop-break{display:none}.mobile-break{display:block}.footer-top{display:block}.footer-brand{font-size:16px}footer nav{margin-top:24px;gap:15px 22px;font-size:12px}footer button{font-size:12px}.footer-bottom{flex-direction:column;gap:5px}.dialog-body{padding:35px 25px}.dialog-body h2{font-size:26px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}
/* Keep the mockup's baked-in lettering outside the hero photo. */
.hero-art{max-width:calc(575 / 439 * 610px)}
.hero-art img{clip-path:inset(0 0 0 43.84765625%)}
.hero h1,.hero-description,.hero-actions .button{text-shadow:none;box-shadow:none}
.hero-actions .outline{background:var(--paper)}
@media(min-width:1600px){.hero-art{max-width:calc(575 / 439 * 680px)}}
@media(max-width:760px){.hero-art{max-width:none}}
.store-books{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:start;padding-bottom:12px}
.store-book{display:block;min-width:0;padding:0;background:none;text-align:center}
.book-frame{display:flex;align-items:flex-end;justify-content:center;height:clamp(200px,25vw,330px)}
.book-cover{height:100%;width:auto;max-width:100%;object-fit:contain;object-position:center bottom}
.textbook-art{width:100%;max-height:100%;max-width:calc(330px * 220 / 271)}
.book-caption{display:block;font-size:13px;margin-top:14px;line-height:1.7}
a.store-book:hover .book-caption{color:var(--accent);text-decoration:underline}
@media(max-width:760px){.store-books{gap:16px;margin-top:16px}.book-frame{height:clamp(190px,54vw,300px)}.book-caption{font-size:12px}}
.course-art.machine-art img{position:static;width:100%;height:100%;max-width:100%;object-fit:cover}
