/* ===================== 은성전기 스팀다리미 — 공통 스타일 ===================== */
:root{
  --paper:#ffffff; --paper-2:#f1f4f7; --white:#ffffff;
  --ink:#141a20; --ink-2:#59616b; --ink-3:#97a0aa;
  --line:#e5e8ec; --line-dk:#ccd2d9;
  --accent:#0596cc; --accent-lt:#79c7ea; --dark:#0e151b;
  --serif:'Cormorant Garamond','Pretendard',-apple-system,'Apple SD Gothic Neo','Malgun Gothic',serif;
  --sans:'Pretendard','Pretendard Variable',-apple-system,BlinkMacSystemFont,'Apple SD Gothic Neo','Malgun Gothic','Segoe UI',sans-serif;
  --container:1280px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:80px;-webkit-text-size-adjust:100%}
body{font-family:var(--sans);color:var(--ink);background:var(--paper);line-height:1.65;font-size:18px;letter-spacing:-.005em;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
.notice-bar{background:var(--accent);color:#fff;text-align:center;font-size:14px;font-weight:500;letter-spacing:-.01em;padding:9px 16px}
.notice-bar:empty{display:none}
a{color:inherit;text-decoration:none}
button{font-family:inherit;cursor:pointer}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px}

.container{max-width:var(--container);margin:0 auto;padding:0 clamp(20px,4vw,44px)}
.section{padding:clamp(72px,10vw,150px) 0}

.kicker{display:flex;align-items:center;gap:14px;margin-bottom:22px;font-size:13.5px;font-weight:600;letter-spacing:.24em;text-transform:uppercase;color:var(--accent)}
.kicker .idx{font-family:var(--serif);font-size:21.5px;font-style:italic;letter-spacing:0;color:var(--ink-3)}
.kicker::after{content:"";flex:1;height:1px;background:var(--line);max-width:60px}
.kicker.center{justify-content:center}
.kicker.center::after{display:none}

h2.title{font-weight:600;letter-spacing:-.03em;line-height:1.16;font-size:clamp(31.5px,4.7vw,56px)}
.lead{color:var(--ink-2);font-size:clamp(17px,1.7vw,20px);line-height:1.7;font-weight:400}
@media(min-width:960px){.lead--oneline{white-space:nowrap}}
.section-head{max-width:720px;margin-bottom:clamp(40px,5vw,64px)}
.section-head.center{margin-left:auto;margin-right:auto;text-align:center}
.section-head .lead{margin-top:16px}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;height:56px;padding:0 32px;font-weight:600;font-size:17px;border:1px solid transparent;transition:.35s cubic-bezier(.2,.7,.3,1);white-space:nowrap}
.btn svg{width:17px;height:17px;transition:transform .35s}
.btn--solid{background:var(--ink);color:#fff}
.btn--solid:hover{background:var(--accent)}
.btn--solid:hover svg{transform:translateX(4px)}
.btn--line{background:transparent;color:var(--ink);border-color:var(--line-dk)}
.btn--line:hover{border-color:var(--ink)}
.btn--sm{height:46px;padding:0 22px;font-size:15.5px}
.btn[disabled]{opacity:.45;cursor:not-allowed;pointer-events:none}
.link{display:inline-flex;align-items:center;gap:9px;font-weight:600;font-size:17px;color:var(--ink);position:relative;padding-bottom:4px}
.link::after{content:"";position:absolute;left:0;bottom:0;width:100%;height:1px;background:currentColor;transform-origin:right;transition:transform .4s}
.link:hover::after{transform:scaleX(0)}
.link svg{width:16px;height:16px;transition:transform .35s}
.link:hover svg{transform:translateX(4px)}

/* Photo placeholder */
.ph{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;text-align:center;padding:28px;overflow:hidden;background:#e8edf2}
.ph::before{content:"";position:absolute;inset:16px;border:1px solid var(--line-dk);pointer-events:none}
.ph::after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,.4),transparent 62%);pointer-events:none}
.ph>*{position:relative;z-index:1}
.ph-ico{width:44px;height:44px;color:var(--ink-3);stroke-width:1}
.ph-title{font-family:var(--serif);font-style:italic;font-size:22.5px;color:var(--ink-2)}
.ph-meta{font-size:14px;color:var(--ink-3);max-width:32ch}
.ph-path{font-family:'SFMono-Regular',Consolas,monospace;font-size:12px;letter-spacing:.02em;color:#8a929c;background:rgba(255,255,255,.65);padding:4px 10px;border:1px solid var(--line);margin-top:2px}
.ph--wide{aspect-ratio:16/9}
.ph--square{aspect-ratio:1/1}
.ph--portrait{aspect-ratio:3/4}
.ph--tall{aspect-ratio:4/5}
.ph--fill{width:100%;height:100%}

/* Header */
.header{position:fixed;top:0;left:0;right:0;z-index:100;transition:.4s ease;background:transparent}
.header.scrolled{background:rgba(255,255,255,.86);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;justify-content:space-between;height:84px;max-width:var(--container);margin:0 auto;padding:0 clamp(20px,4vw,44px)}
.header.scrolled .nav{height:68px}
.brand{display:flex;align-items:baseline;gap:11px;font-weight:600;font-size:22.5px;letter-spacing:.02em;transition:color .4s}
.brand .en{font-weight:600;font-size:15px;color:var(--accent);letter-spacing:.04em;transition:color .4s}
.nav-menu{display:flex;align-items:center;gap:2px;list-style:none}
.nav-menu a{display:block;padding:10px 15px;font-size:16px;font-weight:500;color:var(--ink-2);transition:.25s;position:relative}
.nav-menu a:hover{color:var(--ink)}
.nav-menu a.active{color:var(--ink)}
.nav-menu a.active::after{content:"";position:absolute;left:15px;right:15px;bottom:2px;height:1px;background:var(--accent)}
.nav-actions{display:flex;align-items:center;gap:14px}
.nav-toggle{display:none;width:46px;height:46px;border:none;background:transparent}
.nav-toggle span{display:block;width:24px;height:1.5px;background:var(--ink);margin:6px auto;transition:.3s}
.nav-toggle.open span:nth-child(1){transform:translateY(7.5px) rotate(45deg)}
.nav-toggle.open span:nth-child(2){opacity:0}
.nav-toggle.open span:nth-child(3){transform:translateY(-7.5px) rotate(-45deg)}
/* 홈(is-home): 헤더를 불투명 흰색 바로 고정 → 히어로 이미지와 분리 */
.is-home .header{background:rgba(255,255,255,.92);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.hdr-solid .header{background:rgba(255,255,255,.94);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}

/* Page hero (서브페이지 상단) */
.page-hero{padding:calc(84px + clamp(48px,8vw,96px)) 0 clamp(44px,6vw,80px);border-bottom:1px solid var(--line);background:var(--paper-2)}
/* 배경 이미지형 page-hero (어두운 사진 + 흰 글자) */
.page-hero--bg{position:relative;border-bottom:none}
.page-hero--bg::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(14,21,27,.72),rgba(14,21,27,.32))}
.page-hero--bg .container{position:relative;z-index:1}
.page-hero--bg .breadcrumb,.page-hero--bg .breadcrumb a{color:rgba(255,255,255,.78)}
.page-hero--bg .breadcrumb .sep{color:rgba(255,255,255,.4)}
.page-hero--bg h1{color:#fff}
.page-hero--bg .lead{color:rgba(255,255,255,.9)}
.page-hero--bg .kicker::after{background:rgba(255,255,255,.35)}
/* 배경 이미지형 page-hero — 밝은 사진 (배경이 꽉 차도록 cover + 살짝 어둡게, 글자 가독성 유지)
   이 스타일은 제품 라인업 페이지 전용 → 배경 URL을 여기에 직접 지정(상대경로는 style.css 기준) */
.page-hero--photo{position:relative;background:#dbe2ea;overflow:hidden}
.page-hero--photo::before{content:"";position:absolute;inset:0;background:url('../public/images/lineup/hero-bg.jpg?v=1') center/cover no-repeat;filter:brightness(.9) saturate(1.04)}
.page-hero--photo::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(233,239,245,.66) 0%,rgba(233,239,245,.28) 42%,rgba(233,239,245,0) 68%)}
.page-hero--photo .container{position:relative;z-index:1}
.page-hero .en{font-family:var(--serif);font-style:italic;font-weight:500;font-size:clamp(22.5px,2.7vw,31.5px);color:var(--accent);margin-bottom:8px}
.page-hero h1{font-weight:600;font-size:clamp(33.5px,5.2vw,60.5px);letter-spacing:-.03em;line-height:1.1}
.page-hero .lead{margin-top:16px;max-width:52ch}
.breadcrumb{font-size:14px;color:var(--ink-3);margin-bottom:20px;letter-spacing:.02em}
.breadcrumb a:hover{color:var(--ink)}
.breadcrumb .sep{margin:0 9px;color:var(--line-dk)}

