/*
Theme Name: NTGO 2026
Theme URI: https://nhatranggo.org/
Author: nhatranggo.org
Description: nhatranggo.org 전용 경량 클래식 테마. Elementor·jQuery 비의존, 순수 CSS, 다크 라운지 톤(남성 100% 타깃). 본문은 post_content 의 시맨틱 HTML 로만 렌더한다.
Version: 2.0.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: ntgo
*/

/* ══════════════════════════════════════════════════════════════════════════
   NTGO 2026 — 디자인 v2 (2026-09-30)

   왜 v2 인가: v1 은 「본문 760px 한 줄 + 오른쪽 절반 빈 검정」이었다.
   운영자 평가가 "고급스럽지 않다"였고, 원인은 색이 아니라 **레이아웃과 위계**였다.
   v2 가 바꾼 것 넷:
     ① 2단 그리드(본문 + 고정 키팩트 레일) — 오른쪽 여백이 정보가 된다
     ② 풀블리드 히어로 — 업소/허브/홈 전부 큰 사진 위에 제목이 앉는다
     ③ 놋쇠 헤어라인·세리프 라벨·괘선으로 만든 위계 3단
     ④ 사진 자리는 **절대 빈 검은 상자가 되지 않는다** — 프레임에 그라데이션
        플레이스홀더를 깔고, 대표 사진이 없으면 업종 무드 사진으로 대체한다

   🔴 색은 전부 실측 대비로 검증한다. HTTP 200·바이트 수는 렌더 검증이 아니다
      (2026-09-04 gold-raccoon 사고 — 검은 바탕에 검은 글자 5시간 반).
   🔴 서체: 외부 웹폰트 0. 한글 본문은 시스템 산세리프, 라틴 라벨·숫자만 시스템 세리프.
      한글 세리프 웹폰트는 LCP 를 가장 크게 망가뜨려서 쓰지 않는다.
   ══════════════════════════════════════════════════════════════════════════ */

:root{
  /* 바탕 — 라운지의 어둠. v1 보다 한 단 더 깊게 내리고 표면을 3단으로 쌓았다 */
  --bg:#0a0b0d;
  --bg-2:#0f1115;
  --surface:#15171c;
  --surface-2:#1b1e24;
  --surface-3:#22262d;

  --line:#24282f;
  --line-2:#343942;
  --hair:rgba(205,174,114,.26);   /* 놋쇠 헤어라인 — 얇은 괘선 전용 */

  /* 글자 위계 3단 (웜그레이) */
  --ink:#f4f5f7;      /* 제목   18.4:1 on --bg */
  --ink-2:#c4c9d1;    /* 본문   11.0:1 */
  --ink-3:#8f959f;    /* 보조    5.6:1 */

  /* 포인트 1색 — 놋쇠/샴페인 골드 */
  --brass:#cdae72;    /* 9.6:1 on --bg */
  --brass-hi:#e6d2a8; /* 하이라이트·괘선 */
  --brass-2:#a98d55;
  --brass-ink:#0c0b08;

  /* CTA — 🔴 채널 값은 건드리지 않는다. 색만 라운지 톤으로 맞춘다 */
  --kakao:#FEE500;
  --kakao-ink:#0b0b0b;   /* 15.2:1 */
  --tg-bg:#16242e;       /* 라운지 톤 어두운 배경 */
  --tg-ink:#dbeefb;      /* 밝은 글자 — 실측 12:1 대 */
  --tg-edge:#3f7fa3;

  --warn:#e0b341;
  --warn-bg:#211a0b;
  --warn-line:#4a3c14;
  --warn-ink:#eadfc4;

  --w:1220px;
  --w-prose:750px;
  --rail:330px;
  --gut:16px;
  --r:4px;
  --r-lg:10px;
  --r-xl:14px;

  --f-sans:system-ui,-apple-system,"Segoe UI","Apple SD Gothic Neo","Malgun Gothic","맑은 고딕",Roboto,"Helvetica Neue",sans-serif;
  /* 라틴 라벨·숫자 전용 세리프 — 전부 시스템 폰트다. 내려받지 않는다 */
  --f-num:"Iowan Old Style","Palatino Linotype",Palatino,"Book Antiqua",Georgia,"Times New Roman",serif;

  --shadow:0 1px 2px rgba(0,0,0,.5),0 14px 40px rgba(0,0,0,.35);
  --shadow-sm:0 1px 2px rgba(0,0,0,.45),0 6px 18px rgba(0,0,0,.25);
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}

body{
  margin:0;
  background:var(--bg);
  color:var(--ink);
  font-family:var(--f-sans);
  font-size:17px;
  line-height:1.8;
  word-break:keep-all;
  overflow-wrap:anywhere;
  -webkit-font-smoothing:antialiased;
}
img,svg,video{max-width:100%;height:auto;display:block}
a{color:var(--brass);text-decoration:none}
a:hover,a:focus-visible{text-decoration:underline;text-underline-offset:3px}
:focus-visible{outline:2px solid var(--brass);outline-offset:2px}
hr{border:0;border-top:1px solid var(--line);margin:44px 0}

.skip{position:absolute;left:-9999px;top:0;background:var(--brass);color:var(--brass-ink);padding:10px 16px;z-index:200}
.skip:focus{left:0}

