/* ══ 바지런 로지스 — 물류 B2B 5페이지 ═══════════════════════════════
   홈페이지 11종과 겹치지 않게 잡은 것 셋.

   1) 골격이 다르다. 나머지 열한 개는 전부 **정지 사진 히어로**다.
      여기만 100vh 풀블리드 영상 세 편이 크로스페이드로 돈다.
   2) 톤이 혼합이다. 히어로·공정·CTA·푸터만 잉크, 나머지는 흰 바탕.
      끝까지 어두우면 표와 사진이 안 읽히고, 끝까지 밝으면 무게가 안 실린다.
   3) 색은 둘뿐 — 잉크 + 시그널 옐로우. 파랑을 안 쓴 이유는 gov-center(공공 파랑)와
      멀리서 볼 때 붙기 때문이다. 노랑은 물류 현장의 안전색이라 사진과도 붙는다.

   옐로우 운용 규칙 (이게 이 데모의 문법)
     · 어두운 바탕 위 → 글자로 써도 된다 (#F5C518 on #0F1319 = 11.4:1)
     · 밝은 바탕 위  → **배경으로만.** 흰 바탕에 노란 글자는 대비가 2:1대로 떨어진다.
       밝은 곳에서 글자로 써야 하면 --sig-d(#8A6A00, 5.0:1) 를 쓴다.
     · 누를 수 있는 것 · 핵심 숫자 · 섹션 라벨 점. 장식으로 뿌리지 않는다.

   라운드 10px — 잇지(4) · 세무(0) · 미술학원(22)과 겹치지 않는 자리.  */
@font-face{font-family:'P';font-weight:400;font-display:swap;src:url('../../assets/fonts/Pretendard-Regular.woff2') format('woff2')}
@font-face{font-family:'P';font-weight:600;font-display:swap;src:url('../../assets/fonts/Pretendard-SemiBold.woff2') format('woff2')}
@font-face{font-family:'P';font-weight:700;font-display:swap;src:url('../../assets/fonts/Pretendard-Bold.woff2') format('woff2')}

