
    :root { --bg:#020617; --alt:#0b1527; --panel:#0f172a; --panel2:#111e31; --edge:rgba(255,255,255,.09); --muted:#94a3b8; --text:#f1f5f9; --green:#34d399; --green2:#6ee7b7; --dark:#020617; --nav-h:116px; }
    * { box-sizing:border-box; }
    html { scroll-behavior:smooth; scroll-padding-top:24px; }
    body { margin:0; background:var(--bg); color:var(--text); font-family:Pretendard, 'Apple SD Gothic Neo','Malgun Gothic',system-ui,-apple-system,sans-serif; line-height:1.55; }
    a { color:inherit; text-decoration:none; }
    button { font:inherit; cursor:pointer; }
    svg { flex:none; width:18px; height:18px; stroke:currentColor; stroke-width:1.85; fill:none; stroke-linecap:round; stroke-linejoin:round; }
    .shell { width:min(100% - 48px, 1216px); margin-inline:auto; }
    .shell-content { width:min(100% - 48px, 1152px); margin-inline:auto; }
    header { position:sticky; top:0; z-index:90; background:rgba(2,6,23,.95); backdrop-filter:blur(20px); border-bottom:1px solid var(--edge); box-shadow:0 10px 30px rgba(0,0,0,.1); }
    .head-top { display:flex; gap:10px; align-items:center; justify-content:space-between; min-height:62px; }
    .branding { display:flex; align-items:center; gap:12px; min-width:0; }
    .label-proposal { font-size:11px; letter-spacing:.11em; font-weight:900; background:var(--green); color:#05201c; border-radius:5px; padding:6px 10px; }
    .head-title { font-size:15px; font-weight:800; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
    .recipients { color:var(--muted); white-space:nowrap; font-size:11px; }
    .nav-border { border-top:1px solid rgba(255,255,255,.04); }
    .nav-scroll { overflow-x:auto; scrollbar-width:none; }
    .nav-scroll::-webkit-scrollbar { display:none; }
    nav { display:flex; gap:5px; padding:8px 0; width:max-content; min-width:100%; }
    nav a { flex:none; display:flex; gap:9px; align-items:center; border-radius:9px; padding:9px 14px; font-size:12px; font-weight:800; color:#94a3b8; transition:.2s; }
    nav a svg { width:16px; height:16px; }
    nav a:hover { background:rgba(255,255,255,.07); color:#fff; }
    nav a.active { background:var(--green); color:#05201c; }
    .hero { position:relative; overflow:hidden; border-bottom:1px solid var(--edge); isolation:isolate; }
    .hero::before, .hero::after { content:""; position:absolute; width:500px; height:500px; border-radius:50%; filter:blur(100px); z-index:-1; pointer-events:none; }
    .hero::before { right:-160px; top:-260px; background:rgba(16,185,129,.16); }
    .hero::after { left:-230px; bottom:-380px; background:rgba(34,211,238,.1); }
    .hero-grid { min-height:640px; padding:96px 0 105px; display:grid; grid-template-columns:minmax(0,1.35fr) minmax(345px,.65fr); align-items:center; gap:62px; }
    .eyebrow { color:var(--green2); font-size:12px; letter-spacing:.08em; font-weight:850; }
    .hero-chip { display:inline-flex; gap:9px; align-items:center; padding:9px 16px; border:1px solid rgba(52,211,153,.22); border-radius:100px; background:rgba(52,211,153,.08); }
    .hero-chip svg { width:16px; height:16px; }
    h1 { margin:27px 0 19px; font-size:clamp(40px,4.7vw,59px); font-weight:900; letter-spacing:-.055em; line-height:1.29; }
    h1 .accent { color:var(--green); }
    .hero-desc { font-size:17px; max-width:690px; color:#cbd5e1; line-height:1.9; margin:0; }
    .buttons { display:flex; flex-wrap:wrap; gap:12px; margin-top:32px; }
    .btn { display:inline-flex; justify-content:center; gap:9px; align-items:center; border-radius:11px; font-weight:850; font-size:14px; padding:14px 23px; transition:.2s; border:1px solid transparent; }
    .btn:hover { transform:translateY(-1px); }
    .btn-primary { background:var(--green); color:#05201c; }
    .btn-primary:hover { background:#6ee7b7; }
    .btn-ghost { border-color:#475569; color:#fff; }
    .btn-ghost:hover { border-color:var(--green); background:rgba(255,255,255,.04); }
    .hero-foot { font-size:12px; color:#64748b; margin-top:28px; }
    .toc { border:1px solid rgba(52,211,153,.16); border-radius:25px; background:rgba(15,23,42,.89); padding:30px; box-shadow:0 30px 75px rgba(0,0,0,.25); }
    .toc-head { display:flex; align-items:center; justify-content:space-between; padding-bottom:19px; border-bottom:1px solid var(--edge); margin-bottom:10px; }
    .toc-head h2 { font-size:20px; margin:7px 0 0; }
    .toc-count { font-weight:900; font-size:27px; color:#475569; }
    .toc a { display:flex; gap:12px; align-items:center; border-radius:12px; padding:12px 7px; transition:.2s; }
    .toc a:hover { background:rgba(255,255,255,.06); }
    .toc a .num { font-size:12px; font-weight:900; color:var(--green); }
    .toc a .toc-title { flex:1; color:#cbd5e1; font-size:14px; font-weight:750; }
    .toc a:hover .toc-title { color:#fff; }
    .toc a svg { color:#64748b; width:16px; height:16px; }
    .toc a:hover svg { color:var(--green); }
    .preview-disclosure { border-bottom:1px solid var(--edge); background:#101d2e; }
    .preview-disclosure .shell-content { padding:15px 0; display:flex; align-items:center; gap:10px; font-size:12px; color:#cbd5e1; }
    .preview-disclosure svg { color:var(--green); }
    main section { scroll-margin-top:24px; padding:72px 0 80px; border-bottom:1px solid var(--edge); min-height:510px; }
    main section:nth-child(even) { background:rgba(15,23,42,.5); }
    .section-heading { display:flex; align-items:flex-start; gap:16px; border-bottom:1px solid var(--edge); padding-bottom:24px; margin-bottom:33px; }
    .section-ico { display:grid; place-items:center; flex:none; width:49px; height:49px; border-radius:15px; background:rgba(52,211,153,.08); color:var(--green); border:1px solid rgba(52,211,153,.18); }
    .section-ico svg { width:24px; height:24px; }
    .section-heading .sub { color:var(--green); font-size:11px; font-weight:800; letter-spacing:.19em; }
    .section-heading h2 { margin:5px 0 0; line-height:1.4; font-size:clamp(25px,3vw,33px); letter-spacing:-.05em; }
    .section-heading .large-n { margin-left:auto; align-self:center; color:#1e293b; font-size:54px; font-weight:900; line-height:1; }
    .preview-block { border:1px solid rgba(148,163,184,.18); border-radius:20px; overflow:hidden; background:rgba(15,23,42,.65); }
    .preview-block-hd { display:flex; align-items:center; flex-wrap:wrap; justify-content:space-between; gap:10px; border-bottom:1px solid var(--edge); padding:16px 22px; }
    .preview-block-hd strong { color:#e2e8f0; font-size:14px; }
    .preview-flag { border:1px solid rgba(52,211,153,.3); border-radius:100px; padding:4px 10px; font-size:10px; color:var(--green2); letter-spacing:.03em; }
    .preview-body { padding:24px; }
    .mini-heading { color:#94a3b8; font-size:12px; margin:0 0 17px; }
    .cards { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
    .mock-card { min-height:147px; background:#111f33; border:1px solid rgba(148,163,184,.12); border-radius:14px; padding:20px; }
    .mock-card .mock-top { display:flex; align-items:center; justify-content:space-between; margin-bottom:17px; }
    .mock-card .mock-icon { display:grid; place-items:center; width:35px; height:35px; border-radius:10px; background:rgba(52,211,153,.11); color:#6ee7b7; }
    .mock-card .mock-icon svg { width:19px; height:19px; }
    .mock-card h3 { font-size:15px; margin:0 0 9px; }
    .mock-card p { font-size:12px; color:#94a3b8; margin:0; line-height:1.7; }
    .fauxline { height:7px; background:linear-gradient(90deg,#243348,#182637); border-radius:100px; margin-top:10px; }
    .fauxline.short { width:65%; }
    .fauxline.medium { width:83%; }
    .flow { display:flex; align-items:center; gap:9px; }
    .flow .step { flex:1; min-width:0; background:#111f33; border:1px solid rgba(148,163,184,.15); border-radius:14px; padding:22px 12px; text-align:center; }
    .flow .step b { display:block; color:#6ee7b7; font-size:12px; margin-bottom:8px; }
    .flow .step span { font-size:14px; font-weight:800; }
    .flow .between { color:#34d399; width:20px; }
    .price-lines { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
    .price { border:1px solid rgba(148,163,184,.2); background:#101f32; padding:24px 19px; border-radius:14px; }
    .price.feature { border-color:rgba(52,211,153,.4); background:linear-gradient(180deg,rgba(52,211,153,.07),#101f32); }
    .price .tag { color:#94a3b8; font-size:11px; font-weight:900; letter-spacing:.08em; }
    .price.feature .tag { color:#6ee7b7; }
    .price h3 { margin:8px 0 23px; }
    .price .fauxline { margin-top:15px; }
    .sim-demo { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
    .sim-panel { padding:24px; border:1px solid rgba(148,163,184,.2); background:#101f32; border-radius:16px; }
    .sim-panel h3 { margin:0 0 20px; font-size:15px; }
    .fake-range { margin:23px 0; }
    .fake-range .linehead { display:flex; justify-content:space-between; font-size:12px; color:#94a3b8; margin-bottom:13px; }
    .fake-range .track { position:relative; height:6px; border-radius:10px; background:#334155; }
    .fake-range .track::before { content:""; width:52%; height:100%; display:block; background:var(--green); border-radius:10px; }
    .fake-range .track::after { content:""; position:absolute; left:calc(52% - 8px); top:-5px; width:16px; height:16px; background:#6ee7b7; border-radius:50%; }
    .sim-chart { height:144px; display:flex; align-items:flex-end; gap:20px; border-bottom:1px solid #334155; margin-top:25px; padding-inline:14px; }
    .sim-chart span { flex:1; background:linear-gradient(0deg,#047857,#34d399); border-radius:7px 7px 0 0; opacity:.85; }
    .sim-chart span:nth-child(1) { height:40%; }.sim-chart span:nth-child(2) { height:64%; }.sim-chart span:nth-child(3) { height:82%; }.sim-chart span:nth-child(4) { height:100%; }

    .showcase-board { display:flex; flex-direction:column; gap:48px; }
    .board-row { display:flex; flex-direction:column; gap:18px; }
    .board-head { display:flex; align-items:center; justify-content:space-between; gap:16px; }
    .board-head h3 { margin:0; font-size:clamp(28px,2.8vw,38px); font-weight:900; letter-spacing:-.05em; }
    .board-arrows { display:flex; align-items:center; gap:10px; }
    .board-arrow { display:grid; place-items:center; width:42px; height:42px; border-radius:999px; border:1px solid rgba(255,255,255,.14); color:#cbd5e1; background:rgba(255,255,255,.02); }
    .board-arrow svg { width:18px; height:18px; }
    .showcase-link { display:flex; justify-content:flex-end; }
    .showcase-link a { display:inline-flex; align-items:center; gap:9px; color:#fb7185; font-weight:800; font-size:16px; }
    .showcase-link a svg { width:18px; height:18px; }
    .feature-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:36px; }
    .feature-card { overflow:hidden; border-radius:18px; background:linear-gradient(180deg,#22252d,#1b1d24); border:1px solid rgba(255,255,255,.08); box-shadow:0 12px 30px rgba(0,0,0,.22); }
    .feature-thumb { position:relative; aspect-ratio:16/11; overflow:hidden; }
    .feature-thumb::after { content:""; position:absolute; inset:auto 0 0; height:42%; background:linear-gradient(180deg,rgba(0,0,0,0),rgba(0,0,0,.58)); }
    .thumb-a { background:linear-gradient(135deg,#f2cb4a 0%,#eebf2f 50%,#d2a71f 100%); }
    .thumb-b { background:linear-gradient(135deg,#d1ccc4 0%,#bfa58d 40%,#8f6847 100%); }
    .thumb-c { background:linear-gradient(135deg,#8aa0b8 0%,#5b6d88 35%,#262f45 100%); }
    .thumb-art { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; color:rgba(255,255,255,.9); font-weight:900; letter-spacing:-.03em; text-align:center; line-height:1.08; }
    .thumb-a .thumb-art { font-size:52px; color:#111827; }
    .thumb-b .thumb-art { font-size:32px; }
    .thumb-c .thumb-art { font-size:28px; }
    .thumb-a .thumb-sub, .thumb-b .thumb-sub, .thumb-c .thumb-sub { position:absolute; left:22px; top:18px; font-size:14px; font-weight:800; z-index:1; }
    .thumb-b .thumb-sub, .thumb-c .thumb-sub { color:#f8fafc; }
    .feature-body { padding:18px 20px 22px; }
    .badge-row { display:flex; align-items:center; gap:8px; margin-bottom:18px; }
    .badge-soft, .badge-dark { display:inline-flex; align-items:center; justify-content:center; min-height:30px; padding:0 12px; border-radius:8px; font-size:12px; font-weight:800; }
    .badge-soft { color:#fda4af; border:1px solid rgba(251,113,133,.55); background:rgba(127,29,29,.08); }
    .badge-dark { color:#f8fafc; background:rgba(255,255,255,.14); }
    .feature-title { margin:0 0 14px; font-size:20px; line-height:1.5; letter-spacing:-.03em; font-weight:850; }
    .feature-divider { height:1px; background:rgba(255,255,255,.08); margin:0 0 16px; }
    .feature-meta { color:#9ca3af; font-size:14px; }
    .mini-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:18px; }
    .mini-card { overflow:hidden; border-radius:16px; background:linear-gradient(180deg,#20242a,#181b21); border:1px solid rgba(255,255,255,.08); box-shadow:0 10px 24px rgba(0,0,0,.18); }
    .mini-thumb { position:relative; aspect-ratio:4/5.4; overflow:hidden; }
    .mini-thumb::after { content:""; position:absolute; inset:auto 0 0; height:48%; background:linear-gradient(180deg,rgba(0,0,0,0),rgba(0,0,0,.72)); }
    .mini-a { background:linear-gradient(135deg,#dff1ef 0%,#7fd4d0 100%); }
    .mini-b { background:linear-gradient(135deg,#f1f1f1 0%,#b2b6bf 100%); }
    .mini-c { background:linear-gradient(135deg,#1f3747 0%,#4c7c8f 100%); }
    .mini-d { background:linear-gradient(135deg,#f8f4f4 0%,#e5eef8 100%); }
    .mini-e { background:linear-gradient(135deg,#14651a 0%,#1f8a2d 100%); }
    .mini-art { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; font-size:54px; font-weight:900; z-index:1; }
    .mini-b .mini-art { font-size:42px; color:#0f172a; }
    .mini-c .mini-art { font-size:40px; }
    .mini-d .mini-art { font-size:18px; color:#0f172a; text-align:center; line-height:1.35; padding:18px; font-weight:800; }
    .mini-e .mini-art { font-size:58px; }
    .mini-comment { position:absolute; top:14px; right:14px; width:28px; height:28px; border-radius:50%; background:#facc15; display:grid; place-items:center; color:#111827; font-size:13px; font-weight:900; z-index:2; }
    .mini-overlay { position:absolute; left:0; right:0; bottom:0; padding:14px 14px 16px; z-index:2; }
    .mini-time { display:flex; align-items:center; gap:7px; font-size:12px; color:#f8fafc; margin-bottom:8px; font-weight:700; }
    .mini-time::before { content:""; width:6px; height:6px; border-radius:50%; background:#f43f5e; }
    .mini-title { font-size:16px; line-height:1.45; letter-spacing:-.03em; font-weight:850; margin:0 0 10px; }
    .mini-meta { font-size:12px; color:#d1d5db; }
    .showcase-note { margin-top:6px; color:#64748b; font-size:13px; }

    .roadmap { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:11px; }
    .roadmap .milestone { position:relative; padding:24px 17px; border-radius:14px; background:#101f32; border:1px solid rgba(148,163,184,.2); }
    .roadmap .milestone .dot { width:10px; height:10px; background:var(--green); border-radius:50%; margin-bottom:14px; box-shadow:0 0 0 6px rgba(52,211,153,.11); }
    .roadmap .milestone h3 { font-size:15px; margin:0 0 12px; }
    .mock-warning { color:#64748b; font-size:12px; border-top:1px solid rgba(255,255,255,.07); padding:14px 23px; background:rgba(0,0,0,.13); }
    .next-link { text-align:right; margin-top:39px; }
    .next-link a { display:inline-flex; gap:8px; align-items:center; color:var(--green); font-size:14px; font-weight:800; }
    .next-link a:hover { color:var(--green2); }
    footer { padding:83px 20px 28px; text-align:center; background:radial-gradient(ellipse 30% 23% at 50% 0,rgba(52,211,153,.08),transparent),#020617; }
    footer .foot-eyebrow { color:var(--green); font-size:12px; font-weight:900; letter-spacing:.2em; }
    footer h2 { font-size:clamp(26px,3vw,36px); margin:14px 0; letter-spacing:-.05em; }
    footer p { font-size:15px; line-height:1.8; color:#94a3b8; }
    footer .buttons { justify-content:center; margin-top:30px; }
    footer .copyright { border-top:1px solid rgba(255,255,255,.1); padding-top:29px; color:#64748b; margin-top:70px; font-size:12px; line-height:1.9; }
    #topBtn { position:fixed; bottom:24px; right:24px; z-index:80; width:43px; height:43px; border:1px solid rgba(148,163,184,.2); color:#fff; border-radius:50%; display:grid; place-items:center; background:#143044; box-shadow:0 8px 22px rgba(0,0,0,.3); opacity:0; transform:translateY(10px); pointer-events:none; transition:.2s; }
    #topBtn.visible { opacity:1; transform:none; pointer-events:auto; }

    @media (max-width: 1080px) {
      .feature-grid { grid-template-columns:1fr; }
      .mini-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    }
    @media (max-width: 720px) {
      .board-head h3 { font-size:26px; }
      .mini-grid { grid-template-columns:1fr; }
      .showcase-link { justify-content:flex-start; }
    }

    @media (max-width:1000px) { .recipients { display:none; } .hero-grid { gap:33px; grid-template-columns:1fr; padding-top:70px; } .toc { max-width:650px; } }
    @media (max-width:700px) { .shell,.shell-content { width:min(100% - 32px, 100%); } .head-top { min-height:61px; } .head-title { font-size:12px; } nav a .nav-num { display:none; } .hero-grid { padding:60px 0 70px; gap:35px; } h1 { font-size:39px; } .hero-desc { font-size:15px; } .toc { padding:23px; } main section { padding:55px 0 62px; scroll-margin-top:24px; min-height:0; } .section-heading .large-n { display:none; } .section-heading { gap:12px; } .section-heading h2 { font-size:25px; } .cards,.price-lines { grid-template-columns:1fr; } .flow { flex-direction:column; } .flow .step { width:100%; } .flow .between { transform:rotate(90deg); } .sim-demo { grid-template-columns:1fr; } .roadmap { grid-template-columns:1fr 1fr; } .preview-body { padding:16px; } .preview-block-hd { padding:15px 16px; } }
    @media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } * { transition:none!important; } }
  
    .pricing-funnel-copy { margin-top: 56px; }

/* Section 01 retains its heading without the removed placeholder content table. */
#vision { min-height: 0; padding-bottom: 34px; }
#vision .section-heading { margin-bottom: 0; padding-bottom: 0; border-bottom: 0; }
#vision .next-link { margin-top: 18px; }
#diagnosis, #funnel { min-height: 0; }
#funnel .board-row + .board-row { padding-top: 36px; border-top: 1px solid rgba(255,255,255,.08); }

/* KCCA academy marketing hero — replaces the previous partnership proposal hero */
.kcca-hero { position:relative; overflow:hidden; isolation:isolate; background:#090017; border-bottom:1px solid #241332; }
.kcca-hero::before,.kcca-hero::after { display:none; }
.kcca-aurora { pointer-events:none; position:absolute; z-index:-1; inset:0 0 auto; height:830px; background:
  radial-gradient(ellipse 45% 36% at 50% 16%,rgba(247,85,180,.52) 0,rgba(162,36,168,.35) 41%,transparent 83%),
  radial-gradient(ellipse 48% 45% at 14% -5%,rgba(252,84,105,.62),transparent 73%),
  radial-gradient(ellipse 48% 45% at 90% 8%,rgba(219,65,144,.52),transparent 72%),
  radial-gradient(ellipse 65% 45% at 50% 47%,rgba(85,15,134,.65),transparent 78%),
  linear-gradient(180deg,#70115e 0%,#36075c 36%,#120126 70%,#090017 100%); }
.kcca-aurora::before { content:""; position:absolute; inset:0; opacity:.31; background:repeating-linear-gradient(110deg,transparent 0px,transparent 158px,rgba(255,90,143,.52) 160px,rgba(255,90,143,.52) 232px,transparent 235px,transparent 350px); mix-blend-mode:screen; mask-image:linear-gradient(to bottom,#000,transparent 72%); }
.kcca-aurora::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 0%,rgba(13,0,34,.2) 45%,#090017 97%); }
.kcca-hero-main { position:relative; padding:65px 0 16px; text-align:center; }
.kcca-kicker { display:inline-block; font-size:12px; font-weight:800; color:rgba(255,231,250,.77); letter-spacing:.3em; margin-bottom:4px; }
.kcca-title-stack { text-align:center; max-width:1180px; margin:0 auto; line-height:.85; }
.kcca-title-sm { color:#fff; font-size:clamp(46px,7.8vw,108px); letter-spacing:-.06em; font-weight:1000; text-shadow:0 4px 45px rgba(35,0,64,.32); }
.kcca-title-lg { color:#fff; margin:0; font-size:clamp(70px,12.3vw,178px); line-height:1.07; letter-spacing:-.09em; padding-right:.095em; font-weight:1000; text-shadow:0 4px 45px rgba(35,0,64,.32); }
.kcca-main-tagline { margin:40px auto 0; max-width:1150px; color:rgba(255,255,255,.95); font-weight:600; font-size:clamp(20px,2.4vw,33px); line-height:1.48; letter-spacing:-.055em; }
.kcca-main-tagline strong { color:#fff; font-weight:950; }
.kcca-main-detail { margin:16px auto 0; color:rgba(249,232,249,.74); font-size:clamp(14px,1.3vw,18px); line-height:1.75; }
.kcca-key-figures { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:25px; margin:57px auto 0; }
.kcca-figure { display:flex; flex-direction:column; gap:4px; text-align:center; align-items:center; }
.kcca-figure-label { font-size:14px; font-weight:700; color:rgba(255,255,255,.92); }
.kcca-figure-value { font-size:clamp(34px,3vw,44px); line-height:1.2; font-weight:950; letter-spacing:-.035em; color:#f77dba; }
.kcca-figure-value span { font-size:.65em; padding-left:3px; }
.kcca-figure-detail { color:rgba(223,197,222,.69); font-size:12px; }
.kcca-figures-note { margin:37px 0 0; padding:24px 0 0; border-top:1px solid rgba(255,255,255,.18); font-size:12px; color:#9988a4; }
.kcca-hero-bottom { position:relative; padding:102px 0 95px; }
.kcca-statement { text-align:center; }
.kcca-sub-kicker { font-size:11px; letter-spacing:.22em; font-weight:800; color:#b7a2c5; margin-bottom:18px; }
.kcca-statement h2 { margin:0; font-size:clamp(25px,2.65vw,38px); font-weight:900; letter-spacing:-.05em; line-height:1.45; }
.kcca-statement h2 strong { font-weight:950; color:#fff; }
.kcca-statement p { margin:21px 0 0; font-size:17px; line-height:1.8; color:#a9a0b5; }
.kcca-benefit-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; margin:44px auto 0; }
.kcca-benefit { background:#1b1a20; min-height:210px; position:relative; overflow:hidden; border:1px solid rgba(255,255,255,.075); border-radius:9px; padding:28px 26px 25px; }
.kcca-benefit-num { font-size:13px; color:#a3a3ac; }
.kcca-benefit h3 { position:relative; z-index:1; margin:15px 0 8px; color:#f8f7f8; font-size:clamp(17px,1.5vw,20px); font-weight:850; letter-spacing:-.055em; line-height:1.55; }
.kcca-benefit h3 em { font-style:normal; background:linear-gradient(90deg,#ff7754 0%,#e56bba 88%); background-clip:text; -webkit-background-clip:text; color:transparent; }
.kcca-benefit p { position:relative; z-index:1; margin:0; font-size:12px; color:#9997a1; line-height:1.6; }
.kcca-benefit-icon { position:absolute; right:20px; bottom:6px; font-weight:900; font-size:52px; color:rgba(255,255,255,.16); line-height:1; }
.kcca-hero-actions { display:flex; align-items:center; gap:27px; justify-content:center; flex-wrap:wrap; margin:36px 0 0; }
.kcca-hero-action { display:inline-flex; align-items:center; gap:7px; color:#f18bbd; font-weight:800; font-size:14px; }
.kcca-hero-action.secondary { color:#a9a0b5; }
.kcca-hero-action:hover { color:#fff; }
.kcca-hero-action svg { width:16px; height:16px; }
@media (max-width: 860px) {
  .kcca-hero-main { padding-top:70px; }
  .kcca-hero-bottom { padding-top:68px; }
  .kcca-benefit-grid { grid-template-columns:1fr; gap:12px; }
  .kcca-benefit { min-height:164px; }
}
@media (max-width: 640px) {
  .kcca-aurora { height:590px; }
  .kcca-hero-main { padding:60px 0 9px; }
  .kcca-title-sm { font-size:clamp(43px,10vw,68px); }
  .kcca-title-lg { font-size:clamp(47px,10.3vw,85px); letter-spacing:-.09em; }
  .kcca-kicker { font-size:10px; }
  .kcca-main-tagline { margin-top:33px; max-width:350px; font-size:20px; }
  .kcca-main-detail { font-size:13px; }
  .kcca-key-figures { gap:9px; margin-top:47px; }
  .kcca-figure-label { font-size:11px; }
  .kcca-figure-value { font-size:clamp(25px,7vw,35px); }
  .kcca-figure-detail { font-size:10px; line-height:1.4; }
  .kcca-figures-note { margin-top:26px; font-size:10px; line-height:1.6; }
  .kcca-hero-bottom { padding:70px 0 75px; }
  .kcca-statement h2 { font-size:25px; }
  .kcca-statement p { font-size:13px; }
  .kcca-benefit-grid { margin-top:35px; }
  .kcca-benefit { padding:21px 23px; }
  .kcca-benefit h3 { font-size:19px; }
}


/* Top diagnosis: 3 cards unified in one, manually navigable carousel. */
#diagnosis .diagnosis-carousel { width:100%; min-width:0; }
#diagnosis .diagnosis-carousel-window { overflow:hidden; border-radius:20px; touch-action:pan-y; outline-offset:4px; cursor:grab; }
#diagnosis .diagnosis-carousel-window:active { cursor:grabbing; }
#diagnosis .diagnosis-carousel-window:focus-visible { outline:2px solid var(--green); }
#diagnosis .diagnosis-carousel-track { display:flex; width:100%; transform:translate3d(0,0,0); transition:transform .48s cubic-bezier(.22,.7,.2,1); will-change:transform; }
#diagnosis .diagnosis-slide { flex:0 0 100%; min-width:0; padding:2px; }
#diagnosis .diagnosis-slide > .feature-card { display:grid; grid-template-columns:minmax(0, .91fr) minmax(0, 1.09fr); min-height:390px; border-radius:20px; }
#diagnosis .diagnosis-slide .feature-thumb { height:100%; min-height:390px; aspect-ratio:auto; }
#diagnosis .diagnosis-slide .thumb-art { font-size:clamp(56px, 7.8vw, 108px); }
#diagnosis .diagnosis-slide .thumb-sub { font-size:16px; top:26px; left:28px; }
#diagnosis .diagnosis-slide .feature-body { align-self:center; padding:42px clamp(28px, 4vw, 65px); }
#diagnosis .diagnosis-slide .feature-title { font-size:clamp(23px, 2.3vw, 32px); line-height:1.43; margin:0 0 34px; }
#diagnosis .diagnosis-slide .badge-row { margin-bottom:28px; }
#diagnosis .diagnosis-slide .feature-divider { margin-bottom:24px; }
#diagnosis .diagnosis-slide .feature-meta { font-size:15px; }
#diagnosis .diagnosis-carousel-footer { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:18px 3px 2px; }
#diagnosis .diagnosis-carousel-count { color:#94a3b8; font-size:13px; font-weight:800; font-variant-numeric:tabular-nums; letter-spacing:.1em; }
#diagnosis .diagnosis-carousel-dots { display:flex; gap:10px; align-items:center; }
#diagnosis .diagnosis-dot { width:10px; height:10px; padding:0; border:0; border-radius:999px; background:#475569; transition:width .25s, background .25s; }
#diagnosis .diagnosis-dot[aria-current="true"] { width:34px; background:#34d399; }
#diagnosis .board-arrow { transition:background .2s,border-color .2s,color .2s; }
#diagnosis .board-arrow:hover { background:#15283a; border-color:#34d399; color:#34d399; }
#diagnosis .board-arrow:focus-visible, #diagnosis .diagnosis-dot:focus-visible { outline:2px solid #34d399; outline-offset:4px; }
#funnel .board-row:first-child { padding-bottom:38px; border-bottom:1px solid rgba(255,255,255,.08); }
#funnel .board-row:first-child + .board-row { padding-top:0; border-top:0; }
@media (max-width:760px) {
 #diagnosis .diagnosis-slide > .feature-card { grid-template-columns:1fr; min-height:0; }
 #diagnosis .diagnosis-slide .feature-thumb { height:230px; min-height:230px; }
 #diagnosis .diagnosis-slide .thumb-art { font-size:68px; }
 #diagnosis .diagnosis-slide .feature-body { padding:24px 24px 32px; align-self:auto; min-height:235px; }
 #diagnosis .diagnosis-slide .feature-title { font-size:21px; margin:0 0 22px; }
 #diagnosis .diagnosis-slide .badge-row { margin-bottom:20px; }
 #diagnosis .diagnosis-slide .feature-divider { margin-bottom:18px; }
}
@media (prefers-reduced-motion:reduce) {
 #diagnosis .diagnosis-carousel-track { transition:none; }
}

/* Course catalog • local photos embedded as data URIs • KCCA palette */
body {background:#060817}
main section:nth-child(even) {background:transparent}
main section {border-bottom:0;padding-top:72px;padding-bottom:30px;}
#diagnosis {padding-bottom:26px;} #funnel {padding-top:22px;padding-bottom:110px;}
.board-row + .board-row {margin-top:45px;}
#funnel .board-row:first-child {padding-bottom:0;border-bottom:none;}
#funnel .board-row:first-child + .board-row {padding-top:0;border-top:0;}
#funnel .board-row + .board-row {padding-top:44px; border-top:1px solid rgba(255,255,255,.08);}
#funnel .board-head h3,#diagnosis .board-head h3 {font-size:clamp(28px,3.1vw,39px);letter-spacing:-.055em;}
.board-heading-copy p {font-size:14px;color:#9ba2b6;margin:6px 0 0;line-height:1.65;}
.board-head {align-items:flex-start;}
.board-arrow {width:39px;height:39px;transition:.2s;border-color:rgba(255,255,255,.19);}
.board-arrow:hover {color:white;background:#272139;border-color:#a855f7;}
.board-arrow:focus-visible,.course-button:focus-visible,.course-text-button:focus-visible,.mini-click:focus-visible {outline:2px solid #f472b6;outline-offset:4px;}
.course-featured {transition:transform .25s,border-color .25s,box-shadow .25s; background:#131724; border-color:#303346;}
.course-featured:hover {border-color:#67516d;box-shadow:0 20px 35px rgba(0,0,0,.28)}
.photo-thumb {position:relative;background:#151827;overflow:hidden;}
.photo-thumb img,.mini-thumb img {position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;filter:saturate(1.07);transition:transform .5s ease;}
.course-featured:hover .photo-thumb img,.course-mini:hover .mini-thumb img {transform:scale(1.065);}
.photo-thumb::after {content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,6,16,.13),transparent 42%,rgba(5,6,16,.45));pointer-events:none;}
.image-kicker {position:absolute;top:17px;left:17px;z-index:2;border:1px solid rgba(255,255,255,.32);background:rgba(8,11,25,.56);backdrop-filter:blur(8px);border-radius:99px;padding:7px 12px;color:#fff;font-size:12px;font-weight:850;}
.photo-watermark {position:absolute;z-index:2;bottom:18px;left:18px;font-size:10px;font-weight:900;color:rgba(255,255,255,.72);letter-spacing:.17em;}
.course-featured .feature-body {padding:23px 24px 24px;}
.course-featured .feature-title {font-size:clamp(20px,2vw,24px);margin:0 0 11px;line-height:1.42;min-height:2.9em;}
.course-description {color:#abb1c0;font-size:14px;line-height:1.72;margin:0 0 19px;}
.course-featured .badge-row {margin-bottom:15px;}
.course-featured .badge-soft {background:rgba(221,82,164,.09);border-color:rgba(246,114,182,.38);color:#fda4d6;}
.course-featured .badge-dark {background:rgba(255,255,255,.07);color:#c2c6d1;}
.course-featured .feature-divider {display:none;}
.course-featured .feature-meta {display:none;}
.tag-cloud {display:flex;gap:7px;flex-wrap:wrap;}
.tag-cloud span {padding:5px 9px;border:1px solid rgba(255,255,255,.09);background:rgba(255,255,255,.07);color:#cad0da;font-size:11px;font-weight:700;border-radius:99px;}
.course-text-button {display:inline-flex;gap:7px;align-items:center;margin-top:17px;padding:0;background:none;border:0;color:#fd87b8;font-size:13px;font-weight:850;}
.course-text-button svg {width:16px;height:16px;}
#diagnosis .diagnosis-slide > .course-featured {min-height:430px;grid-template-columns: 1fr 1.02fr; background:#151725;}
#diagnosis .diagnosis-slide .feature-thumb {min-height:430px;}
#diagnosis .diagnosis-slide .feature-body {padding:38px clamp(27px,4vw,61px);}
#diagnosis .diagnosis-slide .feature-title {font-size:clamp(26px,2.5vw,37px);min-height:0;margin:13px 0 17px;font-weight:900;}
#diagnosis .course-slide-label {font-size:10px;font-weight:950;letter-spacing:.15em;color:#e28aef;}
#diagnosis .course-slide-label span {color:#758195; padding:0 4px;}
#diagnosis .badge-row {margin:24px 0 0;}
#diagnosis .course-description {font-size:15px;margin:0 0 23px;line-height:1.85;color:#cbd0dd;}
.course-points {display:flex;flex-wrap:wrap;gap:9px;padding:0;margin:0 0 23px;list-style:none;}
.course-points li {color:#eceaf5;font-size:12px;padding:6px 10px;background:#29283b;border:1px solid #3c3753;border-radius:9px;}
.course-points li:before {content:"✓";color:#74f1c4;margin-right:6px;font-weight:900;}
.course-button {background:linear-gradient(110deg,#f1a4d5,#dab4ff);border:0;border-radius:11px;padding:11px 17px;display:inline-flex;align-items:center;gap:13px;color:#1c1525;font-size:13px;font-weight:900;}
.course-button:hover {filter:brightness(1.06);}
#diagnosis .diagnosis-dot[aria-current="true"] {background:#f472b6;}
#diagnosis .board-arrow:hover {color:#f472b6;border-color:#f472b6;}
.course-rail {display:flex;overflow-x:auto;gap:18px;scroll-behavior:smooth;scroll-snap-type:x mandatory;padding:3px 1px 13px;scrollbar-width:none;}
.course-rail::-webkit-scrollbar {display:none;}
.course-rail >article {scroll-snap-align:start;flex-shrink:0;}
.feature-grid.course-rail {display:flex;grid-template-columns:none;gap:22px;}
.feature-grid.course-rail >article {width:calc((100% - 44px)/3);}
.feature-grid.course-rail .feature-thumb {aspect-ratio:16/10;min-height:0;}
.feature-grid.course-rail .feature-title {font-size:20px;}
.feature-grid.course-rail .course-description {min-height:71px;}
.mini-grid.course-rail {display:flex;grid-template-columns:none;gap:15px;}
.mini-grid.course-rail >article {width:calc((100% - 60px)/5);}
.course-mini {position:relative;border-radius:15px;border-color:#2c3346;transition:transform .25s ease, box-shadow .25s ease;}
.course-mini:hover {transform:translateY(-3px);box-shadow:0 19px 25px rgba(0,0,0,.32);}
.course-mini .mini-thumb {aspect-ratio:3/4.65;min-height:310px;}
.course-mini .mini-thumb::after {content:"";background:linear-gradient(180deg,rgba(6,6,12,.15) 0%,transparent 27%,rgba(3,5,16,.58) 53%,rgba(3,6,16,.98) 100%);height:100%;pointer-events:none;}
.mini-category {position:absolute;z-index:3;top:11px;left:11px;padding:5px 9px;border-radius:99px;font-size:11px;font-weight:900;background:#f69aca;color:#23162a;max-width:calc(100% - 55px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.mini-icon {z-index:3;position:absolute;right:12px;top:10px;border-radius:50%;width:27px;height:27px;display:grid;place-items:center;color:#171420;background:#facc15;}
.mini-icon svg {width:15px;height:15px;}
.course-mini .mini-overlay {padding:17px 13px 15px;}
.course-mini .mini-title {font-size:16px;font-weight:900;line-height:1.45;margin:0 0 7px;}
.course-mini .mini-desc {font-size:11px;color:#d5d9e2;line-height:1.62;margin:0 0 12px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;}
.course-mini .tag-cloud {gap:5px;}
.course-mini .tag-cloud span {font-size:10px;padding:4px 7px;white-space:nowrap;}
.mini-click {position:absolute;inset:0;z-index:4;opacity:0;background:transparent;border:0;border-radius:inherit;cursor:pointer;}
.content-notice {border-top:1px solid rgba(255,255,255,.09);margin-top:54px;padding-top:20px;font-size:12px;color:#768196;line-height:1.75;}
.course-dialog {background:#151625;border:1px solid #4d445b;color:#f1f5f9;border-radius:22px;padding:0;width:min(90vw,560px);max-height:86vh;overflow:auto;box-shadow:0 28px 100px rgba(0,0,0,.66);}
.course-dialog::backdrop {background:rgba(2,3,10,.78);backdrop-filter:blur(6px);}
.dialog-image {height:210px;overflow:hidden;background:#151725;}
.dialog-image img {width:100%;height:100%;object-fit:cover;display:block;}
.dialog-content {padding:28px;}
.modal-category {color:#f4a3d1;font-size:12px;font-weight:900;}
.dialog-content h2 {font-size:clamp(22px,3vw,28px);letter-spacing:-.045em;line-height:1.38;margin:11px 0;}
.dialog-content p {font-size:14px;line-height:1.8;color:#c4c9d6;}
.dialog-label {font-weight:850;color:#f5f5fa!important;}
.dialog-divider {height:1px;background:#393a4a;margin:20px 0;}
.dialog-tags {display:flex;flex-wrap:wrap;gap:9px;}
.dialog-tags span {padding:7px 12px;border-radius:100px;border:1px solid #434052;color:#e7ddf0;font-size:12px;}
.dialog-note {color:#8a91a4!important;font-size:12px!important;margin-top:28px;}
.dialog-close {position:absolute;right:15px;top:14px;width:34px;height:34px;border:none;border-radius:100%;background:rgba(9,8,20,.78);color:white;font-size:24px;z-index:4;}
.dialog-confirm {border:0;background:linear-gradient(100deg,#e7a4dc,#bca4f9);color:#1d152a;border-radius:10px;padding:12px 21px;font-weight:900;width:100%;margin-top:12px;}
@media(max-width:1050px){.mini-grid.course-rail >article {width:calc((100% - 45px)/4);} }
@media(max-width:850px){.feature-grid.course-rail >article {width:calc((100% - 24px)/2);} .mini-grid.course-rail >article {width:calc((100% - 30px)/3);} }
@media(max-width:760px){
 #diagnosis .diagnosis-slide > .course-featured {min-height:0;grid-template-columns:1fr;}
 #diagnosis .diagnosis-slide .feature-thumb {height:255px;min-height:255px;}
 #diagnosis .diagnosis-slide .feature-body {padding:23px 22px 28px;}
 #diagnosis .diagnosis-slide .feature-title {font-size:23px;margin:12px 0;}
 #diagnosis .course-description {font-size:13px;line-height:1.7;}
 #diagnosis .badge-row {margin-top:16px;}
 .board-heading-copy p {font-size:12px;max-width:260px;}
 .board-arrow {width:36px;height:36px;}
 .feature-grid.course-rail >article {width:82%;}
 .mini-grid.course-rail >article {width:47%;}
 .mini-grid.course-rail {gap:12px;}
 .mini-grid.course-rail .mini-thumb {min-height:295px;}
 .course-featured .feature-title {min-height:0;}
 main section {padding-top:50px;}
 #funnel .board-row + .board-row {padding-top:35px;}
}
@media(max-width:420px){.mini-grid.course-rail >article {width:70%;} .board-head {gap:9px;} }
@media(prefers-reduced-motion:reduce){.course-rail {scroll-behavior:auto;} }

/* 2급 실무 과정: KCCA 소개 문구 바로 아래 배치 */
.kcca-hero-bottom .kcca-embedded-course-carousel {
  margin: 58px auto 0;
  padding: 0;
  min-height: 0;
  border: 0;
  width: 100%;
  background: transparent;
  scroll-margin-top: 24px;
}
.kcca-hero-bottom .kcca-embedded-course-carousel .shell-content {
  width: 100%;
  max-width: 1152px;
  margin-inline: auto;
}
.kcca-hero-bottom .kcca-benefit-grid { margin-top: 76px; }
@media (max-width: 700px) {
  .kcca-hero-bottom .kcca-embedded-course-carousel { margin-top: 38px; }
  .kcca-hero-bottom .kcca-benefit-grid { margin-top: 52px; }
}

/* 두 추천 강의 줄의 부드러운 무한 자동 흐름 */
#suggest-rail.course-rail.auto-course-marquee,
#regional-rail.course-rail.auto-course-marquee {
  scroll-behavior: auto !important;
  scroll-snap-type: none !important;
  overscroll-behavior-x: contain;
}
#suggest-rail.auto-course-marquee > article,
#regional-rail.auto-course-marquee > article {
  scroll-snap-align: none;
}
/* 키보드 및 움직임 민감성 사용자에게는 정적인 강의 목록 제공 */
@media (prefers-reduced-motion: reduce) {
  #suggest-rail.course-rail.auto-course-marquee,
  #regional-rail.course-rail.auto-course-marquee { scroll-behavior: auto !important; }
}



/* === 2026.10 KCCA: requested final refinements === */
/* Trim the empty space formerly occupied by the operational caveat. */
.kcca-hero-bottom {padding-top:50px;}
@media (max-width:860px) { .kcca-hero-bottom {padding-top:37px;} }
@media (max-width:640px) { .kcca-hero-bottom {padding-top:34px;} }

/* Popular course rail on the original navy section, separated by a full-bleed rule. */
#funnel {padding-bottom:0 !important; background:#080c1b;}
#funnel > .shell-content {padding-bottom:51px;}
#funnel .popular-section {margin-bottom:0; padding-bottom:0 !important; border-bottom:0 !important;}
#funnel .recommendations-zone {
  width:100%;
  background:linear-gradient(180deg,#111827 0%,#0d1527 70%,#0c1425 100%);
  border-top:1px solid rgba(186,170,210,.3);
  padding:54px 0 96px;
}
#funnel .recommendations-zone .showcase-board {gap:40px;}
#funnel .recommendations-zone .mini-section {gap:12px; margin-top:0 !important;}
#funnel .recommendations-zone .mini-section:first-child {border:0; padding-top:0 !important; padding-bottom:0;}
#funnel .recommendations-zone .mini-section + .mini-section {
   padding-top:40px !important;
   border-top:none;
}
#funnel .recommendations-zone .mini-section .course-rail {margin-top:0;}
@media(max-width:760px){
  #funnel > .shell-content {padding-bottom:36px;}
  #funnel .recommendations-zone {padding:37px 0 73px;}
  #funnel .recommendations-zone .showcase-board {gap:30px;}
  #funnel .recommendations-zone .mini-section + .mini-section {padding-top:30px !important;}
}

/* Course detail and course purchase side by side, wrapping gracefully on small screens. */
#diagnosis .course-actions {display:flex;gap:11px;align-items:center;flex-wrap:wrap;}
#diagnosis .course-actions .course-button {justify-content:center;min-height:43px;}
#diagnosis .course-purchase-button {
  min-height:43px;padding:11px 18px;border-radius:11px;
  border:1px solid rgba(255,174,207,.55);
  background:linear-gradient(125deg,#ec589e,#be4c99);color:#fff;
  font-size:13px;font-weight:900;cursor:pointer;
  transition:filter .2s,transform .2s;
}
#diagnosis .course-purchase-button:hover {filter:brightness(1.14);transform:translateY(-1px);}
#diagnosis .course-purchase-button:focus-visible {outline:2px solid #fff;outline-offset:3px;}
.purchase-dialog .purchase-course-name {font-size:17px;font-weight:850;color:#fff;}
@media(max-width:420px){
  #diagnosis .course-actions {gap:8px;}
  #diagnosis .course-actions .course-button,
  #diagnosis .course-actions .course-purchase-button {flex:1 1 auto;}
}

/* 2급 실무 과정 아래로 이동한 KCCA 교육 소개 */
.kcca-hero-bottom > .kcca-embedded-course-carousel { margin-top:28px; }
.kcca-hero-bottom > .kcca-statement {
  max-width:1040px;
  margin:33px auto 0;
  padding:29px 26px 0;
  border-top:none;
}
.kcca-hero-bottom .kcca-benefit-grid {margin-top:47px;}
@media(max-width:700px){
  .kcca-hero-bottom > .kcca-embedded-course-carousel {margin-top:24px;}
  .kcca-hero-bottom > .kcca-statement {margin-top:22px; padding:19px 5px 0;}
  .kcca-hero-bottom .kcca-benefit-grid {margin-top:35px;}
}
/* 교육 소개 버튼과 어울리는 부드러운 피치·라일락·민트 파스텔 그라데이션 */
#diagnosis .course-purchase-button {
  display:inline-flex;
  justify-content:center;
  align-items:center;
  gap:13px;
  min-height:43px;
  border:1px solid rgba(255,255,255,.58);
  border-radius:11px;
  background:linear-gradient(115deg,#ffdfd5 0%,#e8d6fa 48%,#bff0e4 100%);
  color:#222038;
  box-shadow:0 6px 22px rgba(188,163,229,.16),inset 0 1px rgba(255,255,255,.52);
  font-size:13px;
  font-weight:900;
  white-space:nowrap;
  transition:transform .2s ease,filter .2s ease,box-shadow .2s ease;
}
#diagnosis .course-purchase-button svg {width:17px;height:17px;stroke:currentColor;stroke-width:2;fill:none;flex-shrink:0;transition:transform .2s ease;}
#diagnosis .course-purchase-button:hover {
  transform:translateY(-2px);
  filter:brightness(1.035);
  box-shadow:0 10px 25px rgba(184,165,224,.28),inset 0 1px rgba(255,255,255,.7);
}
#diagnosis .course-purchase-button:hover svg {transform:translateX(3px);}
#diagnosis .course-purchase-button:focus-visible {outline:2px solid #f0cef9;outline-offset:4px;}
@media(prefers-reduced-motion:reduce){
  #diagnosis .course-purchase-button,
  #diagnosis .course-purchase-button svg {transition:none;}
}

