/* 랩이지 콘텐츠 페이지 공용 스타일 — /guide, /brands, /quality, /order
   about.html 의 디자인 토큰을 그대로 따릅니다. 색·폰트를 바꿀 때는 두 곳을 함께 고치세요. */

*{box-sizing:border-box;margin:0;padding:0}
:root{
  --teal:#00BFA5; --teal-d:#00937c; --ink:#0F3B40; --sub:#647c80;
  --bg:#F4FAF9; --line:#e3efec; --soft:#9aa8ab;
}
html{scroll-behavior:smooth}
body{
  font-family:"NanumSquareRound","나눔스퀘어라운드","NanumSquare","Pretendard","Apple SD Gothic Neo","Malgun Gothic",system-ui,sans-serif;
  color:var(--ink); background:#fff; line-height:1.75; letter-spacing:0;
  word-break:keep-all; -webkit-font-smoothing:antialiased;
}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
:focus-visible{outline:2px solid var(--teal-d);outline-offset:3px;border-radius:4px}

.wrap{max-width:1040px;margin:0 auto;padding:0 22px}
.narrow{max-width:760px;margin:0 auto}

.btn{display:inline-block;font-weight:700;padding:15px 30px;border-radius:14px;font-size:16px;transition:transform .12s,filter .12s}
.btn:hover{transform:translateY(-2px)}
.btn-primary{background:var(--ink);color:#fff}
.btn-primary:hover{filter:brightness(1.15)}
.btn-ghost{background:transparent;color:var(--ink);border:1.5px solid var(--ink)}

/* ---------- 상단 내비 ---------- */
.nav{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.93);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.nav .wrap{display:flex;align-items:center;height:66px;gap:16px}
.logo{font-weight:900;font-size:21px;display:flex;align-items:center;gap:9px;flex:none}
.logo .dot{width:24px;height:24px;border-radius:7px;background:linear-gradient(135deg,var(--teal),var(--ink))}
.logo .en{font-size:12px;font-weight:800;color:var(--sub);letter-spacing:1px}
.nav .sp{flex:1}
.nav a.m{font-weight:700;color:var(--sub);font-size:15px;white-space:nowrap}
.nav a.m:hover{color:var(--teal-d)}
.nav a.m[aria-current="page"]{color:var(--ink);border-bottom:2px solid var(--teal);padding-bottom:3px}
.nav .btn{padding:9px 18px;font-size:14px;border-radius:10px}
@media(max-width:900px){ .nav a.m{display:none} .logo .en{display:none} }

/* ---------- 문서 머리 ---------- */
.crumb{padding:26px 0 0;font-size:13.5px;color:var(--soft)}
.crumb a:hover{color:var(--teal-d)}
.crumb span{margin:0 7px}

.phead{padding:20px 0 40px;border-bottom:1px solid var(--line)}
.phead .eyebrow{color:var(--teal-d);font-weight:800;font-size:14px;letter-spacing:.5px}
.phead h1{font-size:41px;font-weight:900;line-height:1.28;letter-spacing:-1.1px;margin:12px 0 16px;text-wrap:balance}
.phead .desc{font-size:18px;color:var(--sub);max-width:640px}
.phead .upd{margin-top:20px;font-size:13px;color:var(--soft)}
@media(max-width:760px){ .phead h1{font-size:29px;letter-spacing:-.7px} .phead .desc{font-size:16px} }

/* ---------- 본문 ---------- */
.doc{padding:46px 0 20px}
.doc h2{font-size:27px;font-weight:900;letter-spacing:-.7px;margin:52px 0 14px;line-height:1.35;text-wrap:balance}
.doc h2:first-child{margin-top:0}
.doc h3{font-size:19px;font-weight:800;letter-spacing:-.3px;margin:32px 0 8px}
.doc p{font-size:16.5px;color:#2f4f53;margin:14px 0}
.doc p.lead{font-size:18px;color:var(--sub)}
.doc strong{font-weight:800;color:var(--ink)}
.doc a.link{color:var(--teal-d);font-weight:800;border-bottom:1.5px solid #b6e5da}
.doc a.link:hover{border-bottom-color:var(--teal-d)}
.doc ul,.doc ol{margin:16px 0;padding-left:22px}
.doc li{font-size:16.5px;color:#2f4f53;margin:8px 0}
.doc li::marker{color:var(--teal-d)}
.doc hr{border:0;border-top:1px solid var(--line);margin:44px 0}

/* 강조 박스 */
.note{background:var(--bg);border:1px solid var(--line);border-left:4px solid var(--teal);border-radius:14px;padding:20px 24px;margin:26px 0}
.note .nt{font-weight:800;font-size:15px;color:var(--teal-d);margin-bottom:6px}
.note p{margin:6px 0;font-size:15.5px}
.note p:last-child{margin-bottom:0}

/* 규격 칩 */
.chips{display:flex;flex-wrap:wrap;gap:9px;margin:18px 0}
.chips b{background:#e2f6f1;color:var(--teal-d);font-weight:800;padding:9px 15px;border-radius:11px;font-size:14.5px}

/* 표 */
.tw{overflow-x:auto;border:1px solid var(--line);border-radius:16px;margin:26px 0;background:#fff}
table{border-collapse:collapse;width:100%;min-width:520px;font-size:15.5px}
th,td{padding:13px 18px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}
th{font-size:13px;font-weight:800;color:var(--teal-d);background:var(--bg);white-space:nowrap;letter-spacing:.3px}
tr:last-child td{border-bottom:0}
td.k{font-weight:800;white-space:nowrap}
td.s{color:var(--sub);font-size:14.5px}

/* 번호 단계
   주의: 위의 `.doc ul,.doc ol` 이 같은 요소를 잡으므로 선택자를 `.doc ol.steps2` 로
   더 구체적으로 써야 padding·margin 이 덮이지 않습니다. */
.doc ol.steps2{list-style:none;padding:0;margin:26px 0;counter-reset:st;display:flex;flex-direction:column;gap:22px}
.steps2 li{position:relative;padding-left:52px;counter-increment:st;margin:0}
.steps2 li::before{
  content:counter(st);position:absolute;left:0;top:-1px;width:36px;height:36px;border-radius:50%;
  background:#fff;border:2px solid var(--teal);color:var(--teal-d);font-weight:900;font-size:16px;
  display:flex;align-items:center;justify-content:center;
}
.steps2 li b{display:block;font-size:18px;font-weight:800;margin-bottom:2px}
.steps2 li p{margin:4px 0 0}

/* 카드 그리드 */
.g2{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin:26px 0}
.g3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:26px 0}
@media(max-width:760px){ .g2,.g3{grid-template-columns:1fr} }
.pcard{background:#fff;border:1px solid var(--line);border-radius:18px;padding:24px;transition:transform .12s,border-color .12s}
a.pcard:hover{transform:translateY(-3px);border-color:var(--teal)}
.pcard .ic{font-size:28px;margin-bottom:10px}
.pcard h3{font-size:18px;font-weight:800;margin:0 0 6px}
.pcard p{color:var(--sub);font-size:15px;margin:0}

/* 브랜드 배지 */
.brands{display:flex;flex-wrap:wrap;gap:10px;margin:22px 0}
.brands span{background:#fff;border:1px solid var(--line);color:var(--teal-d);font-weight:800;padding:11px 18px;border-radius:24px;font-size:15px}

/* CTA 밴드 */
.cta{background:var(--ink);color:#fff;border-radius:26px;padding:44px 26px;text-align:center;margin:56px 0 0}
.cta .c1{font-size:15px;font-weight:700;color:#8fe6d6}
.cta .c2{font-size:30px;font-weight:900;letter-spacing:-1px;margin:10px 0 6px;text-wrap:balance}
.cta .c2 em{font-style:normal;color:#ffd54a}
.cta .c3{color:#bcd8d2;font-size:15px;margin-bottom:24px}
.cta .btn{background:#fff;color:var(--ink)}
@media(max-width:640px){ .cta .c2{font-size:23px} }

/* 자료실 허브 — 목록 카드
   허브는 .narrow 없이 .wrap 전체 폭을 쓰므로, 본문 문단만 읽기 폭으로 제한합니다. */
.doc > .wrap > p{max-width:70ch}
.lgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:24px 0 8px}
@media(max-width:900px){ .lgrid{grid-template-columns:repeat(2,1fr)} }
@media(max-width:600px){ .lgrid{grid-template-columns:1fr} }
.lcard{
  display:flex;flex-direction:column;gap:5px;
  background:#fff;border:1px solid var(--line);border-radius:16px;padding:20px 22px;
  transition:transform .12s,border-color .12s,box-shadow .12s;
}
.lcard:hover{transform:translateY(-3px);border-color:var(--teal);box-shadow:0 8px 22px rgba(0,60,52,.07)}
.lcat{
  align-self:flex-start;background:#e2f6f1;color:var(--teal-d);
  font-size:11.5px;font-weight:800;letter-spacing:.3px;padding:4px 10px;border-radius:20px;
}
.lcard b{font-size:17.5px;font-weight:800;letter-spacing:-.3px;line-height:1.4;margin-top:3px}
.lcard .ldesc{color:var(--sub);font-size:14.5px;line-height:1.6}
.lcard .lmeta{
  margin-top:4px;color:var(--soft);font-size:12.5px;font-weight:700;
  font-variant-numeric:tabular-nums;
}

/* 이어 읽기 */
.more{padding:56px 0 70px;background:var(--bg);margin-top:60px;border-top:1px solid var(--line)}
.more .mt{font-size:14px;font-weight:800;color:var(--teal-d);letter-spacing:.5px;margin-bottom:16px}
.mgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
@media(max-width:760px){ .mgrid{grid-template-columns:1fr} }
.mcard{display:block;background:#fff;border:1px solid var(--line);border-radius:16px;padding:22px;transition:transform .12s,border-color .12s}
.mcard:hover{transform:translateY(-3px);border-color:var(--teal)}
.mcard b{display:block;font-size:17px;font-weight:800;margin-bottom:5px}
.mcard span{color:var(--sub);font-size:14.5px;line-height:1.6}

/* 푸터 */
footer{background:var(--ink);color:#a9ccc5;padding:44px 22px;text-align:center;font-size:14px;line-height:2}
footer .fb{font-size:20px;font-weight:900;color:#fff}
footer .fb .en{font-size:14px;font-weight:800;color:#8fe6d6;letter-spacing:1px;margin-left:6px}
footer a{color:#8fe6d6}
footer .flinks{margin-top:6px}
footer .flinks a{margin:0 7px}

@media (prefers-reduced-motion:reduce){ *{transition:none !important;animation:none !important} html{scroll-behavior:auto} }
