
/* ============================================================
   TOKENS
   ============================================================ */
:root{
  --black:#06090e;
  --n900:#0a1220;
  --n800:#0e1a2e;
  --n700:#121f38;
  --n600:#172640;
  --n500:#1d304f;
  --nb:rgba(255,255,255,0.07);
  --nb2:rgba(255,255,255,0.12);
  --red:#d42b2b;
  --red-h:#b81f1f;
  --red-dim:rgba(212,43,43,0.12);
  --red-glow:rgba(212,43,43,0.25);
  --w:#f4f7fc;
  --g1:#dde4ef;
  --g3:#94a3b8;
  --g5:#5a6a80;
  --t1:#f4f7fc;
  --t2:#94a3b8;
  --t3:#5a6a80;
  --card:#0f1825;
  --cborder:rgba(255,255,255,0.06);
  --nav-h:110px;
  --r:10px;
  --rl:14px;
  --tr:0.22s ease;
}

/* ============================================================
   RESET
   ============================================================ */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-tap-highlight-color:transparent}
body{font-family:'Noto Sans KR',sans-serif;background:var(--n900);color:var(--t1);line-height:1.65;overflow-x:hidden}
a{text-decoration:none;color:inherit}
img{max-width:100%;display:block}
button{cursor:pointer;font-family:inherit;border:none;background:none}
ul,ol{list-style:none}
input,textarea,select{font-family:inherit}

.container{max-width:1200px;margin:0 auto;padding:0 28px}

/* ============================================================
   TYPOGRAPHY UTILS
   ============================================================ */
.label{font-family:'Barlow Condensed',sans-serif;font-size:11.5px;font-weight:600;letter-spacing:3.5px;text-transform:uppercase;color:var(--red);display:block;margin-bottom:14px}
.sec-title{font-size:clamp(26px,3.8vw,44px);font-weight:900;line-height:1.18;letter-spacing:-0.5px;color:var(--w)}
.sec-sub{font-size:15.5px;color:var(--t2);line-height:1.85;max-width:640px;margin-top:14px}
.sec-hdr{margin-bottom:52px}
.sec-hdr.center{text-align:center}
.sec-hdr.center .sec-sub{margin-inline:auto}
.red-bar{width:44px;height:3px;background:var(--red);border-radius:2px;margin:22px 0}

/* ============================================================
   BUTTONS
   ============================================================ */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:14px 28px;border-radius:var(--r);font-size:14.5px;font-weight:700;transition:all var(--tr);cursor:pointer;white-space:nowrap}
.btn-red{background:var(--red);color:#fff}
.btn-red:hover{background:var(--red-h);transform:translateY(-2px)}
.btn-out{background:transparent;color:var(--w);border:1.5px solid rgba(255,255,255,0.22)}
.btn-out:hover{border-color:rgba(255,255,255,0.55);transform:translateY(-2px)}
.btn-kakao{background:#FEE500;color:#3B1B1B}
.btn-kakao:hover{background:#f5dc00;transform:translateY(-2px)}
.btn-sm{padding:10px 18px;font-size:13px}

/* ============================================================
   NAV
   ============================================================ */
#nav{position:fixed;top:0;left:0;right:0;z-index:900;height:var(--nav-h);background:rgba(6,9,14,0.88);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid var(--nb);transition:background var(--tr)}
#nav.scrolled{background:rgba(6,9,14,0.97)}
.nav-wrap{display:flex;align-items:center;justify-content:space-between;height:100%}
.nav-logo{display:flex;align-items:center;gap:16px;text-decoration:none;flex-shrink:0}
.nav-logo-img{width:88px;height:88px;object-fit:contain;flex-shrink:0;border-radius:50%}
.nav-links{display:flex;align-items:center;gap:2px}
.nav-links a{padding:8px 13px;font-size:13px;font-weight:500;color:var(--t2);border-radius:7px;transition:all var(--tr)}
.nav-links a:hover{color:var(--w);background:rgba(255,255,255,0.06)}
.nav-cta{background:var(--red)!important;color:#fff!important;font-weight:700!important;border-radius:7px}
.nav-cta:hover{background:var(--red-h)!important}
.hbg{display:none;flex-direction:column;gap:5px;padding:8px;cursor:pointer}
.hbg span{display:block;width:22px;height:2px;background:var(--w);border-radius:2px;transition:all .28s}
.hbg.open span:nth-child(1){transform:translateY(7px)rotate(45deg)}
.hbg.open span:nth-child(2){opacity:0;transform:scaleX(0)}
.hbg.open span:nth-child(3){transform:translateY(-7px)rotate(-45deg)}
#mob-nav{display:none;position:fixed;top:var(--nav-h);left:0;right:0;bottom:0;background:var(--black);z-index:899;overflow-y:auto;transform:translateX(100%);transition:transform .3s cubic-bezier(.25,.8,.25,1)}
#mob-nav.open{transform:translateX(0)}
.mob-links a{display:block;padding:15px 28px;font-size:16px;font-weight:500;color:var(--t2);border-bottom:1px solid var(--nb);transition:color var(--tr)}
.mob-links a:hover{color:var(--w)}
.mob-cta-wrap{padding:20px 28px}

/* Bottom bar */
#bbar{display:none;position:fixed;bottom:0;left:0;right:0;z-index:899;background:var(--black);border-top:1px solid var(--nb);padding:9px 16px calc(9px + env(safe-area-inset-bottom));grid-template-columns:repeat(3,1fr);gap:8px}
.bbar-btn{display:flex;flex-direction:column;align-items:center;gap:4px;padding:9px 6px;border-radius:9px;background:var(--card);border:1px solid var(--nb);font-size:11px;color:var(--t2);font-weight:600;cursor:pointer;transition:all var(--tr)}
.bbar-btn i{font-size:17px}
.bbar-btn.red{background:var(--red);border-color:var(--red);color:#fff}
.bbar-btn:not(.red):hover{border-color:var(--red-glow);color:var(--w)}

/* ============================================================
   SECTION WRAPPERS
   ============================================================ */
.s-black{background:var(--black);padding:96px 0}
.s-navy {background:var(--n900);padding:96px 0}
.s-mid  {background:var(--n800);padding:96px 0}

/* ============================================================
   HERO
   ============================================================ */
#hero{min-height:100vh;display:flex;align-items:center;position:relative;overflow:hidden;padding-top:var(--nav-h)}
.hero-bg{position:absolute;inset:0;background:radial-gradient(ellipse 80% 70% at 65% 40%,rgba(12,24,50,0.85),transparent),radial-gradient(ellipse 50% 60% at 10% 80%,rgba(212,43,43,0.05),transparent),var(--black)}
.hero-bg::after{content:'';position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,0.018) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,0.018) 1px,transparent 1px);background-size:56px 56px;mask-image:radial-gradient(ellipse at 35% 50%,black 20%,transparent 75%)}
.hero-stripe{position:absolute;top:0;right:0;width:340px;height:100%;background:linear-gradient(145deg,transparent 60%,rgba(212,43,43,0.04) 100%);pointer-events:none}
.hero-line{position:absolute;right:0;top:0;bottom:0;width:1px;background:linear-gradient(to bottom,transparent,rgba(212,43,43,0.25) 40%,rgba(212,43,43,0.25) 60%,transparent)}
.hero-inner{position:relative;z-index:2;display:grid;grid-template-columns:1fr 340px;gap:60px;align-items:center;padding:70px 0;width:100%}
.hero-raid-logo{display:block;width:220px!important;max-width:220px!important;height:auto!important;margin-bottom:28px;background:transparent!important;background-color:transparent!important;border:none!important;box-shadow:none!important;padding:0!important;border-radius:0;mix-blend-mode:lighten}
.hero-badge{display:none}
.hero-badge-dot{width:7px;height:7px;border-radius:50%;background:var(--red);animation:pulse 2.2s ease-in-out infinite}
@keyframes pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.55;transform:scale(1.35)}}
.hero-badge span{font-family:'Barlow Condensed',sans-serif;font-size:13px;font-weight:600;letter-spacing:2px;color:var(--red)}
.hero-h1{font-size:clamp(44px,6.5vw,80px);font-weight:900;line-height:1.03;letter-spacing:-1.5px;color:var(--w)}
.hero-h1 .accent{color:var(--red)}
.hero-copy{font-size:clamp(15px,1.8vw,19px);color:var(--t2);line-height:1.8;margin:26px 0 10px;max-width:560px}
.hero-copy strong{color:var(--w);font-weight:700}
.hero-sub{font-size:13px;color:var(--t3);margin-bottom:38px}
.hero-btns{display:flex;gap:12px;flex-wrap:wrap}
.hero-stats{display:flex;gap:0;margin-top:52px;padding-top:44px;border-top:1px solid var(--nb);flex-wrap:wrap}
.h-stat{flex:1;min-width:120px;padding:0 28px 0 0;border-right:1px solid var(--nb)}
.h-stat:first-child{padding-left:0}
.h-stat:last-child{border-right:none}
.h-stat-num{font-family:'Barlow Condensed',sans-serif;font-size:clamp(28px,4vw,42px);font-weight:700;color:var(--w);line-height:1;letter-spacing:1px}
.h-stat-num sup{font-size:60%;color:var(--red);vertical-align:top;margin-top:4px}
.h-stat-label{font-size:11.5px;color:var(--t3);letter-spacing:.5px;margin-top:5px}