:root{
  --ink:#0F1319; --ink2:#171D26; --ink3:#232B36;
  --paper:#FFFFFF; --surf:#FFFFFF; --tint:#F3F5F7;
  --sub:#5B6675; --faint:#6E7885;
  --line:#DCE1E7; --hair:#EDF0F3;
  --sig:#F5C518; --sig-d:#8A6A00; --sig-l:#FEF6D8;
  --r:10px; --r-s:6px;
  --mono:'Consolas','SF Mono','P',monospace;
  --px:clamp(20px,4.4vw,64px);
  --hh:66px;                     /* 헤더 높이 — scroll-padding 과 맞춘다 */
}
*{margin:0;padding:0;box-sizing:border-box}
[hidden]{display:none!important}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--hh) + 10px)}
body{font-family:'P',-apple-system,BlinkMacSystemFont,'Malgun Gothic',sans-serif;
  background:var(--paper);color:var(--ink);word-break:keep-all;line-height:1.8;
  -webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{font-family:inherit}
.wrap{max-width:1280px;margin:0 auto;padding:0 var(--px)}
.wrap.narrow{max-width:900px}
.mono{font-family:var(--mono);font-size:11.5px;letter-spacing:.19em;text-transform:uppercase}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ── 잇지 데모 바 ─────────────────────────────────────── */
:root{--itge-acc:#3E4A2A;--itge-sig:#A8402A}
.itgebar{background:var(--itge-acc);color:#fff;position:relative;z-index:60}
.itgebar .wrap{display:flex;align-items:center;gap:14px;height:42px;font-size:12.5px;max-width:1400px}
.itgebar .mono{color:rgba(255,255,255,.62)}
.itgebar .t{color:rgba(255,255,255,.9);font-weight:600}
.itgebar .sep{color:rgba(255,255,255,.3)}
.itgebar .back{margin-left:auto;background:var(--itge-sig);color:#fff;font-size:12px;font-weight:600;
  padding:6px 13px;border-radius:4px;white-space:nowrap}
@media(max-width:760px){.itgebar .t,.itgebar .sep{display:none}}

/* ── 헤더 ── 히어로 위에서는 투명, 스크롤하면 흰 판이 깔린다 ────
   JS 가 없으면 흰 글자가 흰 바탕에 얹혀 안 보인다. 그래서 투명 상태는
   html.js 가 붙었을 때만 적용한다 (head 인라인 한 줄이 붙인다). */
header{position:sticky;top:0;z-index:50;background:var(--surf);
  border-bottom:1px solid var(--line);transition:background .3s,border-color .3s}
header .wrap{display:flex;align-items:center;height:var(--hh);gap:26px;max-width:1400px}
.logo{display:flex;align-items:center;gap:9px;font-size:19px;font-weight:700;letter-spacing:-.035em;flex:none}
.logo svg{width:23px;height:23px;flex:none}
.logo i{font-style:normal;font-weight:600;font-size:12px;letter-spacing:.14em;color:var(--faint);
  text-transform:uppercase;padding-top:2px}
header nav{margin-left:auto;display:flex;gap:30px;font-size:15px;font-weight:600;color:var(--sub)}
header nav a{position:relative;padding:4px 0}
header nav a::after{content:'';position:absolute;left:0;right:0;bottom:-2px;height:2px;background:var(--sig);
  transform:scaleX(0);transition:transform .25s}
header nav a:hover::after,header nav a.on::after{transform:scaleX(1)}
.hdbtn{background:var(--sig);color:var(--ink);padding:11px 20px;border-radius:var(--r-s);
  font-size:14px;font-weight:700;white-space:nowrap;flex:none;transition:filter .2s}
.hdbtn:hover{filter:brightness(1.07)}
.nvt{position:absolute;opacity:0;width:0;height:0;pointer-events:none}
.navbtn{display:none}

html.js .hero-page header{background:transparent;border-bottom-color:transparent}
html.js .hero-page header .logo{color:#fff}
html.js .hero-page header .logo i{color:rgba(255,255,255,.6)}
html.js .hero-page header nav{color:rgba(255,255,255,.86)}
html.js .hero-page header.solid{background:rgba(255,255,255,.97);border-bottom-color:var(--line);
  backdrop-filter:saturate(1.4) blur(8px)}
html.js .hero-page header.solid .logo{color:var(--ink)}
html.js .hero-page header.solid .logo i{color:var(--faint)}
html.js .hero-page header.solid nav{color:var(--sub)}

/* ── 히어로 ── 영상 세 편이 크로스페이드 ───────────────── */
.hero{position:relative;min-height:calc(100svh - 42px);min-height:calc(100vh - 42px);
  background:#0A0D12;display:flex;flex-direction:column;justify-content:flex-end;
  margin-top:calc(var(--hh) * -1);padding-top:var(--hh);overflow:hidden;color:#fff}
.hero .vid{position:absolute;inset:0;z-index:0}
.hero .vid>*{position:absolute;inset:0;width:100%;height:100%;transition:opacity 1.1s ease}
.hero .vid video{object-fit:cover;opacity:0}
.hero .vid video.on{opacity:1}
/* poster 는 마지막에 두어 영상 위를 덮고 있다가, 첫 프레임이 뜨면 걷힌다 */
.hero .vid .poster img{width:100%;height:100%;object-fit:cover}
.hero .vid .poster.gone{opacity:0}
.hero .scrim{position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(180deg,rgba(8,11,16,.74) 0%,rgba(8,11,16,.26) 26%,
    rgba(8,11,16,.30) 52%,rgba(8,11,16,.80) 84%,rgba(8,11,16,.94) 100%)}
.hero .wrap{position:relative;z-index:2}
.hero .hin{padding:clamp(30px,5vw,64px) 0 clamp(22px,3vw,34px)}
.hero .mono{color:var(--sig);display:block;margin-bottom:18px}
.hero h1{font-size:clamp(33px,6.4vw,84px);font-weight:700;letter-spacing:-.05em;line-height:1.1}
.hero h1 em{font-style:normal;display:block}
.hero .lead{margin-top:clamp(16px,2vw,24px);font-size:clamp(15.5px,1.5vw,20px);
  color:rgba(255,255,255,.82);max-width:31em;line-height:1.72}
.hero .acts{display:flex;gap:10px;margin-top:clamp(24px,3vw,36px);flex-wrap:wrap}
/* nowrap 이 없으면 flex 안에서 "무료 / 견적 / 받기" 로 세 줄이 난다 (word-break:keep-all 이라도) */
.hero .acts a{padding:15px 26px;border-radius:var(--r-s);font-size:15.5px;font-weight:700;
  display:inline-flex;align-items:center;gap:9px;white-space:nowrap;
  transition:transform .2s,background .2s}
.hero .acts a:first-child{background:var(--sig);color:var(--ink)}
.hero .acts a+a{border:1px solid rgba(255,255,255,.42);color:#fff}
.hero .acts a:hover{transform:translateY(-2px)}
.hero .acts a+a:hover{background:rgba(255,255,255,.12)}

/* 히어로 하단 띠 — 3칸은 모바일에서도 3열을 유지하고 글자만 줄인다 */
.hbar{position:relative;z-index:2;border-top:1px solid rgba(255,255,255,.2)}
.hbar .wrap{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(10px,2vw,30px);
  padding-top:clamp(14px,1.7vw,20px);padding-bottom:clamp(16px,2vw,24px)}
.hbar .k{font-family:var(--mono);font-size:10.5px;letter-spacing:.16em;color:rgba(255,255,255,.55);
  text-transform:uppercase}
.hbar .v{margin-top:5px;font-size:clamp(14px,1.7vw,19px);font-weight:700;letter-spacing:-.03em;
  color:#fff;line-height:1.35}
.hbar .v b{color:var(--sig);font-weight:700}

/* 인디케이터 + 스크롤 신호 */
.hnav{position:absolute;right:var(--px);bottom:calc(clamp(16px,2vw,24px) + 74px);z-index:3;
  display:flex;align-items:center;gap:11px}
.hnav .cnt{font-family:var(--mono);font-size:11px;letter-spacing:.14em;color:rgba(255,255,255,.62)}
.hnav .dots{display:flex;gap:7px}
.hnav button{width:34px;height:34px;padding:0;border:0;background:none;cursor:pointer;
  display:grid;place-items:center}
.hnav button::before{content:'';width:26px;height:3px;border-radius:2px;background:rgba(255,255,255,.32);
  transition:background .3s}
.hnav button.on::before{background:var(--sig)}
@media(max-width:700px){.hnav{display:none}}

/* ── 신뢰 띠 — 로고 마퀴 ───────────────────────────────── */
.trust{background:var(--surf);border-bottom:1px solid var(--hair);padding:26px 0;overflow:hidden}
.trust .rail{display:flex;gap:56px;width:max-content;animation:slide 34s linear infinite}
.trust:hover .rail{animation-play-state:paused}
.trust .rail>div{display:flex;align-items:center;gap:10px;color:var(--faint);
  font-size:14.5px;font-weight:700;letter-spacing:-.02em;white-space:nowrap;opacity:.72}
.trust .rail svg{width:19px;height:19px;flex:none}
@keyframes slide{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* ── 섹션 공통 ─────────────────────────────────────────── */
section.sec{padding:clamp(54px,7vw,110px) 0}
.sec.tintbg{background:var(--tint)}
.sec.dark{background:var(--ink);color:#fff}
.sechd{max-width:44em}
.sechd .mono{display:block;margin-bottom:14px;color:var(--sig-d);
  display:flex;align-items:center;gap:9px}
.sechd .mono::before{content:'';width:8px;height:8px;background:var(--sig);flex:none;border-radius:2px}
.sechd h2{font-size:clamp(24px,3.5vw,44px);font-weight:700;letter-spacing:-.048em;line-height:1.22}
.sechd h1{font-size:clamp(24px,3.5vw,44px);font-weight:700;letter-spacing:-.048em;line-height:1.22}
.sechd p{margin-top:15px;font-size:16.5px;color:var(--sub);max-width:36em}
.sec.dark .sechd .mono{color:var(--sig)}
.sec.dark .sechd p{color:rgba(255,255,255,.66)}
.sechd.mid{margin:0 auto;text-align:center}
.sechd.mid .mono{justify-content:center}
.sechd.mid p{margin-left:auto;margin-right:auto}

/* ── 하위 페이지 머리 — 사진 위 흰 글자 ─────────────────── */
.phead{position:relative;background:var(--ink);color:#fff;overflow:hidden;
  margin-top:calc(var(--hh) * -1);padding-top:var(--hh);display:flex;align-items:flex-end;
  min-height:clamp(300px,44vw,460px)}
.phead>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
.phead::after{content:'';position:absolute;inset:0;z-index:1;
  background:linear-gradient(180deg,rgba(8,11,16,.78) 0%,rgba(8,11,16,.42) 42%,rgba(8,11,16,.86) 100%)}
.phead .wrap{position:relative;z-index:2;padding-top:clamp(38px,5vw,64px);padding-bottom:clamp(30px,4vw,52px)}
.phead .mono{color:var(--sig);display:block;margin-bottom:14px}
.phead h1{font-size:clamp(28px,4.6vw,58px);font-weight:700;letter-spacing:-.05em;line-height:1.16}
.phead p{margin-top:16px;font-size:clamp(15.5px,1.4vw,18px);color:rgba(255,255,255,.8);max-width:34em}
.crumb{position:relative;z-index:2;font-size:13px;color:rgba(255,255,255,.6);
  padding-top:clamp(18px,2.4vw,30px)}
.crumb a{color:rgba(255,255,255,.78)}
.crumb a:hover{color:var(--sig)}
.crumb span{margin:0 8px;opacity:.5}

/* ── 숫자 넷 ───────────────────────────────────────────── */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);
  border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.stats>div{background:var(--surf);padding:clamp(22px,3vw,38px) clamp(16px,2vw,28px)}
.stats .n{font-size:clamp(30px,4.4vw,54px);font-weight:700;letter-spacing:-.055em;line-height:1;
  font-variant-numeric:tabular-nums}
.stats .n i{font-style:normal;font-size:.44em;font-weight:700;margin-left:3px;letter-spacing:-.02em}
.stats .u{margin-top:2px;font-size:12px;color:var(--faint);font-family:var(--mono);letter-spacing:.13em}
.stats .t{margin-top:12px;font-size:15px;font-weight:600;color:var(--sub);letter-spacing:-.02em}
.stats .mk{width:26px;height:3px;background:var(--sig);border-radius:2px;margin-bottom:16px}

/* ── 서비스 카드 — 사진 위에 글자 ──────────────────────── */
.cards{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(14px,1.6vw,22px);
  margin-top:clamp(30px,4vw,52px)}
.cards>*{min-width:0}
.card{position:relative;display:block;border-radius:var(--r);overflow:hidden;background:var(--ink);
  color:#fff;isolation:isolate}
.card .ph{position:relative;aspect-ratio:16/10;overflow:hidden}
.card .ph img{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.2,.7,.3,1)}
.card:hover .ph img{transform:scale(1.045)}
.card .ph::after{content:'';position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(8,11,16,.12) 0%,rgba(8,11,16,.34) 44%,rgba(8,11,16,.9) 100%)}
.card .in{position:absolute;left:0;right:0;bottom:0;padding:clamp(20px,2.6vw,32px);z-index:2}
.card .no{font-family:var(--mono);font-size:11.5px;letter-spacing:.18em;color:var(--sig)}
.card h3,.card h2{margin-top:9px;font-size:clamp(19px,2.2vw,27px);font-weight:700;letter-spacing:-.045em;
  line-height:1.26}
.card .d{margin-top:10px;font-size:15px;color:rgba(255,255,255,.76);line-height:1.7;max-width:26em}
.card .go{margin-top:16px;display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:700;
  color:var(--sig);min-height:24px}
.card .go svg{width:15px;height:15px;transition:transform .25s}
.card:hover .go svg{transform:translateX(4px)}

/* ── 공정 다섯 단계 (다크) ─────────────────────────────── */
.steps{display:grid;grid-template-columns:repeat(5,1fr);gap:clamp(10px,1.2vw,16px);
  margin-top:clamp(30px,4vw,52px)}
.steps>*{min-width:0}
.steps>div{background:var(--ink2);border:1px solid rgba(255,255,255,.09);border-radius:var(--r);
  overflow:hidden;display:flex;flex-direction:column}
.steps .ph{aspect-ratio:4/3;overflow:hidden;background:var(--ink3)}
.steps .ph img{width:100%;height:100%;object-fit:cover;opacity:.88}
.steps .tx{padding:clamp(15px,1.7vw,22px);flex:1}
.steps .no{font-family:var(--mono);font-size:11px;letter-spacing:.16em;color:var(--sig)}
.steps h3{margin-top:8px;font-size:clamp(15px,1.5vw,18.5px);font-weight:700;letter-spacing:-.04em}
.steps .d{margin-top:8px;font-size:13.5px;color:rgba(255,255,255,.6);line-height:1.7}
.steps .tm{margin-top:12px;padding-top:11px;border-top:1px solid rgba(255,255,255,.1);
  font-family:var(--mono);font-size:11.5px;color:rgba(255,255,255,.82);letter-spacing:.06em}
.steps .tm b{color:var(--sig);font-weight:700}

/* ── 설비 목록 (다크) ──────────────────────────────────── */
.specs{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(255,255,255,.1);
  border:1px solid rgba(255,255,255,.1);border-radius:var(--r);overflow:hidden;
  margin-top:clamp(24px,3vw,40px)}
.specs>div{background:var(--ink);padding:clamp(20px,2.4vw,30px)}
.specs .t{font-size:16.5px;font-weight:700;letter-spacing:-.035em}
.specs .d{margin-top:9px;font-size:14.5px;color:rgba(255,255,255,.62);line-height:1.75}
.specs .d b{color:var(--sig);font-weight:700}

/* ── 도입 사례 ─────────────────────────────────────────── */
.cases{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(14px,1.8vw,26px);
  margin-top:clamp(30px,4vw,52px)}
.cases>*{min-width:0}
.cases>article{background:var(--surf);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;
  transition:border-color .25s,transform .25s;display:flex;flex-direction:column}
.cases>article:hover{border-color:var(--ink);transform:translateY(-3px)}
.cases .ph{aspect-ratio:4/3;overflow:hidden;background:var(--tint)}
.cases .ph img{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.2,.7,.3,1)}
.cases>article:hover .ph img{transform:scale(1.04)}
.cases .tx{padding:clamp(20px,2.4vw,28px);flex:1;display:flex;flex-direction:column}
.cases .tag{display:inline-flex;align-items:center;align-self:flex-start;background:var(--sig-l);
  color:var(--sig-d);font-size:12px;font-weight:700;padding:5px 11px;border-radius:999px;
  letter-spacing:-.01em}
.cases h3{margin-top:13px;font-size:19.5px;font-weight:700;letter-spacing:-.042em;line-height:1.35}
.cases .d{margin-top:11px;font-size:15px;color:var(--sub);line-height:1.78;flex:1}
.cases .kpi{margin-top:18px;padding-top:15px;border-top:1px solid var(--hair);display:flex;gap:24px}
.cases .kpi>div{min-width:0}
.cases .kpi .k{font-family:var(--mono);font-size:10.5px;letter-spacing:.13em;color:var(--faint)}
.cases .kpi .v{margin-top:3px;font-size:17px;font-weight:700;letter-spacing:-.04em}

/* ── 센터 목록 ─────────────────────────────────────────── */
.ctrs{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(14px,1.8vw,24px);
  margin-top:clamp(28px,3.6vw,46px)}
.ctrs>*{min-width:0}
.ctr{background:var(--surf);border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.ctr .ph{aspect-ratio:16/10;overflow:hidden;background:var(--tint)}
.ctr .ph img{width:100%;height:100%;object-fit:cover}
.ctr .tx{padding:clamp(18px,2.2vw,26px)}
.ctr .rg{font-family:var(--mono);font-size:11px;letter-spacing:.16em;color:var(--sig-d)}
.ctr h3{margin-top:8px;font-size:19px;font-weight:700;letter-spacing:-.042em}
/* gap 을 주면 dt 밑줄과 dd 밑줄 사이가 끊겨 선이 두 토막으로 보인다. 여백은 padding 으로. */
.ctr dl{margin-top:14px;border-top:1px solid var(--hair);display:grid;
  grid-template-columns:auto 1fr;gap:0}
.ctr dt{padding:9px 14px 9px 0;font-size:13.5px;color:var(--faint);border-bottom:1px solid var(--hair)}
.ctr dd{padding:9px 0;font-size:14.5px;font-weight:600;text-align:right;border-bottom:1px solid var(--hair)}
.ctr dl>dt:last-of-type,.ctr dl>dd:last-of-type{border-bottom:0}

/* ── 표 ────────────────────────────────────────────────── */
.tbl{margin-top:clamp(24px,3vw,40px)}
.tblScroll{overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none}
.tblScroll::-webkit-scrollbar{display:none}
table.t{width:100%;border-collapse:collapse;background:var(--surf);min-width:600px;
  border-radius:var(--r);overflow:hidden;border:1px solid var(--line)}
table.t th,table.t td{padding:15px 18px;font-size:15px;text-align:left;border-bottom:1px solid var(--hair)}
table.t thead th{background:var(--ink);color:#fff;font-family:var(--mono);font-size:11.5px;
  letter-spacing:.13em;font-weight:700;border-bottom:0}
table.t tbody th{font-weight:700;width:190px}
table.t td{color:var(--sub)}
table.t td b,table.t th b{color:var(--ink);font-weight:700}
table.t tbody tr:last-child th,table.t tbody tr:last-child td{border-bottom:0}
table.t tbody tr:hover{background:var(--sig-l)}
.tnote{margin-top:12px;font-size:13.5px;color:var(--faint);line-height:1.75}

/* ── 두 칸 나눔 ────────────────────────────────────────── */
.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,4vw,64px);align-items:center}
.split>*{min-width:0}
.split .ph{border-radius:var(--r);overflow:hidden;aspect-ratio:4/3;background:var(--tint)}
.split .ph img{width:100%;height:100%;object-fit:cover}
.split.flip .ph{order:-1}

/* 점 목록 */
.ticks{list-style:none;margin-top:22px}
.ticks li{position:relative;padding-left:28px;font-size:15.5px;color:var(--sub);
  line-height:1.8;margin-bottom:12px}
.ticks li::before{content:'';position:absolute;left:0;top:10px;width:14px;height:14px;
  background:var(--sig);border-radius:3px}
.ticks li::after{content:'';position:absolute;left:4px;top:14px;width:6px;height:3px;
  border-left:2px solid var(--ink);border-bottom:2px solid var(--ink);transform:rotate(-45deg)}
.ticks li b{color:var(--ink);font-weight:700}
.sec.dark .ticks li{color:rgba(255,255,255,.72)}
.sec.dark .ticks li b{color:#fff}

/* 번호 목록 */
.how{margin-top:clamp(26px,3.4vw,44px);border-top:2px solid var(--ink)}
.how>div{display:flex;gap:clamp(18px,2.6vw,40px);padding:clamp(20px,2.4vw,30px) 0;
  border-bottom:1px solid var(--line)}
.how .n{flex:none;width:52px;font-family:var(--mono);font-size:15px;font-weight:700;color:var(--sig-d);
  padding-top:3px}
.how .bd{min-width:0}
/* .hd 는 제목이 아니라 굵게 보여야 하는 값(전화·이메일·주소)이다.
   굵게 하려고 h3 로 두면 스크린리더가 문서 구조로 읽는다 — div 로 두고 모양만 맞춘다. */
.how h3,.how .hd{font-size:19px;font-weight:700;letter-spacing:-.042em}
.how .d{margin-top:9px;font-size:15.5px;color:var(--sub);line-height:1.82}
.how .d b{color:var(--ink);font-weight:600}

/* ── 뉴스 ──────────────────────────────────────────────── */
.news{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(14px,1.8vw,26px);
  margin-top:clamp(28px,3.6vw,46px)}
.news>*{min-width:0}
.news>article{border-top:2px solid var(--ink);padding-top:20px}
.news .dt{font-family:var(--mono);font-size:11.5px;letter-spacing:.13em;color:var(--faint)}
.news h3{margin-top:11px;font-size:17.5px;font-weight:700;letter-spacing:-.042em;line-height:1.45}
.news .d{margin-top:10px;font-size:14.5px;color:var(--sub);line-height:1.75}

/* ── 파트너 ────────────────────────────────────────────── */
.pgrid{display:grid;grid-template-columns:repeat(6,1fr);gap:1px;background:var(--line);
  border:1px solid var(--line);border-radius:var(--r);overflow:hidden;margin-top:clamp(26px,3.4vw,44px)}
.pgrid>div{background:var(--surf);display:grid;place-items:center;padding:26px 12px;
  font-size:14px;font-weight:700;color:var(--faint);letter-spacing:-.02em;text-align:center;
  min-height:104px;position:relative;overflow:hidden;transition:color .25s}
/* 채널마다 마크를 연하게 깔아 로고 카드처럼 보이게 한다.
   도형은 위쪽 마퀴와 같은 순서로 돌려서, 같은 채널이 위아래에서 같은 마크를 쓴다. */
.pgrid .wm{position:absolute;left:50%;top:50%;width:82px;height:82px;
  transform:translate(-50%,-50%);color:var(--ink);opacity:.055;pointer-events:none}
.pgrid>div>span{position:relative;z-index:1}
.pgrid>div:hover{color:var(--ink)}
.pgrid>div:hover .wm{opacity:.11;color:var(--sig-d)}

/* ── FAQ ───────────────────────────────────────────────── */
.faq{margin-top:clamp(24px,3vw,40px);border-top:1px solid var(--line)}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;padding:20px 46px 20px 0;position:relative;
  font-size:16.5px;font-weight:700;letter-spacing:-.035em;min-height:40px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:'';position:absolute;right:12px;top:26px;width:9px;height:9px;
  border-right:2.5px solid var(--sig-d);border-bottom:2.5px solid var(--sig-d);
  transform:rotate(45deg);transition:transform .22s}
.faq details[open] summary::after{transform:rotate(225deg);top:30px}
.faq .a{padding:0 46px 22px 0;font-size:15.5px;color:var(--sub);line-height:1.9}
.faq .a b{color:var(--ink);font-weight:600}

/* ── 폼 ────────────────────────────────────────────────── */
.form{background:var(--surf);border:1px solid var(--line);border-radius:var(--r);
  padding:clamp(24px,3.4vw,44px);margin-top:clamp(22px,3vw,36px)}
.form .row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.form label{display:block;font-size:13.5px;font-weight:700;margin-bottom:7px;letter-spacing:-.02em}
.form label i{font-style:normal;color:var(--sig-d);margin-left:3px}
.form .fld{margin-bottom:14px}
.form input,.form select,.form textarea{width:100%;padding:13px 15px;border:1px solid var(--line);
  border-radius:var(--r-s);font-family:inherit;font-size:15px;background:var(--surf);color:var(--ink);
  min-height:46px}
.form textarea{resize:vertical;line-height:1.7}
.form input:focus,.form select:focus,.form textarea:focus{outline:2px solid var(--sig);outline-offset:-1px;
  border-color:var(--sig)}
.form .sub{width:100%;padding:17px;border:0;border-radius:var(--r-s);background:var(--sig);color:var(--ink);
  font-size:16.5px;font-weight:700;cursor:pointer;margin-top:6px;min-height:52px}
.form .sub:hover{filter:brightness(1.07)}
.form .fine{margin-top:14px;font-size:13px;color:var(--faint);line-height:1.75}

/* ── CTA (다크) ────────────────────────────────────────── */
.cta{background:var(--ink);color:#fff;padding:clamp(52px,6.4vw,96px) 0;position:relative;overflow:hidden}
.cta::before{content:'';position:absolute;right:-90px;top:-90px;width:340px;height:340px;
  background:var(--sig);opacity:.09;border-radius:50%;filter:blur(30px)}
.cta .wrap{position:relative;z-index:1}
.cta .mono{color:var(--sig);display:block;margin-bottom:14px}
.cta h2{font-size:clamp(24px,3.6vw,46px);font-weight:700;letter-spacing:-.05em;line-height:1.18}
.cta p{margin-top:15px;font-size:16.5px;color:rgba(255,255,255,.72);max-width:34em}
.cta .acts{display:flex;gap:10px;margin-top:clamp(24px,3vw,34px);flex-wrap:wrap}
.cta .acts a{padding:15px 26px;border-radius:var(--r-s);font-size:15.5px;font-weight:700;
  display:inline-flex;align-items:center;gap:8px;white-space:nowrap;transition:transform .2s}
.cta .acts a:first-child{background:var(--sig);color:var(--ink)}
.cta .acts a+a{border:1px solid rgba(255,255,255,.34);color:#fff}
.cta .acts a:hover{transform:translateY(-2px)}

/* ── 우측 플로팅 퀵메뉴 ────────────────────────────────── */
.quick{position:fixed;right:16px;top:50%;transform:translateY(-50%);z-index:45;
  display:flex;flex-direction:column;gap:8px}
.quick a{width:64px;min-height:64px;border-radius:var(--r);display:grid;place-items:center;
  gap:5px;padding:9px 4px;font-size:11px;font-weight:700;text-align:center;line-height:1.3;
  background:var(--ink2);color:#fff;border:1px solid rgba(255,255,255,.12);
  box-shadow:0 6px 18px rgba(8,11,16,.16);transition:transform .2s}
.quick a svg{width:19px;height:19px}
.quick a:last-child{background:var(--sig);color:var(--ink);border-color:transparent}
.quick a:hover{transform:translateX(-3px)}
@media(max-width:1100px){.quick{display:none}}

/* ── 하단 고정바 (모바일) ──────────────────────────────── */
.dock{position:fixed;left:0;right:0;bottom:0;z-index:46;display:none;
  background:var(--ink);border-top:1px solid rgba(255,255,255,.14)}
.dock .in{display:flex;align-items:center;gap:10px;padding:9px 14px calc(9px + env(safe-area-inset-bottom))}
.dock .tx{flex:1;min-width:0;font-size:12.5px;color:rgba(255,255,255,.74);line-height:1.45}
.dock .tx b{display:block;color:#fff;font-size:13.5px;font-weight:700}
.dock a{flex:none;background:var(--sig);color:var(--ink);font-size:14px;font-weight:700;
  padding:0 18px;border-radius:var(--r-s);min-height:44px;display:inline-flex;align-items:center}
@media(max-width:1100px){.dock{display:block}body{padding-bottom:64px}}

/* ── 푸터 ──────────────────────────────────────────────── */
footer{background:#080B10;color:rgba(255,255,255,.56);padding:clamp(36px,4.4vw,60px) 0 44px;
  font-size:13.5px;line-height:1.85}
footer .ftop{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:clamp(20px,3vw,44px);
  padding-bottom:clamp(26px,3.2vw,40px);border-bottom:1px solid rgba(255,255,255,.12)}
footer .ftop>*{min-width:0}
footer .flogo{display:flex;align-items:center;gap:9px;color:#fff;font-size:18px;font-weight:700;
  letter-spacing:-.035em;margin-bottom:14px}
footer .flogo svg{width:22px;height:22px}
footer .fcol .h{color:#fff;font-size:13px;font-weight:700;letter-spacing:.08em;font-family:var(--mono);
  text-transform:uppercase;margin-bottom:13px}
footer ul{list-style:none}
footer li{margin-bottom:7px}
footer a{color:rgba(255,255,255,.62)}
footer a:hover{color:var(--sig)}
.disc{margin-top:clamp(22px,2.8vw,34px);font-size:13px;line-height:1.85;color:rgba(255,255,255,.5)}
.disc b{display:block;color:#fff;font-size:13.5px;margin-bottom:7px}
.disc ul{display:flex;gap:20px;margin-top:13px;flex-wrap:wrap}

/* ══ 반응형 ══════════════════════════════════════════════ */
@media(max-width:1080px){
  .stats{grid-template-columns:repeat(2,1fr)}
  .steps{grid-template-columns:repeat(3,1fr)}
  .specs{grid-template-columns:repeat(2,1fr)}
  .pgrid{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:900px){
  header nav{gap:22px;font-size:14px}
  .cards{grid-template-columns:1fr}
  .cases{grid-template-columns:1fr}
  .ctrs{grid-template-columns:1fr}
  .news{grid-template-columns:1fr}
  .split{grid-template-columns:1fr}
  .split.flip .ph{order:0}
  .form .row{grid-template-columns:1fr}
}
@media(max-width:820px){
  /* 햄버거 드로어 — 마크업 순서가 input → nav → label 이라 ~ 로 잡는다 */
  /* 로고 … [무료 견적][☰] 순서. 햄버거가 버튼 앞에 끼면 눌러야 할 것이 흐려진다 */
  .navbtn{display:flex;flex-direction:column;justify-content:center;gap:4.5px;width:44px;height:44px;
    cursor:pointer;margin-left:8px;flex:none;order:4}
  .navbtn i{display:block;height:2px;background:var(--ink);border-radius:1px;transition:background .3s}
  html.js .hero-page header:not(.solid) .navbtn i{background:#fff}
  header nav{position:absolute;left:0;right:0;top:100%;display:none;flex-direction:column;gap:0;
    background:var(--surf);border-bottom:1px solid var(--line);padding:4px var(--px) 14px;
    box-shadow:0 16px 30px rgba(15,19,25,.12);margin-left:0}
  .nvt:checked~nav{display:flex}
  html.js .hero-page header nav{color:var(--sub)}
  header nav a{padding:15px 0;font-size:16px;border-bottom:1px solid var(--hair);color:var(--ink);
    min-height:48px;display:flex;align-items:center}
  header nav a:last-child{border-bottom:0}
  header nav a::after{display:none}
  .hdbtn{order:3;margin-left:auto;padding:10px 15px;font-size:13px}
}
@media(max-width:760px){
  .steps{grid-template-columns:1fr 1fr}
  .specs{grid-template-columns:1fr}
  .pgrid{grid-template-columns:repeat(2,1fr)}
  .how>div{flex-direction:column;gap:8px}
  .how .n{width:auto}
  .ctr dl{grid-template-columns:1fr auto}
}
@media(max-width:700px){
  /* 하단 고정바(64px)가 히어로 하단 띠를 덮는다. 히어로를 그만큼 줄이고 바닥을 비워 둔다 */
  .hero{min-height:calc(100svh - 106px);min-height:calc(100vh - 106px);padding-bottom:64px}
}
@media(max-width:560px){
  .steps{grid-template-columns:1fr}
  .hbar .wrap{gap:8px}
  .cases .kpi{gap:16px}
  /* 390px 에서 "120,000건" 이 칸 밖으로 밀려 잘렸다 */
  .stats .n{font-size:25px;letter-spacing:-.06em}
  .stats .n i{font-size:.5em}
  .stats>div{padding:20px 14px}
}

/* 표는 열이 넷이면 모바일에서 카드로 접는다 — 가로 스크롤보다 낫다 */
@media(max-width:700px){
  table.t{min-width:0;border:0}
  table.t thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
  table.t tr{display:block;background:var(--surf);border:1px solid var(--line);border-radius:var(--r);
    padding:6px 16px;margin-bottom:12px}
  table.t th,table.t td{display:flex;justify-content:space-between;gap:16px;width:auto;
    padding:11px 0;text-align:right;border-bottom:1px solid var(--hair)}
  table.t tbody th{width:auto;text-align:left}
  table.t td::before{content:attr(data-l);font-weight:600;color:var(--faint);font-size:13.5px;
    text-align:left;flex:none}
  table.t tbody tr:last-child{margin-bottom:0}
  table.t tr>*:last-child{border-bottom:0}
}

/* 모션을 끈 사용자에게는 아무것도 움직이지 않는다 */
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;
    transition-duration:.001ms!important;scroll-behavior:auto!important}
  .trust .rail{animation:none}
}

/* ══ 모바일 탭 타겟 40px ══════════════════════════════════
   본문에 섞인 인라인 링크는 글줄 높이 그대로라 16~28px 로 나온다.
   padding 은 글자 크기에 따라 달라지니 min-height 로 못 박는다. */
@media(max-width:820px){
  .itgebar .back{min-height:40px;display:inline-flex;align-items:center;padding:0 15px}
  footer a,.disc a,.crumb a{display:inline-flex;align-items:center;min-height:40px}
  .logo,header .logo{min-height:44px}
  .hdbtn,.hero .acts a,.cta .acts a,.card .go{min-height:44px;display:inline-flex;align-items:center}
  .news>article a,.sechd a,.sec a.more{display:inline-flex;align-items:center;min-height:40px}
}
