/* =====================================================================
   home.css — 메인 페이지(index) — 히어로 슬라이드쇼 · 회사 소개 카드 · 제품 소개 카드 · 뉴스 · 자료실
   ---------------------------------------------------------------------
   ● base.css의 전역 변수(:root)에 의존합니다. base.css를 먼저 불러온 뒤 이 파일을 불러오세요.
   ● 로드 순서: base → layout → home → company → products → modal → login → responsive
   ===================================================================== */

/* ══════════ 메인 히어로 — 배경 슬라이드쇼 + 문구 + 진행바/버튼 + 스크롤 큐 ══════════ */
.hero{min-height:calc(100vh - 69px);display:flex;align-items:center;color:#EAF0F4;border-top:0;position:relative;overflow:hidden;background:var(--ink)}
.hero-static{position:absolute;inset:0;background-size:cover;background-position:center right;opacity:1}
.hero-slides{position:absolute;inset:0;z-index:0}
.hero-slide{position:absolute;inset:0;background-size:cover;background-position:center right;background-repeat:no-repeat;opacity:0;transition:opacity 1s ease}
.hero-slide.on{opacity:1}
.hero-overlay{position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(8,15,23,.94) 0%,rgba(8,15,23,.62) 40%,rgba(8,15,23,.15) 75%,rgba(8,15,23,.05) 100%)}
.hero .inner{position:relative;z-index:2;width:100%}
.hero-copy{display:grid}
.slide-text{grid-area:1/1;opacity:0;transform:translateY(10px);transition:opacity .6s ease,transform .6s ease;pointer-events:none}
.slide-text.on{opacity:1;transform:none;pointer-events:auto}
.hero-kicker{font-family:var(--font-mono);font-weight:600;font-size:clamp(30px,5vw,52px);letter-spacing:.05em;color:var(--signal);line-height:1;text-shadow:0 2px 20px rgba(0,0,0,.4)}
.hero h1{font-size:clamp(30px,5.6vw,62px);font-weight:800;letter-spacing:-.03em;line-height:1.1;max-width:16ch;margin:20px 0 0;text-shadow:0 2px 24px rgba(0,0,0,.45)}
.hero-cta{display:inline-flex;align-items:center;gap:9px;margin-top:28px;background:var(--signal);color:#20160A;font-weight:700;font-size:15px;padding:13px 24px;border-radius:9px;transition:filter .2s,transform .2s}
.hero-cta::after{content:"→";transition:transform .2s}
.hero-cta:hover{filter:brightness(1.06)}
.hero-cta:hover::after{transform:translateX(4px)}
.hero-controls{display:flex;align-items:center;gap:18px;margin-top:44px;max-width:300px}
.hero-index{font-family:var(--font-mono);font-size:13px;color:#9FB2C0;letter-spacing:.12em;white-space:nowrap}
.hero-index b{color:#fff;font-weight:600}
.hero-progress{position:relative;flex:1;height:3px;background:rgba(255,255,255,.18);border-radius:2px;overflow:hidden}
.hero-progress span{position:absolute;left:0;top:0;bottom:0;width:0;background:var(--signal);border-radius:2px}
.hero-btns{display:flex;align-items:center;gap:6px;flex:none}
.hero.paused .hbtn[data-act="toggle"] .ic-pause{display:none}
.hero.paused .hbtn[data-act="toggle"] .ic-play{display:block}
.scroll-cue{position:absolute;left:50%;bottom:26px;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:9px;color:#9FB2C0;font-family:var(--font-mono);font-size:10px;letter-spacing:.22em}
.scroll-cue:hover{color:#EAF0F4}
.scroll-cue .mouse{width:22px;height:34px;border:2px solid #5E7386;border-radius:12px;position:relative}
.scroll-cue .mouse::after{content:"";position:absolute;left:50%;top:6px;width:3px;height:6px;background:var(--signal);border-radius:2px;transform:translateX(-50%);animation:scrolldot 1.5s infinite}
@keyframes scrolldot{0%{opacity:0;transform:translate(-50%,0)}30%{opacity:1}100%{opacity:0;transform:translate(-50%,11px)}}
.readout{display:flex;gap:34px;margin-top:64px;flex-wrap:wrap;font-family:var(--font-mono)}
.readout .cell{border-left:1px solid var(--line-dk);padding-left:16px}
.readout .k{font-size:12px;color:#7C93A4;letter-spacing:.12em;text-transform:uppercase}
.readout .v{font-size:30px;font-weight:600;color:#fff;margin-top:6px}
.readout .v small{font-size:14px;color:var(--signal);font-weight:500}
/* ══════════ 메인 — 회사 소개 카드 3종 ══════════ */
.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:8px}
.card{background:var(--paper-2);border:1px solid var(--line);border-radius:14px;padding:28px;transition:transform .2s,box-shadow .2s}
.card:hover{transform:translateY(-3px);box-shadow:0 14px 34px rgba(11,22,32,.07)}
.card .num{font-family:var(--font-mono);font-size:12px;color:var(--signal);letter-spacing:.1em}
.card h3{font-size:19px;margin:14px 0 8px;font-weight:700}
.card p{color:var(--slate);font-size:15px}
.detail-btn{display:inline-flex;align-items:center;gap:9px;margin-top:32px;border:1px solid var(--ink);color:var(--ink);font-weight:600;font-size:15px;padding:13px 24px;border-radius:9px;transition:background .2s,color .2s}
.detail-btn::after{content:"→";transition:transform .2s}
.detail-btn:hover{background:var(--ink);color:#fff}
.detail-btn:hover::after{transform:translateX(4px)}
/* ══════════ 메인 — 제품 소개 카드 (이미지 위치·크기 조정은 .prod .shot 안의 --shot-* 변수) ══════════ */
.prod-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.prod{background:var(--paper-2);border:1px solid var(--line);border-radius:16px;overflow:hidden;display:flex;flex-direction:column}
.prod .shot{aspect-ratio:16/10;background:linear-gradient(135deg,#14304D,#1B4570);position:relative;display:flex;align-items:center;justify-content:center;
  /* ▼ 이미지 조정용 파라미터 (값만 바꾸면 됩니다) */
  --shot-fit:contain;        /* contain=여백유지 전체표시 / cover=꽉채움(잘림) */
  --shot-pad:0px;            /* 이미지 안쪽 여백 */
  --shot-x:50%;              /* 가로 위치 (0%=왼쪽, 50%=가운데, 100%=오른쪽) */
  --shot-y:50%;              /* 세로 위치 (0%=위, 50%=가운데, 100%=아래) */
  --shot-scale:1;            /* 확대/축소 배율 (1=기본, 1.2=20%확대) */
}
.prod .shot.has-img{background:#F4F6F8}
.prod .shot img{width:100%;height:100%;padding:var(--shot-pad);object-fit:var(--shot-fit);object-position:var(--shot-x) var(--shot-y);transform:scale(var(--shot-scale))}
.prod .shot .tag{position:absolute;top:16px;left:16px;font-family:var(--font-mono);font-size:11px;background:rgba(255,255,255,.12);color:#fff;padding:5px 10px;border-radius:6px;letter-spacing:.08em}
.prod .shot.has-img .tag{color:var(--steel-2);background:rgba(11,22,32,.06);font-weight:600}
.prod .shot .glyph{width:80px;height:80px;border:2px solid rgba(255,255,255,.4);border-radius:14px;position:relative}
.prod .shot .glyph::after{content:"";position:absolute;inset:14px;border:2px solid var(--signal);border-radius:6px;opacity:.9}
.prod .body{padding:26px 26px 30px;display:flex;flex-direction:column;flex:1}
.prod h3{font-size:23px;font-weight:700;letter-spacing:-.01em}
.prod .sub{color:var(--slate);font-size:15px;margin:8px 0 18px;flex:1}
.spec{display:flex;justify-content:space-between;padding:10px 0;border-top:1px dashed var(--line);font-size:14px}
.spec .sk{font-family:var(--font-mono);color:var(--slate);font-size:12px;letter-spacing:.06em}
.spec .sv{font-weight:600}
.prod .more{margin-top:20px;font-weight:600;font-size:14px;color:var(--steel-2);display:inline-flex;align-items:center;gap:7px}
.prod .more::after{content:"→";transition:transform .2s}
.prod:hover .more::after{transform:translateX(4px)}
/* ══════════ 메인 — 뉴스 목록 ══════════ */
.news-list{border-top:1px solid var(--line)}
.news-row{display:grid;grid-template-columns:130px 1fr auto;gap:24px;align-items:center;padding:24px 6px;border-bottom:1px solid var(--line);transition:background .18s}
.news-row:hover{background:var(--paper-2)}
.news-row .cat{font-family:var(--font-mono);font-size:11px;letter-spacing:.08em;color:var(--steel-2);border:1px solid var(--line);border-radius:20px;padding:5px 12px;justify-self:start}
.news-row h3{font-size:18px;font-weight:600}
.news-row .date{font-family:var(--font-mono);font-size:13px;color:var(--slate)}
/* ══════════ 메인 — 자료실(다운로드) 표 ══════════ */
.dl-table{background:var(--paper-2);border:1px solid var(--line);border-radius:14px;overflow:hidden}
.dl-row{display:grid;grid-template-columns:1fr 88px 92px 130px;gap:20px;align-items:center;padding:18px 24px;border-bottom:1px solid var(--line)}
.dl-row:last-child{border-bottom:0}
.dl-row.head{background:#EEF1F3;font-family:var(--font-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--slate)}
.dl-row .fname{font-weight:600;font-size:15px;display:flex;align-items:center;gap:12px}
.dl-row .fname .ft{font-family:var(--font-mono);font-size:10px;background:var(--steel);color:#fff;padding:4px 7px;border-radius:5px;letter-spacing:.05em}
.dl-row .meta{font-family:var(--font-mono);font-size:13px;color:var(--slate)}
.dl-btn{justify-self:end;background:var(--ink);color:#fff;font-size:13px;font-weight:600;padding:9px 16px;border-radius:8px;display:inline-flex;align-items:center;gap:8px;cursor:pointer;border:0;font-family:inherit}
.dl-btn:hover{background:var(--steel-2)}
.dl-btn::before{content:"↓";font-weight:700}
/* ══════════ 제품 페이지 (좌측 카테고리 + 우측 그리드) ══════════ */
.product-layout{display:grid;grid-template-columns:236px 1fr;gap:40px;align-items:start}
/* data-ko / data-zh 문자열 안의 \n 을 실제 줄바꿈으로 표시 */
/* 문자열 안의 \n 을 실제 줄바꿈으로 표시할 요소들 */
.slide-text h1, #modal-title, .feat p, .contact-box p{white-space:pre-line}

/* 메인 자료실(#downloads) — 최신 게시물 + 이동 버튼 (downloads-data.js 연동) */
#home-dl .dl-row,
#home-dl .dl-row.head{grid-template-columns:1fr 120px 96px}
.dl-btn.go::before{content:"→"}