/* Hero panel */
.hero-panel{background:rgba(15,24,37,0.6);border:1px solid rgba(255,255,255,0.06);border-radius:var(--rl);padding:24px}
.hp-title{font-family:'Barlow Condensed',sans-serif;font-size:13px;font-weight:600;letter-spacing:3px;color:var(--t3);text-transform:uppercase;border-bottom:1px solid var(--nb);padding-bottom:14px;margin-bottom:18px}
.pi{display:flex;align-items:flex-start;gap:12px;padding:13px 0;border-bottom:1px solid var(--nb)}
.pi:last-child{border-bottom:none;padding-bottom:0}
.pi-icon{width:34px;height:34px;border-radius:8px;background:var(--red-dim);border:1px solid rgba(212,43,43,0.2);display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:15px;color:var(--red);margin-top:1px}
.pi-text strong{display:block;font-size:13.5px;font-weight:700;color:var(--w);margin-bottom:2px}
.pi-text span{font-size:12px;color:var(--t3);line-height:1.5}

.scroll-hint{position:absolute;bottom:28px;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:6px;color:var(--t3);font-size:10px;letter-spacing:2.5px;animation:sbounce 2.8s ease-in-out infinite}
@keyframes sbounce{0%,100%{transform:translateX(-50%) translateY(0)}55%{transform:translateX(-50%) translateY(7px)}}

/* ============================================================
   WHY
   ============================================================ */
.why-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
.why-card{background:var(--card);border:1px solid var(--cborder);border-radius:var(--rl);padding:32px;position:relative;overflow:hidden;transition:all var(--tr)}
.why-card::after{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:var(--red);transform:scaleX(0);transform-origin:left;transition:transform .3s ease}
.why-card:hover{border-color:var(--red-glow);transform:translateY(-3px)}
.why-card:hover::after{transform:scaleX(1)}
.wc-icon{width:46px;height:46px;border-radius:10px;background:var(--red-dim);border:1px solid rgba(212,43,43,0.2);display:flex;align-items:center;justify-content:center;font-size:19px;color:var(--red);margin-bottom:20px}
.why-card h3{font-size:17px;font-weight:700;color:var(--w);margin-bottom:9px;line-height:1.3}
.why-card p{font-size:13.5px;color:var(--t2);line-height:1.78}
.only-badge{display:inline-flex;align-items:center;gap:7px;background:rgba(212,43,43,0.1);border:1px solid rgba(212,43,43,0.25);padding:5px 14px;border-radius:100px;font-size:12px;color:var(--red);font-weight:700;margin-bottom:36px;letter-spacing:.5px}

/* ============================================================
   COURSES
   ============================================================ */
