*{box-sizing:border-box}
html{scroll-behavior:smooth}
body.fde-course-page{margin:0;background:var(--sd-paper);color:var(--sd-ink);font-family:'Pretendard',-apple-system,BlinkMacSystemFont,sans-serif;line-height:1.7;word-break:keep-all;overflow-wrap:break-word}
body.fde-course-page :is(h1,h2,h3,p,ol,ul,dl){margin-top:0}
.fc-shell{max-width:1076px;margin:0 auto;padding:0 24px}
.fc-hero{background:var(--sd-paper);color:var(--sd-ink);padding:35px 0 48px}
.fc-hero-heading{margin-bottom:25px}
.fc-eyebrow,.fc-section-head>span,.fc-final span{display:block;color:var(--sd-accent);font-size:12px;font-weight:750;letter-spacing:.055em}
.fc-hero h1{margin:12px 0 8px;font-size:clamp(29px,3vw,38px);font-weight:820;line-height:1.28;letter-spacing:-.05em;text-wrap:balance}
.fc-hero-heading p{max-width:68ch;margin:0;color:var(--sd-muted);font-size:15px;line-height:1.7}
.fc-hero-quick{display:none;color:var(--sd-accent);font-size:13px;font-weight:750;text-underline-offset:4px}
.fc-hero-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(290px,.9fr);gap:18px;align-items:stretch}
.fc-cover{position:relative;display:flex;flex-direction:column;justify-content:space-between;min-height:370px;overflow:hidden;padding:27px 30px 23px;border-radius:7px;background:var(--sd-navy);color:var(--sd-night-text)}
.fc-cover::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(162,192,178,.09) 1px,transparent 1px),linear-gradient(90deg,rgba(162,192,178,.09) 1px,transparent 1px);background-size:43px 43px;opacity:.45;mask-image:linear-gradient(90deg,transparent 10%,#000 100%);pointer-events:none}
.fc-cover>*{position:relative;z-index:1}
.fc-cover-top{display:flex;justify-content:space-between;gap:14px;color:var(--sd-night-muted);font:600 10px/1.5 'JetBrains Mono',monospace;letter-spacing:.055em}
.fc-cover-center{padding:23px 0 16px}
.fc-cover-label{display:block;margin-bottom:8px;color:var(--sd-gold);font:600 10px 'JetBrains Mono',monospace;letter-spacing:.07em}
.fc-cover-center>strong{display:block;font-size:clamp(25px,2.5vw,34px);line-height:1.3;letter-spacing:-.045em;text-wrap:balance}
.fc-cover-lanes{display:grid;gap:0;max-width:500px;margin-top:24px;border-top:1px solid var(--sd-night-line)}
.fc-cover-lanes>div{display:grid;grid-template-columns:34px minmax(90px,.72fr) minmax(0,1fr);align-items:center;gap:10px;min-height:43px;border-bottom:1px solid var(--sd-night-line)}
.fc-cover-lanes b{color:var(--sd-gold);font:600 12px 'JetBrains Mono',monospace}
.fc-cover-lanes span{font:600 13px 'JetBrains Mono',monospace;letter-spacing:.02em}
.fc-cover-lanes small{color:var(--sd-night-muted);font-size:12px}
.fc-cover-foot{margin:0;color:var(--sd-night-muted);font-size:12px}
.fc-summary{display:flex;flex-direction:column;min-width:0;padding:24px 25px 18px;border:1px solid var(--sd-line);border-radius:7px;background:var(--sd-paper);box-shadow:0 5px 22px rgba(11,18,32,.07)}
.fc-summary-kicker{color:var(--sd-accent);font-size:12px;font-weight:750}
.fc-summary h2{margin:10px 0 15px;font-size:23px;letter-spacing:-.04em;line-height:1.35}
.fc-summary dl{margin:0 0 15px}
.fc-summary dl>div{display:grid;grid-template-columns:35px minmax(0,1fr);gap:11px;padding:10px 0;border-top:1px solid var(--sd-line);font-size:12px;line-height:1.55}
.fc-summary dt{color:var(--sd-accent);font-weight:750}
.fc-summary dd{margin:0;color:var(--sd-ink);font-weight:600}
.fc-button{display:inline-flex;align-items:center;justify-content:space-between;gap:20px;min-height:48px;padding:11px 18px;border:1px solid var(--sd-forest);border-radius:5px;background:var(--sd-forest);color:#fff;font-size:14px;font-weight:750;text-decoration:none;transition:background .18s ease,transform .18s ease}
.fc-button:hover{background:#234C3B;transform:translateY(-1px)}
.fc-button:active{transform:translateY(1px)}
.fc-summary .fc-button{width:100%;margin-top:auto}
.fc-text-link{display:inline-flex;align-self:center;align-items:center;min-height:38px;margin-top:4px;color:var(--sd-accent);font-size:12px;font-weight:700;text-underline-offset:4px}
.fc-section{padding:68px 0 73px;scroll-margin-top:130px}
.fc-soft{background:var(--sd-wash)}
.fc-section-head{max-width:730px;margin-bottom:30px}
.fc-section-head>span{color:var(--sd-accent)}
.fc-section-head h2{margin:11px 0 11px;font-size:clamp(29px,3.4vw,40px);line-height:1.25;letter-spacing:-.048em}
.fc-section-head p{margin:0;color:var(--sd-muted);font-size:16px;line-height:1.7}
.fc-competencies{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:2px solid var(--sd-ink);border-bottom:1px solid var(--sd-line)}
.fc-competencies article{padding:25px 29px 22px 0;border-bottom:1px solid var(--sd-line)}
.fc-competencies article:nth-child(even){padding-left:29px;border-left:1px solid var(--sd-line)}
.fc-competencies article:nth-last-child(-n+2){border-bottom:0}
.fc-competencies article>span{font:600 11px 'JetBrains Mono',monospace;color:var(--sd-accent)}
.fc-competencies h3{margin:10px 0 10px;font-size:21px;letter-spacing:-.025em}
.fc-competencies ul{margin:0 0 15px;padding-left:18px;color:var(--sd-muted);font-size:14px;line-height:1.7}
.fc-competencies p{margin:0;padding-top:12px;border-top:1px solid var(--sd-line);font-size:13px;color:var(--sd-accent)}
.fc-competencies p b{margin-right:9px}
.fc-track-list{border-top:2px solid var(--sd-ink);border-bottom:1px solid var(--sd-line)}
.fc-track-row{display:grid;grid-template-columns:100px minmax(0,1.18fr) minmax(190px,.86fr) 100px;gap:20px;align-items:center;min-height:115px;padding:17px 0;border-bottom:1px solid var(--sd-line);color:var(--sd-ink);text-decoration:none;transition:background .18s ease}
.fc-track-row:last-child{border-bottom:0}
.fc-track-row:hover{background:var(--sd-tint)}
.fc-track-id{display:flex;align-items:baseline;gap:10px;color:var(--sd-accent)}
.fc-track-id span{font:600 28px/1 'JetBrains Mono',monospace;font-variant-numeric:tabular-nums}
.fc-track-id small{font:600 10px 'JetBrains Mono',monospace;letter-spacing:.04em}
.fc-track-main h3{margin:0 0 5px;font-size:21px;letter-spacing:-.03em;line-height:1.35}
.fc-track-main p{margin:0;color:var(--sd-muted);font-size:13px;line-height:1.55}
.fc-track-result{padding-left:19px;border-left:1px solid var(--sd-line)}
.fc-track-result small{display:block;margin-bottom:5px;color:var(--sd-muted);font-size:11px}
.fc-track-result strong{font-size:13px;line-height:1.5}
.fc-track-action{display:inline-flex;align-items:center;justify-content:space-between;gap:4px;min-height:44px;color:var(--sd-accent);font-size:13px;font-weight:750;white-space:nowrap}
.fc-track-row:hover .fc-track-action{text-decoration:underline;text-underline-offset:4px}
.fc-track-note{margin:15px 0 0;color:var(--sd-muted);font-size:12px;line-height:1.6}
.fc-course-head{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);gap:50px;align-items:start;margin-bottom:30px}
.fc-course-head .fc-section-head{margin-bottom:0;padding-left:21px;border-left:4px solid var(--sd-accent)}
.fc-course-facts{padding:12px 20px;border:1px solid var(--sd-line);border-top:3px solid var(--sd-accent);border-radius:3px;background:var(--sd-paper)}
.fc-course-facts dl{margin:0}
.fc-course-facts dl>div{display:grid;grid-template-columns:70px minmax(0,1fr);gap:13px;padding:10px 0;border-bottom:1px solid var(--sd-line);font-size:13px;line-height:1.55}
.fc-course-facts dl>div:last-child{border-bottom:0}
.fc-course-facts dt{color:var(--sd-accent);font-weight:750}
.fc-course-facts dd{margin:0;color:var(--sd-ink)}
.fc-course-note{margin:18px 0 0;padding:15px 18px;border-left:3px solid var(--sd-accent);background:var(--sd-tint);color:var(--sd-muted);font-size:13px;line-height:1.65}
.fc-course-note strong{margin-right:7px;color:var(--sd-accent)}
.fc-journey{list-style:none;margin:0;padding:0;border-top:2px solid var(--sd-accent)}
.fc-journey li{display:grid;grid-template-columns:45px minmax(0,1.1fr) minmax(240px,.9fr);gap:20px;padding:20px 0;border-bottom:1px solid var(--sd-line)}
.fc-step{color:var(--sd-accent);font:600 18px 'JetBrains Mono',monospace}
.fc-journey small{color:var(--sd-accent);font:600 10px 'JetBrains Mono',monospace;letter-spacing:.04em}
.fc-journey h3{margin:3px 0 5px;font-size:19px;line-height:1.4;letter-spacing:-.03em}
.fc-journey p{margin:0;color:var(--sd-muted);font-size:14px;line-height:1.65}
.fc-journey li>div:last-child{border-left:1px solid var(--sd-line);padding-left:20px;color:var(--sd-muted);font-size:13px;line-height:1.5}
.fc-journey li>div:last-child b{display:block;margin:0 0 3px;color:var(--sd-accent);font-size:11px}
.fc-journey li>div:last-child b:not(:first-child){margin-top:9px}
.fc-final{padding:49px 0;background:var(--sd-navy);color:var(--sd-night-text);scroll-margin-top:130px}
.fc-final .fc-shell{display:flex;justify-content:space-between;align-items:center;gap:30px}
.fc-final h2{margin:9px 0;font-size:clamp(26px,3vw,34px);letter-spacing:-.04em}
.fc-final p{margin:0;color:var(--sd-night-muted);font-size:14px;line-height:1.7}
.fc-final .fc-button{flex:none;background:var(--sd-gold);border-color:var(--sd-gold);color:var(--sd-navy)}
.fc-final .fc-button:hover{background:var(--sd-gold-hover)}
.fc-footer{padding:26px 0;background:var(--sd-paper);border-top:1px solid var(--sd-line);color:var(--sd-muted);font-size:12px}
.fc-footer .fc-shell{display:flex;justify-content:space-between;gap:20px}
.fc-footer a{color:var(--sd-accent)}
.fde-course-page :is(a,button):focus-visible{outline:3px solid var(--sd-focus);outline-offset:4px}
@media(max-width:900px){.fc-hero-grid,.fc-course-head{grid-template-columns:1fr;gap:18px}.fc-track-row{grid-template-columns:80px minmax(0,1fr) minmax(150px,.75fr);gap:14px}.fc-track-action{grid-column:2/-1;min-height:29px;justify-content:flex-start}}
@media(max-width:620px){.fc-shell{padding-inline:20px}.fc-hero{padding:30px 0 40px}.fc-hero h1{font-size:29px}.fc-hero-heading{margin-bottom:20px}.fc-hero-quick{display:inline-flex;align-items:center;gap:9px;min-height:38px;margin-top:8px}.fc-cover{min-height:320px;padding:22px 21px 20px}.fc-cover-top{font-size:9px}.fc-cover-center>strong{font-size:27px}.fc-cover-lanes>div{grid-template-columns:29px 88px minmax(0,1fr);gap:6px}.fc-cover-lanes span{font-size:11px}.fc-cover-lanes small{font-size:11px}.fc-summary{padding:21px 20px 18px}.fc-section{padding:54px 0 61px}.fc-track-row{grid-template-columns:1fr;gap:5px;padding:20px 0}.fc-track-id{gap:13px}.fc-track-id span{font-size:20px}.fc-track-result{padding:8px 0 0;border-left:0}.fc-track-action{grid-column:1;justify-content:flex-start;min-height:38px}.fc-competencies{grid-template-columns:1fr}.fc-competencies article,.fc-competencies article:nth-child(even){padding:19px 0;border-left:0;border-bottom:1px solid var(--sd-line)}.fc-competencies article:nth-last-child(2){border-bottom:1px solid var(--sd-line)}.fc-competencies article:last-child{border-bottom:0}.fc-course-head .fc-section-head{padding-left:16px}.fc-journey li{grid-template-columns:34px minmax(0,1fr);gap:12px}.fc-journey li>div:last-child{grid-column:2;padding-left:0;border-left:0}.fc-final .fc-shell{align-items:stretch;flex-direction:column}.fc-final .fc-button{align-self:flex-start}.fc-footer .fc-shell{flex-direction:column;gap:6px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
