/* =============================================================
 * KNU 총동창회 인터넷신문 — 프론트(신문) 스타일
 * ============================================================= */
:root {
  --knu: #B01116;          /* KNU 진홍(crimson) */
  --knu-dark: #7d0c10;
  --knu-soft: #fbeaea;
  --ink: #1a1a1a;
  --gray: #666;
  --line: #e3e3e3;
  --bg: #ffffff;
  --serif: "Nanum Myeongjo", "Batang", "Georgia", serif;
  --sans: "Malgun Gothic", "Apple SD Gothic Neo", "Noto Sans KR", sans-serif;
}

* { box-sizing: border-box; }
body {
  margin: 0; background: var(--bg); color: var(--ink);
  font-family: var(--sans); line-height: 1.6; -webkit-font-smoothing: antialiased;
}
a { color: inherit; text-decoration: none; }
a:hover { color: var(--knu); }
img { max-width: 100%; display: block; }
.wrap { max-width: 1180px; margin: 0 auto; padding: 0 20px; }

/* ---- 상단 유틸바 ---- */
.topbar { background: var(--knu-dark); color: #fff; font-size: 12.5px; }
.topbar .wrap { display: flex; justify-content: space-between; align-items: center; height: 34px; }
.topbar a { color: #fff; opacity: .9; }
.topbar a:hover { opacity: 1; }
.topbar .util a { margin-left: 14px; }

/* ---- 제호(마스트헤드) ---- */
.masthead { border-bottom: 3px solid var(--knu); }
.masthead .wrap { display: flex; align-items: center; gap: 22px; padding: 20px 20px 16px; }
.brand { display: flex; align-items: center; gap: 14px; }
.brand .mark { width: 58px; height: 58px; object-fit: contain; display: block; }
.brand h1 { margin: 0; font-family: var(--serif); font-size: 30px; letter-spacing: -1px; color: var(--knu-dark); }
.brand p { margin: 2px 0 0; font-size: 12.5px; color: var(--gray); }
.masthead .meta { margin-left: auto; text-align: right; font-size: 12px; color: var(--gray); }
.masthead .search { display: flex; margin-top: 8px; }
.masthead .search input { border: 1px solid var(--line); padding: 6px 10px; width: 150px; font-size: 13px; }
.masthead .search button { border: 1px solid var(--knu); background: var(--knu); color: #fff; padding: 0 12px; cursor: pointer; }

/* ---- 내비게이션 ---- */
.gnb { border-bottom: 1px solid var(--line); position: sticky; top: 0; background: #fff; z-index: 50; }
.gnb .wrap { display: flex; gap: 4px; overflow-x: auto; }
.gnb a {
  padding: 13px 16px; font-weight: 700; font-size: 15px; white-space: nowrap;
  border-bottom: 3px solid transparent;
}
.gnb a:hover, .gnb a.active { color: var(--knu); border-bottom-color: var(--knu); }

/* ---- 브레이킹/발행일 띠 ---- */
.dateband { background: var(--knu-soft); font-size: 12.5px; color: var(--knu-dark); }
.dateband .wrap { display: flex; gap: 10px; align-items: center; height: 30px; }
.dateband b { color: var(--knu); }

/* ---- 레이아웃 ---- */
.layout { display: grid; grid-template-columns: 1fr 300px; gap: 40px; padding: 28px 0 50px; }
@media (max-width: 900px) { .layout { grid-template-columns: 1fr; } }

.section-title {
  font-family: var(--serif); font-size: 20px; margin: 0 0 14px; padding-bottom: 8px;
  border-bottom: 2px solid var(--ink); display: flex; align-items: center; gap: 8px;
}
.section-title .bar { width: 5px; height: 18px; background: var(--knu); display: inline-block; }

/* 톱기사 */
.lead-story { display: grid; grid-template-columns: 1.3fr 1fr; gap: 24px; margin-bottom: 28px; }
@media (max-width: 700px) { .lead-story { grid-template-columns: 1fr; } }
.lead-story .thumb { aspect-ratio: 16/10; overflow: hidden; background: #eee; }
.lead-story .thumb img { width: 100%; height: 100%; object-fit: cover; }
.lead-story h2 { font-family: var(--serif); font-size: 30px; line-height: 1.25; margin: 4px 0 12px; letter-spacing: -.5px; }
.lead-story .lead { color: #333; font-size: 16px; }
.cat-badge { display: inline-block; background: var(--knu); color: #fff; font-size: 12px; font-weight: 700; padding: 3px 9px; border-radius: 2px; margin-bottom: 8px; }

/* 기사 그리드 */
.grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
@media (max-width: 700px) { .grid { grid-template-columns: repeat(2, 1fr); } }
.card .thumb { aspect-ratio: 16/10; overflow: hidden; background: #eee; margin-bottom: 10px; }
.card .thumb img { width: 100%; height: 100%; object-fit: cover; transition: transform .3s; }
.card:hover .thumb img { transform: scale(1.05); }
.card h3 { font-family: var(--serif); font-size: 17px; line-height: 1.35; margin: 0 0 6px; }
.card .lead { font-size: 13px; color: var(--gray); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.card .m { font-size: 12px; color: #999; margin-top: 6px; }

/* 리스트형 */
.list-row { display: flex; gap: 16px; padding: 16px 0; border-bottom: 1px solid var(--line); }
.list-row .thumb { width: 150px; height: 95px; flex: none; overflow: hidden; background: #eee; }
.list-row .thumb img { width: 100%; height: 100%; object-fit: cover; }
.list-row h3 { font-family: var(--serif); font-size: 19px; margin: 0 0 6px; }
.list-row .lead { font-size: 14px; color: var(--gray); }
.list-row .m { font-size: 12px; color: #999; margin-top: 6px; }

/* 사이드바 */
.aside .box { border: 1px solid var(--line); margin-bottom: 26px; }
.aside .box h4 { margin: 0; background: var(--ink); color: #fff; font-size: 15px; padding: 10px 14px; font-family: var(--serif); }
.aside .box .body { padding: 12px 14px; }
.rank li { list-style: none; display: flex; gap: 10px; padding: 9px 0; border-bottom: 1px dashed var(--line); font-size: 14px; }
.rank { margin: 0; padding: 0; }
.rank li:last-child { border-bottom: none; }
.rank .no { color: var(--knu); font-weight: 800; font-family: var(--serif); width: 18px; }
.promo { display: block; background: linear-gradient(135deg, var(--knu), var(--knu-dark)); color: #fff; padding: 22px 18px; text-align: center; }
.promo b { font-size: 18px; font-family: var(--serif); }
.promo span { display: block; font-size: 13px; opacity: .9; margin-top: 6px; }

/* 메인 오른쪽 YouTube 채널 */
.youtube-widget { margin: 0 0 26px; overflow: hidden; border: 1px solid #dfe2e5; background: #fff; box-shadow: 0 8px 22px rgba(21,33,43,.08); }
.youtube-widget-head { display: flex; align-items: center; gap: 11px; padding: 14px; background: #151b20; color: #fff; }
.youtube-widget-head .youtube-play { display: grid; place-items: center; width: 38px; height: 28px; flex: 0 0 auto; border-radius: 7px; background: #ff0033; color: #fff; font-size: 13px; line-height: 1; padding-left: 2px; }
.youtube-widget-head small { display: block; margin-bottom: 2px; color: #ff6a83; font-size: 9px; font-weight: 900; letter-spacing: .14em; }
.youtube-widget-head h4 { margin: 0; font: 800 16px/1.3 var(--serif); }
.youtube-frame { position: relative; aspect-ratio: 16 / 9; background: #090b0c; }
.youtube-frame iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.youtube-widget-body { padding: 12px 14px 14px; }
.youtube-widget-body p { margin: 0 0 10px; color: #626c74; font-size: 12.5px; line-height: 1.55; }
.youtube-widget-body a { display: flex; align-items: center; justify-content: space-between; padding-top: 10px; border-top: 1px solid #e5e8ea; color: #a20b14; font-size: 12.5px; font-weight: 800; }
.youtube-widget-body a:hover { color: #e0002a; }

/* 총동창회 안내 아래 박스형 배너 5개 */
.aside-box-banners { display: grid; gap: 14px; }
.aside-box-banners .ad-banner { margin: 0; }
.aside-box-banners .ad-label { top: 7px; left: 7px; font-size: 8px; }
.aside-box-banners .ad-text { min-height: 126px; padding: 24px 16px 15px; flex-direction: column; align-items: flex-start; justify-content: flex-end; border-radius: 3px; }
.aside-box-banners .ad-text b { font-size: 17px; }
.aside-box-banners .ad-text span { margin-top: 4px; font-size: 12px; line-height: 1.5; }
.aside-box-banners .ad-text em { margin: 10px 0 0; font-size: 11px; }
.aside-box-banners .banner-design,.aside-box-banners .banner-copy { min-height: 126px; }
.aside-box-banners .banner-copy { justify-content: flex-end; padding: 25px 16px 15px; }
.aside-box-banners .banner-copy b,.aside-box-banners .banner-copy span { max-width: 100%; }
.aside-box-banners .banner-copy b { font-size: 17px; }

/* 메인 오른쪽 Instagram 피드 */
.instagram-widget { margin: 0 0 26px; overflow: hidden; border: 1px solid #dfe2e5; background: #fff; box-shadow: 0 8px 22px rgba(21,33,43,.08); }
.instagram-widget-head { display: flex; align-items: center; gap: 12px; padding: 14px; background: linear-gradient(135deg,#833ab4 0%,#c13584 38%,#e1306c 65%,#f77737 100%); color: #fff; }
.instagram-camera { position: relative; width: 34px; height: 34px; flex: 0 0 auto; border: 2px solid #fff; border-radius: 10px; }
.instagram-camera::before { content: ''; position: absolute; left: 8px; top: 8px; width: 12px; height: 12px; border: 2px solid #fff; border-radius: 50%; }
.instagram-camera::after { content: ''; position: absolute; right: 6px; top: 6px; width: 4px; height: 4px; border-radius: 50%; background: #fff; }
.instagram-widget-head small { display: block; margin-bottom: 1px; font-size: 9px; font-weight: 900; letter-spacing: .14em; opacity: .85; }
.instagram-widget-head h4 { margin: 0; font: 800 15px/1.25 var(--serif); }
.instagram-widget-head b { display: block; margin-top: 2px; font-size: 11px; font-weight: 600; opacity: .9; }
.instagram-frame { height: 520px; overflow: hidden; background: #fff; }
.instagram-frame iframe { width: 100%; height: 100%; border: 0; }
.instagram-widget-body { padding: 12px 14px 14px; }
.instagram-widget-body p { margin: 0 0 10px; color: #626c74; font-size: 12.5px; line-height: 1.55; }
.instagram-widget-body a { display: flex; align-items: center; justify-content: space-between; padding-top: 10px; border-top: 1px solid #e5e8ea; color: #c13584; font-size: 12.5px; font-weight: 800; }
.instagram-widget-body a:hover { color: #e1306c; }

/* ---- 기사 상세 ---- */
.article { max-width: 760px; margin: 0 auto; padding: 30px 0 60px; }
.article .cat-badge { margin-bottom: 14px; }
.article h1 { font-family: var(--serif); font-size: 34px; line-height: 1.3; letter-spacing: -.5px; margin: 0 0 16px; }
.article .lead { font-size: 18px; color: #333; font-weight: 600; padding: 14px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.article .byline { display: flex; justify-content: space-between; color: var(--gray); font-size: 13px; margin: 14px 0 20px; }
.article .hero { margin: 6px 0 8px; }
.article .hero figcaption { font-size: 12.5px; color: #999; text-align: center; padding: 6px; }
.article .content { font-family: var(--serif); font-size: 18px; line-height: 1.9; }
.article .content p { margin: 0 0 20px; }
.article .tags { margin: 26px 0; }
.article .tags a { display: inline-block; background: var(--knu-soft); color: var(--knu-dark); font-size: 13px; padding: 5px 12px; border-radius: 20px; margin: 0 6px 6px 0; }
.article-tools { display: flex; gap: 8px; margin: 14px 0 6px; }
.article-tools button { border: 1px solid var(--line); background: #fff; padding: 8px 14px; border-radius: 6px; cursor: pointer; font-size: 13px; }
.article-tools button:hover { border-color: var(--knu); color: var(--knu); }
.ai-summary { background: var(--knu-soft); border-left: 4px solid var(--knu); padding: 16px 18px; margin: 18px 0; font-size: 15px; }
.ai-summary b { color: var(--knu-dark); display: block; margin-bottom: 6px; }

/* ---- 푸터 (법정 표기) ---- */
footer { border-top: 3px solid var(--knu); background: #f7f7f7; margin-top: 30px; font-size: 13px; color: var(--gray); }
footer .wrap { padding: 26px 20px 40px; }
footer .legal { display: grid; grid-template-columns: repeat(2, 1fr); gap: 4px 30px; max-width: 720px; }
@media (max-width: 600px) { footer .legal { grid-template-columns: 1fr; } }
footer .flinks { margin: 14px 0; }
footer .flinks a { margin-right: 14px; font-weight: 700; color: var(--ink); }
footer .copy { margin-top: 16px; color: #999; font-size: 12px; }

/* ---- 광고 배너 ---- */
.ad-banner { position: relative; margin: 22px 0; }
.ad-banner .ad-label {
  position: absolute; top: 6px; right: 8px; z-index: 2; font-size: 10px; font-weight: 700;
  color: #fff; background: rgba(0,0,0,.45); padding: 2px 6px; border-radius: 3px; letter-spacing: .5px;
}
.ad-banner a { display: block; text-decoration: none; }
.banner-design{position:relative;overflow:hidden;min-height:130px;background:#18232d;color:#fff;border-radius:3px}.banner-design>img{position:absolute;inset:0;width:100%;height:100%}.banner-copy{position:relative;z-index:1;min-height:130px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:24px 28px;background:linear-gradient(90deg,rgba(12,19,25,.9),rgba(12,19,25,.08) 78%)}.banner-copy small{font-size:10px;font-weight:900;letter-spacing:.16em}.banner-copy b{max-width:72%;font:800 23px/1.25 var(--serif);margin:4px 0}.banner-copy span{max-width:72%;font-size:13px}.banner-copy em{margin-top:10px;padding:5px 10px;border:1px solid #fff;font-size:11px;font-style:normal}.banner-design.tpl-crimson .banner-copy{background:linear-gradient(90deg,rgba(148,0,10,.96),rgba(148,0,10,.14))}.banner-design.tpl-gold .banner-copy{background:linear-gradient(90deg,rgba(58,39,7,.96),rgba(187,133,35,.15))}.banner-design.tpl-minimal .banner-copy{position:absolute;left:18px;right:18px;bottom:14px;min-height:0;padding:13px 16px;background:#fffffff0;color:#192028;border-left:6px solid var(--knu)}.banner-design.tpl-minimal .banner-copy em{border-color:#222}.ad-aside .banner-design{min-height:300px}.ad-aside .banner-copy{min-height:300px;justify-content:flex-end}.ad-top .banner-design,.ad-footer .banner-design{min-height:90px}.ad-top .banner-copy,.ad-footer .banner-copy{min-height:90px;padding-top:14px;padding-bottom:14px}.ad-text.tpl-crimson{background:linear-gradient(120deg,#b01116,#65070c)!important}.ad-text.tpl-news{background:linear-gradient(120deg,#14212b,#385065)!important}.ad-text.tpl-gold{background:linear-gradient(120deg,#4b350f,#bd8e32)!important}.ad-text.tpl-minimal{background:#fff!important;color:#172029!important;border:1px solid #d9dde0;border-left:7px solid var(--knu)}
.ad-banner img { width: 100%; height: auto; display: block; border-radius: 6px; }
.ad-banner .ad-text {
  display: flex; align-items: center; gap: 12px; flex-wrap: wrap;
  background: linear-gradient(120deg, #2b2f36, #454b55); color: #fff;
  padding: 18px 22px; border-radius: 8px; border: 1px solid #d9d9d9;
}
.ad-banner .ad-text b { font-family: var(--serif); font-size: 18px; }
.ad-banner .ad-text span { font-size: 13.5px; opacity: .9; }
.ad-banner .ad-text em { margin-left: auto; font-style: normal; font-weight: 700; color: #ffd9d9; font-size: 13px; }

/* 상단 띠(리더보드) */
.ad-banner.ad-top, .ad-banner.ad-footer { margin: 0; }
.ad-banner.ad-footer .ad-text { border-radius: 0; max-width: 1180px; margin: 0 auto; }
.ad-banner.ad-top .ad-text {
  border-radius: 0; background: linear-gradient(120deg, var(--knu-dark), var(--knu));
  padding: 12px 20px; max-width: 1180px; margin: 0 auto;
}
.ad-banner.ad-top .ad-text b { font-size: 16px; }
/* 사이드바 배너(세로형) */
.ad-banner.ad-aside .ad-text { flex-direction: column; align-items: flex-start; padding: 22px 18px;
  background: linear-gradient(135deg, #37474f, #263238); }
.ad-banner.ad-aside .ad-text em { margin-left: 0; margin-top: 6px; }
@media (max-width: 600px) { .ad-banner .ad-text em { margin-left: 0; width: 100%; } }

/* 지방선거 당선 동문 2인 슬라이드 배너 */
.election-banner{position:relative;margin:28px 0 34px;overflow:hidden;border-radius:12px;background:linear-gradient(135deg,#750007 0%,#a6000b 58%,#510006 100%);color:#fff;box-shadow:0 10px 30px rgba(95,0,8,.2)}
.election-banner:before{content:"";position:absolute;width:260px;height:260px;border:55px solid rgba(255,255,255,.05);border-radius:50%;right:-90px;top:-130px}
.election-head{position:relative;display:flex;align-items:center;justify-content:space-between;padding:25px 32px 17px;border-bottom:1px solid rgba(255,255,255,.16)}
.election-head span{font-size:11px;font-weight:800;letter-spacing:.18em;color:#ffd86a}.election-head h3{font-family:var(--serif);font-size:25px;margin:3px 0 2px}.election-head p{font-size:13px;margin:0;color:#f1d7d9}
.election-count{display:flex;align-items:flex-end;gap:7px}.election-count b{font:700 38px/1 var(--serif);color:#ffd86a}.election-count span{font-size:12px;padding-bottom:4px}
.election-stage{position:relative;min-height:170px}.election-slide{position:absolute;inset:0;display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:22px 64px;opacity:0;transform:translateX(35px);pointer-events:none;transition:opacity .55s ease,transform .55s ease}.election-slide.active{position:relative;opacity:1;transform:none;pointer-events:auto}
.winner-card{display:flex;align-items:center;gap:17px;min-width:0;padding:14px 17px;border:1px solid rgba(255,255,255,.22);border-radius:10px;background:rgba(255,255,255,.1);backdrop-filter:blur(3px)}
.winner-portrait{flex:0 0 78px;width:78px;height:78px;border-radius:50%;display:grid;place-items:center;overflow:hidden;background:#fff;border:4px solid #e7c75d;box-shadow:0 3px 12px #2b000755}.winner-portrait img{width:100%;height:100%;object-fit:cover}.winner-portrait span{font:800 34px/1 var(--serif);color:#8f0009}
.winner-copy{min-width:0}.winner-copy small{display:block;color:#ffd86a;font-size:11px;margin-bottom:2px}.winner-copy strong{display:block;font:700 22px/1.25 var(--serif);white-space:nowrap}.winner-copy b{display:block;font-size:13px;margin-top:5px;color:#f5e8e9}
.election-arrow{position:absolute;z-index:3;top:50%;transform:translateY(-50%);width:34px;height:44px;border:0;border-radius:5px;background:rgba(0,0,0,.22);color:#fff;font-size:29px;cursor:pointer}.election-arrow:hover{background:rgba(0,0,0,.42)}.election-arrow.prev{left:16px}.election-arrow.next{right:16px}
.election-foot{position:relative;display:flex;align-items:center;justify-content:space-between;padding:0 32px 18px}.election-foot a{color:#fff;text-decoration:none;font-size:12px}.election-dots{display:flex;gap:6px}.election-dots button{width:7px;height:7px;padding:0;border:0;border-radius:9px;background:rgba(255,255,255,.38);cursor:pointer;transition:.25s}.election-dots button.active{width:23px;background:#ffd86a}
@media(max-width:700px){.election-head{padding:20px}.election-head h3{font-size:21px}.election-head p{font-size:12px}.election-count{display:none}.election-slide{grid-template-columns:1fr;padding:18px 48px}.winner-card{padding:11px}.winner-portrait{flex-basis:64px;width:64px;height:64px}.winner-copy strong{font-size:19px}.election-foot{padding:0 20px 16px}}

/* 총동창회 CMS 후원·가입 메인 배너 */
.cms-main-banner{position:relative;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(370px,.85fr);gap:28px;margin:0 0 34px;padding:38px 38px 60px;overflow:hidden;border-radius:14px;background:linear-gradient(120deg,#111820 0%,#182734 51%,#760008 51%,#a4000b 100%);color:#fff;box-shadow:0 12px 34px rgba(9,22,31,.22)}
.cms-main-banner:before{content:"KNU";position:absolute;left:22px;top:-38px;font:900 150px/1 Arial,sans-serif;letter-spacing:-.08em;color:rgba(255,255,255,.025)}
.cms-brand{position:absolute;left:38px;top:24px;display:flex;align-items:center;gap:9px;font-size:12px;font-weight:800;letter-spacing:.06em}.cms-brand img{width:30px;height:30px;border-radius:50%;background:#fff}.cms-main-copy{position:relative;padding-top:43px}.cms-main-copy>small{color:#ffdb75;font-weight:800;letter-spacing:.12em}.cms-main-copy h2{margin:7px 0 11px;font:700 31px/1.3 var(--serif);letter-spacing:-.04em}.cms-main-copy p{margin:0;color:#dbe3e9}.cms-actions{display:flex;gap:9px;margin-top:20px}.cms-actions a{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 17px;border-radius:5px;text-decoration:none;font-weight:800}.cms-primary{background:#ffd45f;color:#2a1c00}.cms-secondary{border:1px solid rgba(255,255,255,.48);color:#fff;background:rgba(255,255,255,.08)}
.cms-account-card{position:relative;align-self:center;padding:20px;border:1px solid rgba(255,255,255,.23);border-radius:11px;background:rgba(255,255,255,.96);color:#222;box-shadow:0 7px 24px rgba(50,0,3,.2)}.cms-account-head{display:flex;justify-content:space-between;gap:12px;padding-bottom:10px;border-bottom:1px solid #eee}.cms-account-head span{font-weight:900;color:#8d0008}.cms-account-head b{font-size:11px;color:#555}.cms-account-primary{display:grid;grid-template-columns:1fr;gap:7px;margin-top:11px}.cms-account-primary>div{display:flex;align-items:center;justify-content:space-between;padding:7px 10px;border-radius:5px;background:#f6f6f6}.cms-account-primary small{font-weight:700;color:#555}.cms-account-primary strong{font:700 16px/1.2 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.02em}.cms-more-button{width:100%;margin-top:9px;padding:7px;border:0;background:transparent;color:#8d0008;font-size:12px;font-weight:800;cursor:pointer}.cms-more-accounts{display:grid;grid-template-columns:1fr 1fr;gap:5px 12px;padding:9px;border-radius:5px;background:#fff4f4;font-size:11px}.cms-more-accounts span{display:flex;justify-content:space-between;gap:5px}.cms-account-card>p{margin:9px 0 0;color:#666;font-size:10.5px}.cms-account-card>p a{color:#8d0008;font-weight:800}.cms-fee-strip{position:absolute;left:0;right:0;bottom:0;display:flex;align-items:center;gap:20px;min-height:42px;padding:0 38px;background:rgba(0,0,0,.27);font-size:11px}.cms-fee-strip b{color:#ffdc75}.cms-fee-strip a{margin-left:auto;color:#fff;text-decoration:none;font-weight:700}
@media(max-width:900px){.cms-main-banner{grid-template-columns:1fr;background:linear-gradient(145deg,#111820,#243747 52%,#8d0009);padding:34px 26px 76px}.cms-brand{left:26px;top:20px}.cms-main-copy{padding-top:38px}.cms-main-copy h2{font-size:27px}.cms-account-card{max-width:620px;width:100%}.cms-fee-strip{padding:0 26px;gap:12px;flex-wrap:wrap}.cms-fee-strip a{margin-left:0}}
@media(max-width:560px){.cms-main-banner{padding:28px 18px 105px}.cms-brand{left:18px}.cms-main-copy h2{font-size:23px}.cms-actions{display:grid}.cms-account-head{display:block}.cms-account-head b{display:block;margin-top:3px}.cms-account-primary strong{font-size:13px}.cms-more-accounts{grid-template-columns:1fr}.cms-fee-strip{padding:9px 18px;gap:5px 13px;line-height:1.4}.cms-fee-strip a{width:100%}}

/* breadcrumb / 검색결과 */
.crumb { font-size: 13px; color: var(--gray); padding: 16px 0 0; }
.crumb b { color: var(--knu); }
.empty { padding: 60px 0; text-align: center; color: var(--gray); }
/* 발전기금·동창회보·동문기업 통합 슬라이드 */
.community-slider{position:relative;margin:-12px 0 36px;overflow:hidden;border:1px solid #d9dde1;border-radius:14px;background:#fff;box-shadow:0 8px 24px rgba(20,32,44,.1)}
.community-slides{position:relative;min-height:260px}.community-slide{position:absolute;inset:0;display:grid;grid-template-columns:130px minmax(0,1fr) 90px;align-items:center;gap:25px;padding:38px 72px;opacity:0;transform:translateX(38px);pointer-events:none;transition:opacity .5s ease,transform .5s ease}.community-slide.active{position:relative;opacity:1;transform:none;pointer-events:auto}.community-slide:before{content:"";position:absolute;inset:0;z-index:-1}
.community-fund:before{background:linear-gradient(120deg,#f7f3ec 0%,#fff 62%,#f5e3e4 100%)}.community-news:before{background:linear-gradient(120deg,#edf5f8,#fff 60%,#e7eff2)}.community-company:before{background:linear-gradient(120deg,#151c24,#293747 72%,#770008)}
.community-icon{width:112px;height:112px;border-radius:50%;display:grid;place-items:center;background:#9d0009;color:#fff;font:900 26px/1 Arial,sans-serif;box-shadow:0 10px 24px rgba(133,0,8,.18)}.community-news .community-icon{background:#183e55;font-size:17px}.community-company .community-icon{background:#fff;color:#950009}
.community-copy small{display:block;margin-bottom:8px;color:#9d0009;font-weight:900;letter-spacing:.09em}.community-copy h2{margin:0 0 10px;font:800 27px/1.3 var(--serif);color:#17212a}.community-copy p{max-width:720px;margin:0 0 14px;color:#4f5962;line-height:1.7}.community-copy em{display:block;margin:-5px 0 12px;color:#69727b;font-size:11px;font-style:normal}.community-copy a{display:inline-block;padding:9px 15px;border-radius:4px;background:#9d0009;color:#fff;font-weight:800;text-decoration:none}.community-company .community-copy small,.community-company .community-copy h2,.community-company .community-copy em{color:#fff}.community-company .community-copy p{color:#e1e8ed}.community-company .community-copy em{color:#b9c4cc}.community-company .community-copy a{background:#fff;color:#850008}
.community-number{justify-self:end;color:#a7afb5}.community-number b{font:900 35px/1 Arial,sans-serif;color:#9d0009}.community-number span{font-size:13px}.community-company .community-number b{color:#fff}.community-arrow{position:absolute;z-index:3;top:50%;width:38px;height:54px;border:0;border-radius:5px;background:rgba(18,29,38,.72);color:#fff;font-size:28px;cursor:pointer;transform:translateY(-50%)}.community-arrow.prev{left:14px}.community-arrow.next{right:14px}
.community-nav{position:absolute;z-index:3;left:72px;right:72px;bottom:14px;display:flex;align-items:center;justify-content:space-between;color:#717980;font-size:11px}.community-dots{display:flex;gap:6px}.community-dots button{width:22px;height:4px;padding:0;border:0;border-radius:5px;background:#c7cdd1;cursor:pointer}.community-dots button.active{width:42px;background:#9d0009}
@media(max-width:760px){.community-slides{min-height:355px}.community-slide{grid-template-columns:70px 1fr;padding:34px 50px 58px;gap:16px}.community-icon{width:65px;height:65px;font-size:18px}.community-copy{grid-column:1/-1}.community-copy h2{font-size:23px}.community-number{position:absolute;right:52px;top:35px}.community-nav{left:50px;right:50px}.community-nav>span{display:none}.community-arrow{width:32px}.community-arrow.prev{left:8px}.community-arrow.next{right:8px}}
@media(prefers-reduced-motion:reduce){.community-slide{transition:none}}

/* 2026 뉴스룸 리뉴얼 — 신문형 다단 편집 */
:root{--news-navy:#15212b;--news-red:#a20b14;--news-paper:#fff;--news-muted:#69737c;--news-rule:#d8dde1}
body{background:#f3f4f5;color:#15191d}.wrap{max-width:1240px}.topbar{background:#171d22}.topbar .wrap{height:38px}.masthead{background:#fff;border-bottom:0}.masthead .wrap{min-height:118px;padding-top:24px;padding-bottom:22px}.brand .mark{width:68px;height:68px}.brand h1{font-size:36px;color:#161b20;letter-spacing:-1.8px}.brand p{color:#7a838b;letter-spacing:.03em}.masthead .meta{padding-left:28px;border-left:1px solid #dfe2e5}.gnb{border-top:1px solid #20272d;border-bottom:3px solid var(--news-red);background:#fff}.gnb .wrap{justify-content:center}.gnb a{padding:15px 18px;border:0}.gnb a:hover,.gnb a.active{background:var(--news-red);color:#fff}.dateband{background:var(--news-navy);color:#fff}.dateband .wrap{height:38px}.dateband b{display:inline-block;color:#fff;background:var(--news-red);padding:3px 9px}.home-front{background:#fff;margin:0 -20px;padding:0 20px 56px;border-left:1px solid #e4e6e8;border-right:1px solid #e4e6e8}
.front-edition{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:22px;padding:20px 0 12px;border-bottom:1px solid #1c2329;font-size:13px;color:var(--news-muted)}.front-edition b{color:var(--news-red);font-size:12px;letter-spacing:.13em}.front-edition a{border:1px solid #bbc1c6;border-radius:50px;padding:7px 14px;color:#343b41;font-weight:700}
.front-newsroom{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(260px,.78fr) minmax(250px,.72fr);gap:26px;padding:28px 0 32px;border-bottom:1px solid var(--news-rule)}.front-lead{padding-right:26px;border-right:1px solid var(--news-rule)}.front-lead .lead-story{display:block;margin:0}.front-lead .lead-story .thumb{aspect-ratio:16/9;margin-bottom:17px}.front-lead .lead-story h2{font-size:34px;line-height:1.25;margin:5px 0 10px}.front-lead .lead-story .lead{margin:0;color:#4f5961}.front-lead .cat-badge{background:transparent;color:var(--news-red);padding:0;letter-spacing:.05em}.front-cards{display:grid;grid-template-columns:1fr 1fr;align-content:start;gap:22px 16px}.front-cards .card .thumb{aspect-ratio:16/10}.front-cards .card h3{font-size:16px}.front-cards .card .lead{display:none}.front-cards .card .m{font-size:11px}.headline-rail{background:#f4f5f6;padding:20px}.rail-title{display:flex;align-items:center;justify-content:space-between;padding-bottom:12px;border-bottom:2px solid var(--news-navy)}.rail-title b{font:800 18px var(--serif)}.rail-title a{font-size:11px;color:#777}.rail-item{display:grid;grid-template-columns:25px 1fr;gap:9px;padding:13px 0;border-bottom:1px solid #d9dde0}.rail-item>span{color:var(--news-red);font:800 13px Georgia,serif}.rail-item b{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;font:700 14px/1.45 var(--serif)}.rail-item small{display:block;margin-top:5px;color:#90979d;font-size:10px}
.renewed-layout{grid-template-columns:minmax(0,1fr) 286px;gap:34px;padding-top:38px}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;margin:0 0 20px;padding:0 0 12px;border-bottom:3px solid var(--news-navy)}.section-heading small{color:var(--news-red);font-size:10px;font-weight:900;letter-spacing:.14em}.section-heading h3{margin:1px 0 0;font:800 27px var(--serif)}.section-heading>a{font-size:12px;color:#69727a}.renewed-layout .grid{grid-template-columns:repeat(3,1fr);gap:26px 20px}.renewed-layout .grid .card{border-bottom:1px solid var(--news-rule);padding-bottom:18px}.renewed-layout .grid .card h3{font-size:18px}.latest-heading{margin-top:42px}.renewed-layout .aside .box{border:0;border-top:3px solid var(--news-navy);background:#f6f7f8}.renewed-layout .aside .box h4{background:transparent;color:#161b20;padding:13px 14px 8px;font-size:18px}.renewed-layout .promo{background:linear-gradient(140deg,#151f28,#9b0811);margin-bottom:24px}.renewed-layout .community-slider{margin-top:30px}.renewed-layout .cms-main-banner{margin-top:0}
.ad-banner .ad-text{border-radius:2px}.ad-label{border-radius:0!important}.list-row h3,.card h3,.lead-story h2{letter-spacing:-.035em}
footer{background:#1b2228;color:#c4c9cd;border-top:5px solid var(--news-red)}footer .flinks a{color:#fff}
@media(max-width:1050px){.front-newsroom{grid-template-columns:1.45fr .8fr}.headline-rail{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,1fr);gap:0 25px}.rail-title{grid-column:1/-1}.renewed-layout{grid-template-columns:1fr}.renewed-layout .aside{display:grid;grid-template-columns:1fr 1fr;gap:20px}.renewed-layout .aside>*{margin:0!important}}
@media(max-width:760px){.topbar .wrap>div:first-child,.masthead .meta{display:none}.masthead .wrap{min-height:88px;padding-top:15px;padding-bottom:15px}.brand .mark{width:52px;height:52px}.brand h1{font-size:25px}.brand p{font-size:11px}.gnb .wrap{justify-content:flex-start}.gnb a{padding:12px 14px}.home-front{margin:0 -12px;padding:0 12px 36px}.front-edition{grid-template-columns:1fr auto}.front-edition span{display:none}.front-newsroom{grid-template-columns:1fr;padding-top:20px}.front-lead{padding:0 0 22px;border-right:0;border-bottom:1px solid var(--news-rule)}.front-lead .lead-story h2{font-size:28px}.front-cards{grid-template-columns:1fr 1fr}.headline-rail{grid-template-columns:1fr}.renewed-layout .grid{grid-template-columns:repeat(2,1fr)}.renewed-layout .aside{display:block}.renewed-layout .aside>*{margin-bottom:20px!important}.front-newsroom+.ad-banner{margin-top:12px}}
.ad-aside-top .banner-design{min-height:220px}.ad-aside-top .banner-copy{min-height:220px;justify-content:flex-end}.ad-aside-top .ad-text{min-height:180px;flex-direction:column;align-items:flex-start;justify-content:flex-end}.ad-aside-top .ad-text em{margin-left:0;margin-top:6px}.ad-article-inline{margin:28px 0}
@media(max-width:480px){.front-cards,.renewed-layout .grid{grid-template-columns:1fr}.front-cards .card{display:grid;grid-template-columns:120px 1fr;gap:12px}.front-cards .card .thumb{margin:0}.section-heading h3{font-size:23px}}

/* 확장 카테고리 메뉴: 항목이 많아져도 첫 메뉴가 잘리지 않도록 좌측 정렬 */
.gnb .wrap { justify-content: flex-start; }