/* HERO — 롤링 배너 캐러셀 */
.hero{position:relative;width:100%;aspect-ratio:5/3;overflow:hidden;background:var(--paper-2)}
/* 고정 헤더(84px)만큼 배너를 아래로 내려 겹침 방지 */
.is-home #hero{margin-top:84px}
.hero-carousel{position:absolute;inset:0;overflow:hidden}
.hero-track{display:flex;height:100%;transition:transform .7s cubic-bezier(.4,0,.2,1);will-change:transform}
.slide{position:relative;flex:0 0 100%;height:100%;background:var(--paper-2)}
.slide::after{content:attr(data-label);position:absolute;inset:0;z-index:0;display:flex;align-items:center;justify-content:center;text-align:center;padding:24px;font-family:var(--serif);font-style:italic;font-size:clamp(17px,2.2vw,24.5px);color:var(--ink-3)}
.slide img{position:relative;z-index:1;width:100%;height:100%;object-fit:cover;object-position:center}
.hero-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:4;width:52px;height:52px;border:none;border-radius:50%;background:rgba(255,255,255,.72);color:var(--ink);font-size:29px;line-height:1;cursor:pointer;transition:.25s;backdrop-filter:blur(4px);display:grid;place-items:center}
.hero-arrow:hover{background:#fff}
.hero-arrow.prev{left:24px}
.hero-arrow.next{right:24px}
.hero-dots{position:absolute;bottom:24px;left:50%;transform:translateX(-50%);z-index:4;display:flex;gap:9px}
.hero-dots button{width:9px;height:9px;padding:0;border:none;border-radius:50%;background:rgba(20,26,32,.28);cursor:pointer;transition:.3s}
.hero-dots button:hover{background:rgba(20,26,32,.5)}
.hero-dots button.active{width:26px;border-radius:5px;background:var(--accent)}
@media (max-width:768px){
  .hero{max-height:none}
  .hero-arrow{width:40px;height:40px;font-size:22.5px}
  .hero-arrow.prev{left:10px}.hero-arrow.next{right:10px}
}
.hero-bg{position:absolute;inset:0}
.hero-bg::after{content:"";position:absolute;inset:0;z-index:2;background:linear-gradient(to top,rgba(9,15,22,.78) 0%,rgba(9,15,22,.32) 40%,rgba(9,15,22,.06) 72%)}
.hero-inner{position:relative;z-index:3;width:100%;padding-bottom:clamp(48px,7vw,96px);color:#fff}
.hero-en{font-family:var(--serif);font-style:italic;font-weight:500;font-size:clamp(23.5px,2.7vw,33.5px);color:#c3e6f7;margin-bottom:12px}
.hero h1{color:#fff;font-weight:600;font-size:clamp(40.5px,6.7vw,80.5px);letter-spacing:-.04em;line-height:1.05;margin-bottom:18px;text-shadow:0 2px 40px rgba(0,0,0,.3)}
.hero-sub{color:rgba(255,255,255,.9);font-size:clamp(17px,1.8vw,20px);max-width:38ch;margin-bottom:34px}
.hero-cta{display:flex;gap:16px;align-items:center;flex-wrap:wrap}
.hero .btn--solid{background:#fff;color:var(--ink)}
.hero .btn--solid:hover{background:var(--accent);color:#fff}
.hero .link{color:#fff}
.scroll-cue{position:absolute;right:clamp(20px,4vw,44px);bottom:clamp(40px,6vw,70px);z-index:3;color:rgba(255,255,255,.7);font-size:12.5px;letter-spacing:.2em;text-transform:uppercase;writing-mode:vertical-rl;display:flex;align-items:center;gap:12px}
.scroll-cue::after{content:"";width:1px;height:46px;background:rgba(255,255,255,.5)}

/* 핵심 특징 */
.feat-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.feat-card{padding:40px 28px;border-right:1px solid var(--line);transition:.4s}
.feat-card:last-child{border-right:none}
.feat-card:hover{background:var(--paper-2)}
.feat-ico{width:30px;height:30px;color:var(--accent);stroke-width:1.3;margin-bottom:20px}
.feat-card h3{font-size:22.5px;font-weight:600;letter-spacing:-.01em}
.feat-card span{display:block;font-size:15px;color:var(--ink-3);margin-top:8px}

/* Split */
.split{display:grid;gap:clamp(32px,5vw,72px);align-items:center}
.split.img-left{grid-template-columns:1.12fr .88fr}
.split.img-right{grid-template-columns:.88fr 1.12fr}
.split .media .ph{min-height:clamp(360px,52vw,620px)}
.split .media img{width:100%;aspect-ratio:1/1;object-fit:cover;display:block;background:#e8edf2}
.split .media img.is-wide{aspect-ratio:16/9}
.split .media img.is-portrait{width:auto;max-width:100%;max-height:660px;aspect-ratio:auto;object-fit:contain;margin:0 auto;background:#fff;border:1px solid var(--line)}
/* 인증서 롤링 캐러셀 */
.cert-carousel{position:relative;width:100%;max-width:480px;aspect-ratio:5/7;max-height:660px;margin:0 auto}
.media .cert-slide{position:absolute;inset:0;width:100%;height:100%;min-height:0;object-fit:contain;background:#fff;border:1px solid var(--line);opacity:0;transition:opacity .7s ease}
.media .cert-slide.is-active{opacity:1}
.cert-dots{position:absolute;bottom:12px;left:50%;transform:translateX(-50%);z-index:2;display:flex;gap:8px}
.cert-dots button{width:8px;height:8px;padding:0;border:none;border-radius:50%;background:rgba(20,26,32,.28);cursor:pointer;transition:.3s}
.cert-dots button.active{width:22px;border-radius:4px;background:var(--accent)}
/* A/S 신청 방법 선택 모달 */
.as-modal[hidden]{display:none}
.as-modal{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;padding:20px}
.as-modal__backdrop{position:absolute;inset:0;background:rgba(14,21,27,.55);backdrop-filter:blur(2px)}
.as-modal__box{position:relative;z-index:1;background:#fff;border-radius:16px;padding:30px 26px 26px;width:100%;max-width:420px;box-shadow:0 24px 60px rgba(0,0,0,.3);text-align:center;animation:asPop .25s ease}
@keyframes asPop{from{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:none}}
.as-modal__x{position:absolute;top:12px;right:14px;border:none;background:none;font-size:26px;line-height:1;color:var(--ink-3);cursor:pointer;width:34px;height:34px}
.as-modal__x:hover{color:var(--ink)}
.as-modal__box h3{font-size:20px;font-weight:700;margin-bottom:6px;color:var(--ink)}
.as-modal__box>p{font-size:14px;color:var(--ink-2);margin-bottom:22px}
.as-modal__opts{display:flex;flex-direction:column;gap:12px}
.as-opt{display:flex;align-items:center;gap:14px;padding:16px;border:1px solid var(--line-dk);border-radius:12px;text-align:left;transition:.2s;color:var(--ink)}
.as-opt:hover{border-color:var(--accent);background:var(--paper-2)}
.as-opt>svg:first-child{width:26px;height:26px;flex:none;color:var(--accent)}
.as-opt span{display:flex;flex-direction:column;flex:1;min-width:0}
.as-opt b{font-size:15.5px;font-weight:600}
.as-opt em{font-style:normal;font-size:12.5px;color:var(--ink-3);margin-top:2px}
.as-opt .arr{width:18px;height:18px;flex:none;color:var(--ink-3)}
.as-opt--kakao{border-color:#f2e27a;background:#fffdf0}
.as-opt--kakao:hover{border-color:#f7e600;background:#fff9d6}
.as-opt--kakao>svg:first-child{color:#3c1e1e}

/* Tech */
.tech-item{display:grid;grid-template-columns:1fr 1fr;min-height:min(90vh,760px)}
.tech-item .tech-media{position:relative;overflow:hidden}
.tech-item:nth-child(even) .tech-media{order:-1}
.tech-item .tech-media .ph{height:100%}
.tech-item .tech-media img{width:100%;height:100%;object-fit:cover;display:block}
.tech-text{display:flex;flex-direction:column;justify-content:center;padding:clamp(48px,7vw,110px) clamp(28px,6vw,96px)}
.tech-num{font-family:var(--serif);font-size:clamp(58px,9vw,116.5px);line-height:1;color:var(--line-dk);font-weight:500;margin-bottom:22px}
.tech-en{font-size:13.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--accent);font-weight:600;margin-bottom:16px}
.tech-item h3{font-weight:600;font-size:clamp(29px,3.6vw,42.5px);letter-spacing:-.02em;margin-bottom:16px;line-height:1.22}
.tech-item p{color:var(--ink-2);font-size:18.5px;max-width:38ch}
.tech-item:nth-child(even) .tech-text{background:var(--paper-2)}

/* 사용 장면 */
.scene-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(16px,1.6vw,24px)}
.scene-card .media{overflow:hidden}
.scene-card .media .ph{min-height:clamp(340px,40vw,520px);transition:transform .9s cubic-bezier(.2,.7,.3,1)}
.scene-card .media img{width:100%;height:100%;min-height:clamp(340px,40vw,520px);object-fit:cover;display:block;transition:transform .9s cubic-bezier(.2,.7,.3,1)}
.scene-card:hover .media .ph,.scene-card:hover .media img{transform:scale(1.05)}
.scene-card .cap{padding:20px 2px 0}
.scene-card .cap .en{font-family:var(--serif);font-style:italic;font-size:17px;color:var(--accent);display:block;margin-bottom:6px}
.scene-card h3{font-size:22.5px;font-weight:600}

/* 제품 사양 */
.spec-wrap{max-width:920px}
.spec-table{width:100%;border-collapse:collapse}
.spec-table th,.spec-table td{text-align:left;padding:18px 6px;border-bottom:1px solid var(--line);font-size:17.5px;vertical-align:top}
.spec-table th{width:32%;font-weight:600}
.spec-table td{color:var(--ink-2)}
.tbd{display:inline-block;font-size:12.5px;font-weight:600;letter-spacing:.06em;color:var(--accent);border:1px solid var(--line-dk);padding:2px 10px;border-radius:100px}
.spec-cards{display:none}

/* 모델 비교표 */
.cmp-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--line)}
.cmp{width:100%;border-collapse:collapse;min-width:680px}
.cmp th,.cmp td{padding:16px 20px;border-bottom:1px solid var(--line);border-right:1px solid var(--line);text-align:left;font-size:17px;vertical-align:middle}
.cmp tr td:last-child,.cmp tr th:last-child{border-right:none}
.cmp thead th{background:var(--paper-2);font-weight:600;border-bottom:1px solid var(--line-dk);white-space:nowrap}
.cmp thead th .model{font-size:21.5px;font-weight:700;color:var(--ink);display:block;letter-spacing:-.01em}
.cmp thead th .badge{font-size:12.5px;font-weight:600;color:var(--ink-3);letter-spacing:.04em}
.cmp tbody th{width:150px;font-weight:600;color:var(--ink);background:#fafbfc;white-space:nowrap}
.cmp tbody td{color:var(--ink-2)}
.cmp tbody tr:last-child th,.cmp tbody tr:last-child td{border-bottom:none}
.cmp .hi{color:var(--ink);font-weight:600}

/* 키-값 사양 리스트 (모바일 안전) */
.kv{border-top:1px solid var(--line);margin-top:4px}
.kv .row{display:flex;justify-content:space-between;gap:20px;padding:15px 2px;border-bottom:1px solid var(--line)}
.kv .k{font-weight:600;color:var(--ink);font-size:17px;flex:none;min-width:120px}
.kv .v{color:var(--ink-2);font-size:17px;text-align:right}
.kv .v.hi{color:var(--accent);font-weight:600}
.badge-flag{display:inline-block;font-size:12.5px;font-weight:700;letter-spacing:.12em;color:var(--accent);border:1px solid var(--accent);padding:5px 13px;border-radius:100px;margin-bottom:16px}

/* 안전·인증 */
.cert-list{margin-top:6px;border-top:1px solid var(--line)}
.cert-list .c{display:flex;gap:16px;align-items:center;padding:18px 0;border-bottom:1px solid var(--line)}
.cert-list .c svg{width:22px;height:22px;color:var(--accent);flex:none;stroke-width:1.3}
.cert-list .c b{font-size:17.5px;font-weight:500}
/* A/S 안내 주석: 데스크톱에선 각 문장을 한 줄로(nowrap), 모바일에선 정상 줄바꿈 */
.as-note{margin-top:10px;font-size:13px;line-height:1.9;color:var(--ink-3);white-space:nowrap}
@media(max-width:768px){.as-note{white-space:normal;line-height:1.7}}

/* 모델별 특징 리스트 */
.model-feats{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,4vw,56px);margin-top:clamp(32px,4vw,52px)}
.model-feats .col{border-top:1px solid var(--line-dk);padding-top:20px}
.model-feats h3{font-size:24.5px;font-weight:700;color:var(--ink);letter-spacing:-.02em;margin-bottom:16px}
.model-feats ul{list-style:none;display:grid;gap:11px}
.model-feats li{display:flex;gap:11px;font-size:16px;color:var(--ink-2);line-height:1.55}
.model-feats li::before{content:"";flex:none;width:5px;height:5px;border-radius:50%;background:var(--accent);margin-top:8px}
@media (max-width:768px){.model-feats{grid-template-columns:1fr}}

/* 회사 연혁 타임라인 */
.hist-quote{font-weight:400;font-size:clamp(18px,1.9vw,22px);line-height:1.7;color:var(--ink-2);margin-bottom:clamp(32px,5vw,52px)}
.hist{border-top:1px solid var(--line)}
.hist .row{display:grid;grid-template-columns:110px 1fr;gap:clamp(16px,3vw,36px);padding:17px 0;border-bottom:1px solid var(--line);align-items:baseline;transition:.3s}
.hist .row:hover{background:var(--paper-2)}
.hist .yr{font-family:var(--serif);font-style:italic;font-size:26px;font-weight:500;color:var(--accent);line-height:1}
.hist .ev{font-size:17px;color:var(--ink-2);line-height:1.5}
.hist .ev b{color:var(--ink);font-weight:600}
@media (max-width:560px){.hist .row{grid-template-columns:64px 1fr;gap:14px}.hist .yr{font-size:20px}}

/* 회사 소개 값 */
.values{display:grid;grid-template-columns:1fr 1fr;gap:0;border-top:1px solid var(--line);border-left:1px solid var(--line)}
.values .v{padding:26px 28px;border-bottom:1px solid var(--line);border-right:1px solid var(--line)}
.values .v b{display:block;font-size:18px;font-weight:600;margin-bottom:6px}
.values .v span{font-size:15.5px;color:var(--ink-2)}

/* B2B */
.b2b-chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:6px}
.b2b-chips span{border:1px solid var(--line-dk);padding:11px 22px;font-size:15.5px;font-weight:500;color:var(--ink-2);transition:.3s}
.b2b-chips span:hover{border-color:var(--ink);color:var(--ink)}
.b2b-cta{display:flex;gap:14px;flex-wrap:wrap;margin-top:34px}

/* 자료실 */
.res-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line)}
.res-card{padding:40px 34px;border-right:1px solid var(--line);display:flex;flex-direction:column;gap:14px;transition:.4s}
.res-card:last-child{border-right:none}
.res-card:hover{background:var(--paper-2)}
.res-card .ico{width:30px;height:30px;color:var(--accent);stroke-width:1.3}
.res-card h3{font-size:20px;font-weight:600}
.res-card p{font-size:15px;color:var(--ink-2);flex:1}

/* FAQ */
.faq-list{max-width:880px;margin:0 auto;border-top:1px solid var(--line)}
.faq-item{border-bottom:1px solid var(--line)}
.faq-q{width:100%;text-align:left;background:none;border:none;padding:26px 4px;display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:19px;font-weight:500;color:var(--ink)}
.faq-q .qn{font-family:var(--serif);font-style:italic;color:var(--accent);margin-right:14px}
.faq-q .chev{flex:none;transition:.35s;color:var(--ink-3)}
.faq-item.open .faq-q .chev{transform:rotate(45deg);color:var(--accent)}
.faq-a{max-height:0;overflow:hidden;transition:max-height .4s ease}
.faq-a p{padding:0 4px 26px 42px;color:var(--ink-2);font-size:17px;max-width:62ch}

/* CTA + form */
.cta-band{background:var(--dark);color:#fff;padding:clamp(64px,9vw,124px) clamp(30px,5vw,64px);text-align:center}
.cta-band .en{font-family:var(--serif);font-style:italic;font-size:clamp(27px,3.4vw,42.5px);color:var(--accent-lt);margin-bottom:14px}
.cta-band h2{font-weight:500;font-size:clamp(31.5px,4.5vw,51.5px);letter-spacing:-.02em;margin-bottom:34px}
.cta-band .hero-cta{justify-content:center}
.cta-band .btn--solid{background:#fff;color:var(--ink)}
.cta-band .btn--solid:hover{background:var(--accent);color:#fff}
.cta-band .btn--line{color:#fff;border-color:rgba(255,255,255,.4)}
.cta-band .btn--line:hover{border-color:#fff}

.form-wrap{max-width:760px;margin:0 auto}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:clamp(20px,4vw,44px)}
.field{margin-bottom:28px}
.field label{display:block;font-size:13.5px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-2);margin-bottom:10px}
.field .req{color:var(--accent)}
.field input,.field select,.field textarea{width:100%;border:none;border-bottom:1.5px solid var(--line-dk);border-radius:0;padding:12px 2px;font-size:18px;font-family:inherit;color:var(--ink);background:transparent;transition:.3s}
.field input::placeholder,.field textarea::placeholder{color:var(--ink-3)}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-bottom-color:var(--accent)}
.field textarea{resize:vertical;min-height:110px}
.field select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%2359616b' fill='none' stroke-width='1.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 2px center}
.agree{display:flex;gap:12px;align-items:flex-start;font-size:15px;color:var(--ink-2);margin-bottom:30px}
.agree input{width:18px;height:18px;margin-top:3px;flex:none;accent-color:var(--accent)}
.form-success{display:none;text-align:center;padding:22px;border:1px solid var(--accent);color:var(--accent);font-weight:500;margin-bottom:28px}
.form-success.show{display:block}

/* Footer */
.footer{background:var(--dark);color:#9aa3ad;padding:clamp(56px,7vw,80px) 0 44px;font-size:15.5px}
.footer-top{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:44px;padding-bottom:38px;border-bottom:1px solid rgba(255,255,255,.09)}
.footer-brand .brand{color:#fff;margin-bottom:16px}
.footer-brand .brand .en{color:var(--accent-lt)}
.footer-brand p{max-width:34ch;color:#79828c;font-size:15px}
.footer h4{color:#fff;font-size:13.5px;letter-spacing:.14em;text-transform:uppercase;margin-bottom:16px;font-weight:600}
.footer ul{list-style:none;display:grid;gap:11px}
.footer ul a{color:#9aa3ad}
.footer ul a:hover{color:#fff}
.footer-info{padding-top:28px;color:#6c757f;font-size:14.5px;line-height:2}
.footer-info .tbd{border-color:rgba(255,255,255,.2);color:var(--accent-lt)}
.footer-bottom{margin-top:20px;color:#59626b;font-size:14px}

/* Mobile bar */
.mobile-bar{display:none;position:fixed;bottom:0;left:0;right:0;z-index:90;background:var(--paper);border-top:1px solid var(--line);grid-template-columns:repeat(3,1fr)}
.mobile-bar a{display:flex;flex-direction:column;align-items:center;gap:5px;padding:11px 4px;font-size:13px;font-weight:600;color:var(--ink-2);border-right:1px solid var(--line)}
.mobile-bar a:last-child{border-right:none}
.mobile-bar a svg{width:19px;height:19px;stroke-width:1.5}
.mobile-bar a.primary{background:var(--ink);color:#fff}

/* Reveal */
.reveal{opacity:0;transform:translateY(30px);transition:opacity .9s cubic-bezier(.2,.7,.3,1),transform .9s cubic-bezier(.2,.7,.3,1)}
.reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}html{scroll-behavior:auto}}

/* Responsive */
@media (max-width:1024px){
  .feat-grid{grid-template-columns:1fr 1fr}
  .feat-card:nth-child(2){border-right:none}
  .feat-card:nth-child(1),.feat-card:nth-child(2){border-bottom:1px solid var(--line)}
  .res-grid{grid-template-columns:1fr}
  .res-card{border-right:none;border-bottom:1px solid var(--line)}
}
@media (max-width:768px){
  .nav-actions .btn{display:none}
  .nav-toggle{display:block}
  .nav-menu{position:fixed;top:66px;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;background:var(--paper);border-bottom:1px solid var(--line);padding:8px 20px 24px;transform:translateY(-130%);transition:.4s ease}
  .nav-menu.open{transform:none}
  .nav-menu.open a,.is-home .header:not(.scrolled) .nav-menu.open a{color:var(--ink-2);padding:16px 4px;font-size:18px;border-bottom:1px solid var(--line)}
  .nav-menu li.m-cta a{color:var(--accent);border-bottom:none}
  .split.img-left,.split.img-right,.tech-item,.scene-grid,.values{grid-template-columns:1fr}
  .split.img-left .media,.tech-item:nth-child(even) .tech-media{order:-1}
  .tech-item{min-height:0}
  .tech-item .tech-media .ph,.tech-item .tech-media img{min-height:64vw}
  .feat-grid{grid-template-columns:1fr}
  .feat-card{border-right:none;border-bottom:1px solid var(--line)}
  .form-row{grid-template-columns:1fr}
  .footer-top{grid-template-columns:1fr;gap:32px}
  .spec-table{display:none}
  .spec-cards{display:block}
  .spec-card{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:16px 2px;border-bottom:1px solid var(--line)}
  .spec-card .k{font-weight:600;font-size:16px}
  .spec-card .v{color:var(--ink-2);font-size:15.5px;text-align:right}
  .mobile-bar{display:grid}
  body{padding-bottom:62px}
  .scroll-cue{display:none}
}


/* ==================== 제품 라인업 (products.html) ==================== */
.lineup-nav{position:sticky;top:64px;z-index:15;display:flex;gap:8px;overflow-x:auto;padding:14px clamp(16px,4vw,44px);background:rgba(255,255,255,.92);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);scrollbar-width:thin}
.lineup-nav::-webkit-scrollbar{height:5px}
.lineup-nav::-webkit-scrollbar-thumb{background:var(--line-dk);border-radius:3px}
.lineup-nav a{flex:none;white-space:nowrap;font-size:13px;font-weight:600;color:var(--ink-2);padding:8px 15px;border:1px solid var(--line);border-radius:22px;transition:.2s}
.lineup-nav a:hover{border-color:var(--ink);color:var(--ink)}
.cat-block{padding-top:clamp(46px,6vw,72px);padding-bottom:0;scroll-margin-top:128px}
/* 마지막 카테고리 블록: 뒤에 CTA <section>이 있어 :last-of-type이 안 먹으므로 :has로 정확히 타깃 → 푸터/CTA와 간격 확보 */
.cat-block:not(:has(~ .cat-block)){padding-bottom:clamp(72px,9vw,120px)}
.cat-block .cat-ko{font-family:var(--sans);font-weight:500;font-size:.5em;color:var(--ink-3);letter-spacing:0;margin-left:10px;vertical-align:middle}
.prod-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(212px,1fr));gap:clamp(14px,1.6vw,22px);margin-top:clamp(22px,3vw,34px)}
.prod-card{border:1px solid var(--line);background:#fff;overflow:hidden;transition:.3s cubic-bezier(.2,.7,.3,1)}
.prod-card:hover{border-color:var(--line-dk);box-shadow:0 14px 34px rgba(20,26,32,.08);transform:translateY(-3px)}
.prod-media{position:relative;aspect-ratio:1/1;background:linear-gradient(180deg,#f9fbfc 0%,#e9eef3 100%);overflow:hidden}
.prod-ph{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;color:var(--ink-3);text-align:center;padding:16px}
.prod-ph::before{content:"";position:absolute;inset:14px;border:1px dashed var(--line-dk);pointer-events:none}
.prod-ph svg{width:32px;height:32px;stroke-width:1;color:var(--ink-3)}
.prod-ph span{font-size:11.5px;letter-spacing:.02em}
/* 사진이 투명 배경(webp)이므로 img에 흰 배경을 깔지 않는다 — 깔면 뒤 배경이 가려짐 */
.prod-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;padding:7px}
.prod-media:has(img) .prod-ph{display:none}
.prod-info{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:14px 16px;border-top:1px solid var(--line)}
.prod-info .name{font-weight:600;font-size:15px;letter-spacing:-.01em;color:inherit;transition:color .2s}
a.name:hover,a.name:focus-visible{color:var(--accent)}
.prod-info .new{flex:none;font-size:10px;font-weight:700;color:var(--accent);border:1px solid var(--accent-lt);border-radius:11px;padding:2px 8px;letter-spacing:.04em}
@media(max-width:560px){.prod-grid{grid-template-columns:1fr 1fr;gap:12px} .lineup-nav{top:60px}}


/* ==================== 제품 상세 모달 (products.html) ==================== */
.prod-card{cursor:pointer}
.prod-card:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.pm-overlay{position:fixed;inset:0;z-index:200;background:rgba(14,21,27,.55);backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;padding:20px;animation:pmfade .2s ease}
@keyframes pmfade{from{opacity:0}to{opacity:1}}
.pm-overlay[hidden]{display:none}
.pm{background:#fff;width:100%;max-width:900px;max-height:90vh;overflow:auto;display:grid;grid-template-columns:1fr 1fr;position:relative;box-shadow:0 30px 80px rgba(0,0,0,.4)}
.pm-close{position:absolute;top:12px;right:14px;z-index:3;width:42px;height:42px;border:none;background:rgba(255,255,255,.8);border-radius:50%;font-size:26px;line-height:1;color:var(--ink);cursor:pointer;transition:.25s}
.pm-close:hover{background:#fff;transform:rotate(90deg)}
.pm-media{position:relative;background:#e3e3e3;min-height:340px}
.pm-media.pm-media--clear{background:transparent}
.pm-media .prod-ph{position:absolute;inset:0}
.pm-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;padding:14px}
/* 모달 사진 우측 하단 바닥 도면 인셋 */
.pm-detail{position:absolute;right:2%;bottom:2%;z-index:2;margin:0;width:26%;max-width:120px}
.pm-detail.pm-detail--up{bottom:11%}
.pm-detail[hidden]{display:none}
.pm-detail img{position:static;inset:auto;display:block;width:100%;height:auto;padding:0;object-fit:initial}
@media(max-width:680px){.pm-detail{width:23%;max-width:96px;right:5%;bottom:8%}}
.pm-body{padding:clamp(26px,3vw,42px)}
.pm-cat{font-size:12px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);margin-bottom:8px}
.pm-name{font-size:clamp(24px,3vw,34px);font-weight:700;letter-spacing:-.02em;margin-bottom:22px}
.pm-section{margin-bottom:24px}
.pm-section h4{font-size:12.5px;font-weight:700;letter-spacing:.06em;color:var(--ink-3);text-transform:uppercase;margin-bottom:12px}
.pm-spec .r{display:flex;gap:12px;padding:9px 0;border-bottom:1px solid var(--line);font-size:14.5px;color:var(--ink)}
.pm-spec .r:last-child{border-bottom:none}
.pm-feat{list-style:none;display:grid;gap:9px}
.pm-feat li{display:flex;gap:9px;font-size:14px;color:var(--ink-2);line-height:1.5}
.pm-feat li::before{content:"";flex:none;width:5px;height:5px;border-radius:50%;background:var(--accent);margin-top:8px}
.pm-note{font-size:12px;color:var(--ink-3);border-top:1px solid var(--line);padding-top:14px}
body.pm-open{overflow:hidden}
@media(max-width:680px){.pm{grid-template-columns:1fr;max-height:92vh}.pm-media{min-height:240px}}


/* ==================== 제품 상세 페이지 (products/*.html) ==================== */
.pdp{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,4vw,60px);align-items:start}
.pdp-media{position:relative;background:#e3e3e3;aspect-ratio:1/1;border:1px solid var(--line);overflow:hidden}
.pdp-media.pdp-media--clear{background:linear-gradient(180deg,#f9fbfc 0%,#e7ecf1 100%)}
.pdp-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;padding:22px}
.pdp-cat{font-size:12px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);margin-bottom:10px}
.pdp-body h1{font-size:clamp(28px,4vw,44px);font-weight:700;letter-spacing:-.02em;line-height:1.1;margin-bottom:14px}
.pdp-lead{color:var(--ink-2);font-size:16px;line-height:1.7;margin-bottom:24px}
.pdp-actions{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:8px}
.pdp-section{margin-top:clamp(40px,5vw,64px)}
.pdp-section h2{font-size:clamp(20px,2.4vw,26px);font-weight:700;letter-spacing:-.01em;margin-bottom:18px;padding-bottom:12px;border-bottom:1px solid var(--line-dk)}
.pdp-section h3{font-size:16px;font-weight:700;margin:22px 0 10px}
.spec-table{width:100%;border-collapse:collapse;font-size:15px}
.spec-table th,.spec-table td{text-align:left;padding:12px 14px;border-bottom:1px solid var(--line);vertical-align:top}
.spec-table th{width:38%;font-weight:600;color:var(--ink-2);background:var(--paper-2)}
/* 여러 열 비교표(thead 포함)는 균등 폭 대신 자동 폭 + 가로 스크롤 */
.spec-table:has(thead){table-layout:auto;min-width:660px}
.spec-table:has(thead) th{width:auto;white-space:nowrap}
.spec-table:has(thead) td{white-space:normal;word-break:keep-all}
.pdp-feat{list-style:none;display:grid;gap:11px;margin:0}
.pdp-feat li{display:flex;gap:10px;font-size:15px;color:var(--ink-2);line-height:1.6}
.pdp-feat li::before{content:"";flex:none;width:6px;height:6px;border-radius:50%;background:var(--accent);margin-top:9px}
.pdp-faq{display:grid;gap:0;border-top:1px solid var(--line)}
.pdp-faq details{border-bottom:1px solid var(--line)}
.pdp-faq summary{list-style:none;cursor:pointer;padding:18px 2px;font-weight:600;font-size:16px;display:flex;justify-content:space-between;gap:16px}
.pdp-faq summary::-webkit-details-marker{display:none}
.pdp-faq summary::after{content:"+";color:var(--accent);font-weight:400;font-size:22px;line-height:1}
.pdp-faq details[open] summary::after{content:"−"}
.pdp-faq .ans{padding:0 2px 20px;color:var(--ink-2);font-size:15px;line-height:1.7}
.pdp-related{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:16px}
.pdp-related a{border:1px solid var(--line);background:#fff;transition:.25s;display:block}
.pdp-related a:hover{border-color:var(--line-dk);box-shadow:0 10px 26px rgba(20,26,32,.07);transform:translateY(-2px)}
.pdp-related .rmed{position:relative;aspect-ratio:1/1;background:linear-gradient(180deg,#f9fbfc,#eef1f4)}
.pdp-related .rmed img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;padding:12px}
.pdp-related .rname{padding:12px 14px;font-weight:600;font-size:14.5px;border-top:1px solid var(--line)}
.pdp-note{font-size:12.5px;color:var(--ink-3);margin-top:20px}
@media(max-width:760px){.pdp{grid-template-columns:1fr;gap:24px}}

/* ==================== 연락처 안내 (구 문의 폼 자리) ==================== */
.contact-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(16px,2vw,28px)}
.contact-card{border:1px solid var(--line);background:#fff;padding:clamp(22px,2.5vw,32px)}
.contact-card h3{font-size:18px;font-weight:700;letter-spacing:-.01em;margin-bottom:16px;padding-bottom:14px;border-bottom:1px solid var(--line-dk)}
.contact-card h3 .sub{display:block;font-size:12.5px;font-weight:500;color:var(--ink-3);margin-top:4px;letter-spacing:0}
.contact-card .row{display:flex;gap:12px;padding:8px 0;font-size:14.5px;line-height:1.55}
.contact-card .row .k{flex:none;width:78px;font-weight:600;color:var(--ink-3);font-size:13px;padding-top:1px}
.contact-card .row .v{color:var(--ink);word-break:keep-all}
.contact-card .row .v a:hover{color:var(--accent)}
@media(max-width:900px){.contact-grid{grid-template-columns:1fr}}

.contact-card .qr-box{display:flex;align-items:center;gap:14px;margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}
.contact-card .qr-box img{width:96px;height:96px;object-fit:contain;border:1px solid var(--line);background:#fff;padding:4px}
.contact-card .qr-box span{font-size:12.5px;color:var(--ink-3);line-height:1.6}
.contact-card .qr-box b{display:block;font-size:14.5px;color:var(--accent);letter-spacing:.03em}

/* 헤더 이미지 로고 */
.brand img{height:32px;width:auto;display:block}
@media(max-width:768px){.brand img{height:24px}}

.footer-brand .brand img{height:32px;width:auto;display:block}