.wrap{max-width:var(--w);margin:0 auto;padding:0 var(--gut)}
.prose{max-width:var(--w-prose)}
.sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

/* 라틴 라벨 — 이 사이트의 「고급」은 여기서 나온다. 한글에는 쓰지 않는다 */
.eyebrow,.kicker,.lbl,.brand span,.toc .lbl,.card .kicker,.rail .lbl,.sec-eyebrow{
  font-family:var(--f-num);
  font-size:11.5px;letter-spacing:.26em;text-transform:uppercase;font-weight:400;
}

/* ══════════════════════════════════════════════════════════
   1. 헤더 / 내비
   ══════════════════════════════════════════════════════════ */
.site-head{
  position:sticky;top:0;z-index:60;
  background:rgba(10,11,13,.9);
  backdrop-filter:saturate(1.35) blur(10px);
  border-bottom:1px solid var(--line);
}
.head-in{display:flex;align-items:center;gap:20px;height:68px}
.brand{display:flex;align-items:baseline;gap:10px;color:var(--ink);font-weight:700;font-size:20px;letter-spacing:-.025em;flex:0 0 auto}
.brand:hover{text-decoration:none}
.brand b{color:var(--brass)}
.brand span{color:var(--ink-3)}

.nav{margin-left:auto;display:flex;align-items:center;gap:2px}
.nav a{
  position:relative;color:var(--ink-2);font-size:15px;font-weight:500;
  padding:10px 13px;white-space:nowrap;
}
.nav a::after{
  content:"";position:absolute;left:13px;right:13px;bottom:4px;height:1px;
  background:var(--brass);transform:scaleX(0);transform-origin:left;transition:transform .18s ease;
}
.nav a:hover{color:var(--ink);text-decoration:none}
.nav a:hover::after,.nav a[aria-current="page"]::after{transform:scaleX(1)}
.nav a[aria-current="page"]{color:var(--brass)}

.head-cta{display:flex;gap:8px;margin-left:16px}
.head-cta .btn{padding:9px 16px;font-size:14px}

.navtoggle{
  display:none;margin-left:auto;background:transparent;border:1px solid var(--line-2);
  color:var(--ink);width:44px;height:40px;border-radius:var(--r);cursor:pointer;
  align-items:center;justify-content:center;
}
.navtoggle i{display:block;width:17px;height:1.5px;background:currentColor;position:relative}
.navtoggle i::before,.navtoggle i::after{content:"";position:absolute;left:0;width:17px;height:1.5px;background:currentColor}
.navtoggle i::before{top:-5px}.navtoggle i::after{top:5px}

@media (max-width:980px){
  .navtoggle{display:flex}
  .nav,.head-cta{display:none}
  .nav.open{
    display:flex;flex-direction:column;align-items:stretch;gap:0;
    position:absolute;left:0;right:0;top:68px;
    background:var(--bg-2);border-bottom:1px solid var(--line);
    padding:8px var(--gut) 18px;max-height:calc(100vh - 68px);overflow:auto;
  }
  .nav.open a{padding:13px 4px;border-bottom:1px solid var(--line);font-size:16px}
  .nav.open a::after{display:none}
}

/* ══════════════════════════════════════════════════════════
   2. 버튼 / CTA
   ══════════════════════════════════════════════════════════ */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:9px;
  padding:14px 24px;border-radius:var(--r);
  font-size:16px;font-weight:700;line-height:1.25;letter-spacing:-.012em;
  border:1px solid transparent;cursor:pointer;text-align:center;
  transition:filter .15s ease,border-color .15s ease;
}
.btn:hover{text-decoration:none;filter:brightness(1.08)}
/* 🔴 색을 !important 로 고정한다 — 2026-09-29 렌더 실측에서 `.site-foot a` 가
   이 두 줄을 덮어써 「노랑 배경 + 회색 글씨 1.32:1」이 나왔다. 선택자 특이도로
   이기려 하면 다음에 또 진다. 이 값들은 대비 검증을 통과한 값이다. */