.cg{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.cc{background:var(--card);border:1px solid var(--cborder);border-radius:var(--rl);overflow:hidden;display:flex;flex-direction:column;transition:all var(--tr)}
.cc:hover{transform:translateY(-4px);border-color:var(--red-glow)}
.cc-head{padding:28px 24px 20px;flex:1;border-bottom:1px solid var(--cborder)}
.tag{display:inline-block;padding:4px 11px;border-radius:5px;font-size:10.5px;font-weight:700;letter-spacing:1.2px;font-family:'Barlow Condensed',sans-serif;margin-bottom:14px}
.t-beg{background:rgba(0,180,100,0.13);color:#2ecf85}
.t-adv{background:rgba(30,120,255,0.14);color:#5b9fff}
.t-spe{background:rgba(160,90,255,0.14);color:#b47fff}
.t-tec{background:rgba(224,92,26,0.14);color:#f07040}
.t-pro{background:rgba(212,43,43,0.14);color:#e05050}
.t-ret{background:rgba(240,192,0,0.12);color:#e8b800}
.cc h3{font-size:16.5px;font-weight:700;color:var(--w);margin-bottom:9px;line-height:1.3}
.cc p{font-size:13px;color:var(--t2);line-height:1.7}
/* highlight badge inside course card */
.cc-badge{display:inline-flex;align-items:center;gap:6px;margin-top:12px;background:rgba(212,43,43,0.1);border:1px solid rgba(212,43,43,0.22);padding:5px 11px;border-radius:6px;font-size:11.5px;font-weight:700;color:var(--red)}
.cc-foot{padding:15px 24px;display:flex;align-items:center;justify-content:space-between}
.cc-meta{font-size:12px;color:var(--t3);display:flex;align-items:center;gap:6px}
.cc-meta i{color:var(--red);font-size:11.5px}
.cc-link{font-size:13px;font-weight:700;color:var(--red);display:flex;align-items:center;gap:4px;transition:gap var(--tr)}
.cc:hover .cc-link{gap:8px}

/* ============================================================
   PHILOSOPHY
   ============================================================ */
.philo-grid{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:start}
.philo-text{font-size:15px;color:var(--t2);line-height:1.9;margin-bottom:16px}
.philo-items{display:flex;flex-direction:column;gap:14px}
.philo-item{background:var(--card);border:1px solid var(--cborder);border-left:3px solid var(--red);border-radius:0 var(--r) var(--r) 0;padding:18px 22px}
.philo-item h4{font-family:'Barlow Condensed',sans-serif;font-size:16px;font-weight:700;letter-spacing:1px;color:var(--w);margin-bottom:4px}
.philo-item p{font-size:13px;color:var(--t2);line-height:1.6}

/* ============================================================
   TECHNICAL
   ============================================================ */
.tech-hero-text{font-size:clamp(22px,3vw,34px);font-weight:900;line-height:1.22;color:var(--w);margin-bottom:12px}
.tech-hero-text em{font-style:normal;color:var(--red);border-bottom:2px solid var(--red)}
.tech-header{display:grid;grid-template-columns:1fr auto;align-items:end;gap:24px;margin-bottom:44px}
.tech-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}
.tc{background:var(--card);border:1px solid var(--cborder);border-radius:var(--r);padding:24px 16px;text-align:center;transition:all var(--tr);cursor:pointer}
.tc:hover{background:rgba(212,43,43,0.07);border-color:var(--red-glow);transform:translateY(-3px)}
.tc-icon{font-size:26px;color:var(--t3);margin-bottom:13px;transition:color var(--tr)}
.tc:hover .tc-icon{color:var(--red)}
.tc h4{font-family:'Barlow Condensed',sans-serif;font-size:15.5px;font-weight:600;letter-spacing:.8px;color:var(--w);margin-bottom:6px}
.tc p{font-size:11.5px;color:var(--t3);line-height:1.55}
.depth-badges{display:flex;gap:14px;flex-wrap:wrap;margin-top:28px}
.db{background:var(--card);border:1px solid var(--nb2);border-radius:var(--r);padding:14px 22px;display:flex;flex-direction:column;gap:2px}
.db-val{font-family:'Barlow Condensed',sans-serif;font-size:28px;font-weight:700;color:var(--w);line-height:1}
.db-val sup{font-size:14px;color:var(--red)}
.db-label{font-size:11px;color:var(--t3)}

/* ============================================================
   INSTRUCTOR
   ============================================================ */
.inst-intro{background:var(--card);border:1px solid var(--cborder);border-left:3px solid var(--red);border-radius:0 var(--rl) var(--rl) 0;padding:24px 28px;margin-bottom:32px}
.inst-intro p{font-size:14.5px;color:var(--t2);line-height:1.85}
.inst-intro strong{color:var(--w)}
.inst-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
.ic{background:var(--card);border:1px solid var(--cborder);border-radius:var(--rl);padding:28px;transition:all var(--tr)}
.ic:hover{border-color:var(--red-glow);transform:translateY(-2px)}
.ic-num{font-family:'Barlow Condensed',sans-serif;font-size:11px;font-weight:600;letter-spacing:3px;color:var(--red);margin-bottom:12px}
.ic h3{font-size:17px;font-weight:700;color:var(--w);margin-bottom:8px}
.ic p{font-size:13.5px;color:var(--t2);line-height:1.75}
.ic-highlight{margin-top:12px;background:rgba(212,43,43,0.08);border:1px solid rgba(212,43,43,0.18);border-radius:7px;padding:10px 14px;font-size:12.5px;font-weight:700;color:var(--red)}

/* ============================================================
   SCHEDULE
   ============================================================ */
.sched-filter{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:32px}
.sf-btn{padding:8px 18px;border-radius:100px;font-size:13px;font-weight:600;background:var(--card);border:1px solid var(--nb);color:var(--t2);cursor:pointer;transition:all var(--tr)}
.sf-btn.active,.sf-btn:hover{background:var(--red);border-color:var(--red);color:#fff}
.sched-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.sc{background:var(--card);border:1px solid var(--cborder);border-radius:var(--rl);overflow:hidden;transition:all var(--tr)}
.sc:hover{border-color:var(--red-glow);transform:translateY(-2px)}
.sc-top{padding:16px 18px;border-bottom:1px solid var(--cborder);display:flex;justify-content:space-between;align-items:flex-start}
.sc-date{font-family:'Barlow Condensed',sans-serif;font-size:22px;font-weight:700;color:var(--w);line-height:1}
.sc-date .month{font-size:13px;color:var(--t3);display:block;font-family:'Noto Sans KR',sans-serif;font-weight:400;margin-bottom:2px}
.sbadge{padding:4px 10px;border-radius:5px;font-size:11px;font-weight:700;font-family:'Barlow Condensed',sans-serif;letter-spacing:.8px}
.s-open{background:rgba(0,180,100,0.15);color:#2ecf85}
.s-soon{background:rgba(240,192,0,0.15);color:#e8b800}
.s-full{background:rgba(212,43,43,0.15);color:var(--red)}
.sc-body{padding:16px 18px}
.sc-body h4{font-size:15px;font-weight:700;color:var(--w);margin-bottom:6px}
.sc-region{font-size:12px;color:var(--t3);display:flex;align-items:center;gap:5px;margin-bottom:7px}
.sc-target{font-size:12.5px;color:var(--t2)}
.sc-foot{padding:12px 18px;border-top:1px solid var(--cborder);display:flex;justify-content:flex-end}
.sc-foot-dual{justify-content:space-between;align-items:center;gap:8px}
.sc-foot-dual .btn{flex:1;text-align:center;justify-content:center}

/* ============================================================
   ROADMAP
   ============================================================ */
.roadmap-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.roadmap-card{background:var(--card);border:1px solid var(--cborder);border-radius:16px;overflow:hidden;cursor:pointer;transition:transform .2s,border-color .2s}
.roadmap-card:hover{transform:translateY(-4px);border-color:rgba(212,43,43,.4)}
.roadmap-img-wrap{position:relative;overflow:hidden;height:260px;background:#000}
.roadmap-img{width:100%;height:100%;object-fit:cover;object-position:top;opacity:.85;transition:opacity .2s,transform .3s}
.roadmap-card:hover .roadmap-img{opacity:1;transform:scale(1.03)}
.roadmap-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.35);opacity:0;transition:opacity .2s}
.roadmap-overlay i{font-size:32px;color:#fff}
.roadmap-card:hover .roadmap-overlay{opacity:1}
.roadmap-body{padding:22px 24px}
.roadmap-label{font-size:10px;font-weight:700;letter-spacing:2px;color:var(--red);font-family:'Barlow Condensed',sans-serif;margin-bottom:6px}
.roadmap-title{font-size:17px;font-weight:800;color:var(--w);margin-bottom:4px}
.roadmap-sub{font-size:12px;color:var(--t2);margin-bottom:10px;letter-spacing:.5px}
.roadmap-desc{font-size:13px;color:var(--t3);line-height:1.75;margin-bottom:16px}
.roadmap-btn{width:100%;justify-content:center;font-size:13px}
.flowmodal-inner{position:relative;max-width:92vw;max-height:92vh;display:flex;align-items:center;justify-content:center}
.flowmodal-close{position:fixed;top:18px;right:18px;z-index:100001}
.flowmodal-img{max-width:92vw;max-height:88vh;object-fit:contain;border-radius:10px;box-shadow:0 8px 40px rgba(0,0,0,.7)}
@media(max-width:768px){
  .roadmap-grid{grid-template-columns:1fr}
  .roadmap-img-wrap{height:200px}
  .roadmap-body{padding:16px 18px}
  .flowmodal-img{max-width:98vw;max-height:85vh}
}

/* ============================================================
   ABOUT
   ============================================================ */
.about-grid{display:grid;grid-template-columns:300px 1fr;gap:60px;align-items:start}
.about-avatar{background:var(--n700);border:1px solid var(--nb2);border-radius:var(--rl);overflow:hidden}
.av-placeholder{height:300px;display:flex;align-items:center;justify-content:center;font-size:80px;background:var(--n600)}
.av-info{padding:22px}
.av-info .av-title{font-family:'Barlow Condensed',sans-serif;font-size:12px;font-weight:600;letter-spacing:2px;color:var(--red);margin-bottom:8px}
.av-info h3{font-size:22px;font-weight:700;color:var(--w);margin-bottom:14px}
.av-tag{display:inline-block;background:var(--red-dim);border:1px solid rgba(212,43,43,0.2);padding:4px 12px;border-radius:5px;font-size:11.5px;font-weight:600;color:var(--red);margin:3px 3px 0 0;letter-spacing:.5px}
.info-row{display:flex;gap:16px;flex-wrap:wrap;margin-top:22px}
.info-box{background:var(--card);border:1px solid var(--nb);border-radius:var(--r);padding:16px 20px;flex:1;min-width:140px}
.info-box .ib-label{font-size:10.5px;color:var(--t3);letter-spacing:1px;margin-bottom:7px;text-transform:uppercase}
.info-box .ib-val{font-size:14px;color:var(--w);font-weight:600;line-height:1.5}
.info-box a{font-size:17px;font-weight:700;font-family:'Barlow Condensed',sans-serif;letter-spacing:1px;color:var(--w)}

/* ============================================================
   LOCATIONS
   ============================================================ */
.loc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.lc{background:var(--card);border:1px solid var(--cborder);border-radius:var(--rl);overflow:hidden;transition:all var(--tr)}
.lc:hover{border-color:var(--red-glow);transform:translateY(-3px)}
.lc-thumb{height:130px;display:flex;align-items:center;justify-content:center;font-size:48px;position:relative}
.lc-thumb.daegu{background:linear-gradient(140deg,#0c1a28,#1a2e45)}
.lc-thumb.gwangju{background:linear-gradient(140deg,#0a1a10,#142a1c)}
.lc-thumb.jeju{background:linear-gradient(140deg,#050d1a,#0a1e35)}
.lc-badge{position:absolute;top:11px;left:11px;background:var(--red);color:#fff;font-size:10px;font-weight:700;letter-spacing:1.5px;padding:4px 10px;border-radius:4px;font-family:'Barlow Condensed',sans-serif}
.lc-body{padding:22px}
.lc-body h3{font-size:18px;font-weight:700;color:var(--w);margin-bottom:3px}
.lc-role{font-size:11.5px;color:var(--red);letter-spacing:1.8px;font-family:'Barlow Condensed',sans-serif;font-weight:600;margin-bottom:14px}
.lc-row{font-size:13px;color:var(--t2);line-height:1.6;display:flex;align-items:flex-start;gap:9px;margin-bottom:7px}
.lc-row:last-child{margin-bottom:0}
.lc-row i{color:var(--t3);margin-top:2px;width:13px;font-size:12px;flex-shrink:0}
.lc-note{margin-top:12px;background:var(--red-dim);border:1px solid rgba(212,43,43,0.18);border-radius:7px;padding:9px 13px;font-size:12px;color:var(--red);font-weight:600;line-height:1.5}

/* ============================================================
   CTA BAND
   ============================================================ */
.cta-band{background:linear-gradient(110deg,var(--n800) 0%,rgba(212,43,43,0.08) 100%);border-top:1px solid var(--nb);border-bottom:1px solid var(--nb);padding:72px 0}
.cta-inner{display:grid;grid-template-columns:1fr auto;align-items:center;gap:40px}
.cta-title{font-size:clamp(20px,3vw,34px);font-weight:900;color:var(--w);line-height:1.25;margin-bottom:10px}
.cta-desc{font-size:15px;color:var(--t2)}
.cta-btns{display:flex;flex-direction:column;gap:10px;min-width:220px}

/* ============================================================
   SNS
   ============================================================ */
.sns-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:14px}
.sns-card{background:var(--card);border:1px solid var(--cborder);border-radius:var(--rl);padding:24px 16px;text-align:center;cursor:pointer;transition:all var(--tr);display:flex;flex-direction:column;align-items:center}
.sns-card:hover{transform:translateY(-3px);border-color:rgba(255,255,255,0.15)}
.sns-icon{font-size:28px;margin-bottom:11px}
.sns-card h4{font-size:14px;font-weight:700;color:var(--w);margin-bottom:4px}
.sns-card p{font-size:11.5px;color:var(--t3);line-height:1.55}
.sns-link{margin-top:10px;font-size:11px;color:var(--t3);word-break:break-all;line-height:1.4}

/* ============================================================
   CONTACT
   ============================================================ */
.contact-wrap{display:grid;grid-template-columns:1fr 1fr;gap:60px}
.cq-list{display:flex;flex-direction:column;gap:12px;margin-bottom:28px}
.cq-btn{display:flex;align-items:center;gap:14px;background:var(--card);border:1px solid var(--nb);border-radius:var(--r);padding:16px 20px;transition:all var(--tr);cursor:pointer;text-align:left}
.cq-btn:hover{border-color:var(--red-glow)}
.cq-icon{width:40px;height:40px;border-radius:9px;background:var(--red-dim);border:1px solid rgba(212,43,43,0.2);display:flex;align-items:center;justify-content:center;font-size:17px;color:var(--red);flex-shrink:0}
.cq-text strong{display:block;font-size:14px;font-weight:700;color:var(--w)}
.cq-text span{font-size:12px;color:var(--t3)}
.form-row{margin-bottom:14px}
.form-label{font-size:12.5px;color:var(--t2);font-weight:600;margin-bottom:6px;display:block;letter-spacing:.3px}
.form-input,.form-select,.form-textarea{width:100%;padding:12px 16px;background:var(--card);border:1px solid var(--nb);border-radius:var(--r);font-size:14px;color:var(--w);outline:none;transition:border-color var(--tr);-webkit-appearance:none;appearance:none}
.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--red-glow)}
.form-input::placeholder,.form-textarea::placeholder{color:var(--t3)}
.form-select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%2364748b' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:36px;cursor:pointer}
.form-select option{background:var(--n800)}
.form-textarea{resize:vertical;min-height:110px}
.form-row-2{display:grid;grid-template-columns:1fr 1fr;gap:12px}

/* ============================================================
   FOOTER
   ============================================================ */
footer{background:var(--black);border-top:1px solid var(--nb);padding:56px 0 24px}
.foot-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:40px;margin-bottom:44px}
.foot-brand-name{font-family:'Barlow Condensed',sans-serif;font-size:19px;font-weight:700;letter-spacing:2px;color:var(--w)}
.foot-brand-sub{font-size:9.5px;letter-spacing:2.5px;color:var(--red);font-weight:600;margin:3px 0 14px}
.foot-brand p{font-size:13px;color:var(--t3);line-height:1.75;margin-bottom:5px}
.foot-col h5{font-family:'Barlow Condensed',sans-serif;font-size:15px;font-weight:700;letter-spacing:1.5px;color:var(--w);margin-bottom:14px}
.foot-col li{margin-bottom:9px}
.foot-col a{font-size:13px;color:var(--t3);transition:color var(--tr)}
.foot-col a:hover{color:var(--w)}
.foot-bottom{border-top:1px solid var(--nb);padding-top:22px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px}
.foot-bottom p{font-size:12px;color:var(--t3)}
.raid-sm{background:var(--red);color:#fff;font-family:'Barlow Condensed',sans-serif;font-size:13px;font-weight:700;letter-spacing:2px;padding:3px 10px;border-radius:4px;margin-right:8px}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media(max-width:1024px){
  .cg{grid-template-columns:repeat(2,1fr)}
  .tech-grid{grid-template-columns:repeat(3,1fr)}
  .foot-grid{grid-template-columns:1fr 1fr}
  .hero-inner{grid-template-columns:1fr}
  .hero-panel{display:none}
  .philo-grid{grid-template-columns:1fr;gap:40px}
  .contact-wrap{grid-template-columns:1fr}
  .inst-grid{grid-template-columns:1fr}
  .about-grid{grid-template-columns:1fr;gap:36px}
  .about-avatar{display:flex;gap:20px;align-items:center}
  .av-placeholder{height:140px;width:140px;border-radius:var(--rl);font-size:48px;flex-shrink:0}
  .cta-inner{grid-template-columns:1fr}
  .cta-btns{flex-direction:row;flex-wrap:wrap}
  .sns-grid{grid-template-columns:repeat(3,1fr);gap:10px}
  .loc-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:768px){
  .nav-links{display:none}
  .hbg{display:flex}
  #mob-nav{display:block}
  #bbar{display:grid}
  body{padding-bottom:80px}
  .s-black,.s-navy,.s-mid{padding:60px 0}
  .sec-hdr{margin-bottom:36px}
  .why-grid{grid-template-columns:1fr}
  .cg{grid-template-columns:1fr}
  .tech-grid{grid-template-columns:repeat(2,1fr)}
  .loc-grid{grid-template-columns:1fr}
  .sns-grid{grid-template-columns:repeat(3,1fr)}
  .sched-grid{grid-template-columns:1fr}
  .h-stat{padding:0 16px 0 0}
  .foot-grid{grid-template-columns:1fr}
  .foot-bottom{flex-direction:column;text-align:center}
  .about-avatar{flex-direction:column}
  .av-placeholder{width:100%;height:200px}
  .depth-badges{gap:10px}
  .db{padding:11px 16px}
  .db-val{font-size:22px}
}
@media(max-width:480px){
  .hero-btns{flex-direction:column}
  .btn{width:100%;justify-content:center}
  .hero-stats{gap:0}
  .h-stat{min-width:50%;padding:16px 10px;border-bottom:1px solid var(--nb)}
  .h-stat:nth-child(odd){border-right:1px solid var(--nb)}
  .h-stat:nth-child(even){border-right:none}
  .sns-grid{grid-template-columns:repeat(3,1fr)}
  .tech-grid{grid-template-columns:repeat(2,1fr)}
  .form-row-2{grid-template-columns:1fr}
  .cta-btns{flex-direction:column}
  .sched-filter{gap:6px}
  .sf-btn{padding:7px 14px;font-size:12px}
}

/* ============================================================
   LOGO STYLES
   ============================================================ */
/* Nav logo */
.nav-logo{display:flex;align-items:center;gap:10px}
.nav-logo-text{display:flex;flex-direction:column;line-height:1.12;gap:3px}
.nav-logo-sub{font-size:22px!important;color:#ffffff!important;letter-spacing:.2px;font-weight:900!important}
.nav-logo-main{font-size:22px!important;font-weight:900!important;color:#ffffff!important;letter-spacing:.2px}

/* Hero panel emblem */
.hp-raid-emblem{text-align:center;padding-bottom:12px;margin-bottom:4px;border-bottom:1px solid rgba(255,255,255,0.07);background:transparent}
.raid-emblem-img{width:70px;height:70px;border-radius:50%;object-fit:cover;margin:0 auto;border:2px solid rgba(255,255,255,0.1);background:transparent;display:block}

/* WHY section raid logo */
.why-raid-logo{width:80px;height:80px;border-radius:50%;object-fit:cover;border:2px solid rgba(255,255,255,0.1);flex-shrink:0}

/* About section logos */
.av-logos-wrap{display:flex;flex-direction:column;align-items:center;gap:12px;padding:20px;background:var(--n600);min-height:240px;justify-content:center}
.av-logo-main{width:150px;height:150px;border-radius:50%;object-fit:cover;border:none}
.av-logo-sub-img{width:150px;height:150px;border-radius:50%;object-fit:cover;border:none}

/* Footer logos */
.foot-logo-wrap{display:flex;align-items:center;gap:12px;margin-bottom:12px}
.foot-logo-img{width:48px;height:48px;border-radius:50%;object-fit:cover;border:none}
.foot-raid-img{width:44px;height:44px;border-radius:50%;object-fit:cover;border:1.5px solid rgba(255,255,255,0.12)}

/* Mobile: nav logo smaller */
@media(max-width:768px){
  :root{--nav-h:70px}
  .nav-logo-img{width:56px;height:56px}
  .nav-logo-sub{font-size:13px}
  .nav-logo-main{font-size:20px}
  .raid-emblem-img{width:70px;height:70px}
  .why-raid-logo{width:60px;height:60px}
  .av-logo-main{width:120px;height:120px}
  .av-logo-sub-img{width:90px;height:90px}
  .hero-raid-logo{width:180px}
}

/* ============================================================
   ABOUT: 최성학 사진 + 로고
   ============================================================ */
.av-logos-wrap{display:flex;flex-direction:column;align-items:center;gap:0;background:var(--n700);border:1px solid var(--nb2);border-radius:var(--rl);overflow:hidden}
.av-photo-wrap{width:100%;overflow:hidden}
.av-photo{width:100%;height:auto;max-height:480px;object-fit:contain;object-position:center top;display:block;background:#0a1220}
.av-emblem-row{display:flex;justify-content:center;gap:16px;padding:16px;background:var(--n600);width:100%}
.av-logo-main{width:100px;height:100px;border-radius:50%;object-fit:cover}
.av-logo-sub-img{width:100px;height:100px;border-radius:50%;object-fit:cover}

/* ============================================================
   STAFF SECTION
   ============================================================ */
.staff-section{margin-top:64px;padding-top:56px;border-top:1px solid var(--nb)}
.staff-header{margin-bottom:32px}
.staff-title{font-size:clamp(22px,3vw,32px);font-weight:900;color:var(--w);display:flex;align-items:center;gap:12px;margin-bottom:8px}
.staff-count{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;background:var(--red);border-radius:50%;font-size:16px;font-weight:700;color:#fff;flex-shrink:0}
.staff-desc{font-size:14px;color:var(--t3)}

.staff-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:12px}

.staff-card{background:var(--card);border:1px solid var(--cborder);border-radius:var(--r);overflow:hidden;cursor:pointer;transition:all var(--tr);text-align:center}
.staff-card:hover{border-color:var(--red-glow);transform:translateY(-3px)}
.staff-photo{width:100%;aspect-ratio:1;background:var(--n600);display:flex;align-items:center;justify-content:center;font-size:32px;overflow:hidden;position:relative}
.staff-photo img{width:100%;height:100%;object-fit:cover;object-position:top}
.staff-photo-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:32px;background:linear-gradient(135deg,var(--n600),var(--n500))}
.staff-info{padding:8px 6px}
.staff-name{font-size:12px;font-weight:700;color:var(--w);margin-bottom:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.staff-level-tag{display:inline-block;padding:2px 7px;border-radius:3px;font-size:9px;font-weight:700;letter-spacing:.5px}
.sl-it{background:rgba(212,43,43,0.15);color:#e05050}
.sl-instructor{background:rgba(30,120,255,0.15);color:#5b9fff}
.sl-dm{background:rgba(0,180,100,0.13);color:#2ecf85}
.sl-tech{background:rgba(224,92,26,0.14);color:#f07040}
.sl-free{background:rgba(160,90,255,0.14);color:#b47fff}

/* Modal */
.staff-modal{display:none;position:fixed;inset:0;z-index:9999;background:rgba(0,0,0,0.82);backdrop-filter:blur(6px);align-items:center;justify-content:center;padding:20px}
.staff-modal.open{display:flex}
.modal-inner{background:var(--n800);border:1px solid var(--nb2);border-radius:var(--rl);max-width:540px;width:100%;position:relative;overflow:hidden;display:grid;grid-template-columns:180px 1fr;max-height:90vh}
.modal-close{position:absolute;top:12px;right:12px;width:32px;height:32px;border-radius:50%;background:rgba(255,255,255,0.08);color:var(--t2);font-size:14px;display:flex;align-items:center;justify-content:center;z-index:1;transition:all var(--tr)}
.modal-close:hover{background:var(--red);color:#fff}
.modal-photo-wrap{background:var(--n700);display:flex;align-items:flex-start;justify-content:center;overflow:hidden}
.modal-photo-placeholder{width:100%;min-height:240px;display:flex;align-items:center;justify-content:center;font-size:64px}
.modal-photo-placeholder img{width:100%;height:100%;object-fit:cover;object-position:top}
.modal-content{padding:24px;overflow-y:auto}
.modal-level{font-family:'Barlow Condensed',sans-serif;font-size:11px;font-weight:600;letter-spacing:3px;color:var(--red);margin-bottom:8px}
.modal-name{font-size:22px;font-weight:900;color:var(--w);margin-bottom:14px}
.modal-tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:16px}
.modal-tag{padding:4px 10px;border-radius:5px;font-size:11px;font-weight:700}
.modal-info{font-size:13.5px;color:var(--t2);line-height:1.8;margin-bottom:20px}
.modal-cta{width:100%;justify-content:center;font-size:14px;padding:12px}

@media(max-width:1024px){
  .staff-grid{grid-template-columns:repeat(5,1fr)}
}
@media(max-width:768px){
  .staff-grid{grid-template-columns:repeat(4,1fr);gap:8px}
  .modal-inner{grid-template-columns:1fr;max-width:360px}
  .modal-photo-wrap{min-height:200px}
  .modal-photo-placeholder{min-height:200px;font-size:48px}
  .av-photo{height:240px}
  .av-logo-main,.av-logo-sub-img{width:80px;height:80px}
}
@media(max-width:480px){
  .staff-grid{grid-template-columns:repeat(3,1fr);gap:6px}
  .staff-name{font-size:10px}
}


/* ── 입문 과정 모달 ─────────────────────────────── */
.course-modal{display:none;position:fixed;inset:0;z-index:9998;background:rgba(0,0,0,0.85);backdrop-filter:blur(8px);align-items:flex-start;justify-content:center;padding:20px;overflow-y:auto}
.course-modal.open{display:flex}
.cm-inner{background:var(--n800);border:1px solid var(--nb2);border-radius:var(--rl);max-width:780px;width:100%;position:relative;margin:auto;overflow:hidden}
.cm-header{background:linear-gradient(135deg,var(--n900) 0%,#0d1e3a 100%);padding:32px 36px 28px;border-bottom:1px solid var(--nb2);position:relative}
.cm-close{position:absolute;top:16px;right:16px;width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,0.08);color:var(--t2);font-size:15px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all var(--tr);border:none}
.cm-close:hover{background:var(--red);color:#fff}
.cm-badge{display:inline-flex;align-items:center;gap:6px;background:rgba(0,180,100,0.13);border:1px solid rgba(0,180,100,0.3);color:#2ecf85;font-size:11px;font-weight:700;letter-spacing:2px;padding:5px 12px;border-radius:20px;margin-bottom:14px}
.cm-title{font-size:26px;font-weight:900;color:var(--w);line-height:1.2;margin-bottom:8px}
.cm-subtitle{font-size:13.5px;color:var(--t2);line-height:1.7;max-width:600px}
.cm-tabs{display:flex;gap:0;border-bottom:1px solid var(--nb2);background:var(--n900)}
.cm-tab{flex:1;padding:14px 8px;text-align:center;font-size:13px;font-weight:700;color:var(--t3);cursor:pointer;border-bottom:2px solid transparent;transition:all .2s;background:none;border-top:none;border-left:none;border-right:none}
.cm-tab:hover{color:var(--w)}
.cm-tab.active{color:var(--w);border-bottom-color:var(--red)}
.cm-body{padding:28px 36px 32px;max-height:calc(100vh - 280px);overflow-y:auto}
.cm-pane{display:none}
.cm-pane.active{display:block}
/* 접이식 FAQ */
.faq-group{margin-bottom:8px}
.faq-q{width:100%;display:flex;align-items:center;justify-content:space-between;padding:14px 18px;background:rgba(255,255,255,0.04);border:1px solid var(--nb2);border-radius:8px;cursor:pointer;text-align:left;font-size:14px;font-weight:700;color:var(--w);transition:all .2s;gap:12px}
.faq-q:hover{background:rgba(212,43,43,0.07);border-color:rgba(212,43,43,0.3)}
.faq-q.open{background:rgba(212,43,43,0.08);border-color:rgba(212,43,43,0.35);border-radius:8px 8px 0 0}
.faq-icon{width:22px;height:22px;border-radius:50%;background:rgba(212,43,43,0.15);color:var(--red);display:flex;align-items:center;justify-content:center;font-size:11px;flex-shrink:0;transition:transform .25s}
.faq-q.open .faq-icon{transform:rotate(45deg);background:var(--red);color:#fff}
.faq-a{display:none;padding:16px 18px 18px;background:rgba(255,255,255,0.025);border:1px solid rgba(212,43,43,0.2);border-top:none;border-radius:0 0 8px 8px;font-size:13.5px;color:var(--t2);line-height:1.8}
.faq-a.open{display:block}
.faq-a ul{padding-left:18px;margin:8px 0}
.faq-a li{margin-bottom:5px}
/* 과정 개요 카드 */
.sub-course-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:24px}
.scc{background:rgba(255,255,255,0.04);border:1px solid var(--nb2);border-radius:10px;padding:16px;cursor:pointer;transition:all .2s}
.scc:hover,.scc.sel{background:rgba(212,43,43,0.08);border-color:var(--red)}
.scc-icon{font-size:22px;margin-bottom:8px}
.scc-name{font-size:13px;font-weight:700;color:var(--w);margin-bottom:4px}
.scc-depth{font-size:11.5px;color:var(--t3)}
.cm-cta-row{display:flex;gap:10px;margin-top:24px;padding-top:20px;border-top:1px solid var(--nb2)}
.cm-cta-row a{flex:1;justify-content:center}
@media(max-width:640px){
  .cm-inner{border-radius:12px}
  .cm-header{padding:24px 20px 20px}
  .cm-body{padding:20px;max-height:calc(100vh - 260px)}
  .sub-course-cards{grid-template-columns:1fr}
  .cm-tabs .cm-tab{font-size:11.5px;padding:12px 4px}
  .cm-cta-row{flex-direction:column}
}

/* ── 센터소개 재설계 ── */
#about{background:var(--n900)}
.ab-hero{display:grid;grid-template-columns:380px 1fr;gap:0;min-height:520px;background:var(--black)}
.ab-photo-col{position:relative;overflow:hidden;flex-shrink:0}
.ab-photo-col img{width:100%;height:100%;object-fit:cover;object-position:top center;display:block}
.ab-photo-overlay{position:absolute;bottom:0;left:0;right:0;padding:28px 24px 24px;background:linear-gradient(0deg,rgba(6,9,14,0.95) 0%,rgba(6,9,14,0.4) 80%,transparent 100%)}
.ab-photo-overlay .av-name{font-size:22px;font-weight:900;color:#fff;letter-spacing:1px;line-height:1.2}
.ab-photo-overlay .av-title{font-size:11px;font-weight:700;letter-spacing:2px;color:var(--red);margin-top:4px}
.ab-photo-overlay .av-role{font-size:12px;color:rgba(255,255,255,0.55);margin-top:3px}
.ab-emblem-row{display:flex;gap:12px;margin-top:14px}
.ab-emblem-row img{width:54px;height:54px;border-radius:50%;border:2px solid rgba(255,255,255,0.2);object-fit:cover}
.ab-info-col{padding:52px 52px 48px;display:flex;flex-direction:column;justify-content:center;background:var(--black)}
.ab-label{font-size:11px;font-weight:700;letter-spacing:3px;color:var(--red);margin-bottom:14px}
.ab-title{font-size:clamp(24px,2.5vw,36px);font-weight:900;color:var(--w);line-height:1.25;margin-bottom:20px}
.ab-desc{font-size:14px;color:var(--t2);line-height:1.85;margin-bottom:28px;max-width:520px}
.ab-info-cards{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:28px}
.ab-icard{background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.08);border-radius:10px;padding:14px 16px}
.ab-icard-label{font-size:10px;font-weight:700;letter-spacing:2px;color:var(--t3);margin-bottom:5px}
.ab-icard-val{font-size:13px;font-weight:700;color:var(--w);line-height:1.5}
.ab-chips{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:28px}
.ab-chip{background:rgba(212,43,43,0.09);border:1px solid rgba(212,43,43,0.2);border-radius:20px;padding:5px 13px;font-size:12px;color:var(--t2)}
.ab-cta-row{display:flex;gap:10px;flex-wrap:wrap}

/* ── 서브센터 그리드 ── */
.sub-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:48px}
.sub-card{background:var(--black);border:1px solid rgba(255,255,255,0.07);border-radius:16px;overflow:hidden;display:grid;grid-template-columns:220px 1fr;transition:border-color .25s}
.sub-card:hover{border-color:rgba(212,43,43,0.35)}
.sub-photo{position:relative;overflow:hidden}
.sub-photo img{width:100%;height:100%;object-fit:cover;object-position:top center;display:block;min-height:280px}
.sub-photo-ov{position:absolute;bottom:0;left:0;right:0;padding:16px 14px 14px;background:linear-gradient(0deg,rgba(6,9,14,0.96) 0%,transparent 100%)}
.sub-photo-ov .sp-name{font-size:15px;font-weight:900;color:#fff}
.sub-photo-ov .sp-title{font-size:10px;color:var(--red);font-weight:700;letter-spacing:1.5px;margin-top:3px}
.sub-body{padding:28px 24px;display:flex;flex-direction:column;justify-content:flex-start}
.sub-tag{font-size:10px;font-weight:700;letter-spacing:2.5px;color:var(--t3);margin-bottom:8px}
.sub-h{font-size:18px;font-weight:900;color:var(--w);margin-bottom:10px;line-height:1.3}
.sub-desc{font-size:13px;color:var(--t2);line-height:1.8;margin-bottom:18px;flex:1}
.sub-info{display:flex;flex-direction:column;gap:5px;margin-bottom:18px}
.sub-info-row{display:flex;align-items:flex-start;gap:8px;font-size:12px;color:var(--t3)}
.sub-info-row i{color:var(--t3);width:14px;flex-shrink:0;margin-top:2px}
.sub-chips{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:18px}
.sub-chip{background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.09);border-radius:14px;padding:3px 10px;font-size:11px;color:var(--t3)}

/* ── 공통 마무리 배너 ── */
.ab-footer{margin-top:48px;background:rgba(212,43,43,0.07);border:1px solid rgba(212,43,43,0.18);border-radius:14px;padding:32px 36px;display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}
.ab-footer-text h3{font-size:18px;font-weight:900;color:var(--w);margin-bottom:6px}
.ab-footer-text p{font-size:13px;color:var(--t2);line-height:1.7;max-width:560px}

@media(max-width:1024px){
  .ab-hero{grid-template-columns:300px 1fr}
  .sub-grid{grid-template-columns:1fr}
  .sub-card{grid-template-columns:180px 1fr}
}
@media(max-width:768px){
  .ab-hero{grid-template-columns:1fr;min-height:auto}
  .ab-photo-col{height:380px}
  .ab-info-col{padding:32px 24px}
  .ab-info-cards{grid-template-columns:1fr}
  .sub-card{grid-template-columns:1fr;grid-template-rows:260px auto}
  .sub-photo img{min-height:260px}
}

/* ============================================================
   OVERRIDE: 헤더 텍스트 크기/자간 통일
   ============================================================ */
.nav-logo-sub,
.nav-logo-main {
  font-size: 32px !important;
  font-weight: 900 !important;
  line-height: 1.08 !important;
  letter-spacing: -0.03em !important;
  color: #ffffff !important;
}
.nav-logo-main {
  font-size: 34px !important;
}

/* ============================================================
   OVERRIDE: Hero RAID 로고 크기/위치/배경
   ============================================================ */
.hero-raid-logo,
.hero-left .hero-raid-logo,
.hero-left img.hero-raid-logo {
  width: 190px !important;
  max-width: 190px !important;
  height: auto !important;
  display: block !important;
  margin-top: 28px !important;
  margin-bottom: 18px !important;
  padding: 0 !important;
  border: none !important;
  box-shadow: none !important;
  background: transparent !important;
  background-color: transparent !important;
  mix-blend-mode: lighten;
}

/* ============================================================
   MAP BUTTON & SUB-BTN-ROW
   ============================================================ */
.map-btn {
  background: rgba(255,255,255,0.06) !important;
  color: var(--w) !important;
  border: 1px solid rgba(255,255,255,0.18) !important;
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.map-btn:hover {
  background: rgba(212,43,43,0.15) !important;
  border-color: rgba(212,43,43,0.5) !important;
  color: #fff !important;
}
.map-btn i { color: var(--red); }

.sub-btn-row {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
}

.ab-cta-row {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
}

@media(max-width: 768px) {
  .sub-btn-row {
    flex-direction: column;
    align-items: stretch;
  }
  .sub-btn-row .btn {
    width: 100%;
    text-align: center;
    justify-content: center;
  }
  .ab-cta-row {
    flex-direction: column;
    align-items: stretch;
  }
  .ab-cta-row .btn {
    width: 100%;
    text-align: center;
    justify-content: center;
  }
}

/* ============================================================
   EDUCATION FEE SECTION
   ============================================================ */
.fee-section {
  padding-top: 72px;
  padding-bottom: 80px;
}
.fee-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 28px;
  margin-top: 40px;
}
.fee-card {
  background: var(--n800, #0d1829);
  border: 1px solid var(--nb2, rgba(255,255,255,0.07));
  border-radius: var(--rl, 12px);
  overflow: hidden;
  cursor: pointer;
  transition: transform .2s, border-color .2s;
}
.fee-card:hover {
  transform: translateY(-4px);
  border-color: rgba(212,43,43,0.35);
}
.fee-img-wrap {
  position: relative;
  overflow: hidden;
  aspect-ratio: 3/4;
  background: #06090e;
}
.fee-img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
  transition: transform .3s;
}
.fee-card:hover .fee-img {
  transform: scale(1.03);
}
.fee-overlay {
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,0.45);
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transition: opacity .2s;
  font-size: 32px;
  color: #fff;
}
.fee-card:hover .fee-overlay {
  opacity: 1;
}
.fee-body {
  padding: 22px 24px 24px;
}
.fee-label {
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 2.5px;
  color: var(--red, #d42b2b);
  margin-bottom: 8px;
}
.fee-title {
  font-size: 18px;
  font-weight: 700;
  color: #fff;
  margin: 0 0 10px;
  line-height: 1.3;
}
.fee-desc {
  font-size: 14px;
  color: var(--t3, rgba(255,255,255,0.5));
  line-height: 1.6;
  margin-bottom: 18px;
}
.fee-btn {
  font-size: 13px;
  padding: 9px 18px;
}

/* 교육비 모달 */
.feemodal-inner {
  position: relative;
  background: #06090e;
  border: 1px solid rgba(255,255,255,0.1);
  border-radius: 12px;
  max-width: 680px;
  width: 92vw;
  padding: 48px 24px 28px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
  max-height: 90vh;
  overflow-y: auto;
}
.feemodal-title {
  font-size: 18px;
  font-weight: 700;
  color: #fff;
  letter-spacing: .5px;
  text-align: center;
}
.feemodal-img {
  width: 100%;
  height: auto;
  object-fit: contain;
  border-radius: 6px;
  display: block;
}

/* 모바일 */
@media(max-width: 768px) {
  .fee-grid {
    grid-template-columns: 1fr;
    gap: 20px;
  }
  .fee-img-wrap {
    aspect-ratio: 3/2.8;
  }
  .feemodal-inner {
    padding: 44px 16px 20px;
  }
}

/* ============================================================
   OVERRIDE: 교육비용 섹션 모바일 강제 표시
   ============================================================ */
@media(max-width: 768px) {
  .fee-section {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
    padding-top: 48px !important;
    padding-bottom: 56px !important;
  }
  .fee-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 24px !important;
    width: 100% !important;
  }
  .fee-card {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    overflow: visible !important;
  }
  .fee-img-wrap {
    aspect-ratio: auto !important;
    height: auto !important;
    overflow: visible !important;
    background: #06090e;
  }
  .fee-img {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    object-fit: contain !important;
  }
  .fee-overlay {
    display: none !important;
  }
  .fee-body {
    padding: 18px 16px 20px !important;
  }
  .fee-btn {
    display: flex !important;
    width: 100% !important;
    min-height: 48px !important;
    justify-content: center !important;
    align-items: center !important;
  }
}

/* ============================================================
   INSTRUCTOR NETWORK SECTION
   ============================================================ */
.instr-section {
  padding: 64px 0 48px;
}
.instr-group-label {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 2px;
  color: var(--red, #d42b2b);
  border-left: 3px solid var(--red, #d42b2b);
  padding-left: 12px;
  margin-bottom: 24px;
}
.instr-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}
.instr-card {
  background: var(--card, #0d1829);
  border: 1px solid var(--cborder, rgba(255,255,255,0.06));
  border-radius: 12px;
  overflow: hidden;
  transition: transform .2s, border-color .2s;
}
.instr-card:hover {
  transform: translateY(-4px);
  border-color: rgba(212,43,43,0.35);
}
.instr-photo-wrap {
  width: 100%;
  aspect-ratio: 2/3;
  overflow: hidden;
  background: #06090e;
}
.instr-photo {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top center;
  display: block;
  transition: transform .3s;
}
.instr-card:hover .instr-photo {
  transform: scale(1.04);
}
.instr-body {
  padding: 14px 14px 16px;
}
.instr-en {
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 1.5px;
  color: var(--t3, rgba(255,255,255,0.45));
  margin-bottom: 4px;
}
.instr-name {
  font-size: 16px;
  font-weight: 700;
  color: #fff;
  margin-bottom: 10px;
}
.instr-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
}
.instr-tag {
  display: inline-block;
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.1);
  color: rgba(255,255,255,0.65);
  font-size: 10.5px;
  font-weight: 600;
  padding: 3px 8px;
  border-radius: 4px;
  letter-spacing: .3px;
}
.instr-tag-mi {
  background: rgba(212,43,43,0.15);
  border-color: rgba(212,43,43,0.35);
  color: #f07070;
}

/* 반응형 */
@media(max-width: 1100px) {
  .instr-grid { grid-template-columns: repeat(3, 1fr); }
}
@media(max-width: 768px) {
  .instr-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 14px !important;
  }
  .instr-name { font-size: 14px; }
  .instr-tag { font-size: 10px; padding: 2px 6px; }
}
@media(max-width: 480px) {
  .instr-grid {
    grid-template-columns: 1fr !important;
  }
}

/* 강사 카드 부가 설명 */
.instr-sub {
  font-size: 11.5px;
  color: var(--red, #d42b2b);
  font-weight: 600;
  margin-bottom: 8px;
  letter-spacing: .3px;
}

/* ============================================================
   OVERRIDE: 헤더 2줄 텍스트 길이 조정
   ============================================================ */
.nav-logo-main {
  font-size: 26px !important;
  white-space: nowrap !important;
  letter-spacing: -0.04em !important;
}
@media(max-width: 768px) {
  .nav-logo-main {
    font-size: 16px !important;
    white-space: nowrap !important;
  }
  .nav-logo-sub {
    font-size: 11px !important;
  }
}

/* ============================================================
   TOUR RESERVATION FORM
   ============================================================ */
.resv-wrap {
  background: var(--card, #0d1829);
  border: 1px solid var(--cborder, rgba(255,255,255,0.07));
  border-radius: 16px;
  padding: 40px;
  margin-top: 40px;
}
.reservation-form-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px 28px;
}
.resv-full {
  grid-column: 1 / -1;
}
.resv-field {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.resv-field label {
  font-size: 13px;
  font-weight: 600;
  color: rgba(255,255,255,0.75);
  letter-spacing: .3px;
}
.resv-req { color: var(--red, #d42b2b); }
.resv-field input,
.resv-field select,
.resv-field textarea {
  width: 100%;
  box-sizing: border-box;
  background: rgba(255,255,255,0.05);
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 8px;
  color: #fff;
  font-size: 14px;
  padding: 11px 14px;
  font-family: inherit;
  transition: border-color .2s;
  outline: none;
}
.resv-field input::placeholder,
.resv-field textarea::placeholder {
  color: rgba(255,255,255,0.3);
}
.resv-field input:focus,
.resv-field select:focus,
.resv-field textarea:focus {
  border-color: var(--red, #d42b2b);
  background: rgba(212,43,43,0.06);
}
.resv-field select option {
  background: #0d1829;
  color: #fff;
}
.resv-field textarea {
  resize: vertical;
  min-height: 120px;
}
.resv-agree-row { margin-top: 4px; }
.resv-checkbox-label {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  cursor: pointer;
  font-size: 13px;
  color: rgba(255,255,255,0.65);
  line-height: 1.5;
}
.resv-checkbox-label input[type="checkbox"] {
  width: 18px;
  height: 18px;
  min-width: 18px;
  margin-top: 2px;
  accent-color: var(--red, #d42b2b);
  cursor: pointer;
}

/* 버튼 영역 */
.reservation-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 28px;
}
.resv-action-btn {
  flex: 1;
  min-width: 180px;
  min-height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  font-size: 15px;
  font-weight: 700;
}
.resv-kakao-btn {
  background: #FEE500;
  color: #3B1B1B;
  border: none;
}
.resv-kakao-btn:hover {
  background: #f5dc00;
  color: #3B1B1B;
}
.btn-outline {
  background: transparent;
  border: 1px solid rgba(255,255,255,0.25);
  color: #fff;
}
.btn-outline:hover {
  border-color: var(--red, #d42b2b);
  color: #fff;
}

/* 미리보기 */
.reservation-preview-wrap {
  margin-top: 28px;
  background: rgba(0,0,0,0.35);
  border: 1px solid rgba(255,255,255,0.1);
  border-radius: 10px;
  padding: 24px;
}
.resv-preview-header {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 14px;
  color: #fff;
  margin-bottom: 16px;
  font-weight: 600;
}
.reservation-preview {
  font-family: 'Noto Sans KR', monospace;
  font-size: 13px;
  line-height: 1.8;
  color: rgba(255,255,255,0.85);
  white-space: pre-wrap;
  word-break: keep-all;
  overflow-wrap: break-word;
  margin: 0;
  padding: 0;
}

/* ── 모바일 ── */
@media(max-width: 768px) {
  .resv-wrap {
    padding: 24px 16px;
  }
  .reservation-form-grid {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }
  .resv-full {
    grid-column: 1 !important;
  }
  .resv-field input,
  .resv-field select,
  .resv-field textarea {
    width: 100% !important;
    max-width: 100% !important;
    font-size: 16px; /* iOS zoom 방지 */
  }
  .reservation-actions {
    flex-direction: column !important;
  }
  .resv-action-btn {
    width: 100% !important;
    min-width: unset !important;
    min-height: 52px !important;
  }
  .reservation-preview {
    font-size: 12px;
  }
}

/* ============================================================
   RESERVATION FORM v2 — 제출/성공/오류 상태
   ============================================================ */
.resv-submit-btn { min-width: 200px; }

/* 제출 로딩 상태 */
.resv-submit-btn.loading {
  opacity: .7;
  pointer-events: none;
}

/* 성공 박스 */
.resv-success-box {
  text-align: center;
  padding: 48px 32px;
}
.resv-success-icon {
  font-size: 56px;
  color: #4caf50;
  margin-bottom: 16px;
}
.resv-success-title {
  font-size: 22px;
  font-weight: 700;
  color: #fff;
  margin-bottom: 12px;
}
.resv-success-msg {
  font-size: 15px;
  color: rgba(255,255,255,0.65);
  line-height: 1.7;
  margin-bottom: 8px;
}

/* 오류 박스 */
.resv-error-box {
  background: rgba(212,43,43,0.1);
  border: 1px solid rgba(212,43,43,0.35);
  border-radius: 10px;
  padding: 18px 20px;
  color: #f07070;
  font-size: 14px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-bottom: 20px;
}
.resv-error-box i { font-size: 18px; }

/* 모바일 */
@media(max-width: 768px) {
  .resv-success-box { padding: 32px 16px; }
  .resv-success-icon { font-size: 44px; }
  .resv-success-title { font-size: 18px; }
}

/* 임시모드 예약내용 미리보기 박스 */
.reservation-preview-wrap {
  margin-top: 28px;
  background: rgba(0,0,0,0.35);
  border: 1px solid rgba(255,255,255,0.1);
  border-radius: 10px;
  padding: 24px;
}
.resv-preview-header {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-size: 14px;
  color: #fff;
  margin-bottom: 16px;
  font-weight: 600;
  line-height: 1.5;
}
.reservation-preview {
  font-family: 'Noto Sans KR', sans-serif;
  font-size: 13px;
  line-height: 1.9;
  color: rgba(255,255,255,0.85);
  white-space: pre-wrap;
  word-break: keep-all;
  overflow-wrap: break-word;
  margin: 0 0 4px;
  padding: 0;
  max-width: 100%;
}
@media(max-width: 768px) {
  .reservation-preview-wrap { padding: 16px 14px; }
  .reservation-preview { font-size: 12px; }
}

/* ============================================================
   예약현황 배지
   ============================================================ */
.sc-resv-badge { margin-bottom: 10px; min-height: 0; }
.sc-resv-info {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px 8px;
  font-size: 12px;
  font-weight: 600;
  font-family: 'Barlow Condensed', sans-serif;
  letter-spacing: .5px;
}
.badge-cap    { color: rgba(255,255,255,0.5); }
.badge-reserved { color: rgba(255,255,255,0.5); }
.badge-sep    { color: rgba(255,255,255,0.25); }
.sc-resv-status {
  display: inline-block;
  padding: 3px 10px;
  border-radius: 20px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .8px;
}
.badge-open    { background: rgba(76,175,80,0.18);  color: #81c784; border: 1px solid rgba(76,175,80,0.35); }
.badge-urgent  { background: rgba(255,152,0,0.18);  color: #ffb74d; border: 1px solid rgba(255,152,0,0.4); }
.badge-full    { background: rgba(212,43,43,0.18);  color: #ef9a9a; border: 1px solid rgba(212,43,43,0.4); }
.badge-consult { background: rgba(100,181,246,0.15);color: #90caf9; border: 1px solid rgba(100,181,246,0.3); }

/* 준비 중 안내 박스 */
.resv-pending-box {
  text-align: center;
  padding: 36px 24px;
}
.resv-pending-icon {
  font-size: 40px;
  color: rgba(255,255,255,0.3);
  margin-bottom: 14px;
}
.resv-pending-msg {
  font-size: 15px;
  color: rgba(255,255,255,0.6);
  line-height: 1.7;
}

@media(max-width: 768px) {
  .sc-resv-info { font-size: 11px; }
  .sc-resv-status { font-size: 10px; padding: 2px 8px; }
}

/* ============================================================
   교육문의 폼 상태 박스
   ============================================================ */
.edu-inquiry-success {
  text-align: center;
  padding: 40px 24px 32px;
  background: rgba(76,175,80,0.07);
  border: 1px solid rgba(76,175,80,0.25);
  border-radius: 14px;
  margin-top: 20px;
}
.edu-success-icon {
  font-size: 48px;
  color: #66bb6a;
  margin-bottom: 14px;
}
.edu-success-title {
  font-size: 20px;
  font-weight: 700;
  color: #fff;
  margin-bottom: 10px;
}
.edu-success-msg {
  font-size: 14px;
  color: rgba(255,255,255,0.65);
  line-height: 1.7;
  margin-bottom: 4px;
}
.edu-inquiry-pending {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  padding: 28px 20px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.1);
  border-radius: 12px;
  margin-top: 16px;
  text-align: center;
  color: rgba(255,255,255,0.55);
  font-size: 14px;
  line-height: 1.7;
}
.edu-inquiry-pending i { font-size: 28px; color: rgba(255,255,255,0.3); }
.edu-inquiry-error {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 16px 18px;
  background: rgba(212,43,43,0.1);
  border: 1px solid rgba(212,43,43,0.3);
  border-radius: 10px;
  margin-top: 16px;
  color: #ef9a9a;
  font-size: 14px;
}
.edu-inquiry-error i { font-size: 18px; }
.edu-inquiry-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: center;
  margin-top: 16px;
}
.edu-inquiry-actions .btn {
  min-height: 48px;
  flex: 1;
  min-width: 160px;
}

@media(max-width: 768px) {
  .edu-inquiry-actions {
    flex-direction: column !important;
    align-items: stretch;
  }
  .edu-inquiry-actions .btn {
    width: 100% !important;
    min-width: unset !important;
  }
  .edu-inquiry-success { padding: 28px 16px 24px; }
  .edu-success-icon { font-size: 38px; }
  .edu-success-title { font-size: 17px; }
}
