@import url('board.css');

/* CSS Variables */
:root {
  --primary: #145396;
  --primary-dark: #0e3d6f;
  --primary-light: #e6edf6;
  --accent: #FFD700;
  --dark: #1a1a1a;
  --text: #333;
  --text-light: #666;
  --border: #e3e3e3;
  --bg-light: #f7f7f7;
  --white: #fff;
  --font-en: 'Montserrat', sans-serif;
  --font-ko: 'Noto Sans KR', sans-serif;
  --transition: .3s ease;
  --header-h: 70px;
  --nav-h: 50px;
  --container: 1200px;
  --radius: 8px;
}

/* Reset */
*, *::before, *::after {margin: 0; padding: 0; box-sizing: border-box;}
html {scroll-behavior: smooth; font-size: 16px;}
body {font-family: var(--font-ko); color: var(--text); background: var(--white); line-height: 1.7; overflow-x: hidden; -webkit-font-smoothing: antialiased;}
a {text-decoration: none; color: inherit; transition: color var(--transition);}
ul, ol {list-style: none;}
img {max-width: 100%; height: auto; display: block;}
button {cursor: pointer; border: none; background: none; font-family: inherit;}

/* Utility */
.container {max-width: var(--container); margin: 0 auto; padding: 0 24px;}
.sr-only {position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); border: 0;}

