/* ============================================================
   INNER PAGES — 회사소개 · OEM·ODM · 인증·특허 · 판촉물 · FAQ (4개 언어 공용)
   메인(winest.css)과 같은 색·서체 계열: 에스프레소 · 크림 · 골드 + Cormorant Garamond.
   모든 사실값은 정적 텍스트로 둔다(AI 크롤러 상당수가 JS 를 실행하지 않는다).
   ============================================================ */
.ip-body {
    --ink: #191716;
    --ink2: #2c2825;
    --paper: #f8f7f4;
    --cream: #f1ebe3;
    --line: #e5dfd8;
    --text: #2e2b28;
    --soft: #6f6861;
    --muted: #958d85;
    --gold: #b8875a;
    --gold2: #9a6a3c;
    --gold-lt: #e2c39e;
    --serif: 'Cormorant Garamond', 'Pretendard Variable', 'Pretendard', 'Apple SD Gothic Neo', 'PingFang SC', 'Hiragino Sans', 'Microsoft YaHei', sans-serif;
    --sans: 'Pretendard Variable', 'Pretendard', -apple-system, 'Apple SD Gothic Neo', 'Noto Sans KR', 'PingFang SC', 'Hiragino Sans', 'Microsoft YaHei', sans-serif;
    --wrap: 1120px;
    --r: 18px;
    background: var(--paper);
    color: var(--text);
    font-family: var(--sans);
    word-break: keep-all;
    overflow-wrap: break-word;
    padding-top: 65px;
}
.ip-body * { font-variant-numeric: lining-nums; }
.ip-body :where(h1, h2, h3, h4, p, ul, ol, dl, dd, figure) { margin: 0; }
.ip-body img { max-width: 100%; display: block; }
.ip-wrap { max-width: var(--wrap); margin: 0 auto; padding: 0 32px; }

/* ===== HERO ===== */
.ip-hero {
    position: relative;
    overflow: hidden;
    background: var(--ink);
    color: #fff;
    padding: 92px 0 84px;
    isolation: isolate;
}
.ip-hero::before {                       /* 따스한 빛 번짐 */
    content: '';
    position: absolute;
    inset: -40% -10% auto auto;
    width: 760px;
    height: 760px;
    background: radial-gradient(circle, rgba(191, 122, 53, .34) 0%, rgba(191, 122, 53, 0) 62%);
    z-index: -1;
}
.ip-hero-bg {                            /* 사진 배경(선택) */
    position: absolute;
    inset: 0;
    z-index: -2;
}
.ip-hero-bg img { width: 100%; height: 100%; object-fit: cover; opacity: .38; }
.ip-hero-bg::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(25, 23, 22, .96) 0%, rgba(25, 23, 22, .78) 48%, rgba(25, 23, 22, .45) 100%);
}
.ip-crumb {
    display: flex;
    gap: 10px;
    align-items: center;
    font-size: 12.5px;
    letter-spacing: .04em;
    color: rgba(255, 255, 255, .5);
    margin-bottom: 38px;
}
.ip-crumb a { color: rgba(255, 255, 255, .62); transition: color .25s; }
.ip-crumb a:hover { color: var(--gold-lt); }
.ip-crumb span[aria-hidden] { opacity: .4; }
.ip-eyebrow {
    font-family: var(--serif);
    font-style: italic;
    font-size: 22px;
    font-weight: 500;
    color: var(--gold-lt);
    letter-spacing: .01em;
    margin-bottom: 14px;
    display: flex;
    align-items: center;
    gap: 14px;
}
.ip-eyebrow::before { content: ''; width: 34px; height: 1px; background: currentColor; opacity: .7; }
.ip-hero h1 {
    font-size: clamp(32px, 4.8vw, 54px);
    line-height: 1.25;
    font-weight: 700;
    letter-spacing: -.025em;
    max-width: 16em;
}
.ip-hero h1 em { font-style: normal; color: var(--gold-lt); }
.ip-lead {
    margin-top: 26px !important;
    max-width: 640px;
    font-size: 16.5px;
    line-height: 1.85;
    color: rgba(255, 255, 255, .74);
}
.ip-hero-cta { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 34px; }

