@charset "UTF-8";

/* ========== Design Tokens ========== */
:root{
  --primary:#1f3da8;
  --primary-dark:#16307e;
  --primary-soft:#eef1ff;
  --accent:#ff4d4f;
  --accent-soft:#ffe9ea;
  --success:#16a34a;
  --text-1:#0f172a;
  --text-2:#475569;
  --text-3:#94a3b8;
  --line:#e5e7eb;
  --bg:#f7f8fb;
  --white:#ffffff;
  --radius-sm:8px;
  --radius:14px;
  --radius-lg:22px;
  --shadow-sm:0 1px 2px rgba(15,23,42,.04);
  --shadow:0 8px 24px rgba(15,23,42,.06);
  --shadow-lg:0 22px 48px -16px rgba(15,23,42,.18);
}

/* Exam apply modal: hide redundant step title/help area */
#examApplyDialog .exam-apply-section{display:none!important}
#examApplyDialog #applyCategoryBlock{margin-top:0!important}
#examApplyDialog #applyFieldBlock{margin-top:0!important}
#examApplyDialog .exam-apply-content{padding-top:30px!important}

/* ========== Reset ========== */
*,*::before,*::after{box-sizing:border-box;}
html,body{margin:0;padding:0;}
body{
  font-family:"Pretendard","Pretendard Variable","Apple SD Gothic Neo","Malgun Gothic",sans-serif;
  font-size:15px;color:var(--text-1);background:var(--white);line-height:1.55;
  -webkit-font-smoothing:antialiased;
}
a{color:inherit;text-decoration:none;}
ul,ol,dl,dd{margin:0;padding:0;list-style:none;}
button{cursor:pointer;border:0;background:transparent;font-family:inherit;color:inherit;}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{
  outline:3px solid rgba(31,61,168,.35);
  outline-offset:3px;
}
img{max-width:100%;display:block;}
h1,h2,h3,h4,h5,h6{margin:0;font-weight:700;letter-spacing:-.02em;}
address{font-style:normal;}

.container{max-width:1240px;margin:0 auto;padding:0 24px;}

