/*
Theme Name: Baeulhak Online Academy
Version: 3.3.0
Description: 희망버디기술사 - 토질및기초기술사 온라인 강의 플랫폼
Text Domain: baeulhak
Requires PHP: 8.0
*/

@import url('https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/variable/pretendardvariable-dynamic-subset.min.css');
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+KR:wght@600;700;900&display=swap');

:root{
  --primary:#E8601C;--primary-dk:#C74E12;--primary-lt:#FFF5EE;--primary-50:#FEF9F5;
  --black:#111;--dk:#222;--g800:#333;--g700:#444;--g600:#666;--g500:#888;--g400:#aaa;--g300:#ccc;--g200:#e2e2e2;--g100:#f2f2f2;--g50:#f8f8f8;--white:#fff;
  --red:#DC2626;--green:#059669;--blue:#2563EB;--gold:#D97706;--navy:#1E293B;--purple:#6D28D9;
  --maxw:1260px;--r:6px;--rl:12px;--rxl:16px;--pill:50px;
  --sh-xs:0 1px 2px rgba(0,0,0,.04);--sh-sm:0 1px 4px rgba(0,0,0,.06);--sh-md:0 4px 12px rgba(0,0,0,.07);--sh-lg:0 8px 28px rgba(0,0,0,.09);
  --sans:'Pretendard Variable','Pretendard',-apple-system,'Noto Sans KR',sans-serif;--serif:'Noto Serif KR',serif;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;font-size:16px}