.btn-kakao{background:var(--kakao)!important;color:var(--kakao-ink)!important;border-color:#d9c400!important}
.btn-tg{background:var(--tg-bg)!important;color:var(--tg-ink)!important;border-color:var(--tg-edge)!important}
.btn-tg svg{color:#6cc0ea}
.btn-ghost{background:transparent;color:var(--ink);border-color:var(--line-2)}
.btn-ghost:hover{border-color:var(--brass);color:var(--brass)}
.btn-brass{background:var(--brass);color:var(--brass-ink);border-color:var(--brass)}
.btn-sm{padding:10px 16px;font-size:14px}
.btn svg{width:17px;height:17px;flex:0 0 auto}

/* 블록 CTA */
.cta{
  margin:40px 0;padding:26px;border:1px solid var(--line);
  background:
    linear-gradient(180deg,var(--surface) 0%,var(--bg-2) 100%);
  border-radius:var(--r-lg);position:relative;overflow:hidden;
}
.cta::before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:linear-gradient(180deg,var(--brass-hi),var(--brass-2))}
.cta h3,.cta p.cta-t{margin:0 0 8px;font-size:19px;font-weight:700;color:var(--ink);letter-spacing:-.025em}
.cta p{margin:0 0 16px;color:var(--ink-2);font-size:15.5px;line-height:1.72}
.cta .btns{display:flex;gap:10px;flex-wrap:wrap}
.cta .btns .btn{flex:1 1 200px}
.cta-note{margin:14px 0 0!important;font-size:13.5px;color:var(--ink-3)}

.ask{margin:18px 0 0;padding:16px 18px;background:var(--bg);border:1px solid var(--line);border-radius:var(--r)}
.ask p{margin:0 0 10px;font-size:13.5px;color:var(--ink-3)}
.ask ul{margin:0;padding-left:18px;columns:2;column-gap:26px}
.ask li{font-size:14.5px;color:var(--ink-2);line-height:1.75;break-inside:avoid}
.ask li b{color:var(--ink)}
@media (max-width:620px){.ask ul{columns:1}}

/* 모바일 고정 바 */
.fixbar{
  position:fixed;left:0;right:0;bottom:0;z-index:70;display:none;
  gap:8px;padding:9px var(--gut) calc(9px + env(safe-area-inset-bottom));
  background:rgba(10,11,13,.97);border-top:1px solid var(--hair);
  backdrop-filter:blur(10px);
}
.fixbar .btn{flex:1;padding:14px 8px;font-size:15.5px}
@media (max-width:980px){.fixbar{display:flex}body{padding-bottom:78px}}

/* ══════════════════════════════════════════════════════════
   3. 히어로 — 홈 · 업소 · 허브 공통. 풀블리드.
   🔴 사진이 없거나 아직 디코드되지 않아도 「빈 검은 상자」가 되지 않게
      프레임 자체에 그라데이션을 깐다.
   ══════════════════════════════════════════════════════════ */
.hero{
  position:relative;overflow:hidden;
  border-bottom:1px solid var(--line);
  background:
    radial-gradient(120% 90% at 78% 8%,rgba(205,174,114,.10) 0%,rgba(10,11,13,0) 58%),
    linear-gradient(180deg,#14161b 0%,#0a0b0d 100%);
}
.hero-media{position:absolute;inset:0;z-index:0}
.hero-media img{width:100%;height:100%;object-fit:cover;opacity:.72;filter:saturate(.9) contrast(1.05)}
/* 🔴 두 겹이다. 세로는 아래로 갈수록 바탕색에 녹이고, 가로는 글자가 앉는 왼쪽만 눌러
   대비를 확보한다. 사진은 보여야 한다 — 다 덮으면 「빈 검은 상자」와 구분되지 않는다. */
.hero-media::after{
  content:"";position:absolute;inset:0;
  background:
    linear-gradient(180deg,rgba(10,11,13,.30) 0%,rgba(10,11,13,.52) 42%,rgba(10,11,13,.90) 88%,var(--bg) 100%),
    linear-gradient(90deg,rgba(10,11,13,.90) 0%,rgba(10,11,13,.72) 38%,rgba(10,11,13,.28) 72%,rgba(10,11,13,.5) 100%);
}
.hero-in{position:relative;z-index:1;padding:92px 0 76px;max-width:840px}
.hero .eyebrow{color:var(--brass);margin:0 0 18px;display:flex;align-items:center;gap:14px}
.hero .eyebrow::after{content:"";flex:1;max-width:120px;height:1px;background:var(--hair)}
.hero h1{margin:0 0 20px;font-size:clamp(31px,5vw,52px);line-height:1.2;letter-spacing:-.04em;font-weight:800}
.hero .lede{margin:0 0 30px;font-size:clamp(16.5px,2.1vw,19.5px);line-height:1.74;color:var(--ink-2);max-width:660px}
.hero .btns{display:flex;gap:11px;flex-wrap:wrap}
.hero-strip{
  position:relative;z-index:1;display:flex;flex-wrap:wrap;gap:0;
  border-top:1px solid var(--hair);
}
.hero-strip div{
  flex:1 1 180px;padding:18px 22px 20px;border-right:1px solid var(--line);
  background:rgba(10,11,13,.55);
}
.hero-strip div:last-child{border-right:0}
.hero-strip b{display:block;font-family:var(--f-num);font-size:11.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--brass);font-weight:400;margin-bottom:7px}
.hero-strip span{display:block;font-size:14.8px;color:var(--ink-2);line-height:1.6}
@media (max-width:760px){
  .hero-in{padding:56px 0 44px}
  .hero .btns .btn{flex:1 1 100%}
  .hero-strip div{flex:1 1 100%;border-right:0;border-bottom:1px solid var(--line)}
}

/* 업소·허브 페이지 히어로 (홈보다 낮다) */
.phero .hero-in{padding:70px 0 56px;max-width:900px;min-height:330px;display:flex;flex-direction:column;justify-content:center}
.phero h1{font-size:clamp(27px,4.1vw,42px);letter-spacing:-.035em;margin:0 0 14px}
.phero .sub{margin:0 0 18px;max-width:720px;font-size:17.5px;color:var(--ink-2);line-height:1.74}
.phero .pagemeta{margin:0 0 22px}
@media (max-width:760px){.phero .hero-in{padding:34px 0 34px}}

/* ══════════════════════════════════════════════════════════
   4. 브레드크럼 / 메타
   ══════════════════════════════════════════════════════════ */
.crumb{font-size:13px;color:var(--ink-3);padding:14px 0 0;position:relative;z-index:2}
.crumb ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:7px;align-items:center}
.crumb li::after{content:"›";margin-left:7px;color:var(--line-2)}
.crumb li:last-child::after{content:""}
.crumb a{color:var(--ink-3)}
.crumb a:hover{color:var(--brass)}
.crumb li:last-child span{color:var(--ink-3)}

