@charset "utf-8";
/* ============================================================
   (주)광진엔지니어링 — screen-ui.css  (v5 · 2026 리뉴얼)
   무드: "ENGINEERED" — 그래파이트 + 일렉트릭 코발트 + 인더스트리얼 앰버
   ------------------------------------------------------------
   · 다크 헤더 / 좌측정렬 에디토리얼 섹션헤드(인덱스 번호)
   · 각진 테크니컬 카드(6px) · 하드웨어 코너틱 · 모노 라벨
   · 기존 클래스명 100% 유지(모든 서브페이지 자동 리스킨)
   규칙: 1rem=10px / Noto Sans / width 1200 / 반응형(~480px)
   ============================================================ */

/* ===== 00. 변수 / 리셋 / 타이포 ============================= */
:root{
  --container-xl:1200px;
  --point:#db4d12;      /* 번트 오렌지 (메인 브랜드) */
  --point-2:#b83c0c;    /* 딥 오렌지 (호버) */
  --point-3:#8a2e0a;    /* 다크 오렌지 */
  --accent:#ff7a1a;     /* 인더스트리얼 앰버 (스파크 강조) */
  --accent-2:#ff9d4d;   /* 라이트 앰버 (다크 배경용) */
  --ink:#161922;        /* 니어블랙 그래파이트 (헤딩) */
  --graphite:#14171f;   /* 다크 크롬 표면 */
  --graphite-2:#1e222c; /* 다크 크롬 2 */
  --graphite-3:#2a2f3b;
  --body:#4a5059;       /* 본문 (쿨그레이) */
  --muted:#7c828d;
  --faint:#a6acb6;
  --line:#e2e5ea;
  --line-2:#eef0f3;
  --soft:#f4f6f9;
  --soft-2:#f8fafb;
  --radius:6px;
  --radius-lg:10px;
  --shadow:0 8px 24px rgba(20,23,31,0.07);
  --shadow-hover:0 18px 40px rgba(219,77,18,0.14);
  --ease:cubic-bezier(0.22,1,0.36,1);
  --mono:"Noto Sans KR","Noto Sans",ui-monospace,monospace;
}
*,*::before,*::after{box-sizing:border-box;}
html{font-size:62.5%;-webkit-text-size-adjust:100%;}
body{ min-height:100vh; display:flex; flex-direction:column;
  margin:0;
  font-family:"Noto Sans KR","Noto Sans",sans-serif;
  font-size:1.8rem; line-height:1.7; color:var(--body);
  font-weight:400; background:#fff; letter-spacing:-0.02em;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%; height:auto; border:0; vertical-align:middle;}
a{color:inherit;}
h1,h2,h3,h4,h5,p,ul,ol,li,figure,table,dl,dd{margin:0; padding:0;}
ul,ol{list-style:none;}
table{border-collapse:collapse; width:100%;}
::selection{background:var(--point); color:#fff;}

/* 폰트 4단계 유틸 */
.t-title{font-size:3.6rem; line-height:1.3; font-weight:700; color:var(--ink); letter-spacing:-0.035em;}
.t-subtitle{font-size:2.4rem; line-height:1.4; font-weight:700; color:var(--ink); letter-spacing:-0.03em;}
.t-body{font-size:1.8rem; line-height:1.85;}
.t-note{font-size:1.5rem; line-height:1.75; color:var(--muted);}

/* ===== 01. 레이아웃 ========================================= */
.sub-page{width:100%;}
.sub-inner{max-width:var(--container-xl); margin:0 auto; padding:0 20px;}
.sub-section{padding:0 0 20px;}
.sub-section + .sub-section{padding-top:76px;}

/* 섹션 타이틀 — 좌측정렬 + 앰버 인덱스 틱 (에디토리얼) */
.sec-head{margin-bottom:38px;}
.sec-title{
  position:relative; font-size:2.6rem; font-weight:800; color:var(--ink);
  padding-left:20px; line-height:1.3; margin:0 0 26px; letter-spacing:-0.03em;
}
* + .sec-title{margin-top:64px;}
.sec-head .sec-title{margin:0;}
.prod-head + .sec-title{margin-top:8px;}
.sec-title::before{
  content:""; position:absolute; left:0; top:4px; bottom:4px;
  width:5px; border-radius:1px; background:var(--accent);
}
.sec-title::after{
  content:""; position:absolute; left:0; top:-4px;
  width:5px; height:5px; background:var(--point);
}
.sec-title .accent{color:var(--point);}
.sec-desc{margin-top:14px; font-size:1.8rem; line-height:1.9; color:var(--body);}
.sec-note{margin-top:10px; font-size:1.5rem; color:var(--muted);}
.center{text-align:center;}
.mt-s{margin-top:16px;} .mt-m{margin-top:34px;} .mt-l{margin-top:60px;}

/* 페이지 상단 리드 문구 */
.page-lead{
  text-align:center; font-size:2.6rem; font-weight:600; color:var(--ink);
  line-height:1.55; margin-bottom:16px; letter-spacing:-0.035em;
}
.page-lead::before{
  content:""; display:block; width:40px; height:3px; margin:0 auto 24px;
  background:var(--accent);
}
.page-lead .accent{color:var(--point); font-weight:800;}
.page-sub{text-align:center; font-size:1.8rem; color:var(--muted); margin-bottom:54px;}

/* 공용: 에디토리얼 킥커 (섹션 위 라벨) */
.kicker{
  display:inline-block; font-family:var(--mono); font-size:1.3rem; font-weight:700;
  letter-spacing:.28em; text-transform:uppercase; color:var(--point);
  padding-left:26px; position:relative; margin-bottom:14px;
}
.kicker::before{content:""; position:absolute; left:0; top:50%; width:18px; height:2px; background:var(--accent); transform:translateY(-50%);}

/* ===== 02. 그리드 · 미디어 스플릿 ========================== */
.grid{display:grid; gap:30px;}
.grid-2{grid-template-columns:repeat(2,1fr);}
.grid-3{grid-template-columns:repeat(3,1fr);}
.grid-4{grid-template-columns:repeat(4,1fr);}

/* 이미지 + 텍스트 2단 */
.media-split{display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:center;}
.media-split.media-right{grid-template-columns:1fr 1fr;}
.media-split__img{position:relative;}
.media-split__img::before{
  content:""; position:absolute; left:-14px; top:-14px; width:64px; height:64px;
  border-left:3px solid var(--accent); border-top:3px solid var(--accent); z-index:2;
}
.media-split__img img{width:100%; border-radius:var(--radius); display:block;}
.media-split__text h3{font-size:2.6rem; font-weight:800; color:var(--ink); margin-bottom:20px; letter-spacing:-0.03em; line-height:1.35;}
.media-split__text p{font-size:1.8rem; line-height:1.95; color:var(--body);}

/* ===== 03. 카드 · 썸네일 ==================================== */
.photo-card{
  background:#fff; border:1px solid var(--line); border-radius:var(--radius);
  overflow:hidden; position:relative; transition:box-shadow .28s var(--ease), transform .28s var(--ease), border-color .28s var(--ease);
}
.photo-card::after{content:""; position:absolute; left:0; top:0; height:3px; width:0; background:var(--point); transition:width .3s var(--ease);}
.photo-card:hover{box-shadow:var(--shadow-hover); transform:translateY(-6px); border-color:var(--point);}
.photo-card:hover::after{width:100%;}
.photo-card__media{background:var(--soft); overflow:hidden;}
.photo-card__media img{width:100%; display:block; aspect-ratio:4/3; object-fit:cover; transition:transform .4s var(--ease);}
.photo-card:hover .photo-card__media img{transform:scale(1.05);}
.photo-card__body{padding:24px 26px;}
.photo-card__tit{font-size:2.0rem; font-weight:700; color:var(--ink); margin-bottom:10px;}
.photo-card__desc{font-size:1.6rem; line-height:1.7; color:var(--muted);}

/* 캡션 썸네일 */
.thumb{text-align:center;}
.thumb img{width:100%; border:1px solid var(--line); border-radius:6px; background:#fff;}
.thumb figcaption{margin-top:12px; font-size:1.5rem; color:var(--body);}

/* ===== 04. 스펙 표 ========================================== */
.table-scroll{width:100%; overflow-x:auto; -webkit-overflow-scrolling:touch; margin:0 0 40px;}
.spec-table{min-width:640px; font-size:1.5rem;}
.spec-table caption{
  caption-side:top; text-align:left; font-size:1.8rem; font-weight:700;
  color:var(--ink); padding:0 0 14px;
}
.spec-table th,.spec-table td{
  border:1px solid var(--line); padding:13px 14px; text-align:center; line-height:1.5;
  color:var(--body); vertical-align:middle;
}
.spec-table thead th{background:var(--graphite-2); color:#fff; font-weight:700; border-color:rgba(255,255,255,0.14);}
.spec-table tbody th{background:var(--soft); color:var(--ink); font-weight:700;}
.spec-table tbody tr:nth-child(even) td{background:var(--soft-2);}
.spec-table td strong{color:var(--point);}
.spec-table .td-left{text-align:left;}
.table-guide{font-size:1.5rem; color:var(--muted); line-height:1.9; margin-top:10px;}

/* ===== 05. 아이콘 피처 (원형 3종) ========================== */
.feature-row{display:grid; grid-template-columns:repeat(3,1fr); gap:30px; text-align:center;}
.feature{display:flex; flex-direction:column; align-items:center;}
.feature__circle{
  width:148px; height:148px; border-radius:20px;
  display:flex; align-items:center; justify-content:center;
  border:1px solid var(--line); background:#fff; margin-bottom:20px;
  box-shadow:0 10px 24px -16px rgba(22,25,34,.25);
  position:relative; transition:transform .28s var(--ease), background .28s var(--ease), border-color .28s var(--ease);
}
.feature__circle::before{content:""; position:absolute; left:0; bottom:0; width:100%; height:4px; background:var(--accent); border-radius:0 0 20px 20px; transform:scaleX(.3); transition:transform .3s var(--ease), background .3s var(--ease);}
.feature:hover .feature__circle{transform:translateY(-8px); background:var(--point); border-color:var(--point);}
.feature:hover .feature__circle::before{transform:scaleX(1); background:rgba(255,255,255,.45);}
.feature__circle svg{width:58px; height:58px;}
.feature__circle svg [stroke]{stroke:var(--point); transition:stroke .28s var(--ease);}
.feature:hover .feature__circle svg [stroke]{stroke:#fff;}
.feature__label{font-size:1.5rem; color:var(--muted); margin-bottom:4px;}
.feature__en{font-size:2.2rem; font-weight:800; color:var(--ink); letter-spacing:.04em;}

/* ===== 06. 연혁 타임라인 =================================== */
.timeline{position:relative; max-width:960px; margin:0 auto; padding:10px 0 30px;}
.timeline::before{content:""; position:absolute; left:50%; top:0; bottom:0; width:2px; background:var(--line); transform:translateX(-50%);}
.era-badge{
  position:relative; z-index:2; width:112px; height:112px; margin:34px auto; border-radius:16px;
  background:var(--graphite); color:#fff; display:flex; align-items:center; justify-content:center;
  font-size:2.2rem; font-weight:800; letter-spacing:.02em; box-shadow:0 12px 26px rgba(20,23,31,.28);
}
.era-badge::after{content:""; position:absolute; left:0; bottom:0; width:100%; height:5px; background:var(--accent); border-radius:0 0 16px 16px;}
.era-badge:first-child{margin-top:0;}
.tl-item{position:relative; width:50%; padding:14px 46px; min-height:56px;}
.tl-item::before{content:""; position:absolute; top:20px; width:13px; height:13px; border-radius:50%; background:#fff; border:3px solid var(--point); z-index:2;}
.tl-item.left{left:0; text-align:right;}
.tl-item.right{left:50%; text-align:left;}
.tl-item.left::before{right:-7px;}
.tl-item.right::before{left:-7px;}
.tl-item.left::after,.tl-item.right::after{content:""; position:absolute; top:26px; width:36px; height:2px; background:var(--line);}
.tl-item.left::after{right:0;}
.tl-item.right::after{left:0;}
.tl-date{font-size:1.7rem; font-weight:800; color:var(--point); letter-spacing:.02em; font-family:var(--mono);}
.tl-desc{font-size:1.7rem; color:var(--body); line-height:1.55; margin-top:6px;}

/* ===== 07. 인증서 갤러리 =================================== */
.gallery-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:34px 28px;}
.gallery-item{text-align:center;}
.gallery-item img{width:100%; border:1px solid var(--line); border-radius:6px; background:#fff; transition:transform .22s var(--ease);}
.gallery-item:hover img{transform:translateY(-5px);}
.gallery-item figcaption{margin-top:14px; font-size:1.6rem; color:var(--body); line-height:1.5;}

/* 디자인/도면 타일 그리드 */
.design-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin:0 0 44px; align-items:start;}
.design-grid figure{margin:0;}
.design-grid img{width:100%; border:1px solid var(--line); border-radius:6px; background:#fff; display:block;}
.design-grid figcaption{margin-top:12px; font-size:1.6rem; color:var(--body); text-align:center;}
.design-grid--2{grid-template-columns:repeat(2,1fr);}
.design-grid--4{grid-template-columns:repeat(4,1fr); gap:18px;}
.design-grid .code{margin-top:8px; font-size:1.5rem; font-weight:700; color:var(--point); text-align:center; letter-spacing:.02em; font-family:var(--mono);}
.subgroup-label{font-size:1.8rem; font-weight:800; color:var(--ink); margin:32px 0 16px; padding-left:16px; position:relative;}
.subgroup-label::before{content:""; position:absolute; left:0; top:3px; bottom:3px; width:4px; border-radius:1px; background:var(--accent);}
.subgroup-label:first-of-type{margin-top:6px;}
.design-grid--photo figure{border:1px solid var(--line); border-radius:6px; overflow:hidden; background:var(--soft);}
.design-grid--photo img{width:100%; aspect-ratio:4/3; object-fit:cover; border:0; border-radius:0; display:block;}
.design-grid--photo.design-grid--tall img{aspect-ratio:3/4;}
.design-grid--photo figcaption{margin-top:12px;}
.design-grid--photo figure > figcaption{margin:0; padding:10px 12px 12px; background:#fff; text-align:center;}

/* 동작 순서 스텝 플로우 */
.step-flow{display:flex; align-items:stretch; justify-content:center; flex-wrap:nowrap; max-width:1080px; margin:0 auto 44px;}
.step-flow__item{flex:1 1 0; max-width:300px; text-align:center; display:flex; flex-direction:column; align-items:center;}
.step-flow__fig{width:100%; background:var(--soft); border:1px solid var(--line); border-radius:var(--radius); padding:10px;}
.step-flow__fig img{width:100%; display:block;}
.step-flow__num{margin-top:16px; font-size:1.4rem; font-weight:800; color:#fff; background:var(--point); padding:6px 20px; border-radius:4px; letter-spacing:.04em; font-family:var(--mono);}
.step-flow__desc{margin-top:12px; font-size:1.7rem; line-height:1.65; color:var(--body);}
.step-flow__arrow{flex:0 0 auto; display:flex; align-items:center; padding:0 10px; color:var(--accent);}
.step-flow__arrow svg{width:26px; height:26px;}
@media (max-width:768px){
  .step-flow{flex-direction:column; align-items:center;}
  .step-flow__item{max-width:360px; width:100%;}
  .step-flow__arrow{transform:rotate(90deg); padding:14px 0;}
}

/* 강조 포인트 배지 */
.point-badges{display:flex; flex-wrap:wrap; justify-content:center; gap:20px; margin:6px 0 36px;}
.point-badge{width:134px; height:134px; border-radius:18px; background:var(--graphite); color:#fff; display:flex; align-items:center; justify-content:center; text-align:center; font-size:1.6rem; font-weight:700; line-height:1.4; padding:12px; position:relative; overflow:hidden; box-shadow:0 10px 22px rgba(20,23,31,.22);}
.point-badge::before{content:""; position:absolute; left:0; top:0; width:100%; height:5px; background:var(--point);}
.point-badge:nth-child(2)::before{background:var(--accent);}
.point-badge:nth-child(3)::before{background:var(--point);}
.point-badge:nth-child(4)::before{background:var(--accent);}
@media (max-width:480px){.point-badges{gap:14px;} .point-badge{width:108px; height:108px; font-size:1.5rem;}}

/* 카리프트 특징 소제목 */
.feature-lead{font-size:2.4rem; font-weight:800; color:var(--ink); line-height:1.4; margin-bottom:6px; letter-spacing:-0.03em;}
.feature-lead span{display:block; font-size:1.8rem; font-weight:400; color:var(--muted); margin-top:6px;}
.feature-cert{font-size:2.0rem; font-weight:800; color:var(--point); margin:0 0 20px; padding-left:16px; position:relative;}
.feature-cert::before{content:""; position:absolute; left:0; top:4px; bottom:4px; width:5px; border-radius:1px; background:var(--accent);}

/* 이름 리스트 (다단 컬럼) */
.name-list{columns:3; column-gap:34px; max-width:1000px; margin:0 auto; list-style:none; padding:0;}
.name-list li{break-inside:avoid; padding:9px 0 9px 18px; position:relative; font-size:1.6rem; color:var(--body); border-bottom:1px solid var(--line-2);}
.name-list li::before{content:""; position:absolute; left:0; top:17px; width:6px; height:6px; background:var(--accent);}
@media (max-width:768px){.name-list{columns:2; column-gap:18px;}}
@media (max-width:480px){.name-list{columns:1;}}

/* ===== 08. 제품 내부 pill 서브탭 =========================== */
.pill-nav{display:flex; flex-wrap:nowrap; justify-content:center; gap:4px; margin:0 auto 50px; padding:6px; background:var(--soft); border:1px solid var(--line); border-radius:10px; width:fit-content; max-width:100%;}
.pill{
  appearance:none; border:1px solid transparent; background:transparent; cursor:pointer;
  min-width:0; padding:0 16px; height:48px; line-height:46px; border-radius:6px; white-space:nowrap;
  font-size:1.5rem; font-weight:600; color:var(--muted); font-family:inherit;
  transition:all .2s var(--ease); text-align:center;
}
@media (max-width:900px){ .pill-nav{flex-wrap:wrap;} }
.pill:hover{color:var(--point);}
.pill.is-active{background:var(--point); color:#fff; font-weight:700; box-shadow:0 6px 16px rgba(219,77,18,.3);}
.pill-panel{display:none;}
.pill-panel.is-active{display:block; animation:fadeUp .35s var(--ease);}
@keyframes fadeUp{from{opacity:0; transform:translateY(10px);} to{opacity:1; transform:none;}}

/* 제품 상세 블록 */
/* 제품 대타이틀 — 유지관리 sec-head 스타일과 통일(상단 앰버바+센터+잉크 언더라인) */
.prod-head{text-align:center; margin:8px 0 36px; padding-bottom:20px; border-bottom:2px solid var(--ink);}
.prod-head::before{content:""; display:block; width:38px; height:5px; margin:0 auto 16px; border-radius:2px; background:var(--accent);}
.prod-head h2{font-size:3.2rem; font-weight:800; color:var(--ink); letter-spacing:-0.04em; line-height:1.25;}
.prod-head h2 span{display:block; font-size:1.5rem; color:var(--point); font-weight:700; margin-top:8px; letter-spacing:.04em; font-family:var(--mono); text-transform:uppercase;}
.prod-figure{text-align:center; margin:0 auto 44px;}
.prod-figure img{width:100%; border-radius:var(--radius);}
.prod-figure figcaption{margin-top:14px; font-size:1.6rem; color:var(--muted);}
.prod-desc{font-size:1.8rem; line-height:1.9; text-align:center; color:var(--body); margin-bottom:34px;}

/* 특징 리스트 */
.check-list{max-width:1000px; margin:0 auto 40px;}
.check-list li{position:relative; padding:14px 0 14px 38px; font-size:1.8rem; line-height:1.65; border-bottom:1px solid var(--line-2);}
.check-list li::before{content:""; position:absolute; left:5px; top:21px; width:14px; height:8px; border-left:3px solid var(--accent); border-bottom:3px solid var(--accent); transform:rotate(-45deg);}
.dot-list{margin:0 0 34px;}
.dot-list li{position:relative; padding:9px 0 9px 22px; font-size:1.8rem; line-height:1.75; color:var(--body);}
.dot-list li::before{content:""; position:absolute; left:0; top:19px; width:7px; height:7px; background:var(--accent);}
.check-list strong, .dot-list strong{color:var(--point); font-weight:700;}

/* ===== 09. 버튼 ============================================ */
.btn{display:inline-flex; align-items:center; justify-content:center; gap:9px; height:54px; padding:0 34px; border-radius:6px; font-size:1.6rem; font-weight:700; text-decoration:none; cursor:pointer; border:2px solid transparent; transition:all .2s var(--ease); font-family:inherit; letter-spacing:-0.01em;}
.btn-primary{background:var(--point); color:#fff; box-shadow:0 10px 24px rgba(219,77,18,.26);}
.btn-primary:hover{background:var(--point-2); transform:translateY(-2px); box-shadow:0 14px 30px rgba(219,77,18,.34);}
.btn-line{background:transparent; border-color:var(--point); color:var(--point);}
.btn-line:hover{background:var(--point); color:#fff; transform:translateY(-2px);}
.btn-ghost{background:transparent; color:#fff; border-color:rgba(255,255,255,.55);}
.btn-ghost:hover{background:#fff; color:var(--ink); border-color:#fff;}
.btn-accent{background:var(--accent); color:#fff; box-shadow:0 10px 24px rgba(255,122,26,.3);}
.btn-accent:hover{background:#f26a08; transform:translateY(-2px);}

/* ===== 10. 폼 (온라인문의) ================================= */
.form-wrap{max-width:1000px; margin:0 auto;}
.form-note{font-size:1.5rem; color:var(--muted); margin-bottom:18px;}
.form-note .req{color:var(--accent); font-weight:700;}
.form-table{border-top:2px solid var(--point); font-size:1.6rem;}
.form-table th,.form-table td{border-bottom:1px solid var(--line); padding:18px 20px; text-align:left; vertical-align:middle;}
.form-table th{width:210px; background:var(--soft); color:var(--ink); font-weight:600;}
.form-table th .req{color:var(--accent); margin-left:3px;}
.form-table input[type=text],.form-table input[type=email],.form-table select,.form-table textarea{
  width:100%; max-width:480px; height:52px; padding:0 16px; border:1px solid var(--line); border-radius:6px;
  font-size:1.6rem; font-family:inherit; color:var(--ink); background:#fff; transition:border-color .18s, box-shadow .18s;
}
.form-table input:focus,.form-table select:focus,.form-table textarea:focus{outline:none; border-color:var(--point); box-shadow:0 0 0 3px rgba(219,77,18,.14);}
.form-table textarea{height:160px; padding:12px 16px; max-width:100%; resize:vertical;}
.form-inline{display:flex; align-items:center; gap:8px; flex-wrap:wrap;}
.form-inline input{max-width:160px;}
.agree-box{margin:30px 0; padding:28px 30px; background:var(--soft); border:1px solid var(--line); border-radius:var(--radius); font-size:1.6rem; line-height:1.9;}
.agree-check{display:flex; align-items:center; justify-content:center; gap:8px; margin-top:14px; font-size:1.6rem;}
.agree-check input{width:20px; height:20px; accent-color:var(--point);}
.form-submit{text-align:center; margin-top:30px;}

/* ===== 11. 게시판 ========================================== */
.board-top{display:flex; justify-content:space-between; align-items:center; margin-bottom:16px; font-size:1.5rem; color:var(--muted);}
.board-top strong{color:var(--point); font-weight:800;}
.board-table{border-top:2px solid var(--point); font-size:1.6rem;}
.board-table thead th{background:var(--soft); color:var(--ink); font-weight:700; padding:17px 10px; border-bottom:1px solid var(--line); font-size:1.5rem;}
.board-table td{padding:17px 10px; border-bottom:1px solid var(--line); text-align:center; color:var(--body);}
.board-table td.subject{text-align:left;}
.board-table .w-no{width:12%;} .board-table .w-date{width:18%;} .board-table .w-hit{width:12%;} .board-table .w-file{width:12%;} .board-table .w-loc{width:24%;} .board-table .w-year{width:16%;}
.board-table td.subject a{text-decoration:none; color:var(--ink);}
.board-table td.subject a:hover{color:var(--point); text-decoration:underline;}
.board-empty{padding:88px 20px; text-align:center; color:var(--muted); font-size:1.8rem;}
.board-empty .ico{display:block; font-size:4.4rem; margin-bottom:14px; opacity:.5;}
.pager{display:flex; justify-content:center; gap:6px; margin-top:36px;}
.pager a,.pager span{min-width:42px; height:42px; line-height:40px; text-align:center; border:1px solid var(--line); border-radius:6px; font-size:1.5rem; color:var(--muted); text-decoration:none;}
.pager .is-current{background:var(--point); border-color:var(--point); color:#fff; font-weight:700;}

/* ===== 12. 오시는길 ======================================== */
.map-embed{width:100%; border:1px solid var(--line); border-radius:var(--radius); overflow:hidden; background:var(--soft);}
.map-embed iframe{width:100%; height:440px; border:0; display:block;}
.map-info{display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin-top:36px;}
.map-info__item{background:var(--soft); border:1px solid var(--line); border-radius:var(--radius); padding:30px 26px; text-align:center; transition:transform .25s var(--ease), box-shadow .25s var(--ease), border-color .25s;}
.map-info__item:hover{transform:translateY(-5px); box-shadow:var(--shadow-hover); border-color:var(--point); background:#fff;}
.map-info__ico{width:58px; height:58px; margin:0 auto 16px; border-radius:14px; background:#fff; border:1px solid var(--line); display:flex; align-items:center; justify-content:center; box-shadow:var(--shadow);}
.map-info__ico svg{width:28px; height:28px;}
.map-info__ico svg [stroke]{stroke:var(--point);}
.map-info__label{font-size:1.4rem; color:var(--muted); margin-bottom:8px; letter-spacing:.06em; text-transform:uppercase; font-family:var(--mono); font-weight:700;}
.map-info__value{font-size:1.8rem; font-weight:700; color:var(--ink); line-height:1.5;}

/* 회사개요 표 */
.overview-table{border-top:2px solid var(--point); font-size:1.6rem;}
.overview-table th,.overview-table td{border-bottom:1px solid var(--line); padding:18px 20px; text-align:left; vertical-align:middle;}
.overview-table th{width:150px; background:var(--soft); color:var(--ink); font-weight:700; text-align:center;}
.overview-table td{color:var(--body);}

/* 조직도 */
.org{max-width:960px; margin:0 auto; text-align:center;}
.org__top{display:inline-flex; flex-direction:column; align-items:center; gap:0;}
.org__ceo{width:124px; height:124px; border-radius:18px; background:var(--point); color:#fff; display:flex; align-items:center; justify-content:center; font-size:1.8rem; font-weight:800; line-height:1.3; box-shadow:0 12px 26px rgba(219,77,18,.28);}
.org__line{width:2px; height:36px; background:var(--line);}
.org__director{border:2px solid var(--point); color:var(--point); font-weight:800; font-size:1.8rem; padding:12px 36px; border-radius:8px; background:#fff;}
.org__grid{display:grid; grid-template-columns:repeat(4,1fr); gap:20px; margin-top:42px;}
.org__dept{background:var(--soft); border:1px solid var(--line); border-radius:var(--radius); padding:28px 22px; border-top:4px solid var(--point); transition:transform .22s var(--ease), box-shadow .22s var(--ease);}
.org__dept:hover{transform:translateY(-4px); box-shadow:var(--shadow);}
.org__dept:nth-child(even){border-top-color:var(--accent);}
.org__dept h4{font-size:2.0rem; font-weight:800; color:var(--ink); margin-bottom:14px;}
.org__dept li{font-size:1.6rem; color:var(--body); line-height:1.9;}

/* ============================================================
   13. 메인(index) — 리뉴얼 히어로 / 쇼케이스
   ============================================================ */
/* 히어로 */
.main-hero{position:relative; width:100%; height:660px; overflow:hidden; background:var(--graphite);}
.main-hero__slides{position:absolute; inset:0;}
.main-hero__slide{position:absolute; inset:0; background-size:cover; background-position:center; opacity:0; transform:scale(1.06); transition:opacity 1.2s var(--ease), transform 6s linear;}
.main-hero__slide.is-active{opacity:1; transform:scale(1);}
.main-hero__slide.hs1{background-image:url(/resources/images/main/main_01.jpg);}
.main-hero__slide.hs2{background-image:url(/resources/images/main/main_02.jpg);}
.main-hero__slide.hs3{background-image:url(/resources/images/main/main_03.jpg);}
.main-hero__slide.hs4{background-image:url(/resources/images/main/main_04.jpg);}
.main-hero__slides::after{content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(18,20,27,.38) 0%,rgba(18,20,27,.54) 100%); z-index:2;}
.main-hero__inner{position:relative; z-index:3; max-width:var(--container-xl); margin:0 auto; height:100%; padding:0 20px; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; color:#fff;}
.main-hero__eyebrow{font-family:var(--mono); font-size:1.4rem; letter-spacing:.32em; text-transform:uppercase; color:var(--accent-2); margin-bottom:24px; font-weight:700; position:relative; padding-bottom:16px;}
.main-hero__eyebrow::before{content:""; position:absolute; left:50%; bottom:0; width:36px; height:2px; background:var(--accent); transform:translateX(-50%);}
.main-hero__tit{font-size:5.2rem; font-weight:800; line-height:1.22; letter-spacing:-0.04em; text-shadow:0 2px 24px rgba(0,0,0,.35);}
.main-hero__tit b{color:var(--accent-2);}
.main-hero__lead{margin:24px auto 0; font-size:1.9rem; line-height:1.7; color:rgba(255,255,255,.85); max-width:600px;}
.main-hero__cta{margin-top:40px; display:flex; flex-wrap:wrap; gap:14px; justify-content:center;}
.main-hero__dots{position:absolute; z-index:4; left:0; right:0; bottom:34px; display:flex; justify-content:center; gap:10px;}
.main-hero__dots button{width:34px; height:4px; border-radius:2px; border:0; background:rgba(255,255,255,.4); cursor:pointer; padding:0; transition:background .2s;}
.main-hero__dots button.is-active{background:var(--accent);}
.main-hero__arrow{position:absolute; z-index:5; top:50%; transform:translateY(-50%); width:56px; height:56px; border-radius:8px; background:rgba(255,255,255,0.08); border:1px solid rgba(255,255,255,0.4); color:#fff; display:flex; align-items:center; justify-content:center; cursor:pointer; transition:background .2s var(--ease), border-color .2s;}
.main-hero__arrow:hover{background:rgba(255,255,255,0.2); border-color:#fff;}
.main-hero__arrow--prev{left:3%;}
.main-hero__arrow--next{right:3%;}
.main-hero__arrow svg{width:26px; height:26px;}
@media (max-width:960px){
  .main-hero{height:560px;}
  .main-hero__tit{font-size:3.6rem;}
  .main-hero__arrow{width:44px; height:44px;}
  .main-hero__arrow--prev{left:8px;} .main-hero__arrow--next{right:8px;}
}
@media (max-width:480px){
  .main-hero{height:500px;}
  .main-hero__tit{font-size:2.9rem;}
  .main-hero__inner{text-align:left;}
}

/* 제품소개 슬라이더 */
.prod-slider{position:relative; background:var(--soft); border-top:1px solid var(--line);}
.prod-slider__track{position:relative; max-width:var(--container-xl); margin:0 auto; padding:0 20px;}
.prod-slide{display:none; align-items:center; gap:72px; min-height:540px; padding:60px 0; animation:fadeUp .4s var(--ease);}
.prod-slide.is-active{display:flex;}
.prod-slide__media{flex:0 0 420px; width:420px; background:#fff; box-shadow:var(--shadow); border-radius:var(--radius); overflow:hidden; position:relative;}
.prod-slide__media::before{content:""; position:absolute; left:0; top:0; width:100%; height:4px; background:var(--accent); z-index:2;}
.prod-slide__media img{width:100%; display:block; aspect-ratio:420/540; object-fit:cover;}
.prod-slide__body{flex:1;}
.prod-slide__body h4{font-family:var(--mono); font-size:1.4rem; color:var(--point); font-weight:700; margin-bottom:14px; letter-spacing:.14em; text-transform:uppercase;}
.prod-slide__body h3{font-size:3.6rem; color:var(--ink); font-weight:800; margin-bottom:22px; letter-spacing:-0.04em; line-height:1.2;}
.prod-slide__body p{font-size:1.8rem; color:var(--body); line-height:1.9;}
.prod-slide__body .btn{margin-top:36px;}
.prod-slider__arrow{position:absolute; z-index:4; top:50%; transform:translateY(-50%); width:52px; height:52px; border-radius:8px; background:#fff; box-shadow:var(--shadow); border:1px solid var(--line); color:var(--point); display:flex; align-items:center; justify-content:center; cursor:pointer; transition:all .2s var(--ease);}
.prod-slider__arrow:hover{background:var(--point); color:#fff; border-color:var(--point);}
.prod-slider__arrow svg{width:24px; height:24px;}
.prod-slider__arrow--prev{left:3%;}
.prod-slider__arrow--next{right:3%;}
.prod-slider__tabs{display:flex; justify-content:center; gap:0; max-width:var(--container-xl); margin:0 auto; background:#fff; border-top:1px solid var(--line);}
.prod-slider__tab{flex:1; max-width:240px; height:64px; border:none; border-top:3px solid transparent; background:none; font-family:inherit; font-size:1.6rem; font-weight:600; color:var(--muted); cursor:pointer; transition:all .15s;}
.prod-slider__tab:hover{color:var(--point);}
.prod-slider__tab.is-active{color:var(--ink); font-weight:800; border-top-color:var(--accent); background:var(--soft);}
@media (max-width:960px){
  .prod-slide{flex-direction:column; gap:30px; min-height:0; text-align:center;}
  .prod-slide__media{flex:0 0 auto; width:320px; max-width:80%;}
  .prod-slide__body h3{font-size:2.8rem;}
  .prod-slider__arrow{width:44px; height:44px;}
  .prod-slider__arrow--prev{left:6px;} .prod-slider__arrow--next{right:6px;}
}

/* 섹션 공용 */
.main-section{padding:100px 0;}
.main-section .sub-inner{padding:0 20px;}
.main-section--soft{background:var(--soft);}
.main-section--dark{color:#fff; background-color:var(--graphite);
  background-image:linear-gradient(rgba(20,23,31,.78),rgba(20,23,31,.84)), url(/resources/images/main/why_bg.jpg);
  background-size:cover; background-position:center; background-repeat:no-repeat;}

/* 메인 인트로 카피 */
.main-intro{text-align:center;}
.main-intro__copy{font-size:2.8rem; font-weight:600; line-height:1.5; color:var(--ink); letter-spacing:-0.035em;}
.main-intro__copy b{color:var(--point); font-weight:800;}

/* 메인 게시판 2단 */
.main-news{margin-top:72px;}
.main-boards{display:grid; grid-template-columns:1fr 1fr; gap:40px;}
.main-board__head{display:flex; justify-content:space-between; align-items:center; border-bottom:2px solid var(--ink); padding-bottom:14px; margin-bottom:6px;}
.main-board__head h3{font-size:2.2rem; font-weight:800; color:var(--ink); letter-spacing:.02em;}
.main-board__head a{font-size:1.5rem; color:var(--muted); text-decoration:none; font-weight:600;}
.main-board__head a:hover{color:var(--point);}
.main-board__list li{display:flex; justify-content:space-between; gap:14px; padding:16px 4px; border-bottom:1px solid var(--line); font-size:1.6rem;}
.main-board__list a{text-decoration:none; color:var(--body); overflow:hidden; text-overflow:ellipsis; white-space:nowrap;}
.main-board__list a:hover{color:var(--point);}
.main-board__list .date{color:var(--faint); font-size:1.5rem; flex-shrink:0;}

/* 메인 CTA / 파트너 밴드 */
.main-cta{position:relative; background:var(--graphite); color:#fff; text-align:center; padding:88px 20px; overflow:hidden;}
.main-cta::before{content:""; position:absolute; left:0; top:0; width:100%; height:5px; background:linear-gradient(90deg,var(--point),var(--accent));}
.main-cta::after{content:""; position:absolute; right:-120px; top:-120px; width:420px; height:420px; border-radius:50%; background:radial-gradient(circle,rgba(219,77,18,.28),transparent 70%);}
.main-cta > *{position:relative; z-index:2;}
.main-cta h2{font-size:3.6rem; font-weight:800; line-height:1.35; letter-spacing:-0.03em;}
.main-cta p{margin-top:16px; font-size:1.8rem; color:rgba(255,255,255,.72);}
.main-cta .btn{margin-top:32px;}

/* ============================================================
   14. 메인 신규 컴포넌트 (gj-*)
   ============================================================ */
.gj-inner{max-width:var(--container-xl); margin:0 auto; padding:0 20px;}
.gj-head{margin-bottom:52px;}
.gj-head--center{text-align:center;}
.gj-head--center .kicker{padding-left:0;}
.gj-head--center .kicker::before{display:none;}
.gj-head__tit{font-size:3.4rem; font-weight:800; color:var(--ink); line-height:1.28; letter-spacing:-0.04em;}
.gj-head--center .gj-head__tit{margin-top:6px;}
.gj-head__tit .accent{color:var(--point);}
.main-section--dark .gj-head__tit{color:#fff;}
.main-section--dark .kicker{color:var(--accent-2);}
.gj-head__desc{margin-top:16px; font-size:1.8rem; line-height:1.8; color:var(--muted); word-break:keep-all;}

/* 스탯 스트립 (성과 지표) */
.gj-stats{display:grid; grid-template-columns:repeat(4,1fr); border:1px solid var(--line); border-radius:var(--radius-lg); overflow:hidden; background:#fff;}
.gj-stats > li{padding:38px 22px; text-align:center; position:relative;}
.gj-stats > li + li{border-left:1px solid var(--line);}
.gj-stats strong{display:block; font-size:4.4rem; font-weight:800; line-height:1; color:var(--ink); letter-spacing:-0.04em; font-family:var(--mono);}
.gj-stats strong span{color:var(--point);}
.gj-stats em{display:block; margin-top:14px; font-style:normal; font-size:1.5rem; line-height:1.5; color:var(--muted);}
.main-section--dark .gj-stats{background:var(--graphite-2); border-color:var(--graphite-3);}
.main-section--dark .gj-stats > li + li{border-left-color:var(--graphite-3);}
.main-section--dark .gj-stats strong{color:#fff;}
.main-section--dark .gj-stats strong span{color:var(--accent-2);}
.main-section--dark .gj-stats em{color:rgba(255,255,255,.55);}
@media (max-width:768px){.gj-stats{grid-template-columns:repeat(2,1fr);} .gj-stats > li:nth-child(3){border-left:0;} .gj-stats > li:nth-child(n+3){border-top:1px solid var(--line);} .main-section--dark .gj-stats > li:nth-child(n+3){border-top-color:var(--graphite-3);}}

/* 강점 카드 (feature 그리드) */
.gj-feats{display:grid; grid-template-columns:repeat(3,1fr); gap:24px;}
.gj-feat{background:#fff; border:1px solid var(--line); border-radius:var(--radius); padding:38px 32px; position:relative; overflow:hidden; transition:transform .24s var(--ease), box-shadow .24s var(--ease), border-color .24s;}
.gj-feat::before{content:""; position:absolute; left:0; top:0; width:4px; height:100%; background:var(--point); transform:scaleY(0); transform-origin:top; transition:transform .3s var(--ease);}
.gj-feat:hover{transform:translateY(-6px); box-shadow:var(--shadow-hover); border-color:var(--point);}
.gj-feat:hover::before{transform:scaleY(1);}
.gj-feat__no{font-family:var(--mono); font-size:1.4rem; font-weight:800; color:var(--accent); letter-spacing:.1em;}
.gj-feat__ico{width:60px; height:60px; margin:16px 0 22px; border-radius:14px; background:var(--soft); border:1px solid var(--line); display:flex; align-items:center; justify-content:center; color:var(--point);}
.gj-feat__ico svg{width:30px; height:30px;}
.gj-feat__ico svg [stroke]{stroke:var(--point);}
.gj-feat__tit{font-size:2.0rem; font-weight:800; color:var(--ink); letter-spacing:-0.02em;}
.gj-feat__desc{margin-top:12px; font-size:1.6rem; line-height:1.75; color:var(--muted); word-break:keep-all;}
/* 다크 섹션(Why Gwangjin)에서는 반투명 글래스 카드 */
.main-section--dark .gj-feat{background:rgba(255,255,255,.07); border-color:rgba(255,255,255,.14); -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px);}
.main-section--dark .gj-feat:hover{background:rgba(255,255,255,.11); border-color:var(--accent-2); box-shadow:0 24px 48px -24px rgba(0,0,0,.6);}
.main-section--dark .gj-feat::before{background:var(--accent-2);}
.main-section--dark .gj-feat__no{color:var(--accent-2);}
.main-section--dark .gj-feat__ico{background:rgba(255,255,255,.08); border-color:rgba(255,255,255,.16);}
.main-section--dark .gj-feat__ico svg [stroke]{stroke:var(--accent-2);}
.main-section--dark .gj-feat__tit{color:#fff;}
.main-section--dark .gj-feat__desc{color:rgba(255,255,255,.68);}
@media (max-width:900px){.gj-feats{grid-template-columns:1fr;}}

/* 제품 네비 카드 (홈 → 제품군) */
.gj-prodnav{display:grid; grid-template-columns:repeat(3,1fr); gap:24px;}
.gj-prodcard{position:relative; display:block; border-radius:var(--radius); overflow:hidden; text-decoration:none; background:var(--graphite); min-height:340px;}
.gj-prodcard img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:.5; transition:transform .5s var(--ease), opacity .3s;}
.gj-prodcard:hover img{transform:scale(1.08); opacity:.42;}
.gj-prodcard__body{position:absolute; inset:0; z-index:2; padding:34px 32px; display:flex; flex-direction:column; justify-content:flex-end; color:#fff; background:linear-gradient(180deg,rgba(18,20,27,.05) 30%,rgba(18,20,27,.82) 100%);}
.gj-prodcard__no{font-family:var(--mono); font-size:1.4rem; font-weight:800; color:var(--accent-2); letter-spacing:.14em;}
.gj-prodcard__tit{margin-top:8px; font-size:2.4rem; font-weight:800; letter-spacing:-0.02em;}
.gj-prodcard__desc{margin-top:10px; font-size:1.55rem; line-height:1.6; color:rgba(255,255,255,.82);}
.gj-prodcard__go{margin-top:18px; display:inline-flex; align-items:center; gap:8px; font-size:1.5rem; font-weight:700; color:#fff;}
.gj-prodcard__go svg{width:18px; height:18px; transition:transform .25s var(--ease);}
.gj-prodcard:hover .gj-prodcard__go svg{transform:translateX(5px);}
@media (max-width:900px){.gj-prodnav{grid-template-columns:1fr;} .gj-prodcard{min-height:280px;}}

@media (max-width:960px){
  .main-section{padding:70px 0;}
  .main-intro__copy{font-size:2.2rem;}
  .gj-head__tit,.main-cta h2{font-size:2.6rem;}
  .main-boards{grid-template-columns:1fr; gap:32px;}
}

/* ===== 15. 페이지 보정 ===================================== */
.greeting-sign{margin-top:36px; font-size:1.8rem; color:var(--muted);}
.greeting-sign b{font-size:2.4rem; color:var(--ink); margin-left:8px; font-weight:800;}
.company-page .sub-section + .sub-section{padding-top:84px;}
.mnt-block{margin-bottom:46px;}
.mnt-block:last-child{margin-bottom:0;}
.mnt-block .sec-title{margin-bottom:16px;}
/* 유지관리 페이지 — 섹션 대제목(체제·필요성·요령·절차·계약)을 메인 타이틀급으로 강화 + 가운데 정렬 */
.maintenance-page .sec-head{margin-bottom:36px; padding-bottom:20px; border-bottom:2px solid var(--ink); text-align:center;}
.maintenance-page .sec-head .sec-title{font-size:3.2rem; padding-left:0; letter-spacing:-0.04em;}
.maintenance-page .sec-head .sec-title::before{position:static; display:block; width:38px; height:5px; margin:0 auto 16px; border-radius:2px;}
.maintenance-page .sec-head .sec-title::after{display:none;}
@media (max-width:600px){
  .maintenance-page .sec-head .sec-title{font-size:2.5rem;}
}

/* 유지관리 절차 플로우차트 */
.flow{max-width:760px; margin:0 auto; display:flex; flex-direction:column; align-items:center;}
.flow__step{display:flex; flex-direction:column; align-items:center; width:100%;}
.flow__row{display:flex; flex-wrap:wrap; justify-content:center; gap:10px;}
.flow__chip{
  display:inline-flex; align-items:center; justify-content:center;
  min-width:132px; text-align:center; padding:14px 22px; border-radius:6px;
  font-size:1.6rem; font-weight:700; color:#fff; background:var(--point);
}
.flow__chip.is-circle{border-radius:14px; width:112px; height:112px; min-width:0;}
.flow__chip.tone-line{background:#fff; color:var(--point); border:2px solid var(--point);}
.flow__chip.tone-accent{background:var(--accent);}
.flow__chip.tone-gray{background:#eef0f3; color:var(--muted);}
.flow__chip.tone-amber{background:var(--accent);}
.flow__arrow{width:2px; height:28px; background:var(--line); margin:8px 0; position:relative;}
.flow__arrow::after{content:""; position:absolute; left:50%; bottom:-2px; width:9px; height:9px; border-right:2px solid var(--faint); border-bottom:2px solid var(--faint); transform:translateX(-50%) rotate(45deg);}
.flow__label{font-size:1.5rem; color:var(--muted); margin-bottom:10px;}

/* ============================================================
   반응형
   ============================================================ */
@media (max-width:960px){
  body{font-size:1.7rem;}
  .sub-section + .sub-section{padding-top:56px;}
  .grid-3,.grid-4{grid-template-columns:repeat(2,1fr);}
  .media-split{grid-template-columns:1fr; gap:28px;}
  .media-split__img::before{display:none;}
  .feature-row{gap:20px;}
  .feature__circle{width:120px; height:120px;}
  .feature__circle svg{width:48px; height:48px;}
  .gallery-grid{grid-template-columns:repeat(3,1fr); gap:20px;}
  .design-grid{grid-template-columns:repeat(2,1fr); gap:16px;}
  .design-grid--4{grid-template-columns:repeat(3,1fr);}
  .map-info{grid-template-columns:repeat(3,1fr); gap:14px;}
  .org__grid{grid-template-columns:repeat(2,1fr);}
  .form-table th{width:130px; padding:14px 12px;}
}
@media (max-width:480px){
  body{font-size:1.6rem;}
  .sub-inner{padding:0 16px;}
  .grid-2,.grid-3,.grid-4{grid-template-columns:1fr;}
  .page-lead,.main-intro__copy{font-size:2.1rem;}
  .sec-title,.media-split__text h3,.prod-head h2,.main-board__head h3{font-size:2.1rem;}
  .t-title{font-size:2.8rem;}
  .timeline::before{left:18px;}
  .era-badge{margin-left:18px; transform:translateX(-50%); width:92px; height:92px; font-size:1.9rem;}
  .tl-item{width:100%; left:0 !important; padding:10px 10px 10px 44px; text-align:left !important;}
  .tl-item.left::before,.tl-item.right::before{left:11px; right:auto;}
  .tl-item.left::after,.tl-item.right::after{left:25px; right:auto; width:18px;}
  .feature-row{grid-template-columns:1fr; gap:26px;}
  .gallery-grid{grid-template-columns:1fr 1fr;}
  .design-grid{grid-template-columns:1fr;}
  .design-grid--4{grid-template-columns:repeat(2,1fr);}
  .map-info{grid-template-columns:1fr;}
  .org__grid{grid-template-columns:1fr;}
  .form-table th,.form-table td{display:block; width:100%; text-align:left;}
  .form-table th{border-bottom:none;}
  .form-table input[type=text],.form-table input[type=email],.form-table select{max-width:100%;}
  .gj-stats{grid-template-columns:1fr;} .gj-stats > li + li{border-left:0; border-top:1px solid var(--line);}
}

/* ============================================================
   16. 인터랙션 — 스크롤 리빌 / 헤더 스크롤 / 진행바
   ============================================================ */
/* 스크롤 진행바 (전 페이지 상단) */
#scroll-progress{position:fixed; top:0; left:0; height:3px; width:0; z-index:300;
  background:linear-gradient(90deg,var(--point),var(--accent)); box-shadow:0 0 8px rgba(219,77,18,.5);
  transition:width .12s linear; pointer-events:none;}

/* 헤더 스크롤 상태 (JS가 .is-scrolled 토글) */
#site-header{transition:box-shadow .3s var(--ease), background .3s var(--ease);}
#site-header.is-scrolled{box-shadow:0 8px 30px rgba(0,0,0,.4), inset 0 -1px 0 rgba(255,122,26,.35);}

/* 스크롤 리빌 (JS가 .reveal 부여 → 뷰포트 진입 시 .in-view) */
.reveal{opacity:0; transform:translateY(30px); transition:opacity .7s var(--ease), transform .7s var(--ease); will-change:opacity,transform;}
.reveal.in-view{opacity:1; transform:none;}
.reveal--left{transform:translateX(-38px);}
.reveal--right{transform:translateX(38px);}
.reveal--zoom{transform:scale(.93);}
.reveal--left.in-view,.reveal--right.in-view,.reveal--zoom.in-view{transform:none;}

@media (prefers-reduced-motion: reduce){
  .reveal,.reveal--left,.reveal--right,.reveal--zoom{opacity:1 !important; transform:none !important; transition:none !important;}
  #scroll-progress{display:none;}
  .main-hero__slide{transition:opacity .3s !important; transform:none !important;}
}

/* ===== 제품 상세: 핸드레일 스택 / 도면 2단 ===== */
.hr-grid{grid-template-columns:repeat(2,1fr); gap:30px 48px; max-width:100%; margin:0 auto 44px; align-items:center;}
.hr-grid figure{background:none; border:0; padding:0;}
.hr-grid img{border:0; border-radius:0; box-shadow:none;}
.hr-grid .code{margin-top:16px;}
@media (max-width:600px){ .hr-grid{grid-template-columns:1fr; gap:24px;} }
.diagram-grid figure{background:#fff;}
.diagram-grid figcaption{margin-top:14px; font-weight:700; color:var(--ink);}

/* ===== 제품 상세: 라벨+이미지 2단 페어 (PC 한 줄) ===== */
.pair-2{display:grid; grid-template-columns:1fr 1fr; gap:24px 40px; margin:0 0 44px; align-items:start;}
.pair-2 > div{min-width:0;}
.pair-2 .subgroup-label{margin-top:0;}
.pair-2 .prod-figure{margin:0;}
@media (max-width:768px){ .pair-2{grid-template-columns:1fr; gap:8px;} }

/* ===== 수직반송기: 설치 분류 타입 카드 ===== */
.vt-types{display:grid; grid-template-columns:1fr 1fr; gap:24px; margin-bottom:18px;}
.vt-type{display:flex; gap:18px; align-items:flex-start; background:var(--soft); border:1px solid var(--line); border-radius:var(--radius); padding:26px 28px;}
.vt-type__badge{flex-shrink:0; width:58px; height:58px; border-radius:50%; background:var(--graphite); color:#fff; display:flex; align-items:center; justify-content:center; font-size:1.7rem; font-weight:800;}
.vt-type:nth-child(2) .vt-type__badge{background:var(--point);}
.vt-type p{font-size:1.6rem; line-height:1.75; color:var(--body);}
@media (max-width:768px){ .vt-types{grid-template-columns:1fr; gap:16px;} }

/* ===== 라벨+이미지 3단 페어 (PC 한 줄) ===== */
.pair-3{display:grid; grid-template-columns:repeat(3,1fr); gap:24px 30px; margin:0 0 44px; align-items:start;}
.pair-3 > div{min-width:0;}
.pair-3 .subgroup-label{margin-top:0; font-size:1.6rem;}
.pair-3 .prod-figure{margin:0;}
@media (max-width:900px){ .pair-3{grid-template-columns:1fr;} }

/* ===== 제품 탭 상단 현재 타이틀 (탭메뉴 위) ===== */
.prod-current-title{text-align:center; font-size:3.2rem; font-weight:800; color:var(--ink); letter-spacing:-0.04em; line-height:1.25; margin:8px 0 36px; padding-bottom:20px; border-bottom:2px solid var(--ink);}
.prod-current-title::before{content:""; display:block; width:38px; height:5px; margin:0 auto 16px; border-radius:2px; background:var(--accent);}
@media (max-width:480px){ .prod-current-title{font-size:2.5rem; margin:4px 0 26px; padding-bottom:14px;} .prod-head h2{font-size:2.5rem;} }

/* ===== 회사소개: 핵심가치 패널 + 피처 설명 ===== */
.value-panel{background:var(--soft); border:1px solid var(--line); border-radius:var(--radius-lg); padding:56px 44px;}
.value-panel .feature-row{gap:24px;}
.feature__desc{margin-top:12px; font-size:1.5rem; line-height:1.7; color:var(--muted); max-width:280px; word-break:keep-all;}
@media (max-width:480px){ .value-panel{padding:36px 22px;} .feature__desc{max-width:100%;} }

/* ===== 게시판 상세 (board-view.php) ===== */
.board-view{border-top:2px solid var(--ink);}
.board-view__head{padding:26px 8px; border-bottom:1px solid var(--line);}
.board-view__title{font-size:2.4rem; font-weight:800; color:var(--ink); letter-spacing:-0.03em; line-height:1.4;}
.board-view__meta{margin-top:12px; display:flex; gap:18px; font-size:1.4rem; color:var(--muted);}
.board-view__attach{padding:16px 8px; border-bottom:1px solid var(--line);}
.board-view__attach a{display:inline-flex; align-items:center; gap:8px; padding:10px 18px; background:var(--soft); border:1px solid var(--line); border-radius:6px; font-size:1.4rem; font-weight:600; color:var(--point);}
.board-view__attach a:hover{border-color:var(--point);}
.board-view__content{padding:36px 8px; font-size:1.7rem; line-height:1.9; color:var(--body); min-height:200px; word-break:break-word;}
.board-view__content img{max-width:100%; height:auto; margin:10px 0;}
.board-view__content a{color:var(--point); text-decoration:underline;}

/* ===== 메인 협력업체 밴드 (원본 under_visual 로고 이미지) ===== */
.main-partner{position:relative; overflow:hidden; min-height:640px;
  background:url('/resources/images/main/partners_visual.jpg') no-repeat center / cover; color:#fff;}
.main-partner::before{content:""; position:absolute; inset:0;
  background:linear-gradient(90deg, rgba(10,13,20,.78) 0%, rgba(10,13,20,.45) 34%, rgba(10,13,20,0) 55%);}
.main-partner__inner{position:relative; z-index:1; max-width:var(--container-xl); margin:0 auto; padding:0 20px;
  min-height:640px; display:flex; align-items:center;}
.main-partner__text{max-width:420px;}
.main-partner__text .kicker{color:var(--accent-2);}
.main-partner__text h2{font-size:3.4rem; font-weight:800; line-height:1.35; letter-spacing:-0.04em; margin-bottom:20px;}
.main-partner__text p{font-size:1.7rem; line-height:1.8; color:rgba(255,255,255,.82); margin-bottom:34px;}
@media (max-width:960px){
  .main-partner{min-height:520px; background-position:72% center;}
  .main-partner__inner{min-height:520px;}
  .main-partner::before{background:rgba(10,13,20,.62);}
  .main-partner__text h2{font-size:2.6rem;}
}
