@font-face { font-family: 'Pretendard'; font-weight: 400; src: url('fonts/Pretendard-Regular.woff2') format('woff2'); }
@font-face { font-family: 'Pretendard'; font-weight: 500; src: url('fonts/Pretendard-Medium.woff2') format('woff2'); }
@font-face { font-family: 'Pretendard'; font-weight: 600; src: url('fonts/Pretendard-SemiBold.woff2') format('woff2'); }
@font-face { font-family: 'Pretendard'; font-weight: 700; src: url('fonts/Pretendard-Bold.woff2') format('woff2'); }
@font-face { font-family: 'Pretendard'; font-weight: 800; src: url('fonts/Pretendard-ExtraBold.woff2') format('woff2'); }

:root {
  --ink: #0c1a17;
  --ink-2: #12241f;
  --brand: #0f9d58;
  --brand-d: #0a7a44;
  --brand-l: #e7f6ee;
  --accent: #19c37d;
  --text: #14201d;
  --muted: #5c6b66;
  --line: #e4e9e6;
  --bg-alt: #f5f8f6;
}

* { box-sizing: border-box; margin: 0; padding: 0; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
html, body { font-family: 'Pretendard', 'Apple SD Gothic Neo', sans-serif; color: var(--text); }
body { line-height: 1.6; word-break: keep-all; }
img { display: block; max-width: 100%; }

@page { size: A4; margin: 0; }
.page { width: 210mm; height: 297mm; position: relative; overflow: hidden; page-break-after: always; background: #fff; }
.page:last-child { page-break-after: auto; }
.pad { padding: 14mm 15mm 20mm; height: 100%; display: flex; flex-direction: column; }

/* ---------- shared ---------- */
.eyebrow { font-size: 8.5pt; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: var(--brand); }
.pfoot { position: absolute; left: 15mm; right: 15mm; bottom: 8mm; display: flex; align-items: center; justify-content: space-between;
  font-size: 7pt; color: #9aa8a3; border-top: 1px solid var(--line); padding-top: 3mm; letter-spacing: .04em; }
.pfoot b { color: var(--brand-d); font-weight: 700; }
.h2 { font-size: 19pt; font-weight: 800; color: var(--ink); letter-spacing: -.02em; line-height: 1.25; margin-top: 2mm; }
.lead { color: var(--muted); font-size: 9.8pt; margin-top: 3mm; }

/* ---------- cover ---------- */
.cover { color: #fff;
  background:
    radial-gradient(120mm 70mm at 85% 0%, rgba(25,195,125,.25), transparent 60%),
    radial-gradient(100mm 60mm at 0% 105%, rgba(15,157,88,.22), transparent 60%),
    linear-gradient(150deg, #0a1713 0%, #0c2a20 52%, #0a3a29 100%); }
.cover::before { content: ''; position: absolute; inset: 0;
  background-image: radial-gradient(rgba(255,255,255,.055) .35mm, transparent .5mm);
  background-size: 6.5mm 6.5mm; }
.cover .pad { position: relative; padding-bottom: 14mm; }
.cover-top { display: flex; align-items: center; justify-content: space-between; }
.cbrand { display: flex; align-items: center; gap: 4mm; }
.cbrand img { height: 11mm; filter: brightness(0) invert(1); }
.cbrand .t { display: flex; flex-direction: column; line-height: 1.1; }
.cbrand .t b { font-size: 13pt; font-weight: 800; letter-spacing: -.01em; }
.cbrand .t small { font-size: 5.5pt; font-weight: 800; letter-spacing: .24em; color: var(--accent); margin-top: 1mm; }
.cover-chip { font-size: 8pt; font-weight: 700; color: #d8f5e6; border: .35mm solid rgba(255,255,255,.28);
  border-radius: 99mm; padding: 2mm 4.5mm; background: rgba(255,255,255,.07); }
.cover-mid { flex: 1; display: flex; flex-direction: column; justify-content: center; text-align: center; }
.cover-eyebrow { font-size: 9pt; font-weight: 700; letter-spacing: .34em; color: var(--accent); text-transform: uppercase; }
.cover-title { font-size: 42pt; font-weight: 800; letter-spacing: -.03em; line-height: 1.06; margin-top: 5mm; }
.cover-title small { display: block; font-size: 13pt; font-weight: 600; letter-spacing: .01em; color: rgba(255,255,255,.85); margin-top: 4.5mm; }
.cover-fig { position: relative; margin: 8mm auto 0; width: 128mm; }
.cover-fig::before { content: ''; position: absolute; inset: -8% -12%; border-radius: 50%;
  background: radial-gradient(circle at 50% 45%, rgba(25,195,125,.4), transparent 62%); filter: blur(9mm); }
.cover-fig img { position: relative; width: 100%; filter: drop-shadow(0 9mm 9mm rgba(0,0,0,.5)); }
.cover-fig--photo { width: 152mm; }
.cover-fig--photo::before { display: none; }
.cover-fig--photo img { border-radius: 5mm; filter: none; box-shadow: none; border: .5mm solid rgba(255,255,255,.18); }
.cover-stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 3mm; margin-top: 9mm; }
.cstat { background: rgba(255,255,255,.06); border: .3mm solid rgba(255,255,255,.14); border-radius: 3.5mm;
  padding: 4.5mm 2mm 4mm; text-align: center; }
.cstat b { display: block; font-size: 16.5pt; font-weight: 800; color: var(--accent); letter-spacing: -.02em; line-height: 1.1; }
.cstat b i { font-style: normal; font-size: 9.5pt; font-weight: 700; margin-left: .5mm; }
.cstat span { display: block; font-size: 7.5pt; font-weight: 600; color: rgba(255,255,255,.72); margin-top: 1.5mm; letter-spacing: .02em; }
.cover-bottom { display: flex; align-items: center; justify-content: space-between; margin-top: 10mm;
  border-top: .3mm solid rgba(255,255,255,.16); padding-top: 5mm; font-size: 8pt; color: rgba(255,255,255,.66); }
.cover-bottom b { color: #fff; font-weight: 700; }

/* ---------- overview page ---------- */
.ov-img { border-radius: 4mm; overflow: hidden; margin-top: 6mm; box-shadow: 0 4mm 10mm rgba(12,26,23,.14); }
.ov-img img { width: 100%; height: 62mm; object-fit: cover; }
.ov-caption { font-size: 7pt; color: #9aa8a3; margin-top: 1.6mm; text-align: right; }
.darkband { background: linear-gradient(135deg, var(--ink), #0a2a20); border-radius: 4mm; color: #fff;
  padding: 7mm 7mm 6.5mm; margin-top: 6mm; }
.darkband h3 { font-size: 8pt; font-weight: 700; letter-spacing: .18em; color: var(--accent); text-transform: uppercase; margin-bottom: 4mm; }
.dstats { display: grid; grid-template-columns: repeat(3, 1fr); gap: .4mm; background: rgba(255,255,255,.14);
  border: .3mm solid rgba(255,255,255,.14); border-radius: 3mm; overflow: hidden; }
.dstats div { background: #10231d; padding: 3.8mm 4.5mm; }
.dstats dt { font-size: 7pt; color: rgba(255,255,255,.55); }
.dstats dd { font-size: 11.5pt; font-weight: 800; color: var(--accent); margin-top: .8mm; letter-spacing: -.01em; }
.dstats dd small { font-size: 7pt; font-weight: 600; color: rgba(255,255,255,.6); margin-left: 1mm; }
.vs { display: grid; grid-template-columns: repeat(3, 1fr); gap: 3.5mm; margin-top: 6mm; }
.vs-item { border: .35mm solid var(--line); border-left: 1.1mm solid var(--brand); border-radius: 2.5mm; padding: 4mm 4.5mm; }
.vs-item b { display: block; font-size: 9.5pt; font-weight: 800; color: var(--ink); }
.vs-item span { display: block; font-size: 7.8pt; color: var(--muted); margin-top: 1.2mm; line-height: 1.5; }
.vs-item .up { color: var(--brand-d); font-weight: 700; }

/* ---------- features page ---------- */
.fgrid { display: grid; grid-template-columns: 1fr 1fr; gap: 4mm; margin-top: 6mm; }
.feat { border: .35mm solid var(--line); border-radius: 3.5mm; padding: 5.5mm 5.5mm 5mm; background: #fff; }
.feat-ico { width: 8.5mm; height: 8.5mm; border-radius: 2.4mm; background: var(--brand-l); color: var(--brand-d);
  display: flex; align-items: center; justify-content: center; margin-bottom: 3mm; }
.feat-ico svg { width: 5mm; height: 5mm; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.feat b { display: block; font-size: 10.5pt; font-weight: 800; color: var(--ink); letter-spacing: -.01em; }
.feat p { font-size: 8.2pt; color: var(--muted); margin-top: 1.6mm; line-height: 1.55; }

/* ---------- payload compare ---------- */
.paycmp { display: grid; grid-template-columns: 1fr 1fr; gap: 4mm; margin-top: 5mm; }
.pay { border-radius: 3.5mm; padding: 5.5mm 6mm; }
.pay--a { background: linear-gradient(135deg, var(--ink), #0a2a20); color: #fff; }
.pay--b { background: var(--bg-alt); border: .35mm solid var(--line); }
.pay .tag { display: inline-block; font-size: 6.8pt; font-weight: 800; letter-spacing: .1em; border-radius: 99mm; padding: 1.2mm 3.5mm; }
.pay--a .tag { background: var(--accent); color: var(--ink); }
.pay--b .tag { background: var(--brand-l); color: var(--brand-d); }
.pay h4 { font-size: 11pt; font-weight: 800; margin-top: 2.5mm; letter-spacing: -.01em; }
.pay--a h4 { color: #fff; } .pay--b h4 { color: var(--ink); }
.pay .model { font-size: 7.2pt; margin-top: .5mm; }
.pay--a .model { color: rgba(255,255,255,.55); } .pay--b .model { color: var(--muted); }
.pay ul { margin-top: 3mm; list-style: none; }
.pay li { font-size: 8pt; padding: 1.15mm 0 1.15mm 5mm; position: relative; line-height: 1.5; }
.pay--a li { color: rgba(255,255,255,.85); border-top: .25mm solid rgba(255,255,255,.12); }
.pay--b li { color: var(--text); border-top: .25mm solid var(--line); }
.pay li::before { content: '✓'; position: absolute; left: .5mm; font-weight: 800; }
.pay--a li::before { color: var(--accent); } .pay--b li::before { color: var(--brand); }

/* ---------- spec tables ---------- */
.spec2col { column-count: 2; column-gap: 7mm; margin-top: 5mm; }
.sgroup { break-inside: avoid; margin-bottom: 5mm; }
.sgroup h3 { font-size: 9pt; font-weight: 800; color: var(--ink); border-left: 1.1mm solid var(--brand);
  padding-left: 2.8mm; margin-bottom: 2mm; letter-spacing: -.01em; }
.stable { width: 100%; border-collapse: collapse; border-top: .5mm solid var(--ink); }
.stable th, .stable td { text-align: left; vertical-align: top; padding: 1.9mm 2.4mm; border-bottom: .25mm solid var(--line);
  font-size: 7.5pt; line-height: 1.5; }
.stable th { width: 34%; color: var(--muted); font-weight: 600; background: var(--bg-alt); }
.stable td { color: var(--text); font-weight: 500; }
.stable td b { color: var(--brand-d); }
.spec-note { font-size: 6.8pt; color: #9aa8a3; margin-top: 2.5mm; line-height: 1.6; }

/* ---------- ops / applications ---------- */
.ops-img { border-radius: 4mm; overflow: hidden; margin-top: 5mm; }
.ops-img img { width: 100%; height: 52mm; object-fit: cover; }
.ops-cols { display: grid; grid-template-columns: 1fr 1fr; gap: 4mm; margin-top: 5mm; }
.ops-box { border: .35mm solid var(--line); border-radius: 3.5mm; padding: 5mm 5.5mm; }
.ops-box b { display: block; font-size: 10pt; font-weight: 800; color: var(--ink); }
.ops-box p { font-size: 8pt; color: var(--muted); margin-top: 1.5mm; line-height: 1.55; }
.apps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 3.5mm; margin-top: 5mm; }
.app { background: var(--bg-alt); border-radius: 3mm; padding: 4.5mm 4.5mm 4mm; }
.app b { display: flex; align-items: center; gap: 2mm; font-size: 9pt; font-weight: 800; color: var(--ink); }
.app b svg { width: 4mm; height: 4mm; fill: none; stroke: var(--brand); stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; flex: none; }
.app span { display: block; font-size: 7.6pt; color: var(--muted); margin-top: 1.3mm; line-height: 1.5; }

/* ---------- back cover ---------- */
.back { color: #fff;
  background:
    radial-gradient(110mm 70mm at 100% 0%, rgba(25,195,125,.18), transparent 60%),
    linear-gradient(160deg, #0a1713 0%, #0c2a20 55%, #0a3a29 100%); }
.back .pad { padding: 16mm 15mm 12mm; }
.back h2 { font-size: 20pt; font-weight: 800; letter-spacing: -.02em; line-height: 1.3; }
.back .sub { color: rgba(255,255,255,.75); font-size: 9.5pt; margin-top: 3mm; max-width: 130mm; }
.proc { display: grid; grid-template-columns: repeat(5, 1fr); gap: 2.5mm; margin-top: 8mm; }
.proc div { background: rgba(255,255,255,.06); border: .3mm solid rgba(255,255,255,.14); border-radius: 3mm;
  padding: 4mm 3mm; text-align: center; }
.proc b { display: flex; width: 7mm; height: 7mm; border-radius: 50%; background: var(--brand); color: #fff;
  font-size: 8.5pt; font-weight: 800; align-items: center; justify-content: center; margin: 0 auto 2mm; }
.proc strong { display: block; font-size: 8.5pt; font-weight: 800; }
.proc span { display: block; font-size: 6.8pt; color: rgba(255,255,255,.6); margin-top: 1mm; line-height: 1.45; }
.pricebox { margin-top: 7mm; background: rgba(25,195,125,.1); border: .35mm solid rgba(25,195,125,.4);
  border-radius: 3.5mm; padding: 5mm 6mm; display: flex; align-items: center; gap: 5mm; }
.pricebox svg { width: 7mm; height: 7mm; flex: none; fill: none; stroke: var(--accent); stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.pricebox b { font-size: 10.5pt; font-weight: 800; color: #fff; display: block; }
.pricebox span { font-size: 8pt; color: rgba(255,255,255,.75); display: block; margin-top: .8mm; line-height: 1.5; }
.kit { margin-top: 7mm; }
.kit h3 { font-size: 8pt; font-weight: 700; letter-spacing: .18em; color: var(--accent); text-transform: uppercase; margin-bottom: 3.5mm; }
.kit-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 3mm; }
.kit-item { background: rgba(255,255,255,.05); border: .3mm solid rgba(255,255,255,.12); border-radius: 3mm; padding: 4mm 4.5mm; }
.kit-item b { display: block; font-size: 8.5pt; font-weight: 800; color: #fff; }
.kit-item span { display: block; font-size: 7pt; color: rgba(255,255,255,.62); margin-top: 1mm; line-height: 1.5; }
.kit-item .k { display: inline-block; font-size: 6.2pt; font-weight: 800; letter-spacing: .08em; color: var(--accent); margin-bottom: 1.2mm; }
.back-contact { margin-top: auto; border-top: .3mm solid rgba(255,255,255,.18); padding-top: 6mm;
  display: grid; grid-template-columns: 1fr 1fr; gap: 6mm; align-items: start; }
.back-brand { display: flex; align-items: center; gap: 4mm; }
.back-brand img { height: 12mm; filter: brightness(0) invert(1); }
.back-brand .t { line-height: 1.15; }
.back-brand .t b { font-size: 14pt; font-weight: 800; display: block; }
.back-brand .t small { font-size: 5.5pt; font-weight: 800; letter-spacing: .24em; color: var(--accent); }
.back-info { font-size: 8pt; color: rgba(255,255,255,.75); line-height: 1.85; }
.back-info b { color: #fff; font-weight: 700; }
.back-tel { margin-top: 4mm; font-size: 16pt; font-weight: 800; color: var(--accent); letter-spacing: .01em; }
.back-tel small { display: block; font-size: 7.5pt; font-weight: 600; color: rgba(255,255,255,.6); letter-spacing: .06em; margin-top: .5mm; }
.disclaimer { margin-top: 6mm; font-size: 6.3pt; color: rgba(255,255,255,.42); line-height: 1.7;
  border-top: .25mm solid rgba(255,255,255,.12); padding-top: 3mm; }