/* Sub Page */
.sub-hero {position:relative;width:100%;height:75px;margin-top:var(--header-h);background:linear-gradient(to right, rgba(20,83,150,1), rgba(20,83,150,.5));display:flex;align-items:center;justify-content:flex-start;overflow:hidden;}
.sub-hero-inner {position:relative;z-index:2;max-width:var(--container);width:100%;height:100%;margin:0 auto;padding:0 24px;display:flex;align-items:center;justify-content:space-between;gap:12px;}
.sub-hero-left {display:flex;flex-direction:column;gap:2px;}
.sub-hero-summary {font-size:.92rem;font-weight:500;color:rgba(255,255,255,.8);margin:0;text-align:right;line-height:1.4;flex-shrink:0;}
.sub-hero-title {font-family:var(--font-en);font-size:1.3rem;font-weight:800;color:#fff;letter-spacing:-.02em;line-height:1;margin-bottom:0;}
.sub-hero-desc {font-size:.9rem;font-weight:400;color:rgba(255,255,255,.6);}
.sub-page-content {padding:40px 0 0;min-height:60vh;overflow-x:hidden;}
.sub-title-bar {display:flex;align-items:center;justify-content:space-between;padding:20px 0;border-bottom:2px solid var(--text);margin-bottom:33px;}
.sub-title-bar h2 {font-size:1.3rem;font-weight:700;color:var(--text);margin:0;}
.sub-location {display:flex;align-items:center;gap:6px;font-size:.82rem;color:#888;}
.sub-location a {color:#888;text-decoration:none;transition:color .2s;}
.sub-location a:hover {color:var(--primary);}
.sub-location .loc-current {color:var(--text);font-weight:600;}
.sub-location svg {width:12px;height:12px;stroke:#bbb;flex-shrink:0;}
.sub-location .loc-home {width:15px;height:15px;stroke:#888;}
.sub-content-wrap {display:flex;gap:40px;padding-top:0;}
.lnb-menu {width:200px;flex-shrink:0;padding-top:20px;}
.lnb-menu:empty {display:none;}
.lnb-menu ul {list-style:none;padding:0;margin:0;border-right:1px solid #e5e7eb;}
.lnb-menu ul li {margin-bottom:2px;}
.lnb-menu ul li a {display:block;padding:10px 16px;font-size:.88rem;color:var(--text-light);text-decoration:none;border-radius:6px 0 0 6px;transition:all .2s;}
.lnb-menu ul li a:hover {background:#f5f6f8;color:var(--dark);}
.lnb-menu ul li a.on {background:var(--primary);color:#fff;font-weight:600;}
.lnb-banner {display:flex;align-items:center;gap:10px;margin-top:16px;padding:14px 16px;background:linear-gradient(135deg, #145396, #0e3d6f);color:#fff;border-radius:8px;text-decoration:none;font-size:.85rem;font-weight:600;transition:opacity .2s;}
.lnb-banner:hover {opacity:.85;}
.lnb-banner-icon {display:flex;align-items:center;flex-shrink:0;animation:lnbIconBounce 2s ease-in-out infinite;}
@keyframes lnbIconBounce {0%,100%{transform:translateY(0);}50%{transform:translateY(-3px);}}
.lnb-banner-text {white-space:nowrap;}
.sub-content-wrap .sub-page-body {flex:1;min-width:0;}
.sub-page-body {padding:0 0 80px;min-height:30vh;font-size:.95rem;color:var(--text-light);line-height:1.8;overflow-x:hidden;}
.sub-empty-content {display:flex;flex-direction:column;align-items:center;justify-content:center;padding:30px 20px;text-align:center;}
.sub-empty-content svg {width:64px;height:64px;stroke:#ccc;margin-bottom:20px;}
.sub-empty-content h3 {font-size:1.15rem;font-weight:700;color:var(--text);margin-bottom:8px;}
.sub-empty-content p {font-size:.88rem;color:#999;line-height:1.7;}
.side-nav {position:fixed;right:calc((100vw - var(--container)) / 2 - 160px);top:50%;transform:translateY(-50%);z-index:100;padding:0 0 0 18px;border-left:2px solid var(--primary);}
.side-nav a {display:block;padding:8px 0;font-size:.88rem;font-weight:500;color:var(--text-light);white-space:normal;max-width:140px;transition:all .2s;position:relative;}
.side-nav a:hover {color:var(--primary);padding-left:4px;}
.side-nav a::before {content:'';position:absolute;left:-22px;top:50%;transform:translateY(-50%);width:8px;height:8px;border-radius:50%;border:2px solid #ccc;background:#fff;transition:all .2s;}
.side-nav a:hover::before {border-color:var(--primary);}
.side-nav a.is-current {color:var(--primary);font-weight:700;}
.side-nav a.is-current::before {border-color:var(--primary);background:var(--primary);}
.side-nav-brochure {display:flex;align-items:center;gap:6px;margin-top:8px;padding:12px 0 0;border-top:1px solid #ddd;color:var(--text-light);font-size:.85rem;font-weight:500;transition:color .2s;}
.side-nav-brochure::before {display:none;}
.side-nav-brochure:hover {color:var(--primary);}

/* Top Bar (Header) — 메인에서 투명, 호버 시 반전 */
.top-bar {background: transparent; height: var(--header-h); z-index: 100; position: fixed; top: 0; left: 0; width: 100%; transition: background .3s ease;}
.top-bar:hover {background: var(--white);}
.top-bar.is-sticky {background: var(--white);}
.top-bar .container {display: flex; align-items: center; justify-content: space-between; height: 100%; position: relative; max-width: 100%; padding: 0 40px;}
.logo {display: flex; align-items: center; gap: 12px; font-weight: 700; font-size: 1.15rem; color: var(--white); transition: color .3s;}
.logo img {height: 44px; width: auto; filter: brightness(0) invert(1) brightness(2); transition: filter .3s;}
.top-bar:hover .logo {color: var(--primary-dark);}
.top-bar:hover .logo img {filter: none;}
.top-bar.is-sticky .logo {color: var(--primary-dark);}
.top-bar.is-sticky .logo img {filter: none;}
.top-bar.scrolled {background: var(--white);}
.top-bar.scrolled .logo {color: var(--primary-dark);}
.top-bar.scrolled .logo img {filter: none;}

/* Hero — 풀스크린 */
.hero-full {position: relative; width: 100%; height: 100vh; overflow: hidden; background: var(--dark);}
.hero-video {position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover;}
.hero-mobile-bg {display: none; position: absolute; inset: 0; background-size: cover; background-position: center;}
.hero-overlay {position: absolute; inset: 0; background: rgba(0,0,0,.45); display: flex; align-items: center; justify-content: center; z-index: 2;}
.hero-text {color: var(--white); max-width: 600px; text-align: center;}
.hero-text h2 {font-size: clamp(2.4rem, 3vw, 3.6rem); font-weight: 800; line-height: 1.35; margin-bottom: 16px; text-shadow: 0 2px 8px rgba(0,0,0,.3);}
.hero-text p {font-size: clamp(1rem, 1.1vw, 1.5rem); opacity: .9; line-height: 1.6; margin-bottom: 32px; text-shadow: 0 1px 4px rgba(0,0,0,.3);}
.hero-tabs {display: flex; justify-content: center; gap: 12px;}
.hero-tab-btn {display: inline-flex; align-items: center; padding: 12px 32px; font-size: .92rem; font-weight: 600; color: var(--white); border: 2px solid rgba(255,255,255,.6); border-radius: 4px; background: transparent; transition: all .3s; letter-spacing: .5px;}
.hero-tab-btn:hover {background: var(--white); color: var(--primary); border-color: var(--white);}

/* Main Nav (center Aligned) */
.main-nav {position: absolute; left: 50%; top: 0; transform: translateX(-50%); display: flex; align-items: center; height: 100%;}
.main-nav ul {display: flex; align-items: center; height: 100%; gap: 0;}
.main-nav li {}
.main-nav a {
  display: flex;
  align-items: center;
  justify-content: center;
  height: var(--header-h);
  padding: 0 22px;
  color: rgba(255,255,255,.9);
  font-size: .92rem;
  font-weight: 600;
  letter-spacing: .3px;
  transition: color var(--transition);
  position: relative;
}
.main-nav a::after {content: ''; position: absolute; bottom: 0; left: 50%; width: 0; height: 3px; background: var(--primary); transition: width var(--transition), left var(--transition);}
.main-nav a:hover {color: #fff;}
.top-bar:hover .main-nav a {color: var(--text);}
.top-bar:hover .main-nav a:hover {color: var(--primary);}
.top-bar.is-sticky .main-nav a, .top-bar.scrolled .main-nav a {color: var(--text);}
.top-bar.is-sticky .main-nav a:hover, .top-bar.scrolled .main-nav a:hover {color: var(--primary);}
.main-nav a.active {color: var(--primary);}
.main-nav a.active::after {width: 60%; left: 20%;}

/* Mega Menu */
.mega-menu {
  display: none;
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  width: var(--container);
  background: var(--white);
  border-radius: 0 0 var(--radius) var(--radius);
  box-shadow: 0 8px 24px rgba(0,0,0,.1);
  padding: 28px 32px;
  z-index: 200;
}
.main-nav:hover .mega-menu {display: block;}
.mega-menu:hover {display: block;}
.mega-menu-inner {display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px;}
.mega-col h4 {margin-bottom: 12px; padding-bottom: 8px; border-bottom: 2px solid var(--primary); font-size: .88rem; font-weight: 700; color: var(--primary);}
.mega-col h4 a {color: var(--primary); font-weight: 700;}
.mega-col h4 a:hover {color: var(--primary-dark);}
.mega-col h4 a::after {display: none;}
.mega-col a {
  display: block;
  padding: 6px 0;
  font-size: .84rem;
  font-weight: 500;
  color: var(--text-light);
  height: auto;
  white-space: nowrap;
}
.mega-col a::after {display: none;}
.mega-col a:hover {color: var(--primary);}
.main-nav .gnb-menu > li:hover > a {color: var(--primary);}
.mega-col.is-active h4 {color: var(--primary-dark);}

/* Placeholder For Sticky Offset */
.nav-placeholder {height: 0;}
.nav-placeholder.is-active {height: var(--header-h);}

/* Header Right */
.header-right {margin-left: auto; display: flex; align-items: center; gap: 8px;}
.profile {display: inline-flex; align-items: center; justify-content: center; background: none; border: none; cursor: pointer; padding: 0; color: var(--white); transition: color .2s;}
.profile:hover {color: rgba(255,255,255,.7);}
.top-bar:hover .profile, .top-bar.is-sticky .profile, .top-bar.scrolled .profile {color: var(--dark);}
.top-bar:hover .profile:hover, .top-bar.is-sticky .profile:hover, .top-bar.scrolled .profile:hover {color: var(--primary);}

/* Hamburger Menu Toggle — Always Visible */
.menu-toggle {display: flex; flex-direction: column; gap: 5px; padding: 8px; cursor: pointer;}
.menu-toggle span {display: block; width: 24px; height: 2px; background: var(--white); transition: transform var(--transition), opacity var(--transition), background .3s;}
.top-bar:hover .menu-toggle span, .top-bar.is-sticky .menu-toggle span, .top-bar.scrolled .menu-toggle span {background: var(--dark);}

/* Fullscreen Menu Overlay */
.fullmenu-overlay {position: fixed; inset: 0; z-index: 300; background: rgba(20, 83, 150, .97); display: flex; align-items: center; justify-content: center; opacity: 0; visibility: hidden; transition: opacity .35s ease, visibility .35s ease;}
.fullmenu-overlay.is-open {opacity: 1; visibility: visible;}
.fullmenu-close {
  position: absolute;
  top: 24px;
  right: 32px;
  width: 48px; height: 48px;
  background: none;
  border: none;
  color: rgba(255,255,255,.7);
  font-size: 2.2rem;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: color var(--transition);
}
.fullmenu-close:hover {color: var(--white);}
.fullmenu-inner {width: 100%; max-width: 1100px; padding: 0 40px;}
.fullmenu-row {display: flex; align-items: baseline; gap: 48px; padding: 28px 0; border-bottom: 1px solid rgba(255,255,255,.15);}
.fullmenu-row:last-child {border-bottom: none;}
.fullmenu-title {flex-shrink: 0; width: 160px; font-size: 1.25rem; font-weight: 800; margin: 0;}
.fullmenu-title a {color: var(--white); transition: opacity var(--transition);}
.fullmenu-title a:hover {opacity: .7;}
.fullmenu-subs {display: flex; flex-wrap: wrap; gap: 12px 40px;}
.fullmenu-subs a {color: rgba(255,255,255,.7); font-size: .92rem; font-weight: 500; padding: 4px 0; transition: color var(--transition);}
.fullmenu-subs a:hover {color: var(--white);}

/* Sections (common) */
.section {padding: 80px 0;}
.section:nth-child(even) {background: var(--bg-light);}
.section-header {text-align: center; margin-bottom: 48px;}
.section-header h2 {font-size: 1.85rem; font-weight: 800; color: var(--dark); margin-bottom: 8px; position: relative; display: inline-block;}
.section-header h2::after {content: ''; display: block; width: 50px; height: 3px; background: var(--primary); margin: 12px auto 0; border-radius: 2px;}
.section-header p {color: var(--text-light); font-size: .95rem; margin-top: 8px;}

/* Reveal Animation */
[data-reveal] {opacity: 0; transform: translateY(30px); transition: opacity .7s cubic-bezier(.23,1,.32,1), transform .7s cubic-bezier(.23,1,.32,1);}
[data-reveal].is-visible {opacity: 1; transform: translateY(0);}

/* #intro — 기관소개 (탭) */

/* 사업영역 상위 카테고리 탭 */
.biz-category-tabs {display: flex; justify-content: center; gap: 0; margin-bottom: 12px;}
.biz-cat-tab {padding: 10px 32px; font-size: .95rem; font-weight: 600; color: var(--text-light); background: var(--bg-light); border: 1px solid var(--border); transition: all var(--transition); cursor: pointer;}
.biz-cat-tab:first-child {border-radius: var(--radius) 0 0 var(--radius);}
.biz-cat-tab:last-child {border-radius: 0 var(--radius) var(--radius) 0;}
.biz-cat-tab:not(:first-child) {border-left: none;}
.biz-cat-tab.active {background: var(--primary); color: var(--white); border-color: var(--primary);}
.biz-cat-tab:hover:not(.active) {background: var(--primary-light); color: var(--primary);}

/* 사업소개 하위 탭 간격 */
.biz-sub-tabs {margin-top: 48px;}

/* 사업영역 카테고리 카드 그리드 */
.biz-cat-panel {display: none;}
.biz-cat-panel.active {display: block;}
.biz-card-grid {display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px;}
.biz-card-grid-3 {grid-template-columns: repeat(3, 1fr);}
.biz-card-grid .partner-card {margin: 0;}

/* 탭 버튼 */
.intro-tabs {display: flex; justify-content: center; flex-wrap: wrap; gap: 4px; margin-bottom: 36px; border-bottom: 2px solid var(--border); padding-bottom: 0;}
.intro-tab {padding: 12px 28px; font-size: .92rem; font-weight: 600; color: var(--text-light); background: none; border: none; border-bottom: 3px solid transparent; margin-bottom: -2px; cursor: pointer; transition: color var(--transition), border-color var(--transition);}
.intro-tab:hover {color: var(--primary);}
.intro-tab.active {color: var(--primary); border-bottom-color: var(--primary);}

/* 탭 패널 */
.intro-panel {display: none; animation: tabFadeIn .4s ease;}
.intro-panel.active {display: block;}
@keyframes tabFadeIn {
  from {opacity: 0; transform: translateY(12px);}
  to {opacity: 1; transform: translateY(0);}
}

/* 조직도 차트 */
.orgchart {text-align: center; padding: 20px 0;}
.orgchart-row {display: flex; justify-content: center; align-items: flex-start; gap: 24px;}
.orgchart-box {padding: 16px 24px; border-radius: 6px; font-size: .92rem; font-weight: 700; line-height: 1.5; text-align: center;}
.orgchart-ceo {background: rgba(20,83,150,.5); color: var(--white); min-width: 180px; font-size: 1.1rem; padding: 20px 40px;}
.orgchart-line-v {width: 2px; height: 40px; background: #bbb; margin: 0 auto; flex-shrink: 0;}
.orgchart-line-v-sm {width: 2px; height: 28px; background: #bbb; margin: 0 auto; flex-shrink: 0;}
.orgchart-top {align-items: center; gap: 0;}
.orgchart-line-h-sm {height: 2px; width: 40px; background: #bbb; flex-shrink: 0;}
.orgchart-adv {background: #e8e8e8; color: var(--dark); min-width: 140px; font-size: .9rem;}
.orgchart-depts-wrap {}
.orgchart-line-h {height: 2px; background: #bbb; margin: 0 calc(14% - 7px);}
.orgchart-depts {align-items: stretch; gap: 16px; padding: 0 5%;}
.orgchart-dept {display: flex; flex-direction: column; align-items: center; flex: 1;}
.orgchart-hq {background: #f5f0e0; color: var(--dark); width: 100%; font-size: .88rem; padding: 14px 10px;}
.orgchart-hq span {display: block; margin-top: 6px; font-size: .72rem; font-weight: 500; font-style: italic; opacity: .85; line-height: 1.3;}
.orgchart-team {background: #e8e8e8; color: var(--dark); width: 100%; font-size: .82rem; font-weight: 600; padding: 12px 10px; flex: 1; display: flex; align-items: center; justify-content: center;}

/* 오시는 길 */
.loc-dual {display: grid; grid-template-columns: 1fr 1fr; gap: 48px; margin-bottom: 36px;}
.loc-col {padding: 0; display: flex; flex-direction: column;}
.loc-col .loc-map-area {margin-top: auto;}
.loc-title {font-size: 1.05rem; font-weight: 700; color: var(--primary); margin-bottom: 18px;}
.loc-info-list {list-style: none; padding: 0; display: flex; flex-direction: column; gap: 12px; margin-bottom: 28px;}
.loc-info-list li {font-size: .9rem; color: var(--text); line-height: 1.7; padding-left: 10px; position: relative;}
.loc-info-list li::before {content: '·'; position: absolute; left: 0; color: var(--primary); font-weight: 700;}
.loc-info-list li span {color: var(--text-light); font-weight: 600;}
.loc-map-area {border-radius: var(--radius); overflow: hidden; min-height: 300px; margin-top: 0; border: 1px solid var(--border);}
.loc-map-placeholder {display: flex; align-items: center; justify-content: center; min-height: 240px; background: var(--bg-light); color: var(--text-light); font-size: .95rem; font-weight: 600;}
.loc-single {}
.loc-single .loc-map-area {margin-bottom: 24px;}
.loc-info-row {display: flex; flex-direction: row; align-items: flex-start; gap: 32px; padding: 28px 0;}
.loc-info-left {flex-shrink: 0; padding-left: 20px; padding-right: 32px; border-right: 1px solid var(--border);}
.loc-company {font-size: 1.15rem; font-weight: 800; color: var(--dark); letter-spacing: -.02em; white-space: nowrap;}
.loc-info-right {flex: 1; font-size: .88rem; color: var(--text); line-height: 1.8;}
.loc-addr {margin-bottom: 4px;}
.loc-contact {display: flex; gap: 24px; margin-top: 4px; color: var(--text-light);}
.loc-icon {width:15px;height:15px;vertical-align:-2px;margin-right:4px;stroke:var(--text-light);flex-shrink:0;display:inline;}

/* 회사소개 */
.about-company {}
.about-headline {font-size: 1.7rem; font-weight: 700; color: var(--dark); line-height: 1.5; margin-bottom: 48px; text-align: center;}
.about-highlight {color: var(--primary); font-weight: 800;}
.about-cards {display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px;}
.about-card {border-radius: var(--radius); overflow: hidden; box-shadow: 0 2px 16px rgba(0,0,0,.06);}
.about-card-head {padding: 28px 20px; text-align: center; font-size: 1.6rem; font-weight: 800; color: var(--white); letter-spacing: 2px;}
.about-card-1, .about-card-2, .about-card-3 {background: linear-gradient(135deg, rgba(26,107,196,.5) 0%, rgba(20,83,150,.5) 50%, rgba(14,61,111,.5) 100%);}
.about-card-body {padding: 24px;}
.about-card-body h4 {font-size: 1rem; font-weight: 700; color: var(--dark); margin-bottom: 10px;}
.about-card-body p {font-size: .88rem; color: var(--text); line-height: 1.7;}

/* CEO 인사말 */
.ceo-grid {display: grid; grid-template-columns: 1fr 1fr; gap: 48px; align-items: stretch;}
.ceo-text {}
.ceo-text p {font-size: .95rem; line-height: 1.85; color: var(--text); margin-bottom: 16px;}
.ceo-headline {font-size: 1.5rem; font-weight: 800; color: var(--dark); margin-bottom: 24px;}
.ceo-sign {margin-top: 32px; font-size: 1rem; font-weight: 700; color: var(--primary-dark);}
.ceo-image-placeholder {width: 100%; height: 100%; background: var(--bg-light); border: 2px dashed var(--border); border-radius: var(--radius); display: flex; align-items: center; justify-content: center; color: var(--text-light); font-size: .95rem;}

/* 전문인력현황 */
.staff-dual {display: grid; grid-template-columns: 1fr 1fr; gap: 0; border-top: 2px solid var(--primary);}
.staff-col-title {padding: 14px 20px; background: var(--bg-light); font-size: .95rem; font-weight: 700; color: var(--dark); border-bottom: 1px solid var(--border);}
.staff-col:first-child {border-right: 1px solid var(--border);}
.staff-list {list-style: none; padding: 0; margin: 0;}
.staff-list li {padding: 14px 20px; font-size: .92rem; color: var(--text); border-bottom: 1px solid var(--border);}
.staff-list li:last-child {border-bottom: none;}

/* #business — 사업소개 (탭) */

/* 사업 상단 히어로 (이미지+슬로건) */

.biz-grid-4 {display: grid; grid-template-columns: 1fr 1fr; gap: 28px 48px;}
.biz-grid-item {padding: 0; background: var(--white);}
.biz-grid-item h4 {font-size: 1.05rem; font-weight: 700; color: var(--dark); margin-bottom: 16px; font-family: var(--font-en); padding-left: 16px; border-left: 4px solid #5ec8d6;}
.biz-grid-item ul {list-style: none; padding: 0; display: flex; flex-direction: column; gap: 8px;}
.biz-grid-item li {position: relative; padding-left: 14px; font-size: .88rem; color: var(--text); line-height: 1.7;}
.biz-grid-item li::before {content: '·'; position: absolute; left: 0; color: var(--text-light); font-weight: 700;}
.biz-grid-3 {display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px;}

/* 기술지원/CM 카드 레이아웃 */
.tech-cards {display: grid; grid-template-columns: repeat(5, 1fr); gap: 20px;}
.tech-crd {text-align: center; padding: 28px 16px; border-radius: var(--radius); background: var(--white); border: 1px solid var(--border); transition: box-shadow var(--transition), transform var(--transition);}
.tech-crd:hover {box-shadow: 0 8px 24px rgba(0,0,0,.08); transform: translateY(-4px);}
.tech-hex {width: 64px; height: 64px; display: flex; align-items: center; justify-content: center; margin: 0 auto 16px;}
.tech-hex svg {width: 40px; height: 40px; stroke: var(--primary);}
.tech-cards-6 {grid-template-columns: repeat(6, 1fr);}
.tech-crd h4 {font-size: .92rem; font-weight: 700; color: var(--dark); margin-bottom: 10px;}
.tech-crd p {font-size: .82rem; color: var(--text-light); line-height: 1.6;}
.tech-list {text-align: left; list-style: none;}
.tech-list li {position: relative; padding-left: 12px; font-size: .82rem; color: var(--text-light); line-height: 1.8;}
.tech-list li::before {content: '·'; position: absolute; left: 0; font-weight: 700;}

/* 사업 공통 섹션 타이틀 */
.biz-section-title {font-size: 1.05rem; font-weight: 700; color: var(--dark); padding-left: 16px; border-left: 4px solid #5ec8d6; margin-bottom: 16px;}
.biz-desc-list {list-style: none; padding: 0; margin: 0 0 32px;}
.biz-desc-list li {position: relative; padding-left: 14px; font-size: .9rem; color: var(--text); line-height: 1.8;}
.biz-desc-list li::before {content: '·'; position: absolute; left: 0; color: var(--text-light); font-weight: 700;}
.biz-icon-grid {display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; margin-bottom: 36px; padding: 32px 0; background: var(--bg-light); border-radius: var(--radius);}
.biz-icon-item {text-align: center; border-right: 1px solid #ddd;}
.biz-icon-item:last-child {border-right: none;}
.biz-icon-circle {width: 64px; height: 64px; display: flex; align-items: center; justify-content: center; margin: 0 auto 14px;}
.biz-icon-circle svg {width: 40px; height: 40px; stroke: var(--primary);}
.biz-icon-item p {font-size: .85rem; color: var(--text); line-height: 1.6;}

/* #news — 회사소식 */
.news-dual {display: grid; grid-template-columns: 1fr 1fr; gap: 40px;}
.news-col-header {display: flex; align-items: center; justify-content: space-between; border-bottom: 2px solid var(--primary); padding-bottom: 12px; margin-bottom: 0;}
.news-col-header h3 {font-size: 1.05rem; font-weight: 700; color: var(--dark);}
.news-more {font-size: .82rem; color: var(--text-light); transition: color var(--transition);}
.news-more:hover {color: var(--primary);}
.btn-board-write {
  display: inline-block;
  margin-top: 16px;
  padding: 8px 24px;
  background: var(--primary);
  color: var(--white);
  border: none;
  border-radius: 6px;
  font-size: .85rem;
  font-weight: 600;
  cursor: pointer;
  transition: background var(--transition);
}
.btn-board-write:hover {background: var(--primary-dark);}
.news-list {list-style: none;}
.news-list li {border-bottom: 1px solid var(--border);}
.news-list li a {display: flex; align-items: center; justify-content: space-between; padding: 14px 0; gap: 16px; transition: color var(--transition);}
.news-list li a:hover {color: var(--primary);}
.news-title {flex: 1; font-size: .9rem; color: var(--text); overflow: hidden; text-overflow: ellipsis; white-space: nowrap;}
.news-list li a:hover .news-title {color: var(--primary);}
.news-date {flex-shrink: 0; font-size: .82rem; font-family: var(--font-en); color: var(--text-light);}

/* 게시판 모달 */
.board-modal-overlay {position: fixed; inset: 0; z-index: 500; background: rgba(0,0,0,.5); display: none; align-items: center; justify-content: center; padding: 24px; animation: modalFadeIn .25s ease;}
.board-modal-overlay.is-open {display: flex;}
@keyframes modalFadeIn {
  from {opacity: 0;}
  to {opacity: 1;}
}
.board-modal {background: var(--white); border-radius: 12px; width: 100%; max-width: 680px; max-height: 80vh; display: flex; flex-direction: column; box-shadow: 0 12px 48px rgba(0,0,0,.2); animation: modalSlideUp .3s ease;}
@keyframes modalSlideUp {
  from {opacity: 0; transform: translateY(24px);}
  to {opacity: 1; transform: translateY(0);}
}
.board-modal-header {padding: 24px 28px 16px; border-bottom: 1px solid var(--border);}
.board-modal-title {font-size: 1.15rem; font-weight: 700; color: var(--dark); margin-bottom: 6px; line-height: 1.5;}
.board-modal-date {font-family: var(--font-en); font-size: .82rem; color: var(--text-light);}
.board-modal-body {padding: 24px 28px; overflow-y: auto; flex: 1; font-size: .92rem; color: var(--text);}
.modal-project-img {margin-bottom: 20px; border-radius: var(--radius); overflow: hidden;}
.modal-project-img img {width: 100%; display: block;}
.modal-project-info {width: 100%; margin-bottom: 16px; border-collapse: collapse;}
.modal-project-info th {text-align: left; padding: 8px 12px; background: var(--bg-light); font-weight: 600; font-size: .85rem; color: var(--dark); width: 90px; border-bottom: 1px solid var(--border);}
.modal-project-info td {padding: 8px 12px; font-size: .88rem; color: var(--text); border-bottom: 1px solid var(--border);}
.modal-project-desc {list-style: none; padding: 0;}
.modal-project-desc li {padding: 4px 0 4px 14px; position: relative; font-size: .88rem; color: var(--text); line-height: 1.7;}
.modal-project-desc li::before {content: '·'; position: absolute; left: 0; color: var(--primary); font-weight: 700; line-height: 1.9; white-space: pre-line;}
.board-modal-footer {display: flex; justify-content: space-between; align-items: center; padding: 16px 28px; border-top: 1px solid var(--border);}
.board-modal-left {display: flex; gap: 8px;}
.btn-modal {padding: 9px 22px; font-size: .85rem; font-weight: 600; border: none; border-radius: 6px; cursor: pointer; transition: background var(--transition);}
.btn-edit {background: var(--bg-light); color: var(--text);}
.btn-edit:hover {background: var(--border);}
.btn-delete {background: #fee; color: #d32f2f;}
.btn-delete:hover {background: #fdd;}
.btn-close {background: var(--primary); color: var(--white);}
.btn-close:hover {background: var(--primary-dark);}

/* 글쓰기 모달 폼 */
.write-modal {max-width: 640px;}
.write-modal-body {padding: 24px 28px;}
.form-group {margin-bottom: 20px;}
.form-group:last-child {margin-bottom: 0;}
.form-label {display: block; font-size: .88rem; font-weight: 700; color: var(--dark); margin-bottom: 8px;}
.form-hint {font-weight: 400; color: var(--text-light); font-size: .78rem;}
.form-input {width: 100%; padding: 10px 14px; font-size: .9rem; font-family: var(--font-ko); border: 1px solid var(--border); border-radius: 6px; outline: none; transition: border-color var(--transition);}
.form-input:focus {border-color: var(--primary);}
.form-textarea {width: 100%; padding: 12px 14px; font-size: .9rem; font-family: var(--font-ko); border: 1px solid var(--border); border-radius: 6px; outline: none; resize: vertical; line-height: 1.7; transition: border-color var(--transition);}
.form-textarea:focus {border-color: var(--primary);}

/* 파일 첨부 */
.form-file-wrap {}
.form-file-input {display: none;}
.form-file-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 9px 18px;
  font-size: .85rem;
  font-weight: 600;
  color: var(--text);
  background: var(--bg-light);
  border: 1px solid var(--border);
  border-radius: 6px;
  cursor: pointer;
  transition: background var(--transition), border-color var(--transition);
}
.form-file-btn:hover {background: var(--primary-light); border-color: var(--primary); color: var(--primary);}
.form-file-list {margin-top: 10px; display: flex; flex-direction: column; gap: 6px;}
.form-file-remove {flex-shrink: 0; width: 20px; height: 20px; display: flex; align-items: center; justify-content: center; font-size: .85rem; color: var(--text-light); background: none; border: none; cursor: pointer; border-radius: 50%; transition: background var(--transition), color var(--transition);}
.form-file-remove:hover {background: #fee; color: #d32f2f;}

/* 갤러리 이미지 미리보기 */
.gallery-preview-grid {display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; margin-top: 12px;}
.gallery-preview-item img {width: 100%; height: 100%; object-fit: cover;}
.gallery-preview-remove {
  position: absolute;
  top: 4px; right: 4px;
  width: 22px; height: 22px;
  background: rgba(0,0,0,.6);
  color: var(--white);
  border: none;
  border-radius: 50%;
  font-size: .75rem;
  display: flex; align-items: center; justify-content: center;
  cursor: pointer;
  transition: background var(--transition);
}
.gallery-preview-remove:hover {background: #d32f2f;}

/* 모달 버튼 추가 */
.btn-cancel {background: var(--bg-light); color: var(--text);}
.btn-cancel:hover {background: var(--border);}
.btn-submit {background: var(--primary); color: var(--white);}
.btn-submit:hover {background: var(--primary-dark);}

/* #partners — 협력마당 */

.partner-card {background: var(--white); border: 1px solid var(--border); border-radius: var(--radius); overflow: hidden; transition: border-color var(--transition), box-shadow var(--transition);}
.biz-card-grid .partner-card {cursor: pointer;}
.partner-card:hover {border-color: var(--primary); box-shadow: 0 6px 24px rgba(20,83,150,.12);}

/* 사업실적 모달 */
.perf-modal-overlay {display:none;position:fixed;inset:0;z-index:3000;background:rgba(0,0,0,.6);}
.perf-modal-overlay.is-open {display:block;}
.perf-modal {width:100%;height:100vh;overflow:hidden;position:relative;}
.perf-modal-header {display:none;}
.perf-modal-close {position:absolute;top:20px;right:24px;z-index:10;background:rgba(0,0,0,.5);border:none;width:40px;height:40px;border-radius:50%;font-size:1.4rem;color:#fff;cursor:pointer;line-height:1;display:flex;align-items:center;justify-content:center;transition:background .2s;}
.perf-modal-close:hover {background:rgba(0,0,0,.8);}
.perf-modal-prev, .perf-modal-next {position:absolute;top:50%;transform:translateY(-50%);z-index:10;background:rgba(0,0,0,.4);border:none;width:48px;height:48px;border-radius:50%;font-size:2rem;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s;line-height:1;}
.perf-modal-prev {left:20px;}
.perf-modal-next {right:20px;}
.perf-modal-prev:hover, .perf-modal-next:hover {background:rgba(0,0,0,.7);}
.perf-modal-body {width:100%;height:100%;position:relative;background:#111;}
.perf-modal-img {position:absolute;inset:0;display:flex;align-items:center;justify-content:center;}
.perf-modal-img img {width:100%;height:100%;object-fit:contain;}
.perf-modal-info {display:none;}
.perf-modal-caption {position:absolute;left:0;right:0;bottom:0;padding:16px 40px;background:rgba(0,0,0,.35);color:#fff;backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;gap:28px;}
.perf-modal-info .partner-info {margin-bottom:10px;}
.perf-modal-info .partner-info th {color:rgba(255,255,255,.6);font-size:.8rem;}
.perf-modal-info .partner-info td {color:#fff;font-size:.85rem;}
.perf-modal-info .rw-desc {border-top:1px solid rgba(255,255,255,.2);padding-top:10px;}
.perf-modal-info .rw-desc li {color:rgba(255,255,255,.85);font-size:.82rem;}
.perf-modal-info .rw-desc li::before {color:rgba(255,255,255,.5);}
.perf-modal-caption .partner-info {margin-bottom:0;flex-shrink:0;width:auto;}
.perf-modal-caption .partner-info th {color:rgba(255,255,255,.6);font-size:.78rem;padding:2px 10px 2px 0;white-space:nowrap;}
.perf-modal-caption .partner-info td {color:#fff;font-size:.83rem;padding:2px 0;}
.perf-modal-caption .rw-desc {border-top:none;border-left:1px solid rgba(255,255,255,.2);padding-top:0;padding-left:28px;margin:0;display:grid;grid-template-columns:repeat(3,auto);gap:2px 24px;}
.perf-modal-caption .rw-desc li {color:rgba(255,255,255,.85);font-size:.8rem;padding:2px 0 2px 14px;line-height:1.5;white-space:nowrap;}
.perf-modal-caption .rw-desc li::before {color:rgba(255,255,255,.5);}
@media (max-width:768px) {
  .perf-modal-caption {max-width:100%;border-radius:0;flex-direction:column;gap:10px;padding:14px 20px;}
  .perf-modal-caption .rw-desc {border-left:none;border-top:1px solid rgba(255,255,255,.2);padding-left:0;padding-top:8px;grid-template-columns:repeat(2,auto);}
}
.partner-card-img {height: 180px; overflow: hidden; background: var(--bg-light);}
.partner-card-img img {width: 100%; height: 100%; object-fit: cover;}
.partner-card-body {padding: 10px 24px 13px;}
.partner-info {width: 100%; border-collapse: collapse; margin-bottom: 9px;}
.partner-info th {text-align: left; font-size: .82rem; font-weight: 700; color: var(--text-light); padding: 0 12px 0 0; white-space: nowrap; vertical-align: top; width: 70px; line-height: 1.6;}
.partner-info td {font-size: .88rem; color: var(--dark); font-weight: 600; padding: 0; line-height: 1.6;}
.partner-info td a {color: var(--primary); font-weight: 500; font-size: .82rem; word-break: break-all;}
.partner-info td a:hover {text-decoration: underline;}
.partner-card-body > p {font-size: .88rem; color: var(--text-light); line-height: 1.7; border-top: 1px solid var(--border); padding-top: 14px;}
.rw-desc {list-style: none; padding: 10px 0 0; margin: 0; border-top: 1px solid var(--border);}
.rw-desc li {position: relative; padding-left: 14px; font-size: .88rem; color: var(--text-light); line-height: 1.6;}
.rw-desc li::before {content: '·'; position: absolute; left: 0; color: var(--primary); font-weight: 700;}
.partner-img-placeholder {display: flex; align-items: center; justify-content: center; height: 100%; color: var(--text-light); font-size: .95rem; font-weight: 600;}

/* 최근 실적 슬라이더 */
.rw-slider {position: relative; overflow: hidden;}
.rw-track {display: flex; gap: 28px; transition: transform .5s ease;}
.rw-track .partner-card {flex: 0 0 calc((100% - 56px) / 3);}
.rw-dots {display: flex; justify-content: center; gap: 8px; margin-top: 20px;}
.rw-dot {width: 10px; height: 10px; border-radius: 50%; background: var(--border); border: none; cursor: pointer; transition: background var(--transition);}
.rw-dot.active {background: var(--primary);}

/* Footer */
.footer {background: var(--dark); color: rgba(255,255,255,.7); padding: 0 0 32px; font-size: .85rem;}
.footer-inner {display: flex; justify-content: space-between; align-items: stretch; gap: 40px;}
.footer-inner .footer-info {display: flex; flex-direction: column; justify-content: center;}
.footer-info h3 {color: var(--white); font-size: 1.05rem; font-weight: 700; margin-bottom: 0;}
.footer-top-bar {border-bottom: 1px solid rgba(255,255,255,0.2); padding: 15px 0; margin-bottom: 24px;}
.footer-corp-row {display: flex; align-items: center; justify-content: space-between;}
.footer-policy-links {display: flex; gap: 16px;}
.footer-policy-links a {color: rgba(255,255,255,0.6); font-size: 0.85rem; font-weight: 400; transition: color 0.2s;}
.footer-policy-links a:hover {color: #fff;}
.footer-quick-links {display: flex; gap: 16px;}
.footer-quick-links a {color: rgba(255,255,255,.6); font-size: .85rem; font-weight: 400; transition: color .2s;}
.footer-quick-links a:hover {color: #fff;}
.footer-company {font-size: 1rem; font-weight: 700; color: rgba(255,255,255,.9); margin-bottom: 8px;}
.footer-info p {margin-bottom: 4px; line-height: 1.7;}
.footer-copyright {margin-top: 4px; font-size: .78rem; color: rgba(255,255,255,.4);}
.footer-cs {}
.footer-cs-title {font-size: .82rem; font-weight: 600; color: rgba(255,255,255,.5); margin-bottom: 6px; letter-spacing: 1px;}
.footer-cs-tel {font-size: 1.5rem; font-weight: 800; color: #fff; font-family: var(--font-en); letter-spacing: .5px; margin-bottom: 4px;}
.footer-cs-fax {font-size: .85rem; color: rgba(255,255,255,.5); margin-bottom: 2px;}
.footer-cs-email {font-size: .82rem; color: rgba(255,255,255,.5); font-family: var(--font-en);}
.footer-bottom {border-top: 1px solid rgba(255,255,255,.1); margin-top: 24px; padding: 16px 0; text-align: center;}
.dibud-badge {display: inline-flex; align-items: center; gap: 6px; text-decoration: none; font-family: 'Pretendard', sans-serif; opacity: .3; transition: opacity var(--transition);}
.dibud-badge:hover {opacity: .6;}
.dibud-powered, .dibud-by {font-size: .72rem; font-weight: 600; color: rgba(255,255,255,.9); letter-spacing: 1px;}
.dibud-name {font-size: .85rem; font-weight: 800; color: #fff; letter-spacing: 2px;}

/* Quick Menu (우측 고정, 노란 세로바) */
.quick-menu {
  position: fixed;
  right: 16px;
  top: 50%;
  transform: translateY(-50%);
  z-index: 200;
  display: flex;
  flex-direction: column;
  background: rgba(20,83,150,.5);
  border-radius: 12px;
  overflow: hidden;
  box-shadow: -2px 2px 12px rgba(0,0,0,.1);
  opacity: 0;
  pointer-events: none;
  transition: opacity var(--transition);
}
.quick-menu.is-visible {opacity: 1; pointer-events: auto;}
.quick-menu a {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 76px;
  padding: 14px 6px;
  color: var(--white);
  font-size: .68rem;
  font-weight: 700;
  text-align: center;
  line-height: 1.35;
  transition: background var(--transition);
  border-bottom: 1px solid rgba(255,255,255,.25);
}
.quick-menu a:last-child {border-bottom: none;}
.quick-menu a:hover {background: rgba(255,255,255,.2);}
.quick-menu a .qm-icon {width: 24px; height: 24px; margin-bottom: 4px; stroke: var(--white);}

/* Top Button (퀵메뉴 아래 고정) */
.top-btn {
  position: fixed;
  right: 16px;
  bottom: 24px;
  z-index: 200;
  width: 76px;
  padding: 14px 6px;
  border-radius: 12px;
  background: var(--dark);
  color: var(--white);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 1px;
  box-shadow: -2px 2px 12px rgba(0,0,0,.15);
  transition: opacity var(--transition), background var(--transition);
  line-height: 1;
  cursor: pointer;
  opacity: 0;
  pointer-events: none;
}
.top-btn.is-visible {opacity: 1; pointer-events: auto;}
.top-btn .top-arrow {font-size: 1.1rem; line-height: 1;}
.top-btn .top-label {font-size: .6rem; font-weight: 800; font-family: var(--font-en); letter-spacing: .5px;}
.top-btn:hover {background: #333;}

/* 1024px */
@media (max-width: 1024px) {
  .loc-dual {grid-template-columns: 1fr;}
  .intro-tab {padding: 10px 20px; font-size: .85rem;}
  .biz-grid-3 {grid-template-columns: 1fr;}
  .biz-grid-4 {grid-template-columns: 1fr;}
  .biz-icon-grid {grid-template-columns: repeat(2, 1fr);}
  .tech-cards {grid-template-columns: repeat(3, 1fr);}
  .tech-cards-6 {grid-template-columns: repeat(3, 1fr);}
  .biz-card-grid {grid-template-columns: repeat(2, 1fr);}
  .biz-card-grid-3 {grid-template-columns: repeat(2, 1fr);}
  .hero-text h2 {font-size: 1.8rem;}
  .quick-menu {display: none;}
  .main-nav a {padding: 0 14px; font-size: .85rem;}
}

/* 768px */
@media (max-width: 768px) {
  .mega-menu {display: none !important;}
  .main-nav:hover .mega-menu {display: none !important;}
  .hero-full {height: 100vh;}
  .hero-video {display: none;}
  .hero-mobile-bg {display: block;}
  .hero-text h2 {font-size: 1.6rem;}
  .hero-text p {font-size: .92rem;}
  .hero-tabs {flex-direction: column; gap: 8px;}
  .hero-tab-btn {padding: 10px 24px; font-size: .85rem;}
  .sub-hero {height:65px;}
  .sub-hero-title {font-size:1.4rem;}
  .sub-hero-desc {font-size:.75rem;}
  .sub-location {display:none;}
  .lnb-menu {display:none;}
  .sub-content-wrap {flex-direction:column;gap:0;}
  .side-nav {display:none !important;}
  :root {--header-h: 60px; --nav-h: 46px;}
  .hero {height: calc(100vh - var(--header-h) - 24px); border-radius: 12px;}
  .hero-video {display: none;}
  .hero-mobile-bg {display: block;}
  .hero-text h2 {font-size: 1.45rem;}
  .hero-text p {font-size: .9rem;}
  .section {padding: 56px 0;}
  .section-header {margin-bottom: 32px;}
  .section-header h2 {font-size: 1.5rem;}
  .biz-category-tabs {margin-bottom: 8px;}
  .biz-cat-tab {padding: 8px 20px; font-size: .82rem;}
  .intro-tabs {gap: 0;}
  .intro-tab {padding: 10px 16px; font-size: .82rem;}
  .loc-dual {grid-template-columns: 1fr;}
  .news-dual {grid-template-columns: 1fr; gap: 32px;}
  .about-headline {font-size: 1.25rem;}
  .about-cards {grid-template-columns: 1fr; gap: 20px;}
  .staff-dual {grid-template-columns: 1fr;}
  .orgchart-top {flex-direction: column; gap: 0;}
  .orgchart-line-h-sm {width: 2px; height: 20px;}
  .orgchart-depts {flex-wrap: wrap; gap: 12px;}
  .orgchart-dept {flex: 0 0 calc(50% - 6px);}
  .orgchart-line-h {display: none;}
  .orgchart-hq span {font-size: .65rem;}
  .staff-col:first-child {border-right: none; border-bottom: 1px solid var(--border);}
  .ceo-grid {grid-template-columns: 1fr; gap: 28px;}
  .tech-cards {grid-template-columns: repeat(2, 1fr);}
  .tech-cards:not(.tech-cards-6) .tech-crd:last-child {grid-column: 1 / -1; max-width: 50%; margin: 0 auto;}
  .tech-cards-6 {grid-template-columns: repeat(2, 1fr);}
  .biz-card-grid {grid-template-columns: 1fr;}
  .board-modal {max-width: 95vw;}
  .board-modal-header {padding: 20px 22px 14px;}
  .board-modal-body {padding: 20px 22px;}
  .board-modal-footer {padding: 14px 22px;}
  .footer-inner {flex-direction: column; gap: 24px;}

  /* Mobile Nav — Fullscreen 메뉴 사용하므로 드롭다운 제거 */
  .main-nav {position: static; transform: none; left: auto; display: none;}
  .fullmenu-inner {padding: 0 24px;}
  .fullmenu-row {flex-direction: column; gap: 12px; padding: 22px 0;}
  .fullmenu-title {width: auto; font-size: 1.1rem;}
  .fullmenu-subs {gap: 8px 28px;}
  .fullmenu-subs a {font-size: .85rem;}
}

/* 480px */
@media (max-width: 480px) {
  .container {padding: 0 16px;}
  .hero {height: calc(100vh - var(--header-h) - 20px); border-radius: 10px;}
  .hero-text h2 {font-size: 1.2rem;}
  .hero-text p {font-size: .82rem;}
  .hero-overlay {padding-left: 5%;}
  .hero-split-inner {padding: 0 5%;}
  .section {padding: 44px 0;}
  .section-header h2 {font-size: 1.3rem;}
  .partner-card-img {height: 150px;}
  .board-modal-title {font-size: 1rem;}
  .board-modal-body {font-size: .85rem;}
  .btn-modal {padding: 8px 16px; font-size: .8rem;}
  .gallery-preview-grid {grid-template-columns: repeat(3, 1fr);}
  .top-btn {width: 42px; height: 42px; right: 16px; bottom: 16px; font-size: 1rem;}
}

/* ── Main page header ── */
.is-main .top-bar .logo {display: none;}
.is-main .top-bar .header-right {display: none;}
.is-main .top-bar:hover,
.is-main .top-bar.is-sticky,
.is-main .top-bar.scrolled {background: transparent;}
.is-main .top-bar .main-nav {flex: 1; justify-content: center;}
.is-main .top-bar:hover .main-nav > ul > li > a,
.is-main .top-bar.is-sticky .main-nav > ul > li > a,
.is-main .top-bar.scrolled .main-nav > ul > li > a {color: #fff;}
.is-main .top-bar:hover .main-nav > ul > li > a:hover,
.is-main .top-bar.is-sticky .main-nav > ul > li > a:hover,
.is-main .top-bar.scrolled .main-nav > ul > li > a:hover {color: rgba(255,255,255,.7);}
.is-main .mega-col a {color: var(--text-light);}
.is-main .mega-col a:hover {color: var(--primary);}