.pagemeta{display:flex;flex-wrap:wrap;gap:8px 20px;margin:14px 0 0;font-size:13.5px;color:var(--ink-3)}
.pagemeta b{color:var(--ink-2);font-weight:600}
.pagemeta span{display:inline-flex;align-items:center;gap:7px}
.pagemeta span::before{content:"";width:4px;height:4px;border-radius:50%;background:var(--brass-2);flex:0 0 auto}

.head-btns{display:flex;gap:10px;flex-wrap:wrap;margin:0}
@media (max-width:620px){.head-btns .btn{flex:1 1 calc(50% - 5px)}}

/* ══════════════════════════════════════════════════════════
   5. 2단 레이아웃 — 본문 + 고정 레일
   v1 의 「오른쪽 절반이 빈 검정」을 여기서 끝낸다.
   ══════════════════════════════════════════════════════════ */
.layout{
  display:grid;grid-template-columns:minmax(0,1fr) var(--rail);
  gap:64px;align-items:start;padding:46px 0 0;
}
.layout .col-main{min-width:0;max-width:var(--w-prose)}
.rail{position:sticky;top:88px;display:flex;flex-direction:column;gap:16px}
@media (max-width:1080px){
  .layout{grid-template-columns:1fr;gap:0;padding-top:30px}
  .layout .col-main{max-width:none}
  .rail{position:static;top:auto;order:-1;margin-bottom:34px}
  .entry,.prose{max-width:none}
}

/* 레일 카드 */
.rail-card{
  background:linear-gradient(180deg,var(--surface) 0%,var(--bg-2) 100%);
  border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;
  box-shadow:var(--shadow-sm);
}
.rail-card>.hd{
  padding:15px 18px 13px;border-bottom:1px solid var(--line);
  background:var(--surface-2);
  display:flex;align-items:center;justify-content:space-between;gap:10px;
}
.rail-card>.hd .lbl{color:var(--brass);margin:0}
.rail-card>.hd .when{font-size:12.5px;color:var(--ink-3)}
.rail-card>.bd{padding:16px 18px 18px}
.rail-card dl{margin:0;display:grid;grid-template-columns:76px 1fr;gap:0}
.rail-card dt{
  padding:10px 0;color:var(--ink-3);font-size:13px;font-weight:600;
  border-bottom:1px solid var(--line);
}
.rail-card dd{
  padding:10px 0;margin:0;color:var(--ink);font-size:14.6px;line-height:1.6;
  border-bottom:1px solid var(--line);
}
.rail-card dl>dt:nth-last-of-type(1),.rail-card dl>dd:nth-last-of-type(1){border-bottom:0}
.rail-card .btns{display:flex;flex-direction:column;gap:8px;margin-top:16px}
.rail-card .btns .btn{width:100%}
.rail-card .note{margin:12px 0 0;font-size:12.8px;color:var(--ink-3);line-height:1.66}
.rail-card ul{list-style:none;margin:0;padding:0}
.rail-card li{margin:0;border-bottom:1px solid var(--line)}
.rail-card li:last-child{border-bottom:0}
.rail-card li a{display:block;padding:11px 0;color:var(--ink-2);font-size:14.8px}
.rail-card li a:hover{color:var(--brass);text-decoration:none}
.rail-card li a span{display:block;font-size:12.6px;color:var(--ink-3);margin-top:2px}

/* ══════════════════════════════════════════════════════════
   6. 본문 타이포
   ══════════════════════════════════════════════════════════ */
.entry{max-width:var(--w-prose)}
.entry>*:first-child{margin-top:0}
.entry p{margin:0 0 22px;color:var(--ink-2)}
.entry strong{color:var(--ink);font-weight:700}
.entry h2{
  margin:60px 0 20px;font-size:clamp(22px,3vw,28px);line-height:1.36;
  letter-spacing:-.033em;font-weight:800;color:var(--ink);
  padding-top:26px;border-top:1px solid var(--line);scroll-margin-top:88px;position:relative;
}
.entry h2::before{content:"";position:absolute;top:-1px;left:0;width:46px;height:1px;background:var(--brass)}
.entry h3{margin:38px 0 13px;font-size:20px;line-height:1.44;letter-spacing:-.022em;font-weight:700;color:var(--ink);scroll-margin-top:88px}
.entry h4{margin:28px 0 10px;font-size:17px;font-weight:700;color:var(--ink-2)}
.entry ul,.entry ol{margin:0 0 24px;padding-left:22px;color:var(--ink-2)}
.entry li{margin:0 0 10px}
.entry li::marker{color:var(--brass-2)}
.entry blockquote{
  margin:30px 0;padding:20px 24px;border-left:2px solid var(--brass);
  background:var(--surface);color:var(--ink-2);font-size:16.5px;border-radius:0 var(--r) var(--r) 0;
}
.entry blockquote p:last-child{margin:0}
.entry figure{margin:34px 0}
.entry figure img{border-radius:var(--r-lg);border:1px solid var(--line)}
.entry figcaption{margin-top:10px;font-size:13.5px;color:var(--ink-3)}
.entry a:not(.btn){text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--brass-2)}
.entry img{border-radius:var(--r-lg);border:1px solid var(--line)}

