/* =========================================================
   Tape Solution v10 — style.css (디자인·레이아웃 정리판)
   · HTML/JS/콘텐츠는 원본 그대로, 이 파일만 교체
   · 기존 클래스명 100% 유지
   ========================================================= */
@import url('https://cdn.jsdelivr.net/npm/pretendard@1.3.9/dist/web/variable/pretendardvariable-dynamic-subset.min.css');

:root{
  --ink:#0f1a2b; --text:#26324a; --muted:#667085; --faint:#98a2b3;
  --line:#e4e8ef; --line2:#d3dae4; --bg:#f6f8fb; --soft:#eef3f9; --card:#fff;
  --navy:#0f2140; --navy2:#162c52; --blue:#1667e8; --blue-d:#0f55c7; --blue-s:#e8f0fe;
  --shadow-s:0 1px 2px rgba(15,33,64,.06),0 4px 14px rgba(15,33,64,.05);
  --shadow:0 18px 50px rgba(15,33,64,.14);
  --r:16px; --r-s:10px;
  --max:1280px;
  --gut:max(20px,5vw,calc((100% - var(--max)) / 2));
  --font:"Pretendard Variable",Pretendard,Inter,-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Noto Sans KR","Segoe UI",sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:84px;-webkit-text-size-adjust:100%}
body{margin:0;font-family:var(--font);color:var(--ink);background:var(--bg);font-size:16px;line-height:1.6;letter-spacing:-.01em;word-break:keep-all;overflow-wrap:break-word;-webkit-font-smoothing:antialiased}
button,input,select,textarea{font:inherit;color:inherit;letter-spacing:inherit}
button{cursor:pointer}
a{text-decoration:none;color:inherit}
img{display:block;max-width:100%}
/* 사진이 늦게 뜨거나 실패해도 깨진 대체텍스트가 보이지 않도록 */
main img,.modal img{background:linear-gradient(135deg,#dfe6ef,#c9d4e2);color:transparent;font-size:0}
:focus-visible{outline:3px solid rgba(22,103,232,.45);outline-offset:2px;border-radius:6px}
h1,h2,h3{letter-spacing:-.035em;line-height:1.2;color:inherit;text-wrap:balance}
h3{font-weight:700}

/* ---------- 헤더 ---------- */
.topbar{position:sticky;top:0;z-index:50;height:72px;padding:0 var(--gut);display:flex;align-items:center;gap:28px;background:rgba(255,255,255,.88);backdrop-filter:saturate(180%) blur(16px);-webkit-backdrop-filter:saturate(180%) blur(16px);border-bottom:1px solid rgba(15,33,64,.08)}
.brand{display:flex;align-items:center;gap:10px;font-size:19px;white-space:nowrap;letter-spacing:-.02em}
.brand b{font-weight:800}
.logo{width:36px;height:36px;border-radius:11px;display:grid;place-items:center;background:linear-gradient(135deg,var(--blue),#0ea5e9);color:#fff;font-weight:800;font-size:14px;letter-spacing:0;box-shadow:0 4px 12px rgba(22,103,232,.3)}
.topbar nav{display:flex;gap:4px;align-items:center;flex:1;justify-content:center}
.topbar nav a{font-weight:600;font-size:14.5px;color:#344054;padding:8px 12px;border-radius:8px;white-space:nowrap;transition:background .15s,color .15s}
.topbar nav a:hover{background:var(--soft);color:var(--blue)}
.basketBtn,.mobile{border:0;background:var(--navy);color:#fff;border-radius:10px;padding:11px 16px;font-weight:700;font-size:14px;white-space:nowrap;transition:background .15s}
.basketBtn:hover{background:var(--blue)}
.basketBtn b{display:inline-grid;place-items:center;min-width:22px;height:22px;margin-left:6px;padding:0 6px;border-radius:11px;background:#fff;color:var(--navy);font-size:12px}
.mobile{display:none;width:44px;height:44px;padding:0;font-size:18px}

/* ---------- 공통 타이포·버튼 ---------- */
.eyebrow{display:inline-block;font-size:12.5px;letter-spacing:.14em;font-weight:700;color:var(--blue);margin:0 0 10px;text-transform:uppercase}
.eyebrow.light{color:#8fc0ff;background:none;border:0;padding:0;min-height:0}
.lead{font-size:18px;line-height:1.75;max-width:640px;color:#d3ddec;margin:0}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:48px;padding:0 22px;border-radius:var(--r-s);border:1px solid transparent;font-weight:700;font-size:15px;cursor:pointer;white-space:nowrap;transition:background .15s,border-color .15s,color .15s,transform .1s,box-shadow .15s}
.btn:active{transform:translateY(1px)}
.primary{background:var(--blue);color:#fff;box-shadow:0 6px 16px rgba(22,103,232,.22)}
.primary:hover{background:var(--blue-d)}
.ghost{background:#fff;border-color:var(--line2);color:var(--ink)}
.ghost:hover{border-color:var(--blue);color:var(--blue)}
.glass{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.4);color:#fff;backdrop-filter:blur(6px)}
.glass:hover{background:rgba(255,255,255,.16)}
.light{background:#f1f4f8;border-color:#e6eaf0;color:var(--ink)}
.light:hover{background:#e7ecf3}
.full{width:100%}
.muted{color:var(--muted)}

/* ---------- 섹션 공통 ---------- */
.section{padding:104px var(--gut)}
.sectionHead{margin-bottom:40px;max-width:880px}
.sectionHead h2,.funnelIntro h2{font-size:clamp(28px,3.4vw,42px);font-weight:700;margin:0 0 12px}
.sectionHead p:not(.eyebrow),.funnelIntro p:not(.eyebrow){color:var(--muted);font-size:17px;margin:0}
.sectionHead.centered{margin-left:auto;margin-right:auto;text-align:center}
.rowHead{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;max-width:none}
.rowHead>div{max-width:760px}
.rowHead>.btn{flex:none}
.centered{text-align:center}

/* ---------- HERO ---------- */
.hero{position:relative;min-height:640px;padding:88px var(--gut) 96px;display:grid;grid-template-columns:1.08fr .92fr;align-items:center;gap:56px;overflow:hidden}
.photoHero{background:var(--navy) url('https://images.unsplash.com/photo-1762146828422-50a8bd416d3c?auto=format&fit=crop&w=2200&q=88') center/cover no-repeat;color:#fff}
.heroOverlay{position:absolute;inset:0;background:linear-gradient(100deg,rgba(9,18,34,.94) 0%,rgba(9,18,34,.82) 45%,rgba(9,18,34,.45) 100%)}
.heroText,.heroProof{position:relative;z-index:2}
.hero h1{font-size:clamp(38px,4.4vw,62px);line-height:1.14;margin:4px 0 22px;letter-spacing:-.045em;font-weight:800}
.hero h1 em{font-style:normal;color:#4b9bff}
.ctaRow{display:flex;gap:10px;margin:32px 0 28px;flex-wrap:wrap}
.trustRow{display:flex;gap:10px;flex-wrap:wrap;font-weight:600;font-size:14px}
.trustRow span{padding:7px 12px;border-radius:999px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);color:#e3ebf6}
.heroProof{background:rgba(10,20,38,.72);border:1px solid rgba(255,255,255,.14);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);padding:26px;border-radius:22px;box-shadow:0 30px 80px rgba(0,0,0,.35);max-width:540px;justify-self:end;width:100%}
.proofLabel{color:#7fb6ff;font-weight:700;font-size:12.5px;letter-spacing:.06em}
.heroProof h3{font-size:26px;margin:8px 0 4px}
.heroProof p{color:#c3cede;margin:0}
.proofPhotos{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:20px 0}
.proofPhotos figure{margin:0;position:relative;border-radius:12px;overflow:hidden;aspect-ratio:4/5;background:#23324d}
.proofPhotos img{width:100%;height:100%;object-fit:cover}
.proofPhotos figcaption{position:absolute;left:8px;bottom:8px;background:rgba(0,0,0,.55);padding:4px 8px;border-radius:6px;font-size:12px;backdrop-filter:blur(4px)}
.proofSteps{display:flex;gap:18px;font-size:13px;font-weight:600;color:#dbe4f0}
.proofSteps b{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#fff;color:var(--ink);margin-right:6px;font-size:11px}

/* ---------- 빠른 탐색 ---------- */
.quickEntry{padding:28px var(--gut);background:#fff;border-bottom:1px solid var(--line);display:grid;grid-template-columns:260px 1fr;gap:28px;align-items:center}
.quickIntro{display:grid;gap:6px}
.quickIntro span{font-size:12px;font-weight:700;color:var(--blue);letter-spacing:.12em}
.quickIntro b{font-size:18px;line-height:1.45;font-weight:700}
.quickLinks{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.quickLinks a{display:grid;gap:4px;padding:18px 18px 16px;border:1px solid var(--line);border-radius:14px;background:#fbfcfe;transition:transform .2s,border-color .2s,box-shadow .2s;position:relative}
.quickLinks a:after{content:"→";position:absolute;right:16px;top:16px;color:var(--faint);transition:transform .2s,color .2s}
.quickLinks a:hover{transform:translateY(-3px);border-color:#9cc0f5;box-shadow:0 14px 30px rgba(22,103,232,.1)}
.quickLinks a:hover:after{color:var(--blue);transform:translateX(3px)}
.quickLinks small{color:var(--blue);font-weight:700;font-size:12px}
.quickLinks strong{font-size:16px;font-weight:700}
.quickLinks em{font-size:12.5px;color:var(--muted);font-style:normal}

/* ---------- 상담 4단계 ---------- */
.photoFunnel{padding:104px var(--gut);background:#fff}
.funnelIntro{max-width:680px}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:36px;counter-reset:none}
.steps article{background:#fff;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;box-shadow:var(--shadow-s);position:relative;transition:transform .2s,box-shadow .2s}
.steps article:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(15,33,64,.1)}
.steps img{width:100%;aspect-ratio:16/10;height:auto;object-fit:cover}
.steps span{position:absolute;left:16px;top:16px;display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:#fff;color:var(--navy);font-weight:800;font-size:13px;box-shadow:0 4px 12px rgba(0,0,0,.15);margin:0}
.steps b{display:block;font-size:19px;margin:18px 20px 4px;font-weight:700}
.steps p{color:var(--muted);margin:0 20px 22px;font-size:14.5px}

/* ---------- 기술상담 ---------- */
.consultSec{background:var(--bg)}
.consultGrid{display:grid;grid-template-columns:1.15fr .85fr;gap:24px;align-items:stretch}
.wizard,.form,.filterPanel,.dataCard,.orderList{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:28px;box-shadow:var(--shadow-s)}
.consultStatus{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:14px 16px;background:var(--blue-s);border:1px solid #cfe0fb;border-radius:12px;margin-bottom:20px}
.consultStatus span{font-size:12px;color:var(--blue);font-weight:700;white-space:nowrap}
.consultStatus b{text-align:right;font-size:13.5px;font-weight:600;color:var(--text)}
.wizardProgress{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-bottom:24px}
.wizardProgress span{position:relative;padding:10px 6px 12px;text-align:center;border-radius:10px;font-weight:600;font-size:14px;color:var(--muted);background:#f3f5f9}
.wizardProgress span:after{content:"";position:absolute;left:12px;right:12px;bottom:5px;height:3px;border-radius:3px;background:#dfe5ee}
.wizardProgress .active{background:var(--blue-s);color:var(--blue)}
.wizardProgress .active:after{background:var(--blue)}
.formGrid{display:grid;gap:14px}
.formGrid.two{grid-template-columns:repeat(2,1fr)}
.formGrid.three{grid-template-columns:repeat(3,1fr)}
label{font-weight:600;font-size:14px;display:grid;gap:8px;color:var(--text)}
input,select,textarea{width:100%;border:1px solid var(--line2);border-radius:10px;padding:12px 14px;background:#fff;font-size:15px;color:var(--ink);transition:border-color .15s,box-shadow .15s}
input::placeholder,textarea::placeholder{color:#a0a9b8}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 4px rgba(22,103,232,.12)}
select{appearance:none;-webkit-appearance:none;padding-right:40px;background-image:linear-gradient(45deg,transparent 50%,#667085 50%),linear-gradient(135deg,#667085 50%,transparent 50%);background-position:calc(100% - 20px) 52%,calc(100% - 15px) 52%;background-size:5px 5px;background-repeat:no-repeat}
textarea{min-height:120px;resize:vertical;line-height:1.6}
.choiceBlock{margin:22px 0}
.choiceBlock>b{font-size:14px;font-weight:600;color:var(--text)}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.chips button{border:1px solid var(--line2);background:#fff;border-radius:999px;padding:8px 14px;font-size:14px;font-weight:500;color:var(--text);transition:.15s}
.chips button:hover{border-color:var(--blue);color:var(--blue)}
.chips button.active{background:var(--navy);color:#fff;border-color:var(--navy)}
.consultActions{display:grid;grid-template-columns:1.4fr .6fr;gap:10px;margin-top:24px}
.photoAside{position:relative;min-height:100%;border-radius:var(--r);overflow:hidden;color:#fff;background:linear-gradient(160deg,var(--navy2),#0b1729)}
.photoAside img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}
.photoAside:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(9,18,34,.05) 20%,rgba(9,18,34,.92))}
.asideCopy{position:absolute;z-index:2;left:30px;right:30px;bottom:28px}
.asideCopy h3{font-size:28px;margin:4px 0 14px}
.asideCopy ul{margin:0;padding:0;list-style:none;display:grid;gap:8px}
.asideCopy li{padding-left:22px;position:relative;color:#dbe4f0;font-size:15px}
.asideCopy li:before{content:"";position:absolute;left:2px;top:8px;width:8px;height:8px;border-radius:50%;background:#4b9bff}

/* ---------- 산업 갤러리 ---------- */
.industryGallery{padding:104px var(--gut);background:var(--navy);color:#fff}
.industryGallery .sectionHead p.eyebrow{color:#8fc0ff}
.galleryGrid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.galleryCard{position:relative;aspect-ratio:3/4;border-radius:var(--r);overflow:hidden;background:#1b2c4b}
.galleryCard:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 40%,rgba(0,0,0,.8))}
.galleryCard img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.galleryCard:hover img{transform:scale(1.05)}
.galleryCard span,.galleryCard small{position:absolute;z-index:2;left:22px;right:22px}
.galleryCard span{bottom:48px;font-size:23px;font-weight:700;letter-spacing:-.03em}
.galleryCard small{bottom:22px;color:#cfd9e7;font-size:13.5px}

/* ---------- 적용사례 ---------- */
.applicationLibrary{background:var(--bg)}
.applicationTabs{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 24px}
.applicationTabs button{border:1px solid var(--line2);background:#fff;border-radius:999px;padding:9px 16px;font-weight:600;font-size:14px;color:#475467;transition:.15s}
.applicationTabs button:hover{border-color:var(--navy);color:var(--navy)}
.applicationTabs button.active{background:var(--navy);color:#fff;border-color:var(--navy)}
.applicationGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.applicationCard{position:relative;aspect-ratio:4/5;border-radius:var(--r);overflow:hidden;background:linear-gradient(160deg,#20365d,#0d1a2e);box-shadow:var(--shadow-s);cursor:pointer;isolation:isolate}
.applicationCard img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;transition:transform .55s ease}
.applicationCard:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(7,13,24,0) 30%,rgba(7,13,24,.9) 100%);z-index:1}
.applicationCard:hover img{transform:scale(1.05)}
.applicationCard .caseContent{position:absolute;z-index:2;left:20px;right:20px;bottom:18px;color:#fff}
.applicationCard .caseType{display:inline-flex;background:rgba(255,255,255,.18);backdrop-filter:blur(8px);padding:5px 10px;border-radius:999px;font-size:12px;font-weight:600;margin-bottom:10px}
.applicationCard h3{font-size:19px;margin:0 0 6px}
.applicationCard p{font-size:13.5px;line-height:1.55;color:rgba(255,255,255,.82);margin:0 0 12px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.caseMeta{display:flex;flex-wrap:wrap;gap:6px}
.caseMeta span{font-size:11.5px;background:rgba(255,255,255,.14);padding:4px 8px;border-radius:6px}
.caseGuide{margin-top:20px;border-radius:var(--r);background:var(--navy);color:#fff;padding:22px 26px;display:flex;justify-content:space-between;align-items:center;gap:30px}
.caseGuide small{display:block;color:#8fc0ff;font-weight:700;letter-spacing:.12em;margin-bottom:6px;font-size:12px}
.caseGuide strong{font-size:16px;line-height:1.55;font-weight:600}
.caseGuide a{color:#fff;font-weight:700;white-space:nowrap;padding:10px 16px;border-radius:10px;background:rgba(255,255,255,.1);transition:background .15s}
.caseGuide a:hover{background:rgba(255,255,255,.2)}

/* ---------- 제품 추천 ---------- */
.finderSec{background:#fff}
.finderGrid{display:grid;grid-template-columns:268px 1fr;gap:28px;align-items:start}
.filterPanel{display:grid;gap:14px;position:sticky;top:92px;padding:22px}
.filterPanel label{font-size:13px}
.filterPanel select,.filterPanel input{padding:10px 12px;font-size:14px}
.filterPanel select{padding-right:36px}
.recommendSummary{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:18px 22px;margin-bottom:16px;border-radius:var(--r);background:linear-gradient(120deg,var(--navy),#1a4fa8);color:#fff}
.recommendSummary div{display:grid;gap:2px}
.recommendSummary small{opacity:.7;font-size:12px}
.recommendSummary b{font-size:18px;font-weight:700}
.recommendSummary p{max-width:520px;margin:0;color:#d6e4ff;font-size:14px}
.resultBar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;font-size:14px}
.resultBar b{font-size:16px}
.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.productCard{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;box-shadow:var(--shadow-s);transition:transform .2s,box-shadow .2s,border-color .2s}
.productCard:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(15,33,64,.1);border-color:#cdd8e7}
.productVisual{aspect-ratio:16/9;height:auto;position:relative;background:linear-gradient(135deg,#e9eef5,#d6e0ec);overflow:hidden}
.productVisual img{width:100%;height:100%;object-fit:cover}
.typeFlag{position:absolute;left:12px;top:12px;z-index:2;background:rgba(255,255,255,.92);padding:5px 9px;border-radius:999px;font-size:11.5px;font-weight:700;color:var(--ink)}
.matchScore{position:absolute;right:12px;top:12px;z-index:3;background:var(--blue);color:#fff;padding:5px 10px;border-radius:999px;font-size:12px;font-weight:700;box-shadow:0 6px 16px rgba(22,103,232,.3)}
.productBody{padding:16px 18px 18px;display:flex;flex-direction:column;flex:1}
.brandTag{color:var(--blue);font-size:12px;font-weight:700;letter-spacing:.02em}
.productBody h3{font-size:21px;margin:2px 0 2px}
.name{margin:0;font-size:14px;color:var(--text);min-height:0;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}
.spec{font-size:13px;color:var(--muted);margin:8px 0 0;line-height:1.55}
.badges{display:flex;gap:5px;flex-wrap:nowrap;overflow:hidden;margin:10px 0 0;-webkit-mask-image:linear-gradient(90deg,#000 85%,transparent);mask-image:linear-gradient(90deg,#000 85%,transparent)}
.badges span{flex:none}
.badges span{background:var(--soft);padding:4px 8px;border-radius:6px;font-size:11.5px;color:#475467}
.recommendReason{margin:12px 0 0;padding:9px 11px;border-radius:9px;background:#f5f9ff;color:#34507a;font-size:12.5px;line-height:1.5}
.salesBadge{display:block;font-size:12px;color:var(--blue);font-weight:600;margin-top:10px}
.cardBtns{display:grid;grid-template-columns:1fr 1.3fr;gap:8px;margin-top:auto;padding-top:14px}
.cardBtns .btn{min-height:42px;font-size:14px;padding:0 10px}
.empty{grid-column:1/-1;padding:56px 20px;text-align:center;color:var(--muted);background:var(--bg);border:1px dashed var(--line2);border-radius:var(--r)}

/* ---------- 제품군 · 전체 목록 ---------- */
.productShowcase{background:var(--bg)}
.categoryTiles{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.categoryTile{position:relative;overflow:hidden;min-height:124px;border:0;border-radius:var(--r);padding:20px 22px;text-align:left;background:linear-gradient(135deg,var(--navy),#1a4fa8);color:#fff;cursor:pointer;display:flex;flex-direction:column;justify-content:space-between;transition:transform .2s,box-shadow .2s}
.categoryTile:after{content:"";position:absolute;right:-30px;top:-30px;width:120px;height:120px;border-radius:50%;border:18px solid rgba(255,255,255,.07);z-index:0}
.categoryTile>*{position:relative;z-index:1}
.categoryTile:hover{transform:translateY(-3px);box-shadow:0 16px 36px rgba(15,33,64,.2)}
.categoryTile strong{display:block;font-size:19px;font-weight:700;margin:0 0 18px;letter-spacing:-.02em}
.categoryTile span{font-size:13px;color:#cfe0ff}
.tabs{display:flex;gap:8px;flex-wrap:wrap;margin:32px 0 14px}
.tab{border:1px solid var(--line2);background:#fff;border-radius:999px;padding:8px 16px;font-weight:600;font-size:14px;color:#475467;transition:.15s}
.tab:hover{border-color:var(--navy)}
.tab.active{background:var(--navy);color:#fff;border-color:var(--navy)}
.tableWrap{overflow:auto;max-height:620px;background:#fff;border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow-s);overscroll-behavior:contain}
.dbTable,.compareTable{width:100%;border-collapse:collapse;font-size:14px}
.dbTable th,.dbTable td,.compareTable th,.compareTable td{padding:12px 14px;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle}
.dbTable thead th{position:sticky;top:0;z-index:1;background:#f8fafc;font-size:12.5px;color:var(--muted);font-weight:700;white-space:nowrap;box-shadow:inset 0 -1px 0 var(--line)}
.dbTable tbody tr:hover td{background:#f7faff}
.dbTable td:first-child{color:var(--muted);white-space:nowrap}
.dbTable td:nth-child(2){font-weight:700;white-space:nowrap}
.dbTable td:last-child{text-align:right;white-space:nowrap}
.linkBtn{border:0;background:none;color:var(--blue);font-weight:700;cursor:pointer;padding:0;white-space:nowrap}
.linkBtn:hover{text-decoration:underline}

/* ---------- 적용 방법 ---------- */
.casesSec{background:#fff}
.caseGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.caseGrid article{border-radius:var(--r);overflow:hidden;border:1px solid var(--line);background:#fff}
.caseGrid img{height:260px;width:100%;object-fit:cover}
.caseGrid div{padding:20px}.caseGrid b{font-size:22px}.caseGrid p{color:var(--muted);line-height:1.7}
.caseMethodGrid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;position:relative}
.caseMethodGrid article{border:1px solid var(--line);padding:26px 24px;border-radius:var(--r);background:var(--bg)}
.caseMethodGrid span{display:inline-grid;place-items:center;width:40px;height:40px;border-radius:12px;background:var(--blue);color:#fff;font-weight:700;font-size:14px;margin-bottom:16px}
.caseMethodGrid b{display:block;font-size:18px;margin-bottom:6px;font-weight:700}
.caseMethodGrid p{margin:0;color:var(--muted);line-height:1.65;font-size:14.5px}

/* ---------- 기술영업 지원 ---------- */
.proofSec{background:var(--bg)}
.proofGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.proofGrid article{background:#fff;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;box-shadow:var(--shadow-s)}
.proofGrid img{width:100%;aspect-ratio:16/10;height:auto;object-fit:cover}
.proofGrid div{padding:20px 22px 24px}
.proofGrid strong{font-size:19px;font-weight:700}
.proofGrid p{color:var(--muted);line-height:1.7;margin:6px 0 0;font-size:14.5px}

/* ---------- 샘플 요청 ---------- */
.sampleSec{background:#fff}
.split{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start}
.sampleCopy h2{font-size:clamp(28px,3.4vw,42px);font-weight:700;margin:0 0 14px}
.sampleCopy>p:not(.eyebrow){color:var(--muted);font-size:17px;line-height:1.75;margin:0}
.samplePhoto{margin-top:28px;width:100%;aspect-ratio:16/10;height:auto;object-fit:cover;border-radius:var(--r)}
.form{display:grid;gap:12px}
.form h3{margin:0 0 4px;font-size:20px}
.agree{display:flex;gap:10px;align-items:center;font-weight:500;font-size:14px;color:var(--muted)}
.agree input{width:18px;height:18px;margin:0;flex:none;accent-color:var(--blue);padding:0}

/* ---------- 견적·주문 ---------- */
.orderSec{background:var(--bg)}
.orderGrid{display:grid;grid-template-columns:1.2fr .8fr;gap:24px;align-items:start}
.orderList{padding:8px 22px;min-height:100%}
.orderItem{display:grid;grid-template-columns:1.5fr 1fr 84px 36px;gap:10px;align-items:center;padding:14px 0;border-bottom:1px solid var(--line)}
.orderItem:last-child{border-bottom:0}
.orderItem b{font-size:15px}
.orderItem small{display:block;color:var(--muted);font-size:12.5px}
.orderItem input{padding:10px 12px;font-size:14px}
.removeItem{border:0;background:#fee4e2;color:#b42318;border-radius:9px;height:36px;font-size:18px;line-height:1;transition:background .15s}
.removeItem:hover{background:#fecdca}
.emptyOrder{text-align:center;padding:72px 20px;color:var(--muted)}
.emptyOrder b{display:block;color:var(--ink);font-size:17px;margin-bottom:4px}
.emptyOrder p{margin:0;font-size:14px}

/* ---------- 기술자료 ---------- */
.dataSec{background:#fff}
.dataGrid{display:grid;grid-template-columns:1.2fr .8fr;gap:24px;align-items:stretch}
.photoData{padding:0;overflow:hidden}
.photoData>img{width:100%;aspect-ratio:21/9;height:auto;object-fit:cover}
.photoData>div{padding:24px 26px 26px}
.dataCard h3{margin:0 0 14px;font-size:20px}
.searchBox{display:flex;gap:8px}
.searchBox .btn{min-width:88px}
.miniResults{margin-top:10px}
.miniResult{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}
.miniResult small{display:block;color:var(--muted);font-size:12.5px}
.docs div{display:grid;grid-template-columns:120px 1fr;gap:12px;align-items:baseline;padding:14px 0;border-bottom:1px solid var(--line)}
.docs div:last-child{border-bottom:0}
.docs span{font-weight:700;color:var(--blue);font-size:14px}
.docs p{margin:0;color:var(--text);font-size:14.5px}

/* ---------- 플로팅 버튼 ---------- */
.floatingActions{position:fixed;right:20px;bottom:20px;z-index:40;display:flex;gap:4px;padding:5px;border-radius:999px;background:rgba(15,33,64,.9);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 12px 32px rgba(15,33,64,.28)}
.floatingActions a{color:#fff;padding:10px 16px;border-radius:999px;font-weight:600;font-size:13.5px;white-space:nowrap;transition:background .15s}
.floatingActions a:hover{background:rgba(255,255,255,.14)}
.floatingActions a:last-child{background:var(--blue)}

/* ---------- 모달 ---------- */
.modal{display:none;position:fixed;inset:0;background:rgba(9,18,34,.55);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:90;padding:48px 20px;overflow:auto}
.modal.show{display:block}
.modalBox{max-width:960px;margin:auto;background:#fff;border-radius:20px;padding:34px;position:relative;box-shadow:var(--shadow);animation:pop .22s ease}
@keyframes pop{from{opacity:0;transform:translateY(10px)}}
.close{position:absolute;right:16px;top:14px;width:38px;height:38px;border:0;border-radius:50%;background:#f1f4f8;font-size:24px;line-height:1;color:var(--muted);z-index:3}
.close:hover{background:#e4e9f0;color:var(--ink)}
.modalBox h2{font-size:28px;margin:4px 0 6px}
.modalBox h3{font-size:17px;margin:0 0 6px;font-weight:600;color:var(--text)}
.modalBox .lead{color:var(--muted);font-size:16px}
.detailTop{display:grid;grid-template-columns:300px 1fr;gap:28px;align-items:start}
.detailVisual{aspect-ratio:1/1;height:auto;border-radius:var(--r);overflow:hidden;background:linear-gradient(135deg,#e9eef5,#d6e0ec)}
.detailVisual img{width:100%;height:100%;object-fit:cover}
.detailCtas{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}
.compareTable{margin-top:24px}
.compareTable th{background:#f8fafc;font-size:13px;color:var(--muted);font-weight:700}
.compareTable td:first-child{color:var(--muted);font-weight:600;width:130px;white-space:nowrap}
.caseDetailHero{aspect-ratio:21/8;height:auto;border-radius:var(--r);overflow:hidden;margin-bottom:22px;background:linear-gradient(160deg,#20365d,#0d1a2e)}
.caseDetailHero img{width:100%;height:100%;object-fit:cover}
.caseDetailGrid{display:grid;grid-template-columns:1.2fr .8fr;gap:20px;margin-top:20px}
.caseInfoPanel,.caseActionPanel{border:1px solid var(--line);border-radius:var(--r);padding:20px 22px}
.caseInfoPanel dl{margin:0}
.caseInfoPanel div{padding:12px 0;border-bottom:1px solid var(--line)}
.caseInfoPanel div:last-child{border-bottom:0}
.caseInfoPanel dt{font-size:12px;font-weight:700;color:var(--muted);margin-bottom:2px}
.caseInfoPanel dd{margin:0;font-weight:600;line-height:1.5}
.caseActionPanel{background:var(--bg)}
.caseActionPanel h3{margin-top:0;font-size:18px;font-weight:700;color:var(--ink)}
.caseActionPanel p{color:var(--muted);font-size:14px}
.caseActionPanel .btn{margin-top:8px;width:100%}

/* ---------- 토스트 · 푸터 ---------- */
.toast{display:none;position:fixed;left:50%;bottom:88px;transform:translateX(-50%);background:rgba(15,26,43,.95);color:#fff;padding:13px 20px;border-radius:12px;z-index:100;font-size:14px;font-weight:500;box-shadow:var(--shadow);max-width:calc(100% - 32px);text-align:center}
footer{padding:44px var(--gut) 100px;background:var(--navy);color:#b9c6d8;display:flex;justify-content:space-between;gap:30px;font-size:14px}
footer b{color:#fff;font-size:16px}
footer p{margin:6px 0 0}
footer>div:last-child{max-width:520px;text-align:right;color:#8fa0b8}

@media(min-width:1380px){.cards{grid-template-columns:repeat(4,minmax(0,1fr))}.productBody h3{font-size:19px}}

/* =========================================================
   반응형
   ========================================================= */
@media(max-width:1200px){
  .topbar nav a{padding:8px 9px;font-size:14px}
  .cards{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:1100px){
  .topbar nav{display:none;position:absolute;top:72px;left:0;right:0;background:#fff;padding:14px var(--gut) 20px;flex-direction:column;align-items:stretch;gap:2px;border-bottom:1px solid var(--line);box-shadow:0 20px 40px rgba(15,33,64,.1)}
  .topbar nav.open{display:flex}
  .topbar nav a{font-size:16px;padding:12px 10px}
  .mobile{display:grid;place-items:center;margin-left:auto}
  .basketBtn{display:none}
  .hero{grid-template-columns:1fr;gap:36px;min-height:0;padding-top:72px}
  .heroProof{justify-self:start;max-width:620px}
  .quickEntry{grid-template-columns:1fr;gap:16px}
  .quickLinks{grid-template-columns:repeat(2,1fr)}
  .steps,.galleryGrid,.categoryTiles{grid-template-columns:repeat(2,1fr)}
  .applicationGrid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .consultGrid,.finderGrid,.split,.orderGrid,.dataGrid{grid-template-columns:1fr}
  .photoAside{min-height:440px}
  .filterPanel{position:static;grid-template-columns:repeat(3,1fr);align-items:end}
  .filterPanel .btn{grid-column:span 1}
  .cards{grid-template-columns:repeat(3,minmax(0,1fr))}
  .caseMethodGrid{grid-template-columns:repeat(2,1fr)}
  .proofGrid{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:860px){
  .applicationGrid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cards{grid-template-columns:repeat(2,minmax(0,1fr))}
  .proofGrid{grid-template-columns:1fr 1fr}
  .filterPanel{grid-template-columns:1fr 1fr}
  .detailTop{grid-template-columns:1fr}.detailVisual{max-width:300px;aspect-ratio:4/3}
  .caseDetailGrid{grid-template-columns:1fr}
}
@media(max-width:640px){
  body{font-size:15px}
  .topbar{height:64px;gap:12px}
  .topbar nav{top:64px}
  .brand{font-size:17px}.logo{width:32px;height:32px;font-size:13px}
  .section,.photoFunnel,.industryGallery{padding:64px 16px}
  .quickEntry{padding:20px 16px}
  .sectionHead{margin-bottom:26px}
  .sectionHead p:not(.eyebrow),.funnelIntro p:not(.eyebrow),.sampleCopy>p:not(.eyebrow){font-size:15.5px}
  .rowHead{flex-direction:column;align-items:flex-start;gap:14px}
  /* hero */
  .hero{padding:44px 16px 48px;gap:28px}
  .hero h1{font-size:clamp(30px,8.6vw,38px);margin-bottom:16px}
  .lead{font-size:15.5px}
  .ctaRow{margin:24px 0 20px}.ctaRow .btn{flex:1}
  .trustRow{gap:6px;font-size:12.5px}.trustRow span{padding:5px 10px}
  .heroProof{padding:18px;border-radius:18px}
  .heroProof h3{font-size:21px}
  .proofPhotos{gap:6px;margin:14px 0}
  .proofPhotos figure{aspect-ratio:1/1}
  .proofPhotos figcaption{font-size:10.5px;left:5px;bottom:5px;padding:3px 6px}
  /* quick / steps */
  .quickLinks{gap:8px}
  .quickLinks a{padding:14px 14px 12px}
  .quickLinks a:after{display:none}
  .quickLinks strong{font-size:14.5px}.quickLinks em{font-size:11.5px}
  .steps{gap:10px;margin-top:24px}
  .steps img{aspect-ratio:4/3}
  .steps span{width:30px;height:30px;left:10px;top:10px;font-size:12px}
  .steps b{font-size:16px;margin:12px 14px 2px}.steps p{font-size:13px;margin:0 14px 16px}
  /* consult */
  .wizard,.form,.filterPanel,.dataCard{padding:20px}
  .formGrid.two,.formGrid.three{grid-template-columns:1fr}
  .consultStatus{display:grid;gap:4px}.consultStatus b{text-align:left}
  .wizardProgress span{font-size:13px;padding:8px 4px 11px}
  .consultActions{grid-template-columns:1fr}
  .photoAside{min-height:380px}
  .asideCopy{left:22px;right:22px;bottom:22px}.asideCopy h3{font-size:23px}
  /* gallery / applications */
  .galleryGrid{gap:10px}
  .galleryCard{aspect-ratio:4/5}
  .galleryCard span{font-size:18px;bottom:40px;left:14px}.galleryCard small{font-size:12px;bottom:16px;left:14px;right:14px}
  .applicationTabs{flex-wrap:nowrap;overflow-x:auto;margin:0 -16px 18px;padding:0 16px 4px;scrollbar-width:none}
  .applicationTabs::-webkit-scrollbar{display:none}
  .applicationTabs button{white-space:nowrap;flex:none}
  .applicationGrid{gap:10px}
  .applicationCard{aspect-ratio:3/4}
  .applicationCard .caseContent{left:12px;right:12px;bottom:12px}
  .applicationCard h3{font-size:15px}
  .applicationCard p,.caseMeta{display:none}
  .applicationCard .caseType{font-size:11px;padding:4px 8px;margin-bottom:6px}
  .caseGuide{flex-direction:column;align-items:flex-start;gap:14px;padding:20px}
  .caseGuide strong{font-size:14.5px}
  /* finder */
  .filterPanel{grid-template-columns:1fr 1fr;gap:10px}
  .filterPanel label:has(#keywordFilter){grid-column:1/-1}
  .recommendSummary{flex-direction:column;align-items:flex-start;gap:6px;padding:16px 18px}
  .resultBar{flex-direction:column;align-items:flex-start;gap:2px}
  .cards{gap:10px}
  .productVisual{aspect-ratio:4/3}
  .typeFlag{left:8px;top:8px;font-size:10.5px;padding:4px 7px}
  .matchScore{right:8px;top:8px;font-size:11px;padding:4px 8px}
  .productBody{padding:12px 12px 14px}
  .productBody h3{font-size:17px}
  .name{font-size:12.5px}
  .spec{font-size:11.5px;margin-top:6px}
  .badges{display:none}
  .recommendReason{font-size:11.5px;padding:7px 9px;margin-top:8px}
  .salesBadge{display:none}
  .cardBtns{grid-template-columns:1fr;gap:6px;padding-top:10px}
  .cardBtns .btn{min-height:38px;font-size:13px}
  /* products */
  .categoryTiles{gap:10px}
  .categoryTile{min-height:104px;padding:16px}
  .categoryTile strong{font-size:16px;margin-bottom:12px}
  .categoryTile span{font-size:12px}
  .tabs{flex-wrap:nowrap;overflow-x:auto;margin:24px -16px 12px;padding:0 16px 4px;scrollbar-width:none}
  .tabs::-webkit-scrollbar{display:none}.tab{flex:none}
  .tableWrap{max-height:480px}
  .dbTable{font-size:13px}.dbTable th,.dbTable td{padding:10px 12px;white-space:nowrap}
  .dbTable th:nth-child(4),.dbTable td:nth-child(4),.dbTable th:nth-child(6),.dbTable td:nth-child(6){display:none}
  /* method / proof */
  .caseMethodGrid{gap:10px}
  .caseMethodGrid article{padding:18px 16px}
  .caseMethodGrid span{width:32px;height:32px;font-size:12px;margin-bottom:10px}
  .caseMethodGrid b{font-size:15.5px}.caseMethodGrid p{font-size:13px}
  .proofGrid{grid-template-columns:1fr;gap:12px}
  .proofGrid article{display:grid;grid-template-columns:120px 1fr}
  .proofGrid img{aspect-ratio:auto;height:100%}
  .proofGrid div{padding:16px}
  .proofGrid strong{font-size:16px}.proofGrid p{font-size:13px;margin-top:4px}
  /* sample / order / data */
  .split{gap:24px}
  .samplePhoto{margin-top:20px;aspect-ratio:16/9}
  .orderList{padding:4px 16px}
  .orderItem{grid-template-columns:1fr 84px 36px;gap:8px}
  .orderItem>div{grid-column:1/-1}
  .orderItem input:first-of-type{grid-column:1}
  .emptyOrder{padding:44px 12px}
  .docs div{grid-template-columns:100px 1fr}
  .photoData>div{padding:20px}
  /* floating / modal / footer */
  .floatingActions{left:12px;right:12px;bottom:12px;justify-content:space-between}
  .floatingActions a{flex:1;text-align:center;padding:11px 6px;font-size:13px}
  .modal{padding:0}
  .modalBox{border-radius:0;min-height:100%;padding:56px 18px 28px}
  .modalBox h2{font-size:24px}
  .compareTable{display:block;overflow-x:auto;white-space:nowrap}
  .toast{bottom:80px}
  footer{flex-direction:column;padding:36px 16px 100px}
  footer>div:last-child{text-align:left}
}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* ---------- 하단 푸터 (ARCHE) ---------- */
footer.siteFooter{display:grid;grid-template-columns:minmax(180px,1fr) auto minmax(0,1fr);align-items:center;gap:40px;padding:40px var(--gut) 44px;background:linear-gradient(180deg,#f3efe7 0%,#faf8f4 55%,#fff 100%);color:#333a45;border-top:1px solid #ebe5da;font-size:15px}
.footLogo{display:inline-flex;justify-self:start}
.footLogo img{width:220px;height:auto;background:none}
.footInfo{text-align:center;display:grid;gap:8px}
.footMenu{display:flex;justify-content:center;flex-wrap:wrap;gap:6px 42px;margin-bottom:10px}
.footMenu a{font-size:18px;font-weight:700;color:#1f2937;letter-spacing:-.01em;transition:color .15s}
.footMenu a:hover{color:var(--blue)}
.footInfo p{margin:0;display:flex;justify-content:center;flex-wrap:wrap;gap:4px 26px;color:#3b4250;line-height:1.6}
.footInfo p a{color:inherit}
.footInfo p a:hover{color:var(--blue)}
.footInfo p.copy{margin-top:8px;font-size:17px;font-weight:700;color:#1f2937}
@media(max-width:1100px){footer.siteFooter{grid-template-columns:1fr;justify-items:center;gap:22px;text-align:center}.footLogo{justify-self:center}}
@media(max-width:640px){footer.siteFooter{padding:32px 16px 100px;font-size:13px}.footLogo img{width:170px}.footMenu{gap:6px 18px}.footMenu a{font-size:15px}.footInfo p{gap:2px 14px}.footInfo p.copy{font-size:13.5px}}
footer.siteFooter>.footInfo{max-width:none;text-align:center;color:#3b4250}

/* =========================================================
   DESIGN UPGRADE — 버튼 · 입력폼 · 이미지 · 카드 · 인터랙션
   (아래 규칙이 위의 기본 스타일을 덮어씁니다)
   ========================================================= */
:root{
  --ease:cubic-bezier(.22,.8,.24,1);
  --ease-img:cubic-bezier(.2,.7,.1,1);
  --ink2:#111827;
  --field:#f4f6f9; --field-h:#eceff4;
  --ring:0 0 0 4px rgba(22,103,232,.14);
  --lift:0 22px 48px -12px rgba(15,33,64,.22),0 4px 12px rgba(15,33,64,.06);
}
::selection{background:rgba(22,103,232,.18)}

/* ---------- 푸터: 흰 배경 ---------- */
footer.siteFooter{background:#fff;border-top:1px solid #eceef2}

/* ---------- 헤더 메뉴: 밑줄 애니메이션 ---------- */
.topbar{background:rgba(255,255,255,.78);border-bottom-color:rgba(15,33,64,.06)}
.topbar nav a{position:relative;background:none!important;color:#3a4252}
.topbar nav a:after{content:"";position:absolute;left:12px;right:12px;bottom:3px;height:2px;border-radius:2px;background:var(--ink2);transform:scaleX(0);transform-origin:center;transition:transform .35s var(--ease)}
.topbar nav a:hover{color:var(--ink2)}
.topbar nav a:hover:after{transform:scaleX(1)}
.basketBtn{border-radius:999px;padding:11px 18px;background:var(--ink2);transition:background .25s var(--ease),transform .25s var(--ease),box-shadow .25s var(--ease)}
.basketBtn:hover{background:#000;transform:translateY(-1px);box-shadow:0 10px 24px -8px rgba(0,0,0,.45)}
.logo{transition:transform .5s var(--ease)}
.brand:hover .logo{transform:rotate(-8deg) scale(1.05)}

/* ---------- 버튼 ---------- */
.btn{position:relative;overflow:hidden;isolation:isolate;min-height:50px;padding:0 26px;border-radius:999px;font-weight:600;font-size:15px;letter-spacing:-.01em;transition:background .3s var(--ease),color .3s var(--ease),border-color .3s var(--ease),transform .3s var(--ease),box-shadow .3s var(--ease)}
.btn:active{transform:scale(.97)}
.btn:focus-visible{outline:none;box-shadow:0 0 0 3px #fff,0 0 0 6px rgba(22,103,232,.5)}
/* 빛이 스치는 효과 */
.btn:before{content:"";position:absolute;top:0;bottom:0;left:-60%;width:40%;z-index:-1;background:linear-gradient(100deg,transparent,rgba(255,255,255,.35),transparent);transform:skewX(-20deg);transition:left .7s var(--ease);pointer-events:none}
.primary{background:linear-gradient(180deg,#2a78f0,#1667e8);color:#fff;box-shadow:0 1px 0 rgba(255,255,255,.25) inset,0 8px 20px -8px rgba(22,103,232,.65)}
.ghost{background:#fff;border:1px solid #d9dee6;color:var(--ink2)}
.glass{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.45);color:#fff;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.light{background:var(--field);border:1px solid transparent;color:var(--ink2)}
.cardBtns .btn,.detailCtas .btn,.caseActionPanel .btn{min-height:44px;padding:0 16px;font-size:14px}
.searchBox .btn{min-height:50px}

/* ---------- 입력 폼 (애플 스타일) ---------- */
input,select,textarea{background:var(--field);border:1px solid transparent;border-radius:14px;padding:14px 16px;min-height:52px;font-size:15px;color:var(--ink2);transition:background .25s var(--ease),border-color .25s var(--ease),box-shadow .25s var(--ease)}
textarea{min-height:132px;padding:16px}
input::placeholder,textarea::placeholder{color:#9aa3b2;transition:color .2s}
input:hover,select:hover,textarea:hover{background:var(--field-h)}
input:focus,select:focus,textarea:focus{background:#fff;border-color:var(--blue);box-shadow:var(--ring);outline:none}
input:focus::placeholder,textarea:focus::placeholder{color:#c3c9d3}
input:user-invalid,textarea:user-invalid{border-color:#e5484d;box-shadow:0 0 0 4px rgba(229,72,77,.12)}
select{cursor:pointer;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 1.5l5 5 5-5' fill='none' stroke='%23596275' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;background-size:12px 8px;padding-right:42px}
label{font-weight:600;color:#3a4252}
.filterPanel select,.filterPanel input{min-height:46px;border-radius:12px;padding:10px 14px}
.filterPanel select{padding-right:38px;background-position:right 14px center}
.orderItem input{min-height:44px;border-radius:12px}
/* 체크박스 */
.agree{cursor:pointer;user-select:none}
.agree input[type=checkbox],input[type=checkbox]{appearance:none;-webkit-appearance:none;width:22px;height:22px;min-height:0;padding:0;margin:0;flex:none;border-radius:7px;background:#fff;border:1.5px solid #c9d0db;cursor:pointer;display:inline-grid;place-items:center;transition:background .2s var(--ease),border-color .2s var(--ease),box-shadow .2s var(--ease)}
input[type=checkbox]:after{content:"";width:11px;height:6px;border-left:2px solid #fff;border-bottom:2px solid #fff;transform:translateY(-1px) rotate(-45deg) scale(.4);opacity:0;transition:transform .25s var(--ease),opacity .2s}
input[type=checkbox]:checked{background:var(--blue);border-color:var(--blue)}
input[type=checkbox]:checked:after{opacity:1;transform:translateY(-1px) rotate(-45deg) scale(1)}
input[type=checkbox]:hover{border-color:var(--blue)}
input[type=checkbox]:focus-visible{box-shadow:var(--ring)}

/* 폼 컨테이너 */
.wizard,.form,.filterPanel,.dataCard,.orderList{border:1px solid #eceff4;border-radius:24px;box-shadow:0 1px 2px rgba(15,33,64,.04),0 12px 40px -16px rgba(15,33,64,.12)}
.sampleSec .form,.orderForm{padding:32px;gap:14px}
.consultStatus{border-radius:14px;border:0;background:linear-gradient(135deg,#eef4ff,#f4f8ff)}
.wizardProgress span{border-radius:12px;transition:background .3s var(--ease),color .3s var(--ease)}

/* 칩 · 탭 */
.chips button,.applicationTabs button,.tab{transition:background .25s var(--ease),color .25s var(--ease),border-color .25s var(--ease),transform .2s var(--ease)}
.chips button{background:#fff;border:1px solid #dde2ea;padding:9px 16px}
.chips button:active,.applicationTabs button:active,.tab:active{transform:scale(.96)}
.chips button.active,.applicationTabs button.active,.tab.active{background:var(--ink2);border-color:var(--ink2);color:#fff;box-shadow:0 6px 16px -6px rgba(17,24,39,.5)}

/* 링크 버튼 */
.linkBtn{position:relative;text-decoration:none!important}
.linkBtn:after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:1.5px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .3s var(--ease)}

/* ---------- 이미지 ---------- */
.steps img,.galleryCard img,.applicationCard img,.proofGrid img,.productVisual img,.photoData>img,.photoAside img,.proofPhotos img,.detailVisual img,.caseDetailHero img{transition:transform 1.1s var(--ease-img),filter .6s var(--ease)}
.samplePhoto{border-radius:24px;box-shadow:0 30px 60px -30px rgba(15,33,64,.45);transition:transform .8s var(--ease),box-shadow .8s var(--ease)}
.photoAside,.galleryCard,.applicationCard{border-radius:24px}
.galleryCard:after,.applicationCard:after{transition:opacity .6s var(--ease)}
.productVisual{margin:8px 8px 0;border-radius:14px}
.steps article,.proofGrid article,.productCard{border-radius:20px}
.steps article img,.proofGrid img{border-radius:0}

/* ---------- 카드 ---------- */
.productCard,.steps article,.proofGrid article,.caseMethodGrid article,.quickLinks a,.categoryTile,.dataCard{transition:transform .5s var(--ease),box-shadow .5s var(--ease),border-color .4s var(--ease)}
.productCard{border-color:#eceff4;box-shadow:0 1px 2px rgba(15,33,64,.04)}
.caseMethodGrid article{background:#fff;border-color:#eceff4}
.caseMethodGrid span{box-shadow:0 8px 18px -8px rgba(22,103,232,.7);transition:transform .5s var(--ease)}
.quickLinks a{background:#fff;border-color:#eceff4;border-radius:18px}
.categoryTile{border-radius:20px}
.categoryTile:after{transition:transform .8s var(--ease)}
.categoryTile span{transition:letter-spacing .4s var(--ease),color .3s}

/* 표 */
.tableWrap{border-radius:20px;border-color:#eceff4}
.dbTable tbody tr{transition:background .2s}
.dbTable tbody tr:hover td{background:#f5f8ff}

/* ---------- 모달 · 토스트 · 플로팅 ---------- */
.modal{background:rgba(9,14,24,.45);backdrop-filter:blur(14px) saturate(140%);-webkit-backdrop-filter:blur(14px) saturate(140%)}
.modalBox{border-radius:28px;animation:modalIn .45s var(--ease)}
@keyframes modalIn{from{opacity:0;transform:translateY(16px) scale(.97)}}
.close{transition:background .2s,transform .3s var(--ease)}
.close:hover{transform:rotate(90deg)}
.toast{border-radius:999px;padding:14px 24px;background:rgba(17,24,39,.88);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);animation:toastIn .4s var(--ease)}
@keyframes toastIn{from{opacity:0;transform:translate(-50%,12px)}}
.floatingActions{background:rgba(17,24,39,.82);border:1px solid rgba(255,255,255,.08);backdrop-filter:blur(16px) saturate(160%);-webkit-backdrop-filter:blur(16px) saturate(160%)}
.floatingActions a{transition:background .25s var(--ease),transform .25s var(--ease)}
.floatingActions a:active{transform:scale(.95)}

/* ---------- 푸터 링크 ---------- */
.footMenu a{position:relative}
.footMenu a:after{content:"";position:absolute;left:0;right:0;bottom:-4px;height:2px;border-radius:2px;background:var(--ink2);transform:scaleX(0);transition:transform .35s var(--ease)}
.footLogo img{transition:opacity .3s}

/* =========================================================
   마우스오버 (마우스가 있는 기기에서만 — 모바일 오작동 방지)
   ========================================================= */
@media (hover:hover) and (pointer:fine){
  .btn:hover:before{left:120%}
  .primary:hover{background:linear-gradient(180deg,#1f6ff0,#0f58d2);transform:translateY(-2px);box-shadow:0 1px 0 rgba(255,255,255,.25) inset,0 16px 32px -12px rgba(22,103,232,.75)}
  .ghost:hover{background:var(--ink2);border-color:var(--ink2);color:#fff;transform:translateY(-2px);box-shadow:0 14px 28px -12px rgba(17,24,39,.5)}
  .glass:hover{background:#fff;border-color:#fff;color:var(--ink2);transform:translateY(-2px)}
  .light:hover{background:#e6eaf0;transform:translateY(-1px)}
  .chips button:hover:not(.active),.applicationTabs button:hover:not(.active),.tab:hover:not(.active){border-color:var(--ink2);color:var(--ink2);background:#fff}
  .linkBtn:hover:after,.footMenu a:hover:after{transform:scaleX(1)}
  .footLogo:hover img{opacity:.7}

  /* 카드 떠오름 */
  .productCard:hover{transform:translateY(-6px);box-shadow:var(--lift);border-color:transparent}
  .productCard:hover .productVisual img{transform:scale(1.07)}
  .steps article:hover,.proofGrid article:hover{transform:translateY(-6px);box-shadow:var(--lift)}
  .steps article:hover img,.proofGrid article:hover img{transform:scale(1.06)}
  .caseMethodGrid article:hover{transform:translateY(-4px);box-shadow:var(--lift);border-color:transparent}
  .caseMethodGrid article:hover span{transform:rotate(-8deg) scale(1.08)}
  .quickLinks a:hover{transform:translateY(-4px);box-shadow:var(--lift);border-color:transparent}
  .categoryTile:hover{transform:translateY(-4px);box-shadow:0 24px 44px -16px rgba(15,33,64,.55)}
  .categoryTile:hover:after{transform:scale(1.35) rotate(20deg)}
  .categoryTile:hover span{letter-spacing:.02em;color:#fff}
  .dataCard:hover{box-shadow:var(--lift)}

  /* 이미지 확대 + 명암 */
  .galleryCard:hover img,.applicationCard:hover img{transform:scale(1.08);filter:saturate(1.1)}
  .galleryCard:hover:after,.applicationCard:hover:after{opacity:.85}
  .photoAside:hover img{transform:scale(1.05)}
  .photoData:hover>img{transform:scale(1.04)}
  .proofPhotos figure:hover img{transform:scale(1.1)}
  .samplePhoto:hover{transform:translateY(-4px);box-shadow:0 40px 70px -30px rgba(15,33,64,.55)}
  .detailVisual:hover img,.caseDetailHero:hover img{transform:scale(1.04)}
}

/* ---------- 첫 화면 등장 애니메이션 ---------- */
@keyframes riseIn{from{opacity:0;translate:0 22px}to{opacity:1;translate:0 0}}
.heroText>*{animation:riseIn .9s var(--ease) both}
.heroText>*:nth-child(2){animation-delay:.08s}.heroText>*:nth-child(3){animation-delay:.16s}.heroText>*:nth-child(4){animation-delay:.24s}.heroText>*:nth-child(5){animation-delay:.32s}
.heroProof{animation:riseIn 1s .25s var(--ease) both}

/* ---------- 스크롤 시 부드럽게 등장 (지원 브라우저에서만) ---------- */
@supports (animation-timeline: view()){
  .steps article,.galleryCard,.applicationCard,.productCard,.categoryTile,.caseMethodGrid article,.proofGrid article,.quickLinks a,.sectionHead,.funnelIntro,.sampleCopy,.dataCard{animation:riseIn linear both;animation-timeline:view();animation-range:entry 0% entry 55%}
}

@media(max-width:640px){
  .btn{min-height:48px;padding:0 20px}
  .sampleSec .form,.orderForm{padding:22px}
  .wizard,.form,.filterPanel,.dataCard,.orderList{border-radius:20px}
  .galleryCard,.applicationCard,.photoAside{border-radius:18px}
  .modalBox{border-radius:0}
}
@media(prefers-reduced-motion:reduce){.heroText>*,.heroProof,.steps article,.galleryCard,.applicationCard,.productCard,.categoryTile,.caseMethodGrid article,.proofGrid article,.quickLinks a,.sectionHead,.funnelIntro,.sampleCopy,.dataCard{animation:none!important}}
.mobile{border-radius:14px;background:var(--ink2);transition:transform .2s var(--ease)}.mobile:active{transform:scale(.94)}

/* =========================================================
   하위 페이지 (회사소개 · 이용약관 · 개인정보보호정책 · 오시는 길)
   ========================================================= */
.subPage{background:#fff}
.subPage .basketBtn{display:inline-flex;align-items:center}
.footMenu a[aria-current="page"]{color:var(--blue)}
.footMenu a[aria-current="page"]:after{transform:scaleX(1);background:var(--blue)}
.pageHero{padding:88px var(--gut) 40px;background:linear-gradient(180deg,#f6f8fb,#fff)}
.pageHero h1{font-size:clamp(34px,4.4vw,56px);font-weight:800;letter-spacing:-.045em;margin:0 0 14px}
.pageLead{max-width:760px;color:var(--muted);font-size:17px;line-height:1.75;margin:0}
.pageHero>*,.aboutHero>*{animation:riseIn .8s var(--ease) both}
.pageHero>*:nth-child(2),.aboutHero>*:nth-child(2){animation-delay:.08s}
.pageHero>*:nth-child(3),.aboutHero>*:nth-child(3){animation-delay:.16s}

/* 약관 · 정책 문서 */
.docWrap{display:grid;grid-template-columns:230px 1fr;gap:56px;align-items:start;padding:24px var(--gut) 110px}
.docToc{position:sticky;top:96px;display:grid;gap:2px;padding:20px;border:1px solid #eceff4;border-radius:20px;background:#fff}
.docToc b{font-size:12.5px;letter-spacing:.12em;color:var(--blue);margin:0 0 8px 10px}
.docToc a{padding:8px 10px;border-radius:10px;font-size:14px;color:#4b5565;transition:background .2s var(--ease),color .2s var(--ease)}
.docBody{max-width:820px}
.docArticle{padding:30px 0;border-bottom:1px solid #eceff4;scroll-margin-top:96px}
.docArticle:first-child{padding-top:6px}
.docArticle:last-child{border-bottom:0}
.docArticle h2{font-size:21px;font-weight:700;margin:0 0 12px;letter-spacing:-.03em}
.docArticle p{margin:0;color:#3b4250;font-size:16px;line-height:1.9}
.docInfo{margin:0;display:grid;gap:0;border:1px solid #eceff4;border-radius:18px;overflow:hidden;background:#fff}
.docInfo div{display:grid;grid-template-columns:140px 1fr;gap:16px;padding:15px 20px;border-bottom:1px solid #eceff4}
.docInfo div:last-child{border-bottom:0}
.docInfo dt{color:var(--muted);font-weight:600;font-size:14.5px}
.docInfo dd{margin:0;font-weight:600;color:var(--ink2)}
.docInfo a{color:var(--ink2);background-image:linear-gradient(currentColor,currentColor);background-size:0 1.5px;background-position:0 100%;background-repeat:no-repeat;transition:background-size .3s var(--ease),color .2s}

/* 오시는 길 */
.dirWrap{display:grid;grid-template-columns:.85fr 1.15fr;gap:28px;align-items:stretch;padding:24px var(--gut) 28px}
.dirInfo{padding:32px;border:1px solid #eceff4;border-radius:24px;background:#fff;box-shadow:0 1px 2px rgba(15,33,64,.04),0 12px 40px -16px rgba(15,33,64,.12);display:flex;flex-direction:column;gap:20px}
.dirInfo h2,.dirGuide h2{font-size:22px;font-weight:700;margin:0;letter-spacing:-.03em}
.dirInfo .docInfo div{grid-template-columns:96px 1fr}
.mapLinks{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto}
.mapLinks .btn{min-height:44px;padding:0 18px;font-size:14px}
.dirMap{border-radius:24px;overflow:hidden;min-height:440px;background:linear-gradient(135deg,#e9eef5,#d6e0ec);box-shadow:0 30px 60px -30px rgba(15,33,64,.45)}
.dirMap iframe{display:block;width:100%;height:100%;min-height:440px;border:0}
.dirGuide{margin:0 var(--gut) 110px;padding:34px 36px;border-radius:24px;background:#f6f8fb;display:flex;justify-content:space-between;align-items:center;gap:28px}
.dirGuide p{margin:12px 0 0;color:#4b5565;line-height:1.85}
.dirCta{display:flex;gap:10px;flex:none}

/* 회사소개 */
.aboutHero{padding:110px var(--gut) 56px;text-align:center;background:radial-gradient(1200px 400px at 50% 0%,#eef4ff,#fff 70%)}
.aboutHero h1{font-size:clamp(32px,4.6vw,60px);font-weight:800;letter-spacing:-.05em;line-height:1.18;margin:0 auto;max-width:980px}
.aboutHero h1 em{font-style:normal;background:linear-gradient(90deg,#1667e8,#0ea5e9);-webkit-background-clip:text;background-clip:text;color:transparent}
.aboutName{margin:22px 0 0;font-size:17px;font-weight:700;letter-spacing:.02em;color:#4b5565}
.aboutVisual{margin:0 var(--gut);border-radius:28px;overflow:hidden;aspect-ratio:21/9;background:linear-gradient(135deg,#dfe6ef,#c9d4e2);box-shadow:0 40px 80px -40px rgba(15,33,64,.5)}
.aboutVisual img{width:100%;height:100%;object-fit:cover;transition:transform 1.4s var(--ease-img)}
.aboutBody{padding:96px var(--gut) 120px;display:grid;grid-template-columns:1fr 1fr;gap:56px 72px;align-items:start}
.aboutBody h2{font-size:clamp(24px,2.6vw,34px);font-weight:700;line-height:1.45;letter-spacing:-.035em;margin:0}
.aboutText{display:grid;gap:22px}
.aboutText p{margin:0;font-size:17px;line-height:1.95;color:#3b4250}
.aboutClosing{grid-column:1/-1;margin:24px 0 0;padding:36px 40px;border-radius:24px;background:var(--ink2);color:#fff;font-size:clamp(18px,2vw,24px);font-weight:700;letter-spacing:-.03em;text-align:center}

@media (hover:hover) and (pointer:fine){
  .docToc a:hover{background:#f3f6fb;color:var(--ink2)}
  .docInfo a:hover{background-size:100% 1.5px;color:var(--blue)}
  .aboutVisual:hover img{transform:scale(1.04)}
}
@media(max-width:1100px){.subPage .basketBtn{display:none}.docWrap{grid-template-columns:1fr;gap:20px}.docToc{position:static;display:flex;flex-wrap:wrap;gap:4px}.docToc b{width:100%}.dirWrap{grid-template-columns:1fr}.dirGuide{flex-direction:column;align-items:flex-start}.aboutBody{grid-template-columns:1fr;gap:28px}}
@media(max-width:640px){
  .pageHero{padding:52px 16px 24px}.pageLead{font-size:15.5px}
  .docWrap{padding:12px 16px 72px}
  .docToc{flex-wrap:nowrap;overflow-x:auto;padding:12px;margin:0 -16px;border-radius:0;border-left:0;border-right:0;scrollbar-width:none}
  .docToc::-webkit-scrollbar{display:none}.docToc b{display:none}.docToc a{white-space:nowrap;background:#f3f6fb;font-size:13px}
  .docArticle{padding:22px 0}.docArticle h2{font-size:18px}.docArticle p{font-size:15px}
  .docInfo div{grid-template-columns:100px 1fr;padding:13px 16px;gap:10px}
  .dirWrap{padding:12px 16px 20px}.dirInfo{padding:22px}.dirMap,.dirMap iframe{min-height:300px}
  .dirGuide{margin:0 16px 72px;padding:24px 22px}.dirGuide p br{display:none}.dirCta{flex-direction:column;width:100%}.dirCta .btn{width:100%}
  .aboutHero{padding:64px 16px 36px}.aboutVisual{margin:0 16px;border-radius:20px;aspect-ratio:4/3}
  .aboutBody{padding:56px 16px 72px}.aboutText p{font-size:15.5px}.aboutBody h2 br{display:none}
  .aboutClosing{padding:26px 22px;border-radius:20px}
}
/* 회사소개 사옥 사진: 건물이 잘 보이도록 비율·초점 조정 */
.aboutVisual{aspect-ratio:16/9}
.aboutVisual img{object-position:50% 70%;background:none}
@media(max-width:640px){.aboutVisual{aspect-ratio:4/3}}

/* r7: 기술자료 링크 */
.compareTable td a{color:var(--blue,#2c73c9);font-weight:600;text-decoration:underline;text-underline-offset:3px;word-break:break-all}
.compareTable td a:hover{opacity:.75}
.compareTable.detailSpec td:last-child{line-height:1.6;overflow-wrap:anywhere}
@media (max-width:760px){.compareTable.detailSpec{display:table;white-space:normal;overflow:visible}.compareTable.detailSpec td{padding:11px 8px}.compareTable.detailSpec td:first-child{width:78px;white-space:normal;word-break:keep-all}}