/* ========== Notice Bar ========== */
.notice-bar{
  position:relative;background:linear-gradient(90deg,#0f172a 0%,#1e293b 100%);
  color:#fff;border-bottom:1px solid rgba(255,255,255,.08);
}
.notice-bar.hidden{display:none;}
.notice-inner{display:flex;align-items:center;gap:18px;padding:12px 24px;max-width:1240px;margin:0 auto;}
.notice-label{
  flex:0 0 auto;font-size:11px;font-weight:700;letter-spacing:.08em;
  background:var(--accent);color:#fff;padding:4px 10px;border-radius:99px;
}
.notice-title{margin:0;font-size:13px;color:#cbd5e1;flex:0 0 auto;}
.notice-slider{flex:1;overflow:hidden;position:relative;height:22px;}
.notice-slider ul{position:absolute;inset:0;transition:transform .5s cubic-bezier(.4,0,.2,1);}
.notice-slider li{display:flex;align-items:center;gap:14px;height:22px;font-size:13px;}
.notice-slider .company{font-weight:700;color:#fff;}
.notice-slider .subject{color:#e2e8f0;}
.notice-slider .deadline{color:#94a3b8;font-size:12px;}
.notice-slider .d-day{
  background:var(--accent);color:#fff;font-size:11px;font-weight:700;
  padding:2px 8px;border-radius:99px;font-style:normal;letter-spacing:.04em;
}
.notice-ctrl{display:flex;align-items:center;gap:6px;}
.notice-ctrl .ic{
  width:26px;height:26px;border-radius:50%;background:rgba(255,255,255,.08);
  display:inline-flex;align-items:center;justify-content:center;transition:.2s;
}
.notice-ctrl .ic:hover{background:rgba(255,255,255,.18);}
.notice-ctrl .ic-prev::after{content:"‹";color:#fff;font-size:18px;line-height:1;}
.notice-ctrl .ic-next::after{content:"›";color:#fff;font-size:18px;line-height:1;}
.notice-ctrl .ic-close::after{content:"×";color:#fff;font-size:18px;line-height:1;}
.notice-ctrl .btn-text{
  font-size:12px;color:#cbd5e1;padding:4px 10px;
  border:1px solid rgba(255,255,255,.18);border-radius:99px;
  margin-right:4px;transition:.2s;
}
.notice-ctrl .btn-text:hover{background:rgba(255,255,255,.08);color:#fff;}

/* ========== 내부 안내 콘텐츠 페이지 ========== */
.site-content{background:var(--bg);min-height:520px;padding-bottom:70px;}
.content-hero.pc{background:linear-gradient(135deg,#eef1ff 0%,#fff 70%);padding:72px 0 52px;border-bottom:1px solid var(--line);}
.content-hero.pc .content-eyebrow{font-size:13px;font-weight:900;color:var(--primary);letter-spacing:.12em;margin:0 0 12px;}
.content-hero.pc h1{font-size:44px;font-weight:900;color:var(--text-1);margin:0 0 14px;letter-spacing:-.05em;}
.content-hero.pc p:last-child{font-size:18px;color:var(--text-2);line-height:1.7;margin:0;max-width:720px;}
.content-body.pc{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;padding-top:28px;}
.content-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:26px;box-shadow:var(--shadow);}
.content-card h3{font-size:22px;font-weight:900;color:var(--text-1);margin:0 0 14px;}
.content-card p{font-size:15px;color:var(--text-2);line-height:1.8;margin:0;}
.content-card ul{display:flex;flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;}
.content-card li{position:relative;padding-left:15px;font-size:15px;color:var(--text-2);line-height:1.65;}
.content-card li::before{content:"";position:absolute;left:0;top:.7em;width:6px;height:6px;border-radius:50%;background:var(--primary);}
.receipt-wrap{grid-column:1/-1;background:#fff;border:1px solid var(--line);border-radius:18px;padding:26px;box-shadow:var(--shadow);}
.receipt-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px;}
.receipt-top h3{font-size:24px;font-weight:900;margin:0;color:var(--text-1);}
.receipt-top a{font-size:14px;font-weight:700;color:var(--primary);}
.receipt-table{width:100%;border-collapse:collapse;border-top:2px solid var(--text-1);}
.receipt-table th{background:#f8fafc;color:var(--text-1);font-size:14px;font-weight:800;padding:15px 12px;border-bottom:1px solid var(--line);}
.receipt-table td{font-size:15px;color:var(--text-2);text-align:center;padding:18px 12px;border-bottom:1px solid var(--line);}
.receipt-date{font-weight:800;color:var(--text-1)!important;}
.receipt-kind{display:inline-flex;align-items:center;justify-content:center;border:1px solid #c7d2fe;color:var(--primary);background:#eef2ff;border-radius:999px;padding:5px 12px;font-weight:800;font-size:13px;}
.receipt-btn{min-width:92px;padding:10px 16px;border-radius:8px;font-size:14px;font-weight:800;}
.receipt-btn.active{background:var(--primary);color:#fff;}
.receipt-btn.disabled{background:#e5e7eb;color:#64748b;}
.package-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;}
.package-card{text-align:left;background:#f8fafc;border:1px solid var(--line);border-radius:16px;padding:20px;transition:.2s;}
.package-card:hover{border-color:var(--primary);box-shadow:var(--shadow);transform:translateY(-2px);}
.package-name{display:block;font-size:13px;color:var(--primary);font-weight:900;margin-bottom:8px;}
.package-card strong{display:block;font-size:18px;color:var(--text-1);line-height:1.35;min-height:48px;}
.package-sale{display:inline-flex;margin-top:16px;background:var(--accent);color:#fff;border-radius:999px;padding:4px 9px;font-size:12px;font-weight:900;}
.package-price{display:flex;align-items:baseline;gap:10px;margin-top:10px;}
.package-price del{font-size:14px;color:var(--text-3);}
.package-price b{font-size:22px;color:var(--text-1);}
.apply-flow .receipt-top{align-items:flex-start}
.apply-flow .receipt-top h3{margin-top:6px}
.apply-category-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.apply-category-card,.apply-field-card,.stage-card{position:relative;text-align:left;background:#f8fafc;border:1px solid var(--line);border-radius:16px;padding:18px;transition:.18s;min-height:104px}
.apply-category-card strong,.apply-field-card strong,.stage-card strong{display:block;color:var(--text-1);font-size:17px;font-weight:950;line-height:1.35}
.apply-category-card span{display:block;margin-top:8px;color:var(--text-2);font-size:13px;line-height:1.5}
.apply-category-card.active,.apply-field-card.active,.stage-card.active{background:#eef5ff;border-color:#1f3da8;box-shadow:0 16px 34px -26px rgba(31,61,168,.75)}
.apply-category-card.active::after,.apply-field-card.active::after,.stage-card.active::after{content:"선택";position:absolute;right:14px;top:12px;border-radius:999px;background:#1f3da8;color:#fff;font-size:11px;font-weight:900;padding:4px 8px}
.apply-field-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.apply-field-card span{display:inline-flex;align-items:center;justify-content:center;width:34px;height:26px;border-radius:999px;background:#eaf1ff;color:#1f3da8;font-weight:950;font-size:12px;margin-bottom:10px}
.stage-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.stage-card{min-height:132px}
.stage-num{display:inline-flex;margin-bottom:10px;border-radius:999px;background:#eaf1ff;color:#1f3da8;font-size:12px;font-weight:950;padding:6px 10px}
.stage-card em{display:block;margin-top:10px;color:#ef4444;font-size:18px;font-weight:950;font-style:normal}
.stage-card small{display:block;margin-top:8px;color:var(--text-3);font-size:12px;line-height:1.45}
.apply-summary-card{background:linear-gradient(135deg,#fff 0%,#f8faff 100%)}
.apply-summary dl{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:0 0 18px}
.apply-summary div{background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px}
.apply-summary dt{font-size:12px;font-weight:900;color:var(--primary);margin-bottom:6px}
.apply-summary dd{margin:0;color:var(--text-1);font-size:15px;font-weight:900;line-height:1.35}
.apply-submit-btn{width:100%;padding:15px 18px;border-radius:12px;font-size:16px}
.exam-apply-dialog[hidden]{display:none!important}
.exam-apply-dialog{position:fixed;inset:0;z-index:10000;display:flex;align-items:center;justify-content:center;padding:28px}
.exam-apply-backdrop{position:absolute;inset:0;background:rgba(7,18,38,.68)}
.exam-apply-panel{position:relative;z-index:1;width:min(1510px,100%);max-height:calc(100vh - 60px);display:flex;flex-direction:column;overflow:hidden;background:#f8fbff;border-radius:28px;box-shadow:0 18px 44px rgba(0,0,0,.26),0 0 0 1px rgba(255,255,255,.72)}
.exam-apply-head{height:315px;position:relative;padding:51px 0 0 56px;background:linear-gradient(112deg,#101947 0%,#182d7c 48%,#2479ff 100%);overflow:hidden}
.exam-apply-head:before{content:"";position:absolute;right:-65px;bottom:-120px;width:635px;height:315px;border-radius:52% 0 0 0;background:rgba(113,171,255,.18);transform:rotate(-2deg)}
.exam-apply-head:after{content:"";position:absolute;right:80px;bottom:-105px;width:595px;height:285px;border-radius:52% 0 0 0;background:rgba(82,143,246,.18);transform:rotate(-14deg)}
.exam-apply-head-copy{position:relative;z-index:3}
.exam-apply-eyebrow{letter-spacing:7px;color:#c8d9ff;font-family:Inter,sans-serif;font-weight:800;font-size:17px}
.exam-apply-head-copy h2{margin-top:24px;color:#fff;font-weight:900;font-size:54px;letter-spacing:-2px;line-height:1}
.exam-apply-date{margin-top:34px;height:48px;width:407px;border-radius:24px;background:rgba(255,255,255,.13);display:flex;align-items:center;gap:13px;padding:0 24px;color:#fff;font-size:22px;font-weight:700;box-shadow:inset 0 1px 0 rgba(255,255,255,.08)}
.exam-apply-close{position:absolute;right:41px;top:35px;width:62px;height:62px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.18);color:#fff;font-size:42px;font-weight:300;z-index:5}
.exam-apply-illus,.exam-apply-spark{display:none}
.exam-apply-content{position:relative;left:auto;right:auto;bottom:auto;height:auto;background:linear-gradient(180deg,#fff 0%,#f7fbff 100%);border-radius:0 0 34px 34px;padding:48px 44px 44px;overflow:visible}
.exam-apply-content:before{content:"";position:absolute;left:0;right:0;top:-28px;height:58px;background:#fff;border-radius:34px 34px 0 0}
.exam-apply-section{position:relative;z-index:2;display:flex;align-items:flex-start;gap:16px;margin-left:12px}
.exam-apply-check{width:43px;height:43px;border-radius:50%;border:4px solid #2d78ff;display:grid;place-items:center;color:#2d78ff;flex:0 0 auto}
.exam-apply-section h3{margin:0;font-size:28px;font-weight:900;letter-spacing:-1px}.exam-apply-section p{margin:12px 0 0;color:#75869e;font-size:16px;font-weight:500}
.exam-apply-steps{position:relative;z-index:3;display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:30px}
.exam-apply-steps span{display:none}
.exam-apply-block{position:relative;z-index:3;background:transparent;border:0;padding:0;box-shadow:none}
#applyCategoryBlock{margin-top:30px}
.apply-category-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:20px}
.apply-category-grid-modal{gap:20px}
.exam-apply-footer{display:none!important}
.exam-apply-body .apply-category-card,.exam-apply-body .apply-field-card,.exam-apply-body .stage-card{height:156px;border-radius:14px;background:#fff;border:1px solid #dfe6ef;box-shadow:0 15px 26px rgba(31,45,74,.09);display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;position:relative;padding:16px 16px 14px;text-align:left}
.exam-apply-body .apply-category-card.active,.exam-apply-body .apply-field-card.active,.exam-apply-body .stage-card.active{border:2px solid #2c77ff;box-shadow:0 15px 28px rgba(45,119,255,.13);background:#f7fbff}
.exam-apply-body .apply-category-card.active::after,.exam-apply-body .apply-field-card.active::after,.exam-apply-body .stage-card.active::after{content:"선택";position:absolute;right:10px;top:10px;background:#2374ff;color:#fff;font-size:11px;font-weight:800;border-radius:999px;padding:4px 9px}
.apply-card-icon{position:static;width:44px;height:44px;border-radius:13px;display:grid;place-items:center;margin:0 0 14px;line-height:1;box-shadow:inset 0 1px 0 rgba(255,255,255,.75)}
.apply-card-icon svg{width:30px;height:30px;fill:none;stroke:currentColor;stroke-width:2.1;stroke-linecap:round;stroke-linejoin:round}
.apply-card-icon--field{width:40px;height:40px;border-radius:12px}
.apply-card-icon--field svg{width:27px;height:27px}
.apply-card-icon.blue{background:linear-gradient(135deg,#eaf3ff,#d8e9ff);color:#2563eb}.apply-card-icon.green{background:linear-gradient(135deg,#e8fbf1,#d5f6e4);color:#0f9f62}.apply-card-icon.purple{background:linear-gradient(135deg,#f2eaff,#e6d8ff);color:#7c3aed}.apply-card-icon.orange{background:linear-gradient(135deg,#fff1df,#ffe2c2);color:#ea6a0a}.apply-card-icon.cyan{background:linear-gradient(135deg,#e5fbff,#cef5fb);color:#0891b2}
.exam-apply-body .apply-category-card strong,.exam-apply-body .apply-field-card strong{margin:0 0 6px 0;font-size:16px;font-weight:900;letter-spacing:-.5px;color:#101827;text-align:left;width:100%;padding-left:0;padding-top:0}
.exam-apply-body .apply-category-card span{margin:0;color:#59697f;font-size:12px;line-height:1.45;text-align:left;font-weight:500;width:100%;padding-left:0}
.exam-apply-body .apply-field-card strong{margin:0;font-size:15px;padding-left:0}
.exam-apply-body .apply-summary{display:none}
.exam-apply-footnote{position:static;text-align:center;color:#8292aa;font-size:12px;font-weight:500;margin-top:10px}
.exam-apply-footnote svg{vertical-align:-4px;margin-right:8px}
.exam-apply-body .apply-summary dl{display:none}
.exam-apply-body .apply-summary dl>div{display:none}
.exam-apply-body .apply-summary dt,.exam-apply-body .apply-summary dd{display:none}
.content-card.wide{grid-column:1/-1;}
.content-note{grid-column:1/-1;font-size:14px;color:var(--text-3);margin:0 0 0 4px;}
.login-choice{display:flex;gap:10px;margin-top:18px;}
.login-choice button,.form-grid button,.content-search button{background:var(--primary);color:#fff;border-radius:8px;padding:12px 18px;font-weight:800;}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:16px;}
.form-grid label{font-size:13px;font-weight:800;color:var(--text-1);display:flex;flex-direction:column;gap:8px;}
.form-grid .full{grid-column:1/-1;}
.form-grid input,.form-grid textarea,.form-grid select,.content-search input{border:1px solid var(--line);border-radius:10px;padding:13px 14px;font-family:inherit;font-size:14px;outline:0;background:#fff;}
.form-grid textarea{min-height:120px;resize:vertical;}
.form-grid button{justify-self:start;}
.form-help{font-size:12px;color:var(--text-3);font-weight:400;}
.plaza-detail{grid-column:1/-1;display:grid;gap:18px;}
.plaza-card{display:none;grid-template-columns:1fr 360px;gap:22px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:24px;box-shadow:var(--shadow);}
.plaza-card.active{display:grid;}
.plaza-card h3{font-size:24px;font-weight:900;color:var(--text-1);margin:0 0 18px;padding-bottom:12px;border-bottom:2px solid var(--text-1);}
.plaza-card dl{display:grid;grid-template-columns:84px 1fr;gap:10px 16px;margin:0;}
.plaza-card dt{font-size:14px;font-weight:900;color:var(--primary);}
.plaza-card dd{font-size:14px;color:var(--text-2);line-height:1.65;margin:0;}
.plaza-label{display:inline-flex;margin:0 0 18px;padding:7px 12px;border-radius:999px;background:var(--primary-soft);color:var(--primary);font-size:12px;font-weight:900;letter-spacing:.06em;}
.plaza-map{min-height:320px;border-radius:14px;border:1px solid #cbd5e1;background:#f8fafc;overflow:hidden;}
.plaza-map iframe{display:block;width:100%;height:100%;min-height:320px;border:0;}
.content-search{display:flex;gap:10px;}
.content-search input{flex:1;}
.stat-grid,.sample-grid,.book-grid{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;}
.stat-grid article,.sample-grid article,.book-grid article{background:#fff;border:1px solid var(--line);border-radius:18px;padding:24px;box-shadow:var(--shadow);}
.stat-grid b,.book-grid b,.sample-grid span{font-size:13px;font-weight:900;color:var(--primary);}
.stat-grid strong{display:block;font-size:42px;font-weight:900;color:var(--text-1);margin-top:8px;}
.stat-grid span{font-size:13px;color:var(--text-3);}
.sample-grid h3,.book-grid h3{font-size:20px;margin:8px 0;color:var(--text-1);}
.sample-grid p,.book-grid p{font-size:14px;color:var(--text-2);margin:0;line-height:1.7;}
.content-tabs{grid-column:1/-1;display:flex;gap:8px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:8px;box-shadow:var(--shadow-sm);}
.content-tabs button{padding:10px 16px;border-radius:10px;font-size:14px;font-weight:800;color:var(--text-2);}
.content-tabs button.active{background:var(--primary);color:#fff;}
.lead-card{background:linear-gradient(135deg,#fff 0%,#f8faff 100%);}
.lead-card h3{font-size:26px!important;}
.step-grid,.info-grid{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;}
.step-grid article,.info-grid article{background:#fff;border:1px solid var(--line);border-radius:18px;padding:24px;box-shadow:var(--shadow);}
.step-grid span,.info-grid b{font-size:12px;font-weight:900;color:var(--primary);letter-spacing:.08em;}
.step-grid h3,.info-grid h3{font-size:20px;color:var(--text-1);margin:10px 0 8px;}
.step-grid p,.info-grid p{font-size:14px;color:var(--text-2);line-height:1.75;margin:0;}
.notice-card{border-color:#fed7aa;background:#fff7ed;}
.notice-card h3{color:#c2410c;}
.corp-sector-wrap{grid-column:1/-1;position:relative;overflow:hidden;border-radius:24px;padding:28px;background:linear-gradient(135deg,#0f172a 0%,#1f3da8 55%,#2563eb 100%);box-shadow:0 26px 60px -36px rgba(15,23,42,.85)}
.corp-sector-wrap::before{content:"";position:absolute;right:-90px;top:-110px;width:260px;height:260px;border-radius:50%;background:rgba(255,255,255,.14)}
.corp-sector-wrap::after{content:"";position:absolute;left:-80px;bottom:-120px;width:240px;height:240px;border-radius:50%;background:rgba(96,165,250,.2)}
.corp-sector-head{position:relative;z-index:1;display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:22px;color:#fff}
.corp-sector-head span{display:block;font-size:12px;font-weight:900;letter-spacing:.18em;color:#bfdbfe;margin-bottom:7px}.corp-sector-head h3{margin:0;font-size:30px;font-weight:950;letter-spacing:-.04em}.corp-sector-head p{max-width:520px;margin:0;color:#dbeafe;font-size:14px;line-height:1.7}.corp-sector-grid{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.corp-sector-card{position:relative;overflow:hidden;background:rgba(255,255,255,.96);border:1px solid rgba(255,255,255,.38);border-radius:20px;padding:22px;box-shadow:0 18px 38px -28px rgba(15,23,42,.85);transition:.22s}.corp-sector-card:hover{transform:translateY(-3px);box-shadow:0 24px 44px -28px rgba(15,23,42,.9)}.corp-sector-num{position:absolute;right:18px;top:16px;font-size:28px;font-weight:950;color:#e2e8f0;letter-spacing:-.06em}.corp-sector-icon{display:inline-flex;align-items:center;justify-content:center;min-width:52px;height:34px;padding:0 12px;border-radius:999px;background:#eef5ff;color:#1f3da8;font-size:13px;font-weight:950;margin-bottom:14px}.corp-sector-card h4{position:relative;margin:0 0 14px;font-size:21px;font-weight:950;color:#0f172a;letter-spacing:-.035em}.corp-sector-card ul{margin:0;padding:0;list-style:none;display:grid;gap:9px}.corp-sector-card li{position:relative;padding-left:18px;font-size:14px;color:#475569;line-height:1.58}.corp-sector-card li::before{content:"";position:absolute;left:0;top:.62em;width:7px;height:7px;border-radius:50%;background:#2563eb;box-shadow:0 0 0 3px #dbeafe}
.notice-card li::before{background:#f97316;}
.source-page{grid-column:1/-1;background:#fff;border:1px solid var(--line);border-radius:18px;padding:30px;box-shadow:var(--shadow);}
.source-page h3{font-size:24px;font-weight:900;color:var(--text-1);margin:0 0 16px;padding-bottom:12px;border-bottom:2px solid var(--text-1);}
.source-page p{font-size:16px;color:var(--text-2);line-height:1.9;margin:0 0 12px;}
.source-page ul{display:flex;flex-direction:column;gap:9px;margin:0;padding:0;list-style:none;}
.source-page li{position:relative;padding-left:15px;font-size:15px;color:var(--text-2);line-height:1.75;}
.source-page li::before{content:"";position:absolute;left:0;top:.75em;width:5px;height:5px;border-radius:50%;background:var(--primary);}
.history-tabs{grid-column:1/-1;display:flex;gap:8px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:8px;box-shadow:var(--shadow-sm);}
.history-tabs button{padding:10px 18px;border-radius:10px;font-size:14px;font-weight:800;color:var(--text-2);}
.history-tabs button.active{background:var(--primary);color:#fff;}
.company-panels{grid-column:1/-1;}
.company-panel{display:none;}
.company-panel.active{display:block;}

.rules-panels .rules-panel{display:none;}
.rules-panels .rules-panel.active{display:block;}

.history-panels .history-panel{display:none;}
.history-panels .history-panel.active{display:block;}

.report-panels .report-panel{display:none;}
.report-panels .report-panel.active{display:block;}

.rich-panels .rich-panel{display:none;}
.rich-panels .rich-panel.active{display:block;}

/* ========== Header ========== */
.header{position:sticky;top:0;z-index:50;background:linear-gradient(135deg,#1475d8 0%,#1f63c8 100%);border-bottom:0;}
.header-top{padding:10px 0 9px;border-bottom:1px solid rgba(255,255,255,.22);}
.header-top .container{display:flex;align-items:center;justify-content:space-between;gap:24px;}
.brand{display:inline-flex;align-items:center;gap:10px;}
.brand-logo{display:block;height:96px;width:auto;margin:-14px 0 -30px;filter:drop-shadow(0 2px 4px rgba(0,0,0,.18));}
.brand-mark{display:none;}
.brand-name{display:none;}

.util-nav{display:flex;align-items:center;gap:2px;background:#fff;border-radius:999px;padding:3px 8px;}
.util-nav>li>a,.util-nav>li>button{
  height:30px;padding:0 10px;font-size:12px;line-height:1;color:#4b5563;border-radius:999px;transition:.2s;
  display:inline-flex;align-items:center;justify-content:center;gap:6px;vertical-align:middle;
}
.util-nav>li>a:hover{color:#1475d8;background:#eef5ff;}
.util-mytest{color:#1475d8!important;font-weight:600;}
.btn-allmenu{
  height:30px;background:#f8fafc;color:#111827!important;font-weight:700;
  padding:0 12px!important;font-size:12px;line-height:1;border-radius:999px!important;
  align-items:center;justify-content:center;
}
.btn-allmenu:hover{background:#e5eefb;}
.hamburger{display:inline-flex;flex-direction:column;gap:3px;width:14px;}
.hamburger span{display:block;height:2px;background:#fff;border-radius:1px;}

/* GNB */
.header-bottom{position:relative;background:transparent;}
.gnb{position:relative;z-index:2;}
.gnb>ul{display:grid;grid-template-columns:repeat(7,1fr);gap:0;max-width:1180px;margin:0 auto;}
.gnb>ul>li{position:relative;text-align:center;}
.gnb-1{
  display:block;padding:14px 16px 15px;font-size:15px;font-weight:700;color:#fff;
  position:relative;transition:.2s;
}
.gnb-1::after{
  content:"";position:absolute;left:16px;right:16px;bottom:9px;height:2px;
  background:#fff;transform:scaleX(0);transform-origin:left;transition:transform .3s;
}
.header-bottom:hover .gnb-1{color:#fff;}
.gnb>ul>li:hover .gnb-1{color:#fff;background:rgba(255,255,255,.12);}
.gnb>ul>li:hover .gnb-1::after{transform:scaleX(1);}
.gnb-bg{
  position:absolute;left:0;right:0;top:100%;background:#fff;
  border-top:1px solid #e5e7eb;border-bottom:1px solid #e5e7eb;
  box-shadow:none;opacity:0;visibility:hidden;transform:none;transition:opacity .12s;z-index:1;
}
.header-bottom:hover .gnb-bg{opacity:1;visibility:visible;}
.gnb-mega{display:grid;grid-template-columns:repeat(7,1fr);max-width:1180px;margin:0 auto;padding:0;}
.gnb-mega section{min-height:254px;padding:21px 16px 18px;border-left:1px solid #e5e7eb;}
.gnb-mega section:last-child{border-right:1px solid #e5e7eb;}
.gnb-mega ul{margin:0;padding:0;}
.gnb-mega li{margin:0 0 14px;}
.gnb-mega a{display:block;font-size:13px;font-weight:400;color:#111827;line-height:1.28;padding:0;letter-spacing:-.035em;}
.gnb-mega a:hover{color:#111827;font-weight:400;text-decoration:underline;text-underline-offset:3px;}
.out-icon{font-size:10px;color:#9ca3af;vertical-align:1px;margin-left:3px;}

/* All menu */
.all-menu{
  position:absolute;left:0;right:0;top:100%;background:#fff;
  border-top:1px solid var(--line);box-shadow:var(--shadow-lg);
  padding:50px 0;display:none;
}
.all-menu.open{display:block;}
.all-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:32px;}
.all-grid h4{font-size:14px;color:var(--primary);margin-bottom:14px;padding-bottom:10px;border-bottom:2px solid var(--primary);}
.all-grid li{margin:6px 0;}
.all-grid a{font-size:14px;color:var(--text-2);}
.all-grid a:hover{color:var(--primary);text-decoration:underline;text-underline-offset:3px;}
.btn-close-all{
  position:absolute;top:18px;right:24px;width:36px;height:36px;border-radius:50%;
  background:var(--bg);font-size:22px;color:var(--text-2);transition:.2s;
}
.btn-close-all:hover{background:var(--text-1);color:#fff;}

/* ========== Hero (좌:슬라이더 + 우:고정) ========== */
.hero{padding:28px 0 36px;background:var(--bg);}
.hero-grid{display:grid;grid-template-columns:2fr 1fr;gap:16px;align-items:stretch;}

/* 좌측 슬라이더 */
.hero-slider-wrap{position:relative;border-radius:var(--radius-lg);overflow:hidden;background:#0f172a;box-shadow:var(--shadow-lg);}
.hero-slider{position:relative;width:100%;height:0;padding-bottom:46.95%;}
.hero-slide{position:absolute;inset:0;display:block;
  opacity:0;transition:opacity .6s;pointer-events:none;
  overflow:hidden;
}
.hero-slide.active{opacity:1;pointer-events:auto;}
.hero-slide img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;}

/* 슬라이드 fallback (이미지 없을 때) */
.slide-fallback{
  position:absolute;inset:0;
  display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;
  background:linear-gradient(135deg,#1e3a8a 0%,#0f172a 60%,#1f3da8 100%);
  color:#fff;padding:30px;
}
.hero-slide[data-bg="hero-2"] .slide-fallback{background:linear-gradient(135deg,#0e7490 0%,#0f172a 60%,#0ea5e9 100%);}
.hero-slide[data-bg="hero-3"] .slide-fallback{background:linear-gradient(135deg,#9f1239 0%,#0f172a 60%,#f43f5e 100%);}
.slide-fallback .eyebrow{color:rgba(255,255,255,.7);font-size:13px;font-weight:700;letter-spacing:.2em;margin:0 0 14px;}
.slide-fallback h2{font-size:50px;line-height:1.1;letter-spacing:-.04em;color:#fff;margin:0 0 18px;}
.slide-fallback h2 strong{
  color:#fde047;font-weight:900;
  text-shadow:0 4px 16px rgba(253,224,71,.3);
}
.slide-fallback .ph-meta{font-size:12px;color:rgba(255,255,255,.4);margin:0;letter-spacing:.05em;}

/* 슬라이드 컨트롤러 (우측 하단) */
.hero-controls{
  position:absolute;right:18px;bottom:18px;z-index:5;
  display:inline-flex;align-items:center;gap:2px;
  padding:6px 8px;background:rgba(15,23,42,.55);backdrop-filter:blur(12px);
  border-radius:99px;border:1px solid rgba(255,255,255,.12);
}
.hero-controls button{color:#fff;font-size:14px;line-height:1;display:inline-flex;align-items:center;justify-content:center;}
.hero-pause{width:26px;height:26px;border-radius:50%;font-size:9px;letter-spacing:.5px;}
.hero-pause:hover{background:rgba(255,255,255,.15);}
.hero-nav{width:26px;height:26px;border-radius:50%;font-size:18px;}
.hero-nav:hover{background:rgba(255,255,255,.15);}
.hero-pager{padding:0 8px;font-size:13px;color:#fff;font-weight:600;letter-spacing:.02em;}
.hero-pager strong{color:#fff;font-size:13px;}
.hero-pager em{margin:0 4px;font-style:normal;color:rgba(255,255,255,.5);}
.hero-pager span{color:rgba(255,255,255,.7);}
.hero-expand{width:26px;height:26px;border-radius:50%;font-size:14px;color:#fff;}
.hero-expand:hover{background:rgba(255,255,255,.15);}

/* 우측 고정 배너 */
.hero-fixed{
  position:relative;display:block;border-radius:var(--radius-lg);overflow:hidden;
  background:#0f172a;box-shadow:var(--shadow-lg);min-height:360px;
}
.hero-fixed img{width:100%;height:100%;object-fit:cover;display:block;position:absolute;inset:0;}
.fixed-fallback{
  position:absolute;inset:0;
  display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;
  background:
    linear-gradient(155deg,rgba(15,23,42,.4) 0%,rgba(15,23,42,.85) 100%),
    linear-gradient(135deg,#7c3aed 0%,#1f3da8 100%);
  color:#fff;padding:30px;
}
.fixed-fallback .eyebrow{color:rgba(255,255,255,.6);font-size:11px;font-weight:700;letter-spacing:.25em;margin:0 0 16px;}
.fixed-fallback h3{font-size:24px;line-height:1.3;letter-spacing:-.02em;color:#fff;margin:0 0 14px;}
.fixed-fallback .ph-meta{font-size:12px;color:rgba(255,255,255,.45);margin:0;}

@media (max-width:1100px){
  .hero-grid{grid-template-columns:1fr;}
  .hero-fixed{min-height:200px;}
  .hero-slider, .hero-slider-wrap{padding-bottom:46.95%;min-height:0;height:0;}
  .hero-slider{height:0;}
}

/* ========== Main Customer Center ========== */
.main-cs-wrap{background:#fff;padding:0;border-top:1px solid #edf0f5;border-bottom:1px solid #edf0f5;}
.main-cs-panel{
  display:grid;grid-template-columns:460px 1fr;gap:50px;align-items:center;
  min-height:184px;padding:28px 0 30px;
}
.main-cs-title{display:inline-flex;align-items:center;gap:6px;font-size:20px;font-weight:900;color:#111827;letter-spacing:-.04em;margin-bottom:18px;}
.main-cs-title span{font-size:28px;line-height:1;color:#6b7280;font-weight:700;transform:translateY(-1px);}
.main-cs-tels{display:flex;align-items:center;gap:26px;margin-bottom:8px;}
.main-cs-tels p{margin:0;font-size:15px;color:#1f2937;white-space:nowrap;}
.main-cs-tels strong{font-weight:800;margin-right:10px;}
.main-cs-tels b{font-size:16px;font-weight:900;letter-spacing:-.02em;}
.main-cs-time{margin:6px 0 0;font-size:13px;color:#8b95a1;letter-spacing:-.02em;}
.main-cs-banner-wrap{position:relative;justify-self:end;width:100%;max-width:560px;padding-top:6px;}
.main-cs-banner{
  position:relative;display:block;height:106px;border-radius:8px;overflow:hidden;background:#111827;
  box-shadow:0 18px 34px -22px rgba(15,23,42,.9);
}
.main-cs-banner img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:2;}
.main-cs-banner-fallback{
  position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;
  background:radial-gradient(circle at 92% 50%,rgba(56,189,248,.45),transparent 27%),linear-gradient(110deg,#13182d 0%,#17142b 55%,#081f2d 100%);
  color:#fff;padding:16px 24px;
}
.main-cs-banner-fallback p{margin:0 0 2px;font-size:13px;font-weight:800;color:#e2e8f0;}
.main-cs-banner-fallback h3{font-size:25px;font-weight:900;line-height:1.15;color:#5ab4ff;text-shadow:0 2px 10px rgba(59,130,246,.35);}
.main-cs-banner-fallback h3 strong{font-size:34px;color:#fff;letter-spacing:-.06em;}
.main-cs-banner-fallback span{margin-top:4px;font-size:12px;color:#cbd5e1;font-weight:700;}
.main-cs-dots{position:absolute;right:2px;top:-2px;display:flex;gap:6px;}
.main-cs-dots button{width:8px;height:8px;border-radius:50%;background:#b8bec8;padding:0;}
.main-cs-dots button.active{background:#1677d2;}
.main-quick-links{
  display:grid;grid-template-columns:repeat(5,1fr);align-items:center;border-top:1px solid #eef1f5;min-height:74px;
}
.main-quick-links a{display:flex;align-items:center;justify-content:center;gap:11px;font-size:15px;font-weight:800;color:#202833;letter-spacing:-.03em;transition:.2s;}
.main-quick-links a:hover{color:var(--primary);}
.quick-icon{width:28px;height:28px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:#eef1f5;color:#7b8794;font-weight:900;font-size:16px;line-height:1;}
.quick-icon.building{border-radius:6px;background:#e8ebef;color:#9aa3ad;font-size:17px;}
.quick-icon.pencil{border-radius:6px;background:linear-gradient(135deg,#ffd54f 0%,#ffb300 50%,#2aa7ff 51%,#2aa7ff 100%);color:transparent;transform:rotate(-45deg);}
.quick-icon.check{background:#20c997;color:#fff;font-size:18px;}
.quick-icon.siren{background:linear-gradient(#ef4444 0 58%,#cbd5e1 59% 100%);color:transparent;border-radius:8px 8px 50% 50%;}

@media (max-width:1100px){
  .main-cs-panel{grid-template-columns:1fr;gap:20px;}
  .main-cs-banner-wrap{justify-self:start;max-width:100%;}
  .main-quick-links{grid-template-columns:repeat(2,1fr);gap:18px;padding:22px 0;}
}

/* ========== Section common ========== */
.section-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:32px;gap:20px;}
.section-eyebrow{font-size:12px;font-weight:700;letter-spacing:.2em;color:var(--primary);margin:0 0 6px;text-transform:uppercase;}
.section-title{font-size:34px;letter-spacing:-.03em;}
.section-title.white{color:#fff;}
.btn-link{display:inline-flex;align-items:center;gap:4px;color:var(--text-2);font-weight:600;font-size:14px;padding-bottom:6px;border-bottom:1px solid var(--text-3);transition:.2s;}
.btn-link:hover{color:var(--primary);border-color:var(--primary);}

/* ========== Schedule ========== */
.schedule-wrap{padding:50px 0 90px;}
.schedule-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;}
.sch-card{
  background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);
  padding:26px 24px 80px;position:relative;transition:.25s;
}
.sch-card:hover{border-color:var(--primary);box-shadow:var(--shadow-lg);transform:translateY(-4px);}
.sch-card.highlight{
  background:linear-gradient(155deg,#fff 0%,#fff5f5 100%);
  border-color:var(--accent-soft);
}
.sch-card.highlight:hover{border-color:var(--accent);}
.sch-card>header{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px;}
.sch-tag{font-size:11px;font-weight:700;letter-spacing:.06em;background:var(--primary-soft);color:var(--primary);padding:5px 10px;border-radius:99px;}
.sch-tag.tag-red{background:var(--accent-soft);color:var(--accent);}
.sch-state{font-size:12px;color:var(--success);font-weight:700;display:inline-flex;align-items:center;gap:4px;}
.sch-state::before{content:"";width:6px;height:6px;background:var(--success);border-radius:50%;}
.sch-day{font-size:30px;font-weight:900;letter-spacing:-.03em;margin:0 0 18px;color:var(--text-1);}
.sch-day span{color:var(--text-3);margin:0 1px;}
.sch-day em{font-style:normal;font-size:18px;color:var(--text-2);font-weight:600;margin-left:6px;}
.sch-meta{margin:0;padding-top:16px;border-top:1px dashed var(--line);}
.sch-meta li{display:flex;justify-content:space-between;align-items:center;font-size:13px;padding:4px 0;}
.sch-meta li span{color:var(--text-3);}
.sch-meta li strong{color:var(--text-1);font-weight:600;}
.sch-btn{
  position:absolute;left:24px;right:24px;bottom:22px;
  text-align:center;padding:12px;background:var(--text-1);color:#fff;
  border-radius:10px;font-weight:600;font-size:14px;transition:.2s;
}
.sch-btn:hover{background:var(--primary);}
.sch-card.highlight .sch-btn{background:var(--accent);}
.sch-card.highlight .sch-btn:hover{background:#e23739;}

/* ========== Notice Cards (저작권 / 스토리) ========== */
.info-wrap{padding:0 0 70px;}
.info-wrap + .info-wrap{padding-top:0;padding-bottom:90px;}
.notice-cards{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:60px;}
.notice-card{
  position:relative;display:flex;justify-content:space-between;align-items:center;
  padding:34px 36px;border-radius:var(--radius-lg);overflow:hidden;
  color:#fff;transition:.25s;min-height:160px;
}
.notice-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg);}
.notice-card.blue{background:linear-gradient(135deg,#1f3da8 0%,#2563eb 60%,#3b82f6 100%);}
.notice-card.dark{background:linear-gradient(135deg,#1f2937 0%,#374151 100%);}
.notice-card-text{flex:1;min-width:0;}
.notice-card-eyebrow{font-size:13px;color:rgba(255,255,255,.7);margin:0 0 8px;font-weight:500;}
.notice-card-eyebrow sup{font-size:9px;}
.notice-card h3{font-size:22px;line-height:1.4;color:#fff;margin:0 0 18px;letter-spacing:-.02em;}
.notice-card-desc{font-size:14px;color:rgba(255,255,255,.8);margin:0 0 18px;}
.btn-pill{
  display:inline-flex;align-items:center;gap:6px;
  padding:8px 16px;background:rgba(255,255,255,.18);color:#fff;
  border-radius:99px;font-size:13px;font-weight:600;
  border:1px solid rgba(255,255,255,.25);transition:.2s;
}
.btn-pill:hover{background:#fff;color:var(--text-1);}
.btn-pill.ghost{background:transparent;}
.notice-card-icon{
  flex:0 0 auto;width:90px;height:90px;margin-left:24px;
  display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.4);
}
.notice-card-icon svg{width:80px;height:80px;}

/* ========== Board (뉴스 / 채용) ========== */
.board-wrap{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-bottom:60px;}
.board-head{display:flex;justify-content:space-between;align-items:flex-end;border-bottom:2px solid var(--text-1);padding-bottom:14px;margin-bottom:8px;}
.board-head h3{font-size:22px;letter-spacing:-.02em;display:flex;align-items:baseline;gap:10px;}
.board-sub{font-size:13px;color:var(--text-3);font-weight:500;letter-spacing:0;}
.btn-more{font-size:13px;color:var(--text-2);font-weight:600;transition:.2s;}
.btn-more:hover{color:var(--primary);}
.board-list li{border-bottom:1px solid var(--line);}
.board-list li:last-child{border-bottom:0;}
.board-list a{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px 4px;font-size:15px;color:var(--text-1);transition:.2s;}
.board-list a:hover{color:var(--primary);}
.board-title{
  flex:1;min-width:0;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
  display:flex;align-items:center;gap:8px;
}
.board-title .new{
  flex:0 0 auto;
  display:inline-flex;align-items:center;justify-content:center;
  width:18px;height:18px;border-radius:50%;
  background:var(--accent);color:#fff;font-size:10px;font-weight:800;
  font-style:normal;letter-spacing:0;
}
.board-date{flex:0 0 auto;font-size:13px;color:var(--text-3);font-weight:500;}

/* ========== Info Cards (활용현황/데이터/뉴스레터) ========== */
.info-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
.info-card{
  position:relative;padding:40px 36px;border-radius:var(--radius-lg);
  color:#fff;overflow:hidden;min-height:200px;display:flex;flex-direction:column;justify-content:flex-end;
  transition:.25s;
}
.info-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);}
.grad-1{background:linear-gradient(135deg,#1f3da8 0%,#5b73e8 100%);}
.grad-2{background:linear-gradient(135deg,#0ea5e9 0%,#22d3ee 100%);}
.grad-3{background:linear-gradient(135deg,#f43f5e 0%,#fb923c 100%);}
.info-eyebrow{font-size:13px;font-weight:600;color:rgba(255,255,255,.85);margin:0 0 8px;display:flex;align-items:center;gap:8px;}
.info-eyebrow em{font-style:normal;font-size:10px;font-weight:800;background:#fff;color:var(--accent);padding:2px 6px;border-radius:99px;letter-spacing:.05em;}
.info-card h3{font-size:22px;line-height:1.4;letter-spacing:-.02em;color:#fff;}
.info-arrow{position:absolute;right:30px;top:30px;width:42px;height:42px;border-radius:50%;background:rgba(255,255,255,.18);display:inline-flex;align-items:center;justify-content:center;font-size:20px;transition:.2s;}
.info-card:hover .info-arrow{background:#fff;color:var(--text-1);transform:rotate(-45deg);}

/* ========== CS ========== */
.cs-wrap{background:linear-gradient(155deg,#0f172a 0%,#1e3a8a 100%);color:#fff;padding:90px 0;}
.cs-inner{display:grid;grid-template-columns:1fr 1.4fr;gap:60px 40px;align-items:center;}
.cs-info .section-eyebrow{color:#93c5fd;}
.cs-desc{margin:18px 0 0;color:#cbd5e1;font-size:15px;}
.cs-tels{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.cs-tel-card{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);border-radius:var(--radius-lg);padding:28px;backdrop-filter:blur(8px);}
.cs-tel-card.alt{background:#fff;color:var(--text-1);border:0;}
.cs-tel-card.alt .cs-time{color:var(--text-2);}
.cs-tel-card.alt .cs-label{color:var(--primary);}
.cs-label{font-size:13px;color:#93c5fd;font-weight:600;margin:0 0 8px;}
.cs-number{font-size:30px;font-weight:900;letter-spacing:-.03em;margin:0 0 8px;font-family:"Pretendard",sans-serif;}
.cs-time{font-size:12px;color:#94a3b8;margin:0;}
.cs-quick{grid-column:1/-1;display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-top:8px;}
.cs-quick a{
  background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);
  border-radius:14px;padding:18px;color:#fff;font-size:14px;font-weight:600;
  display:flex;align-items:center;gap:10px;transition:.2s;
}
.cs-quick a span{width:34px;height:34px;border-radius:10px;background:rgba(255,255,255,.1);display:inline-flex;align-items:center;justify-content:center;font-size:16px;}
.cs-quick a:hover{background:rgba(255,255,255,.16);transform:translateY(-2px);}

/* ========== Footer ========== */
.footer{background:#0f172a;color:#94a3b8;padding:50px 0 70px;position:relative;}
.footer-top{display:flex;justify-content:space-between;align-items:center;padding-bottom:24px;border-bottom:1px solid rgba(255,255,255,.08);margin-bottom:24px;flex-wrap:wrap;gap:20px;}
.footer-top .brand-name{color:#fff;}
.footer-links{display:flex;gap:6px;flex-wrap:wrap;}
.footer-links a{padding:8px 14px;font-size:13px;color:#cbd5e1;border-radius:8px;transition:.2s;}
.footer-links a:hover{background:rgba(255,255,255,.06);color:#fff;}
.footer-info{font-size:12px;line-height:1.9;color:#64748b;}
.footer-info p{margin:0;}
.footer-info .copy{margin-top:14px;color:#475569;}
.btn-top{
  position:absolute;right:24px;bottom:80px;width:48px;height:48px;border-radius:50%;
  background:#fff;color:var(--text-1);font-size:18px;font-weight:700;
  box-shadow:var(--shadow-lg);transition:.2s;
}
.btn-top:hover{background:var(--primary);color:#fff;}

/* Wide screen */
@media (max-width:1200px){
  .hero-text h2{font-size:40px;}
}

@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{
    animation-duration:.01ms!important;
    animation-iteration-count:1!important;
    scroll-behavior:auto!important;
    transition-duration:.01ms!important;
  }
}


/* ===== 공지사항 페이지 ===== */
.simple-header{border-bottom:1px solid #e5e7eb}
.page-hero{background:linear-gradient(135deg,#eef5ff 0%,#dbeafe 100%);padding:54px 0 38px;margin-bottom:32px}
.page-hero .container{max-width:1180px}
.page-eyebrow{margin:0;color:#1f3da8;font-weight:900;font-size:13px;letter-spacing:.16em}
.page-title{margin:6px 0 8px;font-size:36px;letter-spacing:-.04em;color:#0f172a}
.page-desc{margin:0;color:#475569;font-weight:600}
.notice-page{max-width:1180px;padding-bottom:80px}

.notice-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px;flex-wrap:wrap}
.notice-tabs{display:flex;gap:6px;flex-wrap:wrap}
.notice-tabs button{background:#fff;border:1px solid #e2e8f0;color:#475569;border-radius:999px;padding:9px 16px;font-weight:800;font-size:14px;cursor:pointer;transition:.18s}
.notice-tabs button:hover{border-color:#1f3da8;color:#1f3da8}
.notice-tabs button.active{background:#1f3da8;border-color:#1f3da8;color:#fff}
.notice-search input{width:260px;border:1px solid #e2e8f0;border-radius:12px;padding:11px 14px;font-size:14px;outline:0;background:#fff}
.notice-search input:focus{border-color:#1f3da8}

.notice-table-wrap{border-top:2px solid #0f172a;border-bottom:1px solid #e5e7eb;background:#fff}
.notice-table{width:100%;border-collapse:collapse}
.notice-table th{font-size:14px;color:#475569;padding:14px 10px;border-bottom:1px solid #e5e7eb;background:#f8fafc;font-weight:800;text-align:center}
.notice-table td{padding:16px 12px;border-bottom:1px solid #f1f5f9;font-size:15px;text-align:center;vertical-align:middle}
.notice-table td.title{text-align:left}
.notice-table td.title a{color:#0f172a;font-weight:700}
.notice-table td.title a:hover{color:#1f3da8;text-decoration:underline}
.notice-table td.num{color:#94a3b8;font-weight:700}
.notice-table td.date{color:#64748b;font-weight:700}
.notice-table td.empty{padding:48px;color:#94a3b8;font-weight:700}
.notice-table .cat{display:inline-flex;align-items:center;justify-content:center;min-width:54px;padding:5px 10px;border-radius:999px;font-size:12px;font-weight:900}
.notice-table .cat.cat-notice{background:#eef2ff;color:#1f3da8}
.notice-table .cat.cat-info{background:#e0f2fe;color:#0369a1}
.notice-table .cat.cat-event{background:#fef3c7;color:#b45309}
.notice-table .cat.cat-press{background:#ede9fe;color:#6d28d9}
.notice-table .cat.cat-fest{background:#fce7f3;color:#be185d}
.notice-table .cat.cat-news{background:#eaf8ef;color:#16a34a}
.notice-table .cat.cat-recruit{background:#fff1f2;color:#e11d48}

.notice-pagination{display:flex;justify-content:center;align-items:center;gap:4px;margin-top:28px;flex-wrap:wrap}
.notice-pagination button{min-width:36px;height:36px;border:1px solid #e2e8f0;background:#fff;color:#334155;border-radius:8px;font-weight:800;cursor:pointer;padding:0 10px}
.notice-pagination button:hover:not(:disabled){border-color:#1f3da8;color:#1f3da8}
.notice-pagination button.active{background:#1f3da8;border-color:#1f3da8;color:#fff}
.notice-pagination button:disabled{opacity:.4;cursor:not-allowed}
.notice-pagination .pg-edge{font-size:12px;color:#64748b}

/* 상세 화면 */
.notice-detail{background:#fff;border-top:2px solid #0f172a;border-bottom:1px solid #e5e7eb}
.notice-detail-head{padding:32px 32px 20px;border-bottom:1px solid #e5e7eb;background:#fafbfd}
.notice-detail-head .cat{display:inline-flex;align-items:center;justify-content:center;min-width:54px;padding:6px 12px;border-radius:999px;font-size:12px;font-weight:900;margin-bottom:10px}
.notice-detail-head .cat.cat-notice{background:#eef2ff;color:#1f3da8}
.notice-detail-head .cat.cat-info{background:#e0f2fe;color:#0369a1}
.notice-detail-head .cat.cat-event{background:#fef3c7;color:#b45309}
.notice-detail-head .cat.cat-press{background:#ede9fe;color:#6d28d9}
.notice-detail-head .cat.cat-fest{background:#fce7f3;color:#be185d}
.notice-detail-head h3{margin:0;font-size:24px;letter-spacing:-.03em;color:#0f172a;line-height:1.4}
.notice-detail-meta{margin:10px 0 0;color:#64748b;font-weight:700;font-size:14px}
.notice-detail-body{padding:32px;line-height:1.8;color:#0f172a;min-height:200px}
.notice-detail-body img{max-width:100%;height:auto;display:block;margin:12px 0}
.notice-detail-body table{border-collapse:collapse;width:100%;margin:12px 0}
.notice-detail-body table th,.notice-detail-body table td{border:1px solid #e5e7eb;padding:10px 12px;font-size:14px;vertical-align:top}
.notice-detail-body p{margin:8px 0}
.notice-detail-body a{color:#1f3da8;text-decoration:underline}
.notice-detail-actions{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:20px 32px;background:#fafbfd;flex-wrap:wrap}
.notice-detail-actions .btn-pill{display:inline-flex;align-items:center;gap:6px;padding:10px 20px;background:#fff;color:#0f172a;border:1px solid #e2e8f0;border-radius:999px;font-weight:800;font-size:14px;cursor:pointer;text-decoration:none}
.notice-detail-actions .btn-pill:hover:not(:disabled){border-color:#1f3da8;color:#1f3da8;background:#fff}
.notice-detail-actions .btn-pill.ghost{background:transparent}
.notice-detail-actions .btn-pill:disabled{opacity:.4;cursor:not-allowed}

.site-footer{padding:24px 0;border-top:1px solid #e5e7eb;color:#94a3b8;font-size:13px;text-align:center;background:#fff}


/* 채용정보 페이지 추가 스타일 */
.recruit-table td.company b{font-weight:800}
.recruit-table td.dday .d-day{display:inline-flex;align-items:center;justify-content:center;min-width:54px;padding:5px 10px;border-radius:999px;font-size:12px;font-weight:900;background:#eef5ff;color:#1f3da8;font-style:normal}
.recruit-table td.dday .d-day.today{background:#fff1f2;color:#e11d48}
.recruit-table td.dday .d-day.over{background:#f1f5f9;color:#64748b}

.notice-detail-meta .dot{margin:0 6px;color:#cbd5e1}
.notice-detail-meta b{font-weight:900;color:#0f172a}
.notice-detail-meta em{font-style:normal;display:inline-flex;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:900;background:#eef5ff;color:#1f3da8}
.notice-detail-meta em.today{background:#fff1f2;color:#e11d48}
.notice-detail-meta em.over{background:#f1f5f9;color:#64748b}

.rdetail-block{margin:0 0 20px}
.rdetail-block h4{margin:0 0 8px;font-size:15px;color:#1f3da8;font-weight:900;letter-spacing:-.02em}
.rdetail-block ul{margin:0;padding-left:20px}
.rdetail-block ul li{margin:2px 0;color:#0f172a}
.rdetail-prose p{margin:4px 0;color:#334155}
.rdetail-link{margin:18px 0 6px}
.rdetail-link a{color:#1f3da8;font-weight:800;text-decoration:underline}
.rdetail-source{margin:18px 0 0;padding:12px 14px;background:#f8fafc;border-left:3px solid #cbd5e1;color:#64748b;font-size:13px;line-height:1.6;border-radius:6px}


/* 이미지가 있는 hero 슬라이드는 텍스트 fallback 숨김 */
.hero-slide.has-image .slide-fallback{display:none}
.hero-slide img{position:absolute;inset:0;z-index:1}
.hero-slide .slide-fallback{z-index:0}


/* 고정 배너 - 이미지 등록된 경우 텍스트 fallback 숨김 */
.hero-fixed.has-image .fixed-fallback{display:none}
.hero-fixed img{z-index:1}


/* 상단 유틸 네비의 자주묻는 질문 강조 */
.util-nav .util-faq {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 16px;
  border-radius: 999px;
  background: #eef2ff;
  color: #1f3da8;
  font-weight: 700;
  transition: background 0.15s ease, color 0.15s ease;
}
.util-nav .util-faq:hover { background: #1f3da8; color: #fff; }


/* 새로고침 시 게스트/회원 메뉴 깜빡임 방지
 * head 인라인 스크립트가 html[data-auth] 를 즉시 부여하면
 * JS 로드 전에 잘못된 메뉴가 보이지 않는다.
 */
html[data-auth="user"] .util-when-guest { display: none !important; }
html[data-auth="guest"] .util-when-user { display: none !important; }
/* 속성이 없는 아주 짧은 순간에는 게스트 메뉴 보이게 (안전한 기본값) */
html:not([data-auth]) .util-when-user { display: none !important; }


/* 시험일정 표 - 접수하기 버튼 */
.schedule-apply-btn {
  display: inline-flex; align-items: center; justify-content: center;
  min-width: 92px; height: 40px; padding: 0 18px;
  background: #1d3eb5;
  color: #fff; border: none; border-radius: 10px;
  font-size: 15px; font-weight: 800; cursor: pointer;
  box-shadow: 0 8px 18px -10px rgba(31, 61, 168, 0.6);
  transition: filter 0.15s ease;
  letter-spacing: -0.02em;
}
.schedule-apply-btn:hover { filter: brightness(1.08); }
.schedule-apply-btn:active { filter: brightness(0.95); }

/* 접수예정 / 대기 상태는 회색 톤으로 비활성 느낌 */
.schedule-apply-btn[data-status="예정"] {
  background: #f1f5f9;
  color: #475569;
  box-shadow: none;
  border: 1px solid #cbd5e1;
}
.schedule-apply-btn[data-status="대기"] {
  background: #f8fafc;
  color: #94a3b8;
  box-shadow: none;
  border: 1px solid #e2e8f0;
}
.schedule-apply-btn[data-status="예정"]:hover,
.schedule-apply-btn[data-status="대기"]:hover { filter: brightness(0.98); }


/* ===== 사이트 공용 알림/확인 모달 ===== */
#jmToastRoot { position: fixed; inset: 0; pointer-events: none; z-index: 10000; }
.jm-toast-overlay {
  position: fixed; inset: 0;
  display: flex; align-items: center; justify-content: center;
  pointer-events: auto;
  opacity: 0; transition: opacity 0.18s ease;
  padding: 24px;
}
.jm-toast-overlay.show { opacity: 1; }
.jm-toast-backdrop {
  position: absolute; inset: 0;
  background: rgba(15, 23, 42, 0.55);
  backdrop-filter: blur(4px);
}
.jm-toast-panel {
  position: relative;
  width: min(460px, 100%);
  background: #fff;
  border-radius: 24px;
  padding: 30px 28px 24px;
  box-shadow: 0 30px 70px -20px rgba(15, 23, 42, 0.4);
  text-align: center;
  transform: translateY(8px) scale(0.98);
  transition: transform 0.18s ease;
}
.jm-toast-overlay.show .jm-toast-panel { transform: translateY(0) scale(1); }
.jm-toast-icon {
  width: 68px; height: 68px;
  border-radius: 50%;
  background: linear-gradient(135deg, #eef2ff, #dbe7ff);
  color: #1f3da8;
  font-size: 30px;
  display: inline-flex; align-items: center; justify-content: center;
  margin: 0 auto 14px;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.85);
}
.jm-toast-title {
  margin: 0 0 10px; font-size: 21px; font-weight: 900;
  color: #0f172a; letter-spacing: -0.03em;
}
.jm-toast-msg {
  margin: 0 0 20px; font-size: 15px; color: #475569;
  line-height: 1.6;
  max-height: min(60vh, 420px);
  overflow-y: auto;
}
.jm-toast-body-html{margin:0 0 18px;text-align:left}
.jm-toast-meta{margin-top:14px}
/* 약관 등 긴 본문 전용: 넓은 패널 + 왼쪽 정렬 */
.jm-toast-panel.jm-toast-terms { width: min(560px, 100%); }
.jm-toast-panel.jm-toast-terms .jm-toast-msg { text-align: left; white-space: normal; word-break: break-word; }
.jm-toast-actions {
  display: flex; justify-content: center; gap: 8px;
  margin-top: 14px;
}
.jm-toast-btn {
  min-width: 110px; height: 46px; padding: 0 22px;
  border-radius: 12px; font-size: 15px; font-weight: 800;
  cursor: pointer; border: none;
  transition: filter 0.15s ease, background 0.15s ease;
}
.jm-toast-btn.primary {
  background: linear-gradient(135deg, #1f3da8, #18338e);
  color: #fff;
  box-shadow: 0 10px 24px -14px rgba(31, 61, 168, 0.7);
}
.jm-toast-btn.primary:hover { filter: brightness(1.08); }
.jm-toast-btn.ghost {
  background: #f1f5f9; color: #334155; border: 1px solid #e2e8f0;
}
.jm-toast-btn.ghost:hover { background: #e2e8f0; }

.jm-point-hero{display:flex;align-items:center;gap:14px;padding:4px 2px 16px}
.jm-point-hero-icon{width:52px;height:52px;border-radius:16px;background:linear-gradient(135deg,#fff3c4,#ffe08a);display:flex;align-items:center;justify-content:center;font-size:24px;color:#b45309;box-shadow:0 10px 24px -16px rgba(180,83,9,.45)}
.jm-point-hero-copy{text-align:left;flex:1}
.jm-point-kicker{font-size:11px;font-weight:900;letter-spacing:.18em;color:#1f3da8;margin-bottom:6px}
.jm-point-hero-copy strong{display:block;font-size:22px;font-weight:950;color:#0f172a;letter-spacing:-.03em;line-height:1.15}
.jm-point-hero-copy span{display:block;margin-top:7px;font-size:14px;color:#64748b;line-height:1.6}
.jm-point-card{border:1px solid #dbe4f0;background:linear-gradient(180deg,#f8fbff 0%,#fff 100%);border-radius:18px;padding:16px 18px;margin-top:6px;box-shadow:0 12px 30px -24px rgba(15,23,42,.26)}
.jm-point-card-label{font-size:12px;font-weight:900;color:#1f3da8;letter-spacing:.08em;margin-bottom:6px}
.jm-point-card-value{font-size:30px;font-weight:950;color:#0f172a;letter-spacing:-.04em;line-height:1}
.jm-point-card-value small{font-size:14px;color:#64748b;font-weight:800;margin-left:4px}
.jm-point-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:12px}
.jm-point-item{background:#f8fafc;border:1px solid #e2e8f0;border-radius:16px;padding:14px 16px;text-align:left}
.jm-point-item span{display:block;font-size:12px;font-weight:800;color:#64748b;margin-bottom:7px}
.jm-point-item b{display:block;font-size:20px;font-weight:950;color:#0f172a;letter-spacing:-.03em}
.jm-point-item--accent{background:linear-gradient(180deg,#fff7ed 0%,#fff 100%);border-color:#fed7aa}
.jm-point-item--accent b{color:#c2410c}
.jm-point-note{margin-top:14px;padding:14px 16px;border-radius:16px;background:#f8fafc;border:1px dashed #d7e0ec;text-align:left}
.jm-point-note strong{display:block;font-size:13px;font-weight:900;color:#1f3da8;margin-bottom:6px}
.jm-point-note p{margin:0;color:#475569;font-size:14px;line-height:1.6}
.jm-point-meta{margin-top:12px;padding:12px 14px;border-radius:14px;background:#fff7ed;border:1px solid #fed7aa;color:#9a3412;font-size:13px;font-weight:700;text-align:left}

/* 변형 */
.jm-toast-warn .jm-toast-icon { background: #fef3c7; color: #b45309; }
.jm-toast-danger .jm-toast-icon { background: #fee2e2; color: #b91c1c; }
.jm-toast-success .jm-toast-icon { background: #dcfce7; color: #15803d; }

@media (max-width: 520px) {
  .jm-toast-overlay{padding:12px}
  .jm-toast-panel { width:min(100%, 100%); border-radius:20px; padding: 22px 16px 16px; text-align:left; }
  .jm-toast-icon{width:56px;height:56px;margin:0 0 12px;font-size:26px}
  .jm-toast-title{font-size:18px;margin-bottom:8px}
  .jm-toast-msg{font-size:14px;margin-bottom:16px;max-height:58vh}
  .jm-toast-actions { flex-direction: column-reverse; }
  .jm-toast-btn { width: 100%; height:44px }
  .jm-point-hero{align-items:flex-start;gap:12px;padding-bottom:12px}
  .jm-point-hero-icon{width:46px;height:46px;border-radius:14px;font-size:22px;flex:0 0 46px}
  .jm-point-kicker{font-size:10px}
  .jm-point-hero-copy strong{font-size:19px}
  .jm-point-hero-copy span{font-size:13px}
  .jm-point-card{padding:14px 14px 13px;border-radius:16px}
  .jm-point-card-value{font-size:26px}
  .jm-point-grid{grid-template-columns:1fr;gap:10px}
  .jm-point-item{padding:12px 14px;border-radius:14px}
  .jm-point-item b{font-size:18px}
  .jm-point-note{padding:12px 14px;border-radius:14px}
  .jm-point-note p{font-size:13px}
  .jm-point-meta{padding:11px 12px;border-radius:12px;font-size:12px}
}


/* 사용자 이름 표시 (마이페이지 링크) */
.util-nav .util-username {
  color: #1f3da8;
  font-weight: 700;
}
.util-nav .util-username:hover { text-decoration: underline; }
.util-nav .util-username b { font-weight: 700; }


/* 마이페이지 - 내 시험 접수 내역 */
.mypage-card .card-head { display:flex; align-items:center; justify-content:space-between; }
.mypage-card .card-head .btn-ghost {
  height:36px; padding:0 16px; border-radius:999px;
  background:#f1f5f9; color:#1f3da8; border:1px solid #e2e8f0;
  font-size:13px; font-weight:700; text-decoration:none;
  display:inline-flex; align-items:center;
}
.mypage-card .card-head .btn-ghost:hover { background:#1f3da8; color:#fff; border-color:#1f3da8; }

.exams-empty {
  text-align:center; padding:32px 16px;
}
.exams-empty p { margin:0 0 14px; color:#64748b; }
.exams-empty .btn-primary {
  display:inline-block; padding:10px 22px; background:#1f3da8; color:#fff;
  border-radius:999px; font-weight:700; text-decoration:none;
}

.exams-list { list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:10px; }
.exams-item {
  display:flex; gap:18px; justify-content:space-between; align-items:stretch;
  padding:18px; background:linear-gradient(180deg,#fff 0%,#f8fbff 100%); border:1px solid #e2e8f0; border-radius:18px; box-shadow:0 12px 30px -24px rgba(15,23,42,.35);
}
.exam-card-main{flex:1;display:flex;flex-direction:column;gap:14px;min-width:0;}
.exam-card-top{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;}
.exam-chip{display:inline-flex;align-items:center;padding:5px 10px;border-radius:999px;background:#e0efff;color:#1d4ed8;font-size:11px;font-weight:800;letter-spacing:.04em;}
.live-sync{display:inline-flex;margin-left:8px;font-size:11px;font-weight:700;color:#64748b;}
.exam-title-v2{margin:8px 0 0;font-size:18px;font-weight:900;color:#0f172a;letter-spacing:-.03em;}
.exam-state-badge{display:inline-flex;align-items:center;padding:7px 12px;border-radius:999px;background:#111827;color:#fff;font-size:12px;font-weight:800;}
.exam-count-box{display:flex;align-items:center;justify-content:space-between;gap:14px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;padding:12px 14px;}
.exam-count-label{font-size:12px;color:#64748b;font-weight:700;}
.exam-count-box strong{font-size:16px;color:#0f172a;font-weight:900;letter-spacing:-.02em;}
.exam-meta-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
.exam-meta-grid span{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border-radius:12px;background:#fff;border:1px solid #edf2f7;font-size:12px;color:#475569;}
.exam-meta-grid b{color:#0f172a;font-weight:800;}
.policy.ok{color:#065f46;background:#ecfdf5;}
.policy.closed{color:#991b1b;background:#fef2f2;}
.exam-result-card{border-radius:16px;padding:14px 16px;border:1px solid #e2e8f0;background:#fff;}
.exam-result-card .exam-result-label{display:block;font-size:11px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:#64748b;margin-bottom:6px;}
.exam-result-card strong{display:block;font-size:22px;font-weight:950;color:#0f172a;letter-spacing:-.03em;}
.exam-result-card p{margin:6px 0 0;font-size:13px;color:#475569;line-height:1.6;}
.exam-result-card.result-pass{background:linear-gradient(180deg,#f0fdf4 0%,#fff 100%);border-color:#bbf7d0;}
.exam-result-card.result-pass strong{color:#15803d;}
.exam-result-card.result-fail{background:linear-gradient(180deg,#fef2f2 0%,#fff 100%);border-color:#fecaca;}
.exam-result-card.result-fail strong{color:#dc2626;}
.exam-result-card.result-pending{background:linear-gradient(180deg,#f8fafc 0%,#fff 100%);}
.exam-card-side{display:flex;flex-direction:column;gap:10px;min-width:180px;align-items:stretch;justify-content:center;}
.exam-start-btn,.ex-actions .btn-ghost,.ex-actions .btn-danger,.exam-card-side .btn-primary{width:100%;border-radius:12px;height:42px;font-weight:800;}
.exams-item .ex-refund { color:#059669; font-weight:600; }
.ex-status {
  padding:5px 12px; border-radius:999px; font-size:12px; font-weight:700;
}
.ex-status.reg { background:#dbeafe; color:#1d4ed8; }
.ex-status.cancel { background:#f1f5f9; color:#64748b; }
.ex-status.pending { background:#fef3c7; color:#b45309; }
.exams-item .ex-meta a { color:#1d4ed8; font-weight:600; text-decoration:none; }
.exams-item .ex-meta a:hover { text-decoration:underline; }

.ex-actions { display:flex; flex-direction:column; gap:8px; }
.ex-actions .btn-ghost {
  height:32px; padding:0 12px; border-radius:8px;
  background:#fff; color:#334155; border:1px solid #cbd5e1;
  font-size:12px; font-weight:600; cursor:pointer;
}
.ex-actions .btn-ghost:hover { border-color:#1f3da8; color:#1f3da8; }
.ex-actions .btn-danger {
  height:32px; padding:0 12px; border-radius:8px;
  background:#fef2f2; color:#dc2626; border:1px solid #fecaca;
  font-size:12px; font-weight:600; cursor:pointer;
}
.ex-actions .btn-danger:hover { background:#dc2626; color:#fff; border-color:#dc2626; }

@media (max-width: 720px) {
  .content-hero.pc{padding:46px 0 34px}.content-hero.pc h1{font-size:32px}.content-hero.pc p:last-child{font-size:15px}.content-body.pc{grid-template-columns:1fr;gap:14px;padding-top:18px}.content-card{padding:20px;border-radius:16px}.content-tabs{overflow-x:auto;white-space:nowrap}.step-grid,.info-grid,.stat-grid,.sample-grid,.book-grid,.package-grid{grid-template-columns:1fr}.corp-sector-wrap{padding:20px;border-radius:20px;margin:0 -2px}.corp-sector-head{display:block;margin-bottom:18px}.corp-sector-head h3{font-size:25px}.corp-sector-head p{margin-top:8px;font-size:13px}.corp-sector-grid{grid-template-columns:1fr;gap:11px}.corp-sector-card{padding:19px;border-radius:17px}.corp-sector-card h4{font-size:19px}.corp-sector-card li{font-size:13px}.corp-sector-num{font-size:24px;right:16px;top:14px}
  .exams-item { flex-direction:column; align-items:stretch; gap:14px; padding:14px; }
  .exam-card-top{flex-direction:column;align-items:flex-start;}
  .exam-state-badge{align-self:flex-start;}
  .exam-count-box{flex-direction:column;align-items:flex-start;}
  .exam-meta-grid{grid-template-columns:1fr;}
  .exam-card-side{width:100%;min-width:0;}
  .exam-start-btn,.ex-actions .btn-ghost,.ex-actions .btn-danger,.exam-card-side .btn-primary{height:40px;}
  .wizard-grid{grid-template-columns:1fr;gap:10px;}
  .wizard-card{padding:16px;border-radius:16px;}
  .wizard-actions{flex-direction:column;gap:10px;}
  .wizard-actions button{width:100%;}
  .wizard-confirm-list{grid-template-columns:1fr;}
  #receiptWizardModal{padding:14px!important}
  #receiptWizardModal .admin-modal-panel--wide{border-radius:22px!important;max-height:calc(100vh - 28px)!important}
  #receiptWizardModal .admin-modal-head{padding:18px 18px 16px!important;align-items:flex-start!important}
  #receiptWizardModal .admin-modal-head h2{font-size:22px!important}
  #receiptWizardModal .admin-modal-head span{font-size:10px!important;letter-spacing:.14em!important}
  #receiptWizardModal .receipt-wizard{padding:16px!important}
  #receiptWizardModal .receipt-wizard-step{padding:16px!important;border-radius:18px!important}
  #receiptWizardModal .receipt-wizard-step h3{font-size:16px!important}
  #receiptWizardModal .wizard-grid,
  #receiptWizardModal #rwStageGrid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
  #receiptWizardModal .wizard-grid button,
  #receiptWizardModal #rwStageGrid button,
  #receiptWizardModal .company-shell button{min-height:82px!important;padding:14px 12px!important;border-radius:16px!important}
  #receiptWizardModal .receipt-wizard-actions{flex-direction:column!important}
  #receiptWizardModal .receipt-wizard-actions button{width:100%!important;min-width:0!important}
  #receiptWizardModal .exam-apply-body{padding:12px!important;gap:10px!important}
  #receiptWizardModal .exam-apply-steps{grid-template-columns:1fr!important;gap:8px!important}
  #receiptWizardModal .exam-apply-head{grid-template-columns:1fr!important;min-height:0!important;padding:16px 16px 0!important}
  #receiptWizardModal .exam-apply-head-figure{display:none!important}
  #receiptWizardModal .exam-apply-head-copy{padding-bottom:14px!important}
  #receiptWizardModal .exam-apply-head-copy h2{font-size:22px!important}
  #receiptWizardModal .exam-apply-body .apply-category-grid,
  #receiptWizardModal .exam-apply-body .apply-field-grid,
  #receiptWizardModal .apply-category-grid-modal{grid-template-columns:1fr!important}
  #receiptWizardModal .exam-apply-body .apply-summary dl{grid-template-columns:1fr 1fr!important}
  #receiptWizardModal .exam-apply-actions{flex-direction:column!important}
  #receiptWizardModal .exam-apply-actions .apply-submit-btn{width:100%!important;min-width:0!important}
  #receiptWizardModal .apply-card-icon{width:30px!important;height:30px!important;font-size:14px!important}
  #receiptWizardModal .exam-apply-close{top:14px!important;right:14px!important}
}
}
.wizard-confirm-box{padding:6px 0 0;}
.wizard-confirm-list{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.wizard-confirm-list div{background:#f8fafc;border:1px solid var(--line);border-radius:14px;padding:14px 16px;}
.wizard-confirm-list dt{font-size:12px;font-weight:800;color:var(--text-3);margin-bottom:6px;}
.wizard-confirm-list dd{margin:0;font-size:16px;font-weight:900;color:var(--text-1);line-height:1.4;}
@media (max-width: 720px){
  .wizard-confirm-list{grid-template-columns:1fr;}
}

/* Exam apply modal: production override based on the supplied mockup */
#examApplyDialog.exam-apply-dialog{padding:0}
#examApplyDialog .exam-apply-backdrop{background:rgba(8,15,30,.35);backdrop-filter:blur(10px)}
#examApplyDialog .exam-apply-panel{width:min(1420px,calc(100vw - 180px));max-height:calc(100vh - 170px);border-radius:30px;background:#fff;box-shadow:0 30px 68px rgba(7,15,35,.36),0 0 0 1px rgba(255,255,255,.58);transform:translateY(-34px)}
#examApplyDialog .exam-apply-head{height:228px;padding:38px 0 0 58px;background:linear-gradient(112deg,#111747 0%,#17308b 50%,#1978ff 100%)}
#examApplyDialog .exam-apply-head{flex:0 0 228px}
#examApplyDialog .exam-apply-head::before{right:-118px;bottom:-120px;width:840px;height:330px;background:rgba(96,164,255,.23);transform:rotate(-3deg)}
#examApplyDialog .exam-apply-head::after{right:-20px;bottom:-70px;width:690px;height:250px;background:rgba(71,142,255,.2);transform:rotate(-14deg)}
#examApplyDialog .exam-apply-eyebrow{letter-spacing:.34em;font-size:17px;font-weight:900;color:#c8d9ff}
#examApplyDialog .exam-apply-head-copy h2{margin-top:16px;font-size:46px;font-weight:950;letter-spacing:-.055em;line-height:1}
#examApplyDialog .exam-apply-date{margin-top:24px;width:auto;height:44px;display:inline-flex;border-radius:24px;padding:0 22px;font-size:20px;font-weight:850;background:rgba(255,255,255,.14)}
#examApplyDialog .exam-apply-close{right:42px;top:30px;width:64px;height:64px;border-radius:50%;font-size:40px;background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.2)}
#examApplyDialog .exam-apply-illus{display:block;position:absolute;right:150px;top:34px;width:260px;height:186px;z-index:4;opacity:1}
#examApplyDialog .exam-apply-content{padding:24px 50px 20px;border-radius:0 0 30px 30px;background:linear-gradient(180deg,#fff 0%,#f8fbff 100%)}
#examApplyDialog .exam-apply-content{flex:1 1 auto;min-height:0;overflow:auto}
#examApplyDialog .exam-apply-content{scrollbar-width:none;-ms-overflow-style:none}
#examApplyDialog .exam-apply-content::-webkit-scrollbar{display:none;width:0;height:0}
#examApplyDialog .exam-apply-content::before{top:-22px;height:44px;border-radius:30px 30px 0 0}
#examApplyDialog .exam-apply-section{gap:12px;margin-left:2px}
#examApplyDialog .exam-apply-check{width:36px;height:36px;border-width:4px;color:#2379ff;border-color:#2379ff}
#examApplyDialog .exam-apply-section h3{margin:0 0 6px;font-size:25px;font-weight:950;letter-spacing:-.055em;line-height:1}
#examApplyDialog .exam-apply-section p{margin:0;font-size:15px;color:#73839a;font-weight:550}
#examApplyDialog #applyCategoryBlock{margin-top:22px}
#examApplyDialog .apply-category-grid{grid-template-columns:repeat(5,1fr);gap:18px}
#examApplyDialog .apply-category-card,#examApplyDialog .apply-field-card{height:148px;border-radius:20px;background:rgba(255,255,255,.9);border:1px solid #e3e9f3;box-shadow:0 10px 20px rgba(37,48,75,.06);display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding:20px 18px 16px;text-align:center}
#examApplyDialog .apply-category-card.active,#examApplyDialog .apply-field-card.active{border:2px solid #1975ff;background:#fff;box-shadow:0 20px 40px rgba(25,117,255,.1)}
#examApplyDialog .apply-category-card.active::after,#examApplyDialog .apply-field-card.active::after{display:none!important}
#examApplyDialog .apply-category-card.active::after,#examApplyDialog .apply-field-card.active::after{content:"선택됨";right:18px;top:18px;height:38px;display:flex;align-items:center;border-radius:999px;padding:0 16px;background:#176fff;color:#fff;font-size:17px;font-weight:900}
#examApplyDialog .apply-card-icon{width:54px;height:54px;border-radius:16px;margin:0 auto 12px}
#examApplyDialog .apply-card-icon svg{width:34px;height:34px;stroke-width:2.45}
#examApplyDialog .apply-category-card strong,#examApplyDialog .apply-field-card strong{margin:0 0 8px;font-size:20px;font-weight:950;letter-spacing:-.055em;line-height:1.1;text-align:center;color:#071126}
#examApplyDialog .apply-category-card span{font-size:13px;line-height:1.35;font-weight:600;text-align:center;color:#475a77}
#examApplyDialog .apply-field-card strong{font-size:26px}
#examApplyDialog .apply-card-icon--field{width:90px;height:90px;border-radius:24px}
#examApplyDialog .apply-card-icon--field svg{width:54px;height:54px}
#examApplyDialog #applyFieldBlock{margin-top:26px}
#examApplyDialog .apply-field-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
#examApplyDialog .apply-field-card{height:136px;border-radius:18px;padding:22px 26px;display:flex;flex-direction:row;align-items:center;justify-content:flex-start;gap:20px;text-align:left}
#examApplyDialog .apply-field-card .apply-card-icon--field{width:58px;height:58px;flex:0 0 58px;border-radius:16px;margin:0}
#examApplyDialog .apply-field-card .apply-card-icon--field svg{width:34px;height:34px}
#examApplyDialog .apply-field-card strong{font-size:21px;margin:0;text-align:left;line-height:1.2}
#examApplyDialog .apply-field-card.active::after{right:16px;top:16px;height:30px;padding:0 12px;font-size:14px}
@media (max-width:1500px){
  #examApplyDialog .exam-apply-head{height:230px}
  #examApplyDialog .exam-apply-head{flex-basis:230px}
  #examApplyDialog .exam-apply-illus{right:76px;top:46px;width:238px;height:170px}
  #examApplyDialog .apply-category-card,#examApplyDialog .apply-field-card{height:182px;padding:24px 18px 20px}
  #examApplyDialog .apply-card-icon{width:60px;height:60px;margin-bottom:18px}
  #examApplyDialog .apply-card-icon svg{width:36px;height:36px}
  #examApplyDialog .apply-category-card strong,#examApplyDialog .apply-field-card strong{font-size:21px}
  #examApplyDialog .apply-category-card span{font-size:14px}
  #examApplyDialog .apply-field-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
  #examApplyDialog .apply-field-card{height:120px;padding:18px 22px;gap:16px}
  #examApplyDialog .apply-field-card .apply-card-icon--field{width:50px;height:50px;flex-basis:50px;border-radius:15px}
  #examApplyDialog .apply-field-card .apply-card-icon--field svg{width:30px;height:30px}
  #examApplyDialog .apply-field-card strong{font-size:19px}
}
#examApplyDialog .apply-category-card.active::after,#examApplyDialog .apply-field-card.active::after{content:"선택됨"!important}
@media (max-width:1100px){
  #examApplyDialog .exam-apply-panel{width:calc(100vw - 36px);border-radius:28px}
  #examApplyDialog .exam-apply-head{height:214px;flex-basis:214px;padding:34px 0 0 48px}
  #examApplyDialog .exam-apply-head-copy{position:relative;z-index:6}
  #examApplyDialog .exam-apply-illus{display:none}
  #examApplyDialog .exam-apply-head-copy h2{font-size:44px}
  #examApplyDialog .exam-apply-date{height:42px;font-size:19px}
  #examApplyDialog .exam-apply-close{right:34px;top:28px;width:62px;height:62px;font-size:40px}
  #examApplyDialog .exam-apply-content{padding:22px 36px 18px}
  #examApplyDialog #applyCategoryBlock{overflow:visible;padding-bottom:0;margin-top:18px}
  #examApplyDialog .apply-category-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}
  #examApplyDialog .apply-category-card,#examApplyDialog .apply-field-card{height:132px;border-radius:18px;padding:18px 12px 14px}
  #examApplyDialog .apply-card-icon{width:48px;height:48px;border-radius:15px;margin-bottom:10px}
  #examApplyDialog .apply-card-icon svg{width:30px;height:30px}
  #examApplyDialog .apply-category-card strong,#examApplyDialog .apply-field-card strong{font-size:18px}
  #examApplyDialog .apply-category-card span{font-size:12px;line-height:1.3}
}
#examApplyDialog #applyFieldBlock{margin-top:16px}
#examApplyDialog #applyFieldBlock .apply-field-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
#examApplyDialog #applyFieldBlock .apply-field-card{height:88px!important;min-height:0;border-radius:15px;padding:14px 18px!important;display:flex;flex-direction:row;align-items:center;justify-content:center;gap:13px;text-align:left}
#examApplyDialog #applyFieldBlock .apply-field-card .apply-card-icon--field{width:42px!important;height:42px!important;flex:0 0 42px;border-radius:13px;margin:0}
#examApplyDialog #applyFieldBlock .apply-field-card .apply-card-icon--field svg{width:25px!important;height:25px!important}
#examApplyDialog #applyFieldBlock .apply-field-card strong{font-size:17px!important;margin:0;text-align:left;line-height:1.2}
#examApplyDialog #applyFieldBlock .apply-field-card.active::after{right:12px;top:12px;height:28px;padding:0 11px;font-size:13px}
#examApplyDialog .exam-apply-footer{display:block!important;margin-top:16px;padding:14px 0 0;background:transparent;border-top:1px solid #e5ecf6}
#examApplyDialog .exam-apply-footer[hidden]{display:none!important}
#examApplyDialog .exam-apply-footer .apply-summary dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0 0 12px}
#examApplyDialog .exam-apply-footer .apply-summary div{background:#fff;border:1px solid #e3e9f3;border-radius:12px;padding:10px 12px}
#examApplyDialog .exam-apply-footer .apply-summary dt{font-size:11px;font-weight:900;color:#1f5eea;margin-bottom:5px}
#examApplyDialog .exam-apply-footer .apply-summary dd{margin:0;font-size:14px;font-weight:900;color:#071126;line-height:1.25}
#examApplyDialog .exam-apply-actions{display:grid;grid-template-columns:150px 1fr;gap:10px}
#examApplyDialog .exam-apply-actions .btn-ghost{height:44px;border:1px solid #dbe3f0;border-radius:12px;background:#fff;color:#334155;font-weight:900}
#examApplyDialog .exam-apply-actions .apply-submit-btn{height:44px;border-radius:12px;background:#1f4bb6;color:#fff;font-size:15px;font-weight:950}
@media (max-width:1100px){
  #examApplyDialog #applyFieldBlock{margin-top:12px}
  #examApplyDialog #applyFieldBlock .apply-field-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
  #examApplyDialog #applyFieldBlock .apply-field-card{height:64px!important;padding:8px 8px!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:7px;text-align:center!important}
  #examApplyDialog #applyFieldBlock .apply-field-card .apply-card-icon--field{width:28px!important;height:28px!important;flex:0 0 28px;border-radius:9px;margin:0!important}
  #examApplyDialog #applyFieldBlock .apply-field-card .apply-card-icon--field svg{width:17px!important;height:17px!important}
  #examApplyDialog #applyFieldBlock .apply-field-card strong{display:block;font-size:12px!important;text-align:center!important;line-height:1.15;margin:0!important}
  #examApplyDialog .exam-apply-footer .apply-summary dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  #examApplyDialog .exam-apply-actions{grid-template-columns:110px 1fr}
}

@media (max-width: 720px){
  #examApplyDialog{padding:0;align-items:flex-start;justify-content:flex-start}
  #examApplyDialog .exam-apply-panel{width:100%;height:100dvh;max-height:none;margin-top:0;border-radius:0;transform:none;display:flex;flex-direction:column;justify-content:flex-start;align-items:stretch;background:#fff;overflow:hidden}
  #examApplyDialog .exam-apply-head{height:auto;flex:0 0 auto;padding:18px 16px 14px;background:linear-gradient(112deg,#111747 0%,#17308b 54%,#1978ff 100%)}
  #examApplyDialog .exam-apply-head::before,
  #examApplyDialog .exam-apply-head::after{display:none}
  #examApplyDialog .exam-apply-head-copy{padding-right:52px}
  #examApplyDialog .exam-apply-head-copy h2{font-size:26px;margin-top:8px;line-height:1.1}
  #examApplyDialog .exam-apply-eyebrow{font-size:11px;letter-spacing:.18em}
  #examApplyDialog .exam-apply-date{width:100%;max-width:100%;font-size:13px;height:36px;margin-top:12px;padding:0 14px}
  #examApplyDialog .exam-apply-close{right:12px;top:12px;width:38px;height:38px;font-size:24px}
  #examApplyDialog .exam-apply-content{padding:12px 14px 14px;overflow:auto;flex:1 1 auto;min-height:0}
  #examApplyDialog .exam-apply-section{margin-left:0;gap:10px;align-items:flex-start}
  #examApplyDialog .exam-apply-section h3{font-size:18px}
  #examApplyDialog .exam-apply-section p{font-size:12px;line-height:1.5}
  #examApplyDialog .exam-apply-check{width:30px;height:30px;border-width:3px}
  #examApplyDialog .apply-category-grid,
  #examApplyDialog .apply-field-grid{grid-template-columns:1fr;gap:8px}
  #examApplyDialog .apply-category-card,
  #examApplyDialog .apply-field-card{height:auto;min-height:72px;padding:12px;border-radius:14px;align-items:flex-start;text-align:left}
  #examApplyDialog .apply-category-card{display:grid;grid-template-columns:40px 1fr;column-gap:10px;align-items:center}
  #examApplyDialog .apply-field-card{display:grid;grid-template-columns:40px 1fr;column-gap:10px;align-items:center;justify-content:flex-start;gap:0}
  #examApplyDialog .apply-card-icon,
  #examApplyDialog .apply-card-icon--field{width:40px;height:40px;margin:0;border-radius:12px}
  #examApplyDialog .apply-card-icon svg,
  #examApplyDialog .apply-card-icon--field svg{width:24px;height:24px}
  #examApplyDialog .apply-category-card strong,
  #examApplyDialog .apply-field-card strong{font-size:14px;line-height:1.25;margin:0 0 3px;text-align:left}
  #examApplyDialog .apply-category-card span{font-size:11px;line-height:1.4;text-align:left}
  #examApplyDialog .apply-field-card strong{font-size:13px}
  #examApplyDialog .apply-category-card.active::after,
  #examApplyDialog .apply-field-card.active::after{right:8px;top:8px;font-size:10px;height:auto;padding:3px 7px}
  #examApplyDialog .exam-apply-footer{margin-top:10px;padding-top:10px;flex:0 0 auto}
  #examApplyDialog .exam-apply-footer .apply-summary dl{grid-template-columns:1fr;gap:8px;margin-bottom:10px}
  #examApplyDialog .exam-apply-actions{grid-template-columns:1fr;gap:8px}
  #examApplyDialog .exam-apply-actions .btn-ghost,
  #examApplyDialog .exam-apply-actions .apply-submit-btn{height:44px;width:100%}
  #examApplyDialog .exam-apply-actions .apply-submit-btn{font-size:14px}
}

@media (max-width: 720px){
  .container{padding:0 16px}
  .hero{padding:18px 0 28px}
  .hero-controls{right:12px;bottom:12px;transform:scale(.92);transform-origin:right bottom}
  .main-quick-links{grid-template-columns:1fr 1fr;gap:10px;padding:16px 0}
  .main-quick-links a{justify-content:flex-start;padding:12px 14px;border:1px solid #eef1f5;border-radius:14px;background:#fff;font-size:14px}
  .main-quick-links a:hover{transform:none}
  .notice-cards,
  .board-wrap,
  .info-grid,
  .cs-tels,
  .cs-quick{grid-template-columns:1fr}
  .notice-card,
  .info-card,
  .cs-tel-card{padding:20px;border-radius:18px;min-height:0}
  .notice-card{align-items:flex-start;gap:16px}
  .notice-card-icon{width:64px;height:64px;margin-left:0}
  .notice-card h3{font-size:19px}
  .board-head{align-items:flex-start;gap:10px;flex-direction:column}
  .board-list a{padding:14px 0;gap:10px}
  .board-date{font-size:12px}
  .content-search{flex-direction:column}
  .content-search input,
  .notice-search input{width:100%}
  .receipt-wrap{padding:18px;border-radius:16px}
  .receipt-top{flex-direction:column;align-items:flex-start;gap:8px}
  .receipt-top h3{font-size:20px}
  .receipt-table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}
  .receipt-table{min-width:720px}
  .receipt-table th,.receipt-table td{padding:12px 10px;font-size:13px}
  .package-card{padding:16px}
  .package-card strong{font-size:16px;min-height:0}
  .package-price b{font-size:20px}
  .source-page{padding:20px;border-radius:16px}
  .source-page h3{font-size:20px}
  .source-page p,.source-page li{font-size:14px;line-height:1.7}
  .history-tabs,.content-tabs{padding:6px;border-radius:12px;overflow-x:auto;white-space:nowrap}
  .history-tabs button,.content-tabs button{padding:9px 14px;font-size:13px}
  .plaza-card{grid-template-columns:1fr;gap:16px;padding:18px;border-radius:16px}
  .plaza-card h3{font-size:20px}
  .plaza-map{min-height:220px}
  .plaza-map iframe{min-height:220px}
  .stat-grid,.sample-grid,.book-grid,.step-grid,.info-grid{grid-template-columns:1fr}
  .stat-grid article,.sample-grid article,.book-grid article,.step-grid article,.info-grid article{padding:18px;border-radius:16px}
  .stat-grid strong{font-size:34px}
  .content-hero.pc h1{font-size:28px}
  .content-card h3{font-size:18px}
}


/* ========== 프로모 카드 이미지 적용 시 (카드 전체 배경) ========== */
.notice-card.has-promo-image .notice-card-icon{
  display:none !important;
}
.notice-card.has-promo-image,
.info-card.has-promo-image{
  background-color:transparent !important;
}
/* 텍스트가 이미지 위에서도 잘 보이도록 그림자 추가 */
.notice-card.has-promo-image .notice-card-eyebrow,
.notice-card.has-promo-image h3,
.notice-card.has-promo-image .notice-card-desc,
.info-card.has-promo-image .info-eyebrow,
.info-card.has-promo-image h3{
  text-shadow:0 2px 6px rgba(0,0,0,.45), 0 0 12px rgba(0,0,0,.25);
}
