*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#f7f8fa;color:#0b172a;font-family:Pretendard,"Noto Sans KR",Arial,sans-serif;line-height:1.65}a{color:inherit;text-decoration:none}.top{height:64px;padding:0 max(24px,calc((100vw - 1120px)/2));display:flex;align-items:center;justify-content:space-between;background:#fff;border-bottom:1px solid #e4e8ee}.brand{font-size:11px;font-weight:900;letter-spacing:.08em;color:#2563eb}.brand span{color:#334155}.top nav{display:flex;gap:22px}.top nav a{font-size:10px;font-weight:800;letter-spacing:.06em}.eyebrow{margin:0 0 14px;color:#2563eb;font-size:11px;font-weight:900;letter-spacing:.14em}.light{color:#9bb8ff}.button{display:inline-flex;align-items:center;justify-content:center;border-radius:6px;padding:14px 19px;font-size:13px;font-weight:800}.white{background:#fff;color:#0b172a}.home-hero{min-height:530px;background:#0b172a;color:#fff;display:grid;grid-template-columns:1fr 290px;gap:80px;padding:100px max(24px,calc((100vw - 1120px)/2)) 90px}.hero-inner h1{font-size:64px;line-height:1.08;letter-spacing:-.055em;margin:0;max-width:760px}.hero-copy{font-size:18px;color:#cbd5e1;margin:28px 0 34px}.hero-actions{display:flex;gap:24px;align-items:center}.text-link{font-size:13px;font-weight:800;color:#dbe7ff}.hero-side{align-self:end;border-left:1px solid #334155;padding-left:28px;display:grid;gap:8px}.hero-side span{font-size:10px;letter-spacing:.14em;color:#8fa4c2}.hero-side i{font-style:normal;color:#4f6b91}.home-section,.content-shell{max-width:1120px;margin:auto;padding:88px 24px}.home-section.alt{border-top:1px solid #e0e5eb}.section-heading{display:grid;grid-template-columns:1.2fr .8fr;gap:70px;align-items:end;margin-bottom:36px}.section-heading h2{font-size:36px;line-height:1.2;letter-spacing:-.04em;margin:0}.section-heading>p{color:#64748b;margin:0}.quick-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.quick-grid a{min-height:185px;background:#fff;border:1px solid #dfe5ec;border-radius:12px;padding:24px;display:flex;flex-direction:column}.quick-grid a span{color:#2563eb;font-size:11px;font-weight:900}.quick-grid strong{font-size:23px;line-height:1.25;margin:auto 0 20px}.quick-grid small{font-size:10px;font-weight:800;color:#64748b}.quick-grid .featured{background:#2563eb;color:#fff}.quick-grid .featured span,.quick-grid .featured small{color:#dbe7ff}.track-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.track-card{background:#fff;border:1px solid #dfe5ec;border-radius:12px;padding:25px;min-height:210px;display:flex;flex-direction:column}.track-card b{font-size:11px;color:#2563eb}.track-card h3{font-size:23px;margin:20px 0 7px}.track-card p{font-size:14px;color:#64748b;margin:0}.track-card small{margin-top:auto;padding-top:22px;font-size:10px;font-weight:900;color:#2563eb}.growth{max-width:1120px;margin:0 auto 85px;background:#0b172a;color:#fff;padding:48px;display:grid;grid-template-columns:1.2fr .8fr;gap:70px;border-radius:12px}.growth h2{font-size:35px;line-height:1.25;margin:0}.growth>p{color:#b8c7d9;margin:0}footer{border-top:1px solid #e0e5eb;padding:28px 24px;text-align:center;font-size:11px;color:#64748b}footer span{margin-left:18px}