/* ══════════════════════════════════════════════════════════
   7. 본문 컴포넌트
   ══════════════════════════════════════════════════════════ */

/* 30초 직답 */
.ntgo-answer{
  margin:0 0 40px;padding:26px 28px;border:1px solid var(--line-2);
  background:linear-gradient(180deg,var(--surface-2) 0%,var(--surface) 100%);
  border-radius:var(--r-lg);position:relative;overflow:hidden;
}
.ntgo-answer::before{content:"";position:absolute;left:0;right:0;top:0;height:2px;background:linear-gradient(90deg,var(--brass-hi),var(--brass-2) 45%,transparent)}
.ntgo-answer .lbl{color:var(--brass);margin:0 0 14px}
.ntgo-answer p{margin:0 0 13px;color:var(--ink);font-size:17.5px;line-height:1.74}
.ntgo-answer p:last-child{margin:0}
.ntgo-answer ul{margin:0;padding-left:20px}
.ntgo-answer li{color:var(--ink);margin-bottom:9px;line-height:1.72}
.ntgo-answer li:last-child{margin-bottom:0}

/* 핵심 정보 스펙 표 */
.ntgo-spec{margin:30px 0;border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;background:var(--surface)}
.ntgo-spec dl{margin:0;display:grid;grid-template-columns:136px 1fr}
.ntgo-spec dt{
  padding:14px 18px;background:var(--bg-2);color:var(--ink-3);
  font-size:14px;font-weight:600;border-bottom:1px solid var(--line);
}
.ntgo-spec dd{padding:14px 18px;margin:0;color:var(--ink);font-size:15.5px;border-bottom:1px solid var(--line);line-height:1.68}
.ntgo-spec dl>dt:nth-last-of-type(1),.ntgo-spec dl>dd:nth-last-of-type(1){border-bottom:0}
@media (max-width:600px){
  .ntgo-spec dl{grid-template-columns:1fr}
  .ntgo-spec dt{border-bottom:0;padding-bottom:2px;background:transparent}
  .ntgo-spec dd{padding-top:4px}
}

/* 표 — 본문의 모든 table 에 적용한다(이관 본문 포함) */
.tblwrap{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:30px 0;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface)}
.tblwrap>table,.ntgo-price .tbl{
  width:100%;border-collapse:collapse;font-size:15.5px;margin:0;
}
.entry table{width:100%;border-collapse:collapse;font-size:15.5px}
.entry caption,.ntgo-price caption{
  caption-side:top;text-align:left;font-size:13.5px;color:var(--ink-3);
  padding:14px 18px 12px;border-bottom:1px solid var(--line);background:var(--surface-2);
  font-family:inherit;letter-spacing:0;
}
.entry th,.entry td,.ntgo-price th,.ntgo-price td{
  padding:13px 16px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top;
}
.entry thead th,.ntgo-price thead th{
  background:var(--bg-2);color:var(--ink-3);font-size:13px;font-weight:600;
  letter-spacing:.06em;text-transform:none;white-space:nowrap;
}
.entry tbody th,.ntgo-price tbody th{color:var(--ink);font-weight:700}
.entry tbody td,.ntgo-price td{color:var(--ink-2)}
.entry tbody tr:nth-child(even){background:rgba(255,255,255,.018)}
.entry tbody tr:hover{background:rgba(205,174,114,.045)}
/* 숫자 열은 오른쪽 정렬 + 등폭 — 총액을 눈으로 비교하는 표다 */
.entry td.num,.ntgo-price td.num,.entry td.price{
  font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--ink);font-weight:600;text-align:right;
}
.entry tr.hl td,.entry tr.hl th{background:rgba(205,174,114,.085);color:var(--ink)}
.entry tbody tr:last-child th,.entry tbody tr:last-child td{border-bottom:0}
.ntgo-price{margin:30px 0}
.ntgo-price .foot{margin:12px 0 0;font-size:13.5px;color:var(--ink-3);line-height:1.68}
@media (max-width:640px){
  .entry th,.entry td,.ntgo-price th,.ntgo-price td{padding:11px 12px;font-size:14.5px}
}

/* 단계 흐름 */
.ntgo-steps{margin:30px 0;padding:0;list-style:none;counter-reset:s}
.ntgo-steps li{
  counter-increment:s;position:relative;padding:0 0 24px 48px;margin:0;
  border-left:1px solid var(--line);
}
.ntgo-steps li:last-child{border-left-color:transparent;padding-bottom:0}
.ntgo-steps li::before{
  content:counter(s);position:absolute;left:-15px;top:0;
  width:30px;height:30px;border-radius:50%;
  background:var(--bg);border:1px solid var(--brass-2);color:var(--brass);
  font-family:var(--f-num);font-size:13.5px;display:flex;align-items:center;justify-content:center;
}
.ntgo-steps b{display:block;color:var(--ink);font-size:17px;margin-bottom:5px}
.ntgo-steps span{display:block;color:var(--ink-2);font-size:15.5px;line-height:1.74}