body{font-family:var(--sans);color:var(--g700);background:var(--white);line-height:1.65;-webkit-font-smoothing:antialiased}
a{text-decoration:none;color:inherit;transition:color .15s}
ul,ol{list-style:none}img{max-width:100%;height:auto;display:block}
button{cursor:pointer;border:none;background:none;font-family:inherit}
input,select,textarea{font-family:inherit;font-size:inherit}
::selection{background:var(--primary);color:#fff}

/* Layout */
.w{max-width:var(--maxw);margin:0 auto;padding:0 24px}
.w--sm{max-width:960px}
.s{padding:72px 0}
.s--alt{background:#fff}
.s--dk{background:#fff;color:#111;border-top:1px solid #eee;border-bottom:1px solid #eee}
.s--brand{background:var(--primary-50)}

/* Section Head */
.sh{text-align:center;margin-bottom:44px}
.sh__tag{display:inline-block;font-size:11px;font-weight:700;letter-spacing:2.5px;color:var(--primary);text-transform:uppercase;margin-bottom:6px}
.sh__t{font-family:var(--serif);font-size:34px;font-weight:700;color:var(--black);line-height:1.35;margin-bottom:8px}
.sh__d{font-size:16px;color:var(--g500);max-width:480px;margin:0 auto}

/* Buttons */
.b{display:inline-flex;align-items:center;justify-content:center;gap:5px;font-weight:600;transition:all .2s;white-space:nowrap;border-radius:var(--r)}
.b--s{padding:7px 14px;font-size:13px}
.b--m{padding:10px 22px;font-size:14px}
.b--l{padding:13px 30px;font-size:15px}
.b--xl{padding:15px 36px;font-size:16px;border-radius:var(--pill)}
.b--f{background:var(--primary);color:#fff}
.b--f:hover{background:var(--primary-dk);color:#fff;transform:translateY(-1px);box-shadow:0 4px 14px rgba(232,96,28,.25)}
.b--o{border:1.5px solid var(--primary);color:var(--primary)}
.b--o:hover{background:var(--primary);color:#fff}
.b--w{background:#fff;color:var(--primary)}
.b--w:hover{background:var(--g100);color:var(--primary)}
.b--dk{background:var(--navy);color:#fff}
.b--dk:hover{background:#0f172a;color:#fff}
.b--block{width:100%}
.b--pill{border-radius:var(--pill)}

/* =====================
   TOPBAR - Ticker style like Hackers
   ===================== */
.topbar{background:var(--navy);height:38px;display:flex;align-items:center;overflow:hidden;position:relative}
.topbar .w{display:flex;justify-content:space-between;align-items:center;width:100%}
.topbar__ticker{flex:1;overflow:hidden;white-space:nowrap;color:rgba(255,255,255,.7);font-size:13px}
.topbar__ticker span{display:inline-block;animation:ticker 20s linear infinite}
@keyframes ticker{0%{transform:translateX(100%)}100%{transform:translateX(-100%)}}
.topbar__ticker em{color:var(--primary);font-style:normal;font-weight:600}
.topbar__ticker strong{color:#fff}
.topbar__right{display:flex;gap:12px;align-items:center;font-size:12px;flex-shrink:0;margin-left:20px}
.topbar__right a{color:rgba(255,255,255,.5);transition:color .15s}
.topbar__right a:hover{color:#fff}

/* =====================
   HEADER
   ===================== */
.hdr{background:#fff;position:sticky;top:0;z-index:200;border-bottom:1px solid var(--g200);transition:box-shadow .2s}
.hdr--scrolled{box-shadow:0 2px 12px rgba(0,0,0,.06)}
.hdr__in{display:flex;align-items:center;justify-content:space-between;height:64px}
.hdr__logo{display:flex;align-items:center;gap:10px}
.hdr__logo-ic{width:38px;height:38px;background:linear-gradient(135deg,var(--primary),#F08C4C);border-radius:8px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:15px;font-weight:900}
.hdr__logo-tx{font-size:16px;font-weight:800;color:var(--black);line-height:1.15}
.hdr__logo-tx span{color:var(--primary)}
.hdr__logo-sub{display:block;font-size:10px;font-weight:400;color:var(--g500)}
.hdr__rt{display:flex;align-items:center;gap:6px}
.hdr__util{display:flex;gap:12px;margin-right:12px;font-size:13px;color:var(--g600)}
.hdr__util a:hover{color:var(--primary)}
.hdr__ham{display:none;width:40px;height:40px;flex-direction:column;gap:5px;align-items:center;justify-content:center}
.hdr__ham span{width:20px;height:2px;background:var(--dk);border-radius:1px}

/* =====================
   GNB - Professional tab nav like Hackers
   ===================== */
.gnb{background:#fff;border-bottom:2px solid var(--primary)}
.gnb__list{display:flex;justify-content:center}
.gnb__item{position:relative}
.gnb__a{display:flex;align-items:center;gap:3px;padding:13px 22px;font-size:15px;font-weight:600;color:var(--dk);transition:all .15s;white-space:nowrap}
.gnb__a:hover,.gnb__a--on{color:var(--primary);background:var(--primary-lt)}
.gnb__a--cta{background:var(--primary)!important;color:#fff!important;border-radius:var(--r);margin:4px 0;padding:9px 18px;font-size:14px}
.gnb__a--cta:hover{background:var(--primary-dk)!important}
.gnb__badge{background:var(--red);color:#fff;font-size:9px;padding:1px 4px;border-radius:6px;font-weight:700;line-height:1.3}
/* Dropdown */
.gnb__drop{position:absolute;top:100%;left:0;background:#fff;min-width:190px;box-shadow:var(--sh-lg);border-radius:0 0 var(--rl) var(--rl);opacity:0;visibility:hidden;transform:translateY(-4px);transition:all .18s;z-index:10;border:1px solid var(--g200);border-top:2px solid var(--primary)}
.gnb__item:hover .gnb__drop{opacity:1;visibility:visible;transform:translateY(0)}
.gnb__drop a{display:block;padding:10px 16px;font-size:13px;color:var(--g600);border-bottom:1px solid var(--g100);transition:all .12s}
.gnb__drop a:last-child{border:none}
.gnb__drop a:hover{color:var(--primary);background:var(--primary-50);padding-left:20px}

/* =====================
   HERO - Full-width banner like Hackers
   ===================== */
.hero{position:relative;background:linear-gradient(135deg,#0C0805 0%,#1A120A 30%,#2A1D12 65%,#38271A 100%);color:#fff;padding:64px 0 80px;overflow:hidden}
.hero::before{content:'';position:absolute;right:0;top:0;bottom:0;width:40%;background:radial-gradient(ellipse at 70% 50%,rgba(232,96,28,.06),transparent 65%)}
.hero__grid{display:grid;grid-template-columns:1fr 380px;gap:40px;align-items:center;position:relative;z-index:1}
.hero__eyebrow{display:inline-flex;align-items:center;gap:5px;background:rgba(232,96,28,.12);border:1px solid rgba(232,96,28,.3);color:var(--primary);padding:5px 14px;border-radius:var(--pill);font-size:12px;font-weight:600;margin-bottom:14px}
.hero__sub{font-size:15px;color:rgba(255,255,255,.5);margin-bottom:4px}
.hero__t{font-family:var(--serif);font-size:38px;font-weight:900;line-height:1.25;margin-bottom:12px}
.hero__t em{font-style:normal;color:var(--primary)}
.hero__desc{font-size:14px;color:rgba(255,255,255,.45);line-height:1.75;margin-bottom:24px}
.hero__nums{display:flex;gap:24px;margin-bottom:28px}
.hero__num{text-align:center}
.hero__num b{display:block;font-size:26px;font-weight:900;color:var(--primary);line-height:1}
.hero__num small{font-size:11px;color:rgba(255,255,255,.35);display:block;margin-top:3px}
.hero__acts{display:flex;gap:8px;flex-wrap:wrap}

/* Hero instructor card */
.hero__card{background:#fff;border-radius:var(--rxl);box-shadow:var(--sh-lg);color:var(--dk);overflow:hidden}
.hero__card-img{aspect-ratio:4/3;background:var(--g100);display:flex;align-items:center;justify-content:center;color:var(--g400);font-size:12px;text-align:center;padding:16px;border-bottom:1px solid var(--g200);position:relative}
.hero__card-img .tag{position:absolute;top:10px;left:10px;background:var(--primary);color:#fff;padding:3px 9px;border-radius:var(--pill);font-size:10px;font-weight:700}
.hero__card-bd{padding:18px}
.hero__card-name{font-family:var(--serif);font-size:19px;font-weight:700;color:var(--black);margin-bottom:2px}
.hero__card-role{font-size:12px;color:var(--primary);font-weight:600;margin-bottom:8px}
.hero__card-list{font-size:12px;color:var(--g600);line-height:1.7}
.hero__card-list span{display:block}
.hero__card-list span::before{content:'✓ ';color:var(--primary);font-weight:700}

/* =====================
   SUB TAB BAR (like Hackers course tabs)
   ===================== */
.subtab{background:#fff;border-bottom:1px solid var(--g200);overflow-x:auto;-webkit-overflow-scrolling:touch}
.subtab__list{display:flex;justify-content:center;gap:0;min-width:max-content}
.subtab__a{display:block;padding:14px 24px;font-size:14px;font-weight:600;color:var(--g600);white-space:nowrap;border-bottom:2px solid transparent;transition:all .15s}
.subtab__a:hover,.subtab__a--on{color:var(--primary);border-bottom-color:var(--primary);background:var(--primary-lt)}

/* =====================
   COURSE PRODUCT CARDS (3-column like Hackers)
   ===================== */
.prod-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;max-width:1000px;margin:0 auto}
.prod{background:#fff;border:1px solid var(--g200);border-radius:var(--rl);overflow:hidden;transition:all .25s;position:relative}
.prod:hover{border-color:var(--primary);box-shadow:var(--sh-md)}
.prod--feat{border-color:var(--primary);box-shadow:var(--sh-sm)}
.prod--feat::before{content:'추천';position:absolute;top:0;left:0;right:0;background:var(--primary);color:#fff;text-align:center;font-size:12px;font-weight:700;padding:4px;z-index:1}
.prod__label{display:inline-block;font-size:11px;font-weight:700;padding:3px 8px;border-radius:4px;margin-bottom:6px}
.prod__label--all{background:var(--primary);color:#fff}
.prod__label--theory{background:#DBEAFE;color:#1D4ED8}
.prod__label--soon{background:var(--g200);color:var(--g500)}
.prod__head{padding:24px 20px 18px;border-bottom:1px solid var(--g100)}
.prod--feat .prod__head{padding-top:34px}
.prod__name{font-family:var(--serif);font-size:22px;font-weight:700;color:var(--black);margin-bottom:2px}
.prod__sub{font-size:14px;color:var(--g500)}
.prod__body{padding:16px 20px}
.prod__feat{display:flex;align-items:center;gap:6px;font-size:14px;color:var(--g700);padding:5px 0}
.prod__feat::before{content:'✓';color:var(--primary);font-weight:700;font-size:12px}
.prod__foot{padding:16px 20px 24px;text-align:center;border-top:1px solid var(--g100)}
.prod__old{font-size:13px;color:var(--g400);text-decoration:line-through}
.prod__price{font-size:28px;font-weight:900;color:var(--black);margin:4px 0 12px}
.prod__price small{font-size:14px;font-weight:600}
.prod__disc{display:inline-block;background:var(--red);color:#fff;padding:2px 7px;border-radius:4px;font-size:11px;font-weight:700;margin-bottom:4px}

/* =====================
   FEATURES
   ===================== */
.feat-g{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.feat{background:#fff;border:1px solid var(--g200);border-radius:var(--rl);padding:26px 20px;transition:all .25s}
.feat:hover{border-color:var(--primary);box-shadow:var(--sh-md);transform:translateY(-2px)}
.feat__ic{width:44px;height:44px;background:var(--primary-lt);border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:20px;margin-bottom:12px}
.feat__t{font-size:17px;font-weight:700;color:var(--black);margin-bottom:4px}
.feat__d{font-size:14px;color:var(--g600);line-height:1.55}

/* =====================
   CURRICULUM
   ===================== */
.cur{max-width:780px;margin:0 auto}
.cur-ch{background:#fff;border:1px solid var(--g200);border-radius:var(--r);margin-bottom:5px;overflow:hidden}
.cur-ch__h{padding:12px 16px;display:flex;align-items:center;gap:10px;cursor:pointer;transition:background .12s}
.cur-ch__h:hover{background:var(--primary-50)}
.cur-ch__n{width:30px;height:30px;background:var(--primary);border-radius:50%;color:#fff;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:800;flex-shrink:0}
.cur-ch__name{flex:1;font-size:16px;font-weight:700;color:var(--black)}
.cur-ch__cnt{font-size:12px;color:var(--g400)}
.cur-ch__arr{color:var(--g400);font-size:9px;transition:transform .2s}
.cur-ch__h--open .cur-ch__arr{transform:rotate(180deg)}
.cur-ch__bd{display:none;border-top:1px solid var(--g200)}
.cur-ch__bd--open{display:block}

/* =====================
   STATS
   ===================== */
.stat-row{display:flex;justify-content:center;gap:48px;flex-wrap:wrap}
.stat-row--light{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:18px;max-width:920px;margin:0 auto}
.stat{text-align:center}
.stat b{display:block;font-size:34px;font-weight:900;color:var(--primary);line-height:1}
.stat small{font-size:12px;color:rgba(255,255,255,.4);display:block;margin-top:5px}
.stat span{font-size:10px;color:rgba(255,255,255,.25);display:block;margin-top:2px}

/* =====================
   INSTRUCTOR
   ===================== */
.inst-g{display:grid;grid-template-columns:320px 1fr;gap:36px;align-items:start}
.inst-ph{border-radius:var(--rxl);overflow:hidden;box-shadow:var(--sh-lg);background:var(--g100);aspect-ratio:3/4;display:flex;align-items:center;justify-content:center;color:var(--g400);font-size:12px;text-align:center;padding:20px}

/* =====================
   CONSULTING CARDS
   ===================== */
.cs-g{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px}
.cs{background:#fff;border:1px solid var(--g200);border-radius:var(--rl);padding:22px;transition:all .2s}
.cs:hover{border-color:var(--primary);box-shadow:var(--sh-sm)}
.cs__ic{font-size:26px;margin-bottom:8px}
.cs__t{font-size:16px;font-weight:700;color:var(--black);margin-bottom:3px}
.cs__d{font-size:14px;color:var(--g600);line-height:1.5}
.cs__tags{display:flex;gap:4px;flex-wrap:wrap;margin-top:6px}
.cs__tags span{font-size:10px;background:var(--primary-lt);color:var(--primary);padding:2px 7px;border-radius:8px}

/* =====================
   CHAPTER GRID
   ===================== */
.chg{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:8px}
.chc{background:#fff;border:1px solid var(--g200);border-radius:var(--r);padding:12px;display:flex;align-items:center;gap:10px;transition:all .15s;cursor:pointer}
.chc:hover{border-color:var(--primary);box-shadow:var(--sh-xs)}
.chc__n{width:34px;height:34px;background:var(--primary-lt);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:800;color:var(--primary);flex-shrink:0}
.chc__info{flex:1;min-width:0}
.chc__name{font-size:13px;font-weight:700;color:var(--black);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.chc__meta{font-size:11px;color:var(--g400)}
.chc__price{font-size:13px;font-weight:800;color:var(--primary);white-space:nowrap}

/* =====================
   CTA BANNER
   ===================== */
.cta-ban{background:linear-gradient(135deg,var(--primary),#F08C4C);border-radius:var(--rxl);padding:44px 32px;text-align:center;color:#fff}
.cta-ban__t{font-family:var(--serif);font-size:24px;font-weight:700;margin-bottom:6px}
.cta-ban__d{font-size:14px;opacity:.85;margin-bottom:20px}

/* =====================
   NOTICE + EXAM INFO (2-column like Hackers)
   ===================== */
.info-2col{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.info-box__t{font-size:16px;font-weight:700;color:var(--black);margin-bottom:14px;display:flex;align-items:center;justify-content:space-between}
.info-box__t a{font-size:12px;color:var(--g400);font-weight:400}
.info-box__list li{padding:8px 0;border-bottom:1px solid var(--g100);font-size:13px;color:var(--g600);display:flex;justify-content:space-between;gap:8px}
.info-box__list li a{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.info-box__list li a:hover{color:var(--primary)}
.info-box__list li time{color:var(--g400);font-size:12px;flex-shrink:0}

/* =====================
   CS SECTION (like Hackers footer)
   ===================== */
.cs-sec{display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:start}
.cs-sec__phone{font-size:32px;font-weight:900;color:var(--primary);margin:8px 0}
.cs-sec__time{font-size:13px;color:var(--g500);line-height:1.7}
.cs-sec__btns{display:flex;gap:8px;margin-top:12px;flex-wrap:wrap}
.cs-sec__btns a{padding:10px 18px;border:1px solid var(--g200);border-radius:var(--r);font-size:13px;font-weight:600;color:var(--g700);transition:all .15s}
.cs-sec__btns a:hover{border-color:var(--primary);color:var(--primary)}
.cs-sec__sns{display:flex;gap:10px;margin-top:16px}
.cs-sec__sns a{width:40px;height:40px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:700;transition:all .15s}
.cs-sec__sns a:nth-child(1){background:#FF0000;color:#fff}
.cs-sec__sns a:nth-child(2){background:#2DB400;color:#fff}
.cs-sec__sns a:nth-child(3){background:#FEE500;color:#3C1E1E}

/* =====================
   FORMS
   ===================== */
.frm{margin-bottom:12px}
.frm label{display:block;font-size:13px;font-weight:600;color:var(--g700);margin-bottom:4px}
.frm .req{color:var(--red)}
.finp{width:100%;padding:10px 12px;border:1px solid var(--g200);border-radius:var(--r);font-size:14px;transition:border-color .15s}
.finp:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px rgba(232,96,28,.07)}
textarea.finp{min-height:100px;resize:vertical}

/* =====================
   PAGE HEADER
   ===================== */
.pg-hd{background:#fff;color:#111;padding:36px 0;text-align:center;border-bottom:1px solid #eee}
.pg-hd__t{font-family:var(--serif);font-size:28px;font-weight:700;margin-bottom:3px;color:#111}
.pg-hd__bc{font-size:12px;color:#888}
.pg-hd__bc a{color:#888}.pg-hd__bc a:hover{color:var(--primary)}

/* Placeholder */
.ph{background:var(--g100);border:2px dashed var(--g200);border-radius:var(--r);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;padding:18px;text-align:center;color:var(--g400)}
.ph:hover{border-color:var(--primary)}
.ph__ic{font-size:24px;opacity:.4}
.ph__lb{font-size:11px;font-weight:600;color:var(--g600)}
.ph__sp{font-size:10px}

/* =====================
   FOOTER
   ===================== */
.ft{background:#fff;color:#666;padding:40px 0 20px;border-top:1px solid #eee}
.ft__top{display:grid;grid-template-columns:1fr 240px;gap:36px;padding-bottom:20px;border-bottom:1px solid #eee}
.ft__info h3{color:#111;font-size:16px;font-weight:800;margin-bottom:8px}
.ft__info p{font-size:12px;line-height:1.8}
.ft__cs h4{color:#111;font-size:12px;margin-bottom:5px}
.ft__cs-ph{font-size:24px;font-weight:900;color:#E8601C;margin-bottom:3px}
.ft__cs-tm{font-size:11px;line-height:1.7}
.ft__bottom{padding-top:14px;display:flex;justify-content:space-between;font-size:11px;flex-wrap:wrap;gap:6px}
.ft__links{display:flex;gap:12px}
.ft__links a:hover{color:#E8601C}

/* Back to top */
.btt{position:fixed;bottom:24px;right:20px;width:40px;height:40px;background:var(--primary);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:15px;box-shadow:var(--sh-md);z-index:90;opacity:0;visibility:hidden;transition:all .2s}
.btt--show{opacity:1;visibility:visible}
.btt:hover{background:var(--primary-dk);transform:translateY(-2px);color:#fff}

/* Quick Menu */
.bh-quick-menu{position:fixed;right:16px;top:50%;transform:translateY(-50%);z-index:99;display:flex;flex-direction:column;gap:1px;background:#fff;border-radius:var(--rl);box-shadow:var(--sh-lg);overflow:hidden;border:1px solid var(--g200)}
.bh-quick-menu__title{background:var(--primary);color:#fff;padding:8px 14px;font-size:11px;font-weight:700;text-align:center;letter-spacing:.5px}
.bh-quick-menu__link{display:block;padding:10px 16px;font-size:12px;color:var(--g700);border-bottom:1px solid var(--g100);transition:all .12s;white-space:nowrap}
.bh-quick-menu__link:hover{background:var(--primary-lt);color:var(--primary)}

/* =====================
   RESPONSIVE
   ===================== */
@media(max-width:1024px){
  .hero__grid{grid-template-columns:1fr;text-align:center}
  .hero__card{display:none}
  .hero__nums{justify-content:center}
  .hero__acts{justify-content:center}
  .prod-grid{grid-template-columns:1fr;max-width:400px}
  .inst-g{grid-template-columns:1fr}
  .inst-ph{max-width:280px;margin:0 auto}
  .ft__top{grid-template-columns:1fr}
  .feat-g{grid-template-columns:repeat(2,1fr)}
  .info-2col{grid-template-columns:1fr}
  .cs-sec{grid-template-columns:1fr}
  .bh-quick-menu{display:none!important}
}
@media(max-width:768px){
  .topbar{height:32px;font-size:11px}
  .topbar__right a:nth-child(n+3){display:none}
  .hdr__in{height:56px}
  .hdr__util{display:none}
  .hdr__ham{display:flex}
  .gnb{display:none}
  .hero{padding:44px 0 56px}
  .hero__t{font-size:24px}
  .hero__sub{font-size:13px}
  .hero__num b{font-size:20px}
  .s{padding:48px 0}
  .sh{margin-bottom:28px}
  .sh__t{font-size:22px}
  .feat-g{grid-template-columns:1fr}
  .feat{display:flex;align-items:center;gap:14px;padding:16px 14px}
  .feat__ic{margin-bottom:0;flex-shrink:0}
  .chg{grid-template-columns:1fr}
  .stat-row{gap:20px}
  .stat b{font-size:24px}
  .ft{padding-bottom:80px}
  .btt{bottom:80px}
  .pg-hd{padding:28px 0}
  .pg-hd__t{font-size:20px}
  .cta-ban{padding:28px 18px;border-radius:var(--rl)}
  .cta-ban__t{font-size:19px}
  .subtab__a{padding:11px 16px;font-size:13px}
}
@media(max-width:480px){.hero__t{font-size:21px}.hero__nums{gap:14px}.sh__t{font-size:20px}.prod__price{font-size:24px}}

/* WordPress */
.alignleft{float:left;margin-right:16px;margin-bottom:16px}
.alignright{float:right;margin-left:16px;margin-bottom:16px}
.aligncenter{display:block;margin:0 auto 16px}
.screen-reader-text{clip:rect(1px,1px,1px,1px);position:absolute!important;height:1px;width:1px;overflow:hidden}

/* =====================
   COURSE TABS (공인노무사 스타일)
   ===================== */
.ctab{padding:14px 28px;font-size:15px;font-weight:700;color:var(--g600);background:var(--g100);border:none;border-bottom:2px solid transparent;cursor:pointer;transition:all .15s;white-space:nowrap;font-family:inherit}
.ctab:hover{color:var(--primary);background:var(--primary-lt)}
.ctab--on{color:var(--black);background:#fff;border-bottom-color:var(--primary)}

/* COURSE CARD (인강사이트 강의 리스트 카드) */
.crs-card{display:flex;align-items:stretch;border:1px solid var(--g200);border-radius:var(--r);margin-bottom:16px;overflow:hidden;transition:border-color .2s}
.crs-card:hover{border-color:var(--primary)}
.crs-card__left{flex:1;padding:24px 28px;border-right:1px solid var(--g200)}
.crs-card__right{width:260px;padding:24px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;background:var(--g50);flex-shrink:0}
.crs-card__ev{display:inline-block;background:var(--red);color:#fff;padding:3px 10px;border-radius:4px;font-size:12px;font-weight:700;margin-bottom:8px}
.crs-card__title{font-family:var(--serif);font-size:22px;font-weight:700;color:var(--black);margin-bottom:8px;line-height:1.3}
.crs-card__feats{margin-bottom:14px}
.crs-card__feats li{font-size:15px;color:var(--primary);line-height:1.8;padding-left:2px}
.crs-card__meta{display:flex;gap:12px;flex-wrap:wrap;font-size:12px;color:var(--g500);padding-top:12px;border-top:1px solid var(--g200)}
.crs-card__meta span{white-space:nowrap}
.crs-card__price-area{text-align:center}
.crs-card__orig{font-size:13px;color:var(--g400);text-decoration:line-through;display:block}
.crs-card__sale{font-size:14px;color:var(--g400);text-decoration:line-through;display:block}
.crs-card__price{font-size:24px;font-weight:900;color:var(--primary);display:block}
.crs-card__btns{display:flex;gap:6px;width:100%}

/* COMING SOON BOX */
.coming-box{text-align:center;padding:64px 20px;border:2px dashed var(--g200);border-radius:var(--rl);margin:20px 0}
.coming-box__ic{font-size:56px;margin-bottom:12px;opacity:.3}
.coming-box__t{font-family:var(--serif);font-size:24px;font-weight:700;color:var(--black);margin-bottom:4px}
.coming-box__sub{font-size:15px;color:var(--g600);margin-bottom:4px}
.coming-box__note{font-size:13px;color:var(--g400);margin-bottom:20px}
.coming-box__form{display:flex;gap:8px;justify-content:center;align-items:center;flex-wrap:wrap}

/* =====================
   INSTRUCTOR HERO (대형 강사소개)
   ===================== */
.inst-hero{display:grid;grid-template-columns:420px 1fr;min-height:520px;align-items:end;gap:0;padding-top:40px}
.inst-hero__photo{position:relative;align-self:stretch;display:flex;align-items:flex-end;justify-content:center;overflow:hidden}
.inst-hero__photo img,.inst-hero__photo .ph{width:100%;height:100%;object-fit:cover;object-position:top}
.inst-hero__info{padding:40px 40px 48px;display:flex;flex-direction:column;justify-content:center}
.inst-hero__tag{display:inline-block;background:var(--g100);color:var(--g600);padding:5px 14px;border-radius:var(--pill);font-size:13px;font-weight:600;margin-bottom:12px;width:fit-content}
.inst-hero__name{font-family:var(--serif);font-size:42px;font-weight:900;color:var(--black);line-height:1.1;margin-bottom:4px}
.inst-hero__name span{font-size:24px;font-weight:400;color:var(--g600)}
.inst-hero__line{width:60px;height:3px;background:var(--primary);border-radius:2px;margin:16px 0 20px}
.inst-hero__slogan{font-family:var(--serif);font-size:28px;font-weight:700;color:var(--primary);line-height:1.4;margin-bottom:24px}
.inst-hero__slogan em{font-style:normal;color:var(--black)}
.inst-hero__career-btn{display:inline-flex;align-items:center;gap:4px;background:var(--black);color:#fff;padding:10px 24px;border-radius:var(--pill);font-size:14px;font-weight:600;cursor:pointer;border:none;font-family:inherit;transition:background .15s}
.inst-hero__career-btn:hover{background:var(--g800)}
.inst-hero__career{margin-top:20px;padding:24px;background:#fff;border:1px solid var(--g200);border-radius:var(--rl)}
.inst-hero__career-section{margin-bottom:20px}
.inst-hero__career-section:last-child{margin-bottom:0}
.inst-hero__career-section h4{font-size:15px;font-weight:700;color:var(--primary);margin-bottom:10px;padding-bottom:6px;border-bottom:2px solid var(--primary-lt)}

/* Responsive */
@media(max-width:1024px){
  .inst-hero{grid-template-columns:1fr;min-height:auto}
  .inst-hero__photo{max-height:400px;overflow:hidden}
  .inst-hero__info{padding:28px 0 36px}
  .inst-hero__name{font-size:32px}
  .inst-hero__slogan{font-size:22px}
}
@media(max-width:768px){
  .crs-card{flex-direction:column}
  .crs-card__left{border-right:none;border-bottom:1px solid var(--g200);padding:18px 16px}
  .crs-card__right{width:100%;padding:16px;flex-direction:row;flex-wrap:wrap;justify-content:space-between}
  .crs-card__btns{width:auto;flex:1}
  .crs-card__title{font-size:17px}
  .ctab{padding:12px 16px;font-size:13px}
  .inst-hero__name{font-size:28px}
  .inst-hero__name span{font-size:18px}
  .inst-hero__slogan{font-size:20px}
  .inst-hero__career-btn{font-size:13px;padding:8px 18px}
  .inst-hero__photo{max-height:320px}
  .coming-box{padding:40px 16px}
  .coming-box__t{font-size:20px}
}

/* =====================
   HACKERS-STYLE HEADER (v4.0)
   ===================== */
.hd{background:#fff;border-bottom:1px solid #eee;position:sticky;top:0;z-index:100;box-shadow:0 1px 4px rgba(0,0,0,.04)}
.hd__logo{display:flex;align-items:center;gap:10px;text-decoration:none;flex-shrink:0}
.hd__logo-mark{width:38px;height:38px;background:linear-gradient(135deg,#E8601C,#F08C4C);border-radius:10px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:14px;font-weight:900;letter-spacing:-1px}
.hd__logo-text{font-size:20px;font-weight:900;color:#111;line-height:1.1}
.hd__logo-text span{color:#E8601C}
.hd__logo-sub{font-size:11px;color:#aaa;font-weight:500;align-self:flex-end;margin-bottom:2px;display:none}
@media(min-width:1100px){.hd__logo-sub{display:block}}
.hd__right{display:flex;align-items:center;gap:8px}
.hd__btn-class{padding:9px 18px;border:1.5px solid #111;border-radius:6px;font-size:14px;font-weight:700;color:#111;transition:all .15s}
.hd__btn-class:hover{background:#111;color:#fff}
.hd__btn-cta{padding:9px 18px;background:#E8601C;border-radius:6px;font-size:14px;font-weight:700;color:#fff;transition:all .15s}
.hd__btn-cta:hover{background:#d4550f}
.hd__ham{display:none;font-size:26px;background:none;border:none;color:#111;cursor:pointer;padding:4px}

/* GNB */
.gnb{display:flex;align-items:center;gap:0}
.gnb__item{position:relative}
.gnb__a{display:flex;align-items:center;gap:4px;padding:22px 18px;font-size:16px;font-weight:700;color:#333;transition:color .12s;white-space:nowrap}
.gnb__a:hover{color:#E8601C}
.gnb__arrow{font-size:9px;color:#ccc}
.gnb__new{background:#E8601C;color:#fff;font-size:10px;font-weight:800;padding:1px 5px;border-radius:8px;margin-left:2px}
.gnb__drop{position:absolute;top:100%;left:0;background:#fff;border:1px solid #eee;border-top:3px solid #E8601C;border-radius:0 0 8px 8px;box-shadow:0 8px 24px rgba(0,0,0,.08);min-width:180px;opacity:0;visibility:hidden;transform:translateY(4px);transition:all .15s;z-index:200}
.gnb__item:hover .gnb__drop{opacity:1;visibility:visible;transform:translateY(0)}
.gnb__drop-inner a{display:block;padding:11px 18px;font-size:14px;color:#555;border-bottom:1px solid #f5f5f5;transition:all .1s}
.gnb__drop-inner a:hover{background:#FFF8F5;color:#E8601C;padding-left:22px}
.gnb__drop-inner a:last-child{border-bottom:none}

/* Topbar */
.topbar{background:#fafafa;padding:7px 0;font-size:13px;color:#666;border-bottom:1px solid #eee}
.topbar a{font-size:13px}
.topbar__ticker{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;flex:1;margin-right:16px}
.topbar__ticker strong{color:#E8601C}

/* BIGGER FONTS GLOBALLY */
.sh__t{font-family:var(--serif);font-size:36px!important;font-weight:900;color:#111}
.sh__d{font-size:17px!important;color:#999}
.feat__t{font-size:18px!important;font-weight:800}
.feat__d{font-size:15px!important;color:#777}
.prod__name{font-size:24px!important}
.prod__sub{font-size:15px!important}
.crs-card__title{font-size:24px!important}
.cur-ch__name{font-size:17px!important}
.cs__t{font-size:18px!important}
.cs__d{font-size:15px!important}
.pg-hd__t{font-size:30px!important}

/* Full-width sections */
.s{padding:72px 0}
.s--alt{background:#fff}
.s--dk{background:#fff;color:#111;border-top:1px solid #eee;border-bottom:1px solid #eee}

/* Page header (깔끔한 흰색 스타일) */
.pg-hd{background:#fff;padding:28px 0;border-bottom:3px solid #E8601C}
.pg-hd__t{color:#111!important}
.pg-hd__bc{color:#888;font-size:13px}
.pg-hd__bc a{color:#888}

/* Mobile header */
@media(max-width:900px){
  .gnb{display:none!important}
  .hd__btn-class,.hd__btn-cta{display:none}
  .hd__ham{display:block!important}
  .hd__logo-sub{display:none!important}
}

/* ═══════════════════════════════════════════════════ */
/* WooCommerce 테마 스타일링                            */
/* ═══════════════════════════════════════════════════ */

/* 체크아웃 페이지 */
.woocommerce-checkout {
  background: #fafafa;
  padding: 40px 0;
}
.woocommerce-checkout .woocommerce {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 16px;
}
.woocommerce-checkout form.checkout {
  display: grid;
  grid-template-columns: 1fr 420px;
  gap: 24px;
}
@media (max-width: 900px) {
  .woocommerce-checkout form.checkout {
    grid-template-columns: 1fr;
  }
}
.woocommerce-checkout .col-1,
.woocommerce-checkout .col-2 {
  width: 100% !important;
  float: none !important;
  background: #fff;
  border-radius: 14px;
  padding: 28px;
  box-shadow: 0 4px 20px rgba(0,0,0,.04);
}
.woocommerce-checkout h3,
.woocommerce-checkout h4 {
  font-family: var(--serif, 'Noto Serif KR', serif);
  font-size: 20px;
  font-weight: 800;
  color: #111;
  margin: 0 0 16px;
  padding-bottom: 10px;
  border-bottom: 2px solid #E8601C;
}
.woocommerce-checkout .form-row label {
  font-size: 12px;
  font-weight: 700;
  color: #444;
  margin-bottom: 4px;
  display: block;
}
.woocommerce-checkout input[type=text],
.woocommerce-checkout input[type=tel],
.woocommerce-checkout input[type=email],
.woocommerce-checkout input[type=password],
.woocommerce-checkout select,
.woocommerce-checkout textarea,
.woocommerce-checkout .select2-selection {
  border: 1px solid #ddd !important;
  border-radius: 8px !important;
  padding: 10px 12px !important;
  font-size: 14px !important;
  height: auto !important;
  min-height: 42px !important;
}
.woocommerce-checkout input:focus,
.woocommerce-checkout select:focus,
.woocommerce-checkout textarea:focus {
  border-color: #E8601C !important;
  outline: none !important;
  box-shadow: 0 0 0 2px rgba(232,96,28,.15) !important;
}
#order_review_heading {
  grid-column: 2;
  margin-top: 0;
}
#order_review {
  background: #fff;
  border-radius: 14px;
  padding: 24px;
  box-shadow: 0 4px 20px rgba(0,0,0,.04);
}
#order_review table.shop_table {
  border: none !important;
  width: 100%;
}
#order_review table.shop_table th,
#order_review table.shop_table td {
  padding: 12px 0 !important;
  border-bottom: 1px solid #f5f5f5 !important;
  font-size: 14px;
}
.woocommerce-checkout #place_order {
  background: #E8601C !important;
  color: #fff !important;
  border: none !important;
  padding: 16px 24px !important;
  border-radius: 50px !important;
  font-size: 16px !important;
  font-weight: 800 !important;
  width: 100% !important;
  cursor: pointer;
  transition: all .15s;
}
.woocommerce-checkout #place_order:hover {
  background: #d45618 !important;
  transform: translateY(-1px);
  box-shadow: 0 8px 24px rgba(232,96,28,.3);
}

/* 내 계정 페이지 */
.woocommerce-account {
  background: #fafafa;
  padding: 40px 0;
}
.woocommerce-account .woocommerce {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 16px;
}
.woocommerce-account .woocommerce-MyAccount-navigation {
  background: #fff;
  border-radius: 14px;
  padding: 20px;
  box-shadow: 0 4px 20px rgba(0,0,0,.04);
}
.woocommerce-account .woocommerce-MyAccount-navigation ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul li {
  border-bottom: 1px solid #f5f5f5;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul li:last-child {
  border-bottom: none;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul li a {
  display: block;
  padding: 14px 16px;
  text-decoration: none;
  color: #555;
  font-size: 14px;
  font-weight: 600;
  transition: all .15s;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul li a:hover {
  background: #fff3e0;
  color: #E8601C;
  padding-left: 20px;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a {
  background: #E8601C;
  color: #fff;
  border-radius: 8px;
}
.woocommerce-account .woocommerce-MyAccount-content {
  background: #fff;
  border-radius: 14px;
  padding: 32px;
  box-shadow: 0 4px 20px rgba(0,0,0,.04);
}

/* 주문 테이블 */
table.woocommerce-orders-table,
table.shop_table {
  border-collapse: separate !important;
  border-spacing: 0 !important;
  border: 1px solid #eee !important;
  border-radius: 10px !important;
  overflow: hidden;
  width: 100%;
}
table.shop_table thead {
  background: #111;
}
table.shop_table thead th {
  color: #fff !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: 1px;
  padding: 14px !important;
  border: none !important;
}
table.shop_table tbody td {
  padding: 14px !important;
  border-top: 1px solid #f5f5f5 !important;
  font-size: 14px;
}
table.shop_table .button {
  background: #E8601C !important;
  color: #fff !important;
  border: none !important;
  padding: 6px 14px !important;
  border-radius: 6px !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  text-decoration: none !important;
}
table.shop_table .button:hover {
  background: #d45618 !important;
}

/* 로그인/회원가입 폼 */
.woocommerce-form-login,
.woocommerce-form-register {
  background: #fff;
  border-radius: 14px;
  padding: 32px;
  box-shadow: 0 4px 20px rgba(0,0,0,.04);
  max-width: 520px;
  margin: 0 auto;
}
.woocommerce-form-login button,
.woocommerce-form-register button {
  background: #E8601C !important;
  color: #fff !important;
  border: none !important;
  padding: 12px 24px !important;
  border-radius: 50px !important;
  font-weight: 800 !important;
  cursor: pointer;
  width: 100%;
}

/* 알림 메시지 */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
  background: #fff !important;
  border-left: 4px solid #E8601C !important;
  border-radius: 10px !important;
  padding: 14px 20px !important;
  box-shadow: 0 4px 12px rgba(0,0,0,.06);
  margin: 0 0 20px !important;
  font-size: 14px;
}
.woocommerce-message { border-left-color: #059669 !important; }
.woocommerce-error { border-left-color: #dc2626 !important; }
.woocommerce-message::before,
.woocommerce-info::before,
.woocommerce-error::before { display: none !important; }

/* quantity 입력 */
.woocommerce .quantity .qty {
  width: 60px !important;
  padding: 6px 8px !important;
  border: 1px solid #ddd !important;
  border-radius: 6px !important;
  text-align: center;
  font-size: 13px !important;
}

/* 주문 완료 페이지 */
.woocommerce-order {
  max-width: 900px;
  margin: 40px auto;
  padding: 0 16px;
}
.woocommerce-order .woocommerce-order-overview {
  background: linear-gradient(135deg, #d1fae5, #a7f3d0);
  border-radius: 14px;
  padding: 24px;
  list-style: none;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  gap: 16px;
  margin: 0 0 24px !important;
}
.woocommerce-order .woocommerce-order-overview li {
  background: #fff;
  padding: 14px;
  border-radius: 10px;
  font-size: 13px;
  color: #065f46;
  text-align: center;
}
.woocommerce-order .woocommerce-order-overview li strong {
  display: block;
  font-size: 15px;
  color: #111;
  font-weight: 700;
  margin-top: 4px;
}

/* ═══════════════════════════════════════════════════════════════
   📋 섹션 보더 분리선 (깔끔한 흰 배경 통일)
   ═══════════════════════════════════════════════════════════════ */
section.s + section.s:not(.s--alt):not(.s--dk) {
  border-top: 1px solid #f0f0f0;
}
section.s--alt + section.s,
section.s + section.s--alt {
  border-top: none;
}
section.bh-product-section {
  border-top: 1px solid #eee;
}

/* ═══════════════════════════════════════════════════════════════
   🎓 v8.6 — 전문 기술사 강의 사이트 리뉴얼
   - PC: 글씨 ~20% UP, 컨테이너 1380px 확장, 임팩트 볼드
   - Mobile: 풀폭, 패딩 최소화, 가독성 우선
   - 인물사진: 살짝 작게 + 자격 뱃지 강조
   ═══════════════════════════════════════════════════════════════ */

/* 컨테이너 폭 확장 (PC) */
:root {
  --maxw: 1380px;  /* 1260 → 1380 */
}
.w { padding: 0 32px; }  /* PC 좌우 여백 좀 더 */

/* 섹션 패딩 키움 — 호흡 */
.s { padding: 96px 0; }  /* 72 → 96 */

/* 섹션 헤더 임팩트 ↑ */
.sh { margin-bottom: 56px; }
.sh__tag {
  font-size: 13px;
  letter-spacing: 3px;
  font-weight: 800;
  padding: 6px 18px;
  background: linear-gradient(135deg, rgba(232,96,28,.08), rgba(232,96,28,.03));
  border: 1px solid rgba(232,96,28,.2);
  border-radius: 50px;
  margin-bottom: 14px;
}
.sh__t {
  font-size: 42px;        /* 34 → 42 */
  font-weight: 900;       /* 700 → 900 */
  letter-spacing: -1.2px;
  line-height: 1.25;
  margin-bottom: 14px;
}
.sh__d {
  font-size: 18px;        /* 16 → 18 */
  color: #555;
  max-width: 640px;
  line-height: 1.75;
  font-weight: 500;
}

/* 버튼 임팩트 ↑ */
.b--xl {
  padding: 18px 42px;     /* 15/36 → 18/42 */
  font-size: 17px;
  font-weight: 800;       /* 600 → 800 */
  letter-spacing: -.3px;
}
.b--l { padding: 15px 34px; font-size: 16px; font-weight: 700; }
.b--m { padding: 12px 26px; font-size: 15px; font-weight: 700; }
.b--f {
  background: #E8601C;
  box-shadow: 0 6px 18px rgba(232,96,28,.32);
}
.b--f:hover {
  box-shadow: 0 10px 28px rgba(232,96,28,.45);
  transform: translateY(-2px);
}

/* WHY 6카드 — 강의사이트답게 더 큼직하게 */
.feat-g {
  gap: 24px;                                 /* 18 → 24 */
  grid-template-columns: repeat(3, 1fr);
}
.feat {
  padding: 32px 28px;                        /* 26/20 → 32/28 */
  border: 1px solid #eee;
  border-radius: 14px;
  background: #fff;
  transition: all .25s ease;
}
.feat:hover {
  border-color: #E8601C;
  box-shadow: 0 16px 40px rgba(232,96,28,.12);
  transform: translateY(-4px);
}
.feat__ic {
  width: 56px;
  height: 56px;
  font-size: 26px;
  border-radius: 14px;
  background: linear-gradient(135deg, #FFF3E0, #FFE5D0);
  margin-bottom: 18px;
}
.feat__t {
  font-size: 20px !important;                /* 18 → 20 */
  font-weight: 800 !important;
  letter-spacing: -.5px;
  color: #111 !important;
  margin-bottom: 8px !important;
}
.feat__d {
  font-size: 15.5px !important;              /* 15 → 15.5 */
  color: #555 !important;
  line-height: 1.75 !important;
}

/* HERO — 인물사진은 살짝 작게, 텍스트 가중치 ↑ */
.bh-hero-photo {
  width: 220px !important;                   /* 260 → 220 */
  height: 280px !important;                  /* 330 → 280 */
  border-radius: 16px !important;
  border-width: 2px !important;
}
.bh-hero-h1 {
  font-size: 56px !important;                /* 48 → 56 */
  letter-spacing: -1.5px !important;
  margin-bottom: 6px !important;
}
.bh-hero-h2 {
  font-size: 32px !important;                /* 28 → 32 */
  font-weight: 800 !important;
  letter-spacing: -.8px !important;
  line-height: 1.35 !important;
}
.bh-hero-desc {
  font-size: 17px !important;                /* 15 → 17 */
  line-height: 1.85 !important;
  color: #444 !important;
}
.bh-hero-text { max-width: 920px !important; flex: 1 !important; }

/* 와이드 화면(PC, ≥1280px)에서 hero h2 한 줄 강제 + 폰트 더 크게 */
@media (min-width: 1280px) {
  .bh-hero-h2 span {
    white-space: nowrap !important;
    display: block;
  }
  .bh-hero-h2 span:first-child { font-size: 30px !important; }
  .bh-hero-h2 span:last-child  { font-size: 34px !important; }
}

/* 중간 화면(1024~1279px)에서는 약간 작게 + 줄바꿈 허용 */
@media (max-width: 1279px) and (min-width: 1025px) {
  .bh-hero-h2 span { white-space: normal !important; }
  .bh-hero-h2 span:first-child { font-size: 26px !important; }
  .bh-hero-h2 span:last-child  { font-size: 28px !important; }
}

.bh-hero-stat-grid > div > div:first-child {
  font-size: 38px !important;                /* 32 → 38 */
}

/* 슬로건 띠 — 임팩트 ↑ */
section[data-bh-section="slogan"] {
  padding: 48px 0 !important;
  background: linear-gradient(135deg, #E8601C 0%, #d4501a 100%) !important;
  position: relative;
}
section[data-bh-section="slogan"]::before,
section[data-bh-section="slogan"]::after {
  content: '';
  position: absolute;
  top: 50%;
  width: 80px;
  height: 80px;
  background: rgba(255,255,255,.05);
  border-radius: 50%;
  transform: translateY(-50%);
  pointer-events: none;
}
section[data-bh-section="slogan"]::before { left: 10%; }
section[data-bh-section="slogan"]::after { right: 10%; }
section[data-bh-section="slogan"] h2 {
  font-size: 30px !important;                /* 24 → 30 */
  font-weight: 900 !important;
  letter-spacing: -.8px !important;
  margin-bottom: 10px !important;
}
section[data-bh-section="slogan"] p {
  font-size: 17px !important;                /* 15 → 17 */
  line-height: 1.8 !important;
  opacity: .95 !important;
  font-weight: 500 !important;
}

/* 무료강의 섹션 — 어두운 배경 텍스트 명도 ↑ */
section[data-bh-section="free"] h2 {
  font-size: 48px !important;                /* 40 → 48 */
  letter-spacing: -1.5px !important;
}
section[data-bh-section="free"] [data-bh-edit="bh_free_tag"] {
  font-size: 14px !important;
  letter-spacing: 2px !important;
  font-weight: 800 !important;
  text-transform: none;
}

/* 통계 카드 — 강의사이트 느낌 */
.stat-row--light {
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 20px;
  max-width: 1100px;
}
.stat-row--light .stat {
  padding: 32px 24px !important;
  border-radius: 16px !important;
  border: 1px solid #e5e7eb !important;
  background: #fff !important;
  box-shadow: 0 4px 14px rgba(0,0,0,.04) !important;
  transition: all .25s ease;
}
.stat-row--light .stat:hover {
  border-color: #E8601C !important;
  transform: translateY(-3px);
  box-shadow: 0 12px 28px rgba(232,96,28,.12) !important;
}
.stat-row--light .stat b {
  font-size: 40px !important;                /* 32 → 40 */
  letter-spacing: -1.5px;
}
.stat-row--light .stat small {
  font-size: 16px !important;                /* 14 → 16 */
  font-weight: 800 !important;
}
.stat-row--light .stat span {
  font-size: 13px !important;                /* 12 → 13 */
}

/* CTA 배너 임팩트 ↑ */
.cta-ban {
  padding: 64px 40px !important;             /* 44/32 → 64/40 */
  border-radius: 20px !important;
  background: linear-gradient(135deg, #E8601C, #d4501a 50%, #b94010) !important;
  box-shadow: 0 16px 40px rgba(232,96,28,.25) !important;
}
.cta-ban__t {
  font-size: 36px !important;                /* 24 → 36 */
  font-weight: 900 !important;
  letter-spacing: -1px !important;
  margin-bottom: 12px !important;
}
.cta-ban__d {
  font-size: 17px !important;                /* 14 → 17 */
  line-height: 1.75 !important;
  margin-bottom: 28px !important;
  opacity: .94 !important;
}

/* 페이지 헤더 강조 */
.pg-hd { padding: 48px 0 !important; background: #fafafa; border-bottom: 1px solid #eee; }
.pg-hd__t { font-size: 30px !important; font-weight: 900 !important; letter-spacing: -.8px; }
.pg-hd__bc { font-size: 14px !important; color: #888; }

/* 서브탭 — 두께/체감감 ↑ */
.subtab__a {
  padding: 18px 26px !important;             /* 보통 13/22 → 18/26 */
  font-size: 16px !important;                /* 14 → 16 */
  font-weight: 700 !important;
  letter-spacing: -.3px;
}
.subtab__a--on,
.subtab__a:hover {
  font-weight: 800 !important;
}

/* === 본문 텍스트 전체 가중치 살짝 강화 === */
body { font-size: 16px; line-height: 1.7; }
p { font-size: 16px; line-height: 1.75; }

/* ─────────────────────────────────────────
   📱 모바일 풀폭 + 가독성 (≤ 768px)
   ───────────────────────────────────────── */
@media (max-width: 768px) {
  /* 컨테이너 풀폭 */
  .w { padding: 0 16px; max-width: 100%; }
  
  /* 섹션 패딩 절반 */
  .s { padding: 56px 0; }
  
  /* 섹션 헤더 */
  .sh { margin-bottom: 32px; }
  .sh__t { font-size: 26px !important; letter-spacing: -.8px; }
  .sh__d { font-size: 15px !important; padding: 0 4px; }
  
  /* 히어로 — 모바일 풀폭 + 사진 작게 */
  .bh-hero-flex {
    flex-direction: column !important;
    gap: 24px !important;
    text-align: center;
  }
  .bh-hero-photo {
    width: 160px !important;
    height: 200px !important;
    margin: 0 auto;
  }
  .bh-hero-text {
    max-width: 100% !important;
    text-align: center;
  }
  .bh-hero-h1 {
    font-size: 36px !important;
    letter-spacing: -1px !important;
  }
  .bh-hero-h2 {
    font-size: 22px !important;
    line-height: 1.4 !important;
  }
  .bh-hero-h2 span {
    white-space: normal !important;
    display: block !important;
    font-size: 22px !important;
    word-break: keep-all;
  }
  .bh-hero-desc {
    font-size: 15px !important;
    text-align: left;
  }
  .bh-hero-cta {
    justify-content: center !important;
  }
  .bh-hero-cta .b--xl {
    width: 100%;
    padding: 16px 24px !important;
    font-size: 15px !important;
  }
  .bh-hero-stat-grid {
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 0 !important;
  }
  .bh-hero-stat-grid > div:nth-child(n+4) { display: none; }
  .bh-hero-stat-grid > div > div:first-child {
    font-size: 24px !important;
  }
  
  /* WHY 카드 — 모바일 풀폭 카드 형태 */
  .feat-g { grid-template-columns: 1fr !important; gap: 12px !important; }
  .feat {
    display: flex !important;
    align-items: flex-start !important;
    gap: 14px !important;
    padding: 18px 16px !important;
  }
  .feat__ic {
    margin-bottom: 0 !important;
    flex-shrink: 0;
    width: 44px !important;
    height: 44px !important;
    font-size: 22px !important;
  }
  .feat__t { font-size: 17px !important; }
  .feat__d { font-size: 14px !important; line-height: 1.6 !important; }
  
  /* 슬로건 */
  section[data-bh-section="slogan"] { padding: 32px 0 !important; }
  section[data-bh-section="slogan"] h2 { font-size: 20px !important; }
  section[data-bh-section="slogan"] p { font-size: 14px !important; }
  
  /* 무료강의 헤더 */
  section[data-bh-section="free"] h2 { font-size: 28px !important; }
  
  /* 통계 카드 */
  .stat-row--light {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 10px !important;
  }
  .stat-row--light .stat {
    padding: 18px 12px !important;
  }
  .stat-row--light .stat b { font-size: 24px !important; }
  .stat-row--light .stat small { font-size: 13px !important; }
  
  /* CTA 배너 */
  .cta-ban {
    padding: 36px 20px !important;
    border-radius: 14px !important;
  }
  .cta-ban__t { font-size: 22px !important; line-height: 1.35 !important; }
  .cta-ban__d { font-size: 14px !important; }
  
  /* 페이지 헤더 */
  .pg-hd { padding: 28px 0 !important; }
  .pg-hd__t { font-size: 22px !important; }
  
  /* 버튼 풀폭 */
  .b--xl {
    padding: 14px 22px !important;
    font-size: 15px !important;
  }
  
  /* 서브탭 가로 스크롤 */
  .subtab .subtab__list {
    overflow-x: auto;
    flex-wrap: nowrap !important;
    justify-content: flex-start !important;
    padding: 0 4px;
    scrollbar-width: none;
  }
  .subtab .subtab__list::-webkit-scrollbar { display: none; }
  .subtab__a {
    padding: 14px 18px !important;
    font-size: 13px !important;
    white-space: nowrap;
    flex-shrink: 0;
  }
}

/* 태블릿 (≤ 1024px) — WHY 2열, hero stat 4개 */
@media (max-width: 1024px) and (min-width: 769px) {
  .feat-g { grid-template-columns: repeat(2, 1fr) !important; }
  .sh__t { font-size: 34px !important; }
  .bh-hero-h1 { font-size: 44px !important; }
  .bh-hero-h2 { font-size: 26px !important; }
}

/* === 강조 색상 포인트 (오렌지 라인 강조) === */
.feat__t::before {
  content: none;
}

/* 책 표지 / 카드류 — 그림자 통일 */
.s img[src*="kyobobook"],
.s img[alt*="교재"] {
  box-shadow: 0 12px 32px rgba(0,0,0,.12);
  border-radius: 12px;
}

/* PC에서 본문 텍스트 굵기 추가 강조 */
@media (min-width: 769px) {
  body { font-size: 17px; }
  .sh__t { font-size: 44px; }
  p { font-size: 16.5px; }
}

/* ═══════════════════════════════════════════════════════════════
   🎓 v8.7 — 상품 카드(All Pass) 강조 (크고 굵게)
   ═══════════════════════════════════════════════════════════════ */

/* 데스크탑: 무조건 3컬럼 (1380px+ 와이드) */
@media (min-width: 1100px) {
  section[data-bh-section="curr"] > .w > div:first-of-type > div[style*="grid-template-columns:repeat(auto-fit"] {
    grid-template-columns: repeat(3, 1fr) !important;
  }
}

/* 태블릿 (768~1099px): 2컬럼 + 추천카드 scale 해제 */
@media (max-width: 1099px) and (min-width: 769px) {
  section[data-bh-section="curr"] > .w > div:first-of-type > div[style*="grid-template-columns:repeat(auto-fit"] {
    grid-template-columns: repeat(2, 1fr) !important;
  }
  section[data-bh-section="curr"] a[style*="scale(1.04)"] {
    transform: scale(1) !important;
  }
}

/* 모바일 (≤768px): 1컬럼 풀폭 + scale 해제 + 폰트 조정 */
@media (max-width: 768px) {
  section[data-bh-section="curr"] > .w {
    padding: 0 12px !important;
  }
  
  /* 외곽 박스 패딩 축소 */
  section[data-bh-section="curr"] > .w > div:first-of-type {
    padding: 32px 16px 28px !important;
    border-radius: 16px !important;
    margin-bottom: 32px !important;
  }
  
  /* 섹션 헤더 */
  section[data-bh-section="curr"] h3[data-bh-edit="bh_curr_plans_title"] {
    font-size: 26px !important;
    letter-spacing: -.5px !important;
  }
  section[data-bh-section="curr"] p[data-bh-edit="bh_curr_plans_desc"] {
    font-size: 14.5px !important;
  }
  
  /* 카드 그리드 1열 */
  section[data-bh-section="curr"] > .w > div:first-of-type > div[style*="grid-template-columns:repeat(auto-fit"] {
    grid-template-columns: 1fr !important;
    gap: 18px !important;
    max-width: 100% !important;
  }
  
  /* 추천 카드 scale 해제 (모바일에선 일렬로) */
  section[data-bh-section="curr"] a[style*="scale(1.04)"] {
    transform: scale(1) !important;
    box-shadow: 0 12px 32px rgba(232,96,28,.3), 0 0 0 3px #E8601C !important;
  }
  
  /* 모바일 호버 효과 비활성 (터치) */
  @media (hover: none) {
    section[data-bh-section="curr"] a[href]:hover {
      transform: scale(1) !important;
    }
  }
}

/* PC에서 카드들 더 넉넉 */
@media (min-width: 1280px) {
  section[data-bh-section="curr"] > .w {
    max-width: 1440px !important;
  }
}