/* track */
.track-hero{background:#0b172a;color:#fff;padding:90px max(24px,calc((100vw - 1120px)/2));min-height:360px}.track-hero h1{font-size:58px;margin:0 0 14px;letter-spacing:-.05em}.track-hero>p:not(.eyebrow){color:#cbd5e1;font-size:17px}.pill{display:inline-block;border:1px solid #52647d;border-radius:99px;padding:6px 11px;font-size:10px;font-weight:800;color:#dce6f3}.pill.dark{margin-top:15px}.content-list{border-top:2px solid #0b172a}.content-row{display:grid;grid-template-columns:90px 1fr 150px;gap:22px;align-items:center;padding:26px 8px;border-bottom:1px solid #dce2e9}.content-row .cid{font-size:11px;font-weight:900;color:#2563eb}.content-row h3{margin:0 0 5px;font-size:20px}.content-row p{margin:0;color:#64748b;font-size:13px}.content-row .state{justify-self:end;font-size:10px;font-weight:900;color:#94a3b8}.content-row.open{background:#eef4ff;padding-left:18px;padding-right:18px}.content-row.open .state{color:#2563eb}.asset-strip{max-width:1120px;margin:0 auto 80px;padding:25px 24px;border-top:1px solid #dce2e9;border-bottom:1px solid #dce2e9;display:flex;flex-wrap:wrap;gap:18px;font-size:10px;letter-spacing:.08em}.asset-strip b{color:#2563eb;margin-right:auto}

/* library */
.library-hero{max-width:1120px;margin:auto;padding:90px 24px 45px}.library-hero h1{font-size:55px;letter-spacing:-.05em;margin:0}.library-hero>p{color:#64748b}.searchbox{display:flex;max-width:650px;margin-top:28px}.searchbox input{flex:1;padding:16px;border:1px solid #ccd5df;border-radius:7px 0 0 7px;font:inherit}.searchbox button{border:0;background:#2563eb;color:#fff;padding:0 22px;font-weight:800;border-radius:0 7px 7px 0}.filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:25px}.filters button{border:1px solid #d6dee8;background:#fff;padding:8px 12px;border-radius:99px;font-size:11px;font-weight:800;cursor:pointer}.filters button.active{background:#0b172a;color:#fff}.library-list{display:grid;grid-template-columns:1fr 1fr;gap:12px}.library-item{background:#fff;border:1px solid #dfe5ec;border-radius:9px;padding:20px}.library-item small{color:#2563eb;font-weight:900}.library-item h3{margin:7px 0 4px}.library-item p{font-size:12px;color:#64748b;margin:0}.library-item.planned{opacity:.7}

/* generic lesson */
.lesson-template-hero{background:#0b172a;color:#fff;padding:90px max(24px,calc((100vw - 960px)/2));min-height:410px}.lesson-template-hero h1{font-size:58px;line-height:1.08;letter-spacing:-.05em;margin:0 0 18px}.lesson-template-hero>p:not(.eyebrow){font-size:18px;color:#cbd5e1}.template-note{max-width:960px;margin:40px auto 0;background:#eaf2ff;border-left:4px solid #2563eb;padding:22px 25px}.template-note strong{font-size:11px;color:#2563eb;letter-spacing:.1em}.template-note p{margin:5px 0 0}.template-section{max-width:960px;margin:auto;padding:78px 24px}.template-section.altbox{max-width:none;padding-left:max(24px,calc((100vw - 960px)/2));padding-right:max(24px,calc((100vw - 960px)/2));background:#eef2f6}.template-section>span{font-size:10px;color:#2563eb;font-weight:900;letter-spacing:.12em}.template-section h2{font-size:34px;margin:7px 0 8px}.template-section>p{color:#64748b}.placeholder{margin-top:25px;border:1px dashed #aebdce;border-radius:8px;padding:38px;text-align:center;color:#7c8da2;font-size:11px;font-weight:900;letter-spacing:.1em;background:rgba(255,255,255,.65)}.next-frame{background:#0b172a;color:#fff;padding:65px max(24px,calc((100vw - 960px)/2));display:flex;justify-content:space-between;align-items:end;gap:40px}.next-frame small{color:#9bb8ff;font-weight:900}.next-frame h2{font-size:32px;margin:7px 0}.next-frame p{color:#b7c5d8}

@media(max-width:800px){.top{height:58px;padding:0 18px}.brand span{display:none}.top nav a:not(:last-child){display:none}.home-hero{grid-template-columns:1fr;padding:72px 22px 58px;min-height:auto}.hero-inner h1{font-size:43px}.hero-side{display:none}.home-section,.content-shell{padding:62px 20px}.section-heading{grid-template-columns:1fr;gap:12px}.section-heading h2{font-size:29px}.quick-grid,.track-grid,.library-list{grid-template-columns:1fr}.quick-grid a{min-height:145px}.growth{margin:0 20px 60px;padding:30px;grid-template-columns:1fr;gap:20px}.growth h2{font-size:28px}.track-hero{padding:70px 22px;min-height:300px}.track-hero h1,.library-hero h1,.lesson-template-hero h1{font-size:43px}.content-row{grid-template-columns:55px 1fr}.content-row .state{grid-column:2;justify-self:start}.asset-strip b{width:100%}.library-hero{padding:65px 20px 25px}.lesson-template-hero{padding:72px 22px}.template-section{padding:58px 20px}.template-section.altbox{padding-left:20px;padding-right:20px}.next-frame{padding:50px 22px;display:block}.next-frame .button{margin-top:20px}}
/* v0.8.0 public CMS sync: published content only; layout baseline unchanged */
.placeholder .published-block{padding:12px 0;text-align:left;letter-spacing:0;font-size:13px;font-weight:600;color:#334155}.placeholder .published-block b{display:block;color:#2563eb;font-size:11px;letter-spacing:.08em;margin-bottom:8px}.placeholder .published-text{white-space:normal;line-height:1.75;font-weight:500}.published-link{display:block;margin:8px 0;padding:12px 14px;border:1px solid #d8e1ec;border-radius:7px;background:#fff;color:#1d4ed8;text-align:left;font-size:12px;font-weight:800;letter-spacing:0}.published-link span{display:inline-block;min-width:72px;color:#64748b;font-size:10px;letter-spacing:.08em}.published-badge{display:inline-block;border:1px solid #bfd2ff;border-radius:99px;padding:6px 10px;color:#2563eb;background:#eef4ff;font-size:10px;font-weight:900;letter-spacing:.08em}

/* v1.5.0 — Flexible Content Blocks. Empty resource containers are never shown. */
.lesson-resources{margin-top:25px;display:grid;gap:12px}.lesson-resources[hidden]{display:none!important}.flex-block{margin:0;border:1px solid #d8e1ec;border-radius:9px;background:#fff;padding:18px;text-align:left;color:#334155}.flex-kind{font-size:9px;font-weight:900;color:#2563eb;letter-spacing:.12em;margin-bottom:8px}.flex-block h3{margin:0 0 9px;font-size:17px;color:#0b172a;letter-spacing:-.01em}.flex-body{font-size:13px;line-height:1.8}.flex-notice{background:#fff9e8;border-color:#ead8a2;border-left:4px solid #e0a52b}.flex-checklist{list-style:none;padding:0;margin:7px 0 0}.flex-checklist li{position:relative;padding:8px 8px 8px 26px;border-bottom:1px solid #eef2f6;font-size:13px}.flex-checklist li:last-child{border-bottom:0}.flex-checklist li:before{content:'□';position:absolute;left:3px;top:8px;color:#2563eb;font-weight:900}.flex-prompt pre{white-space:pre-wrap;word-break:break-word;margin:8px 0 0;background:#f8fafc;border:1px solid #e2e8f0;border-radius:7px;padding:15px;font-family:inherit;font-size:12px;line-height:1.75;color:#1e293b}.flex-image img{display:block;max-width:100%;height:auto;border-radius:7px;margin-top:10px}.flex-image figcaption,.flex-caption{margin:9px 0 0;color:#64748b;font-size:11px;line-height:1.6}.video-frame{position:relative;padding-top:56.25%;overflow:hidden;border-radius:8px;background:#0b172a;margin-top:10px}.video-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.flex-video video{width:100%;border-radius:8px;margin-top:10px;background:#0b172a}.flex-link small{display:block;margin:5px 0 0 72px;color:#64748b;font-size:10px;font-weight:500;letter-spacing:0}.flex-table-wrap{overflow-x:auto;margin-top:10px}.flex-table{width:100%;border-collapse:collapse;font-size:12px;background:#fff}.flex-table th,.flex-table td{border:1px solid #dfe5ec;padding:10px 11px;text-align:left;vertical-align:top}.flex-table th{background:#f1f5f9;font-weight:800;color:#334155}@media(max-width:800px){.flex-block{padding:15px}.flex-link small{margin-left:0}.flex-table{min-width:520px}}
.lesson-resources>.published-block{border:1px solid #d8e1ec;border-radius:9px;background:#fff;padding:18px}.lesson-resources>.published-link{margin:0}

/* Compact track and lesson introductions: height follows content. */
.track-hero,.lesson-template-hero{min-height:0;padding-top:34px;padding-bottom:34px}
.track-hero h1,.lesson-template-hero h1{font-size:42px;line-height:1.2;margin:0 0 12px}
.track-hero .eyebrow,.lesson-template-hero .eyebrow{margin-bottom:12px}
.track-hero>p:not(.eyebrow),.lesson-template-hero>p:not(.eyebrow){font-size:16px;line-height:1.7;margin:0 0 15px}
.track-hero>:last-child,.lesson-template-hero>:last-child{margin-bottom:0}
@media(max-width:800px){.track-hero,.lesson-template-hero{min-height:0;padding-top:26px;padding-bottom:26px}.track-hero h1,.lesson-template-hero h1{font-size:32px;line-height:1.25}.track-hero>p:not(.eyebrow),.lesson-template-hero>p:not(.eyebrow){font-size:14px}}



/* Half the vertical spacing between learning sections. */
.template-section{padding-top:39px;padding-bottom:39px}
.next-frame{padding-top:32.5px;padding-bottom:32.5px}
.template-note{margin-top:20px}
@media(max-width:800px){.template-section{padding-top:29px;padding-bottom:29px}.next-frame{padding-top:25px;padding-bottom:25px}}