/* 주의 */
.ntgo-warn{margin:30px 0;padding:20px 22px;border:1px solid var(--warn-line);background:var(--warn-bg);border-radius:var(--r-lg)}
.ntgo-warn .lbl{margin:0 0 12px;font-size:13px;font-weight:700;color:var(--warn);letter-spacing:.12em;font-family:var(--f-num);text-transform:uppercase}
.ntgo-warn ul{margin:0;padding-left:19px}
.ntgo-warn li{color:var(--warn-ink);margin-bottom:9px;font-size:15.5px}
.ntgo-warn li:last-child{margin-bottom:0}
.ntgo-warn p{color:var(--warn-ink);margin:0 0 10px}
.ntgo-warn p:last-child{margin:0}

/* FAQ */
.ntgo-faq{margin:30px 0;border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden}
.ntgo-faq details,.entry>details{border-bottom:1px solid var(--line);background:var(--surface)}
.ntgo-faq details:last-child{border-bottom:0}
.ntgo-faq summary,.entry>details>summary{
  padding:17px 48px 17px 20px;cursor:pointer;position:relative;list-style:none;
  font-size:16.5px;font-weight:600;color:var(--ink);line-height:1.62;
}
.ntgo-faq summary::-webkit-details-marker,.entry>details>summary::-webkit-details-marker{display:none}
.ntgo-faq summary::after{
  content:"";position:absolute;right:20px;top:26px;width:9px;height:9px;
  border-right:1.5px solid var(--brass);border-bottom:1.5px solid var(--brass);
  transform:rotate(45deg);transition:transform .16s ease;
}
.ntgo-faq details[open] summary::after{transform:rotate(-135deg);top:29px}
.ntgo-faq details[open] summary{color:var(--brass-hi)}
.ntgo-faq summary:hover{background:var(--surface-2)}
.ntgo-faq .a{padding:0 20px 19px;color:var(--ink-2);font-size:15.8px;line-height:1.78}
.ntgo-faq .a p{margin:0 0 13px;color:var(--ink-2)}
.ntgo-faq .a p:last-child{margin:0}

/* ── 정규화된 본문 블록 ─────────────────────────────────────
   옛 빌드가 본문에 구워 넣은 인라인 스타일을 벗긴 자리에 들어간다(§inc-design.php F).
   여기 스타일이 없으면 그 블록들이 「그냥 글자 덩어리」가 된다. */
.entry .ntgo-box{
  margin:28px 0;padding:22px 24px;border-radius:var(--r-lg);
  background:linear-gradient(180deg,var(--surface) 0%,var(--bg-2) 100%);
  border:1px solid var(--line);
}
.entry .ntgo-box.outline{background:transparent}
.entry .ntgo-box>*:first-child{margin-top:0}
.entry .ntgo-box>*:last-child{margin-bottom:0}
.entry .ntgo-box h2{margin-top:0;border-top:0;padding-top:0}
.entry .ntgo-box h2::before{display:none}
.entry .ntgo-box h3{margin-top:0}
/* 상자 속 상자는 테두리를 없앤다 — 옛 본문은 3~4겹 중첩이라 액자 속 액자가 된다 */
.entry .ntgo-box .ntgo-box{background:transparent;border:0;padding:0;margin:14px 0;border-radius:0}

/* 카드형 링크 — 인라인 배경을 갖고 있던 <a> 가 여기로 온다 */
.entry a.ntgo-card-link{
  display:flex;flex-direction:column;padding:0;overflow:hidden;margin:0;
  background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);
  color:var(--ink);text-decoration:none;
  transition:border-color .16s ease,transform .16s ease;
}
.entry a.ntgo-card-link:hover{border-color:var(--brass-2);background:var(--surface-2);text-decoration:none;transform:translateY(-2px)}
.entry a.ntgo-card-link img{border:0;border-radius:0}
.entry a.ntgo-card-link .body{padding:16px 18px 18px;display:flex;flex-direction:column;gap:9px;text-align:left}
.entry a.ntgo-card-link .chip{align-self:flex-start}
.entry a.ntgo-card-link .title{font-size:16.5px;font-weight:700;color:var(--ink);line-height:1.48;letter-spacing:-.02em}
.entry a.ntgo-card-link .desc{font-size:14.3px;color:var(--ink-2);line-height:1.66}
.entry a.ntgo-card-link .more{font-size:13.4px;color:var(--brass);margin-top:auto}
.entry a.ntgo-card-link:hover .title{color:var(--brass-hi)}
.entry .cards-grid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:16px}
.entry .ntgo-rule{margin:26px 0;padding:4px 0 4px 18px;border-left:2px solid var(--brass)}
.entry .ntgo-grid{display:grid!important;gap:14px;grid-template-columns:repeat(auto-fit,minmax(215px,1fr));margin:28px 0}
.entry .ntgo-grid>*{margin:0}
.entry .ntgo-flex{display:flex!important;gap:12px;flex-wrap:wrap;align-items:center;margin:20px 0}
.entry .chip{
  display:inline-block;padding:3px 10px;border-radius:2px;
  background:var(--surface-2);border:1px solid var(--line-2);color:var(--brass-hi);
  font-size:13px;font-weight:600;letter-spacing:.01em;
}
.entry .lbl-gold{color:var(--brass);font-family:var(--f-num);letter-spacing:.2em;text-transform:uppercase;font-size:11.5px}
/* 인라인 FAQ (details 가 .ntgo-faq 밖에 있는 페이지) */
.entry details{margin:12px 0;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden}
.entry details>summary{padding:15px 20px;cursor:pointer;font-size:16.5px;font-weight:600;color:var(--ink);list-style:none;line-height:1.6}
.entry details>summary::-webkit-details-marker{display:none}
.entry details[open]>summary{color:var(--brass-hi);border-bottom:1px solid var(--line)}
.entry details>*:not(summary){padding:0 20px}
.entry details>*:not(summary):last-child{padding-bottom:16px}
.entry .ntgo-faq details{margin:0;border-radius:0;border:0;border-bottom:1px solid var(--line)}
.entry .ntgo-faq details>summary{padding:17px 48px 17px 20px}
.entry .ntgo-faq details[open]>summary{border-bottom:0}
.entry .ntgo-faq .a{padding:0 20px 19px}

