  @font-face{font-family:'GmarketSans';src:url('https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_2001@1.1/GmarketSansBold.woff') format('woff');font-weight:700;font-display:swap}
  :root{
    --bg:#0d0e12; --bg-2:#13151b; --bg-3:#1a1d25;
    --paper:#faf8f3; --paper-2:#f1ede4;
    --orange:#f47920; --orange-2:#ff913f;
    --gold:#c9a86a; --gold-2:#ddc28a;
    --text:#f4f2ec; --soft:#b6b3ab; --faint:#7f7d77;
    --ink:#1c1f26; --ink-soft:#54585f;
    --line:rgba(201,168,106,.22); --line-d:#e4ddcf;
    --maxw:1180px;
    --serif:'Fraunces',serif; --sans:'Pretendard',system-ui,sans-serif;
    --shadow:0 30px 70px -34px rgba(0,0,0,.7);
  }
  *{box-sizing:border-box;margin:0;padding:0}
  html{scroll-behavior:smooth}
  body{font-family:var(--sans);background:var(--bg);color:var(--text);line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:hidden}
  ::selection{background:var(--orange);color:#fff}
  a{color:inherit;text-decoration:none}
  img{display:block;max-width:100%}
  .wrap{width:100%;max-width:var(--maxw);margin:0 auto;padding:0 24px}
  .blueprint{background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:54px 54px}
  /* 이미지 자리표시(placeholder) — 고객 이미지 받으면 이 자리에 교체 */
  .imgph{position:relative;display:flex;align-items:center;justify-content:center;text-align:center;
    background-color:#12151c;border:1px solid var(--line);
    background-image:linear-gradient(rgba(201,168,106,.16) 1px,transparent 1px),linear-gradient(90deg,rgba(201,168,106,.16) 1px,transparent 1px);
    background-size:42px 42px;border-radius:16px;overflow:hidden;color:var(--gold-2)}
  .imgph::after{content:"";position:absolute;inset:0;box-shadow:inset 0 0 60px 10px rgba(0,0,0,.55);pointer-events:none}
  .imgph .pl{position:relative;z-index:1;font-weight:800;letter-spacing:-.01em;text-shadow:0 2px 14px rgba(0,0,0,.5);padding:16px}
  .imgph.r-169{aspect-ratio:16/9}
  .imgph.r-43{aspect-ratio:4/3}
  .imgph.photo{background-image:none}
  .imgph.photo::after{box-shadow:inset 0 0 60px 10px rgba(0,0,0,.18)}
  .imgph.photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}


  .announce{background:linear-gradient(90deg,var(--orange),#e0641a);color:#fff;text-align:center;font-size:13px;font-weight:600;padding:8px 16px}
  .announce a{text-decoration:underline;text-underline-offset:2px}

  .btn{display:inline-flex;align-items:center;gap:8px;border-radius:999px;padding:11px 20px;font-weight:700;font-size:14px;cursor:pointer;transition:.22s;white-space:nowrap}
  .btn-o{background:var(--orange);color:#fff}
  .btn-o:hover{background:var(--orange-2);transform:translateY(-2px);box-shadow:0 14px 26px -12px rgba(244,121,32,.6)}
  .btn-line{border:1px solid rgba(255,255,255,.25);color:#fff}
  .btn-line:hover{border-color:var(--gold);color:var(--gold)}
  .btn-gold{background:var(--gold);color:#231c0c}
  .btn-gold:hover{background:var(--gold-2);transform:translateY(-2px)}

  .hero{position:relative;overflow:hidden;padding:96px 0 90px}
  .hero::after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(60% 60% at 82% 12%,rgba(244,121,32,.16),transparent 60%),radial-gradient(50% 50% at 6% 96%,rgba(201,168,106,.12),transparent 60%)}
  .hero .wrap{position:relative;z-index:2;display:grid;grid-template-columns:1.08fr .92fr;gap:54px;align-items:center}
  .eyebrow{font-family:var(--serif);font-style:italic;color:var(--gold);font-size:16px;margin-bottom:18px}
  .hero h1{font-weight:800;font-size:clamp(34px,5.2vw,60px);line-height:1.08;letter-spacing:-.03em;margin-bottom:20px}
  .hero h1 b{color:var(--orange)}
  .hero .sub{font-size:clamp(16px,1.6vw,19px);color:var(--soft);max-width:520px;margin-bottom:14px}
  .hero .tagline{font-family:var(--sans);font-weight:600;color:var(--gold-2);font-size:18px;margin-bottom:32px}
  .hero .btns{display:flex;gap:12px;flex-wrap:wrap}
  .hero .stats{display:flex;gap:28px;flex-wrap:wrap;margin-top:38px;padding-top:26px;border-top:1px solid rgba(255,255,255,.1)}
  .stat b{display:block;font-family:var(--sans);font-weight:800;letter-spacing:-.02em;font-size:28px;color:#fff;line-height:1}
  .stat span{font-size:12.5px;color:var(--faint)}
  .hero-card{position:relative;border-radius:18px;overflow:hidden;border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;transform:rotate(.4deg)}
  .hero-card img{width:100%;display:block}
  .hero-badge{position:absolute;left:-14px;top:18px;background:var(--orange);color:#fff;font-weight:800;font-size:13px;padding:8px 15px;border-radius:9px;box-shadow:var(--shadow);transform:rotate(-2deg);z-index:2}
  @media(max-width:900px){.hero .wrap{grid-template-columns:1fr;gap:36px}.hero-card{order:-1}}

  section.block{padding:clamp(64px,9vw,108px) 0}
  .light{background:var(--paper);color:var(--ink)}
  .light .soft{color:var(--ink-soft)}
  .sec-eyebrow{font-family:var(--serif);font-style:italic;font-size:15px;color:var(--orange);margin-bottom:12px}
  .light .sec-eyebrow{color:#c25e12}
  .sec-title{font-weight:800;font-size:clamp(26px,3.8vw,42px);letter-spacing:-.025em;line-height:1.1}
  .sec-lead{color:var(--soft);font-size:16px;margin-top:14px;max-width:640px}
  .light .sec-lead{color:var(--ink-soft)}

  .proof-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:20px;margin-top:38px}
  .proof-card{background:#fff;border:1px solid var(--line-d);border-radius:14px;padding:24px;box-shadow:0 18px 42px -32px rgba(0,0,0,.28)}
  .proof-card.dark{background:var(--bg-2);border-color:rgba(255,255,255,.07);color:var(--text);box-shadow:none}
  .proof-label{font-size:12px;font-weight:800;color:var(--orange);letter-spacing:.04em;margin-bottom:10px}
  .proof-card h3{font-size:clamp(20px,2.5vw,28px);line-height:1.2;letter-spacing:-.02em;margin-bottom:12px}
  .proof-card p{font-size:15px;color:var(--ink-soft)}
  .proof-card.dark p{color:var(--soft)}
  .proof-note{margin-top:16px;font-size:13px;color:var(--faint)}
  .proof-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:18px}
  .proof-metrics span{display:block;border:1px solid #ece6d8;border-radius:10px;padding:12px 10px;font-size:12px;color:var(--ink-soft)}
  .proof-metrics b{display:block;color:var(--ink);font-size:15px;margin-bottom:2px}
  @media(max-width:820px){.proof-grid{grid-template-columns:1fr}.proof-metrics{grid-template-columns:1fr}}

  .imgrow{display:grid;grid-template-columns:1fr 1fr;gap:46px;align-items:center;margin-top:8px}
  .imgrow .shot{border-radius:14px;overflow:hidden;border:1px solid var(--line-d);box-shadow:0 20px 44px -26px rgba(0,0,0,.3);background:#fff}
  .imgrow.rev .shot{order:2}
  .feat-list{list-style:none;display:flex;flex-direction:column;gap:14px;margin-top:22px}
  .feat-list li{display:flex;gap:12px;font-size:15.5px}
  .feat-list .dot{flex:0 0 auto;width:26px;height:26px;border-radius:8px;background:var(--orange);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:13px}
  .frame-flow{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}
  .frame-flow span{border:1px solid var(--line-d);border-radius:999px;padding:8px 12px;font-size:13px;font-weight:700;color:var(--ink-soft);background:#fff}
  @media(max-width:820px){.imgrow{grid-template-columns:1fr;gap:26px}.imgrow.rev .shot{order:0}}

  .cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:44px}
  @media(max-width:900px){.cards{grid-template-columns:repeat(2,1fr)}}
  @media(max-width:600px){.cards{grid-template-columns:1fr}}
  .pcard{background:var(--bg-2);border:1px solid rgba(255,255,255,.07);border-radius:16px;padding:14px;display:flex;flex-direction:column;transition:.3s;position:relative;overflow:hidden}
  .pcard:hover{transform:translateY(-6px);border-color:var(--line);box-shadow:var(--shadow)}
  .pthumb{aspect-ratio:16/9;border-radius:11px;overflow:hidden;border:1px solid rgba(255,255,255,.08);position:relative;background:var(--bg-3)}
  .pthumb img{width:100%;height:100%;object-fit:cover}
  .pthumb.ph{display:flex;align-items:center;justify-content:center;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:26px 26px;background-color:#161a22}
  .pthumb.ph .pl{font-weight:800;font-size:clamp(16px,2vw,21px);color:var(--gold-2);text-align:center;text-shadow:0 2px 10px rgba(0,0,0,.4)}
  .pcard .cbody{padding:16px 10px 8px;display:flex;flex-direction:column;flex:1}
  .pcard .when{font-size:12px;font-weight:700;letter-spacing:.03em;color:var(--cat,var(--orange));margin-bottom:10px}
  .pcard .meta{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px}
  .pcard .meta .when{margin-bottom:0}
  .status{flex:0 0 auto;border-radius:999px;padding:4px 8px;font-size:11px;font-weight:800}
  .status.open{background:#e7f6ed;color:#247446}
  .status.upcoming{background:#eef2ff;color:#3459b8}
  .status.closed{background:#f1eee8;color:#7c766b}
  .status.waitlist{background:#fff1df;color:#a45a10}
  .pcard h3{font-size:20px;font-weight:800;letter-spacing:-.01em;margin-bottom:10px}
  .pcard p{font-size:13.5px;color:var(--soft);flex:1;margin-bottom:16px}
  .pcard .tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:18px}
  .pcard .tags span{font-size:11px;color:var(--faint);border:1px solid rgba(255,255,255,.12);border-radius:5px;padding:3px 8px}
  .pcard .acts{display:flex;gap:8px;flex-wrap:nowrap;margin-top:auto}
  .course-cta,.a-info{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;min-height:42px;border-radius:8px;padding:9px 13px;font-size:13px;font-weight:700;line-height:1.25;text-align:center;text-decoration:none;transition:.2s}
  .course-cta{flex:1 1 auto;border:1px solid transparent}
  .a-apply{background:var(--orange);color:#fff}
  .a-apply:hover{background:var(--orange-2)}
  .a-info{flex:0 0 auto;border:1px solid rgba(255,255,255,.18);color:var(--soft)}
  .a-info:hover{border-color:var(--gold);color:var(--gold)}
  .a-disabled{background:#ece8df;color:#8a8174;border-color:#e0dbd2;cursor:not-allowed;pointer-events:none}
  .a-wait{background:#fff1df;color:#a45a10;border-color:#f0d1a9}
  .a-wait:hover{background:#ffe2bc}
  @media(max-width:390px){.course-cta,.a-info{min-height:44px;padding:10px 11px}.a-info{min-width:68px}}
  .pcard.coming-soon{min-height:100%;border:1px dashed #d8d4c8;background:linear-gradient(145deg,#fff,#faf8f3);box-shadow:none;justify-content:center}
  .pcard.coming-soon:hover{transform:none;box-shadow:none;border-color:#cfc8bc}
  .coming-soon-inner{display:flex;min-height:100%;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:32px 20px}
  .coming-soon-kicker{font:italic 11px/1.3 var(--serif);letter-spacing:.10em;color:#a9842f;margin-bottom:7px}
  .coming-soon-title{font-size:15px;font-weight:700;color:var(--ink-soft);letter-spacing:-.01em}
  .free-badge{background:var(--gold);color:#231c0c;font-family:'GmarketSans','Pretendard',sans-serif;font-size:12px;font-weight:700;padding:4px 9px;border-radius:6px;margin-left:6px;vertical-align:middle;line-height:1;letter-spacing:.02em}

  .cal{margin-top:40px;background:var(--bg-2);border:1px solid rgba(255,255,255,.07);border-radius:16px;padding:22px}

  .mentor-section{display:grid;gap:26px}
  .mentor-overview .sec-title{margin-bottom:10px}
  .mentor-overview .sec-lead{max-width:700px;margin:0}
  .mentor-group{display:grid;gap:12px}
  .mentor-section-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px}
  .mentor-section-head h3{margin:0;font-size:18px;color:var(--ink);letter-spacing:-.015em}
  .mentor-section-head p{margin:0;font-size:12.5px;color:var(--faint)}
  .mentor-feature-card{border:1px solid var(--line);border-radius:14px;padding:24px 26px;background:#fff;box-shadow:0 16px 34px -30px rgba(0,0,0,.28)}
  .mentor-feature-card h3{font-size:24px;font-weight:800;letter-spacing:-.02em;margin:0 0 3px;color:var(--ink)}
  .mentor-feature-card .role{margin:0 0 14px;font-size:13px;font-weight:700;color:#a9842f}
  .mentor-feature-card .mentor-copy{display:grid;gap:7px}
  .mentor-feature-card .mentor-copy p{margin:0;color:var(--ink-soft);font-size:14.5px;line-height:1.75;word-break:keep-all}
  .practical-mentors{display:grid;gap:12px;padding-top:4px}
  .mentor-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
  .mentor-card{display:flex;flex-direction:column;min-height:148px;border:1px solid var(--line);border-radius:12px;padding:17px 16px;background:#fff;box-shadow:0 16px 34px -30px rgba(0,0,0,.28)}
  .mentor-card b{display:block;font-size:15px;color:var(--ink);letter-spacing:-.01em;margin-bottom:4px}
  .mentor-card .mentor-field{display:block;font-size:12.5px;font-weight:700;color:#a9842f;margin-bottom:10px}
  .mentor-card p{margin:0;font-size:13px;line-height:1.65;color:var(--ink-soft);word-break:keep-all}
  @media(max-width:780px){.mentor-grid{grid-template-columns:1fr 1fr}}
  @media(max-width:560px){
    .mentor-section{gap:22px}
    .mentor-section-head{align-items:flex-start;flex-direction:column;gap:2px}
    .mentor-feature-card{padding:20px 18px}
    .mentor-feature-card h3{font-size:21px}
    .mentor-grid{grid-template-columns:1fr}
    .mentor-card{min-height:0;padding:16px 15px}
  }

  .steps{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:42px}
  @media(max-width:780px){.steps{grid-template-columns:1fr}}
  .step{background:#fff;border:1px solid var(--line-d);border-radius:14px;padding:26px 22px}
  .step .n{font-family:var(--serif);font-size:40px;color:var(--orange);line-height:1;margin-bottom:12px}
  .step h4{font-size:18px;font-weight:800;margin-bottom:8px;color:var(--ink)}
  .step p{font-size:14px;color:var(--ink-soft)}

  .rev-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:40px}
  @media(max-width:820px){.rev-grid{grid-template-columns:1fr}}
  .rcard{background:var(--bg-2);border:1px solid rgba(255,255,255,.07);border-radius:14px;padding:22px}
  .rcard .stars{color:var(--gold);letter-spacing:2px;margin-bottom:10px}
  .rcard p{font-size:14.5px;color:var(--soft)}
  .rcard .who{margin-top:14px;font-size:12.5px;color:var(--faint)}

  .cta{position:relative;text-align:center;overflow:hidden;background:linear-gradient(135deg,#16110a,#0d0e12)}
  .cta::after{content:"";position:absolute;inset:0;background:radial-gradient(60% 80% at 50% 0%,rgba(244,121,32,.18),transparent 60%)}
  .cta .wrap{position:relative;z-index:2}
  .cta h2{font-weight:800;font-size:clamp(28px,4.6vw,48px);letter-spacing:-.02em;line-height:1.1}
  .cta p{color:var(--soft);margin:16px 0 30px}
  .cta .btns{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}

  .reveal{opacity:1;transform:none;transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1)}
  .reveal.in{opacity:1;transform:none}
  @media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}}


  /* ============ 화이트(라이트) 모드 ============ */
  :root{
    --bg:#ffffff;--bg-2:#ffffff;--bg-3:#f3f1ea;
    --paper:#f6f5f2;--paper-2:#efece4;
    --text:#1c1f26;--soft:#54585f;--faint:#8a8d93;
    --ink:#1c1f26;--ink-soft:#54585f;
    --line:#e6e3db;--line-d:#e6e3db;
    --shadow:0 22px 50px -30px rgba(0,0,0,.18);
  }
  body{background:#fff;color:#1c1f26}

  .btn-line{border-color:#d8d4c8;color:#1c1f26}
  .btn-line:hover{border-color:var(--gold);color:#a9842f}
  .eyebrow{color:#a9842f}
  .hero::after{background:radial-gradient(60% 60% at 80% 8%,rgba(244,121,32,.08),transparent 60%),radial-gradient(50% 55% at 12% 100%,rgba(201,168,106,.10),transparent 60%)}
  .hero .tagline{color:#a9842f}
  .hero .stats{border-top-color:#e6e3db}
  .stat b{color:#1c1f26}
  .info-row .chip{border-color:#e6e3db}
  .fcard{background:#fff;border-color:#e6e3db}
  .tcard{background:#fff;border-color:#e6e3db}
  .proof-card.dark{background:#1c1f26;border-color:#2d3038;color:#f4f2ec}
  .proof-card.dark h3{color:#fff}
  .proof-card.dark p{color:#c8c6bf}
  .proof-card.dark .proof-note{color:#9a978f}
  .pcard{background:#fff;border-color:#e6e3db}
  .pcard:hover{border-color:#dcc99a}
  .pcard .tags span{border-color:#e6e3db}
  .a-info{border-color:#d8d4c8}
  .cal{background:#fff;border-color:#e6e3db}
  .inst .role{color:#a9842f}
  .rcard{background:#fff;border-color:#e6e3db}
  .cta{background:#f6f5f2}
  .cta::after{background:radial-gradient(60% 80% at 50% 0%,rgba(244,121,32,.10),transparent 60%)}
  footer{background:#f2f1ec;border-top-color:#e6e3db}
  footer .logo .r{color:#1c1f26}
  footer .legal{border-top-color:#e6e3db}
  .pthumb{border-color:#e6e3db}
  .imgph{background-color:#f3f1ea;border-color:#e6e3db;background-image:linear-gradient(rgba(150,120,60,.12) 1px,transparent 1px),linear-gradient(90deg,rgba(150,120,60,.12) 1px,transparent 1px)}
  .imgph::after{box-shadow:none}
  .imgph .pl{color:#9a7b32;text-shadow:none}
  .pthumb.ph{background-color:#f3f1ea;background-image:linear-gradient(rgba(150,120,60,.12) 1px,transparent 1px),linear-gradient(90deg,rgba(150,120,60,.12) 1px,transparent 1px)}
  .pthumb.ph .pl{color:#9a7b32;text-shadow:none}

  /* ============ 인터랙션 (floating / hover / reveal) ============ */
  /* 은은하게 떠오르는 히어로 카드 */
  @keyframes floaty{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
  @keyframes floatySoft{0%,100%{transform:translateY(0) rotate(.3deg)}50%{transform:translateY(-7px) rotate(-.3deg)}}
  .hero-card,.imgph{animation:floatySoft 6s ease-in-out infinite}
  .hero-badge{animation:floaty 3.6s ease-in-out infinite}

  /* 카드 부양 hover */
  .pcard,.fcard,.tcard,.rcard{transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s,border-color .35s}
  .pcard:hover,.fcard:hover,.tcard:hover,.rcard:hover{transform:translateY(-8px);box-shadow:0 26px 50px -28px rgba(0,0,0,.28)}

  /* 버튼 부양 */
  .btn,.a-apply,.a-info{transition:transform .22s cubic-bezier(.2,.7,.2,1),background .22s,box-shadow .22s,border-color .22s,color .22s}
  .btn:hover,.a-apply:hover,.a-info:hover{transform:translateY(-3px)}
  .btn-o:hover{box-shadow:0 14px 28px -14px rgba(244,121,32,.65)}


  /* 스크롤 리빌 (기존 .reveal 보강) */
  .reveal{opacity:0;transform:translateY(26px);transition:opacity .85s cubic-bezier(.2,.7,.2,1),transform .85s cubic-bezier(.2,.7,.2,1)}
  .reveal.in{opacity:1;transform:none}

  /* 스크롤에 반응하는 상단 네비 그림자 */
  nav{transition:box-shadow .3s,background .3s}
  nav.scrolled{box-shadow:0 8px 26px -22px rgba(0,0,0,.5)}

  @media(prefers-reduced-motion:reduce){
    .hero-card,.imgph,.hero-badge{animation:none}
    .reveal{opacity:1;transform:none;transition:none}
    .pcard:hover,.fcard:hover,.tcard:hover,.rcard:hover,.btn:hover{transform:none}
  }

  /* ===== 하단 플로팅 신청 바 ===== */
  .ctabar{position:fixed;left:0;right:0;bottom:0;z-index:80;
    background:rgba(255,255,255,.92);backdrop-filter:saturate(180%) blur(12px);
    border-top:1px solid #e6e3db;box-shadow:0 -10px 30px -20px rgba(0,0,0,.35);
    transform:translateY(110%);transition:transform .35s cubic-bezier(.2,.7,.2,1)}
  .ctabar.show{transform:none}
  .ctabar-in{max-width:1120px;margin:0 auto;padding:12px 22px;display:flex;align-items:center;gap:16px}
  .ctabar .cb-txt{display:flex;flex-direction:column;gap:2px;min-width:0}
  .ctabar .cb-title{font-size:15px;font-weight:800;color:#1c1f26;letter-spacing:-.01em}
  .ctabar .cb-sub{font-size:12.5px;color:#6b6353}
  .ctabar .cb-btns{margin-left:auto;display:flex;gap:10px;flex-shrink:0}
  .ctabar .cb-btns a{border-radius:10px;padding:13px 22px;font-weight:800;font-size:14px;white-space:nowrap;transition:.2s}
  .ctabar .cb-brief{background:#fdf9f0;color:#b07d1e;border:1px solid #e2d7ba}
  .ctabar .cb-brief:hover{background:#f7edda}
  .ctabar .cb-apply{background:var(--orange);color:#fff}
  .ctabar .cb-apply:hover{background:var(--orange-2,#e06a15);transform:translateY(-2px)}
  @media(max-width:600px){
    .ctabar-in{padding:10px 14px;gap:10px}
    .ctabar .cb-sub{display:none}
    .ctabar .cb-brief{display:none}
    .ctabar .cb-btns a{padding:12px 16px;font-size:13px}
  }
