@charset "utf-8";
/* =========================================================
   SEWON C&E  |  반응형 테마 스타일시트
   ========================================================= */
:root{
  --navy:#16305a; --navy2:#1f4f8a; --blue:#1e6fc4; --blue-d:#17569c;
  --gold:#f2a01f; --teal1:#1a4f4a; --teal2:#2f7d74; --red:#e8615f;
  --ink:#2c3138; --muted:#6f7885; --line:#e6e9ee; --soft:#f4f6f9;
  --wrap:1200px; --radius:8px;
  --sans:'Noto Sans KR',-apple-system,'Malgun Gothic',sans-serif;
  --disp:'Montserrat','Noto Sans KR',sans-serif;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font-family:var(--sans);color:var(--ink);font-size:16px;line-height:1.6;background:#fff;word-break:keep-all;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;vertical-align:middle;border:0}
a{color:inherit;text-decoration:none}
ul,ol,li{list-style:none;margin:0;padding:0}
h1,h2,h3,h4,p{margin:0}
button{font-family:inherit;cursor:pointer;border:0;background:none}
table{border-collapse:collapse;width:100%}
.sound_only,legend{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
#skip_to_container a{position:absolute;left:-9999px}
#skip_to_container a:focus{left:0;top:0;z-index:9999;background:var(--navy);color:#fff;padding:8px 14px}
hr{display:none}
:focus-visible{outline:2px solid var(--blue);outline-offset:2px}

/* ---------- 팝업레이어(hd_pop) ---------- */
#hd_pop{position:relative;z-index:1000}
#hd_pop h2{position:absolute;left:0;top:0;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;font-size:0;line-height:0;color:transparent;border:0}
.hd_pops{position:absolute;border:1px solid #d5d9e0;background:#fff;box-shadow:0 12px 32px rgba(0,0,0,.20);border-radius:10px;overflow:hidden}
.hd_pops_con{overflow:hidden}
.hd_pops_con img{max-width:100%;height:auto}
.hd_pops_footer{display:flex;justify-content:space-between;align-items:center;background:#2c3138}
.hd_pops_footer button{color:#eef0f3;padding:12px 16px;font-size:13px;background:none;border:0;cursor:pointer}
.hd_pops_footer .hd_pops_reject{opacity:.8}
.hd_pops_footer .hd_pops_reject:hover{opacity:1}
.hd_pops_footer .hd_pops_close{font-weight:600}

/* ---------- Header ---------- */
.header{position:sticky;top:0;z-index:900;background:#fff;box-shadow:0 1px 0 rgba(0,0,0,.06)}
.header__top{background:#f2f4f7;border-bottom:1px solid var(--line)}
.header__top-inner{max-width:var(--wrap);margin:0 auto;padding:0 20px;display:flex;justify-content:flex-end}
.util{display:flex;gap:18px}
.util a{display:block;font-size:12.5px;color:#7a828d;line-height:34px;letter-spacing:.02em}
.util a:hover{color:var(--navy)}

.header__inner{max-width:var(--wrap);margin:0 auto;padding:0 20px;height:88px;display:flex;align-items:center;gap:24px}
.logo{display:flex;align-items:center;gap:12px}
.logo__img{height:52px;width:auto;display:block}
.logo__mark{display:flex}
.logo__text{display:flex;flex-direction:column;line-height:1}
.logo__text strong{font-family:var(--disp);font-weight:800;font-size:27px;letter-spacing:.02em;color:var(--navy)}
.logo__text em{font-style:normal;font-size:10px;font-weight:600;letter-spacing:.14em;color:#8a939f;margin-top:4px}

/* GNB */
.gnb{margin-left:auto}
.gnb__list{display:flex;gap:6px}
.gnb__item{position:relative}
.gnb__link{display:block;padding:0 26px;line-height:88px;font-size:18px;font-weight:700;color:#2a2f36}
.gnb__item:hover>.gnb__link,.gnb__item.is-active>.gnb__link{color:var(--blue)}
.gnb__item>.gnb__link::after{content:"";position:absolute;left:26px;right:26px;bottom:22px;height:3px;background:var(--blue);transform:scaleX(0);transform-origin:left;transition:transform .25s}
.gnb__item:hover>.gnb__link::after,.gnb__item.is-active>.gnb__link::after{transform:scaleX(1)}
.gnb__sub{position:absolute;top:100%;left:50%;transform:translateX(-50%);min-width:170px;background:rgba(20,26,38,.96);border-radius:0 0 6px 6px;padding:8px 0;opacity:0;visibility:hidden;transition:.2s;box-shadow:0 12px 28px rgba(0,0,0,.2)}
.gnb__item:hover .gnb__sub{opacity:1;visibility:visible}
.gnb__sub a{display:block;padding:11px 20px;font-size:15px;color:#dfe4ec;text-align:center}
.gnb__sub a:hover{background:var(--blue);color:#fff}

.nav-toggle{display:none;width:44px;height:44px;margin-left:auto;flex-direction:column;justify-content:center;gap:5px;align-items:center}
.nav-toggle span{width:24px;height:2px;background:var(--navy);transition:.3s}

/* Mobile nav */
.mnav{position:fixed;top:0;right:-300px;width:290px;max-width:82%;height:100%;background:#fff;z-index:1200;transition:right .3s;overflow-y:auto;box-shadow:-8px 0 24px rgba(0,0,0,.18)}
.mnav.open{right:0}
.mnav__head{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;background:var(--navy);color:#fff;font-weight:700}
.mnav__close{color:#fff;font-size:20px;width:34px;height:34px}
.mnav__item{border-bottom:1px solid var(--line)}
.mnav__row{display:flex;align-items:center;justify-content:space-between}
.mnav__row>a{flex:1;display:block;padding:15px 18px;font-size:16px;font-weight:600}
.mnav__toggle{width:52px;height:52px;color:#8a939f;font-size:18px}
.mnav__item.active .mnav__toggle{transform:rotate(180deg);color:var(--blue)}
.mnav__sub{display:none;background:var(--soft);padding:4px 0}
.mnav__item.active .mnav__sub{display:block}
.mnav__sub a{display:block;padding:11px 18px 11px 30px;font-size:14.5px;color:#5a626d}
.mnav__sub a:hover{color:var(--blue)}
.mnav-dim{position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:1100;opacity:0;visibility:hidden;transition:.3s}
.mnav-dim.open{opacity:1;visibility:visible}

/* ---------- Hero ---------- */
.hero{position:relative;overflow:hidden}
.hero__slides{position:relative}
.hero__slide{position:absolute;inset:0;opacity:0;pointer-events:none;transition:opacity .8s;background:linear-gradient(120deg,var(--hero-a),var(--hero-b))}
.hero__slide.is-active{position:relative;opacity:1;pointer-events:auto;z-index:2}
.hero__inner{max-width:var(--wrap);margin:0 auto;padding:0 20px;min-height:520px;display:flex;align-items:center;gap:20px}
.hero__text{flex:1;color:#fff;padding:30px 0}
.hero__eyebrow{font-size:20px;font-weight:500;color:#eaf6f3;opacity:.95}
.hero__lead{font-size:30px;font-weight:400;margin-top:6px;color:#eaf6f3}
.hero__lead b{font-weight:700}
.hero__brand{font-size:52px;font-weight:900;letter-spacing:-.01em;margin:8px 0 18px;text-shadow:0 2px 18px rgba(0,0,0,.15)}
.hero__desc{font-size:15.5px;color:#e6efee;line-height:1.7;opacity:.95}
.hero__btn{display:inline-flex;align-items:center;gap:8px;margin-top:26px;padding:13px 34px;border:1.5px solid rgba(255,255,255,.85);border-radius:40px;color:#fff;font-size:15px;font-weight:500;transition:.25s}
.hero__btn:hover{background:#fff;color:var(--navy)}
.hero__visual{flex:1;display:flex;justify-content:flex-end}
.hero__art{max-height:400px;width:auto;height:auto}
.hero__dots{position:absolute;left:50%;bottom:22px;transform:translateX(-50%);display:flex;gap:10px;z-index:5}
.hero__dots button{width:11px;height:11px;border-radius:50%;background:rgba(255,255,255,.5);transition:.2s}
.hero__dots button.is-active{background:#fff;width:26px;border-radius:6px}

/* ---------- section head ---------- */
.home-section-head{text-align:center;margin-bottom:44px}
.home-section-head h2{font-size:34px;font-weight:800;color:var(--navy);letter-spacing:-.01em}
.home-section-head .pt-red{color:var(--red)}
.home-section-head .en{margin-top:10px;font-family:var(--disp);font-size:15px;letter-spacing:.06em;color:#9aa3af;font-weight:500}

/* ---------- services ---------- */
.home-services{max-width:var(--wrap);margin:0 auto;padding:90px 20px}
.home-services__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.svc-card{display:block;background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 10px 30px rgba(20,40,80,.08);transition:.3s}
.svc-card:hover{transform:translateY(-6px);box-shadow:0 18px 40px rgba(20,40,80,.16)}
.svc-card__img{display:flex;align-items:center;justify-content:center;aspect-ratio:16/10;overflow:hidden;font-size:62px;color:#fff}
.svc-card__img svg{width:64px;height:64px}
.svc-card__img i{transition:.4s}
.svc-card:hover .svc-card__img svg,.svc-card:hover .svc-card__img i{transform:scale(1.12);transition:.4s}
.svc-card__img.ic1{background:linear-gradient(135deg,#1f5f8b,#2c7fa5)}
.svc-card__img.ic2{background:linear-gradient(135deg,#1c6b60,#2f8d80)}
.svc-card__img.ic3{background:linear-gradient(135deg,#33507a,#4a6aa0)}
.svc-card__body{display:block;padding:22px 24px 26px}
.svc-card__body b{display:block;font-size:20px;font-weight:700;color:var(--navy)}
.svc-card__body em{display:block;font-style:normal;margin-top:7px;font-size:14px;color:var(--muted)}

/* ---------- intro band ---------- */
.home-intro{background:linear-gradient(120deg,#12263f,#1c3d63);color:#fff;position:relative}
.home-intro::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 82% 40%,rgba(80,160,220,.28),transparent 45%);pointer-events:none}
.home-intro__inner{position:relative;z-index:1;max-width:var(--wrap);margin:0 auto;padding:76px 20px}
.home-intro__text h2{font-size:40px;font-weight:900;letter-spacing:-.01em}
.home-intro__text p{margin-top:18px;font-size:16.5px;line-height:1.8;color:#d4e0ee}
.home-intro__btn{display:inline-flex;align-items:center;gap:8px;margin-top:28px;padding:12px 30px;border:1.5px solid rgba(255,255,255,.6);border-radius:40px;font-size:15px;transition:.25s}
.home-intro__btn:hover{background:#fff;color:var(--navy)}

/* ---------- home board ---------- */
.home-board{background:var(--soft)}
.home-board__inner{max-width:var(--wrap);margin:0 auto;padding:70px 20px;display:grid;grid-template-columns:1fr 1fr;gap:40px}
.home-board__head{display:flex;align-items:center;justify-content:space-between;border-bottom:2px solid var(--navy);padding-bottom:14px;margin-bottom:6px}
.home-board__head h3{font-size:22px;font-weight:800;color:var(--navy)}
.home-board__head .more{font-size:13px;color:#8a929e}
.home-board__head .more:hover{color:var(--blue)}
.home-latest{padding-top:6px}
.home-latest li{display:flex;justify-content:space-between;gap:14px;padding:13px 2px;border-bottom:1px dashed #d8dee6}
.home-latest li a{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:15px;color:#41474f}
.home-latest li a:hover{color:var(--blue)}
.home-latest .date{font-size:13px;color:#a2aab5;flex-shrink:0}
.home-latest .empty{padding:24px 0;color:#a2aab5;text-align:center}

/* ---------- CTA ---------- */
.home-cta{padding:84px 20px;text-align:center;background:#fff}
.home-cta__inner{max-width:var(--wrap);margin:0 auto}
.home-cta__sub{font-size:15px;color:#8a929e}
.home-cta__tit{font-size:32px;font-weight:800;color:var(--navy);margin-top:8px}
.home-cta__tit strong{color:var(--blue)}
.quicklinks{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;max-width:820px;margin:46px auto 0}
.quicklinks__item{display:flex;flex-direction:column;align-items:center;gap:16px}
.quicklinks__ico{width:120px;height:120px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:44px;color:#fff;transition:.3s}
.quicklinks__ico svg{width:50px;height:50px}
.quicklinks__item:hover .quicklinks__ico{transform:translateY(-6px)}
.ql1{background:#5a5f63}.ql2{background:#2c3e63}.ql3{background:var(--red)}.ql4{background:#5c5750}
.quicklinks__label{font-size:17px;font-weight:600;color:#3a4048}

/* ---------- Footer ---------- */
.footer__info{background:#2f3136;color:#b9bdc4;padding:34px 20px;text-align:center}
.footer__info-inner{max-width:var(--wrap);margin:0 auto}
.footer__brand{margin-bottom:12px}
.footer__logo-img{height:34px;width:auto;display:inline-block}
.footer__logo{display:inline-flex;align-items:center;gap:8px;font-family:var(--disp);font-weight:800;font-size:20px;color:#dfe3e9}
.footer__addr{font-size:13.5px;line-height:1.9;color:#9aa0a8}
.footer__copy{margin-top:12px;font-size:12.5px;color:#7c828b}
.footer__copy strong{color:#c7ccd3}

/* top button */
.top-btn{position:fixed;right:24px;bottom:26px;width:48px;height:48px;border-radius:50%;background:var(--navy);color:#fff;font-size:22px;z-index:800;box-shadow:0 6px 18px rgba(0,0,0,.25);opacity:0;visibility:hidden;transition:.3s}
.top-btn.show{opacity:1;visibility:visible}

/* =========================================================
   Sub pages
   ========================================================= */
.subvisual{height:280px;display:flex;align-items:center;color:#fff;background:#22303f center/cover no-repeat;position:relative;overflow:hidden}
.subvisual__bg{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.subvisual.menu-company{background-image:linear-gradient(120deg,#1a2c44,#33506f)}
.subvisual.menu-engineering{background-image:linear-gradient(120deg,#123b3a,#237068)}
.subvisual.menu-cm{background-image:linear-gradient(120deg,#1a2f4f,#2b5aa0)}
.subvisual.menu-performance{background-image:linear-gradient(120deg,#243050,#3a4a7a)}
.subvisual.menu-customer{background-image:linear-gradient(120deg,#2a2f52,#4a3f7a)}
.subvisual.menu-generic{background-image:linear-gradient(120deg,#1f2a3b,#3a4a63)}
.subvisual__inner{position:relative;z-index:1;max-width:var(--wrap);margin:0 auto;padding:0 20px;width:100%}
.subvisual__title{font-size:40px;font-weight:800;letter-spacing:-.01em}
.subvisual__desc{margin-top:8px;font-family:var(--disp);font-size:14px;letter-spacing:.08em;color:#cdd6e2;font-weight:500}
.breadcrumb{position:absolute;right:20px;bottom:-1px;display:flex;align-items:center;gap:10px;font-size:13.5px;color:#5a626d;background:#fff;padding:12px 20px;border-radius:6px 6px 0 0}
.breadcrumb a,.breadcrumb i{color:#8a929e}
.breadcrumb span::before{content:"›";margin-right:10px;color:#c3cad3}
.breadcrumb .cur{color:var(--navy);font-weight:600}

.sub{max-width:var(--wrap);margin:0 auto;padding:56px 20px 90px;display:flex;gap:44px;align-items:flex-start}
.sub--full{display:block}
.sub__nav{width:230px;flex-shrink:0}
.sub__nav-head{background:var(--navy);color:#fff;font-size:22px;font-weight:700;text-align:center;padding:26px 10px;border-radius:8px 8px 0 0}
.sub__nav-list{border:1px solid var(--line);border-top:0;border-radius:0 0 8px 8px;overflow:hidden}
.sub__nav-list li+li{border-top:1px solid var(--line)}
.sub__nav-list a{display:block;padding:16px 22px;font-size:15.5px;color:#4a515b;transition:.2s}
.sub__nav-list a:hover{background:var(--soft);color:var(--navy)}
.sub__nav-list li.on a{background:var(--blue);color:#fff;font-weight:600}
.sub__cs{margin-top:24px;border:1px solid var(--line);border-radius:8px;padding:22px 20px;background:var(--soft)}
.sub__cs-head{font-size:16px;font-weight:700;color:var(--navy)}
.sub__cs-txt{font-size:13px;color:#7a828d;margin-top:10px;line-height:1.6}
.sub__cs-tel{display:block;margin-top:14px;font-size:24px;font-weight:800;color:var(--blue);font-family:var(--disp)}
.sub__cs-mail{display:block;margin-top:4px;font-size:14px;color:#5a626d}
.sub__cs-time{margin-top:12px;font-size:13px;color:#8a929e}
.sub__body{flex:1;min-width:0}

.content-title{font-size:28px;font-weight:800;color:var(--navy);padding-bottom:18px;border-bottom:2px solid #dde3ea;margin-bottom:36px}

/* generic content typography */
.pg-lead{font-family:var(--disp);font-size:34px;font-weight:800;color:var(--blue);text-align:center;letter-spacing:.01em}
.pg-lead b{color:var(--navy)}
.pg-sublead{text-align:center;font-size:17px;color:#5a626d;margin-top:10px}
.pg-h{font-size:23px;font-weight:700;color:var(--navy);margin:0 0 16px}
.pg-h .accent{color:var(--blue)}
.pg-p{font-size:15.5px;color:#4d545d;line-height:1.9;margin:0 0 16px}
.pg-block{margin-bottom:52px}
.pg-note{background:var(--soft);border-left:4px solid var(--blue);padding:16px 20px;border-radius:0 6px 6px 0;color:#4d545d;font-size:14.5px}

/* feature grid */
.feature-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:20px}
.feature-card{border:1px solid var(--line);border-radius:10px;padding:26px 22px;transition:.25s;background:#fff}
.feature-card:hover{border-color:var(--blue);box-shadow:0 10px 26px rgba(20,40,80,.08)}
.feature-card .ico{width:56px;height:56px;border-radius:12px;background:var(--blue);color:#fff;display:flex;align-items:center;justify-content:center;font-size:24px;margin-bottom:16px}
.feature-card b{display:block;font-size:17px;color:var(--navy);margin-bottom:8px}
.feature-card p{font-size:14px;color:#6b727c;line-height:1.7}

/* process steps */
.steps{counter-reset:st;display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:18px}
.steps li{position:relative;border:1px solid var(--line);border-radius:10px;padding:34px 18px 22px;text-align:center}
.steps li::before{counter-increment:st;content:counter(st,decimal-leading-zero);position:absolute;top:-14px;left:50%;transform:translateX(-50%);background:var(--navy);color:#fff;font-family:var(--disp);font-weight:700;font-size:13px;padding:5px 12px;border-radius:20px}
.steps li b{display:block;color:var(--navy);font-size:15.5px;margin-bottom:6px}
.steps li span{font-size:13px;color:#7a828d}

/* tabs */
.tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:30px;border-bottom:2px solid var(--line)}
.tabs a{padding:12px 22px;font-size:15px;font-weight:600;color:#7a828d;border:1px solid var(--line);border-bottom:0;border-radius:6px 6px 0 0;margin-bottom:-2px}
.tabs a.on{background:var(--navy);color:#fff;border-color:var(--navy)}

/* info table */
.tbl{border-top:2px solid var(--navy);font-size:15px}
.tbl th,.tbl td{border-bottom:1px solid var(--line);padding:15px 18px;text-align:left;vertical-align:middle}
.tbl th{background:var(--soft);color:var(--navy);font-weight:600;width:180px}
.tbl.center th,.tbl.center td{text-align:center}

/* history */
.history{position:relative;padding-left:26px}
.history::before{content:"";position:absolute;left:6px;top:6px;bottom:6px;width:2px;background:var(--line)}
.history__yr{position:relative;margin-bottom:34px}
.history__yr::before{content:"";position:absolute;left:-24px;top:6px;width:12px;height:12px;border-radius:50%;background:var(--blue);box-shadow:0 0 0 4px #dbe8f6}
.history__yr h3{font-family:var(--disp);font-size:26px;font-weight:800;color:var(--navy);margin-bottom:12px}
.history__yr li{display:flex;gap:16px;padding:6px 0;font-size:15px;color:#4d545d}
.history__yr li b{color:var(--blue);font-weight:700;min-width:42px}

/* license grid */
.license-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:26px}
.license-card{border:1px solid var(--line);border-radius:10px;overflow:hidden;text-align:center;background:#fff}
.license-card{border:1px solid var(--line);border-radius:10px;overflow:hidden;text-align:center;background:#fff;transition:.25s}
.license-card:hover{box-shadow:0 10px 26px rgba(20,40,80,.10);border-color:#cfe0f5}
.license-card img{width:100%;display:block;background:#f3f5f8;aspect-ratio:4/3;object-fit:contain}
.license-ph{aspect-ratio:4/3;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;background:var(--soft);color:#9aa3af;font-size:14px}
.license-ph i,.license-ph svg{font-size:46px;color:#c3cad6}
.license-ph svg{width:46px;height:46px}
.license-card figcaption{padding:16px;font-size:15px;font-weight:600;color:var(--navy);border-top:1px solid var(--line)}
.license-card figcaption a{color:inherit}
.license-card:hover figcaption a{color:var(--blue)}

/* org chart */
.org{text-align:center}
.org__box{display:inline-block;min-width:170px;padding:16px 26px;border-radius:8px;font-weight:700;color:#fff;background:var(--navy)}
.org__box.blue{background:var(--blue)}
.org__line{width:2px;height:26px;background:var(--line);margin:0 auto}
.org__row{display:flex;flex-wrap:wrap;justify-content:center;gap:20px;margin-top:6px}
.org__col{border:1px solid var(--line);border-radius:8px;padding:0 0 14px;min-width:170px;overflow:hidden}
.org__col h4{background:var(--soft);color:var(--navy);font-size:16px;padding:12px;border-bottom:1px solid var(--line)}
.org__col li{font-size:14px;color:#5a626d;padding:6px 8px}

/* map */
.map-embed{width:100%;height:420px;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:var(--soft)}
.map-embed iframe{width:100%;height:100%;border:0}
.map-ph{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;text-align:center;color:#8a929e;font-size:14px;line-height:1.6;padding:20px}
.map-ph i{font-size:44px;color:#c3cad6}

/* =========================================================
   Board skin (theme/sewon)
   ========================================================= */
.bd-list{border-top:2px solid var(--navy)}
.bd-list table{font-size:15px}
.bd-list thead th{background:var(--soft);color:var(--navy);font-weight:600;padding:14px 8px;border-bottom:1px solid var(--line);text-align:center}
.bd-list tbody td{padding:15px 8px;border-bottom:1px solid var(--line);text-align:center;color:#5a626d}
.bd-list tbody td.subject{text-align:left}
.bd-list tbody td.subject a{color:#2c3138;font-weight:500}
.bd-list tbody td.subject a:hover{color:var(--blue)}
.bd-list tbody tr:hover{background:#fafbfc}
.bd-notice{background:#f3f7fc !important}
.bd-notice .bd-flag{display:inline-block;background:var(--blue);color:#fff;font-size:12px;padding:2px 10px;border-radius:20px}
.bd-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;font-size:14px;color:#8a929e}
.bd-btns{margin-top:22px;display:flex;justify-content:flex-end;gap:8px}
.btn{display:inline-flex;align-items:center;gap:6px;padding:11px 24px;border-radius:6px;font-size:14.5px;font-weight:600;transition:.2s;border:1px solid transparent}
.btn-navy{background:var(--navy);color:#fff}.btn-navy:hover{background:#0f2444}
.btn-line{background:#fff;border-color:var(--line);color:#5a626d}.btn-line:hover{border-color:var(--blue);color:var(--blue)}
.btn-blue{background:var(--blue);color:#fff}.btn-blue:hover{background:var(--blue-d)}

/* ---------- inline svg icon sizing ---------- */
.hero__btn svg,.home-intro__btn svg{width:16px;height:16px}
.breadcrumb svg{width:15px;height:15px;vertical-align:-2px}
.breadcrumb a{display:inline-flex}
.sub__cs-head svg{width:17px;height:17px;vertical-align:-3px}
.feature-card .ico svg{width:26px;height:26px}
.license-ph svg{width:46px;height:46px}
.map-ph svg{width:44px;height:44px}
.top-btn{display:flex;align-items:center;justify-content:center}
.top-btn svg{width:22px;height:22px}
.mnav__close{display:flex;align-items:center;justify-content:center}
.mnav__close svg{width:20px;height:20px}
.mnav__toggle svg{width:18px;height:18px}
.svc-card__img i,.svc-card__img svg,.feature-card .ico i,.feature-card .ico svg{transition:.3s}

/* =========================================================
   Responsive
   ========================================================= */
@media (max-width:1024px){
  .gnb{display:none}
  .nav-toggle{display:flex}
  .header__inner{height:72px}
  .logo__img{height:44px}
  .logo__text strong{font-size:23px}
  .hero__inner{min-height:440px}
  .hero__brand{font-size:42px}
  .hero__art{max-height:300px}
  .sub{gap:28px}
  .sub__nav{width:200px}
}
@media (max-width:768px){
  body{font-size:15px}
  .header__inner{padding:0 16px;gap:12px}
  .hero__inner{flex-direction:column;justify-content:center;text-align:center;padding:44px 20px;min-height:0}
  .hero__text{padding:0}
  .hero__visual{justify-content:center;margin-top:26px}
  .hero__art{max-height:230px}
  .hero__eyebrow{font-size:16px}.hero__lead{font-size:23px}.hero__brand{font-size:36px}
  .hero__desc br{display:none}
  .home-services{padding:56px 18px}
  .home-services__grid{grid-template-columns:1fr;gap:20px}
  .home-section-head{margin-bottom:30px}
  .home-section-head h2{font-size:26px}
  .home-intro__inner{padding:52px 20px}
  .home-intro__text h2{font-size:30px}
  .home-board__inner{grid-template-columns:1fr;gap:34px;padding:48px 18px}
  .home-cta{padding:54px 18px}
  .home-cta__tit{font-size:24px}
  .quicklinks{gap:14px}
  .quicklinks__ico{width:88px;height:88px;font-size:32px}
  .quicklinks__ico svg{width:38px;height:38px}
  .quicklinks__label{font-size:14px}
  .subvisual{height:200px}
  .subvisual__title{font-size:28px}
  .breadcrumb{display:none}
  .sub{flex-direction:column;padding:32px 18px 64px}
  .sub__nav{width:100%}
  .sub__nav-head{font-size:19px;padding:18px}
  .sub__nav-list{display:flex;flex-wrap:wrap;border-radius:0 0 8px 8px}
  .sub__nav-list li+li{border-top:0}
  .sub__nav-list li{flex:1 1 auto;border-right:1px solid var(--line)}
  .sub__nav-list a{padding:12px 14px;text-align:center;font-size:14px}
  .sub__cs{display:none}
  .content-title{font-size:22px;margin-bottom:26px}
  .pg-lead{font-size:26px}
  .license-grid{grid-template-columns:1fr}
  .bd-list td .hide-m,.bd-list th .hide-m{display:none}
}
@media (max-width:480px){
  .quicklinks{grid-template-columns:repeat(2,1fr);gap:20px 10px;max-width:340px}
  .util{gap:12px}
  .home-intro__text h2{font-size:25px}
  .home-cta__tit{font-size:21px}
}
@media (prefers-reduced-motion:reduce){
  *{transition:none !important;animation:none !important}
}

/* ============================================================
   게시판 (basic 스킨 마크업 대상, #content 로 항상 우선 적용)
   ============================================================ */
#content #bo_list,#content #bo_v,#content #bo_w{margin:0;border:0}
/* 상단바 */
#content .bo_fx{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:16px;flex-wrap:wrap;float:none}
#content .bo_fx .total{font-size:14px;color:#8a929e;margin:0}
#content .bo_fx .total .num,#content .bo_fx .total span{color:var(--navy);font-weight:700}
#content .btn_bo_user{display:flex;gap:6px;margin:0;padding:0;float:none;list-style:none;align-items:center}
#content .btn_bo_user li{list-style:none;margin:0}
#content .btn_b01,#content .btn_admin,#content .btn_bo_sch,#content .btn_more_opt{
  display:inline-flex;align-items:center;justify-content:center;min-width:40px;height:40px;padding:0 12px;
  border:1px solid #e2e6ec;border-radius:8px;background:#fff;color:#6f7885;font-size:15px;font-weight:500;transition:.2s;cursor:pointer}
#content .btn_b01:hover,#content .btn_admin:hover,#content .btn_bo_sch:hover,#content .btn_more_opt:hover{border-color:var(--blue);color:var(--blue)}
/* 목록 테이블 */
#content .tbl_head01{border-top:2px solid var(--navy)}
#content .tbl_head01 caption{display:none}
#content #bo_list table{border-collapse:collapse;width:100%}
#content #bo_list thead th{background:#f5f7f9;color:var(--navy);font-weight:600;padding:15px 8px;border-bottom:1px solid #e6e9ee;font-size:14.5px;text-align:center}
#content #bo_list tbody td{padding:16px 8px;border-bottom:1px solid #eef0f3;color:#6b7480;font-size:14.5px;text-align:center;vertical-align:middle}
#content #bo_list td.td_subject{text-align:left}
#content #bo_list .bo_tit{font-weight:500;display:inline}
#content #bo_list .bo_tit a{color:#2c3138}
#content #bo_list .bo_tit a:hover{color:var(--blue)}
#content #bo_list tbody tr:hover td{background:#fafbfc}
#content #bo_list .bo_notice td{background:#f3f7fc}
#content #bo_list .bo_notice .bo_tit a{color:var(--navy);font-weight:600}
#content .notice_icon{display:inline-block;background:var(--blue);color:#fff;font-size:12px;font-weight:600;padding:2px 10px;border-radius:20px;margin-right:6px}
#content .empty_table,#content td.empty_table{padding:70px 0;text-align:center;color:#9aa3af;font-size:15px}
#content #bo_list a.na_icon,#content .list_thumbnail img{border-radius:6px}
/* 페이지네이션 */
#content .pg_wrap{margin-top:26px;text-align:center;clear:both}
#content .pg{display:inline-flex;gap:5px;flex-wrap:wrap;justify-content:center}
#content .pg_page,#content .pg_current,#content .pg_start,#content .pg_end,#content .pg_prev,#content .pg_next{
  display:inline-flex;align-items:center;justify-content:center;min-width:40px;height:40px;padding:0 8px;border:1px solid #e2e6ec;border-radius:8px;color:#6f7885;font-size:14px;background:#fff}
#content .pg_current{background:var(--navy);border-color:var(--navy);color:#fff;font-weight:600}
#content a.pg_page:hover{border-color:var(--blue);color:var(--blue)}
/* 검색 */
#content #bo_sch{margin-top:28px;padding:20px;background:#f7f9fb;border:1px solid #eef0f3;border-radius:12px}
#content #bo_sch h2{display:none}
#content #bo_sch fieldset,#content #bo_sch .sch_bar{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;align-items:center}
#content #bo_sch select,#content #bo_sch input[type=text]{border:1px solid #dde2e9;border-radius:8px;padding:11px 14px;font-size:14px;background:#fff}
#content #bo_sch .btn_b01,#content #bo_sch input[type=submit],#content #bo_sch button[type=submit]{width:auto;min-width:auto;padding:0 22px;height:44px;background:var(--navy);color:#fff;border:0;border-radius:8px;cursor:pointer}
/* 게시글 보기 */
#content #bo_v{max-width:100%}
#content #bo_v_title{padding:8px 0 0}
#content #bo_v_title .bo_v_tit,#content .bo_v_tit{font-size:26px;font-weight:700;color:var(--navy);line-height:1.45}
#content .bo_v_cate{color:var(--blue);font-weight:600;margin-right:8px}
#content #bo_v_info{display:flex;align-items:center;gap:16px;flex-wrap:wrap;border-top:1px solid #e6e9ee;border-bottom:1px solid #e6e9ee;padding:16px 4px;margin-top:16px;color:#9aa3af;font-size:13.5px}
#content #bo_v_info strong,#content #bo_v_info .sv_member{color:#5a626d;font-weight:600}
#content #bo_v_info .profile_img img,#content #bo_v_info .pf_img img{width:34px;height:34px;border-radius:50%}
#content #bo_v_con{padding:38px 4px;min-height:160px;font-size:16px;line-height:1.85;color:#3f454d}
#content #bo_v_con img{max-width:100%;height:auto}
#content #bo_v_atc{margin:0 0 22px;border:1px solid #eef0f3;border-radius:10px;overflow:hidden}
#content #bo_v_atc_title{background:#f5f7f9;color:var(--navy);font-size:14px;font-weight:600;padding:13px 16px;margin:0;border:0}
#content #bo_v_file li{padding:12px 16px;border-top:1px solid #f0f2f5;font-size:14px}
#content #bo_v_file a{color:#41474f}
#content #bo_v_file a:hover{color:var(--blue)}
#content #bo_v_act,#content #bo_v_share{margin:22px 0;text-align:center}
#content #good_button,#content #nogood_button{display:inline-flex;flex-direction:column;align-items:center;gap:4px;min-width:88px;padding:14px;border:1px solid #e2e6ec;border-radius:10px;background:#fff;color:#5a626d;cursor:pointer;transition:.2s}
#content #good_button:hover{border-color:var(--blue);color:var(--blue)}
/* 보기 하단 버튼 */
#content #bo_v_bot{margin-top:24px;display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap}
#content #bo_v_bot .btn_bo_user{flex-wrap:wrap}
#content #bo_v_bot .btn_b01,#content #bo_v_bot .btn_b02,#content #bo_v_bot .btn_admin,#content .btn_b02{
  display:inline-flex;align-items:center;gap:6px;height:44px;padding:0 20px;border-radius:8px;font-size:14.5px;font-weight:600;border:1px solid #e2e6ec;background:#fff;color:#5a626d;transition:.2s}
#content #bo_v_bot .btn_b01:hover,#content .btn_b02:hover{border-color:var(--blue);color:var(--blue)}
#content .btn_b03{display:inline-flex;align-items:center;gap:6px;height:40px;padding:0 16px;border:1px solid #e2e6ec;border-radius:8px;background:#fff;color:#5a626d}
/* 이전/다음 글 */
#content .bo_v_nb{border-top:1px solid #eef0f3;margin-top:22px}
#content .bo_v_nb li{display:flex;gap:12px;padding:13px 4px;border-bottom:1px solid #f2f4f6;font-size:14px}
#content .bo_v_nb .nb_tit{color:#8a929e;min-width:54px}
#content .bo_v_nb a{color:#4d545d}
#content .bo_v_nb a:hover{color:var(--blue)}
/* 댓글 */
#content #bo_vc{margin-top:38px}
#content .cnt_cmt{font-size:17px;font-weight:700;color:var(--navy);margin-bottom:14px}
#content .cnt_cmt b,#content #bo_vc strong{color:var(--blue)}
#content #bo_vc article,#content .bo_vc_hd,#content #viewcomment li{border:1px solid #eef0f3;border-radius:10px;padding:14px 16px;margin-bottom:10px;background:#fff;list-style:none}
#content .cmt_contents{font-size:14.5px;color:#41474f;line-height:1.7}
#content .bo_vc_hdinfo,#content .cmt_info{color:#9aa3af;font-size:13px}
#content #bo_vc textarea{width:100%;border:1px solid #dde2e9;border-radius:10px;padding:14px;font-size:14.5px;min-height:90px}
#content #bo_vc textarea:focus{border-color:var(--blue);outline:0;box-shadow:0 0 0 3px rgba(30,111,196,.12)}
/* 글쓰기 폼 */
#content #bo_w #fwrite{max-width:100%}
#content #bo_w .write_div{margin-bottom:14px}
#content #bo_w .frm_input,#content #bo_w input[type=text],#content #bo_w input[type=password],#content #bo_w input[type=email],#content #bo_w select,#content #bo_w textarea{
  width:100%;border:1px solid #dde2e9;border-radius:8px;padding:13px 15px;font-size:15px;color:#2c3138;background:#fff;transition:.15s;line-height:1.4}
#content #bo_w .frm_input:focus,#content #bo_w select:focus,#content #bo_w textarea:focus{border-color:var(--blue);outline:0;box-shadow:0 0 0 3px rgba(30,111,196,.12)}
#content #bo_w .frm_input::placeholder{color:#aab2bd}
#content #bo_w .bo_w_info{display:flex;flex-wrap:wrap;gap:12px}
#content #bo_w .bo_w_info .half_input{flex:1 1 calc(50% - 6px);min-width:180px;width:auto}
#content #bo_w .bo_v_option{display:flex;flex-wrap:wrap;gap:8px;padding:2px 0;list-style:none;margin:0}
#content #bo_w .bo_v_option li{list-style:none;margin:0}
#content #bo_w .bo_v_option label{display:inline-flex;align-items:center;gap:6px;background:#f4f6f9;border:1px solid #e2e6ec;border-radius:20px;padding:8px 16px;font-size:14px;color:#5a626d;cursor:pointer}
#content #bo_w .bo_w_tit .frm_input{font-size:16px}
#content #bo_w .wr_content{border:1px solid #dde2e9;border-radius:8px;overflow:hidden}
#content #bo_w .wr_content textarea{border:0;border-radius:0;min-height:340px;resize:vertical}
#content #bo_w #char_count_desc{font-size:13px;color:#9aa3af;margin:8px 2px 0}
#content #bo_w #char_count_wrap{font-size:13px;color:#9aa3af;text-align:right;margin-top:4px}
#content #bo_w #char_count{color:var(--blue);font-weight:600}
#content #bo_w .bo_w_link,#content #bo_w .file_wr{display:flex;align-items:center;gap:10px;margin-bottom:8px}
#content #bo_w .bo_w_link>label,#content #bo_w .file_wr .lb_icon{flex:0 0 44px;width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;background:var(--navy);color:#fff;border-radius:8px;font-size:16px}
#content #bo_w .frm_file{flex:1;width:auto;min-width:0;border:1px solid #e2e6ec;border-radius:8px;padding:9px 12px;background:#fff;font-size:14px}
#content #bo_w .bo_w_flie{margin-bottom:12px}
#content #bo_w .bo_w_flie>.frm_input{width:100%}
#content #bo_w .file_del{display:inline-block;margin-top:6px;font-size:13px;color:#8a929e}
#content #bo_w .btn_confirm{display:flex;justify-content:center;align-items:center;gap:10px;margin-top:26px;padding-top:22px;border-top:1px solid #eef0f3}
#content #bo_w .btn_cancel,#content #bo_w .btn_submit{text-align:center;text-decoration:none}
#content #bo_w .btn_cancel{display:inline-flex;align-items:center;justify-content:center;min-width:120px;padding:14px 26px;border:1px solid #d7dbe2;border-radius:8px;background:#fff;color:#5a626d;font-size:15px;font-weight:600;transition:.2s}
#content #bo_w .btn_cancel:hover{border-color:#b7bfca;color:#3a4048}
#content #bo_w .btn_submit{min-width:160px;padding:14px 30px;border-radius:8px;background:var(--blue);color:#fff;font-size:15px;font-weight:700;border:0;cursor:pointer;transition:.2s}
#content #bo_w .btn_submit:hover{background:var(--blue-d)}
#content #bo_w #btn_autosave{margin-top:8px;font-size:13px;color:#8a929e;background:none;border:0;cursor:pointer}
/* 게시판 모바일 */
@media (max-width:768px){
  #content #bo_list thead{display:none}
  #content #bo_list table,#content #bo_list tbody,#content #bo_list tbody tr,#content #bo_list tbody td{display:block;width:100%}
  #content #bo_list tbody tr{border:1px solid #eef0f3;border-radius:10px;margin-bottom:10px;padding:8px 14px}
  #content #bo_list tbody td{border:0;text-align:left;padding:4px 2px}
  #content #bo_list td.td_subject{font-size:16px;padding:6px 2px}
  #content #bo_list td.td_num2,#content #bo_list td.td_chk{display:none}
  #content #bo_list td.td_name,#content #bo_list td.td_datetime,#content #bo_list td.td_date,#content #bo_list td.td_num{display:inline-block;width:auto;color:#9aa3af;font-size:12.5px;margin-right:12px}
  #content #bo_w .bo_w_info .half_input{flex:1 1 100%}
  #content #bo_w .btn_confirm{flex-direction:column-reverse}
  #content #bo_w .btn_cancel,#content #bo_w .btn_submit{width:100%}
  #content #bo_v_bot{flex-direction:column}
}