/* 같은 업종 다른 업소 */
.ntgo-related{margin:48px 0 0;padding-top:30px;border-top:1px solid var(--line)}
.ntgo-related h2{border-top:0;padding-top:0;margin-top:0;font-size:21px}
.ntgo-related h2::before{display:none}
.ntgo-related ul{list-style:none;margin:0;padding:0;display:grid;gap:11px;grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}
.ntgo-related li{margin:0}
.ntgo-related a{
  display:block;padding:15px 17px;background:var(--surface);border:1px solid var(--line);
  border-radius:var(--r);color:var(--ink);font-size:15.5px;font-weight:600;text-decoration:none;
}
.ntgo-related a:hover{border-color:var(--brass-2);color:var(--brass);text-decoration:none;background:var(--surface-2)}
.ntgo-related a span{display:block;margin-top:4px;font-size:13.5px;font-weight:400;color:var(--ink-3)}

/* 사진 그리드 */
.ntgo-shots,.gallery-grid{margin:34px 0;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.ntgo-shots figure,.gallery-grid figure{margin:0}
.ntgo-shots img,.gallery-grid img{
  border-radius:var(--r-lg);border:1px solid var(--line);width:100%;
  aspect-ratio:4/3;object-fit:cover;
  background:linear-gradient(135deg,#1a1d22 0%,#121419 60%,#171a1f 100%);
}
.ntgo-shots figcaption,.gallery-grid figcaption{margin-top:8px;font-size:13px;color:var(--ink-3)}

/* 갤러리 섹션 */
.shotsec{margin:52px 0 0;padding-top:30px;border-top:1px solid var(--line)}
.shotsec h2{margin:0 0 6px;font-size:21px;letter-spacing:-.028em;font-weight:800;color:var(--ink)}
.shotsec p.note{margin:0;font-size:13.5px;color:var(--ink-3)}

/* 목차 */
.toc{margin:0 0 40px;padding:20px 22px;background:var(--bg-2);border:1px solid var(--line);border-radius:var(--r-lg)}
.toc .lbl{color:var(--ink-3);margin:0 0 13px}
.toc ol{margin:0;padding-left:20px;columns:2;column-gap:30px}
.toc li{margin:0 0 8px;font-size:15px;break-inside:avoid}
.toc a{color:var(--ink-2);text-decoration:none}
.toc a:hover{color:var(--brass)}
@media (max-width:640px){.toc ol{columns:1}}

/* ══════════════════════════════════════════════════════════
   8. 섹션 헤더 · 카드 · 타일 (홈 / 허브)
   ══════════════════════════════════════════════════════════ */
.secthead{margin:76px 0 26px;padding-top:24px;border-top:1px solid var(--line);position:relative}
.secthead::before{content:"";position:absolute;top:-1px;left:0;width:56px;height:1px;background:var(--brass)}
.secthead .sec-eyebrow{color:var(--brass);margin:0 0 12px}
.secthead h2{margin:0 0 8px;font-size:clamp(23px,3.1vw,30px);letter-spacing:-.035em;font-weight:800;line-height:1.28}
.secthead p{margin:0;color:var(--ink-3);font-size:15.5px;max-width:620px;line-height:1.7}

.cards{display:grid;gap:18px;grid-template-columns:repeat(auto-fill,minmax(278px,1fr));margin:0 0 8px}
.card{
  background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);
  overflow:hidden;display:flex;flex-direction:column;
  transition:border-color .16s ease,transform .16s ease;
}
.card:hover{border-color:var(--brass-2);transform:translateY(-2px)}
.card .ph{
  position:relative;display:block;aspect-ratio:16/10;overflow:hidden;
  background:linear-gradient(135deg,#1c2026 0%,#121419 55%,#191c22 100%);
}
.card .ph img{width:100%;height:100%;object-fit:cover}
.card .ph::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,11,13,0) 45%,rgba(10,11,13,.55) 100%)}
.card .ph .tag{
  position:absolute;left:12px;top:12px;z-index:2;
  font-family:var(--f-num);font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;
  background:rgba(10,11,13,.82);border:1px solid var(--hair);color:var(--brass);
  padding:5px 9px;border-radius:2px;
}
.card .body{padding:18px 19px 20px;display:flex;flex-direction:column;flex:1}
.card .kicker{color:var(--brass);margin:0 0 9px}
.card h3{margin:0 0 10px;font-size:18.5px;line-height:1.42;letter-spacing:-.025em;font-weight:700}
.card h3 a{color:var(--ink);text-decoration:none}
.card:hover h3 a{color:var(--brass-hi)}
.card p{margin:0 0 16px;font-size:14.8px;color:var(--ink-2);line-height:1.68;flex:1}
.card .meta{
  font-size:13.4px;color:var(--ink-3);border-top:1px solid var(--line);
  padding-top:13px;margin-top:auto;display:flex;align-items:flex-end;justify-content:space-between;gap:10px;line-height:1.5;
}
.card .meta b{color:var(--brass-hi);font-weight:600;font-variant-numeric:tabular-nums}
.card .meta .go{color:var(--ink-3);font-size:13px;white-space:nowrap}
.card:hover .meta .go{color:var(--brass)}

