/* SGRI Design System - extracted from sgri.imweb.me */
*{box-sizing:border-box}html,body{margin:0;padding:0}
body{font-family:'Noto Sans KR',-apple-system,BlinkMacSystemFont,sans-serif;font-size:14px;line-height:1.6;color:#0d1b2e;background:#fff;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}img{max-width:100%;height:auto;display:block}

/* Header — imweb 사양: 상단 ~91px (로고) + 하단 55px (nav). 색상 #4b4846 default / #08419b active */
.sgri-header{position:sticky;top:0;z-index:100;background:#fff;border-bottom:1px solid #e7e7e7}

/* Row 1: Top bar — height ~91px (padding 30 + 30 + content) */
.sgri-header-top-inner{max-width:1260px;margin:0 auto;display:grid;grid-template-columns:374px 1fr 372px;align-items:center;padding:30px 24px;gap:0}
.sgri-header-side{display:flex;align-items:center;gap:14px;height:100%}
.sgri-header-side-left{justify-content:flex-start}
.sgri-header-side-right{justify-content:flex-end}
.sgri-logo-img{display:flex;align-items:center;justify-content:center;flex-shrink:0}
.sgri-logo-img img{width:auto;max-width:410px;max-height:80px;display:block;image-rendering:-webkit-optimize-contrast}

/* 검색 / 장바구니 아이콘 — 아이콘만 (배경 없음) */
.sgri-icon-btn{width:auto;height:auto;display:inline-flex;align-items:center;justify-content:center;background:transparent;border:0;color:#4b4846;cursor:pointer;padding:8px;transition:color .2s;position:relative}
.sgri-icon-btn:hover{color:#08419b;background:transparent}
.sgri-cart-btn{padding:8px 8px 8px 4px}
.sgri-cart-badge{position:absolute;top:0;right:-2px;min-width:16px;height:16px;padding:0 4px;background:#08419b;color:#fff;border-radius:99px;font-size:9px;font-weight:700;display:flex;align-items:center;justify-content:center;line-height:1}

/* 로그인 / 회원가입 / 로그아웃 — imweb 의 btn_text 스타일 */
.sgri-btn-text{display:inline-flex;align-items:center;height:auto;padding:0 6px;font-size:13px;font-weight:400;color:#4b4846;text-decoration:none;transition:color .2s;letter-spacing:-0.02em}
.sgri-btn-text:hover{color:#08419b}
.sgri-user-greet{font-size:13px;color:#4b4846;margin-right:2px;letter-spacing:-0.02em}

/* Row 2: Nav menu — 55px height, left-aligned */
.sgri-nav{background:#fff;border-top:1px solid #e7e7e7}
.sgri-nav-inner{max-width:1260px;margin:0 auto;padding:0 24px;display:flex;justify-content:space-between;align-items:center;gap:24px}
.sgri-nav-list{list-style:none;padding:0;margin:0;display:flex;gap:0;flex-wrap:nowrap;justify-content:flex-start;flex:1}
.sgri-nav-item{position:relative;flex-shrink:0;height:55px;display:inline-flex;align-items:center}
.sgri-nav-link{display:inline-flex;align-items:center;height:55px;padding:0 22px;font-size:16px;font-weight:500;color:#4b4846;white-space:nowrap;transition:color .2s;letter-spacing:-0.025em;position:relative}
.sgri-nav-link:hover{color:#08419b;font-weight:700}
.sgri-nav-item.has-child:hover .sgri-nav-link{color:#08419b;font-weight:700}

/* 전체 메뉴 보기 버튼 (nav 우측) */
.sgri-megamenu-trigger{display:inline-flex;align-items:center;gap:8px;flex-shrink:0;background:transparent;border:1px solid #e7e7e7;color:#4b4846;font-size:13px;font-weight:600;padding:9px 16px;border-radius:6px;cursor:pointer;letter-spacing:-0.02em;transition:all .2s;font-family:inherit}
.sgri-megamenu-trigger:hover{border-color:#08419b;color:#08419b;background:#f6f9fd}
.sgri-megamenu-trigger svg{width:16px;height:16px;flex-shrink:0}

/* 전체 메뉴 오버레이 */
.sgri-megamenu{position:fixed;inset:0;background:rgba(13,27,46,0.55);backdrop-filter:blur(4px);z-index:1000;display:none;align-items:flex-start;justify-content:center;padding:80px 24px 40px;overflow-y:auto}
.sgri-megamenu.is-open{display:flex}
.sgri-megamenu-panel{width:100%;max-width:1100px;background:#fff;border-radius:16px;padding:40px 48px 48px;position:relative;box-shadow:0 30px 80px rgba(0,0,0,.3)}
.sgri-megamenu-close{position:absolute;top:18px;right:18px;width:40px;height:40px;background:transparent;border:0;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#4b4846;transition:background .15s}
.sgri-megamenu-close:hover{background:#f4f6fb;color:#08419b}
.sgri-megamenu-title{font-family:'Bebas Neue',sans-serif;font-size:13px;letter-spacing:.18em;color:#08419b;text-transform:uppercase;margin-bottom:8px}
.sgri-megamenu-h2{font-size:24px;font-weight:900;color:#0d1b2e;margin:0 0 32px;letter-spacing:-0.02em}
.sgri-megamenu-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:32px 28px}
.sgri-megamenu-col h4{font-size:14px;font-weight:800;color:#0d1b2e;margin:0 0 14px;padding-bottom:10px;border-bottom:2px solid #08419b;letter-spacing:-0.02em}
.sgri-megamenu-col ul{list-style:none;padding:0;margin:0}
.sgri-megamenu-col li{margin:0}
.sgri-megamenu-col li a{display:block;padding:7px 0;font-size:13.5px;color:#4b4846;text-decoration:none;font-weight:400;transition:color .15s,padding .15s;letter-spacing:-0.02em}
.sgri-megamenu-col li a:hover{color:#08419b;padding-left:6px;font-weight:600}
.sgri-megamenu-col li.col-empty{font-size:12.5px;color:#a0aec0;padding:7px 0}
@media (max-width:1100px){
  .sgri-megamenu-grid{grid-template-columns:repeat(3,1fr)}
  .sgri-megamenu-panel{padding:32px 28px}
}
@media (max-width:760px){
  .sgri-megamenu-grid{grid-template-columns:repeat(2,1fr)}
  .sgri-megamenu{padding:48px 16px 24px}
}
@media (max-width:480px){
  .sgri-megamenu-grid{grid-template-columns:1fr}
}
.sgri-nav-sub{position:absolute;top:100%;left:50%;transform:translateX(-50%);list-style:none;padding:14px 0;margin:0;min-width:180px;background:#fff;border:1px solid #e7e7e7;box-shadow:0 6px 18px rgba(0,0,0,.06);display:none;z-index:101}
.sgri-nav-item.has-child:hover .sgri-nav-sub{display:block}
.sgri-nav-sub li{list-style:none}
.sgri-nav-sub li a{display:block;padding:9px 22px;font-size:14px;color:#4b4846;white-space:nowrap;text-align:center;font-weight:400;transition:color .15s,background .15s;letter-spacing:-0.02em}
.sgri-nav-sub li a:hover{background:#f6f9fd;color:#08419b;font-weight:600}

.sgri-menu-toggle{display:none;width:40px;height:40px;background:transparent;border:0;cursor:pointer;padding:0;flex-direction:column;justify-content:center;align-items:center;gap:5px}
.sgri-menu-toggle span{display:block;width:22px;height:2px;background:#4b4846}

@media (max-width:1280px){
  .sgri-header-top-inner{grid-template-columns:1fr auto 1fr}
  .sgri-nav-link{padding:0 16px;font-size:15.5px}
  .sgri-logo-img img{max-height:64px}
}
@media (max-width:1100px){
  .sgri-nav-link{padding:0 12px;font-size:15px}
  .sgri-logo-img img{max-height:54px}
  .sgri-header-top-inner{padding:22px 24px}
}

/* Hero */
.sgri-hero{position:relative;width:100%;min-height:600px;background:linear-gradient(135deg,#0a1628 0%,#0d2147 40%,#1a3a6b 100%);overflow:hidden;display:flex;align-items:center;justify-content:center;font-family:'Noto Sans KR',sans-serif}
.sgri-hero-orb{position:absolute;right:-80px;top:50%;transform:translateY(-50%);width:500px;height:500px;border-radius:50%;background:radial-gradient(circle at center,rgba(41,121,255,.18) 0%,rgba(41,121,255,.06) 50%,transparent 70%);border:1px solid rgba(41,121,255,.2);z-index:0}
.sgri-hero-tag{position:absolute;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.15);border-radius:100px;color:rgba(255,255,255,.6);font-size:11px;padding:6px 14px;animation:floatTag 6s ease-in-out infinite;backdrop-filter:blur(4px);z-index:0}
.sgri-hero-tag.t1{top:18%;right:8%}.sgri-hero-tag.t2{top:32%;right:22%;animation-delay:1.5s}.sgri-hero-tag.t3{bottom:28%;right:15%;animation-delay:3s}.sgri-hero-tag.t4{bottom:42%;right:35%;animation-delay:4.5s}
.sgri-hero-inner{position:relative;z-index:1;max-width:1260px;width:100%;padding:80px 40px;margin:0 auto}
.sgri-hero-eng{display:inline-block;font-family:'Bebas Neue',sans-serif;font-size:13px;letter-spacing:.2em;color:#74c0fc;margin-bottom:14px;text-transform:uppercase}
.sgri-hero-badge{display:inline-flex;align-items:center;gap:8px;background:rgba(41,121,255,.15);border:1px solid rgba(41,121,255,.4);border-radius:100px;padding:6px 16px;margin-bottom:28px;font-size:12px;color:#74c0fc;font-weight:600;letter-spacing:.04em}
.sgri-hero-badge-dot{width:6px;height:6px;border-radius:50%;background:#4dabf7;animation:pulse 2s ease-in-out infinite}
.sgri-hero-title{font-size:clamp(28px,4.5vw,52px);font-weight:900;color:#fff;line-height:1.2;margin:0 0 10px;letter-spacing:-0.02em}
.sgri-hero-title span{display:block}
.sgri-hero-sub{font-size:clamp(13px,1.8vw,17px);color:rgba(255,255,255,.55);line-height:1.85;margin:20px 0 40px;max-width:620px;font-weight:300}
.sgri-hero-btns{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:60px}
.sgri-btn-primary{display:inline-flex;align-items:center;gap:8px;background:linear-gradient(135deg,#1971c2,#1864ab);color:#fff;font-size:14px;font-weight:700;padding:14px 28px;border-radius:8px;text-decoration:none;transition:all .25s ease;box-shadow:0 4px 20px rgba(25,113,194,.4)}
.sgri-btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 28px rgba(25,113,194,.6);color:#fff}
.sgri-btn-secondary{display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,.08);color:rgba(255,255,255,.85);font-size:14px;font-weight:500;padding:14px 28px;border-radius:8px;border:1px solid rgba(255,255,255,.2);transition:all .25s ease}
.sgri-btn-secondary:hover{background:rgba(255,255,255,.15);color:#fff}
.sgri-hero-stats{display:flex;gap:0;flex-wrap:wrap}
.sgri-stat-item{padding:20px 32px 20px 0;border-right:1px solid rgba(255,255,255,.1);margin-right:32px}
.sgri-stat-item:last-child{border-right:0}
.sgri-stat-num{font-size:28px;font-weight:900;color:#4dabf7;font-family:'Bebas Neue',sans-serif;letter-spacing:.02em;line-height:1;margin-bottom:4px}
.sgri-stat-label{font-size:11px;color:rgba(255,255,255,.45);font-weight:400;letter-spacing:.05em}

/* Category section (light) */
.sgri-cat{background:#f4f6fb;padding:80px 20px}
.sgri-cat-inner{max-width:1260px;margin:0 auto}
.sgri-section-label{display:inline-flex;align-items:center;gap:8px;font-family:'Bebas Neue',sans-serif;font-size:13px;font-weight:700;color:#1971c2;letter-spacing:.15em;text-transform:uppercase;margin-bottom:12px}
.sgri-section-title{font-size:clamp(22px,3vw,34px);font-weight:900;color:#0d1b2e;margin:0 0 8px;letter-spacing:-0.02em;line-height:1.25}
.sgri-section-desc{font-size:14px;color:#6b7a90;margin:0 0 50px;font-weight:400;line-height:1.7;max-width:560px}
.sgri-cat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.sgri-cat-card{background:#fff;border-radius:16px;overflow:hidden;border:1px solid #e5eaf2;transition:all .3s ease;text-decoration:none;display:block;position:relative}
.sgri-cat-card:hover{transform:translateY(-4px);box-shadow:0 16px 40px rgba(13,27,46,.08);border-color:transparent}
.sgri-cat-card-head{padding:28px 24px 20px;background:var(--card-bg);display:flex;align-items:flex-start;justify-content:space-between}
.sgri-cat-icon{width:52px;height:52px;border-radius:14px;background:var(--card-icon-bg);display:flex;align-items:center;justify-content:center;font-size:22px}
.sgri-cat-eng{font-size:10px;font-weight:700;letter-spacing:.1em;color:var(--card-accent);background:var(--card-eng-bg);padding:4px 10px;border-radius:100px;margin-top:4px;font-family:'Bebas Neue',sans-serif}
.sgri-cat-card-body{padding:20px 24px 28px}
.sgri-cat-card-title{font-size:16px;font-weight:700;color:#0d1b2e;margin:0 0 10px;letter-spacing:-0.02em}
.sgri-cat-card-desc{font-size:13px;color:#6b7a90;line-height:1.75;margin:0 0 20px;font-weight:400}
.sgri-cat-card-link{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:700;color:var(--card-accent)}
.card-area{--card-accent:#1971c2;--card-bg:#eef4ff;--card-icon-bg:#d0e4ff;--card-eng-bg:#dbeafe}
.card-market{--card-accent:#2f9e44;--card-bg:#ebfbee;--card-icon-bg:#b2f2bb;--card-eng-bg:#d3f9d8}
.card-franc{--card-accent:#e67700;--card-bg:#fff4e0;--card-icon-bg:#ffe8bb;--card-eng-bg:#ffeccc}
.card-biz{--card-accent:#7048e8;--card-bg:#f3f0ff;--card-icon-bg:#d8ccff;--card-eng-bg:#e8dfff}
.card-idea{--card-accent:#d6336c;--card-bg:#fff0f6;--card-icon-bg:#ffdeeb;--card-eng-bg:#fcc2d7}
.card-info{--card-accent:#0ca678;--card-bg:#e6fcf5;--card-icon-bg:#c3fae8;--card-eng-bg:#d3f9d8}

/* AI System (dark) */
.sgri-aisys{background:linear-gradient(160deg,#0a1628 0%,#0d2147 60%,#0f2d5c 100%);padding:90px 20px;position:relative;overflow:hidden}
.sgri-aisys-inner{max-width:1260px;margin:0 auto;position:relative;z-index:1}
.sgri-aisys-header{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:50px;flex-wrap:wrap;gap:20px}
.sgri-section-label-dark{display:inline-flex;align-items:center;gap:8px;font-family:'Bebas Neue',sans-serif;font-size:13px;font-weight:700;color:#74c0fc;letter-spacing:.15em;text-transform:uppercase;margin-bottom:12px}
.sgri-aisys-title{font-size:clamp(22px,3vw,34px);font-weight:900;color:#fff;margin:0 0 8px;letter-spacing:-0.02em}
.sgri-aisys-subtitle{font-size:14px;color:rgba(255,255,255,.5);font-weight:300;line-height:1.7;max-width:420px}
.sgri-aisys-all-link{display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.2);color:rgba(255,255,255,.8);font-size:13px;font-weight:500;padding:10px 20px;border-radius:8px;transition:all .25s;white-space:nowrap}
.sgri-aisys-all-link:hover{background:rgba(255,255,255,.15);color:#fff}
.sgri-aisys-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:24px}
.sgri-tool-card{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:32px 28px;display:block;text-decoration:none;transition:all .3s ease;position:relative;overflow:hidden}
.sgri-tool-card:hover{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.2);transform:translateY(-4px)}
.sgri-tool-icon{width:56px;height:56px;border-radius:14px;background:var(--tool-icon-bg);display:flex;align-items:center;justify-content:center;font-size:24px;margin-bottom:20px}
.sgri-tool-badge{display:inline-block;font-size:10px;font-weight:700;letter-spacing:.1em;color:var(--tool-color);background:var(--tool-badge-bg);padding:3px 10px;border-radius:100px;margin-bottom:10px;font-family:'Bebas Neue',sans-serif}
.sgri-tool-name{font-size:17px;font-weight:700;color:#fff;margin:0 0 10px;letter-spacing:-0.01em}
.sgri-tool-desc{font-size:13px;color:rgba(255,255,255,.5);line-height:1.75;margin:0 0 24px;font-weight:300}
.sgri-tool-link{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:700;color:var(--tool-color)}
.tool-area{--tool-color:#4dabf7;--tool-icon-bg:rgba(77,171,247,.15);--tool-badge-bg:rgba(77,171,247,.15)}
.tool-calc{--tool-color:#69db7c;--tool-icon-bg:rgba(105,219,124,.15);--tool-badge-bg:rgba(105,219,124,.15)}
.tool-recommend{--tool-color:#ffa94d;--tool-icon-bg:rgba(255,169,77,.15);--tool-badge-bg:rgba(255,169,77,.15)}
.sgri-report-link{display:flex;align-items:center;justify-content:space-between;background:rgba(41,121,255,.12);border:1px solid rgba(41,121,255,.25);border-radius:12px;padding:18px 24px;text-decoration:none;transition:all .25s}
.sgri-report-link:hover{background:rgba(41,121,255,.18)}
.sgri-report-link-left{display:flex;align-items:center;gap:14px}
.sgri-report-link-icon{font-size:22px}
.sgri-report-link-text{font-size:14px;font-weight:700;color:#74c0fc}
.sgri-report-link-desc{font-size:12px;color:rgba(255,255,255,.4);margin-top:2px}
.sgri-report-link-arrow{font-size:18px;color:rgba(255,255,255,.4)}

/* Feed */
.sgri-feed{background:#fff;padding:90px 20px}
.sgri-feed-inner{max-width:1260px;margin:0 auto}
.sgri-feed-header{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:36px;flex-wrap:wrap;gap:16px}
.sgri-feed-title{font-size:clamp(22px,3vw,34px);font-weight:900;color:#0d1b2e;margin:0;letter-spacing:-0.02em}
.sgri-feed-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:36px}
.sgri-tab{display:inline-flex;align-items:center;gap:4px;padding:9px 18px;background:#f4f6fb;color:#5a6a7e;border:1px solid #e5eaf2;border-radius:100px;font-size:13px;font-weight:600;text-decoration:none;transition:all .2s}
.sgri-tab:hover,.sgri-tab.active{background:#0d2147;color:#fff;border-color:#0d2147}
.sgri-feed-layout{display:grid;grid-template-columns:1fr 340px;gap:24px}
.sgri-feed-featured{display:flex;flex-direction:column;gap:16px}
.sgri-feed-card{display:grid;grid-template-columns:1fr 200px;gap:20px;background:#fff;border:1px solid #e5eaf2;border-radius:14px;padding:24px;text-decoration:none;transition:all .25s ease}
.sgri-feed-card:hover{border-color:#1971c2;box-shadow:0 12px 32px rgba(25,113,194,.08)}
.sgri-feed-tag{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:700;background:var(--tag-bg,#dbeafe);color:var(--tag-color,#1971c2);padding:4px 10px;border-radius:100px;margin-bottom:12px}
.sgri-feed-card-title{font-size:17px;font-weight:700;color:#0d1b2e;line-height:1.4;margin:0 0 8px}
.sgri-feed-card-desc{font-size:13px;color:#6b7a90;line-height:1.75;margin:0 0 12px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.sgri-feed-card-meta{font-size:12px;color:#a0aec0}
.sgri-feed-card-thumb{background:linear-gradient(135deg,#f4f6fb,#e5eaf2);border-radius:10px;aspect-ratio:4/3;overflow:hidden;display:flex;align-items:center;justify-content:center;color:#a0aec0;font-size:1.8rem}
.sgri-feed-card-thumb img{width:100%;height:100%;object-fit:cover}
.sgri-feed-side{display:flex;flex-direction:column;gap:12px;background:#f4f6fb;padding:24px;border-radius:14px}
.sgri-feed-side h4{font-size:14px;font-weight:700;margin:0 0 4px;color:#0d1b2e}
.sgri-feed-side-item{padding:10px 0;border-bottom:1px solid #e5eaf2;text-decoration:none;display:block}
.sgri-feed-side-item:last-child{border-bottom:0}
.sgri-feed-side-item-title{font-size:13px;color:#0d1b2e;font-weight:600;line-height:1.5}
.sgri-feed-side-item-meta{font-size:11px;color:#a0aec0;margin-top:4px}
.sgri-sidebar-more{display:inline-flex;align-items:center;gap:4px;margin-top:8px;font-size:12px;font-weight:700;color:#1971c2}

/* Books (light) */
.sgri-books{background:#f4f6fb;padding:90px 20px}
.sgri-books-inner{max-width:1260px;margin:0 auto}
.sgri-books-header{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:44px;flex-wrap:wrap;gap:16px}
.sgri-books-title{font-size:clamp(22px,3vw,34px);font-weight:900;color:#0d1b2e;margin:0 0 4px;letter-spacing:-0.02em}
.sgri-books-subtitle{font-size:14px;color:#6b7a90;font-weight:400}
.sgri-books-all{display:inline-flex;align-items:center;gap:8px;background:#0d2147;color:#fff;font-size:13px;font-weight:600;padding:11px 22px;border-radius:8px;transition:all .25s}
.sgri-books-all:hover{background:#1971c2;color:#fff}
.sgri-books-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.sgri-book-card{background:#fff;border-radius:14px;overflow:hidden;border:1px solid #e5eaf2;text-decoration:none;display:block;transition:all .3s ease;position:relative}
.sgri-book-card:hover{transform:translateY(-6px);box-shadow:0 20px 50px rgba(0,0,0,.1);border-color:transparent}
.sgri-book-cover{position:relative;height:220px;background:linear-gradient(135deg,var(--cover-from,#1971c2),var(--cover-to,#0d2147));display:flex;align-items:center;justify-content:center;padding:20px}
.sgri-book-cover img{max-height:100%;max-width:100%;object-fit:contain}
.sgri-book-cover-title{font-size:15px;font-weight:900;color:#fff;text-align:center;line-height:1.45;letter-spacing:-0.02em;text-shadow:0 2px 8px rgba(0,0,0,.2)}
.sgri-book-badges{position:absolute;top:10px;left:10px;display:flex;flex-direction:column;gap:4px}
.sgri-book-badge{font-size:10px;font-weight:700;letter-spacing:.08em;padding:3px 8px;border-radius:100px;background:rgba(255,255,255,.92);color:var(--cover-from,#1971c2);font-family:'Bebas Neue',sans-serif}
.sgri-book-body{padding:18px 18px 20px}
.sgri-book-publisher{font-size:11px;color:#a0aec0;font-weight:500;margin-bottom:6px;letter-spacing:.03em}
.sgri-book-name{font-size:15px;font-weight:700;color:#0d1b2e;line-height:1.4;margin:0 0 12px;letter-spacing:-0.02em;min-height:42px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.sgri-book-price{font-size:16px;font-weight:900;color:#1971c2}
.sgri-book-price span{font-size:12px;color:#a0aec0;font-weight:500;margin-left:2px}
.cv-1{--cover-from:#1971c2;--cover-to:#0d2147}
.cv-2{--cover-from:#2f9e44;--cover-to:#1b6b2c}
.cv-3{--cover-from:#e67700;--cover-to:#b54f00}
.cv-4{--cover-from:#7048e8;--cover-to:#4c2eb5}
.cv-5{--cover-from:#d6336c;--cover-to:#8e1c44}
.cv-6{--cover-from:#0ca678;--cover-to:#064d3a}
.cv-7{--cover-from:#e8590c;--cover-to:#8a2c00}
.sgri-books-cta{margin-top:36px;background:#fff;border:2px dashed #cdd5e0;border-radius:14px;padding:32px;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.sgri-books-cta-text strong{font-size:16px;color:#0d1b2e;display:block;margin-bottom:4px}
.sgri-books-cta-text span{font-size:13px;color:#6b7a90}

/* Mobile insight CTA */
.sgri-insight{background:linear-gradient(135deg,#1971c2 0%,#0d2147 100%);padding:80px 20px;position:relative;overflow:hidden}
.sgri-insight-inner{max-width:1260px;margin:0 auto;color:#fff;text-align:center;position:relative;z-index:1}
.sgri-insight-eng{display:inline-block;font-family:'Bebas Neue',sans-serif;font-size:13px;letter-spacing:.2em;color:#74c0fc;margin-bottom:12px;text-transform:uppercase}
.sgri-insight h2{font-size:clamp(22px,3vw,32px);color:#fff;font-weight:900;margin:0 0 14px;letter-spacing:-0.02em}
.sgri-insight p{font-size:14px;color:rgba(255,255,255,.7);max-width:600px;margin:0 auto 28px;line-height:1.85}
.sgri-insight-btn{display:inline-flex;align-items:center;gap:8px;background:#fff;color:#0d2147;font-size:14px;font-weight:700;padding:14px 28px;border-radius:8px;text-decoration:none}
.sgri-insight-btn:hover{background:#74c0fc;color:#fff}
.sgri-insight-note{font-size:11px;color:rgba(255,255,255,.5);margin-top:14px}

/* About (white split) */
.sgri-about{background:#fff;padding:90px 20px}
.sgri-about-inner{max-width:1260px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
.sgri-about-right{background:linear-gradient(135deg,#0d2147 0%,#1971c2 100%);border-radius:24px;padding:48px;color:#fff;position:relative;overflow:hidden}
.sgri-about-title{font-size:clamp(24px,3vw,36px);font-weight:900;color:#0d1b2e;margin:0 0 20px;letter-spacing:-0.02em;line-height:1.3}
.sgri-about-title span{color:#1971c2}
.sgri-about-desc{font-size:14px;color:#5a6a7e;line-height:1.9;margin:0 0 32px}
.sgri-about-points{display:flex;flex-direction:column;gap:14px;margin-bottom:36px}
.sgri-about-point{display:flex;align-items:flex-start;gap:12px}
.sgri-about-point-icon{width:36px;height:36px;border-radius:10px;background:#eef4ff;display:flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0}
.sgri-about-point-text{font-size:14px;color:#0d1b2e;font-weight:600;line-height:1.6;padding-top:6px}
.sgri-about-link{display:inline-flex;align-items:center;gap:8px;background:#0d2147;color:#fff;font-size:14px;font-weight:600;padding:13px 28px;border-radius:8px;transition:all .25s}
.sgri-about-link:hover{background:#1971c2;color:#fff}
.sgri-about-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-top:32px}
.sgri-about-card{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.15);border-radius:14px;padding:24px 20px}
.sgri-about-card-icon{font-size:22px;margin-bottom:8px}
.sgri-about-card-num{font-family:'Bebas Neue',sans-serif;font-size:32px;color:#74c0fc;line-height:1;margin-bottom:4px}
.sgri-about-card-label{font-size:12px;color:rgba(255,255,255,.7);font-weight:500}
.sgri-about-business{margin-top:24px;padding-top:24px;border-top:1px solid rgba(255,255,255,.15);font-size:12px;color:rgba(255,255,255,.65);line-height:1.7}

/* Final CTA */
.sgri-final-cta{background:#0a1628;padding:80px 20px;text-align:center;color:#fff}
.sgri-final-cta-eng{display:inline-block;font-family:'Bebas Neue',sans-serif;font-size:13px;letter-spacing:.2em;color:#74c0fc;margin-bottom:14px}
.sgri-final-cta h2{font-size:clamp(24px,3vw,38px);color:#fff;font-weight:900;margin:0 0 18px;letter-spacing:-0.02em;line-height:1.25}
.sgri-final-cta p{font-size:14px;color:rgba(255,255,255,.6);max-width:600px;margin:0 auto 32px;line-height:1.85}
.sgri-final-cta-btns{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-bottom:32px}
.sgri-final-cta-contact{font-size:12px;color:rgba(255,255,255,.5);max-width:780px;margin:0 auto;line-height:1.8}

/* Footer */
.sgri-footer{background:#06101e;color:#8b91a0;padding:60px 20px 28px}
.sgri-footer-inner{max-width:1260px;margin:0 auto}
.sgri-footer-top{display:grid;grid-template-columns:1fr 2fr;gap:60px;padding-bottom:40px;border-bottom:1px solid rgba(255,255,255,.08)}
.sgri-footer-logo{font-family:'Bebas Neue',sans-serif;font-size:30px;color:#fff;letter-spacing:.08em;margin-bottom:6px}
.sgri-footer-logo-eng{font-family:'Bebas Neue',sans-serif;font-size:11px;letter-spacing:.15em;color:#74c0fc;margin-bottom:14px;text-transform:uppercase}
.sgri-footer-tagline{font-size:13px;color:#6b7a90;line-height:1.7}
.sgri-footer-nav{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:24px}
.sgri-footer-nav-title{font-size:13px;color:#fff;font-weight:700;margin-bottom:12px}
.sgri-footer-nav-group ul{list-style:none;padding:0;margin:0}
.sgri-footer-nav-group li{margin:6px 0}
.sgri-footer-nav-link{font-size:12.5px;color:#8b91a0;transition:color .15s}
.sgri-footer-nav-link:hover{color:#fff}
.sgri-footer-bottom{padding-top:24px;font-size:12px;color:#5a6a7e;line-height:1.8}
.sgri-footer-business{margin-bottom:8px}
.sgri-footer-business span{margin:0 8px}
.sgri-footer-copy{font-family:'Bebas Neue',sans-serif;letter-spacing:.05em;color:#6b7a90}

/* Board head */
.sgri-board-head{background:linear-gradient(135deg,#0d2147 0%,#1971c2 100%);padding:64px 24px 48px;color:#fff}
.sgri-board-head-inner{max-width:1260px;margin:0 auto}
.sgri-board-emoji{font-size:2.5rem;display:block;margin-bottom:8px}
.sgri-board-name{font-size:2rem;font-weight:900;margin:0 0 6px;color:#fff;letter-spacing:-0.02em}
.sgri-board-meta{color:rgba(255,255,255,.7);font-size:14px}

/* Pagination */
.sgri-pagination{display:flex;justify-content:center;gap:4px;padding:32px 0}
.sgri-pagination a,.sgri-pagination span{display:inline-flex;align-items:center;justify-content:center;min-width:36px;height:36px;padding:0 10px;font-size:13px;font-weight:600;color:#5a6a7e;border:1px solid #e5eaf2;border-radius:6px;background:#fff}
.sgri-pagination a:hover{background:#eef4ff;color:#1971c2;border-color:#1971c2}
.sgri-pagination .current{background:#0d2147;color:#fff;border-color:#0d2147}

/* Article */
.sgri-article{max-width:800px;margin:0 auto;padding:64px 24px}
.sgri-article h1{font-size:2.2rem;line-height:1.3;margin:0 0 16px}
.sgri-article-meta{color:#a0aec0;font-size:13px;margin-bottom:24px;display:flex;gap:12px;align-items:center}
.sgri-article-content{font-size:16px;line-height:1.85;color:#2d3748}
.sgri-article-content h2{font-size:1.5rem;margin:1.8em 0 .6em;padding-top:.4em;border-top:1px solid #e5eaf2}
.sgri-article-content p{margin:0 0 1.1em}
.sgri-article-content blockquote{border-left:3px solid #1971c2;padding:4px 0 4px 16px;margin:1em 0;color:#5a6a7e}
.sgri-article-content a{color:#1971c2;text-decoration:underline}

/* Error page */
.sgri-error{padding:120px 24px;text-align:center}
.sgri-error-code{font-family:'Bebas Neue',sans-serif;font-size:6rem;color:#1971c2;line-height:1}
.sgri-error-msg{font-size:1.05rem;color:#5a6a7e;margin:12px 0 28px}

/* Animations */
@keyframes orbSpin{from{transform:translateY(-50%) rotate(0deg)}to{transform:translateY(-50%) rotate(360deg)}}
@keyframes floatTag{0%,100%{transform:translateY(0px)}50%{transform:translateY(-8px)}}
@keyframes pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.3)}}

/* Responsive */
@media (max-width:1100px){
  .sgri-cat-grid{grid-template-columns:repeat(2,1fr)}
  .sgri-aisys-grid{grid-template-columns:repeat(2,1fr)}
  .sgri-books-grid{grid-template-columns:repeat(3,1fr)}
  .sgri-feed-layout{grid-template-columns:1fr}
  .sgri-feed-side{display:none}
}
@media (max-width:900px){
  .sgri-nav{display:none;border-top:1px solid #e5eaf2}
  .sgri-nav.is-open{display:block;background:#fff;padding:12px 0}
  .sgri-nav.is-open .sgri-nav-inner{justify-content:flex-start;padding:0 16px}
  .sgri-nav.is-open .sgri-nav-list{flex-direction:column;gap:0;width:100%}
  .sgri-nav.is-open .sgri-nav-link{padding:12px 14px;height:auto;border-bottom:1px solid #f4f6fb;width:100%;justify-content:flex-start}
  .sgri-nav.is-open .sgri-nav-link::after{display:none}
  .sgri-nav.is-open .sgri-nav-sub{position:static;transform:none;box-shadow:none;border:0;padding-left:16px;display:block;text-align:left}
  .sgri-nav.is-open .sgri-nav-sub li a{text-align:left}
  .sgri-menu-toggle{display:inline-flex}
  .sgri-header-side .sgri-btn-text,.sgri-header-side .sgri-user-greet{display:none}
  .sgri-header-top-inner{grid-template-columns:auto 1fr auto}
  .sgri-header-side-left{display:none}
  .sgri-logo-img img{max-height:38px}
  .sgri-cat-grid{grid-template-columns:repeat(2,1fr)}
  .sgri-aisys-grid{grid-template-columns:1fr}
  .sgri-books-grid{grid-template-columns:repeat(2,1fr)}
  .sgri-feed-card{grid-template-columns:1fr}
  .sgri-feed-card-thumb{aspect-ratio:16/9;order:-1}
  .sgri-about-inner{grid-template-columns:1fr;gap:36px}
  .sgri-footer-top{grid-template-columns:1fr;gap:32px}
  .sgri-hero{min-height:480px}
  .sgri-hero-inner{padding:60px 24px}
  .sgri-hero-orb{width:300px;height:300px;right:-120px;opacity:.5}
  .sgri-hero-tag{display:none}
  .sgri-stat-item{padding:14px 20px 14px 0;margin-right:20px}
  .sgri-stat-num{font-size:22px}
  .sgri-cat,.sgri-aisys,.sgri-feed,.sgri-books,.sgri-about,.sgri-insight,.sgri-final-cta{padding:60px 16px}
}
@media (max-width:600px){
  .sgri-logo-name{display:none}
  .sgri-cat-grid,.sgri-books-grid{grid-template-columns:1fr}
}

/* ============================================
   /about Page — exact imweb design system
   ============================================ */
:root {
  --navy: #0b2a52;
  --blue: #1a73e8;
  --surface: #f7f9fc;
  --border: #e4eaf2;
  --text2: #4a5568;
  --text3: #8a96a3;
  --wrap: 1260px;
  --pad: 60px;
}
.w { max-width:var(--wrap); margin-left:auto; margin-right:auto; padding-left:var(--pad); padding-right:var(--pad); }
@media (max-width:900px){ :root { --pad: 24px; } }

/* Hero */
.about-hero { background:var(--navy); padding:88px 0 80px; position:relative; overflow:hidden; }
.about-hero::before { content:''; position:absolute; inset:0; background: radial-gradient(ellipse 60% 80% at 85% 50%, rgba(26,115,232,.18) 0%, transparent 70%), radial-gradient(ellipse 40% 60% at 5% 85%, rgba(26,115,232,.10) 0%, transparent 60%); pointer-events:none; }
.about-hero .w { position:relative; z-index:1; }
.hero-kicker { display:inline-flex; align-items:center; gap:8px; font-size:11px; font-weight:700; letter-spacing:.18em; color:rgba(255,255,255,.5); text-transform:uppercase; margin-bottom:20px; }
.hero-kicker i { display:block; width:28px; height:1px; background:rgba(255,255,255,.35); }
.hero-title { font-size:46px; font-weight:800; color:#fff; letter-spacing:-1.5px; line-height:1.2; margin:0 0 14px; }
.hero-title em { font-style:normal; color:#63a4ff; }
.hero-sub { font-size:16px; color:rgba(255,255,255,.6); margin:0 0 36px; }
.hero-desc { max-width:640px; font-size:15px; color:rgba(255,255,255,.75); line-height:2; border-left:2px solid rgba(26,115,232,.55); padding-left:20px; margin:0; }

/* Generic section */
.sec { padding:80px 0; background:#fff; }
.sec-title { font-size:28px; font-weight:800; color:var(--navy); letter-spacing:-.8px; line-height:1.3; margin:0 0 14px; }
.sec-lead { font-size:15px; color:var(--text2); line-height:1.9; max-width:640px; margin:0 0 48px; }
.kicker { font-size:11px; font-weight:700; letter-spacing:.15em; color:var(--blue); text-transform:uppercase; margin-bottom:10px; }

/* 3-card grid (What We Are) */
.cards { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.about-card { background:#fff; border:1px solid var(--border); border-radius:16px; overflow:hidden; transition: box-shadow .25s, transform .25s, border-color .25s; }
.about-card:hover { box-shadow:0 8px 30px rgba(26,115,232,.11); transform:translateY(-3px); border-color:#b5d0f8; }
.card-img { width:100%; aspect-ratio:16/9; overflow:hidden; background:var(--surface); display:flex; align-items:center; justify-content:center; font-size:42px; }
.card-body { padding:28px 24px 32px; }
.card-en { font-size:10px; font-weight:700; letter-spacing:.14em; color:var(--blue); text-transform:uppercase; margin-bottom:6px; }
.card-ko { font-size:17px; font-weight:800; color:var(--navy); margin:0 0 10px; letter-spacing:-.3px; }
.card-text { font-size:13px; color:var(--text2); line-height:1.8; margin:0; }

/* Story (3-card with numbers) — surface bg */
.story-bg { background:var(--surface); border-top:1px solid var(--border); border-bottom:1px solid var(--border); padding:80px 0; }
.story-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin-top:44px; }
.story-card { background:#fff; border:1px solid var(--border); border-radius:16px; padding:36px 30px; transition: box-shadow .25s, border-color .25s; }
.story-card:hover { box-shadow:0 6px 22px rgba(26,115,232,.09); border-color:#b5d0f8; }
.story-num { font-size:11px; font-weight:800; letter-spacing:.14em; color:var(--blue); text-transform:uppercase; margin-bottom:20px; display:inline-flex; align-items:center; gap:8px; }
.story-num::after { content:''; display:block; width:20px; height:1px; background:var(--blue); opacity:.4; }
.story-title { font-size:16px; font-weight:800; color:var(--navy); margin:0 0 12px; line-height:1.5; letter-spacing:-.3px; }
.story-text { font-size:13px; color:var(--text2); line-height:1.85; margin:0; }

/* Stats (4-column connected) */
.stats { display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--border); border:1px solid var(--border); border-radius:16px; overflow:hidden; margin-top:44px; }
.stat { background:#fff; padding:36px 24px; text-align:center; }
.stat-num { font-size:38px; font-weight:900; color:var(--navy); letter-spacing:-2px; line-height:1; margin-bottom:8px; }
.stat-num sup { font-size:20px; font-weight:700; }
.stat-label { font-size:12px; color:var(--text3); }

/* Vision (navy full-width) */
.vision { background:var(--navy); padding:80px 0; text-align:center; position:relative; overflow:hidden; }
.vision::before { content:''; position:absolute; inset:0; background: radial-gradient(ellipse 70% 100% at 50% 50%, rgba(26,115,232,.2) 0%, transparent 70%); pointer-events:none; }
.vision .w { position:relative; z-index:1; max-width:780px; }
.vision-label { font-size:11px; font-weight:700; letter-spacing:.18em; color:rgba(255,255,255,.45); text-transform:uppercase; margin-bottom:20px; }
.vision-quote { font-size:32px; font-weight:800; color:#fff; letter-spacing:-.8px; line-height:1.45; margin:0 0 22px; }
.vision-quote em { font-style:normal; color:#63a4ff; }
.vision-text { font-size:14px; color:rgba(255,255,255,.6); line-height:1.9; margin:0; }

@media (max-width:900px){
  .about-hero { padding:64px 0 56px; }
  .hero-title { font-size:36px; }
  .sec, .story-bg, .vision { padding:56px 0; }
  .sec-title { font-size:22px; }
  .cards, .story-grid { grid-template-columns:1fr; }
  .stats { grid-template-columns:repeat(2,1fr); }
  .vision-quote { font-size:26px; }
}
@media (max-width:600px){
  .stats { grid-template-columns:repeat(2,1fr); }
}

/* ============================================
   /about/director — 연구소장 소개 페이지
   ============================================ */
.dir-hero { background:var(--navy); padding:64px 0 56px; position:relative; overflow:hidden; text-align:center; }
.dir-hero::before { content:''; position:absolute; inset:0; background:radial-gradient(ellipse 55% 80% at 85% 50%, rgba(26,115,232,.15) 0%, transparent 70%); pointer-events:none; }
.dir-hero .w { position:relative; z-index:1; max-width:780px; }
.dir-hero-kicker { display:inline-flex; align-items:center; gap:8px; font-size:11px; font-weight:700; letter-spacing:.18em; color:rgba(255,255,255,.5); text-transform:uppercase; margin-bottom:18px; }
.dir-hero-kicker i { display:block; width:24px; height:1px; background:rgba(255,255,255,.35); }
.dir-hero-name { font-size:42px; font-weight:800; color:#fff; letter-spacing:-1.5px; line-height:1.1; margin:0 0 6px; }
.dir-hero-name-en { font-size:14px; color:rgba(255,255,255,.55); margin:0 0 16px; }
.dir-hero-tags { display:flex; flex-wrap:wrap; gap:7px; justify-content:center; }
.dir-hero-tag { display:inline-flex; align-items:center; gap:4px; font-size:11.5px; font-weight:600; padding:6px 14px; border-radius:100px; background:rgba(26,115,232,0.15); border:1px solid rgba(26,115,232,0.35); color:#9ec5ff; letter-spacing:-0.02em; }
.dir-hero-tag.gold { background:rgba(218,165,32,0.15); border-color:rgba(218,165,32,0.4); color:#ffe082; }

/* Profile section */
.dir-profile-grid { display:grid; grid-template-columns:280px 1fr; gap:48px; align-items:start; }
.dir-profile-photo { aspect-ratio:1/1; border-radius:20px; overflow:hidden; background:linear-gradient(135deg, #1971c2, #0d2147); display:flex; align-items:center; justify-content:center; color:#fff; font-family:'Bebas Neue',sans-serif; font-size:6rem; letter-spacing:-0.04em; box-shadow:0 12px 40px rgba(13,27,46,0.18); }
.dir-profile-photo img { width:100%; height:100%; object-fit:cover; }
.dir-profile-info { }
.dir-profile-desc { font-size:15px; color:var(--text2); line-height:1.9; margin:0 0 28px; }
.dir-detail-table { display:grid; grid-template-columns:90px 1fr; gap:14px 20px; margin-bottom:28px; }
.dir-detail-label { font-size:13px; font-weight:700; color:var(--navy); padding-top:2px; }
.dir-detail-value { font-size:13.5px; color:var(--text2); line-height:1.85; }
.dir-cert-list { display:flex; flex-wrap:wrap; gap:6px; }
.dir-cert-list span { display:inline-block; padding:5px 12px; background:var(--surface); border:1px solid var(--border); border-radius:99px; font-size:12.5px; font-weight:600; color:var(--navy); }
.dir-link-list { display:flex; flex-wrap:wrap; gap:6px; }
.dir-link-list a { display:inline-flex; align-items:center; gap:4px; padding:5px 12px; background:#eef4ff; border:1px solid #d0e4ff; border-radius:99px; font-size:12.5px; font-weight:600; color:var(--blue); transition:all .15s; }
.dir-link-list a:hover { background:var(--blue); color:#fff; }

/* Director stats */
.dir-stats { display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--border); border:1px solid var(--border); border-radius:16px; overflow:hidden; margin-top:20px; }
.dir-stat { background:#fff; padding:24px 16px; text-align:center; }
.dir-stat-num { font-size:26px; font-weight:800; color:var(--navy); letter-spacing:-1px; line-height:1; margin-bottom:5px; font-family:'Bebas Neue',sans-serif; }
.dir-stat-num sup { font-size:14px; }
.dir-stat-label { font-size:11px; color:var(--text3); }

/* Books grid (5 col) */
.dir-book-grid { display:grid; grid-template-columns:repeat(5,1fr); gap:18px; margin-top:8px; }
.dir-book-card { background:#fff; border:1px solid var(--border); border-radius:12px; overflow:hidden; transition:all .25s; display:flex; flex-direction:column; }
.dir-book-card:hover { box-shadow:0 10px 28px rgba(13,27,46,0.10); transform:translateY(-3px); border-color:#b5d0f8; }
.dir-book-cover { width:100%; aspect-ratio:3/4; background:linear-gradient(135deg, var(--cv-from, #1971c2), var(--cv-to, #0d2147)); display:flex; align-items:center; justify-content:center; padding:14px; position:relative; overflow:hidden; }
.dir-book-cover-title { color:#fff; font-size:13px; font-weight:900; text-align:center; line-height:1.4; letter-spacing:-0.03em; text-shadow:0 1px 6px rgba(0,0,0,0.2); }
.dir-book-body { padding:12px 12px 14px; display:flex; flex-direction:column; gap:6px; flex:1; }
.dir-book-tag { font-size:10px; color:var(--blue); background:#eef4ff; padding:3px 8px; border-radius:4px; display:inline-block; align-self:flex-start; font-weight:700; letter-spacing:0.02em; }
.dir-book-title { font-size:12.5px; font-weight:700; color:var(--navy); line-height:1.55; margin:0; }

/* Award */
.dir-award-list { display:flex; flex-direction:column; gap:14px; max-width:640px; }
.dir-award-item { background:#fff; border:1px solid var(--border); border-radius:14px; padding:20px 24px; display:flex; align-items:center; gap:18px; }
.dir-award-icon { width:48px; height:48px; border-radius:50%; background:#fff8d6; border:1px solid #f4d04a; display:flex; align-items:center; justify-content:center; flex-shrink:0; font-size:24px; }
.dir-award-text { flex:1; }
.dir-award-year { font-size:11px; font-weight:700; color:#b8860b; margin-bottom:4px; letter-spacing:0.05em; font-family:'Bebas Neue',sans-serif; }
.dir-award-name { font-size:16px; font-weight:800; color:#7a5c00; line-height:1.4; }

/* Channels */
.dir-channel-list { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.dir-channel-item { background:#fff; border:1px solid var(--border); border-radius:14px; padding:24px 20px; text-align:center; text-decoration:none; transition:all .25s; }
.dir-channel-item:hover { border-color:var(--blue); box-shadow:0 8px 24px rgba(26,115,232,0.10); transform:translateY(-2px); }
.dir-channel-icon { font-size:32px; margin-bottom:10px; }
.dir-channel-name { font-size:14px; font-weight:700; color:var(--navy); margin-bottom:4px; }
.dir-channel-meta { font-size:12px; color:var(--text3); }

@media (max-width:1100px){
  .dir-book-grid { grid-template-columns:repeat(4,1fr); }
}
@media (max-width:900px){
  .dir-profile-grid { grid-template-columns:1fr; gap:24px; }
  .dir-profile-photo { max-width:240px; margin:0 auto; }
  .dir-book-grid { grid-template-columns:repeat(3,1fr); }
  .dir-stats { grid-template-columns:repeat(2,1fr); }
  .dir-channel-list { grid-template-columns:1fr; }
  .dir-hero-name { font-size:32px; }
}
@media (max-width:560px){
  .dir-book-grid { grid-template-columns:repeat(2,1fr); }
  .dir-detail-table { grid-template-columns:1fr; gap:4px; }
  .dir-detail-label { padding-top:8px; }
}

/* ─── Guide pages (가이드/정책 공통) ─── */
:root {
  --guide-orange:#c98b2a;
  --guide-orange-soft:#f5e8d3;
  --guide-blue:#0f5fb8;
  --guide-blue-soft:#e6f0fa;
  --guide-green:#2e7d3a;
  --guide-green-soft:#e1f0e3;
  --guide-purple:#5a3fa6;
  --guide-purple-soft:#ede8fa;
  --guide-red:#c0392b;
  --guide-red-soft:#fae3e0;
}

.guide-hero { color:#fff; padding:80px 0 64px; position:relative; }
.guide-hero[data-theme="orange"] { background:linear-gradient(135deg,#8a5a14 0%,#c98b2a 60%,#e0a548 100%); }
.guide-hero[data-theme="blue"] { background:linear-gradient(135deg,#0a2d5e 0%,#0f5fb8 60%,#1a73e8 100%); }
.guide-hero[data-theme="green"] { background:linear-gradient(135deg,#1a4a25 0%,#2e7d3a 60%,#3d9a4a 100%); }
.guide-hero[data-theme="purple"] { background:linear-gradient(135deg,#3a2a70 0%,#5a3fa6 60%,#7757c4 100%); }
.guide-hero[data-theme="navy"] { background:linear-gradient(135deg,#0a1628 0%,#0f2a52 60%,#1a4080 100%); }
.guide-hero-kicker { display:inline-flex; align-items:center; gap:8px; font-size:11px; font-weight:700; letter-spacing:0.18em; text-transform:uppercase; opacity:0.85; margin-bottom:18px; padding:6px 14px; border:1px solid rgba(255,255,255,0.3); border-radius:30px; }
.guide-hero h1 { font-size:42px; font-weight:800; line-height:1.25; margin:0 0 18px; letter-spacing:-0.02em; }
.guide-hero-desc { font-size:17px; line-height:1.7; opacity:0.92; max-width:760px; }

.guide-sec { padding:64px 0; }
.guide-sec.alt { background:var(--surface); }
.guide-sec-kicker { font-family:'Bebas Neue',sans-serif; font-size:14px; letter-spacing:0.18em; color:var(--blue); margin-bottom:10px; }
.guide-sec-title { font-size:30px; font-weight:800; color:var(--navy); margin:0 0 14px; line-height:1.3; letter-spacing:-0.02em; }
.guide-sec-desc { font-size:15px; color:var(--text2); line-height:1.7; max-width:820px; margin-bottom:32px; }

.guide-card-grid { display:grid; gap:20px; }
.guide-card-grid.cols-2 { grid-template-columns:repeat(2,1fr); }
.guide-card-grid.cols-3 { grid-template-columns:repeat(3,1fr); }
.guide-card-grid.cols-4 { grid-template-columns:repeat(4,1fr); }
.guide-card { background:#fff; border:1px solid var(--border); border-radius:14px; padding:26px; transition:all .25s; }
.guide-card:hover { border-color:var(--blue); box-shadow:0 8px 24px rgba(26,115,232,0.08); }
.guide-card-num { display:inline-flex; align-items:center; justify-content:center; width:36px; height:36px; border-radius:50%; background:var(--blue); color:#fff; font-weight:800; font-size:14px; margin-bottom:14px; }
.guide-card-title { font-size:18px; font-weight:800; color:var(--navy); margin:0 0 10px; line-height:1.4; }
.guide-card-desc { font-size:14px; color:var(--text2); line-height:1.65; margin-bottom:14px; }
.guide-card ul { list-style:none; padding:0; margin:0; }
.guide-card li { font-size:13.5px; line-height:1.7; padding:6px 0; color:var(--text2); display:flex; gap:8px; align-items:flex-start; border-bottom:1px dashed #eef1f6; }
.guide-card li:last-child { border-bottom:none; }
.guide-card li strong { color:var(--navy); font-weight:700; min-width:80px; flex-shrink:0; }

.guide-list { display:grid; gap:10px; }
.guide-list li { background:#fff; border:1px solid var(--border); border-radius:10px; padding:14px 18px; font-size:14px; line-height:1.6; color:var(--text2); list-style:none; }
.guide-list li strong { color:var(--navy); font-weight:700; margin-right:6px; }
.guide-list.check li::before { content:"✓"; color:#2e7d3a; font-weight:800; margin-right:8px; }
.guide-list.warn li::before { content:"!"; color:var(--guide-orange); font-weight:800; margin-right:8px; }
.guide-list.numbered { counter-reset:gln; }
.guide-list.numbered li { counter-increment:gln; padding-left:48px; position:relative; }
.guide-list.numbered li::before { content:counter(gln); position:absolute; left:14px; top:50%; transform:translateY(-50%); width:24px; height:24px; border-radius:50%; background:var(--blue); color:#fff; font-size:12px; font-weight:800; display:flex; align-items:center; justify-content:center; }

.guide-risk-list { display:grid; gap:8px; }
.guide-risk-item { display:grid; grid-template-columns:60px 1fr; gap:14px; align-items:center; background:#fff; border:1px solid var(--border); border-radius:10px; padding:12px 16px; font-size:13.5px; }
.guide-risk-tag { font-size:11px; font-weight:800; padding:4px 8px; border-radius:6px; text-align:center; letter-spacing:0.05em; }
.guide-risk-tag.high { background:#fae3e0; color:#c0392b; }
.guide-risk-tag.mid { background:#fdf3d4; color:#a87100; }
.guide-risk-tag.low { background:#e1f0e3; color:#2e7d3a; }

.guide-cta-row { display:flex; flex-wrap:wrap; gap:10px; margin-top:18px; }
.guide-cta-btn { display:inline-flex; align-items:center; gap:8px; padding:11px 22px; border-radius:10px; background:var(--blue); color:#fff; font-size:14px; font-weight:700; text-decoration:none; transition:all .2s; }
.guide-cta-btn:hover { background:var(--navy); transform:translateY(-1px); }
.guide-cta-btn.outline { background:#fff; color:var(--blue); border:1.5px solid var(--blue); }
.guide-cta-btn.outline:hover { background:var(--blue); color:#fff; }
.guide-cta-btn.dark { background:var(--navy); }

.guide-link-card { display:grid; grid-template-columns:auto 1fr auto; gap:14px; align-items:center; background:#fff; border:1px solid var(--border); border-radius:12px; padding:18px 22px; text-decoration:none; color:inherit; transition:all .2s; }
.guide-link-card:hover { border-color:var(--blue); box-shadow:0 6px 16px rgba(26,115,232,0.08); transform:translateY(-2px); }
.guide-link-card-icon { font-size:26px; }
.guide-link-card-title { font-size:15px; font-weight:800; color:var(--navy); margin-bottom:3px; }
.guide-link-card-desc { font-size:12.5px; color:var(--text3); }
.guide-link-card-arrow { font-size:18px; color:var(--blue); }

@media (max-width:900px){
  .guide-hero { padding:56px 0 44px; }
  .guide-hero h1 { font-size:30px; }
  .guide-card-grid.cols-3, .guide-card-grid.cols-4, .guide-card-grid.cols-2 { grid-template-columns:1fr; }
  .guide-sec { padding:44px 0; }
  .guide-sec-title { font-size:24px; }
}

/* ─── Board feed — variable card layouts (image aspect ratio 기반) ─── */
.bf-list { display:grid; grid-template-columns:1fr; gap:18px; }
.bf-card { display:block; background:#fff; border:1px solid #e5eaf2; border-radius:14px; overflow:hidden; text-decoration:none; color:inherit; transition:all .25s ease; }
.bf-card:hover { border-color:var(--blue,#1a73e8); box-shadow:0 14px 36px rgba(13,33,71,.10); transform:translateY(-2px); }
.bf-tag { display:inline-flex; align-items:center; gap:6px; font-size:11px; font-weight:800; background:#e8f1fb; color:#0f3a7a; padding:5px 11px; border-radius:100px; letter-spacing:0.02em; }
.bf-tag .bf-tag-icon { width:13px; height:13px; flex-shrink:0; }
.bf-tag .bf-tag-icon svg { width:100%; height:100%; }
.bf-title { font-size:18px; font-weight:800; color:#0d1b2e; line-height:1.45; margin:10px 0 8px; letter-spacing:-0.01em; }
.bf-desc { font-size:13.5px; color:#5a6a7e; line-height:1.7; margin:0 0 12px; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.bf-meta { display:flex; align-items:center; gap:12px; font-size:12px; color:#8b97a9; }
.bf-meta-icon { width:14px; height:14px; flex-shrink:0; opacity:0.7; }
.bf-meta-icon svg { width:100%; height:100%; stroke:currentColor; }

/* Layout: Hero (very wide / landscape >= 1.6) */
.bf-card.bf-hero { padding:0; }
.bf-card.bf-hero .bf-img-wrap { aspect-ratio:16/7; overflow:hidden; background:linear-gradient(135deg,#f0f4fa,#dde6f0); }
.bf-card.bf-hero .bf-img-wrap img { width:100%; height:100%; object-fit:cover; transition:transform .4s ease; }
.bf-card.bf-hero:hover .bf-img-wrap img { transform:scale(1.04); }
.bf-card.bf-hero .bf-body { padding:26px 28px; }
.bf-card.bf-hero .bf-title { font-size:22px; }
.bf-card.bf-hero .bf-desc { -webkit-line-clamp:3; }

/* Layout: Standard horizontal split (1.15~1.6 aspect, e.g. 4:3) — image left */
.bf-card.bf-std { display:grid; grid-template-columns:280px 1fr; padding:0; }
.bf-card.bf-std .bf-img-wrap { aspect-ratio:4/3; overflow:hidden; background:linear-gradient(135deg,#f0f4fa,#dde6f0); }
.bf-card.bf-std .bf-img-wrap img { width:100%; height:100%; object-fit:cover; transition:transform .4s ease; }
.bf-card.bf-std:hover .bf-img-wrap img { transform:scale(1.04); }
.bf-card.bf-std .bf-body { padding:22px 26px; display:flex; flex-direction:column; justify-content:center; }

/* Layout: Square (0.85~1.15) — compact horizontal */
.bf-card.bf-sq { display:grid; grid-template-columns:200px 1fr; padding:0; }
.bf-card.bf-sq .bf-img-wrap { aspect-ratio:1/1; overflow:hidden; background:linear-gradient(135deg,#f0f4fa,#dde6f0); }
.bf-card.bf-sq .bf-img-wrap img { width:100%; height:100%; object-fit:cover; transition:transform .4s ease; }
.bf-card.bf-sq:hover .bf-img-wrap img { transform:scale(1.04); }
.bf-card.bf-sq .bf-body { padding:20px 24px; display:flex; flex-direction:column; justify-content:center; }
.bf-card.bf-sq .bf-title { font-size:16px; }

/* Layout: Portrait (book cover, < 0.85) — vertical card with side image */
.bf-card.bf-pt { display:grid; grid-template-columns:1fr 200px; padding:0; }
.bf-card.bf-pt .bf-img-wrap { aspect-ratio:3/4; overflow:hidden; background:linear-gradient(135deg,#f0f4fa,#dde6f0); }
.bf-card.bf-pt .bf-img-wrap img { width:100%; height:100%; object-fit:cover; transition:transform .4s ease; }
.bf-card.bf-pt:hover .bf-img-wrap img { transform:scale(1.04); }
.bf-card.bf-pt .bf-body { padding:24px 26px; display:flex; flex-direction:column; justify-content:center; order:0; }
.bf-card.bf-pt .bf-img-wrap { order:1; }
.bf-card.bf-pt .bf-title { font-size:17px; }

/* Layout: Text-only (no image) */
.bf-card.bf-text { padding:24px 26px; }
.bf-card.bf-text .bf-title { font-size:18px; margin-top:10px; }
.bf-card.bf-text .bf-desc { -webkit-line-clamp:3; }

/* Header refresh — board hero with svg icon */
.bf-head { background:linear-gradient(135deg,#0a1628 0%,#0f2a52 60%,#1a4080 100%); color:#fff; padding:72px 24px 56px; position:relative; overflow:hidden; }
.bf-head::before { content:""; position:absolute; right:-80px; top:-80px; width:280px; height:280px; border-radius:50%; background:radial-gradient(circle,rgba(116,192,252,0.18) 0%,rgba(116,192,252,0) 70%); }
.bf-head-inner { max-width:1180px; margin:0 auto; position:relative; }
.bf-head-icon { display:inline-flex; align-items:center; justify-content:center; width:56px; height:56px; border-radius:14px; background:rgba(255,255,255,0.10); border:1px solid rgba(255,255,255,0.18); margin-bottom:18px; color:#74c0fc; }
.bf-head-icon svg { width:28px; height:28px; }
.bf-head-kicker { display:inline-flex; align-items:center; gap:8px; font-family:'Bebas Neue',sans-serif; font-size:12px; font-weight:700; color:#74c0fc; letter-spacing:.18em; text-transform:uppercase; margin-bottom:12px; }
.bf-head h1 { font-size:36px; font-weight:800; margin:0 0 10px; color:#fff; letter-spacing:-0.02em; line-height:1.2; }
.bf-head-meta { color:rgba(255,255,255,.72); font-size:14px; line-height:1.6; }
.bf-head-meta strong { color:#fff; font-weight:800; }

.bf-empty { text-align:center; padding:80px 20px; color:#a0aec0; background:#f4f6fb; border-radius:16px; }
.bf-empty-icon { width:64px; height:64px; margin:0 auto 14px; color:#a0aec0; opacity:0.7; }
.bf-empty-icon svg { width:100%; height:100%; }

@media (max-width:780px){
  .bf-head { padding:48px 20px 36px; }
  .bf-head h1 { font-size:26px; }
  .bf-card.bf-std, .bf-card.bf-sq, .bf-card.bf-pt { grid-template-columns:1fr; }
  .bf-card.bf-std .bf-img-wrap, .bf-card.bf-sq .bf-img-wrap, .bf-card.bf-pt .bf-img-wrap { aspect-ratio:16/9; }
  .bf-card.bf-pt .bf-img-wrap { order:0; }
  .bf-card.bf-pt .bf-body { order:1; }
  .bf-card.bf-hero .bf-img-wrap { aspect-ratio:16/9; }
  .bf-card.bf-hero .bf-body { padding:20px 22px; }
  .bf-card.bf-hero .bf-title { font-size:19px; }
}

/* ─── Institutional Research Publication System ─── */

:root {
  --rp-ink:#0a1422;          /* 본문/제목 — 진잉크 */
  --rp-ink-soft:#2a3950;     /* 부드러운 잉크 */
  --rp-mute:#6b7a90;         /* 메타텍스트 */
  --rp-rule:#dde6f0;         /* 디바이더/룰 (블루 틴트) */
  --rp-rule-soft:#eaf0f7;
  --rp-paper:#f4f9fd;        /* 페이퍼 톤 — 라이트 블루 */
  --rp-paper-deep:#e8f1fa;   /* 더 진한 페이퍼 블루 */
  --rp-navy:#003d76;         /* imweb 메인 네이비 */
  --rp-navy-deep:#001f3f;    /* 가장 진한 네이비 */
  --rp-blue:#1880d9;         /* imweb 미드 블루 */
  --rp-blue-light:#3a99e8;   /* 라이트 블루 */
  --rp-cyan:#00b8ff;         /* imweb 시안 */
  --rp-cyan-soft:#cbeaf9;    /* 부드러운 시안 */
  --rp-accent:#003d76;       /* 단일 강조 — imweb 네이비 */
  --rp-accent-2:#1880d9;     /* 강조 보조 — imweb 블루 */
  --rp-serif:'Noto Sans KR',-apple-system,sans-serif;
  --rp-display:'Noto Sans KR',-apple-system,sans-serif;
  --rp-sans:'Noto Sans KR',-apple-system,sans-serif;
  --rp-mono:'Noto Sans KR',-apple-system,sans-serif;
}

/* Editorial Masthead (게시판 헤더) */
.rp-masthead { background:var(--rp-paper); border-bottom:1px solid var(--rp-rule); padding:0; position:relative; }
.rp-masthead-top { border-bottom:1px solid var(--rp-rule); padding:14px 24px; font-family:var(--rp-sans); font-size:11px; letter-spacing:0.22em; text-transform:uppercase; color:var(--rp-mute); display:flex; align-items:center; justify-content:space-between; max-width:1280px; margin:0 auto; }
.rp-masthead-top a { color:var(--rp-mute); text-decoration:none; }
.rp-masthead-top a:hover { color:var(--rp-accent); }
.rp-masthead-top .rp-vol { font-weight:700; color:var(--rp-ink); letter-spacing:0.18em; }
.rp-masthead-body { padding:56px 24px 44px; max-width:1280px; margin:0 auto; display:grid; grid-template-columns:auto 1fr auto; gap:32px; align-items:end; }
.rp-masthead-icon { width:64px; height:64px; display:flex; align-items:center; justify-content:center; color:var(--rp-accent); border:1.5px solid var(--rp-ink); border-radius:2px; }
.rp-masthead-icon svg { width:34px; height:34px; }
.rp-masthead-title-block h1 { font-family:var(--rp-serif); font-size:54px; font-weight:800; color:var(--rp-ink); margin:0 0 6px; letter-spacing:-0.025em; line-height:1.05; }
.rp-masthead-title-block .rp-tagline { font-family:var(--rp-serif); font-size:15px; color:var(--rp-ink-soft); font-weight:400; line-height:1.55; max-width:680px; }
.rp-masthead-stat { font-family:var(--rp-sans); text-align:right; line-height:1.2; }
.rp-masthead-stat-num { font-family:var(--rp-serif); font-size:42px; font-weight:800; color:var(--rp-ink); letter-spacing:-0.02em; }
.rp-masthead-stat-label { font-size:11px; letter-spacing:0.2em; text-transform:uppercase; color:var(--rp-mute); margin-top:4px; }

/* Container */
.rp-wrap { max-width:1280px; margin:0 auto; padding:0 24px; }
.rp-section { padding:64px 0; }
.rp-section + .rp-section { border-top:1px solid var(--rp-rule); }

/* Section header — editorial style */
.rp-sec-head { margin-bottom:36px; padding-bottom:18px; border-bottom:2px solid var(--rp-ink); display:flex; align-items:flex-end; justify-content:space-between; gap:24px; flex-wrap:wrap; }
.rp-sec-head h2 { font-family:var(--rp-serif); font-size:28px; font-weight:800; color:var(--rp-ink); margin:0; letter-spacing:-0.02em; line-height:1.2; }
.rp-sec-head .rp-sec-label { font-family:var(--rp-sans); font-size:11px; letter-spacing:0.24em; text-transform:uppercase; color:var(--rp-accent); font-weight:700; margin-bottom:6px; }
.rp-sec-head .rp-sec-meta { font-family:var(--rp-sans); font-size:12px; letter-spacing:0.1em; color:var(--rp-mute); text-transform:uppercase; }

/* Featured article card */
.rp-featured { display:grid; grid-template-columns:1.4fr 1fr; gap:48px; align-items:center; }
.rp-featured-img { aspect-ratio:4/3; overflow:hidden; background:var(--rp-paper); position:relative; border:1px solid var(--rp-rule); }
.rp-featured-img img { width:100%; height:100%; object-fit:cover; transition:transform .6s ease; }
.rp-featured:hover .rp-featured-img img { transform:scale(1.03); }
.rp-featured-img-caption { position:absolute; bottom:0; left:0; right:0; background:linear-gradient(to top,rgba(10,20,34,0.9),rgba(10,20,34,0)); color:#fff; padding:24px 20px 16px; font-family:var(--rp-sans); font-size:11px; letter-spacing:0.18em; text-transform:uppercase; opacity:0.9; }
.rp-featured-body .rp-cat { font-family:var(--rp-sans); font-size:11px; font-weight:700; letter-spacing:0.22em; text-transform:uppercase; color:var(--rp-accent); margin-bottom:16px; display:inline-flex; align-items:center; gap:8px; }
.rp-featured-body .rp-cat::before { content:""; width:24px; height:1px; background:var(--rp-accent); }
.rp-featured-body h3 { font-family:var(--rp-serif); font-size:38px; font-weight:800; color:var(--rp-ink); margin:0 0 18px; line-height:1.18; letter-spacing:-0.025em; }
.rp-featured-body h3 a { color:inherit; text-decoration:none; transition:color .2s; }
.rp-featured-body h3 a:hover { color:var(--rp-accent); }
.rp-featured-body .rp-lede { font-family:var(--rp-serif); font-size:17px; font-weight:400; color:var(--rp-ink-soft); line-height:1.65; margin:0 0 22px; }
.rp-featured-body .rp-meta { display:flex; align-items:center; gap:14px; font-family:var(--rp-sans); font-size:12px; color:var(--rp-mute); padding-top:18px; border-top:1px solid var(--rp-rule); }
.rp-featured-body .rp-meta strong { color:var(--rp-ink); font-weight:700; }
.rp-featured-body .rp-meta-sep { width:3px; height:3px; border-radius:50%; background:var(--rp-mute); display:inline-block; }

/* Article index — chronological list */
.rp-index { display:grid; grid-template-columns:repeat(2,1fr); gap:0; border-top:1px solid var(--rp-rule); }
.rp-index-item { display:grid; grid-template-columns:120px 1fr auto; gap:24px; align-items:start; padding:28px 24px; border-bottom:1px solid var(--rp-rule); text-decoration:none; color:inherit; transition:all .25s; position:relative; }
.rp-index-item:nth-child(odd) { border-right:1px solid var(--rp-rule); }
.rp-index-item:hover { background:var(--rp-paper); }
.rp-index-item:hover h4 { color:var(--rp-accent); }
.rp-index-thumb { aspect-ratio:1/1; overflow:hidden; background:var(--rp-paper); border:1px solid var(--rp-rule); }
.rp-index-thumb img { width:100%; height:100%; object-fit:cover; }
.rp-index-thumb.portrait { aspect-ratio:3/4; }
.rp-index-thumb.landscape { aspect-ratio:16/9; }
.rp-index-body { min-width:0; }
.rp-index-body .rp-mini-cat { font-family:var(--rp-sans); font-size:10px; font-weight:700; letter-spacing:0.22em; text-transform:uppercase; color:var(--rp-accent); margin-bottom:8px; }
.rp-index-body h4 { font-family:var(--rp-serif); font-size:18px; font-weight:700; color:var(--rp-ink); margin:0 0 8px; line-height:1.4; letter-spacing:-0.015em; transition:color .2s; }
.rp-index-body .rp-snippet { font-family:var(--rp-serif); font-size:14px; color:var(--rp-ink-soft); line-height:1.6; margin:0 0 10px; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.rp-index-body .rp-meta-line { font-family:var(--rp-sans); font-size:11px; color:var(--rp-mute); letter-spacing:0.06em; }
.rp-index-num { font-family:var(--rp-serif); font-size:13px; font-weight:600; color:var(--rp-mute); align-self:flex-start; padding-top:4px; letter-spacing:0.1em; }

/* Pagination — institutional */
.rp-pagination { display:flex; align-items:center; justify-content:center; gap:6px; margin:48px 0 0; padding-top:32px; border-top:1px solid var(--rp-rule); }
.rp-pagination a, .rp-pagination span { display:inline-flex; align-items:center; justify-content:center; min-width:40px; height:40px; padding:0 12px; font-family:var(--rp-sans); font-size:13px; font-weight:600; color:var(--rp-ink); text-decoration:none; border:1px solid transparent; transition:all .2s; }
.rp-pagination a:hover { border-color:var(--rp-ink); }
.rp-pagination .current { background:var(--rp-ink); color:#fff; }

/* Article (long-form report) */
.rp-article { max-width:780px; margin:0 auto; padding:0 24px; }
.rp-article-head { padding:64px 0 44px; border-bottom:1px solid var(--rp-rule); margin-bottom:40px; }
.rp-breadcrumb { font-family:var(--rp-sans); font-size:11px; letter-spacing:0.18em; text-transform:uppercase; color:var(--rp-mute); margin-bottom:32px; }
.rp-breadcrumb a { color:var(--rp-mute); text-decoration:none; }
.rp-breadcrumb a:hover { color:var(--rp-accent); }
.rp-breadcrumb .sep { margin:0 10px; opacity:0.5; }
.rp-article-cat { display:inline-flex; align-items:center; gap:10px; font-family:var(--rp-sans); font-size:11px; font-weight:700; letter-spacing:0.22em; text-transform:uppercase; color:var(--rp-accent); margin-bottom:22px; }
.rp-article-cat::before { content:""; width:32px; height:1px; background:var(--rp-accent); }
.rp-article-title { font-family:var(--rp-serif); font-size:46px; font-weight:800; color:var(--rp-ink); margin:0 0 22px; line-height:1.15; letter-spacing:-0.028em; }
.rp-article-lede { font-family:var(--rp-serif); font-size:19px; font-weight:500; color:var(--rp-ink-soft); line-height:1.65; margin:0 0 32px; max-width:680px; border-left:3px solid var(--rp-accent-2); padding-left:18px; }
.rp-article-byline { display:flex; align-items:center; gap:18px; font-family:var(--rp-sans); font-size:12px; color:var(--rp-mute); flex-wrap:wrap; padding-top:20px; border-top:1px solid var(--rp-rule); }
.rp-article-byline strong { color:var(--rp-ink); font-weight:700; }
.rp-article-byline .rp-byline-label { font-size:10px; font-weight:700; letter-spacing:0.22em; text-transform:uppercase; color:var(--rp-mute); margin-right:6px; }

/* Hero image */
.rp-article-hero-img { width:100%; aspect-ratio:16/9; object-fit:cover; margin:0 0 14px; border:1px solid var(--rp-rule); }
.rp-article-hero-img.portrait { aspect-ratio:auto; max-height:600px; width:auto; max-width:100%; display:block; margin:0 auto 14px; }
.rp-article-hero-cap { font-family:var(--rp-sans); font-size:11px; color:var(--rp-mute); letter-spacing:0.1em; text-align:center; margin-bottom:40px; padding-bottom:14px; border-bottom:1px solid var(--rp-rule); }

/* Article body — long-form typography */
.rp-article-body { font-family:var(--rp-serif); font-size:17.5px; line-height:1.85; color:var(--rp-ink); }
.rp-article-body > *:first-child::first-letter { font-family:var(--rp-serif); font-size:64px; font-weight:800; float:left; line-height:0.92; padding:6px 12px 0 0; color:var(--rp-accent); }
.rp-article-body p { margin:0 0 24px; }
.rp-article-body h1, .rp-article-body h2, .rp-article-body h3, .rp-article-body h4 { font-family:var(--rp-serif); color:var(--rp-ink); letter-spacing:-0.02em; margin:48px 0 18px; line-height:1.25; font-weight:800; }
.rp-article-body h2 { font-size:28px; padding-bottom:10px; border-bottom:1px solid var(--rp-rule); }
.rp-article-body h3 { font-size:22px; }
.rp-article-body h4 { font-size:18px; }
.rp-article-body img { max-width:100%; height:auto; display:block; margin:32px auto; border:1px solid var(--rp-rule); }
.rp-article-body blockquote { border-left:4px solid var(--rp-accent); padding:10px 0 10px 24px; margin:32px 0; color:var(--rp-ink-soft); font-size:18px; line-height:1.7; font-weight:500; }
.rp-article-body ul, .rp-article-body ol { padding-left:22px; margin:0 0 24px; }
.rp-article-body li { margin-bottom:8px; }
.rp-article-body a { color:var(--rp-accent); text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:3px; }
.rp-article-body strong { font-weight:700; color:var(--rp-ink); }
.rp-article-body table { width:100%; border-collapse:collapse; margin:28px 0; font-size:14px; font-family:var(--rp-sans); }
.rp-article-body table th, .rp-article-body table td { padding:10px 14px; border:1px solid var(--rp-rule); text-align:left; vertical-align:top; }
.rp-article-body table th { background:var(--rp-paper); font-weight:700; color:var(--rp-ink); }
.rp-article-body hr { border:none; border-top:1px solid var(--rp-rule); margin:48px 0; }

/* Article footer — share / signature */
.rp-article-footer { margin-top:64px; padding-top:32px; border-top:2px solid var(--rp-ink); display:flex; justify-content:space-between; align-items:center; gap:24px; flex-wrap:wrap; font-family:var(--rp-sans); }
.rp-article-tags { display:flex; gap:8px; flex-wrap:wrap; }
.rp-article-tags .rp-tag-pill { font-size:11px; font-weight:600; letter-spacing:0.1em; text-transform:uppercase; padding:6px 14px; border:1px solid var(--rp-rule); color:var(--rp-mute); border-radius:0; }
.rp-article-tags .rp-tag-pill:hover { border-color:var(--rp-accent); color:var(--rp-accent); }
.rp-article-back { display:inline-flex; align-items:center; gap:8px; font-size:12px; font-weight:700; letter-spacing:0.18em; text-transform:uppercase; color:var(--rp-ink); text-decoration:none; padding:12px 22px; border:1.5px solid var(--rp-ink); transition:all .2s; }
.rp-article-back:hover { background:var(--rp-ink); color:#fff; }

/* Related — colophon style */
.rp-colophon { background:var(--rp-paper); border-top:1px solid var(--rp-rule); padding:64px 24px; margin-top:96px; }
.rp-colophon-inner { max-width:1280px; margin:0 auto; }
.rp-colophon-head { font-family:var(--rp-sans); font-size:11px; letter-spacing:0.24em; text-transform:uppercase; color:var(--rp-accent); margin-bottom:6px; font-weight:700; }
.rp-colophon-title { font-family:var(--rp-serif); font-size:30px; font-weight:800; color:var(--rp-ink); margin:0 0 36px; padding-bottom:14px; border-bottom:1px solid var(--rp-rule); letter-spacing:-0.02em; }
.rp-related-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:24px; }
.rp-related-card { text-decoration:none; color:inherit; display:block; transition:all .25s; }
.rp-related-card:hover h5 { color:var(--rp-accent); }
.rp-related-thumb { aspect-ratio:4/3; overflow:hidden; background:var(--rp-rule); margin-bottom:14px; border:1px solid var(--rp-rule); }
.rp-related-thumb img { width:100%; height:100%; object-fit:cover; transition:transform .4s; }
.rp-related-card:hover .rp-related-thumb img { transform:scale(1.05); }
.rp-related-card .rp-mini-cat { font-family:var(--rp-sans); font-size:10px; font-weight:700; letter-spacing:0.22em; text-transform:uppercase; color:var(--rp-accent); margin-bottom:6px; }
.rp-related-card h5 { font-family:var(--rp-serif); font-size:15px; font-weight:700; color:var(--rp-ink); margin:0 0 6px; line-height:1.4; transition:color .2s; }
.rp-related-card .rp-related-meta { font-family:var(--rp-sans); font-size:11px; color:var(--rp-mute); }

/* Empty state */
.rp-empty { text-align:center; padding:96px 24px; font-family:var(--rp-serif); }
.rp-empty-mark { font-family:var(--rp-serif); font-size:48px; font-weight:800; color:var(--rp-mute); margin-bottom:8px; letter-spacing:-0.05em; }
.rp-empty p { font-family:var(--rp-serif); font-size:16px; color:var(--rp-ink-soft); margin:0; }

/* Responsive */
@media (max-width:980px){
  .rp-masthead-body { grid-template-columns:1fr; gap:18px; }
  .rp-masthead-stat { text-align:left; }
  .rp-masthead-title-block h1 { font-size:38px; }
  .rp-featured { grid-template-columns:1fr; gap:24px; }
  .rp-featured-body h3 { font-size:28px; }
  .rp-index { grid-template-columns:1fr; }
  .rp-index-item:nth-child(odd) { border-right:none; }
  .rp-index-item { grid-template-columns:88px 1fr; }
  .rp-index-num { display:none; }
  .rp-related-grid { grid-template-columns:repeat(2,1fr); }
  .rp-article-title { font-size:32px; }
  .rp-article-lede { font-size:17px; }
  .rp-article-body { font-size:16px; }
}
@media (max-width:560px){
  .rp-masthead-body { padding:36px 16px 28px; }
  .rp-masthead-icon { width:48px; height:48px; }
  .rp-masthead-icon svg { width:24px; height:24px; }
  .rp-masthead-title-block h1 { font-size:30px; }
  .rp-related-grid { grid-template-columns:1fr; }
  .rp-article { padding:0 16px; }
  .rp-article-title { font-size:26px; }
  .rp-section { padding:40px 0; }
}

/* ─── Cycling post layouts (5 types) — imweb 스타일 변주 ─── */

/* Common card behavior */
.rp-cards { display:grid; grid-template-columns:1fr; gap:0; }
.rp-pcard { display:block; text-decoration:none; color:inherit; transition:all .25s ease; padding:36px 0; border-bottom:1px solid var(--rp-rule); }
.rp-pcard:hover { background:var(--rp-paper); }
.rp-pcard:last-child { border-bottom:none; }

.rp-pcard-cat { display:inline-flex; align-items:center; gap:8px; font-family:var(--rp-sans); font-size:11px; font-weight:700; letter-spacing:0.22em; text-transform:uppercase; color:var(--rp-blue); margin-bottom:14px; }
.rp-pcard-cat::before { content:""; width:24px; height:1px; background:var(--rp-blue); }
.rp-pcard-title { font-family:var(--rp-display); font-weight:800; color:var(--rp-ink); line-height:1.3; letter-spacing:-0.02em; margin:0 0 12px; transition:color .2s; }
.rp-pcard:hover .rp-pcard-title { color:var(--rp-navy); }
.rp-pcard-snippet { font-family:var(--rp-serif); color:var(--rp-ink-soft); line-height:1.7; margin:0 0 14px; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.rp-pcard-meta { display:flex; align-items:center; gap:10px; font-family:var(--rp-sans); font-size:12px; color:var(--rp-mute); }
.rp-pcard-meta strong { color:var(--rp-ink); font-weight:700; }
.rp-pcard-meta-sep { width:3px; height:3px; border-radius:50%; background:var(--rp-mute); display:inline-block; }
.rp-pcard-thumb { overflow:hidden; background:var(--rp-paper); border:1px solid var(--rp-rule); position:relative; }
.rp-pcard-thumb img { width:100%; height:100%; object-fit:cover; transition:transform .5s ease; }
.rp-pcard:hover .rp-pcard-thumb img { transform:scale(1.04); }

/* Layout A — Standard split (img LEFT 280, text right) */
.rp-pcard-a { display:grid; grid-template-columns:300px 1fr; gap:32px; align-items:start; }
.rp-pcard-a .rp-pcard-thumb { aspect-ratio:4/3; }
.rp-pcard-a.portrait .rp-pcard-thumb { aspect-ratio:3/4; }
.rp-pcard-a .rp-pcard-title { font-size:22px; }

/* Layout B — Reverse split (text LEFT, img right 320) */
.rp-pcard-b { display:grid; grid-template-columns:1fr 320px; gap:36px; align-items:start; }
.rp-pcard-b .rp-pcard-thumb { aspect-ratio:1/1; }
.rp-pcard-b .rp-pcard-title { font-size:24px; }
.rp-pcard-b .rp-pcard-snippet { -webkit-line-clamp:3; }

/* Layout C — Magazine wide (full-width image top + 2-col text bottom) */
.rp-pcard-c { padding:40px 0 44px; }
.rp-pcard-c .rp-pcard-thumb { aspect-ratio:21/9; margin-bottom:24px; }
.rp-pcard-c .rp-pcard-body { display:grid; grid-template-columns:1fr 1.5fr; gap:36px; align-items:start; }
.rp-pcard-c .rp-pcard-title { font-size:30px; line-height:1.2; }
.rp-pcard-c .rp-pcard-snippet { font-size:16px; -webkit-line-clamp:3; }

/* Layout D — Accent block (colored sidebar + text-emphasis, no image) */
.rp-pcard-d { display:grid; grid-template-columns:6px 1fr; gap:24px; padding:32px 0; background:linear-gradient(to right, var(--rp-paper) 0%, transparent 60%); }
.rp-pcard-d::before { content:""; background:linear-gradient(to bottom, var(--rp-blue) 0%, var(--rp-cyan) 100%); border-radius:2px; }
.rp-pcard-d .rp-pcard-title { font-size:24px; }
.rp-pcard-d .rp-pcard-snippet { -webkit-line-clamp:3; font-size:15.5px; }
.rp-pcard-d .rp-pcard-cat { color:var(--rp-cyan); }
.rp-pcard-d .rp-pcard-cat::before { background:var(--rp-cyan); }

/* Layout E — Compact horizontal (small thumb + dense text) */
.rp-pcard-e { display:grid; grid-template-columns:160px 1fr; gap:24px; align-items:center; padding:24px 0; }
.rp-pcard-e .rp-pcard-thumb { aspect-ratio:1/1; }
.rp-pcard-e .rp-pcard-title { font-size:18px; }
.rp-pcard-e .rp-pcard-snippet { -webkit-line-clamp:2; font-size:13.5px; margin-bottom:10px; }
.rp-pcard-e .rp-pcard-cat { font-size:10px; margin-bottom:8px; }

/* Layout F — Tall portrait card (book cover style) — text left, tall img right */
.rp-pcard-f { display:grid; grid-template-columns:1fr 240px; gap:36px; align-items:center; }
.rp-pcard-f .rp-pcard-thumb { aspect-ratio:3/4; max-height:340px; }
.rp-pcard-f .rp-pcard-title { font-size:24px; }
.rp-pcard-f .rp-pcard-snippet { -webkit-line-clamp:3; }

/* Featured (top of page) — keep existing rp-featured but recolored */
.rp-featured-img-caption { background:linear-gradient(to top,rgba(0,61,118,0.92),rgba(0,61,118,0)); }
.rp-featured-body .rp-cat { color:var(--rp-blue); }
.rp-featured-body .rp-cat::before { background:var(--rp-blue); }
.rp-featured-body h3 a:hover { color:var(--rp-navy); }
.rp-featured-img { background:linear-gradient(135deg,var(--rp-paper),var(--rp-paper-deep)); border-color:var(--rp-rule); }

/* Updated section/article colors with blue */
.rp-sec-head h2 { color:var(--rp-navy); }
.rp-sec-head .rp-sec-label { color:var(--rp-blue); }
.rp-sec-head { border-bottom-color:var(--rp-navy); }
.rp-masthead { background:linear-gradient(180deg, var(--rp-paper) 0%, #fff 100%); }
.rp-masthead-icon { color:#fff; background:linear-gradient(135deg, var(--rp-navy) 0%, var(--rp-blue) 100%); border-color:var(--rp-navy); }
.rp-masthead-stat-num { color:var(--rp-navy); }
.rp-pagination .current { background:var(--rp-navy); }
.rp-pagination a:hover { border-color:var(--rp-navy); color:var(--rp-navy); }

.rp-article-cat { color:var(--rp-blue); }
.rp-article-cat::before { background:var(--rp-blue); }
.rp-article-title { color:var(--rp-ink); }
.rp-article-lede { border-left-color:var(--rp-blue); background:linear-gradient(to right, var(--rp-paper) 0%, transparent 100%); padding:14px 18px; }
.rp-article-body > *:first-child::first-letter { color:var(--rp-navy); }
.rp-article-body blockquote { border-left-color:var(--rp-blue); background:var(--rp-paper); padding:18px 24px; }
.rp-article-body a { color:var(--rp-blue); }
.rp-article-body h2 { color:var(--rp-navy); border-bottom-color:var(--rp-rule); }
.rp-article-body h3 { color:var(--rp-navy); }
.rp-article-back { color:var(--rp-navy); border-color:var(--rp-navy); }
.rp-article-back:hover { background:var(--rp-navy); }
.rp-article-footer { border-top-color:var(--rp-navy); }
.rp-article-tags .rp-tag-pill:hover { border-color:var(--rp-blue); color:var(--rp-blue); }
.rp-article-hero-cap { color:var(--rp-blue); font-weight:700; }

.rp-colophon { background:var(--rp-paper); }
.rp-colophon-head { color:var(--rp-blue); }
.rp-colophon-title { color:var(--rp-navy); }
.rp-related-card:hover h5 { color:var(--rp-navy); }
.rp-related-card .rp-mini-cat { color:var(--rp-blue); }

.rp-index-body .rp-mini-cat { color:var(--rp-blue); }
.rp-index-item:hover h4 { color:var(--rp-navy); }

/* Responsive — collapse all cycling layouts to single column on mobile */
@media (max-width:780px){
  .rp-pcard-a, .rp-pcard-b, .rp-pcard-e, .rp-pcard-f { grid-template-columns:1fr; gap:18px; }
  .rp-pcard-b .rp-pcard-thumb,
  .rp-pcard-f .rp-pcard-thumb { aspect-ratio:16/9; max-height:none; }
  .rp-pcard-c .rp-pcard-body { grid-template-columns:1fr; gap:14px; }
  .rp-pcard-c .rp-pcard-thumb { aspect-ratio:16/9; }
  .rp-pcard-c .rp-pcard-title { font-size:22px; }
}

/* ─── imweb-style board layout (3-col uniform grid) ─── */
:root {
  --imw-navy:#003d76;
  --imw-blue:#1880d9;
  --imw-cyan:#00b8ff;
  --imw-ink:#212121;
  --imw-mute:#888888;
  --imw-mute-soft:#bcbcbc;
  --imw-border:#e5e5e5;
  --imw-border-soft:#f0f0f0;
  --imw-bg:#ffffff;
  --imw-bg-soft:#f8f9fa;
}

/* Header — board title + search */
.imw-board-head { background:#fff; border-bottom:1px solid var(--imw-border); padding:48px 24px 32px; }
.imw-board-head-inner { max-width:1180px; margin:0 auto; display:flex; align-items:center; justify-content:space-between; gap:24px; flex-wrap:wrap; }
.imw-board-head h1 { font-family:'Noto Sans KR',sans-serif; font-size:28px; font-weight:700; color:var(--imw-ink); margin:0; letter-spacing:-0.02em; }
.imw-board-search { display:flex; align-items:center; border:1px solid var(--imw-border); border-radius:0; padding:0; background:#fff; min-width:280px; }
.imw-board-search input { flex:1; border:none; outline:none; padding:10px 14px; font-size:13px; color:var(--imw-ink); background:transparent; font-family:'Noto Sans KR',sans-serif; }
.imw-board-search input::placeholder { color:var(--imw-mute-soft); }
.imw-board-search button { border:none; background:transparent; padding:0 14px; cursor:pointer; color:var(--imw-mute); display:flex; align-items:center; justify-content:center; }
.imw-board-search button svg { width:16px; height:16px; }

.imw-board-meta-row { max-width:1180px; margin:0 auto; padding:14px 24px 0; font-size:13px; color:var(--imw-mute); }
.imw-board-meta-row strong { color:var(--imw-navy); font-weight:700; }

/* 3-column grid — imweb's grid_03 */
.imw-grid { max-width:1180px; margin:0 auto; padding:24px 24px 80px; display:grid; grid-template-columns:repeat(3, 1fr); gap:24px; }
.imw-card { display:flex; flex-direction:column; background:#fff; border:1px solid var(--imw-border); text-decoration:none; color:inherit; transition:all .25s ease; overflow:hidden; }
.imw-card:hover { border-color:var(--imw-blue); box-shadow:0 8px 24px rgba(24,128,217,0.08); transform:translateY(-2px); }
.imw-card-thumb { aspect-ratio:1/1; background:var(--imw-bg-soft) center / cover no-repeat; position:relative; overflow:hidden; }
.imw-card-thumb-empty { display:flex; align-items:center; justify-content:center; color:var(--imw-mute-soft); font-family:'Bebas Neue',sans-serif; font-size:14px; letter-spacing:0.2em; background:linear-gradient(135deg, #f0f4fa 0%, #e8eef5 100%); }
.imw-card-body { padding:18px 18px 22px; flex:1; display:flex; flex-direction:column; }
.imw-card-title { font-family:'Noto Sans KR',sans-serif; font-size:15.5px; font-weight:700; color:var(--imw-ink); line-height:1.45; margin:0 0 10px; letter-spacing:-0.015em; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.imw-card-excerpt { font-family:'Noto Sans KR',sans-serif; font-size:13px; color:var(--imw-mute); line-height:1.6; margin:0 0 14px; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; flex:1; }
.imw-card-meta { display:flex; align-items:center; gap:10px; font-size:11.5px; color:var(--imw-mute); padding-top:12px; border-top:1px solid var(--imw-border-soft); }
.imw-card-meta-sep { width:2px; height:2px; border-radius:50%; background:var(--imw-mute); display:inline-block; }

/* Pagination */
.imw-pagination { max-width:1180px; margin:0 auto; padding:24px 24px 80px; display:flex; align-items:center; justify-content:center; gap:4px; }
.imw-pagination a, .imw-pagination span { display:inline-flex; align-items:center; justify-content:center; min-width:36px; height:36px; padding:0 12px; font-size:13px; font-weight:500; color:var(--imw-ink); text-decoration:none; border:1px solid var(--imw-border); transition:all .15s; background:#fff; }
.imw-pagination a:hover { border-color:var(--imw-blue); color:var(--imw-blue); }
.imw-pagination .current { background:var(--imw-navy); color:#fff; border-color:var(--imw-navy); font-weight:700; }

/* Empty */
.imw-empty { max-width:1180px; margin:80px auto; padding:80px 24px; text-align:center; color:var(--imw-mute); border:1px dashed var(--imw-border); }
.imw-empty p { font-size:14px; margin:0; }

/* Detail (post view) — imweb 'board_view' style */
.imw-view { max-width:920px; margin:0 auto; padding:48px 24px 80px; }
.imw-view-breadcrumb { font-size:12px; color:var(--imw-mute); margin-bottom:24px; }
.imw-view-breadcrumb a { color:var(--imw-mute); text-decoration:none; }
.imw-view-breadcrumb a:hover { color:var(--imw-blue); }
.imw-view-breadcrumb .sep { margin:0 8px; opacity:0.6; }
.imw-view-tit { font-family:'Noto Sans KR',sans-serif; font-size:32px; font-weight:700; color:var(--imw-ink); line-height:1.35; margin:0 0 24px; letter-spacing:-0.025em; }
.imw-view-cover { width:100%; max-height:520px; object-fit:cover; display:block; margin:0 0 24px; }
.imw-view-cover.portrait { max-width:480px; max-height:none; margin:0 auto 24px; }
.imw-view-summary { display:flex; align-items:center; gap:14px; padding:14px 0; border-top:1px solid var(--imw-border); border-bottom:1px solid var(--imw-border); margin-bottom:36px; font-size:13px; color:var(--imw-mute); }
.imw-view-summary strong { color:var(--imw-ink); font-weight:600; }
.imw-view-summary-sep { width:1px; height:12px; background:var(--imw-border); }
.imw-view-body { font-family:'Noto Sans KR',sans-serif; font-size:16px; line-height:1.8; color:var(--imw-ink); }
.imw-view-body p { margin:0 0 18px; }
.imw-view-body img { max-width:100%; height:auto; display:block; margin:24px auto; }
.imw-view-body h1, .imw-view-body h2, .imw-view-body h3, .imw-view-body h4 { font-weight:700; color:var(--imw-ink); margin:32px 0 16px; line-height:1.4; letter-spacing:-0.02em; }
.imw-view-body h2 { font-size:24px; }
.imw-view-body h3 { font-size:20px; }
.imw-view-body h4 { font-size:17px; }
.imw-view-body blockquote { border-left:3px solid var(--imw-blue); padding:8px 0 8px 18px; margin:24px 0; color:var(--imw-mute); font-size:15px; }
.imw-view-body a { color:var(--imw-blue); text-decoration:underline; }
.imw-view-body strong { font-weight:700; color:var(--imw-ink); }
.imw-view-body ul, .imw-view-body ol { padding-left:24px; margin:0 0 18px; }
.imw-view-body table { width:100%; border-collapse:collapse; margin:20px 0; font-size:14px; }
.imw-view-body table th, .imw-view-body table td { padding:8px 12px; border:1px solid var(--imw-border); text-align:left; }
.imw-view-body table th { background:var(--imw-bg-soft); font-weight:700; }
.imw-view-body hr { border:none; border-top:1px solid var(--imw-border); margin:32px 0; }

.imw-view-footer { margin-top:48px; padding-top:24px; border-top:1px solid var(--imw-border); display:flex; justify-content:space-between; align-items:center; gap:14px; flex-wrap:wrap; }
.imw-view-back { display:inline-flex; align-items:center; gap:6px; font-size:13px; color:var(--imw-ink); text-decoration:none; padding:10px 20px; border:1px solid var(--imw-border); transition:all .15s; }
.imw-view-back:hover { background:var(--imw-navy); color:#fff; border-color:var(--imw-navy); }

/* Related */
.imw-related { max-width:1180px; margin:0 auto; padding:48px 24px 80px; }
.imw-related h3 { font-family:'Noto Sans KR',sans-serif; font-size:20px; font-weight:700; color:var(--imw-ink); margin:0 0 24px; padding-bottom:12px; border-bottom:2px solid var(--imw-navy); letter-spacing:-0.02em; }
.imw-related-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }

@media (max-width:980px){
  .imw-grid { grid-template-columns:repeat(2,1fr); gap:16px; }
  .imw-related-grid { grid-template-columns:repeat(2,1fr); }
}
@media (max-width:560px){
  .imw-grid { grid-template-columns:1fr; }
  .imw-board-head h1 { font-size:22px; }
  .imw-view-tit { font-size:24px; }
  .imw-view-body { font-size:15px; }
  .imw-related-grid { grid-template-columns:1fr; }
}

/* ─── Board page — premium design (matches /about, /director tone) ─── */

/* Hero */
.bd-hero { background:var(--navy); padding:80px 0 72px; position:relative; overflow:hidden; }
.bd-hero::before { content:''; position:absolute; inset:0; background:radial-gradient(ellipse 55% 80% at 85% 50%, rgba(26,115,232,.18) 0%, transparent 70%), radial-gradient(ellipse 40% 60% at 5% 85%, rgba(26,115,232,.10) 0%, transparent 60%); pointer-events:none; }
.bd-hero .w { position:relative; z-index:1; max-width:1180px; }
.bd-hero-grid { display:grid; grid-template-columns:auto 1fr; gap:32px; align-items:center; }
.bd-hero-icon { width:84px; height:84px; border-radius:18px; background:linear-gradient(135deg, rgba(26,115,232,0.25) 0%, rgba(26,115,232,0.12) 100%); border:1px solid rgba(26,115,232,0.45); display:flex; align-items:center; justify-content:center; color:#9ec5ff; box-shadow:0 8px 32px rgba(26,115,232,0.20), inset 0 1px 0 rgba(255,255,255,0.1); flex-shrink:0; }
.bd-hero-icon svg { width:42px; height:42px; }
.bd-hero-kicker { display:inline-flex; align-items:center; gap:8px; font-size:11px; font-weight:700; letter-spacing:.18em; color:rgba(255,255,255,.55); text-transform:uppercase; margin-bottom:14px; font-family:'Bebas Neue',sans-serif; }
.bd-hero-kicker i { display:block; width:28px; height:1px; background:rgba(255,255,255,.4); }
.bd-hero h1 { font-size:42px; font-weight:800; color:#fff; letter-spacing:-1.5px; line-height:1.15; margin:0 0 14px; }
.bd-hero-desc { font-size:15px; color:rgba(255,255,255,.72); line-height:1.85; max-width:720px; margin:0; }

/* Hero stats strip */
.bd-stats { display:grid; grid-template-columns:repeat(4, 1fr); gap:1px; background:rgba(255,255,255,0.08); margin-top:48px; border:1px solid rgba(255,255,255,0.1); border-radius:14px; overflow:hidden; }
.bd-stat { background:rgba(13, 40, 80, 0.4); padding:22px 20px; text-align:left; backdrop-filter:blur(4px); }
.bd-stat-label { font-size:10.5px; font-weight:700; letter-spacing:0.18em; color:rgba(255,255,255,0.45); text-transform:uppercase; margin-bottom:8px; font-family:'Bebas Neue',sans-serif; }
.bd-stat-num { font-size:30px; font-weight:800; color:#fff; letter-spacing:-1px; line-height:1; font-family:'Bebas Neue',sans-serif; }
.bd-stat-num.text { font-size:18px; font-family:'Noto Sans KR',sans-serif; letter-spacing:-0.5px; }
.bd-stat-num em { font-size:14px; font-weight:600; color:rgba(255,255,255,0.55); font-style:normal; margin-left:4px; }

/* Intro section (소개부분) */
.bd-intro { background:#fff; padding:64px 0 56px; border-bottom:1px solid var(--border); }
.bd-intro .w { max-width:1180px; }
.bd-intro-grid { display:grid; grid-template-columns:1fr 320px; gap:48px; align-items:start; }
.bd-intro-kicker { font-size:11px; font-weight:700; letter-spacing:.18em; color:var(--blue); text-transform:uppercase; margin-bottom:10px; font-family:'Bebas Neue',sans-serif; }
.bd-intro h2 { font-size:26px; font-weight:800; color:var(--navy); letter-spacing:-0.6px; line-height:1.4; margin:0 0 16px; }
.bd-intro p { font-size:14.5px; color:var(--text2); line-height:1.85; margin:0 0 14px; }
.bd-intro-side { background:linear-gradient(135deg, var(--surface) 0%, #fff 100%); border:1px solid var(--border); border-left:3px solid var(--blue); border-radius:10px; padding:22px 24px; }
.bd-intro-side h4 { font-size:13px; font-weight:800; color:var(--navy); margin:0 0 14px; letter-spacing:-0.02em; display:flex; align-items:center; gap:8px; }
.bd-intro-side h4::before { content:''; width:14px; height:1px; background:var(--blue); }
.bd-intro-side ul { list-style:none; padding:0; margin:0; }
.bd-intro-side li { font-size:13px; color:var(--text2); padding:7px 0; border-bottom:1px solid var(--border); display:flex; justify-content:space-between; gap:10px; }
.bd-intro-side li:last-child { border-bottom:none; }
.bd-intro-side li strong { color:var(--navy); font-weight:700; }

/* Section heading (블루 액센트 영역) */
.bd-sec-head { padding:56px 0 24px; max-width:1180px; margin:0 auto; padding-left:24px; padding-right:24px; }
.bd-sec-kicker { font-size:11px; font-weight:700; letter-spacing:.18em; color:var(--blue); text-transform:uppercase; margin-bottom:8px; font-family:'Bebas Neue',sans-serif; }
.bd-sec-kicker .dot { display:inline-block; width:6px; height:6px; border-radius:50%; background:var(--blue); margin-right:8px; vertical-align:middle; }
.bd-sec-title { font-size:24px; font-weight:800; color:var(--navy); letter-spacing:-0.5px; line-height:1.4; margin:0 0 6px; }
.bd-sec-meta { font-size:13px; color:var(--text3); }

/* Featured (가장 위 큰 카드) */
.bd-featured-wrap { background:linear-gradient(180deg, var(--surface) 0%, #fff 100%); padding:0 0 56px; }
.bd-featured-wrap .w { max-width:1180px; padding:0 24px; }
.bd-featured { display:grid; grid-template-columns:1.1fr 1fr; gap:0; background:#fff; border:1px solid var(--border); border-radius:16px; overflow:hidden; text-decoration:none; color:inherit; transition:all .3s; box-shadow:0 4px 20px rgba(13,40,80,0.04); }
.bd-featured:hover { border-color:#b5d0f8; box-shadow:0 12px 40px rgba(26,115,232,0.10); transform:translateY(-2px); }
.bd-featured-img { aspect-ratio:4/3; overflow:hidden; background:var(--surface) center / cover; position:relative; }
.bd-featured-img-empty { display:flex; align-items:center; justify-content:center; background:linear-gradient(135deg, var(--navy) 0%, #0d3470 100%); color:rgba(255,255,255,0.3); font-size:64px; font-family:'Bebas Neue',sans-serif; letter-spacing:0.2em; }
.bd-featured-img .badge { position:absolute; top:18px; left:18px; background:var(--blue); color:#fff; font-size:11px; font-weight:700; letter-spacing:.12em; padding:6px 12px; border-radius:4px; text-transform:uppercase; font-family:'Bebas Neue',sans-serif; }
.bd-featured-body { padding:40px 36px; display:flex; flex-direction:column; justify-content:center; }
.bd-featured-cat { font-size:11px; font-weight:700; letter-spacing:.18em; color:var(--blue); text-transform:uppercase; margin-bottom:12px; font-family:'Bebas Neue',sans-serif; display:inline-flex; align-items:center; gap:8px; }
.bd-featured-cat::before { content:''; width:18px; height:1px; background:var(--blue); }
.bd-featured-title { font-size:24px; font-weight:800; color:var(--navy); line-height:1.4; margin:0 0 14px; letter-spacing:-0.5px; }
.bd-featured-desc { font-size:14.5px; color:var(--text2); line-height:1.75; margin:0 0 22px; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
.bd-featured-meta { display:flex; align-items:center; gap:14px; font-size:12.5px; color:var(--text3); padding-top:18px; border-top:1px solid var(--border); }
.bd-featured-meta strong { color:var(--navy); font-weight:700; }
.bd-featured-meta-sep { width:3px; height:3px; border-radius:50%; background:var(--text3); }
.bd-featured-arrow { margin-left:auto; color:var(--blue); font-weight:700; font-size:13px; transition:transform .25s; display:inline-flex; align-items:center; gap:4px; }
.bd-featured:hover .bd-featured-arrow { transform:translateX(4px); }

/* Grid section */
.bd-list-wrap { background:#fff; padding:0 0 80px; }
.bd-list-wrap .w { max-width:1180px; padding:0 24px; }
.bd-grid { display:grid; grid-template-columns:repeat(3, 1fr); gap:24px; }
.bd-card { display:flex; flex-direction:column; background:#fff; border:1px solid var(--border); border-radius:14px; overflow:hidden; text-decoration:none; color:inherit; transition:all .25s ease; }
.bd-card:hover { border-color:#b5d0f8; box-shadow:0 12px 32px rgba(26,115,232,0.10); transform:translateY(-3px); }
.bd-card-thumb { aspect-ratio:1/1; background:var(--surface) center / cover no-repeat; position:relative; overflow:hidden; border-bottom:1px solid var(--border); }
.bd-card-thumb-empty { display:flex; align-items:center; justify-content:center; background:linear-gradient(135deg, #1a3866 0%, #0b2a52 100%); color:rgba(255,255,255,0.35); font-family:'Bebas Neue',sans-serif; font-size:18px; letter-spacing:0.2em; }
.bd-card-body { padding:20px 22px 22px; display:flex; flex-direction:column; flex:1; }
.bd-card-cat { font-size:10.5px; font-weight:700; letter-spacing:.18em; color:var(--blue); text-transform:uppercase; margin-bottom:10px; font-family:'Bebas Neue',sans-serif; display:inline-flex; align-items:center; gap:6px; }
.bd-card-cat::before { content:''; width:14px; height:1px; background:var(--blue); }
.bd-card-title { font-size:15.5px; font-weight:700; color:var(--navy); line-height:1.5; margin:0 0 10px; letter-spacing:-0.015em; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; min-height:45px; }
.bd-card-excerpt { font-size:13px; color:var(--text2); line-height:1.65; margin:0 0 14px; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; flex:1; }
.bd-card-meta { display:flex; align-items:center; gap:10px; font-size:11.5px; color:var(--text3); padding-top:12px; border-top:1px solid var(--border); }
.bd-card-meta-sep { width:2px; height:2px; border-radius:50%; background:var(--text3); }

/* Pagination — premium */
.bd-pagination { max-width:1180px; margin:0 auto; padding:48px 24px 0; display:flex; align-items:center; justify-content:center; gap:6px; }
.bd-pagination a, .bd-pagination span { display:inline-flex; align-items:center; justify-content:center; min-width:40px; height:40px; padding:0 14px; font-size:13px; font-weight:600; color:var(--text2); text-decoration:none; border:1px solid var(--border); border-radius:8px; transition:all .15s; background:#fff; }
.bd-pagination a:hover { border-color:var(--blue); color:var(--blue); }
.bd-pagination .current { background:var(--navy); color:#fff; border-color:var(--navy); font-weight:700; }
.bd-pagination .nav { color:var(--navy); font-weight:700; }

/* Empty */
.bd-empty { max-width:1180px; margin:48px auto 80px; padding:80px 24px; text-align:center; border:1px dashed var(--border); border-radius:14px; background:var(--surface); }
.bd-empty p { font-size:14px; color:var(--text2); margin:0; }

/* Detail (post view) — premium */
.bdv-hero { background:var(--navy); padding:60px 0 80px; position:relative; overflow:hidden; }
.bdv-hero::before { content:''; position:absolute; inset:0; background:radial-gradient(ellipse 55% 80% at 85% 50%, rgba(26,115,232,.16) 0%, transparent 70%); pointer-events:none; }
.bdv-hero .w { position:relative; z-index:1; max-width:920px; }
.bdv-breadcrumb { font-size:11.5px; font-weight:600; letter-spacing:0.08em; color:rgba(255,255,255,0.55); margin-bottom:24px; }
.bdv-breadcrumb a { color:rgba(255,255,255,0.55); text-decoration:none; transition:color .2s; }
.bdv-breadcrumb a:hover { color:#9ec5ff; }
.bdv-breadcrumb .sep { margin:0 8px; opacity:0.5; }
.bdv-cat { display:inline-flex; align-items:center; gap:8px; font-size:11px; font-weight:700; letter-spacing:0.18em; color:#9ec5ff; text-transform:uppercase; margin-bottom:18px; font-family:'Bebas Neue',sans-serif; }
.bdv-cat::before { content:''; width:24px; height:1px; background:rgba(158,197,255,0.5); }
.bdv-title { font-size:34px; font-weight:800; color:#fff; line-height:1.4; margin:0 0 24px; letter-spacing:-0.6px; }
.bdv-summary { display:flex; align-items:center; gap:14px; font-size:13px; color:rgba(255,255,255,0.6); padding-top:18px; border-top:1px solid rgba(255,255,255,0.1); flex-wrap:wrap; }
.bdv-summary strong { color:#fff; font-weight:600; }
.bdv-summary-sep { width:1px; height:12px; background:rgba(255,255,255,0.2); }

.bdv-cover-wrap { background:linear-gradient(180deg, var(--navy) 0%, var(--navy) 50%, var(--surface) 50%, var(--surface) 100%); padding:0 0 48px; }
.bdv-cover { max-width:920px; margin:0 auto; padding:0 24px; }
.bdv-cover img { width:100%; max-height:560px; object-fit:cover; display:block; border-radius:14px; box-shadow:0 12px 40px rgba(13,40,80,0.20); }
.bdv-cover img.portrait { max-width:480px; max-height:none; margin:0 auto; }

.bdv-body-wrap { background:var(--surface); padding:24px 0 60px; }
.bdv-body { max-width:920px; margin:0 auto; padding:48px 56px; background:#fff; border:1px solid var(--border); border-radius:16px; box-shadow:0 4px 24px rgba(13,40,80,0.04); }
.bdv-body-content { font-family:'Noto Sans KR',sans-serif; font-size:16px; line-height:1.85; color:var(--text); }
.bdv-body-content > *:first-child { margin-top:0; }
.bdv-body-content p { margin:0 0 18px; }
.bdv-body-content img { max-width:100%; height:auto; display:block; margin:24px auto; border-radius:8px; }
.bdv-body-content h1, .bdv-body-content h2, .bdv-body-content h3, .bdv-body-content h4 { font-weight:800; color:var(--navy); margin:36px 0 16px; line-height:1.4; letter-spacing:-0.02em; }
.bdv-body-content h2 { font-size:24px; padding-bottom:10px; border-bottom:1px solid var(--border); }
.bdv-body-content h3 { font-size:20px; }
.bdv-body-content h4 { font-size:17px; }
.bdv-body-content blockquote { border-left:3px solid var(--blue); padding:14px 0 14px 24px; margin:24px 0; color:var(--text2); font-size:15.5px; background:linear-gradient(to right, var(--surface) 0%, transparent 80%); }
.bdv-body-content a { color:var(--blue); text-decoration:underline; text-underline-offset:3px; }
.bdv-body-content strong { font-weight:700; color:var(--navy); }
.bdv-body-content ul, .bdv-body-content ol { padding-left:24px; margin:0 0 18px; }
.bdv-body-content table { width:100%; border-collapse:collapse; margin:20px 0; font-size:14px; }
.bdv-body-content table th, .bdv-body-content table td { padding:10px 14px; border:1px solid var(--border); text-align:left; }
.bdv-body-content table th { background:var(--surface); font-weight:700; color:var(--navy); }
.bdv-body-content hr { border:none; border-top:1px solid var(--border); margin:32px 0; }

.bdv-footer { max-width:920px; margin:0 auto; padding:0 24px 60px; }
.bdv-footer-inner { display:flex; justify-content:space-between; align-items:center; gap:14px; flex-wrap:wrap; padding-top:24px; border-top:1px solid var(--border); }
.bdv-back { display:inline-flex; align-items:center; gap:8px; font-size:13px; font-weight:700; color:var(--navy); text-decoration:none; padding:12px 24px; border:1.5px solid var(--navy); border-radius:8px; transition:all .2s; }
.bdv-back:hover { background:var(--navy); color:#fff; }
.bdv-share-info { font-size:12px; color:var(--text3); }

/* Related — premium */
.bdv-related { background:#fff; padding:64px 0 80px; border-top:1px solid var(--border); }
.bdv-related .w { max-width:1180px; padding:0 24px; }
.bdv-related-head { display:flex; justify-content:space-between; align-items:flex-end; margin-bottom:32px; padding-bottom:14px; border-bottom:2px solid var(--navy); }
.bdv-related-head h3 { font-size:22px; font-weight:800; color:var(--navy); margin:0; letter-spacing:-0.5px; }
.bdv-related-head .meta { font-size:11px; font-weight:700; letter-spacing:0.18em; color:var(--blue); text-transform:uppercase; font-family:'Bebas Neue',sans-serif; }
.bdv-related-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }

@media (max-width:980px){
  .bd-hero h1 { font-size:32px; }
  .bd-hero-grid { grid-template-columns:1fr; gap:20px; }
  .bd-hero-icon { width:64px; height:64px; }
  .bd-hero-icon svg { width:32px; height:32px; }
  .bd-stats { grid-template-columns:repeat(2, 1fr); }
  .bd-intro-grid { grid-template-columns:1fr; gap:24px; }
  .bd-featured { grid-template-columns:1fr; }
  .bd-grid { grid-template-columns:repeat(2,1fr); gap:16px; }
  .bdv-title { font-size:26px; }
  .bdv-body { padding:32px 24px; }
  .bdv-related-grid { grid-template-columns:repeat(2,1fr); }
}
@media (max-width:560px){
  .bd-hero { padding:48px 0 40px; }
  .bd-hero h1 { font-size:26px; }
  .bd-grid { grid-template-columns:1fr; }
  .bdv-title { font-size:22px; }
  .bdv-body-content { font-size:15px; }
  .bdv-related-grid { grid-template-columns:1fr; }
}

/* ─── AI Tools — SGRI wrapper ─── */
.ai-hero { background:var(--navy); padding:64px 0 48px; position:relative; overflow:hidden; }
.ai-hero::before { content:''; position:absolute; inset:0; background:radial-gradient(ellipse 55% 80% at 85% 50%, rgba(26,115,232,.18) 0%, transparent 70%), radial-gradient(ellipse 40% 60% at 5% 85%, rgba(26,115,232,.10) 0%, transparent 60%); pointer-events:none; }
.ai-hero .w { position:relative; z-index:1; max-width:1180px; }
.ai-hero-grid { display:grid; grid-template-columns:auto 1fr auto; gap:32px; align-items:center; }
.ai-hero-icon { width:72px; height:72px; border-radius:16px; background:linear-gradient(135deg, rgba(26,115,232,0.30) 0%, rgba(26,115,232,0.12) 100%); border:1px solid rgba(26,115,232,0.45); display:flex; align-items:center; justify-content:center; color:#9ec5ff; box-shadow:0 8px 32px rgba(26,115,232,0.20); flex-shrink:0; }
.ai-hero-icon svg { width:36px; height:36px; }
.ai-hero-kicker { display:inline-flex; align-items:center; gap:8px; font-size:11px; font-weight:700; letter-spacing:.18em; color:rgba(255,255,255,.55); text-transform:uppercase; margin-bottom:12px; font-family:'Bebas Neue',sans-serif; }
.ai-hero-kicker i { display:block; width:24px; height:1px; background:rgba(255,255,255,.4); }
.ai-hero h1 { font-size:34px; font-weight:800; color:#fff; letter-spacing:-1px; line-height:1.2; margin:0 0 10px; }
.ai-hero-desc { font-size:14.5px; color:rgba(255,255,255,.72); line-height:1.7; margin:0; max-width:780px; }
.ai-hero-badges { display:flex; gap:8px; flex-shrink:0; flex-wrap:wrap; }
.ai-hero-badge { display:inline-flex; align-items:center; gap:5px; padding:8px 14px; border-radius:100px; background:rgba(26,115,232,0.15); border:1px solid rgba(26,115,232,0.35); color:#9ec5ff; font-size:11.5px; font-weight:700; letter-spacing:0.02em; }

.ai-tabs { background:#fff; border-bottom:1px solid var(--border); }
.ai-tabs-inner { max-width:1180px; margin:0 auto; padding:0 24px; display:flex; gap:0; overflow-x:auto; }
.ai-tab { padding:16px 22px; font-size:13.5px; font-weight:700; color:var(--text2); text-decoration:none; border-bottom:2px solid transparent; transition:all .2s; white-space:nowrap; display:inline-flex; align-items:center; gap:8px; }
.ai-tab:hover { color:var(--blue); }
.ai-tab.active { color:var(--navy); border-bottom-color:var(--blue); }
.ai-tab-icon { width:16px; height:16px; }
.ai-tab-icon svg { width:100%; height:100%; }

.ai-frame-wrap { background:#0a0e1a; border-top:1px solid #1a2236; min-height:1200px; position:relative; }
.ai-frame { display:block; width:100%; min-height:1400px; border:none; background:#0a0e1a; }
.ai-frame-loading { position:absolute; top:0; left:0; right:0; padding:80px 24px; text-align:center; color:#94a3b8; pointer-events:none; }
.ai-frame-loading-spin { display:inline-block; width:32px; height:32px; border:3px solid rgba(96,165,250,0.2); border-top-color:#60a5fa; border-radius:50%; animation:spin 0.9s linear infinite; }
@keyframes spin { to { transform:rotate(360deg); } }

.ai-cta-row { background:var(--surface); padding:40px 24px; }
.ai-cta-grid { max-width:1180px; margin:0 auto; display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.ai-cta-card { background:#fff; border:1px solid var(--border); border-radius:14px; padding:22px 24px; text-decoration:none; transition:all .25s; display:flex; align-items:center; gap:16px; }
.ai-cta-card:hover { border-color:var(--blue); box-shadow:0 10px 28px rgba(26,115,232,0.10); transform:translateY(-2px); }
.ai-cta-card-icon { width:44px; height:44px; border-radius:10px; background:linear-gradient(135deg, var(--surface), #fff); border:1px solid var(--border); display:flex; align-items:center; justify-content:center; color:var(--blue); flex-shrink:0; }
.ai-cta-card-icon svg { width:24px; height:24px; }
.ai-cta-card-text h4 { font-size:15px; font-weight:800; color:var(--navy); margin:0 0 4px; letter-spacing:-0.01em; }
.ai-cta-card-text p { font-size:12.5px; color:var(--text3); margin:0; line-height:1.5; }

@media (max-width:780px){
  .ai-hero-grid { grid-template-columns:1fr; gap:18px; }
  .ai-hero-icon { width:56px; height:56px; }
  .ai-hero-icon svg { width:28px; height:28px; }
  .ai-hero h1 { font-size:24px; }
  .ai-cta-grid { grid-template-columns:1fr; }
}
