/* ═══════════════════════════════════════════════════════
   백링크 나우 — 디자인 시스템
   ⚠ 다크 단일 테마입니다. 의도된 선택이니 라이트 분기를 넣지 마세요.
   ⚠ 파일 하나만 씁니다. 요청 수가 곧 Core Web Vitals 입니다.
   ⚠ 모든 콘텐츠는 기본이 "보임" 입니다. JS 가 죽어도 글자가 다 보여야
     구글이 읽습니다. 스크롤 등장은 body.js 가 붙은 뒤에만 켜집니다.
   ═══════════════════════════════════════════════════════ */

:root{
  /* 바닥 — 순검정 대신 푸른 기가 도는 잉크 */
  --bg:#080b14; --bg-2:#0c1120; --surf:#111828; --surf-2:#151d30;
  --line:#1e2740; --line-2:#2a3552; --line-3:#3a4870;

  /* 글자 */
  --ink:#eef2f9; --ink-2:#c3ccdd; --dim:#8b97ae; --faint:#5d6880;

  /* 액센트 — 하나만. 강조는 색이 아니라 굵기와 흰색으로 */
  --acc:#4f7cff; --acc-2:#7a9bff; --acc-dk:#2d55d4;
  --acc-glow:rgba(79,124,255,.18);
  --acc-soft:rgba(79,124,255,.1);

  /* 데이터 전용 — 숫자에만 씁니다 */
  --num:#f5b53d;

  --ok:#3ddc97; --warn:#ffb648; --err:#ff6b6b;

  --r:14px; --r-lg:20px; --r-sm:10px;
  --font:"Pretendard Variable",Pretendard,-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Malgun Gothic",sans-serif;
  --mono:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,monospace;
  --wrap:1200px;
  --ease:cubic-bezier(.22,1,.36,1);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
html,body{margin:0;padding:0}
body{
  background:var(--bg);color:var(--ink);
  font:17px/1.75 var(--font);letter-spacing:-.014em;
  -webkit-font-smoothing:antialiased;overflow-x:hidden;
}
/* 아주 옅은 격자 — 기술적인 바닥 질감 */
body::before{
  content:"";position:fixed;inset:0;z-index:0;pointer-events:none;opacity:.5;
  background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);
  background-size:72px 72px;
  -webkit-mask-image:radial-gradient(ellipse 90% 60% at 50% 0%,#000 0%,transparent 75%);
  mask-image:radial-gradient(ellipse 90% 60% at 50% 0%,#000 0%,transparent 75%);
}
main,header,footer{position:relative;z-index:1}

img{max-width:100%;height:auto}
a{color:var(--acc-2);text-decoration:none;text-underline-offset:4px}
a:hover{text-decoration:underline}
h1,h2,h3,h4{line-height:1.22;letter-spacing:-.042em;margin:0;text-wrap:balance;font-weight:800}
p{margin:0}
ul,ol{margin:0;padding-left:1.2em}
code{font-family:var(--mono);font-size:.88em;background:var(--surf-2);padding:2px 7px;border-radius:6px;color:var(--acc-2)}
::selection{background:var(--acc);color:#fff}
:focus-visible{outline:2px solid var(--acc-2);outline-offset:3px;border-radius:4px}

.wrap{max-width:var(--wrap);margin:0 auto;padding-inline:24px}
.narrow{max-width:780px}
.mid{max-width:960px}
@media(max-width:600px){ .wrap{padding-inline:18px} }

/* ── 헤더 ───────────────────────────────────────── */
.hd{position:sticky;top:0;z-index:80;border-bottom:1px solid transparent;background:transparent;transition:background .25s var(--ease),border-color .25s var(--ease)}
body.scrolled .hd{background:#080b14}
body.scrolled .hd{border-bottom-color:var(--line)}
.hd-in{max-width:var(--wrap);margin:0 auto;padding:16px 24px;display:flex;align-items:center;gap:16px}
.logo{display:flex;align-items:center;gap:10px;font-weight:800;font-size:18px;color:var(--ink);letter-spacing:-.045em}
.logo:hover{text-decoration:none}
.logo .m{width:32px;height:32px;border-radius:10px;display:grid;place-items:center;color:#fff;font-size:15px;font-weight:900;
  background:linear-gradient(140deg,var(--acc-2),var(--acc-dk));box-shadow:0 0 0 1px rgba(122,155,255,.25),0 6px 18px rgba(45,85,212,.35)}
.nav{display:flex;gap:2px;margin-left:auto;align-items:center}
.nav a{padding:9px 14px;border-radius:10px;font-size:15px;font-weight:600;color:var(--dim);transition:color .2s,background .2s}
.nav a:hover{background:var(--surf);color:var(--ink);text-decoration:none}
.nav a.cta{background:var(--acc);color:#fff;padding:11px 18px;font-weight:700;box-shadow:0 4px 16px rgba(45,85,212,.4)}
.nav a.cta:hover{background:var(--acc-2);color:#fff}
@media(max-width:860px){ .nav a{padding:8px 10px;font-size:14px} .nav a.cta{padding:10px 14px} }
@media(max-width:560px){ .nav a.hide-s{display:none} .hd-in{padding:12px 18px} .logo{font-size:16px} }

/* ── 섹션 ───────────────────────────────────────── */
section{padding-block:clamp(72px,11vw,128px)}
section.tight{padding-block:clamp(52px,8vw,88px)}
.eyebrow{display:inline-flex;align-items:center;gap:9px;font-family:var(--mono);font-size:12px;font-weight:600;
  letter-spacing:.14em;text-transform:uppercase;color:var(--acc-2);margin-bottom:20px}
.eyebrow::before{content:"";width:24px;height:1px;background:linear-gradient(90deg,transparent,var(--acc))}
h2.sec{font-size:clamp(30px,5vw,52px);margin-bottom:20px}
h3{font-size:20px;letter-spacing:-.03em;margin-bottom:10px}
.lead{font-size:clamp(16px,2.1vw,19px);color:var(--dim);max-width:64ch;line-height:1.72}
.lead strong{color:var(--ink);font-weight:650}
.sub{color:var(--faint);font-size:15px;line-height:1.7}
.hairline{border:0;height:1px;background:linear-gradient(90deg,transparent,var(--line-2) 20%,var(--line-2) 80%,transparent);margin:0}

/* ── 히어로 ─────────────────────────────────────── */
.hero{position:relative;padding-block:clamp(72px,12vw,148px) clamp(64px,9vw,110px);overflow:hidden}
.hero-glow{position:absolute;top:-240px;left:50%;transform:translateX(-50%);width:1100px;height:720px;pointer-events:none;
  background:radial-gradient(ellipse at center,var(--acc-glow) 0%,transparent 62%);filter:blur(30px)}
#net{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;opacity:1}
.hero-in{position:relative;z-index:2}
.hero h1{font-size:clamp(38px,7.4vw,78px);line-height:1.08;letter-spacing:-.05em;margin-bottom:24px;font-weight:850}
.hero h1 .g{background:linear-gradient(100deg,var(--acc-2) 8%,#c3d3ff 52%,var(--acc-2) 92%);
  -webkit-background-clip:text;background-clip:text;color:transparent}
.hero .lead{font-size:clamp(16px,2.3vw,20px);margin-bottom:34px}
.hero-cta{display:flex;gap:12px;flex-wrap:wrap}

/* ── 버튼 ───────────────────────────────────────── */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:56px;padding:0 28px;
  border-radius:var(--r);border:1px solid var(--line-2);background:var(--surf);color:var(--ink);
  font:inherit;font-size:16px;font-weight:700;letter-spacing:-.02em;cursor:pointer;white-space:nowrap;
  transition:transform .18s var(--ease),background .2s,border-color .2s,box-shadow .2s}
.btn:hover{background:var(--surf-2);border-color:var(--line-3);transform:translateY(-2px);text-decoration:none;color:var(--ink)}
.btn:active{transform:translateY(0)}
.btn.pri{background:var(--acc);border-color:var(--acc);color:#fff;box-shadow:0 6px 24px rgba(45,85,212,.42)}
.btn.pri:hover{background:var(--acc-2);border-color:var(--acc-2);color:#fff;box-shadow:0 10px 34px rgba(45,85,212,.55)}
.btn.ghost{background:transparent}
.btn.light{background:#fff;border-color:#fff;color:#0a0f1c}
.btn.light:hover{background:#dde6ff;border-color:#dde6ff;color:#0a0f1c}
.btn.sm{min-height:44px;font-size:14.5px;padding:0 18px;border-radius:11px}
.btn.full{width:100%}
.btn .ar{transition:transform .22s var(--ease)}
.btn:hover .ar{transform:translateX(4px)}

/* ── 카드 ───────────────────────────────────────── */
.grid{display:grid;gap:20px}
.g2{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}
.g3{grid-template-columns:repeat(auto-fit,minmax(290px,1fr))}
.g4{grid-template-columns:repeat(auto-fit,minmax(224px,1fr))}
.card{position:relative;background:var(--surf);border:1px solid var(--line);border-radius:var(--r-lg);padding:30px;
  transition:border-color .25s,transform .25s var(--ease),background .25s}
.card::before{content:"";position:absolute;inset:0;border-radius:var(--r-lg);padding:1px;pointer-events:none;opacity:0;
  background:linear-gradient(140deg,var(--acc),transparent 45%);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;
  mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);mask-composite:exclude;
  transition:opacity .3s}
.card:hover{border-color:var(--line-2);transform:translateY(-3px)}
.card:hover::before{opacity:.55}
.card.flat{background:var(--bg-2)}
.card.flat:hover{transform:none}
.card h3{color:var(--ink)}
.card p{color:var(--dim);font-size:15.5px}
a.card:hover{text-decoration:none}

/* ── 상품 카드 ──────────────────────────────────── */
.prod{display:flex;flex-direction:column;padding-top:34px}
.prod .tag{position:absolute;top:16px;right:20px;font-family:var(--mono);font-size:10.5px;font-weight:700;letter-spacing:.12em;
  padding:5px 10px;border-radius:7px;background:var(--surf-2);border:1px solid var(--line-2);color:var(--dim)}
.prod .tag.hot{color:#ffb4b4;border-color:rgba(255,107,107,.35);background:rgba(255,107,107,.1)}
.prod .tag.new{color:#8ff0c8;border-color:rgba(61,220,151,.3);background:rgba(61,220,151,.09)}
.prod .tag.upd{color:var(--acc-2);border-color:rgba(79,124,255,.35);background:var(--acc-soft)}
.prod.feat{background:linear-gradient(180deg,var(--surf-2),var(--surf));border-color:var(--line-3)}
.prod.feat::before{opacity:.5}
.prod h3{font-size:21px}
.prod .why{color:var(--faint);font-size:14.5px;line-height:1.6;margin:8px 0 20px;min-height:46px}
.prod ul{list-style:none;padding:0;margin:0 0 22px;font-size:14.8px;color:var(--ink-2)}
.prod ul li{padding:7px 0 7px 24px;position:relative;line-height:1.55}
.prod ul li::before{content:"";position:absolute;left:1px;top:14px;width:11px;height:6px;
  border-left:1.8px solid var(--acc-2);border-bottom:1.8px solid var(--acc-2);transform:rotate(-45deg)}
.prod ul li strong{color:var(--ink)}
.prod .price{margin-top:auto;padding-top:20px;border-top:1px solid var(--line);
  font-family:var(--mono);font-size:29px;font-weight:700;letter-spacing:-.04em;color:var(--ink)}
.prod .price small{font-family:var(--font);font-size:14px;font-weight:600;color:var(--faint);letter-spacing:0;margin-left:3px}
.prod .btn{margin-top:16px}

/* ── 지표 / 숫자 ────────────────────────────────── */
.metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1px;
  background:var(--line);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden}
.metrics div{background:var(--bg-2);padding:28px 24px}
.metrics b{display:block;font-family:var(--mono);font-size:clamp(27px,4vw,38px);font-weight:700;
  letter-spacing:-.05em;line-height:1.1;color:var(--num)}
.metrics span{display:block;font-size:14px;color:var(--faint);margin-top:6px}
.mono{font-family:var(--mono);color:var(--num);font-weight:700}

/* ── 표 ─────────────────────────────────────────── */
.tbl-box{overflow-x:auto;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surf);
  -webkit-overflow-scrolling:touch}
table{border-collapse:collapse;width:100%;min-width:600px;font-size:15.5px}
caption{text-align:left;padding:18px 22px 4px;color:var(--faint);font-size:14px}
th,td{padding:15px 22px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top;color:var(--ink-2)}
th{background:var(--bg-2);font-family:var(--mono);font-size:12px;font-weight:600;letter-spacing:.1em;
  text-transform:uppercase;color:var(--faint);white-space:nowrap}
td a{color:var(--ink);font-weight:600}
td.num{text-align:right;font-family:var(--mono);font-weight:700;white-space:nowrap;color:var(--num)}
tbody tr{transition:background .2s}
tbody tr:hover{background:var(--surf-2)}
tbody tr:last-child td{border-bottom:0}

/* ── FAQ ────────────────────────────────────────── */
details{border:1px solid var(--line);border-radius:var(--r);background:var(--surf);margin-bottom:12px;transition:border-color .25s}
details:hover{border-color:var(--line-2)}
details[open]{background:var(--surf-2);border-color:var(--line-2)}
summary{padding:22px 26px;font-weight:700;font-size:17px;cursor:pointer;list-style:none;
  display:flex;gap:14px;align-items:flex-start;color:var(--ink);letter-spacing:-.025em}
summary::-webkit-details-marker{display:none}
summary::before{content:"Q";flex:none;width:24px;height:24px;border-radius:7px;background:var(--acc-soft);
  border:1px solid rgba(79,124,255,.3);color:var(--acc-2);font-family:var(--mono);font-size:12px;font-weight:700;
  display:grid;place-items:center;margin-top:3px}
summary::after{content:"";margin-left:auto;flex:none;width:9px;height:9px;margin-top:7px;
  border-right:1.8px solid var(--faint);border-bottom:1.8px solid var(--faint);transform:rotate(45deg);transition:transform .25s var(--ease)}
details[open] summary::after{transform:rotate(-135deg)}
details .a{padding:0 26px 24px 64px;color:var(--dim);font-size:16px;line-height:1.75}
details .a strong{color:var(--ink-2)}

/* ── 본문 글 ────────────────────────────────────── */
.post h2{font-size:clamp(24px,3.4vw,32px);margin:52px 0 16px;letter-spacing:-.04em}
.post h2:first-of-type{margin-top:8px}
.post h3{font-size:20px;margin:34px 0 10px;color:var(--ink)}
.post p{margin:0 0 18px;color:var(--ink-2);font-size:17px;line-height:1.85}
.post ul,.post ol{margin:0 0 20px;color:var(--ink-2);font-size:17px;line-height:1.8}
.post li{margin-bottom:9px}
.post strong{color:var(--ink);font-weight:700}
.toc{background:var(--bg-2);border:1px solid var(--line);border-radius:var(--r);padding:24px 28px;margin:0 0 40px}
.toc b{display:block;font-family:var(--mono);font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--faint);margin-bottom:12px;font-weight:600}
.toc ol{margin:0;padding-left:1.3em;font-size:16px}
.toc li{margin-bottom:7px}
.toc a{color:var(--ink-2)}
.toc a:hover{color:var(--acc-2)}

/* ── 알림 박스 ──────────────────────────────────── */
.note,.ok{border-radius:var(--r);padding:20px 24px;font-size:16px;line-height:1.7;margin:4px 0}
.note{background:rgba(255,182,72,.07);border:1px solid rgba(255,182,72,.24);color:#ffd79a}
.note strong{color:#ffe9c4}
.note a{color:#ffe9c4;text-decoration:underline}
.ok{background:rgba(61,220,151,.07);border:1px solid rgba(61,220,151,.24);color:#a5f0cf}
.ok strong{color:#d3faea}

/* ── 빵부스러기 ─────────────────────────────────── */
.bc{font-family:var(--mono);font-size:12.5px;color:var(--faint);padding-block:24px 0;letter-spacing:.02em}
.bc a{color:var(--faint)}
.bc a:hover{color:var(--acc-2)}
.bc span{margin:0 8px;opacity:.5}

/* ── 띠 CTA ─────────────────────────────────────── */
.band{position:relative;overflow:hidden;
  background:linear-gradient(150deg,#101a35 0%,#0a1024 55%,#0d1428 100%);
  border-block:1px solid var(--line-2)}
.band::before{content:"";position:absolute;top:-180px;right:-120px;width:620px;height:520px;pointer-events:none;
  background:radial-gradient(ellipse at center,rgba(79,124,255,.2),transparent 65%);filter:blur(30px)}
.band .wrap{position:relative}
.band h2{font-size:clamp(27px,4.4vw,42px);margin-bottom:16px}
.band p{color:var(--dim);font-size:18px}

/* ── 칩 ─────────────────────────────────────────── */
.chips{display:flex;gap:9px;flex-wrap:wrap;margin-top:26px}
.chip{background:var(--surf);border:1px solid var(--line);border-radius:999px;padding:8px 16px;
  font-family:var(--mono);font-size:12.5px;font-weight:500;color:var(--dim);letter-spacing:.02em}

/* ── 진단기 (인터랙티브) ────────────────────────── */
.finder{background:linear-gradient(170deg,var(--surf-2),var(--surf));border:1px solid var(--line-2);
  border-radius:24px;padding:clamp(26px,4vw,44px);position:relative;overflow:hidden}
.finder::before{content:"";position:absolute;top:-140px;left:-80px;width:460px;height:400px;pointer-events:none;
  background:radial-gradient(ellipse at center,var(--acc-glow),transparent 66%);filter:blur(24px)}
.finder>*{position:relative}
.q{margin-bottom:26px}
.q>b{display:flex;align-items:center;gap:10px;font-size:16px;font-weight:700;color:var(--ink);margin-bottom:14px;letter-spacing:-.025em}
.q>b i{flex:none;width:23px;height:23px;border-radius:7px;background:var(--acc-soft);border:1px solid rgba(79,124,255,.3);
  color:var(--acc-2);font-family:var(--mono);font-size:11.5px;font-weight:700;font-style:normal;display:grid;place-items:center}
.opts{display:flex;gap:9px;flex-wrap:wrap}
.opt{border:1px solid var(--line-2);background:var(--bg-2);border-radius:11px;padding:12px 18px;
  font:inherit;font-size:15px;font-weight:600;color:var(--ink-2);cursor:pointer;transition:all .2s var(--ease)}
.opt:hover{border-color:var(--line-3);color:var(--ink);transform:translateY(-1px)}
.opt[aria-pressed="true"]{background:var(--acc);border-color:var(--acc);color:#fff;box-shadow:0 4px 18px rgba(45,85,212,.42)}
.result{margin-top:28px;padding-top:26px;border-top:1px solid var(--line-2)}
.rec{display:flex;align-items:flex-start;gap:24px;flex-wrap:wrap}
.rec .box{flex:1;min-width:250px}
.rec .nm{font-size:clamp(22px,3vw,28px);font-weight:800;letter-spacing:-.04em;margin-bottom:8px}
.rec .pr{font-family:var(--mono);font-size:30px;font-weight:700;color:var(--num);letter-spacing:-.04em}
.rec .rz{color:var(--dim);font-size:15.5px;margin-top:12px;line-height:1.75}

/* ── 순서 스텝 ──────────────────────────────────── */
.steps{counter-reset:s;display:grid;gap:14px}
.step{position:relative;counter-increment:s;background:var(--surf);border:1px solid var(--line);
  border-radius:var(--r);padding:22px 26px 22px 74px;transition:border-color .25s}
.step:hover{border-color:var(--line-2)}
.step::before{content:counter(s,decimal-leading-zero);position:absolute;left:26px;top:22px;
  font-family:var(--mono);font-size:15px;font-weight:700;color:var(--acc-2)}
.step h3{margin-bottom:6px;font-size:18px}
.step p{color:var(--dim);font-size:15.5px;margin:0}

/* ── 푸터 ───────────────────────────────────────── */
.ft{background:var(--bg-2);border-top:1px solid var(--line);padding-block:60px 36px;font-size:15px;color:var(--dim)}
.ft a{color:var(--dim)}
.ft a:hover{color:var(--ink)}
.ft-grid{display:grid;grid-template-columns:1.4fr repeat(auto-fit,minmax(150px,1fr));gap:34px;margin-bottom:40px}
.ft b{display:block;color:var(--ink);font-family:var(--mono);font-size:11.5px;letter-spacing:.14em;
  text-transform:uppercase;margin-bottom:16px;font-weight:600}
.ft ul{list-style:none;padding:0;margin:0}
.ft li{margin-bottom:10px}
.ft-btm{border-top:1px solid var(--line);padding-top:24px;font-size:13px;color:var(--faint);font-family:var(--mono)}
.ft-kw{margin-top:10px;font-size:12px;color:#414b60;font-family:var(--font);line-height:1.7}

/* ── 하단 고정 CTA (모바일) ─────────────────────── */
.sticky-cta{position:fixed;left:0;right:0;bottom:0;z-index:90;display:none;gap:10px;padding:12px 16px;
  padding-bottom:calc(12px + env(safe-area-inset-bottom,0px));
  background:#080b14;border-top:1px solid var(--line-2)}
@media(max-width:860px){
  .sticky-cta{display:flex}
  body{padding-bottom:82px}
  .sticky-cta .btn{flex:1;min-height:50px;padding:0 12px;font-size:15px}
}

/* ── 등장 모션 ──────────────────────────────────── */
/* ⚠ body.js 가 붙은 뒤에만 숨깁니다. JS 없이는 전부 보입니다. */
body.js .rv{opacity:0;transform:translateY(22px)}
body.js .rv.in{opacity:1;transform:none;transition:opacity .7s var(--ease),transform .7s var(--ease)}
body.js .rv-d1.in{transition-delay:.08s}
body.js .rv-d2.in{transition-delay:.16s}
body.js .rv-d3.in{transition-delay:.24s}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  body.js .rv{opacity:1!important;transform:none!important}
  *,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}
  #net{display:none}
}