/* ===== BUTTONS ===== */
.ip-btn {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    padding: 14px 26px;
    border-radius: 999px;
    font-size: 14.5px;
    font-weight: 600;
    letter-spacing: -.005em;
    transition: background .25s, color .25s, border-color .25s, transform .25s;
    border: 1px solid transparent;
}
.ip-btn svg { width: 17px; height: 17px; flex: none; }
.ip-btn--gold { background: var(--gold); color: #fff; }
.ip-btn--gold:hover { background: var(--gold2); transform: translateY(-1px); }
.ip-btn--line { border-color: rgba(255, 255, 255, .32); color: #fff; }
.ip-btn--line:hover { border-color: var(--gold-lt); color: var(--gold-lt); }
.ip-btn--dark { background: var(--ink); color: #fff; }
.ip-btn--dark:hover { background: var(--gold2); }

/* ===== STAT STRIP (hero 아래 숫자) ===== */
.ip-stats {
    position: relative;
    z-index: 2;
    margin-top: -46px;
}
.ip-stats ul {
    list-style: none;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    background: #fff;
    border-radius: var(--r);
    box-shadow: 0 18px 50px rgba(25, 23, 22, .09);
    border: 1px solid var(--line);
}
.ip-stats li { padding: 28px 26px 26px; position: relative; }
.ip-stats li + li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 26px;
    bottom: 26px;
    width: 1px;
    background: var(--line);
}
.ip-stat-num {
    display: block;
    font-family: var(--serif);
    font-size: 40px;
    line-height: 1;
    font-weight: 600;
    color: var(--ink);
    letter-spacing: -.01em;
}
.ip-stat-num small { font-family: var(--sans); font-size: 15px; font-weight: 600; margin-left: 3px; color: var(--soft); letter-spacing: 0; }
.ip-stat-label { display: block; margin-top: 10px; font-size: 13.5px; line-height: 1.55; color: var(--soft); }

/* ===== SECTIONS ===== */
.ip-sec { padding: 104px 0; }
.ip-sec + .ip-sec { padding-top: 0; }
.ip-sec--tint { background: #fff; padding: 104px 0 !important; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.ip-sec--tint + .ip-sec { padding-top: 104px; }
.ip-sec--dark { background: var(--ink); color: #fff; padding: 104px 0 !important; }
.ip-sec--dark + .ip-sec { padding-top: 104px; }
.ip-head { margin-bottom: 48px; max-width: 720px; }
.ip-head--center { margin-left: auto; margin-right: auto; text-align: center; }
.ip-kicker {
    display: inline-flex;
    align-items: baseline;
    gap: 12px;
    font-family: var(--serif);
    font-style: italic;
    font-size: 19px;
    color: var(--gold);
    margin-bottom: 12px !important;
}
.ip-kicker b { font-style: normal; font-weight: 600; font-size: 15px; letter-spacing: .12em; color: var(--muted); }
.ip-sec h2, .ip-h2 {
    font-size: clamp(25px, 3vw, 34px);
    line-height: 1.38;
    font-weight: 700;
    letter-spacing: -.022em;
    color: var(--ink);
}
.ip-sec--dark h2 { color: #fff; }
.ip-sec--dark .ip-kicker { color: var(--gold-lt); }
.ip-head-desc { margin-top: 16px !important; font-size: 16px; line-height: 1.85; color: var(--soft); }
.ip-sec--dark .ip-head-desc { color: rgba(255, 255, 255, .66); }

/* 이야기 본문 — 사람이 읽는 글. 넉넉한 행간 */
.ip-story { display: grid; grid-template-columns: 300px 1fr; gap: 72px; align-items: start; }
.ip-story-aside { position: sticky; top: 110px; }
.ip-prose p { font-size: 17px; line-height: 2; color: #3d3833; }
.ip-prose p + p { margin-top: 1.25em; }
.ip-prose strong { color: var(--ink); font-weight: 650; }
.ip-dropcap::first-letter {
    float: left;
    font-family: var(--serif);
    font-size: 66px;
    line-height: .9;
    padding: 6px 12px 0 0;
    color: var(--gold);
    font-weight: 600;
}

/* 인용 */
.ip-quote { text-align: center; max-width: 820px; margin: 0 auto; }
.ip-quote-mark { font-family: var(--serif); font-size: 96px; line-height: .6; color: var(--gold); opacity: .6; display: block; height: 44px; }
.ip-quote blockquote {
    margin: 0;
    font-size: clamp(26px, 3.4vw, 38px);
    line-height: 1.45;
    font-weight: 600;
    letter-spacing: -.02em;
    color: #fff;
}
.ip-quote-body { margin-top: 28px !important; font-size: 16.5px; line-height: 1.95; color: rgba(255, 255, 255, .7); }
.ip-quote-sig { margin-top: 30px !important; font-size: 14px; color: rgba(255, 255, 255, .55); letter-spacing: .04em; }
.ip-quote-sig strong { color: #fff; font-weight: 600; margin-left: 6px; font-size: 15.5px; letter-spacing: .12em; }

/* 사진 */
.ip-photo { border-radius: var(--r); overflow: hidden; background: var(--cream); position: relative; }
.ip-photo img { width: 100%; height: 100%; object-fit: cover; }
.ip-photo figcaption {
    position: absolute;
    left: 0; right: 0; bottom: 0;
    padding: 40px 24px 18px;
    background: linear-gradient(transparent, rgba(25, 23, 22, .78));
    color: #fff;
    font-size: 13.5px;
    line-height: 1.5;
}
.ip-photo figcaption strong { display: block; font-size: 15.5px; font-weight: 650; margin-bottom: 2px; }
.ip-photo-grid { display: grid; grid-template-columns: 1.6fr 1fr; grid-template-rows: 1fr 1fr; gap: 14px; height: 520px; }
.ip-photo-grid .ip-photo:first-child { grid-row: span 2; }

/* 두 칸 */
.ip-split { display: grid; grid-template-columns: 1fr 1fr; gap: 64px; align-items: center; }
.ip-split--wide { grid-template-columns: 1.15fr 1fr; }

/* ===== CARDS ===== */
.ip-cards { display: grid; gap: 18px; grid-template-columns: repeat(3, 1fr); }
.ip-cards--2 { grid-template-columns: repeat(2, 1fr); }
.ip-cards--4 { grid-template-columns: repeat(4, 1fr); }
.ip-card {
    background: #fff;
    border: 1px solid var(--line);
    border-radius: var(--r);
    padding: 30px 28px;
    transition: transform .3s, box-shadow .3s, border-color .3s;
    display: flex;
    flex-direction: column;
}
a.ip-card:hover, .ip-card--hover:hover { transform: translateY(-4px); box-shadow: 0 18px 40px rgba(25, 23, 22, .08); border-color: #d9cbbb; }
.ip-sec--tint .ip-card { background: var(--paper); }
.ip-card-icon {
    width: 48px; height: 48px;
    border-radius: 14px;
    display: grid; place-items: center;
    background: rgba(184, 135, 90, .12);
    color: var(--gold2);
    margin-bottom: 22px;
}
.ip-card-icon svg { width: 23px; height: 23px; }
.ip-card-tag { font-family: var(--serif); font-style: italic; font-size: 16px; color: var(--gold); margin-bottom: 6px !important; }
.ip-card h3 { font-size: 19px; line-height: 1.45; font-weight: 700; letter-spacing: -.015em; color: var(--ink); }
.ip-card p { margin-top: 10px; font-size: 14.8px; line-height: 1.8; color: var(--soft); }
.ip-card .ip-when { margin-top: auto; padding-top: 18px; font-size: 13.5px; color: var(--gold2); font-weight: 600; }
.ip-card .ip-when::before { content: '— '; }

/* 브랜드·제품 카드 */
.ip-prod { padding: 0; overflow: hidden; }
.ip-prod-img { position: relative; aspect-ratio: 4 / 3; background: linear-gradient(180deg, #fff 0%, var(--cream) 100%); overflow: hidden; }
.ip-prod-img img { position: absolute; inset: 22px; width: calc(100% - 44px); height: calc(100% - 44px); object-fit: contain; filter: drop-shadow(0 12px 18px rgba(25, 23, 22, .12)); transition: transform .5s; }
a.ip-card:hover .ip-prod-img img { transform: scale(1.04); }
.ip-prod-body { padding: 24px 26px 26px; display: flex; flex-direction: column; flex: 1; }
.ip-prod-body h3 { font-size: 19px; }
.ip-prod-body h3 small { font-family: var(--serif); font-style: italic; font-weight: 500; font-size: 15px; color: var(--muted); margin-left: 6px; letter-spacing: 0; }
.ip-prod-body p { flex: 1; }
.ip-chips { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 16px; list-style: none; padding: 0; }
.ip-chips li { font-size: 12.5px; padding: 5px 11px; border-radius: 999px; background: var(--paper); border: 1px solid var(--line); color: var(--soft); line-height: 1.4; }
.ip-more { margin-top: 18px; font-size: 13.5px; font-weight: 600; color: var(--gold2); display: inline-flex; gap: 6px; align-items: center; }
.ip-more::after { content: '→'; transition: transform .25s; }
a.ip-card:hover .ip-more::after { transform: translateX(4px); }

/* 제품 사양(판촉) */
.ip-spec { list-style: none; padding: 0; margin-top: 16px !important; display: grid; grid-template-columns: 1fr 1fr; gap: 10px 14px; border-top: 1px solid var(--line); padding-top: 16px; }
.ip-spec div { display: flex; flex-direction: column; }
.ip-spec dt { font-size: 12px; color: var(--muted); letter-spacing: .02em; }
.ip-spec dd { font-size: 15px; font-weight: 650; color: var(--ink); margin-top: 2px; }
.ip-use { margin-top: 16px !important; font-size: 13.5px !important; line-height: 1.7 !important; color: var(--gold2) !important; background: rgba(184, 135, 90, .08); border-radius: 10px; padding: 10px 13px; }

/* ===== FACT SHEET (정의 목록) ===== */
.ip-facts {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    background: #fff;
    border: 1px solid var(--line);
    border-radius: var(--r);
    overflow: hidden;
}
.ip-facts > div { display: grid; grid-template-columns: 132px 1fr; gap: 18px; padding: 20px 28px; border-bottom: 1px solid var(--line); }
.ip-facts > div:nth-child(odd) { border-right: 1px solid var(--line); }
.ip-facts > div:nth-last-child(-n+2):nth-child(odd),
.ip-facts > div:last-child { border-bottom: 0; }
.ip-facts dt { font-size: 13.5px; color: var(--muted); font-weight: 600; padding-top: 1px; }
.ip-facts dd { font-size: 15px; line-height: 1.7; color: var(--text); }
.ip-facts dd small { display: block; color: var(--muted); font-size: 13px; }

/* ===== TIMELINE ===== */
.ip-timeline { list-style: none; padding: 0; position: relative; display: grid; gap: 0; }
.ip-timeline::before { content: ''; position: absolute; left: 92px; top: 10px; bottom: 10px; width: 1px; background: rgba(255, 255, 255, .16); }
.ip-timeline li { display: grid; grid-template-columns: 92px 1fr; gap: 40px; padding: 18px 0; position: relative; }
.ip-timeline li::before { content: ''; position: absolute; left: 88px; top: 29px; width: 9px; height: 9px; border-radius: 50%; background: var(--ink); border: 2px solid var(--gold-lt); }
.ip-tl-year { font-family: var(--serif); font-size: 30px; line-height: 1; font-weight: 600; color: var(--gold-lt); padding-top: 4px; }
.ip-tl-text { font-size: 16px; line-height: 1.8; color: rgba(255, 255, 255, .78); }
.ip-tl-text strong { color: #fff; font-weight: 650; }
.ip-sec--dark .ip-split { align-items: start; }

/* ===== STEPS ===== */
.ip-steps { list-style: none; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; counter-reset: s; }
.ip-steps li { position: relative; padding: 30px 26px 28px; background: #fff; border: 1px solid var(--line); border-radius: var(--r); }
.ip-sec--tint .ip-steps li { background: var(--paper); }
.ip-steps li::before {
    counter-increment: s;
    content: counter(s, decimal-leading-zero);
    display: block;
    font-family: var(--serif);
    font-size: 42px;
    line-height: 1;
    font-weight: 600;
    color: var(--gold);
    margin-bottom: 18px;
}
.ip-steps li:not(:last-child)::after {
    content: '';
    position: absolute;
    top: 50px;
    right: -14px;
    width: 10px; height: 10px;
    border-top: 1.5px solid var(--gold);
    border-right: 1.5px solid var(--gold);
    transform: rotate(45deg);
    z-index: 1;
}
.ip-steps h3 { font-size: 18px; font-weight: 700; color: var(--ink); letter-spacing: -.01em; }
.ip-steps p { margin-top: 10px; font-size: 14.5px; line-height: 1.8; color: var(--soft); }

/* ===== 생산 공정 흐름 ===== */
.ip-flow { list-style: none; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; counter-reset: f; }
.ip-flow li { counter-increment: f; }
.ip-flow figure { border-radius: 14px; overflow: hidden; background: #24201d; aspect-ratio: 4 / 3; }
.ip-flow img { width: 100%; height: 100%; object-fit: cover; opacity: .92; transition: transform .6s, opacity .3s; }
.ip-flow li:hover img { transform: scale(1.04); opacity: 1; }
.ip-flow h3 { margin-top: 14px; font-size: 15.5px; font-weight: 650; color: #fff; display: flex; gap: 10px; align-items: baseline; }
.ip-flow h3::before { content: counter(f, decimal-leading-zero); font-family: var(--serif); font-size: 17px; color: var(--gold-lt); font-weight: 600; }
.ip-flow p { margin-top: 4px; font-size: 13.5px; line-height: 1.7; color: rgba(255, 255, 255, .58); }

/* ===== 조건 표(OEM·판촉) ===== */
.ip-terms { display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px; }
.ip-term { background: #fff; border: 1px solid var(--line); border-radius: var(--r); padding: 28px 30px; display: grid; grid-template-columns: auto 1fr; gap: 6px 22px; align-items: start; }
.ip-term-k { grid-column: 1 / -1; font-size: 13px; font-weight: 600; letter-spacing: .02em; color: var(--muted); }
.ip-term-v { font-family: var(--serif); font-size: 38px; line-height: 1.1; font-weight: 600; color: var(--ink); white-space: nowrap; }
.ip-term-v small { font-family: var(--sans); font-size: 16px; font-weight: 650; margin-left: 2px; }
.ip-term p { font-size: 14.5px; line-height: 1.75; color: var(--soft); align-self: center; }

.ip-note {
    margin-top: 22px !important;
    display: flex;
    gap: 12px;
    align-items: flex-start;
    padding: 18px 22px;
    background: rgba(184, 135, 90, .08);
    border: 1px solid rgba(184, 135, 90, .22);
    border-radius: 14px;
    font-size: 14.5px;
    line-height: 1.75;
    color: #6b4a2a;
}
.ip-note svg { flex: none; width: 19px; height: 19px; margin-top: 3px; color: var(--gold2); }
.ip-note a { color: var(--gold2); font-weight: 650; text-decoration: underline; text-underline-offset: 3px; }

/* ===== 인증 ===== */
.ip-cert-sum { list-style: none; padding: 0; display: flex; flex-wrap: wrap; gap: 10px; margin-top: 30px !important; }
.ip-cert-sum li { padding: 9px 16px; border-radius: 999px; border: 1px solid rgba(255, 255, 255, .22); font-size: 13.5px; color: rgba(255, 255, 255, .8); }
.ip-cert-sum li a { color: inherit; }
.ip-cert-sum li a:hover { color: var(--gold-lt); }
.ip-cert-sum b { color: var(--gold-lt); font-family: var(--serif); font-size: 18px; margin-right: 4px; }

.ip-cert {
    display: grid;
    grid-template-columns: 168px 1fr;
    gap: 28px;
    background: #fff;
    border: 1px solid var(--line);
    border-radius: var(--r);
    padding: 28px;
    align-items: start;
}
.ip-cert-img, .ip-thumb {
    display: block;
    width: 100%;
    padding: 0;
    border: 1px solid var(--line);
    border-radius: 10px;
    background: #fff;
    overflow: hidden;
    cursor: zoom-in;
    position: relative;
    box-shadow: 0 6px 18px rgba(25, 23, 22, .06);
    transition: transform .3s, box-shadow .3s;
}
.ip-cert-img:hover, .ip-thumb:hover { transform: translateY(-3px); box-shadow: 0 14px 28px rgba(25, 23, 22, .12); }
.ip-cert-img img, .ip-thumb img { width: 100%; aspect-ratio: 210 / 297; object-fit: contain; background: #fff; }
.ip-zoom {
    position: absolute; right: 8px; bottom: 8px;
    width: 30px; height: 30px; border-radius: 50%;
    display: grid; place-items: center;
    background: rgba(25, 23, 22, .7); color: #fff;
}
.ip-zoom svg { width: 15px; height: 15px; }
.ip-cert-badge { display: inline-block; font-size: 12px; font-weight: 700; letter-spacing: .08em; color: var(--gold2); background: rgba(184, 135, 90, .12); padding: 5px 11px; border-radius: 999px; margin-bottom: 12px !important; }
.ip-cert h3 { font-size: 21px; line-height: 1.4; font-weight: 700; color: var(--ink); letter-spacing: -.015em; }
.ip-cert-desc { margin-top: 8px !important; font-size: 14.8px; line-height: 1.8; color: var(--soft); }
.ip-cert dl { margin-top: 18px; display: grid; grid-template-columns: 82px 1fr; border-top: 1px solid var(--line); }
.ip-cert dt, .ip-cert dd { padding: 10px 0; border-bottom: 1px solid var(--line); font-size: 14.2px; line-height: 1.65; }
.ip-cert dt { color: var(--muted); font-weight: 600; }
.ip-cert dd { color: var(--text); }
.ip-cert dd strong { font-family: ui-monospace, 'SF Mono', Consolas, monospace; font-weight: 600; letter-spacing: .02em; color: var(--ink); font-size: 14.5px; }
.ip-cert dl > :nth-last-child(-n+2) { border-bottom: 0; }
.ip-cert-row { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }

/* KC 표 */
.ip-table-wrap { background: #fff; border: 1px solid var(--line); border-radius: var(--r); overflow-x: auto; }
.ip-table { width: 100%; border-collapse: collapse; min-width: 640px; font-size: 14.5px; }
.ip-table caption { caption-side: bottom; text-align: left; padding: 16px 24px 20px; font-size: 13.5px; line-height: 1.75; color: var(--muted); border-top: 1px solid var(--line); background: var(--paper); }
.ip-table th, .ip-table td { padding: 16px 24px; text-align: left; border-bottom: 1px solid var(--line); vertical-align: middle; }
.ip-table thead th { font-size: 12.5px; font-weight: 700; letter-spacing: .06em; color: var(--muted); background: var(--paper); white-space: nowrap; }
.ip-table tbody tr:last-child td, .ip-table tbody tr:last-child th { border-bottom: 0; }
.ip-table tbody tr { transition: background .2s; }
.ip-table tbody tr:hover { background: #fcfaf7; }
.ip-table .ip-mono { font-family: ui-monospace, 'SF Mono', Consolas, monospace; font-weight: 600; color: var(--ink); white-space: nowrap; letter-spacing: .02em; }
.ip-table td strong, .ip-table th[scope=row] { font-weight: 650; color: var(--ink); }
.ip-pill { display: inline-block; font-size: 12px; padding: 4px 10px; border-radius: 999px; background: var(--paper); border: 1px solid var(--line); color: var(--soft); white-space: nowrap; }
.ip-pill--gold { background: rgba(184, 135, 90, .1); border-color: rgba(184, 135, 90, .3); color: var(--gold2); }
.ip-table .ip-thumb { width: 44px; border-radius: 6px; box-shadow: none; }
.ip-table .ip-thumb img { aspect-ratio: 210 / 297; }

.ip-thumbs { display: grid; grid-template-columns: repeat(5, 1fr); gap: 16px; }
.ip-thumbs figure { text-align: center; }
.ip-thumbs figcaption { margin-top: 12px; font-size: 14px; font-weight: 650; color: var(--ink); }
.ip-thumbs figcaption span { display: block; font-size: 12.5px; font-weight: 400; color: var(--muted); margin-top: 2px; }

/* ===== 판촉 ===== */
.ip-print { display: grid; grid-template-columns: 1fr 1fr; gap: 64px; align-items: center; }
.ip-print-visual { position: relative; border-radius: 24px; background: radial-gradient(circle at 30% 30%, #fff 0%, var(--cream) 70%); padding: 46px; aspect-ratio: 1 / 1; display: grid; place-items: center; }
.ip-print-visual img { max-height: 100%; width: auto; filter: drop-shadow(0 22px 30px rgba(25, 23, 22, .16)); transform: rotate(-5deg); }
.ip-print-label { position: absolute; left: 24px; bottom: 22px; font-family: var(--serif); font-style: italic; font-size: 16px; color: var(--gold2); }
.ip-checks { list-style: none; padding: 0; display: grid; gap: 22px; margin-top: 30px !important; }
.ip-checks li { display: grid; grid-template-columns: 40px 1fr; gap: 16px; }
.ip-checks .ip-ck { width: 40px; height: 40px; border-radius: 50%; display: grid; place-items: center; background: var(--ink); color: var(--gold-lt); font-family: var(--serif); font-weight: 600; font-size: 17px; }
.ip-checks h3 { font-size: 17.5px; font-weight: 700; color: var(--ink); letter-spacing: -.01em; }
.ip-checks p { margin-top: 4px; font-size: 14.8px; line-height: 1.8; color: var(--soft); }

.ip-proof { list-style: none; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; border-top: 1px solid rgba(255, 255, 255, .14); }
.ip-proof li { padding: 30px 30px 6px 0; }
.ip-proof li + li { padding-left: 30px; border-left: 1px solid rgba(255, 255, 255, .14); }
.ip-proof b { display: block; font-family: var(--serif); font-size: 44px; line-height: 1; font-weight: 600; color: var(--gold-lt); }
.ip-proof b small { font-family: var(--sans); font-size: 16px; margin-left: 3px; font-weight: 600; }
.ip-proof span { display: block; margin-top: 12px; font-size: 14.8px; line-height: 1.75; color: rgba(255, 255, 255, .72); }

/* 견적 폼 */
.ip-form-box { display: grid; grid-template-columns: .9fr 1.1fr; background: #fff; border: 1px solid var(--line); border-radius: 24px; overflow: hidden; box-shadow: 0 24px 60px rgba(25, 23, 22, .07); }
.ip-form-side { background: var(--ink); color: #fff; padding: 48px 42px; position: relative; overflow: hidden; }
.ip-form-side::after { content: ''; position: absolute; right: -120px; bottom: -120px; width: 320px; height: 320px; border-radius: 50%; background: radial-gradient(circle, rgba(191, 122, 53, .35), transparent 65%); }
.ip-form-side h2 { color: #fff; }
.ip-form-side p { margin-top: 14px; font-size: 15px; line-height: 1.85; color: rgba(255, 255, 255, .68); }
.ip-form-side ul { list-style: none; padding: 0; margin-top: 30px !important; display: grid; gap: 14px; position: relative; z-index: 1; }
.ip-form-side li { font-size: 14.5px; color: rgba(255, 255, 255, .82); display: flex; gap: 12px; align-items: center; }
.ip-form-side li svg { width: 17px; height: 17px; color: var(--gold-lt); flex: none; }
.ip-form-side a:hover { color: var(--gold-lt); }
.ip-form { padding: 44px 42px; display: grid; grid-template-columns: 1fr 1fr; gap: 12px; align-content: start; }
.ip-form .cf-field { display: flex; flex-direction: column; gap: 6px; }
.ip-form .cf-field--full { grid-column: 1 / -1; }
.ip-form label { font-size: 12.5px; font-weight: 600; color: var(--soft); }
.ip-form input, .ip-form select, .ip-form textarea {
    width: 100%;
    padding: 13px 15px;
    border: 1px solid #ddd5cc;
    border-radius: 10px;
    font-size: 14.5px;
    font-family: inherit;
    background: var(--paper);
    color: var(--text);
    transition: border-color .2s, background .2s, box-shadow .2s;
}
.ip-form textarea { resize: vertical; min-height: 120px; }
.ip-form input:focus, .ip-form select:focus, .ip-form textarea:focus { outline: none; border-color: var(--gold); background: #fff; box-shadow: 0 0 0 4px rgba(184, 135, 90, .12); }
.ip-form .cf-submit {
    grid-column: 1 / -1;
    margin-top: 6px;
    padding: 16px 28px;
    background: var(--ink);
    color: #fff;
    border: none;
    border-radius: 999px;
    font-size: 15px;
    font-weight: 650;
    font-family: inherit;
    cursor: pointer;
    transition: background .3s;
}
.ip-form .cf-submit:hover:not(:disabled) { background: var(--gold2); }
.ip-form .cf-submit:disabled { cursor: default; }

/* ===== FAQ (아코디언) ===== */
.ip-faq { max-width: 860px; margin: 0 auto; display: grid; gap: 12px; }
.ip-faq .faq-item { background: #fff; border: 1px solid var(--line); border-radius: 16px; transition: border-color .25s, box-shadow .25s; }
.ip-faq .faq-item[open] { border-color: #dccbb8; box-shadow: 0 14px 34px rgba(25, 23, 22, .06); }
.ip-faq summary { list-style: none; cursor: pointer; display: grid; grid-template-columns: 36px 1fr 28px; gap: 14px; align-items: center; padding: 22px 26px; }
.ip-faq summary::-webkit-details-marker { display: none; }
.ip-faq summary::before { content: 'Q'; font-family: var(--serif); font-size: 24px; font-weight: 600; color: var(--gold); line-height: 1; }
.ip-faq summary::after {
    content: '';
    width: 28px; height: 28px; border-radius: 50%;
    background: var(--paper) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%239a6a3c' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M12 5v14M5 12h14'/%3E%3C/svg%3E") center / 14px no-repeat;
    transition: transform .3s, background-color .3s;
}
.ip-faq .faq-item[open] summary::after { transform: rotate(45deg); background-color: rgba(184, 135, 90, .14); }
.ip-faq summary h2 { font-size: 17px; line-height: 1.55; font-weight: 650; color: var(--ink); letter-spacing: -.01em; }
.ip-faq summary:hover h2 { color: var(--gold2); }
.ip-faq .faq-a { padding: 0 26px 24px 76px; }
.ip-faq .faq-a p { font-size: 15.5px; line-height: 1.9; color: #4d4741; }
.ip-faq .faq-a p + p { margin-top: 10px; }
.ip-faq .faq-a a { color: var(--gold2); font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
.ip-faq-tools { max-width: 860px; margin: 0 auto 18px; display: flex; justify-content: space-between; align-items: center; gap: 16px; font-size: 14px; color: var(--muted); }
.ip-faq-tools button { background: none; border: 1px solid var(--line); border-radius: 999px; padding: 8px 16px; font-size: 13px; font-family: inherit; color: var(--soft); transition: border-color .2s, color .2s; }
.ip-faq-tools button:hover { border-color: var(--gold); color: var(--gold2); }

/* ===== CONTACT BAND (공통) ===== */
.ip-contact { padding: 0 0 104px; }
.ip-contact-box {
    position: relative;
    overflow: hidden;
    background: var(--ink);
    color: #fff;
    border-radius: 26px;
    padding: 56px 56px 50px;
    display: grid;
    grid-template-columns: 1fr 1.1fr;
    gap: 56px;
    align-items: center;
}
.ip-contact-box::before { content: ''; position: absolute; left: -160px; top: -200px; width: 520px; height: 520px; border-radius: 50%; background: radial-gradient(circle, rgba(191, 122, 53, .3), transparent 65%); }
.ip-contact-box > * { position: relative; }
.ip-contact-box h2 { color: #fff; font-size: clamp(24px, 2.8vw, 32px); line-height: 1.4; font-weight: 700; letter-spacing: -.02em; }
.ip-contact-box .ip-kicker { color: var(--gold-lt); }
.ip-contact-box > div > p { margin-top: 14px; font-size: 15.5px; line-height: 1.85; color: rgba(255, 255, 255, .66); }
.ip-contact-list { list-style: none; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 1px; background: rgba(255, 255, 255, .1); border-radius: 16px; overflow: hidden; }
.ip-contact-list li { background: #221f1d; padding: 20px 22px; }
.ip-contact-list li.ip-wide { grid-column: 1 / -1; }
.ip-contact-list span { display: block; font-size: 12px; letter-spacing: .08em; color: rgba(255, 255, 255, .45); font-weight: 600; margin-bottom: 4px; }
.ip-contact-list a, .ip-contact-list em { font-style: normal; font-size: 15.5px; font-weight: 600; color: #fff; transition: color .2s; }
.ip-contact-list li.ip-wide em { font-weight: 500; font-size: 14.5px; color: rgba(255, 255, 255, .82); }
.ip-contact-list a:hover { color: var(--gold-lt); }

/* ===== FOOTER ===== */
.ip-footer { background: #121110; color: rgba(255, 255, 255, .5); padding: 40px 0; font-size: 13px; }
.ip-footer .ip-wrap { display: flex; justify-content: space-between; gap: 20px; flex-wrap: wrap; align-items: center; }
.ip-footer nav { display: flex; gap: 22px; flex-wrap: wrap; }
.ip-footer nav a { color: rgba(255, 255, 255, .62); transition: color .2s; }
.ip-footer nav a:hover { color: var(--gold-lt); }
.ip-footer p { line-height: 1.7; }

/* ===== RESPONSIVE ===== */
@media (max-width: 1024px) {
    .ip-cards, .ip-cards--4 { grid-template-columns: repeat(2, 1fr); }
    .ip-steps { grid-template-columns: repeat(2, 1fr); }
    .ip-steps li::after { display: none; }
    .ip-flow { grid-template-columns: repeat(2, 1fr); }
    .ip-story { grid-template-columns: 1fr; gap: 28px; }
    .ip-story-aside { position: static; }
    .ip-contact-box { grid-template-columns: 1fr; gap: 34px; }
    .ip-form-box { grid-template-columns: 1fr; }
    .ip-thumbs { grid-template-columns: repeat(3, 1fr); }
    .ip-cert-row { grid-template-columns: 1fr; }
}
@media (max-width: 760px) {
    /* 안쪽 페이지 메뉴: 로고 한 줄 + 메뉴 가로 스크롤 한 줄 */
    .ip-body { padding-top: 86px; }
    .ip-body .navbar { padding: 10px 0 0; }
    .ip-body .nav-container { flex-direction: column; align-items: stretch; gap: 6px; }
    .ip-body .logo { padding: 0 20px; }
    .ip-body .logo img { height: 28px; }
    .ip-body .nav-menu { flex-wrap: nowrap; justify-content: flex-start; gap: 22px; overflow-x: auto; padding: 8px 20px 12px; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
    .ip-body .nav-menu::-webkit-scrollbar { display: none; }
    .ip-body .nav-link { white-space: nowrap; font-size: 14px; }
    .ip-body .nav-link::after { bottom: -4px; }

    .ip-wrap { padding: 0 20px; }
    .ip-hero { padding: 54px 0 74px; }
    .ip-crumb { margin-bottom: 26px; }
    .ip-eyebrow { font-size: 19px; }
    .ip-lead { font-size: 15.5px; }
    .ip-stats ul { grid-template-columns: 1fr 1fr; }
    .ip-stats li:nth-child(3)::before { display: none; }
    .ip-stats li:nth-child(n+3) { border-top: 1px solid var(--line); }
    .ip-stats li { padding: 22px 18px; }
    .ip-stat-num { font-size: 32px; }
    .ip-sec, .ip-sec--tint, .ip-sec--dark, .ip-sec--tint + .ip-sec, .ip-sec--dark + .ip-sec { padding: 72px 0; }
    .ip-sec + .ip-sec { padding-top: 0; }
    .ip-sec--tint, .ip-sec--dark { padding: 72px 0 !important; }
    .ip-head { margin-bottom: 32px; }
    .ip-prose p { font-size: 16px; line-height: 1.95; }
    .ip-cards, .ip-cards--2, .ip-cards--4, .ip-steps, .ip-terms, .ip-split, .ip-print, .ip-proof { grid-template-columns: 1fr; }
    .ip-split, .ip-print { gap: 36px; }
    .ip-photo-grid { grid-template-columns: 1fr 1fr; grid-template-rows: 220px 140px; height: auto; }
    .ip-photo-grid .ip-photo:first-child { grid-row: auto; grid-column: 1 / -1; }
    .ip-flow { gap: 20px 12px; }
    .ip-facts { grid-template-columns: 1fr; }
    .ip-facts > div { grid-template-columns: 100px 1fr; padding: 16px 20px; border-right: 0 !important; }
    .ip-facts > div:nth-last-child(2):nth-child(odd) { border-bottom: 1px solid var(--line); }
    .ip-timeline::before { left: 62px; }
    .ip-timeline li { grid-template-columns: 62px 1fr; gap: 26px; }
    .ip-timeline li::before { left: 58px; }
    .ip-tl-year { font-size: 23px; }
    .ip-tl-text { font-size: 15px; }
    .ip-cert { grid-template-columns: 1fr; padding: 22px; gap: 20px; }
    .ip-cert-img { max-width: 180px; }
    .ip-thumbs { grid-template-columns: repeat(2, 1fr); }
    .ip-proof li, .ip-proof li + li { padding: 22px 0; border-left: 0; border-bottom: 1px solid rgba(255, 255, 255, .14); }
    .ip-form { grid-template-columns: 1fr; padding: 28px 22px; }
    .ip-form-side { padding: 36px 26px; }
    .ip-faq summary { grid-template-columns: 24px 1fr 26px; gap: 10px; padding: 18px; }
    .ip-faq summary h2 { font-size: 16px; }
    .ip-faq .faq-a { padding: 0 18px 20px 52px; }
    .ip-contact { padding-bottom: 72px; }
    .ip-contact-box { padding: 38px 24px; border-radius: 20px; }
    .ip-contact-list { grid-template-columns: 1fr; }
    .ip-term { padding: 24px; }
}

/* ===== 보조 ===== */
.ip-mt { margin-top: 18px; }
.ip-sticky { position: sticky; top: 110px; }
.ip-head-desc a, .ip-facts dd a { color: var(--gold2); text-decoration: underline; text-underline-offset: 3px; }
.ip-sec--dark .ip-head-desc a { color: var(--gold-lt); }
@media (max-width: 760px) { .ip-sticky { position: static; } }
.ip-contact-box > div > p a { color: #fff; text-decoration: underline; text-underline-offset: 3px; }
.ip-contact-box > div > p a:hover { color: var(--gold-lt); }
.ip-form-side .ip-kicker { color: var(--gold-lt); }
.ip-prod-body .ip-use { flex: none; margin-top: auto !important; }
.ip-prod-body .ip-spec + .ip-use { margin-top: 16px !important; }
.ip-contact--top { padding-top: 104px; }
.ip-patent { flex-direction: row; gap: 22px; align-items: flex-start; margin-bottom: 18px; }
.ip-patent .ip-card-icon { margin-bottom: 0; flex: none; }
.ip-thumbs { margin-top: 34px; }
.ip-sec--tint .ip-thumb { background: #fff; }
@media (max-width: 760px) { .ip-contact--top { padding-top: 72px; } .ip-patent { flex-direction: column; } }
@media (max-width: 760px) {
    /* KC 표 → 카드 */
    .ip-table-wrap { overflow: visible; }
    .ip-table { min-width: 0; display: flex; flex-direction: column; }
    .ip-table caption { order: 2; display: block; padding: 14px 18px 16px; }
    .ip-table thead { display: none; }
    .ip-table tbody { display: block; order: 1; }
    .ip-table tbody tr { display: grid; grid-template-columns: 52px 1fr auto; gap: 2px 14px; align-items: center; padding: 16px 18px; border-bottom: 1px solid var(--line); }
    .ip-table tbody tr:last-child { border-bottom: 0; }
    .ip-table td { padding: 0; border: 0 !important; }
    .ip-table td:first-child { grid-row: span 3; }
    .ip-table td:nth-child(2) { grid-column: 2 / 4; font-size: 13.5px; }
    .ip-table td:nth-child(3) { grid-column: 2 / 4; font-size: 15px; }
    .ip-table td:nth-child(4) { grid-column: 2; }
    .ip-table td:nth-child(5) { grid-column: 3; font-size: 13px; color: var(--muted); }
    .ip-prod-img { aspect-ratio: 16 / 10; }
}
/* 중국어·일본어는 띄어쓰기가 없어 keep-all 이면 줄이 안 바뀐다 */
.ip-body:lang(zh), .ip-body:lang(ja) { word-break: normal; line-break: strict; }

/* ===== 2차 정리 (2026-11-01) ===== */
.ip-photo--wide { aspect-ratio: 1920 / 980; }               /* 공장 사진은 원본 비율 그대로 */
.ip-term-v--text { font-family: var(--sans); font-size: 21px; font-weight: 700; line-height: 1.45; white-space: normal; letter-spacing: -.01em; }
.ip-spec .ip-spec-moq { grid-column: 1 / -1; flex-direction: row; justify-content: space-between; align-items: baseline; background: rgba(184, 135, 90, .09); border-radius: 10px; padding: 9px 12px; margin-top: 4px; }
.ip-spec .ip-spec-moq dt { color: var(--gold2); font-weight: 600; }
.ip-spec .ip-spec-moq dd { margin: 0; color: var(--gold2); }
.ip-footer { padding: 46px 0; }
.ip-footer p { font-size: 13px; line-height: 1.9; color: rgba(255, 255, 255, .55); }
.ip-footer p a { color: rgba(255, 255, 255, .82); transition: color .2s; }
.ip-footer p a:hover { color: var(--gold-lt); }
.ip-sec--dark:last-child { border-bottom: 1px solid rgba(255, 255, 255, .08); }

/* ===== 사용법 가이드 (guide/) ===== */
.ip-body .nav-menu { gap: 32px; }
@media (max-width: 1100px) and (min-width: 761px) { .ip-body .nav-menu { gap: 20px; } .ip-body .nav-link { font-size: 13px; } }
.ip-scenes { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
.ip-scene { background: #fff; border: 1px solid var(--line); border-radius: var(--r); overflow: hidden; display: flex; flex-direction: column; transition: transform .3s, box-shadow .3s; }
.ip-scene:hover { transform: translateY(-4px); box-shadow: 0 18px 40px rgba(25, 23, 22, .08); }
.ip-scene figure { aspect-ratio: 4 / 5; overflow: hidden; background: var(--cream); }
.ip-scene figure img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s; }
.ip-scene:hover figure img { transform: scale(1.04); }
.ip-scene-body { padding: 20px 20px 22px; display: flex; flex-direction: column; flex: 1; }
.ip-scene-tag { font-size: 12.5px; font-weight: 600; color: var(--gold2); letter-spacing: .02em; }
.ip-scene h3 { margin-top: 6px; font-size: 17.5px; line-height: 1.45; font-weight: 700; color: var(--ink); letter-spacing: -.015em; }
.ip-scene-body > p:not(.ip-scene-tag) { margin-top: 8px; font-size: 14.3px; line-height: 1.75; color: var(--soft); flex: 1; }
.ip-scene-pick { margin-top: 14px; display: block; font-size: 13px; font-weight: 600; color: var(--gold2); background: rgba(184, 135, 90, .09); border-radius: 10px; padding: 9px 12px; transition: background .2s; }
.ip-scene-pick::after { content: ' →'; }
.ip-scene-pick:hover { background: rgba(184, 135, 90, .18); }

.ip-howto { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.ip-howto-card { background: var(--paper); border: 1px solid var(--line); border-radius: var(--r); padding: 22px; display: flex; flex-direction: column; }
.ip-howto-card figure { aspect-ratio: 16 / 10; border-radius: 12px; overflow: hidden; background: #fff; margin-bottom: 20px; }
.ip-howto-card figure img { width: 100%; height: 100%; object-fit: cover; }
.ip-howto-card h3 { font-size: 19px; font-weight: 700; color: var(--ink); }
.ip-howto-card h3 small { font-size: 13px; font-weight: 600; color: var(--muted); margin-left: 6px; }
.ip-howto-card ol { list-style: none; counter-reset: h; padding: 0; margin-top: 14px; display: grid; gap: 10px; flex: 1; }
.ip-howto-card li { counter-increment: h; position: relative; padding-left: 36px; font-size: 14.8px; line-height: 1.7; color: #4d4741; }
.ip-howto-card li::before { content: counter(h); position: absolute; left: 0; top: 0; width: 26px; height: 26px; border-radius: 50%; background: var(--ink); color: var(--gold-lt); font-family: var(--serif); font-weight: 600; font-size: 14px; display: grid; place-items: center; }
.ip-howto-card li strong { color: var(--ink); }
.ip-howto-spec { margin-top: 18px !important; padding-top: 14px; border-top: 1px solid var(--line); font-size: 13px; font-weight: 600; color: var(--gold2); }

.ip-safety { list-style: none; padding: 0; display: grid; gap: 12px; }
.ip-safety li { display: grid; grid-template-columns: 40px 1fr; gap: 16px; align-items: center; padding: 18px 22px; border-radius: 14px; background: rgba(255, 255, 255, .05); border: 1px solid rgba(255, 255, 255, .1); }
.ip-safety b { width: 40px; height: 40px; border-radius: 50%; display: grid; place-items: center; font-family: var(--serif); font-size: 19px; color: var(--ink); background: var(--gold-lt); }
.ip-safety span { font-size: 15.5px; line-height: 1.65; color: rgba(255, 255, 255, .86); }

.ip-banner { display: grid; grid-template-columns: 1fr 1.1fr; gap: 56px; align-items: center; background: #fff; border: 1px solid var(--line); border-radius: 24px; padding: 28px; }
.ip-banner figure { border-radius: 16px; overflow: hidden; aspect-ratio: 1 / 1; background: var(--cream); }
.ip-banner figure img { width: 100%; height: 100%; object-fit: cover; }
.ip-banner h2 { font-size: clamp(23px, 2.6vw, 30px); }
.ip-banner > div > p:not(.ip-kicker) { margin-top: 14px; font-size: 15.5px; line-height: 1.85; color: var(--soft); }
.ip-banner-links { display: flex; flex-wrap: wrap; gap: 18px; align-items: center; margin-top: 26px; }
.ip-banner-links .ip-more { margin-top: 0; }

@media (max-width: 1024px) {
    .ip-scenes { grid-template-columns: repeat(2, 1fr); }
    .ip-howto { grid-template-columns: 1fr; max-width: 560px; }
}
@media (max-width: 760px) {
    .ip-scenes { grid-template-columns: 1fr 1fr; gap: 12px; }
    .ip-scene-body { padding: 14px 14px 16px; }
    .ip-scene h3 { font-size: 15.5px; }
    .ip-scene-body > p:not(.ip-scene-tag) { font-size: 13.5px; }
    .ip-scene-pick { font-size: 12px; padding: 8px 10px; }
    .ip-banner { grid-template-columns: 1fr; gap: 26px; padding: 18px; }
    .ip-safety li { padding: 14px 16px; }
}
.ip-faq-note { max-width: 860px; margin: 22px auto 0 !important; }
