@charset "utf-8";
/* ============================================================
   한빛기숙학원 HANBIT BOARDING ACADEMY — 공통 스타일
   기준 : _스펙_ac1_megastudy.md (megastudy.net 실측 · 2026-08-10 재검증)
   주조색 #1162DB / 본문 #333333 / 컨테이너 1160px
   radius 6px (원본 최다) · pill 100px / 제목 weight 600~700
   섹션 상하 96px (모바일 56px) / 본문 16 · 보조 14 · 캡션 13
   ============================================================ */
:root{
  --brand:#1162DB;
  --brand-deep:#0B47A6;
  --brand-sub:#0082FF;
  --brand-pale:#EAF1FC;
  --brand-tint:#F4F8FE;
  --point:#F25A5E;
  --point-pale:#FDEEEE;
  --ink:#333333;
  --ink-strong:#111111;
  --ink-sub:#666666;
  --ink-cap:#999999;
  --line:#DADADA;
  --line-soft:#E9EBEF;
  --bg:#FFFFFF;
  --bg-soft:#F7F7F7;
  --bg-card:#F4F4F4;
  --dark:#0E1C33;
  --r:6px;
  --pill:100px;
  --wrap:1160px;
  --pad:96px;
  --hd:74px;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{
  font-family:"Pretendard Variable","Pretendard","Apple SD Gothic Neo","Noto Sans KR","Malgun Gothic","맑은 고딕",sans-serif;
  background:var(--bg);color:var(--ink);
  font-size:16px;line-height:1.7;font-weight:400;letter-spacing:-.2px;
  overflow-x:hidden;word-break:keep-all;-webkit-font-smoothing:antialiased;
}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
ul,ol{list-style:none}
button{font:inherit;cursor:pointer;border:0;background:none;color:inherit}
input,select,textarea{font:inherit;color:inherit}
table{border-collapse:collapse;width:100%}
svg.ico{width:1em;height:1em;flex:none;vertical-align:middle}
:focus-visible{outline:3px solid var(--brand);outline-offset:2px;border-radius:2px}
.tnum{font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.skip{position:absolute;left:-9999px;top:0;z-index:4000;background:var(--brand);color:#fff;padding:12px 22px;border-radius:0 0 var(--r) 0;font-weight:600}
.skip:focus{left:0}

/* ---------- 레이아웃 ---------- */
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 20px;width:100%}
.sec{padding:var(--pad) 0}
.sec.tight{padding:60px 0}
.sec.soft{background:var(--bg-soft)}
.sec.tintbg{background:var(--brand-tint)}
.sec.dark{background:var(--dark);color:#EDF1F7}
.sec.dark h2,.sec.dark h3{color:#fff}
.sec.dark .sub,.sec.dark p{color:#C3CDDD}
.sec.dark .card{background:#182B48;border-color:#28406B}
.sec.dark .card p{color:#B8C4D6}
.sec.dark .card .ci{background:#1F3A63;color:#8FC0FF}
.mt56{margin-top:56px}

.sec-head{margin-bottom:44px;max-width:820px}
.sec-head.c{margin-left:auto;margin-right:auto;text-align:center}
.eyebrow{display:inline-block;font-size:13px;font-weight:700;letter-spacing:.16em;
  text-transform:uppercase;color:var(--brand);margin-bottom:12px}
.sec.dark .eyebrow{color:#7FB3FF}
.sec-head h2{font-size:clamp(24px,2.6vw,34px);font-weight:700;line-height:1.32;letter-spacing:-.7px;color:var(--ink-strong)}
.sec-head .sub{margin-top:14px;font-size:17px;line-height:1.8;color:var(--ink-sub)}

.prose h3{font-size:21px;font-weight:700;line-height:1.4;color:var(--ink-strong);margin-bottom:14px;letter-spacing:-.4px}
.prose p{font-size:16px;line-height:1.85;color:#434B59}
.prose p + p{margin-top:14px}
.lead-p{font-size:18px;line-height:1.85;color:#3C4451;font-weight:500;max-width:900px}

h2 + .prose,h3 + .prose{margin-top:18px}

/* ---------- 상단 바 ---------- */
.topbar{background:#F2F4F7;border-bottom:1px solid var(--line-soft);font-size:13px;color:var(--ink-sub)}
.topbar .wrap{display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:36px}
.topbar p{margin:0}
.tb-r{display:flex;gap:18px}
.tb-r a:hover{color:var(--brand)}

/* ---------- 헤더 ---------- */
.hd{position:sticky;top:0;z-index:900;background:#fff;border-bottom:1px solid var(--line-soft)}
.hd-in{display:flex;align-items:center;gap:28px;min-height:var(--hd)}
.logo{display:flex;align-items:center;gap:10px;color:var(--brand);flex:none}
.logo .mark{width:30px;height:30px}
.logo .lt{display:flex;flex-direction:column;line-height:1.15}
.logo .lt b{font-size:19px;font-weight:700;color:var(--ink-strong);letter-spacing:-.5px}
.logo .lt em{font-style:normal;font-size:10px;font-weight:600;letter-spacing:.1em;color:var(--brand)}

.gnb{flex:1}
.gnb > ul{display:flex;gap:2px}
.gnb > ul > li > a{display:block;padding:0 15px;line-height:var(--hd);font-size:16px;font-weight:600;color:#2B3441;white-space:nowrap}
.gnb > ul > li:hover > a,.gnb > ul > li.on > a{color:var(--brand)}
.gnb > ul > li.on > a{box-shadow:inset 0 -3px 0 var(--brand)}
.gnb .sub{position:absolute;left:0;right:0;top:100%;background:#fff;border-top:1px solid var(--line-soft);
  border-bottom:1px solid var(--line-soft);box-shadow:0 12px 24px rgba(16,32,60,.08);
  padding:22px 0;display:none;z-index:20}
.gnb > ul > li{position:static}
.gnb > ul > li:hover .sub,.gnb > ul > li:focus-within .sub{display:block}
.gnb .sub > ul{max-width:var(--wrap);margin:0 auto;padding:0 20px;display:flex;flex-wrap:wrap;gap:6px 8px}
.gnb .sub a{display:block;padding:8px 14px;border-radius:var(--r);font-size:14.5px;color:#4A5261;background:var(--bg-soft)}
.gnb .sub a:hover{background:var(--brand);color:#fff}

.hd-util{display:flex;align-items:center;gap:12px;flex:none}
.hd-util .tel{display:flex;align-items:center;gap:8px;color:var(--brand)}
.hd-util .tel .ico{width:18px;height:18px}
.hd-util .tel span{display:flex;flex-direction:column;line-height:1.2}
.hd-util .tel em{font-style:normal;font-size:11px;color:var(--ink-sub);font-weight:600}
.hd-util .tel b{font-size:16px;font-weight:700;color:var(--ink-strong);letter-spacing:-.3px}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:14px 26px;border-radius:var(--r);font-size:15.5px;font-weight:600;
  border:1px solid transparent;transition:background .16s,color .16s,border-color .16s}
.btn.pri{background:var(--brand);color:#fff}
.btn.pri:hover{background:var(--brand-deep)}
.btn.sm{padding:10px 18px;font-size:14.5px}
.btn.out{background:#fff;color:var(--brand);border-color:var(--brand)}
.btn.out:hover{background:var(--brand-pale)}
.btn.ghost{background:#fff;color:var(--brand-deep)}
.btn.ghost:hover{background:var(--brand-pale)}
.btn.line{background:transparent;color:#fff;border-color:rgba(255,255,255,.55)}
.btn.line:hover{background:rgba(255,255,255,.14)}
.btn.dark{background:var(--dark);color:#fff}
.btn.dark:hover{background:#1A2E4F}

.nav-toggle{display:none;width:42px;height:42px;flex-direction:column;justify-content:center;
  align-items:center;gap:5px;border:1px solid var(--line);border-radius:var(--r)}
.nav-toggle span{display:block;width:18px;height:2px;background:#333}

.drawer{background:#fff;border-bottom:1px solid var(--line-soft);padding:34px 0 40px;
  box-shadow:0 14px 26px rgba(16,32,60,.08)}
.drawer[hidden]{display:none}
.drawer-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:28px 24px}
.drawer-grid h3{font-size:15px;font-weight:700;color:var(--brand);margin-bottom:12px;
  padding-bottom:10px;border-bottom:1px solid var(--line-soft)}
.drawer-grid a{display:block;padding:5px 0;font-size:14.5px;color:#4A5261}
.drawer-grid a:hover{color:var(--brand);text-decoration:underline}

/* ---------- 히어로 ---------- */
.hero{position:relative;background:var(--dark);color:#fff;overflow:hidden}
.hero .hero-bg{position:absolute;inset:0;display:block}
.hero .hero-bg img{width:100%;height:100%;object-fit:cover}
.hero::after{content:"";position:absolute;inset:0;
  background:linear-gradient(100deg,rgba(9,22,44,.92) 0%,rgba(9,22,44,.78) 46%,rgba(9,22,44,.5) 100%)}
.hero .wrap{position:relative;z-index:2}
.hero-in{padding:74px 0 78px;max-width:860px}
.hero.plain{background:linear-gradient(120deg,#0B47A6 0%,#1162DB 62%,#0082FF 100%)}
.hero.plain::after{display:none}
.crumb ol{display:flex;flex-wrap:wrap;gap:8px;font-size:13px;color:rgba(255,255,255,.72)}
.crumb li + li::before{content:"›";margin-right:8px;opacity:.7}
.crumb a:hover{text-decoration:underline}
.hero .kicker{display:inline-block;margin-top:20px;padding:6px 14px;border-radius:var(--pill);
  background:rgba(255,255,255,.16);font-size:13px;font-weight:600;letter-spacing:.04em}
.hero h1{margin-top:16px;font-size:clamp(28px,4vw,44px);font-weight:700;line-height:1.28;letter-spacing:-1.1px}
.hero .sub{margin-top:18px;font-size:17.5px;line-height:1.8;color:rgba(255,255,255,.86);max-width:720px}
.hero-q{margin-top:22px;font-size:14.5px;color:rgba(255,255,255,.72);
  padding-top:18px;border-top:1px solid rgba(255,255,255,.2)}

/* 홈 전용 큰 히어로 */
.mhero{position:relative;background:var(--dark);color:#fff;overflow:hidden}
.mhero .hero-bg{position:absolute;inset:0;display:block}
.mhero .hero-bg img{width:100%;height:100%;object-fit:cover}
.mhero::after{content:"";position:absolute;inset:0;
  background:linear-gradient(95deg,rgba(8,20,40,.94) 0%,rgba(8,20,40,.8) 50%,rgba(8,20,40,.46) 100%)}
.mhero .wrap{position:relative;z-index:2}
.mhero-in{padding:96px 0 100px;max-width:780px}
.mhero .kicker{display:inline-block;padding:7px 16px;border-radius:var(--pill);
  background:var(--brand);font-size:13px;font-weight:700;letter-spacing:.04em}
.mhero h1{margin-top:20px;font-size:clamp(32px,4.8vw,54px);font-weight:700;line-height:1.22;letter-spacing:-1.6px}
.mhero h1 em{font-style:normal;color:#8FC0FF}
.mhero p.sub{margin-top:20px;font-size:18px;line-height:1.8;color:rgba(255,255,255,.88)}
.mhero .acts{margin-top:32px;display:flex;flex-wrap:wrap;gap:12px}
.mhero .kpi{margin-top:44px;display:flex;flex-wrap:wrap;gap:14px 40px;
  padding-top:26px;border-top:1px solid rgba(255,255,255,.2)}
.mhero .kpi div{min-width:120px}
.mhero .kpi b{display:block;font-size:26px;font-weight:700;letter-spacing:-.5px}
.mhero .kpi span{font-size:13.5px;color:rgba(255,255,255,.7)}

/* ---------- 빠른 진입 바 ---------- */
.quickbar{background:#fff;border-bottom:1px solid var(--line-soft)}
.quickbar ul{display:grid;grid-template-columns:repeat(5,1fr)}
.quickbar a{display:flex;flex-direction:column;align-items:center;gap:8px;padding:24px 10px;
  font-size:14.5px;font-weight:600;color:#3A4453;border-right:1px solid var(--line-soft);text-align:center}
.quickbar li:last-child a{border-right:0}
.quickbar .ico{width:26px;height:26px;color:var(--brand)}
.quickbar a:hover{background:var(--brand-tint);color:var(--brand)}

/* ---------- 카드 ---------- */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.cards.c2{grid-template-columns:repeat(2,1fr)}
.cards.c4{grid-template-columns:repeat(4,1fr)}
.card{background:#fff;border:1px solid var(--line-soft);border-radius:var(--r);padding:28px 24px}
.card .ci{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;
  border-radius:var(--r);background:var(--brand-pale);color:var(--brand);margin-bottom:16px}
.card .ci .ico{width:22px;height:22px}
.card .tag{display:inline-block;margin-bottom:10px;padding:4px 10px;border-radius:var(--r);
  background:var(--brand-pale);color:var(--brand-deep);font-size:12.5px;font-weight:700}
.card h3{font-size:18px;font-weight:700;line-height:1.45;color:var(--ink-strong);letter-spacing:-.4px}
.card p{margin-top:10px;font-size:15px;line-height:1.75;color:#5A6371}
.sec.soft .card{background:#fff}
.cards.lk .card{display:flex;flex-direction:column;transition:border-color .16s,box-shadow .16s,transform .16s}
.cards.lk .card:hover{border-color:var(--brand);box-shadow:0 10px 22px rgba(17,98,219,.1);transform:translateY(-2px)}
.cards.lk .go{margin-top:16px;font-size:13.5px;font-weight:700;color:var(--brand)}
.cards.lk .go::after{content:" ›"}

/* ---------- 이미지 카드 ---------- */
.icards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.icards.c2{grid-template-columns:repeat(2,1fr)}
.icards.c4{grid-template-columns:repeat(4,1fr)}
.icard{background:#fff;border:1px solid var(--line-soft);border-radius:var(--r);overflow:hidden}
.icard .im{display:block;aspect-ratio:8/5;overflow:hidden;background:var(--bg-card)}
.icard .im img{width:100%;height:100%;object-fit:cover}
.icard .bd{padding:22px 20px 24px}
.icard h3{font-size:17.5px;font-weight:700;color:var(--ink-strong);letter-spacing:-.4px}
.icard p{margin-top:8px;font-size:14.5px;line-height:1.75;color:#5A6371}

/* ---------- 강사 프로필 ---------- */
.profs{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.prof{background:#fff;border:1px solid var(--line-soft);border-radius:var(--r);overflow:hidden}
.prof .im{display:block;aspect-ratio:10/7;overflow:hidden;background:var(--bg-card)}
.prof .im img{width:100%;height:100%;object-fit:cover}
.prof .bd{padding:20px}
.prof .sj{display:inline-block;padding:3px 10px;border-radius:var(--r);background:var(--brand);
  color:#fff;font-size:12px;font-weight:700}
.prof h3{margin-top:10px;font-size:18px;font-weight:700;color:var(--ink-strong)}
.prof p{margin-top:8px;font-size:14.5px;line-height:1.7;color:#5A6371}

.badges{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}
.badge{display:inline-block;padding:4px 10px;border-radius:var(--r);background:var(--bg-soft);
  border:1px solid var(--line-soft);font-size:12.5px;color:#59616F}

/* ---------- 통계 ---------- */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line-soft);
  border:1px solid var(--line-soft);border-radius:var(--r);overflow:hidden}
.stat{background:#fff;padding:30px 22px;text-align:center}
.stat .n{display:block;font-size:34px;font-weight:700;color:var(--brand);letter-spacing:-1px;line-height:1.2}
.stat .n .u{font-size:16px;font-weight:600;margin-left:3px;color:var(--brand-deep)}
.stat .l{display:block;margin-top:8px;font-size:14px;color:var(--ink-sub)}

/* ---------- 분할(이미지+글) ---------- */
.split{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}
.split.rev .figure{order:2}
.split + .split{margin-top:64px}
.figure{margin:0;border-radius:var(--r);overflow:hidden;background:var(--bg-card)}
.figure img{width:100%;aspect-ratio:9/5.6;object-fit:cover}
.figure figcaption{padding:12px 4px 0;font-size:13px;color:var(--ink-cap)}

/* ---------- 정의목록 ---------- */
.spec{display:grid;grid-template-columns:180px 1fr;border-top:2px solid var(--ink-strong)}
.spec.n2{grid-template-columns:150px 1fr 150px 1fr}
.spec dt{padding:15px 18px;background:var(--bg-soft);border-bottom:1px solid var(--line-soft);
  font-size:14.5px;font-weight:700;color:#2E3642}
.spec dd{padding:15px 18px;border-bottom:1px solid var(--line-soft);font-size:15px;color:#454D5B}

/* ---------- 표 ---------- */
.tbl-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}
.tbl{min-width:640px;font-size:14.5px;border-top:2px solid var(--ink-strong)}
.tbl caption{caption-side:top;text-align:left;padding-bottom:12px;font-size:14px;
  font-weight:600;color:var(--ink-sub)}
.tbl th,.tbl td{padding:13px 14px;border-bottom:1px solid var(--line-soft);text-align:center;vertical-align:middle}
.tbl thead th{background:var(--bg-soft);font-weight:700;color:#2E3642;white-space:nowrap}
.tbl tbody th{background:#FBFCFD;font-weight:700;color:#2E3642;text-align:left;white-space:nowrap}
.tbl td{color:#4B5361}
.tbl.lft td{text-align:left}
.tbl tbody tr:hover td{background:var(--brand-tint)}

/* ---------- 목록 ---------- */
.blist li{position:relative;padding:9px 0 9px 22px;font-size:15.5px;line-height:1.75;color:#454D5B;
  border-bottom:1px dashed var(--line-soft)}
.blist li::before{content:"";position:absolute;left:4px;top:18px;width:6px;height:6px;
  border-radius:50%;background:var(--brand)}
.blist.c2{display:grid;grid-template-columns:repeat(2,1fr);gap:0 32px}
.nlist{counter-reset:n}
.nlist li{counter-increment:n;position:relative;padding:10px 0 10px 40px;font-size:15.5px;
  line-height:1.75;color:#454D5B;border-bottom:1px solid var(--line-soft)}
.nlist li::before{content:counter(n);position:absolute;left:0;top:12px;width:24px;height:24px;
  border-radius:50%;background:var(--brand-pale);color:var(--brand-deep);
  font-size:12.5px;font-weight:700;display:grid;place-items:center}

/* ---------- 단계 ---------- */
.steps{counter-reset:s;display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.steps.s3{grid-template-columns:repeat(3,1fr)}
.steps.s5{grid-template-columns:repeat(5,1fr)}
.step{counter-increment:s;position:relative;background:#fff;border:1px solid var(--line-soft);
  border-radius:var(--r);padding:26px 20px 24px}
.step::before{content:"STEP " counter(s);display:block;font-size:12px;font-weight:700;
  letter-spacing:.1em;color:var(--brand);margin-bottom:10px}
.step h3{font-size:17px;font-weight:700;color:var(--ink-strong)}
.step p{margin-top:8px;font-size:14.5px;line-height:1.72;color:#5A6371}

/* ---------- 연혁 ---------- */
.tl{border-left:2px solid var(--line-soft);padding-left:30px}
.tl-item{position:relative;padding-bottom:34px}
.tl-item::before{content:"";position:absolute;left:-37px;top:7px;width:12px;height:12px;
  border-radius:50%;background:var(--brand);border:3px solid #fff;box-shadow:0 0 0 2px var(--brand-pale)}
.tl-item .y{display:block;font-size:22px;font-weight:700;color:var(--brand);margin-bottom:10px}
.tl-item ul li{padding:5px 0 5px 16px;position:relative;font-size:15.5px;color:#454D5B}
.tl-item ul li::before{content:"";position:absolute;left:0;top:15px;width:5px;height:5px;
  border-radius:50%;background:var(--line)}

/* ---------- 게시물 ---------- */
.posts{border-top:2px solid var(--ink-strong)}
.post{display:flex;gap:18px;align-items:flex-start;padding:20px 4px;border-bottom:1px solid var(--line-soft)}
.post .cat{flex:none;padding:4px 12px;border-radius:var(--r);background:var(--brand-pale);
  color:var(--brand-deep);font-size:12.5px;font-weight:700;margin-top:2px}
.post .pb{flex:1;min-width:0}
.post h3{font-size:16.5px;font-weight:600;color:var(--ink-strong)}
.post p{margin-top:6px;font-size:14.5px;color:#6A7280;line-height:1.7}
.post .d{flex:none;font-size:13.5px;color:var(--ink-cap)}

/* ---------- FAQ ---------- */
.faq{border-top:2px solid var(--ink-strong)}
.faq details{border-bottom:1px solid var(--line-soft)}
.faq summary{display:flex;gap:14px;align-items:flex-start;padding:20px 4px;cursor:pointer;
  list-style:none;font-size:16.5px;font-weight:600;color:var(--ink-strong)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";margin-left:auto;font-size:20px;font-weight:400;color:var(--brand);flex:none}
.faq details[open] summary::after{content:"−"}
.faq .q{flex:none;width:26px;height:26px;border-radius:var(--r);background:var(--brand);color:#fff;
  font-size:13px;font-weight:700;display:grid;place-items:center}
.faq .qt{flex:1}
.faq .a{padding:0 4px 22px 44px;font-size:15.5px;line-height:1.85;color:#525A68}

/* ---------- 후기 ---------- */
.voices{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.voice{margin:0;background:#fff;border:1px solid var(--line-soft);border-radius:var(--r);padding:28px 24px}
.voice .qi{display:block;color:var(--brand-pale)}
.voice .qi .ico{width:34px;height:34px;stroke-width:1.2}
.voice blockquote p{margin-top:14px;font-size:15.5px;line-height:1.85;color:#454D5B}
.voice figcaption{margin-top:18px;padding-top:16px;border-top:1px solid var(--line-soft);
  display:flex;flex-direction:column;gap:3px}
.voice figcaption b{font-size:15px;font-weight:700;color:var(--ink-strong)}
.voice figcaption span{font-size:13px;color:var(--ink-cap)}

/* ---------- 안내 상자 ---------- */
.notebox{margin-top:28px;background:var(--brand-tint);border:1px solid #CFE0F8;
  border-left:4px solid var(--brand);border-radius:var(--r);padding:20px 22px}
.notebox b{display:block;font-size:14.5px;font-weight:700;color:var(--brand-deep);margin-bottom:6px}
.notebox p{font-size:14.5px;line-height:1.8;color:#4C5563}
.demobox{margin-top:28px;background:var(--point-pale);border:1px solid #F6CFD0;
  border-left:4px solid var(--point);border-radius:var(--r);padding:20px 22px}
.demobox b{display:block;font-size:14.5px;font-weight:700;color:#C0393D;margin-bottom:6px}
.demobox p{font-size:14.5px;line-height:1.8;color:#5A4143}

/* ---------- CTA 밴드 ---------- */
.band{background:linear-gradient(100deg,var(--brand-deep) 0%,var(--brand) 100%);color:#fff;padding:56px 0}
.band-in{display:flex;align-items:center;justify-content:space-between;gap:32px;flex-wrap:wrap}
.band h2{font-size:clamp(21px,2.2vw,27px);font-weight:700;letter-spacing:-.6px;line-height:1.4}
.band p{margin-top:10px;font-size:15.5px;line-height:1.75;color:rgba(255,255,255,.86);max-width:620px}
.band-a{display:flex;gap:10px;flex-wrap:wrap;margin-top:0}

/* ---------- 폼 ---------- */
.formbox{background:#fff;border:1px solid var(--line-soft);border-radius:var(--r);padding:34px 30px}
.formbox h3{font-size:19px;font-weight:700;color:var(--ink-strong);margin-bottom:22px}
.fgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.fld{display:flex;flex-direction:column;gap:7px}
.fld.wide{grid-column:1/-1}
.fld label{font-size:14px;font-weight:600;color:#3D4553}
.fld input,.fld select,.fld textarea{width:100%;padding:12px 14px;border:1px solid var(--line);
  border-radius:var(--r);font-size:15px;background:#fff}
.fld textarea{resize:vertical}
.fld input:focus,.fld select:focus,.fld textarea:focus{border-color:var(--brand);outline:none;
  box-shadow:0 0 0 3px var(--brand-pale)}
.fnote{margin-top:18px;font-size:13.5px;color:var(--ink-cap);line-height:1.7}
.fbtn{margin-top:18px}

/* ---------- 사이트맵 ---------- */
.smap{display:grid;grid-template-columns:repeat(4,1fr);gap:32px 24px}
.smap h3{font-size:16px;font-weight:700;color:var(--brand);padding-bottom:10px;
  border-bottom:2px solid var(--brand);margin-bottom:12px}
.smap a{display:block;padding:6px 0;font-size:14.5px;color:#4A5261;border-bottom:1px solid var(--line-soft)}
.smap a:hover{color:var(--brand);padding-left:4px}

/* ---------- 푸터 ---------- */
.ft{background:#152238;color:#A9B4C6;padding:64px 0 40px;font-size:14px}
.ft-top{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr 1fr;gap:36px 24px;
  padding-bottom:40px;border-bottom:1px solid #263450}
.ft-brand .logo{color:#7FB3FF}
.ft-brand .logo .lt b{color:#fff}
.ft-brand .logo .lt em{color:#7FB3FF}
.ft-brand p{margin-top:16px;line-height:1.8;font-size:13.5px}
.ft-brand .ft-c{margin-top:16px;color:#C6D0DE}
.ft-brand a:hover{color:#fff;text-decoration:underline}
.ft-top h3{font-size:14.5px;font-weight:700;color:#fff;margin-bottom:14px}
.ft-top ul li{margin-bottom:8px}
.ft-top ul a{font-size:13.5px}
.ft-top ul a:hover{color:#fff;text-decoration:underline}
.ft .notice{margin-top:28px;padding:20px 22px;background:#101B2E;border:1px solid #263450;
  border-radius:var(--r);font-size:13px;line-height:1.85;color:#9AA6BA}
.ft .notice b{color:#FFC9CA}
.ft-bot{margin-top:26px;display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;align-items:flex-start}
.ft-addr{font-size:13px;line-height:1.8;color:#8C99AD}
.ft-legal{display:flex;flex-wrap:wrap;gap:16px}
.ft-legal a{font-size:13px}
.ft-legal a:hover{color:#fff;text-decoration:underline}
.copy{margin-top:22px;padding-top:20px;border-top:1px solid #263450;font-size:12.5px;color:#76839A}

/* ---------- 반응형 ---------- */
@media (max-width:1080px){
  .gnb{display:none}
  .nav-toggle{display:flex}
  .hd-util .tel{display:none}
  .drawer-grid{grid-template-columns:repeat(3,1fr)}
  .ft-top{grid-template-columns:1fr 1fr 1fr}
  .smap{grid-template-columns:repeat(3,1fr)}
  .cards.c4{grid-template-columns:repeat(2,1fr)}
  .icards.c4{grid-template-columns:repeat(2,1fr)}
  .steps,.steps.s5{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:860px){
  :root{--pad:56px}
  .topbar .tb-r{display:none}
  .quickbar ul{grid-template-columns:repeat(3,1fr)}
  .quickbar li:nth-child(3) a{border-right:0}
  .cards,.cards.c2,.cards.c4{grid-template-columns:1fr}
  .icards,.icards.c2,.icards.c4{grid-template-columns:1fr}
  .profs{grid-template-columns:1fr}
  .voices{grid-template-columns:1fr}
  .stats{grid-template-columns:repeat(2,1fr)}
  .split{grid-template-columns:1fr;gap:26px}
  .split.rev .figure{order:0}
  .split + .split{margin-top:44px}
  .spec,.spec.n2{grid-template-columns:1fr}
  .spec dt{border-bottom:0}
  .blist.c2{grid-template-columns:1fr}
  .steps,.steps.s3,.steps.s5{grid-template-columns:1fr}
  .drawer-grid{grid-template-columns:repeat(2,1fr)}
  .smap{grid-template-columns:repeat(2,1fr)}
  .ft-top{grid-template-columns:1fr 1fr}
  .fgrid{grid-template-columns:1fr}
  .mhero-in{padding:64px 0 68px}
  .hero-in{padding:52px 0 56px}
  .post{flex-wrap:wrap;gap:10px}
  .post .d{width:100%}
  .band-in{flex-direction:column;align-items:flex-start}
}
@media (max-width:520px){
  .quickbar ul{grid-template-columns:repeat(2,1fr)}
  .quickbar li:nth-child(3) a{border-right:1px solid var(--line-soft)}
  .quickbar li:nth-child(2n) a{border-right:0}
  .stats{grid-template-columns:1fr}
  .drawer-grid{grid-template-columns:1fr}
  .smap{grid-template-columns:1fr}
  .ft-top{grid-template-columns:1fr}
  .mhero .kpi{gap:14px 24px}
  .btn{padding:13px 20px;font-size:15px}
}
@media print{
  .topbar,.hd,.drawer,.band,.skip{display:none}
}