/* 업종 타일 — 카드보다 크고 사진이 주인공 */
.tiles{display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(255px,1fr));margin:0}
.tile{
  position:relative;display:block;border:1px solid var(--line);border-radius:var(--r-lg);
  overflow:hidden;min-height:268px;color:var(--ink);
  background:linear-gradient(135deg,#1c2026 0%,#101216 60%);
}
.tile:hover{text-decoration:none;border-color:var(--brass-2)}
.tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.5;transition:opacity .2s ease,transform .3s ease}
.tile:hover img{opacity:.62;transform:scale(1.03)}
.tile .ov{position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,11,13,.24) 0%,rgba(10,11,13,.82) 62%,rgba(10,11,13,.95) 100%)}
.tile .in{position:relative;z-index:2;padding:24px 22px;display:flex;flex-direction:column;justify-content:flex-end;min-height:268px}
.tile .kicker{color:var(--brass);margin:0 0 10px}
.tile h3{margin:0 0 9px;font-size:21px;letter-spacing:-.03em;font-weight:800;color:var(--ink)}
.tile p{margin:0 0 12px;font-size:14.6px;color:var(--ink-2);line-height:1.66}
.tile .price{font-size:13.6px;color:var(--brass-hi);font-variant-numeric:tabular-nums}

/* 「확인하는 방식」 3열 */
.method{display:grid;gap:22px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}
.method div{padding:22px 0 0;border-top:1px solid var(--hair)}
.method b{display:block;font-family:var(--f-num);font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--brass);font-weight:400;margin-bottom:11px}
.method h3{margin:0 0 8px;font-size:17.5px;letter-spacing:-.022em;font-weight:700;color:var(--ink)}
.method p{margin:0;font-size:15px;color:var(--ink-2);line-height:1.74}

/* 홈 본문 블록 폭 */
.home-prose{max-width:var(--w-prose)}

/* ══════════════════════════════════════════════════════════
   9. 푸터
   ══════════════════════════════════════════════════════════ */
.site-foot{margin-top:88px;border-top:1px solid var(--line);background:var(--bg-2);padding:52px 0 40px}
.foot-grid{display:grid;gap:34px;grid-template-columns:1.5fr 1fr 1fr}
@media (max-width:780px){.foot-grid{grid-template-columns:1fr}}
.site-foot h2{margin:0 0 15px;font-family:var(--f-num);font-size:11.5px;letter-spacing:.24em;text-transform:uppercase;color:var(--ink-3);font-weight:400}
.site-foot ul{list-style:none;margin:0;padding:0}
.site-foot li{margin:0 0 10px}
.site-foot a:not(.btn){color:var(--ink-2);font-size:15px;text-decoration:none}
.site-foot a:not(.btn):hover{color:var(--brass)}
.site-foot .about p{margin:0 0 16px;color:var(--ink-3);font-size:14.6px;line-height:1.76;max-width:430px}
.foot-bot{margin-top:38px;padding-top:24px;border-top:1px solid var(--line);display:flex;gap:16px;flex-wrap:wrap;justify-content:space-between;align-items:center;font-size:13.5px;color:var(--ink-3)}
.foot-bot p{margin:0}
.foot-meta{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.foot-meta a{color:var(--ink-3);font-size:13.5px}
.foot-meta a:hover{color:var(--brass)}
.foot-meta span{color:var(--line-2)}
.totop{color:var(--ink-3);font-size:13.5px}
.totop:hover{color:var(--brass)}

/* 404 / 검색 */
.mini{padding:88px 0;text-align:center}
.mini h1{font-size:clamp(27px,4vw,38px);margin:0 0 15px;letter-spacing:-.033em}
.mini p{color:var(--ink-2);margin:0 0 26px}
.searchform{display:flex;gap:8px;max-width:460px;margin:0 auto}
.searchform input{
  flex:1;padding:13px 15px;background:var(--surface);border:1px solid var(--line-2);
  border-radius:var(--r);color:var(--ink);font-size:16px;font-family:inherit;
}
.searchform input::placeholder{color:var(--ink-3)}

.pager{display:flex;gap:8px;flex-wrap:wrap;margin:44px 0}
.pager a,.pager span{padding:10px 15px;border:1px solid var(--line);border-radius:var(--r);color:var(--ink-2);font-size:15px}
.pager .current{background:var(--surface);color:var(--brass);border-color:var(--brass-2)}

/* 인쇄 */
@media print{
  .site-head,.fixbar,.cta,.site-foot,.toc,.rail,.hero-media{display:none!important}
  body{background:#fff;color:#000}
  .entry p,.entry li{color:#000}
  .layout{display:block}
}
