/* =========================================================
   UFOsNW — Deep Space Editorial
   Base layer: tokens · typography scale · 12-col grid ·
   sharp 0px · glassmorphism · ghost border · lime glow
   (콘텐츠 컴포넌트 — 출처박스·확신도·Evidence List·작성자박스는 3단계)
   ========================================================= */

:root{
  /* ===== Deep Space Editorial — 디자인 토큰 (설계서 1.2 / 사양서 2장) ===== */
  /* Void 배경 */
  --bg:            #0A0A0A;   /* 토큰 #131313 */
  --bg-2:          #050505;   /* 하단 비네팅 */
  --surface:       #1A1A1A;   /* 카드·메뉴 */
  --surface-high:  #2A2A2A;
  /* 텍스트 */
  --text:          #E5E2E1;   /* on-surface */
  --text-variant:  #C4C9AC;   /* 약한 올리브 */
  --text-muted:    #8E9379;   /* 메타·outline */
  /* 액센트 */
  --lime:          #CCFF00;   /* Primary — CTA·classified·강조 (토큰 #C3F400) */
  --lime-dim:      #ABD600;
  --cyan:          #00F0FF;   /* Secondary — 링크·라벨만 (토큰 #00EEFC) */
  /* 보더·발광 */
  --border:        rgba(255,255,255,0.10);   /* Ghost Border */
  --border-strong: rgba(255,255,255,0.18);
  --border-cyan:   rgba(0,240,255,0.20);
  --glow-lime:     rgba(204,255,0,0.15);      /* 라임 외곽 글로우 */
  --error:         #FFB4AB;
  /* 형태 */
  --radius:        0px;        /* ★Sharp 0px — 라운드 전면 배제 */
  --container:     1280px;
  --gutter:        24px;       /* 그리드 거터 */
  --section-gap:   clamp(64px, 9vw, 120px);   /* 섹션 간격 (데스크탑 120) */
  /* 모션 — soft 금지, 빠른 linear 스텝 (터미널 하드웨어 느낌) */
  --t-fast:        .12s linear;
  --t-med:         .2s linear;
  /* 폰트 — 한글은 Pretendard 통일 (사양서 2.2 (A)) */
  --font-head: "Space Grotesk","Pretendard Variable","Pretendard",-apple-system,BlinkMacSystemFont,system-ui,"Apple SD Gothic Neo",sans-serif;
  --font-body: "Source Serif 4","Pretendard Variable","Pretendard",-apple-system,system-ui,"Apple SD Gothic Neo",serif;
  --font-mono: "JetBrains Mono","Pretendard Variable","Pretendard",ui-monospace,SFMono-Regular,monospace;
}

*,*::before,*::after{ box-sizing:border-box; }
html{ -webkit-text-size-adjust:100%; scroll-behavior:smooth; }
body{
  margin:0;
  font-family: var(--font-body);
  color:var(--text);
  background:
    radial-gradient(900px 480px at 12% -8%, rgba(204,255,0,.04), transparent 60%),
    radial-gradient(760px 420px at 90% 0%, rgba(0,240,255,.04), transparent 60%),
    linear-gradient(180deg, var(--bg) 0%, var(--bg-2) 100%);
  background-attachment: fixed;
  min-height:100dvh;
  line-height:1.7;            /* 한글 가독 행간 1.7~1.85 (설계서 9.2) */
  letter-spacing:0;
  overflow-x:hidden;
}

img,svg,video{ max-width:100%; height:auto; display:block; }
a{ color:var(--cyan); text-decoration:none; transition: color var(--t-fast); }   /* 시안 = 링크 전용 */
a:hover{ color:var(--lime); }
button{ font-family:inherit; }

/* ---------- Typography scale (설계서 1.3) ---------- */
h1,h2,h3,h4{ font-family:var(--font-head); color:var(--text); line-height:1.18; letter-spacing:-.02em; margin:0 0 .6em; font-weight:600; }
h1{ font-size: clamp(2rem, 4vw + .8rem, 3.25rem); font-weight:700; }
h2{ font-size: clamp(1.5rem, 2.2vw + .6rem, 2.2rem); }
h3{ font-size: clamp(1.2rem, 1.2vw + .6rem, 1.5rem); }
/* 한글 헤드라인 자간 뭉침 방지 */
h1:lang(ko),h2:lang(ko),h3:lang(ko),h4:lang(ko){ letter-spacing:-.005em; }
p{ margin:0 0 1em; }
hr{ border:0; border-top:1px solid var(--border); margin:2rem 0; }

/* 유틸 타입 클래스 */
.display-lg{ font-family:var(--font-head); font-weight:700; font-size:clamp(2rem,6vw + .5rem,4.5rem); line-height:1.06; letter-spacing:-.02em; }  /* 모바일 32px → 데스크탑 72px */
.headline-lg{ font-family:var(--font-head); font-weight:600; font-size:clamp(2rem,4vw + .4rem,3rem); line-height:1.1; letter-spacing:-.015em; }
.article-title{ font-family:var(--font-head); font-weight:500; font-size:clamp(1.5rem,2.5vw + .4rem,2rem); line-height:1.2; }
.body-lg{ font-family:var(--font-body); font-size:1.25rem; line-height:1.6; }
.body-md{ font-family:var(--font-body); font-size:1rem; line-height:1.7; }
/* label-caps / mono-data — classified·메타·출처·좌표 */
.label-caps{ font-family:var(--font-mono); font-weight:500; font-size:.75rem; letter-spacing:.1em; text-transform:uppercase; color:var(--text-muted); }
.mono-data{ font-family:var(--font-mono); font-size:.875rem; line-height:1.4; color:var(--text-variant); }

/* ---------- Layout · 12-col grid ---------- */
.container{ width:100%; max-width:var(--container); margin:0 auto; padding:0 64px; }   /* 데스크탑 margin 64 */
@media (max-width:1280px){ .container{ padding:0 40px; } }                                /* 태블릿 40 */
@media (max-width:768px){ .container{ padding:0 20px; } }                                 /* 모바일 20 */

.grid12{ display:grid; grid-template-columns:repeat(12,1fr); gap:var(--gutter); }
@media (max-width:1280px){ .grid12{ grid-template-columns:repeat(8,1fr); } }
@media (max-width:768px){ .grid12{ grid-template-columns:repeat(4,1fr); } }

.section-gap{ margin-top:var(--section-gap); margin-bottom:var(--section-gap); }
.page-wrap{ padding-top: var(--gutter); padding-bottom: 4rem; } /* 좌우 패딩은 .container(64/40/20)를 그대로 사용 → 헤더/푸터와 정렬 */

/* ---------- Particle canvas (배경, prefers-reduced-motion서 off) ---------- */
#ufo-stars{ position:fixed; inset:0; z-index:-1; pointer-events:none; background:transparent; opacity:.5; }

/* ---------- Header (투명 → 글래스 블러) ---------- */
.site-header{
  position:sticky; top:0; z-index:50;
  backdrop-filter: blur(20px) saturate(140%);
  -webkit-backdrop-filter: blur(20px) saturate(140%);
  background: rgba(10,10,10,.55);
  border-bottom:1px solid var(--border);
}
.site-header.is-top{ background: rgba(10,10,10,0); border-bottom-color: transparent; }  /* 최상단 투명 (theme.js 토글) */
.site-header .bar{ display:flex; align-items:center; justify-content:space-between; height:68px; }
.brand{ display:flex; align-items:center; gap:.6rem; font-family:var(--font-head); font-weight:700; font-size:2rem; letter-spacing:.01em; }
.brand .name{ color:var(--text); }
.brand:hover .name{ color:var(--lime); }

.primary-nav{ display:flex; align-items:center; gap:1.4rem; }
.primary-nav ul{ list-style:none; margin:0; padding:0; display:flex; gap:1.5rem; }
.primary-nav a{
  color:var(--text-muted); font-family:var(--font-mono); font-weight:500;
  font-size:.8rem; letter-spacing:.08em; text-transform:uppercase;
  padding:.2rem 0; border-bottom:1px solid transparent; transition: color var(--t-fast), border-color var(--t-fast);
}
.primary-nav a:hover, .primary-nav .current-menu-item > a{ color:var(--text); border-bottom-color:var(--lime); }

.nav-toggle{
  display:none; background:transparent; border:1px solid var(--border);
  color:var(--text); padding:.5rem; border-radius:0; cursor:pointer;
  font-family:var(--font-mono); font-size:.8rem; letter-spacing:.06em;
}
@media (max-width: 860px){
  .primary-nav ul{
    position:absolute; right:20px; top:70px;
    flex-direction:column; gap:0;
    background: rgba(10,10,10,.97); backdrop-filter: blur(20px);
    border:1px solid var(--border); border-radius:0; padding:.4rem;
    min-width:230px; display:none;
  }
  .primary-nav.open ul{ display:flex; }
  .nav-toggle{ display:inline-flex; align-items:center; gap:.4rem; }
  .primary-nav a{ display:block; padding:.7rem .7rem; border-bottom:1px solid var(--border); }
  .primary-nav li:last-child a{ border-bottom:0; }
  .primary-nav a:hover{ background:rgba(204,255,0,.06); border-bottom-color:var(--border); }
}

/* ---------- Header actions (검색·구독) ---------- */
.header-actions{ display:flex; align-items:center; gap:.6rem; }
.icon-btn{
  display:inline-flex; align-items:center; justify-content:center;
  width:40px; height:40px; padding:0;
  background:transparent; border:1px solid var(--border); border-radius:var(--radius);
  color:var(--text); cursor:pointer; transition: border-color var(--t-fast), color var(--t-fast);
}
.icon-btn:hover{ border-color:var(--lime); color:var(--lime); }
.btn--sm{ min-height:40px; padding:0 1rem; font-size:.78rem; }
.header-search{ border-top:1px solid var(--border); background:rgba(10,10,10,.92); backdrop-filter:blur(20px); }
.header-search .container{ padding-top:.9rem; padding-bottom:.9rem; }
.header-search[hidden]{ display:none; }
@media (max-width:860px){
  .subscribe .label-text{ display:none; }
}

/* ---------- Buttons (고스트 → hover 라임 채움 + 검정) ---------- */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:.5rem;
  min-height:44px; padding:0 1.4rem;
  text-align:center; line-height:1;
  border-radius:var(--radius);
  border:1px solid var(--border-strong);
  background: transparent;
  color:var(--text);
  font-family:var(--font-mono); font-weight:500; font-size:.82rem;
  letter-spacing:.08em; text-transform:uppercase;
  cursor:pointer; position:relative;
  transition: background var(--t-fast), color var(--t-fast), border-color var(--t-fast), box-shadow var(--t-fast);
}
.btn > i, .btn > svg{ display:block; flex-shrink:0; line-height:0; }
.btn:hover{
  background: var(--lime);
  color:#0A0A0A;
  border-color: var(--lime);
  box-shadow: 0 0 0 1px var(--lime), 0 0 22px var(--glow-lime);
}
.btn--solid{ background: var(--lime); color:#0A0A0A; border-color: var(--lime); }
.btn--solid:hover{ background: var(--lime-dim); border-color: var(--lime-dim); }
.btn--ghost{ background:transparent; }

/* ---------- Glass card (sharp 0px · ghost border · blur 20) ---------- */
.glass{
  background: var(--surface);   /* 불투명 surface → backdrop-blur 불필요(시각효과 없이 GPU만 소모) */
  border:1px solid var(--border);
  border-radius: var(--radius);
  padding:1.5rem;
}
.glass--hover{ transition: border-color var(--t-fast), box-shadow var(--t-fast), transform var(--t-fast); }
.glass--hover:hover{
  transform: translateY(-2px);
  border-color: var(--lime);
  box-shadow: 0 0 0 1px var(--glow-lime), 0 0 24px rgba(204,255,0,.10);
}
.glow-lime{ box-shadow: 0 0 0 1px var(--lime), 0 0 24px var(--glow-lime); }

/* ---------- Hero (base — 상세 레이아웃은 5단계 front-page) ---------- */
.hero{
  position: relative; isolation: isolate; overflow: hidden;
  border-radius: var(--radius);
  padding: clamp(3rem, 7vw, 6rem) 0 clamp(2rem, 5vw, 4rem);
}
.hero h1{ color:var(--text); }
.hero h1 .accent{ color:var(--lime); }
.hero p.lead{ font-family:var(--font-body); color:var(--text-variant); font-size:clamp(1rem,1vw + .6rem,1.25rem); max-width:680px; margin:0 0 2rem; }
.hero .lead.italic{ font-style:italic; }
.hero .cta{ display:flex; gap:.75rem; flex-wrap:wrap; }

/* ---------- Magazine grid (벤토 12col) ---------- */
.magazine{ display:grid; gap:var(--gutter); grid-template-columns: repeat(12, 1fr); margin: 3rem 0; }
.magazine .card{ grid-column: span 4; }
.magazine .card--wide{ grid-column: span 8; }
.magazine .card--full{ grid-column: span 12; }
@media (max-width:1280px){
  .magazine{ grid-template-columns: repeat(8,1fr); }
  .magazine .card{ grid-column: span 4; }
  .magazine .card--wide{ grid-column: span 8; }
}
@media (max-width: 768px){
  .magazine{ grid-template-columns: repeat(4,1fr); }
  .magazine .card,.magazine .card--wide,.magazine .card--full{ grid-column: span 4; }
}

/* 글 카드 base (상세 풀블리드+오버레이는 3단계) */
.card{ position:relative; }
.card .thumb{
  aspect-ratio: 16/9; border-radius: var(--radius); overflow:hidden;
  background: var(--surface-high);
  border:1px solid var(--border);
  border-top:2px solid var(--border-cyan);     /* 시안 top-border (설계서 1.6) */
  display:flex; align-items:center; justify-content:center;
  margin-bottom:1rem;
}
.card .thumb img{ width:100%; height:100%; object-fit:cover; filter:grayscale(.15) contrast(1.02); }
.card .thumb .icon{ color: var(--cyan); opacity:.7; }
.card .meta{ color:var(--text-muted); font-family:var(--font-mono); font-size:.78rem; letter-spacing:.04em; display:flex; gap:.6rem; align-items:center; margin-bottom:.4rem; }
.card h3{ margin:0 0 .5rem; }
.card p{ color:var(--text-muted); font-family:var(--font-body); font-size:.95rem; }

/* ---------- Section heading ---------- */
.section-head{
  display:flex; align-items:baseline; justify-content:space-between; gap:1rem;
  margin: 2rem 0 1.25rem; border-bottom:1px solid var(--border); padding-bottom:.7rem;
}
.section-head h2{ margin:0; font-size:1.4rem; position:relative; }
.section-head h2::after{ content:""; display:block; width:2.4rem; height:2px; background:var(--lime); margin-top:.5rem; }  /* 라임 밑줄 */
.section-head .more{ color:var(--cyan); font-family:var(--font-mono); font-size:.78rem; letter-spacing:.06em; text-transform:uppercase; }

/* ---------- Article / content ---------- */
.content{ max-width: 760px; margin: 0 auto; font-family:var(--font-body); }   /* 가독 폭 680~760 (설계서 1.4) */
.content .entry-meta{ color:var(--text-muted); font-family:var(--font-mono); font-size:.82rem; letter-spacing:.03em; margin-bottom:1.5rem; display:flex; gap:.8rem; align-items:center; flex-wrap:wrap; }
.content p{ font-size:1.0625rem; line-height:1.8; }
.content img{ border-radius: var(--radius); border:1px solid var(--border); }
.content a{ color:var(--cyan); text-decoration:underline; text-underline-offset:3px; text-decoration-color:var(--border-cyan); }
.content a:hover{ color:var(--lime); text-decoration-color:var(--lime); }
.content blockquote{
  border-left: 3px solid var(--lime);
  margin: 1.5rem 0; padding: .6rem 1.2rem;
  background: rgba(204,255,0,.05); color:var(--text);
  border-radius: 0; font-style:italic;
}
.content ul, .content ol{ padding-left:1.2rem; }
.content code{ background:var(--surface-high); padding:.2rem .4rem; border-radius:0; font-family:var(--font-mono); font-size:.9em; }
.content pre{ background:var(--surface); border:1px solid var(--border); padding:1rem; border-radius:0; overflow:auto; font-family:var(--font-mono); }

/* ---------- Forms ---------- */
input[type=text], input[type=email], input[type=password], input[type=url], input[type=tel], input[type=search], textarea, select{
  width:100%; padding:.75rem .9rem; border-radius:var(--radius); color:var(--text);
  background: var(--surface); border:1px solid var(--border);
  font-family:inherit; font-size:1rem;
  transition: border-color var(--t-fast), box-shadow var(--t-fast);
}
input:focus, textarea:focus, select:focus{
  outline:none; border-color: var(--cyan);
  box-shadow: 0 0 0 2px var(--border-cyan);
}
label{ display:block; color:var(--text-muted); font-family:var(--font-mono); font-size:.8rem; letter-spacing:.04em; margin:.9rem 0 .35rem; }
.form-row{ display:grid; gap:1rem; grid-template-columns: 1fr 1fr; }
@media (max-width: 640px){ .form-row{ grid-template-columns: 1fr; } }
.wpcf7-form p{ margin:0 0 .9rem; }
.wpcf7-submit{ cursor:pointer; }

/* ---------- Focus-visible (sharp 0px라도 명확히 — 설계서 9.2) ---------- */
:focus-visible{ outline:2px solid var(--lime); outline-offset:2px; }
a:focus-visible, .btn:focus-visible{ outline:2px solid var(--lime); outline-offset:3px; }

/* ---------- Breadcrumb ---------- */
.breadcrumb{ font-family:var(--font-mono); font-size:.78rem; letter-spacing:.04em; color:var(--text-muted); margin:1rem 0; }
.breadcrumb a{ color:var(--text-muted); }
.breadcrumb a:hover{ color:var(--lime); }

/* ---------- Footer ---------- */
.site-footer{
  margin-top: var(--section-gap);
  border-top: 1px solid var(--border);
  background: var(--bg-2);
  padding: 2.5rem 0 1.5rem;
  color:var(--text-muted); font-size:.9rem;
}
.site-footer .cols{ display:grid; grid-template-columns: 2fr 1fr 1fr; gap:2rem; }
@media (max-width: 720px){
  .site-footer .cols{ grid-template-columns: 1fr 1fr; gap:1.25rem 1.5rem; }
  .site-footer .cols > section:first-child{ grid-column: 1 / -1; }
}
.site-footer h4{ color:var(--text); font-family:var(--font-mono); font-size:.78rem; letter-spacing:.08em; text-transform:uppercase; margin-bottom:.7rem; }
.site-footer .site-name{ font-family:var(--font-head); font-size:1.8rem; color:var(--text); }
.site-footer ul{ list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:.45rem; }
.site-footer a{ color:var(--text-muted); }
.site-footer a:hover{ color:var(--lime); }
.site-footer .copy{ font-family:var(--font-mono); font-size:.75rem; letter-spacing:.04em; margin:0; }
.site-footer .f-neutral{ margin:.6rem 0 .8rem; color:var(--text-muted); }
.site-footer .f-channels{ display:flex; gap:1rem; align-items:center; }
.site-footer .f-channels a:hover{ color:var(--lime); }
.site-footer .f-sns{ display:flex; gap:.8rem; list-style:none; margin:0; padding:0; }
.site-footer .f-bottom{
  display:flex; align-items:center; justify-content:space-between; gap:1rem; flex-wrap:wrap;
  margin-top:2rem; padding-top:1.2rem; border-top:1px solid var(--border);
}
.site-footer .f-legal{ display:flex; gap:1.2rem; flex-wrap:wrap; font-family:var(--font-mono); font-size:.75rem; letter-spacing:.03em; }

/* ---------- Pagination ---------- */
.pagination{ margin: 2.5rem 0; display:flex; gap:.4rem; justify-content:center; flex-wrap:wrap; }
.pagination a, .pagination .current{
  display:inline-flex; padding:.5rem .85rem; border-radius:var(--radius);
  border:1px solid var(--border); color:var(--text); font-family:var(--font-mono); font-size:.82rem;
  transition: border-color var(--t-fast), background var(--t-fast), color var(--t-fast);
}
.pagination .current{ background: var(--lime); border-color: var(--lime); color:#0A0A0A; }
.pagination a:hover{ border-color: var(--lime); color:var(--lime); }

/* ---------- 404 ---------- */
.e404{ text-align:center; padding: 5rem 0; }
.e404 .big{
  font-family:var(--font-head); font-size: clamp(5rem, 20vw, 10rem); font-weight:800; line-height:1;
  color:var(--lime); text-shadow: 0 0 60px var(--glow-lime);
  letter-spacing:-.04em; margin-bottom:1rem;
}

/* ---------- Utilities ---------- */
.grid-2{ display:grid; grid-template-columns: repeat(2,1fr); gap:var(--gutter); }
.grid-3{ display:grid; grid-template-columns: repeat(3,1fr); gap:var(--gutter); }
@media (max-width: 900px){ .grid-2,.grid-3{ grid-template-columns: 1fr; } }
.badge{ display:inline-flex; padding:.2rem .55rem; border-radius:var(--radius); background:rgba(204,255,0,.12); color:var(--lime); font-family:var(--font-mono); font-size:.72rem; letter-spacing:.06em; text-transform:uppercase; }
.badge--cyan{ background:rgba(0,240,255,.10); color:var(--cyan); }
.text-muted{ color:var(--text-muted); }
.sr-only{ position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); border:0; }

/* =========================================================
   홈 (5단계 front-page)
   ========================================================= */
.home-hero{ position:relative; padding-top:clamp(4rem,10vw,7rem); padding-bottom:clamp(3rem,7vw,5rem); }
.home-hero .hero-flag{ color:var(--cyan); margin-bottom:1rem; }
.home-hero .display-lg .accent{ color:var(--lime); }
.home-hero .lead{ max-width:560px; }
.home-hero .hero-grain{
  position:absolute; inset:0; z-index:-1; pointer-events:none; opacity:.5;
  background:
    radial-gradient(1200px 360px at 70% 0%, rgba(0,240,255,.06), transparent 60%),
    repeating-linear-gradient(0deg, rgba(255,255,255,.015) 0 1px, transparent 1px 3px);
}

/* 미션 2단 비대칭 (8 / 4 col) */
.mission .mission-main{ grid-column: span 8; }
.mission .mission-side{ grid-column: span 4; align-self:start; }
@media (max-width:1280px){ .mission .mission-main{ grid-column: span 5; } .mission .mission-side{ grid-column: span 3; } }
@media (max-width:768px){ .mission .mission-main,.mission .mission-side{ grid-column: span 4; } }
.mission .label-caps{ color:var(--cyan); margin-bottom:.8rem; }
.mission .mission-main h2{ margin-bottom:1rem; }
.mission .mission-neutral{
  font-family:var(--font-mono); font-size:.85rem; line-height:1.7; color:var(--text-muted);
  border-left:2px solid var(--lime); padding-left:1rem; margin:1.2rem 0 1.5rem;
}
.mission .mission-side{ display:flex; flex-direction:column; gap:1rem; }
.mission .mission-side .hud{ width:120px; height:120px; align-self:center; opacity:.9; }

/* 콘텐츠 구역 3단 */
.zones .zone{ display:flex; flex-direction:column; gap:.5rem; }
.zones .zone .label-caps{ color:var(--cyan); }
.zones .zone-title{ position:relative; margin:.2rem 0 .3rem; padding-bottom:.4rem; }
.zones .zone-title::after{ content:""; display:block; width:2.2rem; height:2px; background:var(--lime); margin-top:.5rem; }
.zones .zone-link{ margin-top:auto; color:var(--lime); }
.zones-note{ margin-top:1.2rem; color:var(--text-muted); }

/* 구독 CTA */
.subscribe-cta{ display:flex; align-items:center; justify-content:space-between; gap:1.5rem; flex-wrap:wrap; border-top:2px solid var(--lime); }
.subscribe-cta .label-caps{ color:var(--cyan); margin-bottom:.6rem; }
.subscribe-cta h2{ margin:0 0 .4rem; }
.subscribe-cta .cta{ display:flex; gap:.75rem; flex-wrap:wrap; }

/* =========================================================
   단일 글 · 아카이브 · 검색 · 404 · 페이지 (6단계)
   ========================================================= */
/* 아카이브/검색 헤더 */
.archive-head{ margin-bottom:2rem; padding-bottom:1.2rem; border-bottom:1px solid var(--border); }
.archive-head .label-caps{ color:var(--cyan); margin-bottom:.6rem; }
.archive-head h1{ margin:0 0 .5rem; }
.archive-head .archive-desc{ max-width:680px; }
.search-empty{ text-align:center; margin-top:2rem; }
.search-empty form{ max-width:420px; margin:1.2rem auto 0; }

/* 단일 글 */
.single-article .single-title{ margin:.4rem 0 1rem; }
.post-hero{ margin:1.5rem auto 2rem; }
.post-hero img{ width:100%; border:1px solid var(--border); border-top:2px solid var(--border-cyan); filter:grayscale(.1) contrast(1.03); }
.post-hero figcaption{ margin-top:.5rem; color:var(--text-muted); text-align:center; }

/* 목차 TOC */
.toc{ margin:0 auto 2rem; }
.toc .label-caps{ color:var(--cyan); margin-bottom:.7rem; }
.toc ol{ list-style:none; margin:0; padding:0; counter-reset:toc; }
.toc li{ counter-increment:toc; padding:.3rem 0; border-top:1px solid var(--border); }
.toc li:first-child{ border-top:0; }
.toc li.toc-h3{ padding-left:1.2rem; }
.toc a{ color:var(--text-variant); font-family:var(--font-mono); font-size:.85rem; }
.toc a::before{ content:counter(toc,decimal-leading-zero)"  "; color:var(--text-muted); }
.toc li.toc-h3 a::before{ content:"› "; }
.toc a:hover{ color:var(--lime); }

/* 본문 헤딩 앵커 오프셋(sticky 헤더) */
.single-body :is(h2,h3){ scroll-margin-top:84px; }
.single-body{ margin-bottom:2rem; }
.entry-tags{ margin-top:2rem; color:var(--text-muted); }
.entry-tags a{ color:var(--cyan); }

/* Expert Opinion */
.expert-box{ margin:2.5rem 0; border-left:2px solid var(--cyan); }
.expert-box .label-caps{ color:var(--cyan); margin-bottom:.7rem; }
.expert-box p{ font-family:var(--font-body); margin:0 0 .6rem; }

/* 공유 */
.share{ display:flex; align-items:center; gap:.6rem; margin:2rem 0; }
.share .label-caps{ color:var(--text-muted); margin-right:.2rem; }
.icon-btn.copied{ border-color:var(--lime); color:var(--lime); }

/* 이전·다음 */
.post-nav{ display:flex; justify-content:space-between; gap:1rem; margin:2rem 0; border-top:1px solid var(--border); padding-top:1.2rem; }
.post-nav .nav-links{ display:flex; justify-content:space-between; gap:1rem; width:100%; }
.post-nav a{ color:var(--text); font-family:var(--font-body); }
.post-nav a:hover{ color:var(--lime); }
.post-nav .label-caps{ display:block; color:var(--text-muted); margin-bottom:.2rem; }
.post-nav .nav-next{ text-align:right; margin-left:auto; }

/* 404 */
.e404 .label-caps{ display:block; margin-bottom:.6rem; }
.e404-lead{ max-width:560px; margin:0 auto 2rem; }
.e404-cta{ display:flex; justify-content:center; gap:.75rem; flex-wrap:wrap; }
.e404-search{ max-width:480px; margin:2.5rem auto 0; }

/* =========================================================
   콘텐츠 컴포넌트 (3단계 template-parts)
   ========================================================= */

/* ---------- 글 카드: 풀블리드 + 하단 글래스 오버레이 + 시안 top-border ---------- */
.article-card{ position:relative; border-top:2px solid var(--border-cyan); background:var(--surface); overflow:hidden; }
.article-card .ac-link{ display:block; position:relative; color:var(--text); }
.article-card .ac-media{ position:relative; aspect-ratio:16/9; background:var(--surface-high); overflow:hidden; }
.article-card .ac-media img{ width:100%; height:100%; object-fit:cover; filter:grayscale(.15) contrast(1.03); transition: transform .25s linear, filter .25s linear; }
.article-card .ac-fallback{ position:absolute; inset:0; display:flex; align-items:center; justify-content:center; color:var(--cyan); opacity:.6; }
.article-card:hover .ac-media img{ transform:scale(1.04); filter:grayscale(0) contrast(1.05); }
.article-card .ac-overlay{
  position:absolute; left:0; right:0; bottom:0;
  padding:1.1rem 1.2rem;
  background:linear-gradient(0deg, rgba(10,10,10,.92) 0%, rgba(10,10,10,.55) 60%, transparent 100%);
  /* 반복 카드 → blur 제거(그라데이션만으로 가독 확보, 목록 GPU 부담↓) */
}
.article-card.card--wide,.article-card.card--full{ }
.article-card.card--wide .ac-media,.article-card.card--full .ac-media{ aspect-ratio:21/9; }
.article-card .ac-meta{ display:flex; gap:.6rem; align-items:center; margin-bottom:.4rem; }
.article-card .ac-meta .ac-cat{ color:var(--lime); }
.article-card .ac-meta .ac-date{ color:var(--text-muted); }
.article-card .ac-title{ margin:0; font-size:clamp(1.1rem,1vw + .8rem,1.45rem); line-height:1.2; color:var(--text); }
.article-card:hover .ac-title{ color:var(--lime); }

/* ---------- 단일 글 헤더 메타 ---------- */
.post-meta{ display:flex; flex-direction:column; gap:.7rem; margin:0 0 1.5rem; }
.post-meta .pm-chips{ display:flex; gap:.4rem; flex-wrap:wrap; align-items:center; }
.post-meta .pm-author{ display:flex; align-items:center; gap:.6rem; }
.post-meta .pm-avatar{ width:40px; height:40px; border-radius:0; border:1px solid var(--border); }
.post-meta .pm-by a{ color:var(--text); font-family:var(--font-mono); font-size:.9rem; }
.post-meta .pm-by a:hover{ color:var(--lime); }
.post-meta .pm-title{ margin-left:.5rem; color:var(--cyan); }
.post-meta .pm-dates{ display:flex; gap:.5rem; flex-wrap:wrap; color:var(--text-muted); }

/* ---------- 확신도 라벨 (classified 태그) ---------- */
.confidence{ display:inline-flex; align-items:stretch; font-family:var(--font-mono); font-size:.72rem; letter-spacing:.06em; text-transform:uppercase; border:1px solid var(--border-strong); }
.confidence .conf-key{ padding:.18rem .45rem; background:var(--surface-high); color:var(--text-muted); }
.confidence .conf-val{ padding:.18rem .5rem; font-weight:600; }
.confidence.conf-high{ border-color:var(--lime); }
.confidence.conf-high .conf-val{ background:var(--lime); color:#0A0A0A; }
.confidence.conf-medium{ border-color:var(--border-cyan); }
.confidence.conf-medium .conf-val{ color:var(--cyan); }
.confidence.conf-low .conf-val{ color:var(--text-muted); }

/* ---------- 출처·참고 박스 ---------- */
.source-box{ margin:2.5rem 0; border-left:2px solid var(--lime); }
.source-box .sb-head{ display:flex; align-items:center; gap:.8rem; flex-wrap:wrap; margin-bottom:.9rem; padding-bottom:.7rem; border-bottom:1px solid var(--border); }
.source-box .sb-reason{ color:var(--text-muted); margin:0 0 .9rem; }
.source-box .sb-list{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:.6rem; }
.source-box .sb-item{ display:flex; gap:.6rem; align-items:baseline; flex-wrap:wrap; padding-left:.7rem; border-left:1px solid var(--border); }
.source-box .sb-item.sb-primary{ border-left:2px solid var(--lime); }   /* 1차 자료 강조 */
.source-box .sb-type{ color:var(--text-muted); }
.source-box .sb-primary .sb-type{ color:var(--lime); }
.source-box .sb-cite{ font-style:normal; }
.source-box .sb-cite a{ color:var(--cyan); text-decoration:underline; text-underline-offset:3px; }
.source-box .sb-cite a:hover{ color:var(--lime); }
.source-box .sb-num{ color:var(--text-muted); }
/* 검증 상태 라벨 */
.verify{ display:inline-flex; align-items:center; padding:.18rem .5rem; font-family:var(--font-mono); font-size:.72rem; letter-spacing:.06em; text-transform:uppercase; border:1px solid var(--border-strong); }
.verify.vf-verified{ border-color:var(--lime); color:var(--lime); }
.verify.vf-reviewing{ border-color:var(--border-cyan); color:var(--cyan); }
.verify.vf-unverified{ color:var(--text-muted); }

/* ---------- 작성자 박스 ---------- */
.author-box{ display:flex; gap:1.1rem; margin:2.5rem 0; }
.author-box .ab-img{ width:64px; height:64px; border-radius:0; border:1px solid var(--border); flex-shrink:0; }
.author-box .ab-name{ display:flex; align-items:center; gap:.6rem; flex-wrap:wrap; margin-bottom:.4rem; }
.author-box .ab-name a{ font-family:var(--font-head); font-size:1.1rem; font-weight:600; color:var(--text); }
.author-box .ab-name a:hover{ color:var(--lime); }
.author-box .ab-title{ color:var(--cyan); }
.author-box .ab-bio{ font-family:var(--font-body); font-size:.95rem; color:var(--text-variant); margin:0 0 .5rem; }
.author-box .ab-neutral{ font-family:var(--font-mono); font-size:.78rem; line-height:1.6; color:var(--text-muted); margin:0; border-left:2px solid var(--border-cyan); padding-left:.7rem; }

/* ---------- Evidence List ---------- */
.evidence-list{ list-style:none; margin:0; padding:0; }
.evidence-list .ev-item{
  display:grid; grid-template-columns: 7.5rem 1fr auto; gap:1rem; align-items:baseline;
  padding:.9rem 0; border-top:1px solid var(--border);
}
.evidence-list .ev-item:last-child{ border-bottom:1px solid var(--border); }
.evidence-list .ev-date{ color:var(--text-muted); }
.evidence-list .ev-title{ font-family:var(--font-head); font-weight:500; color:var(--text); }
.evidence-list .ev-title:hover{ color:var(--lime); }
.evidence-list .ev-source{ color:var(--cyan); white-space:nowrap; }
@media (max-width:768px){
  .evidence-list .ev-item{ grid-template-columns: 1fr; gap:.25rem; }
  .evidence-list .ev-source{ white-space:normal; }
}

/* reduce motion */
@media (prefers-reduced-motion: reduce){
  *{ animation: none !important; transition: none !important; scroll-behavior:auto !important; }
  #ufo-stars{ display:none; }
}

/* =========================================================
   Stitch "Article Detail" 적용 — 단일 글 (데스크톱+모바일)
   main.css 끝에 추가. 기존 토큰(--bg/--lime/--cyan/--border/--font-*) 사용.
   ========================================================= */

/* 풀스크린 히어로 */
.st-hero{ position:relative; min-height:72vh; display:flex; align-items:flex-end; overflow:hidden; }
.st-hero.has-img{ min-height:88vh; }
.st-hero-bg{ position:absolute; inset:0; z-index:0; }
.st-hero-bg img{ width:100%; height:100%; object-fit:cover; filter:grayscale(.4) brightness(.55) contrast(1.05); }
.st-hero::after{ /* 하단 그라데이션 */
  content:""; position:absolute; inset:0; z-index:1;
  background:linear-gradient(to top, var(--bg) 6%, rgba(10,10,10,.35) 45%, transparent 80%);
}
.st-hero-inner{ position:relative; z-index:2; padding-top:clamp(6rem,14vh,11rem); padding-bottom:clamp(2.5rem,6vh,4.5rem); }
.st-hero-flags{ display:flex; align-items:center; gap:.8rem; flex-wrap:wrap; margin-bottom:1.2rem; }
.st-flag{ display:inline-block; background:var(--lime); color:#0A0A0A; font-family:var(--font-mono); font-weight:600; font-size:.7rem; letter-spacing:.12em; text-transform:uppercase; padding:.25rem .7rem; }
.st-ref{ color:var(--text-muted); text-transform:uppercase; letter-spacing:.08em; }
.st-hero-title{ color:var(--text); margin:0 0 1.4rem; max-width:18ch; }
.st-hero-meta{ display:flex; flex-wrap:wrap; gap:1.4rem; padding-top:1.2rem; border-top:1px solid var(--border); }
.st-hero-meta .label-caps{ display:inline-flex; align-items:center; gap:.4rem; color:var(--text-variant); }
.st-hero-meta i{ color:var(--cyan); }

/* 본문 2단 (사이드바 + 본문) — Stitch 12col */
.single .page-wrap{ padding-top:2.5rem; }
/* 단일 글 박스: 1000px 중앙 정렬 */
.single .single-article{ max-width:1000px; margin:0 auto; }
/* 브레드크럼: 폭 제한 해제(원래 폭) + 문구 중앙 정렬 + 하단 경계선 */
.single .page-wrap > .breadcrumb{ margin:0 auto 1.2rem; padding-bottom:1rem; border-bottom:1px solid var(--border); text-align:center; }
/* 단일 글 섹션 경계선: 관련 글을 본문과 구분 */
.single .related-posts{ border-top:1px solid var(--border); margin-top:3rem; padding-top:2.5rem; }
.st-grid{ display:grid; grid-template-columns: 3fr 9fr; gap:var(--gutter); align-items:start; }
.st-main{ max-width:760px; }
.st-main .single-body{ font-family:var(--font-body); }
.st-main .single-body > p{ font-size:1.0625rem; line-height:1.85; }
/* 첫 문단 드롭캡 (Stitch first-letter) */
.st-main .single-body > p:first-of-type::first-letter{
  font-family:var(--font-head); font-size:3.4rem; font-weight:700; color:var(--lime);
  float:left; line-height:.8; margin:.1em .35rem 0 0;
}

/* 사이드바 sticky */
.st-aside-sticky{ position:sticky; top:96px; display:flex; flex-direction:column; gap:1rem; }
.st-aside .toc{ padding:1.1rem 1.2rem; }
.st-aside .toc ol{ list-style:none; margin:.4rem 0 0; padding:0; display:flex; flex-direction:column; gap:.5rem; }
.st-aside .toc a{ color:var(--text-variant); font-family:var(--font-mono); font-size:.82rem; }
.st-aside .toc a:hover{ color:var(--lime); }
.st-aside .toc .toc-h3{ padding-left:.8rem; }
.st-aside-resources{ padding:1.1rem 1.2rem; }
.st-aside-resources p{ color:var(--cyan); margin:0 0 .6rem; display:flex; align-items:center; gap:.4rem; }
.st-aside-resources ul{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:.5rem; }
.st-aside-resources a{ color:var(--text-variant); font-family:var(--font-mono); font-size:.82rem; }
.st-aside-resources a:hover{ color:var(--lime); }

/* 태그 */
.st-tags{ display:flex; flex-wrap:wrap; gap:.5rem; margin:2rem 0; padding-top:1.5rem; border-top:1px solid var(--border); }
.st-tag{ background:var(--surface); color:var(--text); padding:.3rem .7rem; }
.st-tag:hover{ background:var(--lime); color:#0A0A0A; }

/* 관련 글 (Stitch Related — 2-up 풀블리드 카드) */
.st-related{ margin-top:var(--section-gap); padding:clamp(3rem,6vw,5rem) 0; border-top:1px solid var(--border); background:rgba(0,0,0,.25); }
.st-related-head{ color:var(--text-muted); display:flex; align-items:center; gap:1rem; margin-bottom:1.6rem; }
.st-related-head span{ flex:1; height:1px; background:var(--border); }
.st-related-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:var(--gutter); }
.st-related-card{ position:relative; display:block; aspect-ratio:16/9; overflow:hidden; border:1px solid var(--border); }
.st-related-card img{ width:100%; height:100%; object-fit:cover; filter:grayscale(.3) brightness(.6); transition:transform .5s linear; }
.st-related-card:hover img{ transform:scale(1.05); }
.st-related-overlay{ position:absolute; inset:0; display:flex; flex-direction:column; justify-content:flex-end; gap:.5rem; padding:1.5rem; background:linear-gradient(to top, rgba(0,0,0,.85), transparent 60%); border-top:1px solid var(--border-cyan); }
.st-related-cat{ color:var(--cyan); }
.st-related-overlay h3{ margin:0; color:var(--text); }
.st-related-card:hover .st-related-overlay h3{ color:var(--lime); }

/* ---- 반응형: 태블릿/모바일 ---- */
@media (max-width:1024px){
  .st-grid{ grid-template-columns:1fr; }
  .st-aside{ order:2; }                 /* 모바일: 사이드바를 본문 아래로 */
  .st-aside-sticky{ position:static; }
  .st-main{ order:1; max-width:none; }
}
@media (max-width:768px){
  .st-hero.has-img{ min-height:64vh; }
  .st-hero-meta{ gap:.8rem 1rem; }
  .st-related-grid{ grid-template-columns:1fr; }
  .st-main .single-body > p:first-of-type::first-letter{ font-size:2.8rem; }
}
@media (prefers-reduced-motion:reduce){
  .st-related-card img{ transition:none; }
}
/* =========================================================
   Stitch 적용 — Home / Archive / About / Contact
   (single 분은 위 블록. 둘을 합쳐 main.css 끝에 추가)
   ========================================================= */

/* ---------- Home 히어로 ---------- */
.st-home-hero{ position:relative; padding:clamp(7rem,16vh,12rem) 0 clamp(3rem,8vh,6rem); overflow:hidden; }
.st-home-hero-inner{ position:relative; z-index:2; max-width:60ch; }
.st-flag-inline{ color:var(--cyan); margin-bottom:1rem; }
.st-home-hero .display-lg .accent{ color:var(--lime); }
.st-home-hero .lead{ max-width:560px; color:var(--text-variant); font-size:clamp(1rem,1vw+.6rem,1.25rem); margin:0 0 2rem; }
.st-home-hero .cta{ display:flex; gap:.75rem; flex-wrap:wrap; }
.st-home-hero .btn i{ vertical-align:middle; }
.st-home-grain{ position:absolute; inset:0; z-index:0; pointer-events:none; opacity:.5;
  background:radial-gradient(700px 360px at 18% 0%, rgba(204,255,0,.06), transparent 60%),
             radial-gradient(620px 320px at 92% 8%, rgba(0,240,255,.06), transparent 60%); }

/* ---------- Intelligence Feed 벤토 ---------- */
.st-feed-head{ display:flex; align-items:flex-end; justify-content:space-between; gap:1rem; margin-bottom:1.6rem; padding-bottom:1rem; border-bottom:1px solid var(--border); flex-wrap:wrap; }
.st-feed-head .label-caps{ color:var(--text-muted); margin-top:.4rem; }
.st-feed-all{ color:var(--lime); display:inline-flex; align-items:center; gap:.4rem; }
.st-bento{ display:grid; grid-template-columns:repeat(12,1fr); gap:var(--gutter); }
.st-bento-feature{ grid-column:span 8; position:relative; min-height:420px; border:1px solid var(--border); overflow:hidden; }
.st-bento-item{ grid-column:span 4; position:relative; min-height:200px; border:1px solid var(--border); overflow:hidden; background:var(--surface); }
.st-bento-feature a, .st-bento-item a{ display:block; height:100%; }
.st-bento-media{ position:absolute; inset:0; }
.st-bento-media img{ width:100%; height:100%; object-fit:cover; filter:grayscale(.3) brightness(.62); transition:transform .6s linear; }
.st-bento-feature:hover .st-bento-media img, .st-bento-item:hover .st-bento-media img{ transform:scale(1.05); }
.st-bento-fallback{ position:absolute; inset:0; display:grid; place-items:center; color:var(--text-muted); background:var(--surface); }
.st-bento-overlay{ position:absolute; inset:0; z-index:2; display:flex; flex-direction:column; justify-content:flex-end; gap:.5rem; padding:1.5rem; background:linear-gradient(to top, rgba(0,0,0,.88), transparent 62%); }
.st-bento-item .st-bento-overlay{ border-top:1px solid var(--border-cyan); }
.st-flag{ align-self:flex-start; background:var(--lime); color:#0A0A0A; font-family:var(--font-mono); font-weight:600; font-size:.66rem; letter-spacing:.1em; text-transform:uppercase; padding:.2rem .6rem; }
.st-bento-cat{ color:var(--cyan); }
.st-bento-title{ font-family:var(--font-head); font-weight:600; font-size:clamp(1.1rem,1vw+.8rem,1.4rem); line-height:1.2; color:var(--text); margin:0; }
.st-bento-feature .article-title{ color:var(--text); margin:0; }
.st-bento-feature:hover .article-title, .st-bento-item:hover .st-bento-title{ color:var(--lime); }
.st-bento-ex{ color:var(--text-variant); font-family:var(--font-body); font-size:.95rem; margin:0; max-width:48ch; }
.st-bento-date{ color:var(--text-muted); }

/* ---------- Archive (Classified Documents) ---------- */
.st-arch-head{ border-left:4px solid var(--lime); padding-left:1.2rem; margin:1rem 0 2.2rem; }
.st-arch-flag{ color:var(--cyan); display:inline-flex; align-items:center; gap:.4rem; margin-bottom:.5rem; }
.st-arch-head h1{ margin:.2rem 0 .6rem; }
.st-arch-desc{ max-width:680px; }
.st-arch-grid{ display:grid; grid-template-columns:3fr 9fr; gap:var(--gutter); align-items:start; }
.st-arch-sticky{ position:sticky; top:96px; display:flex; flex-direction:column; gap:1.2rem; }
.st-arch-filter-h{ color:var(--lime); display:flex; align-items:center; gap:.4rem; margin-bottom:.8rem; }
.st-arch-filter{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:.2rem; }
.st-arch-filter a{ display:block; padding:.55rem .8rem; font-family:var(--font-mono); font-size:.8rem; letter-spacing:.04em; color:var(--text-variant); border-left:2px solid transparent; }
.st-arch-filter a:hover{ color:var(--lime); background:rgba(255,255,255,.04); }
.st-arch-filter a.is-active{ color:var(--lime); border-left-color:var(--lime); background:rgba(204,255,0,.06); }
.st-arch-status{ padding:1.1rem 1.2rem; }
.st-arch-status h2{ margin:0 0 .6rem; color:var(--text); }
.st-arch-status .st-dot{ display:inline-block; width:8px; height:8px; border-radius:50%; background:var(--lime); margin-right:.4rem; }
.st-doc-list{ display:flex; flex-direction:column; gap:1rem; }
.st-doc{ overflow:hidden; }
.st-doc-link{ display:grid; grid-template-columns:200px 1fr auto; gap:1.2rem; align-items:center; padding:1rem; }
.st-doc-media{ width:200px; height:120px; overflow:hidden; }
.st-doc-media img{ width:100%; height:100%; object-fit:cover; filter:grayscale(.3); transition:transform .5s linear; }
.st-doc:hover .st-doc-media img{ transform:scale(1.05); }
.st-doc-meta{ display:flex; align-items:center; gap:.8rem; margin-bottom:.5rem; }
.st-flag-sm{ background:var(--lime); color:#0A0A0A; font-family:var(--font-mono); font-weight:600; font-size:.62rem; letter-spacing:.08em; text-transform:uppercase; padding:.15rem .5rem; }
.st-doc-title{ color:var(--text); margin:0 0 .4rem; font-size:clamp(1.1rem,1vw+.7rem,1.4rem); }
.st-doc:hover .st-doc-title{ color:var(--lime); }
.st-doc-ex{ margin:0; font-family:var(--font-body); font-size:.92rem; }
.st-doc-arrow{ color:var(--lime); justify-self:end; transition:transform var(--t-fast); }
.st-doc:hover .st-doc-arrow{ transform:translateX(4px); }

/* ---------- Page hero (About/Contact 공용) ---------- */
.st-page-hero{ position:relative; padding:clamp(5rem,12vh,8rem) 0 clamp(2.5rem,6vh,4rem); overflow:hidden; border-bottom:1px solid var(--border); }
.st-page-hero .st-dot{ display:inline-block; width:8px; height:8px; border-radius:50%; background:var(--lime); margin-right:.4rem; }

/* About */
.st-about-grid{ display:grid; grid-template-columns:8fr 4fr; gap:var(--gutter); align-items:start; margin-top:1.5rem; }
.st-about-main{ max-width:none; margin:0; }
.st-about-side{ position:sticky; top:96px; }
.st-about-card{ padding:1.4rem; }
.st-about-card .label-caps{ color:var(--cyan); margin-bottom:.8rem; }
.st-about-principles{ list-style:none; margin:0 0 1.2rem; padding:0; display:flex; flex-direction:column; gap:.7rem; }
.st-about-principles li{ display:flex; align-items:flex-start; gap:.5rem; font-family:var(--font-mono); font-size:.82rem; color:var(--text-variant); line-height:1.5; }
.st-about-principles i{ color:var(--lime); flex-shrink:0; margin-top:.1rem; }

/* Contact */
.st-contact-grid{ display:grid; grid-template-columns:8fr 4fr; gap:var(--gutter); align-items:start; margin-top:1.5rem; }
.st-contact-main{ max-width:none; margin:0; }
.st-contact-side{ position:sticky; top:96px; }
.st-contact-card{ padding:1.4rem; }
.st-contact-card .label-caps{ color:var(--cyan); display:flex; align-items:center; gap:.4rem; margin-bottom:.4rem; }
.st-contact-card hr{ border:none; border-top:1px solid var(--border); margin:1.2rem 0; }

/* ---------- 반응형 ---------- */
@media (max-width:1024px){
  .st-arch-grid, .st-about-grid, .st-contact-grid{ grid-template-columns:1fr; }
  .st-arch-aside{ order:2; } .st-arch-sticky{ position:static; flex-direction:row; flex-wrap:wrap; }
  .st-about-side, .st-contact-side{ position:static; }
  .st-bento-feature, .st-bento-item{ grid-column:span 6; min-height:280px; }
}
@media (max-width:768px){
  .st-bento{ grid-template-columns:1fr; }
  .st-bento-feature, .st-bento-item{ grid-column:span 1; min-height:240px; }
  .st-doc-link{ grid-template-columns:1fr; gap:.8rem; }
  .st-doc-media{ width:100%; height:180px; }
  .st-doc-arrow{ display:none; }
  .st-arch-sticky{ flex-direction:column; }
}
@media (prefers-reduced-motion:reduce){
  .st-bento-media img, .st-doc-media img{ transition:none; }
}

/* ===== B. 화면 수정 ===== */
/* =========================================================
   화면 지적사항 수정 (v2) — main.css 맨 끝에 추가
   ========================================================= */

/* ---------- 헤더 키우기 (높이·사이트명·메뉴) ---------- */
.site-header .bar{ height:84px; }                         /* 68 → 84 */
.brand{ font-size:2.5rem; }                                /* 사이트명 크게 */
.primary-nav{ gap:2rem; }
.primary-nav ul{ gap:2rem; }
.primary-nav a{ font-size:.95rem; letter-spacing:.06em; padding:.3rem 0; }  /* 메뉴명 크게 */
/* 검색 버튼: 라임으로 또렷하게 */
.header-actions .icon-btn{ border-color:var(--lime); color:var(--lime); width:44px; height:44px; }
.header-actions .icon-btn:hover{ background:var(--lime); color:#0A0A0A; }
@media (max-width:768px){
  .site-header .bar{ height:68px; }
  .brand{ font-size:1.9rem; }
}

/* ---------- 홈 히어로 높이 ↑ ---------- */
.st-home-hero{ padding:clamp(9rem,20vh,15rem) 0 clamp(4rem,9vh,7rem); min-height:78vh; display:flex; align-items:center; }
.st-home-hero .display-lg{ font-size:clamp(2.4rem,6vw+.5rem,5rem); }

/* ---------- 운영 원칙 박스 재구성 (HUD 제거 → 원칙 3줄 + 라벨) ---------- */
.mission .mission-side{ display:block; padding:1.6rem 1.5rem; }
.mission .mission-side .hud{ display:none; }               /* 의미 불명 원형 제거 */
.mission .mission-side .label-caps{ color:var(--cyan); margin-bottom:1rem; display:block; }
.mission-principles{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:.9rem; }
.mission-principles li{ display:flex; align-items:flex-start; gap:.6rem; font-family:var(--font-mono); font-size:.85rem; line-height:1.55; color:var(--text-variant); }
.mission-principles li i{ color:var(--lime); flex-shrink:0; margin-top:.15rem; }
.mission-principles strong{ color:var(--text); font-weight:600; }

/* ---------- CTA 명확하게 ---------- */
.subscribe-cta{ padding:2rem 2.2rem; }
.subscribe-cta h2{ font-size:clamp(1.6rem,3vw,2.2rem); }
.subscribe-cta .text-muted{ font-size:1rem; max-width:46ch; }

/* ---------- 블로그(index) 카드 — st-bento와 동일 톤 ---------- */
.blog-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:var(--gutter); margin:1.5rem 0 0; }
@media (max-width:1024px){ .blog-grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:640px){ .blog-grid{ grid-template-columns:1fr; } }
.blog-card{ position:relative; min-height:320px; border:1px solid var(--border); overflow:hidden; background:var(--surface); }
.blog-card a{ display:block; height:100%; }
.blog-card .bc-media{ position:absolute; inset:0; }
.blog-card .bc-media img{ width:100%; height:100%; object-fit:cover; filter:grayscale(.3) brightness(.62); transition:transform .5s linear; }
.blog-card:hover .bc-media img{ transform:scale(1.05); }
.blog-card .bc-fallback{ position:absolute; inset:0; display:grid; place-items:center; color:var(--text-muted); }
.blog-card .bc-overlay{ position:absolute; inset:0; z-index:2; display:flex; flex-direction:column; justify-content:flex-end; gap:.5rem; padding:1.4rem; background:linear-gradient(to top, rgba(0,0,0,.9), transparent 60%); border-top:1px solid var(--border-cyan); }
.blog-card .bc-cat{ color:var(--cyan); font-family:var(--font-mono); font-size:.72rem; letter-spacing:.06em; text-transform:uppercase; }
.blog-card .bc-title{ font-family:var(--font-head); font-weight:600; font-size:1.2rem; line-height:1.25; color:var(--text); margin:0; }
.blog-card:hover .bc-title{ color:var(--lime); }
.blog-card .bc-date{ font-family:var(--font-mono); font-size:.75rem; color:var(--text-muted); }
@media (prefers-reduced-motion:reduce){ .blog-card .bc-media img{ transition:none; } }


/* ===== C. 홈 피드 ===== */
/* =========================================================
   홈 피드 v3 — 상단행(대표1+옆1) + 작은 카드 3열 + 뉴스 카드 리스트
   ========================================================= */

/* ---------- 상단행: 대표 1개(좌, 큼) + 1개(우) ---------- */
.feed-top{ display:grid; grid-template-columns:1.6fr 1fr; gap:var(--gutter); margin-top:1.5rem; }
.feed-card{ border:1px solid var(--border); background:var(--surface); overflow:hidden; transition:border-color var(--t-fast); }
.feed-card:hover{ border-color:var(--lime); }
.feed-card a{ display:block; height:100%; }
.fc-media{ overflow:hidden; background:#111; }
.fc-media img{ width:100%; height:100%; object-fit:cover; filter:grayscale(.25); transition:transform .5s linear; }
.feed-card:hover .fc-media img{ transform:scale(1.04); }
.fc-fallback{ display:grid; place-items:center; height:100%; color:var(--text-muted); }
.feed-card--feature .fc-media{ height:360px; }
.feed-card--side .fc-media{ height:200px; }
.fc-body{ padding:1.1rem 1.2rem 1.3rem; }
.fc-meta{ display:flex; align-items:center; gap:.7rem; margin-bottom:.6rem; }
.fc-cat{ background:var(--lime); color:#0A0A0A; font-family:var(--font-mono); font-weight:600; font-size:.66rem; letter-spacing:.06em; text-transform:uppercase; padding:.15rem .5rem; }
.fc-date{ color:var(--text-muted); }
.fc-title{ font-family:var(--font-head); font-weight:600; color:var(--text); line-height:1.3; margin:0 0 .5rem; }
.feed-card--feature .fc-title{ font-size:1.5rem; }
.fc-title{ font-size:1.15rem; }
.feed-card:hover .fc-title{ color:var(--lime); }
.fc-ex{ font-family:var(--font-body); font-size:.92rem; color:var(--text-muted); line-height:1.55; margin:0; }

/* ---------- 아래: 작은 카드 3열 ---------- */
.feed-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:var(--gutter); margin-top:var(--gutter); }
.feed-card--sm .fc-media{ height:170px; }
.feed-card--sm .fc-title{ font-size:1.05rem; }
.feed-card--sm .fc-body{ padding:1rem 1.1rem 1.15rem; }

/* ---------- 뉴스 카드 리스트 (가로 카드 세로 쌓기) ---------- */
.news-cards{ display:flex; flex-direction:column; gap:1rem; margin-top:1.2rem; }
.nc-item{ display:grid; grid-template-columns:220px 1fr; gap:1.3rem; border:1px solid var(--border); background:var(--surface); overflow:hidden; transition:border-color var(--t-fast); }
.nc-item:hover{ border-color:var(--lime); }
.nc-media{ height:150px; overflow:hidden; background:#111; }
.nc-media img{ width:100%; height:100%; object-fit:cover; filter:grayscale(.25); transition:transform .5s linear; }
.nc-item:hover .nc-media img{ transform:scale(1.04); }
.nc-fallback{ display:grid; place-items:center; height:100%; color:var(--text-muted); }
.nc-body{ padding:1.1rem 1.3rem 1.1rem 0; display:flex; flex-direction:column; justify-content:center; }
.nc-meta{ display:flex; align-items:center; gap:.7rem; margin-bottom:.5rem; }
.nc-cat{ background:var(--lime); color:#0A0A0A; font-family:var(--font-mono); font-weight:600; font-size:.66rem; letter-spacing:.06em; text-transform:uppercase; padding:.15rem .5rem; }
.nc-date{ color:var(--text-muted); }
.nc-title{ font-family:var(--font-head); font-weight:600; font-size:1.2rem; color:var(--text); line-height:1.3; margin:0 0 .4rem; }
.nc-item:hover .nc-title{ color:var(--lime); }
.nc-ex{ font-family:var(--font-body); font-size:.9rem; color:var(--text-muted); line-height:1.5; margin:0; }

/* ---------- 반응형 ---------- */
@media (max-width:1024px){
  .feed-top{ grid-template-columns:1fr; }
  .feed-card--feature .fc-media{ height:300px; }
  .feed-grid{ grid-template-columns:repeat(2,1fr); }
}
@media (max-width:768px){
  .feed-grid{ grid-template-columns:1fr; }
  .nc-item{ grid-template-columns:1fr; }
  .nc-media{ height:180px; }
  .nc-body{ padding:0 1.1rem 1.1rem; }
}
@media (prefers-reduced-motion:reduce){
  .fc-media img, .nc-media img{ transition:none; }
}

/* =========================================================
   화면 수정 v3 — main.css 맨 끝에 추가
   히어로 높이·폭 / 검색 라임버튼·한줄 / 운영원칙삭제후 소개 1단 /
   기사 전체보기 버튼 / CTA 한 줄
   ========================================================= */

/* ---------- 히어로: 높이 정상화 + 텍스트 폭 제한 ---------- */
.st-home-hero{ min-height:auto; padding:clamp(5rem,11vh,8rem) 0 clamp(3rem,6vh,4.5rem); display:block; }
.st-home-hero-inner{ max-width:760px; }
.st-home-hero .display-lg{ font-size:clamp(2.2rem,5vw+.4rem,3.6rem); }   /* 과도하게 큰 헤드라인 축소 */
.st-home-hero .lead{ max-width:540px; }

/* ---------- 소개 섹션: 운영원칙 삭제 후 1단 풀폭 ---------- */
.mission-solo{ max-width:820px; }
.mission-solo .label-caps{ color:var(--cyan); margin-bottom:.8rem; }
.mission-solo h2{ margin-bottom:1rem; }
.mission-solo .body-lg{ margin-bottom:1.4rem; }

/* ---------- 헤더 검색: 라임 배경 버튼 (돋보기 + "검색") ---------- */
.search-btn{
  display:inline-flex; align-items:center; gap:.4rem;
  background:var(--lime); color:#0A0A0A; border:none; cursor:pointer;
  font-family:var(--font-mono); font-weight:600; font-size:.82rem; letter-spacing:.04em;
  padding:.55rem 1rem; height:44px; border-radius:0; transition:background var(--t-fast);
}
.search-btn:hover{ background:var(--lime-dim); }
.search-btn i{ line-height:0; }

/* ---------- 검색폼: 한 줄 (입력 + 버튼 나란히) ---------- */
.header-search .container{ padding-top:1rem; padding-bottom:1rem; }
.search-form--inline{ display:flex; gap:.6rem; align-items:stretch; }
.search-form--inline .sf-field{ flex:1; display:block; }
.search-form--inline input[type="search"]{
  width:100%; height:48px; background:rgba(10,10,10,.6); border:1px solid var(--border);
  color:var(--text); padding:0 1rem; font-family:var(--font-mono); font-size:.9rem; border-radius:0;
}
.search-form--inline input[type="search"]:focus{ outline:none; border-color:var(--lime); }
.search-form--inline .btn--solid{ flex-shrink:0; height:48px; padding:0 1.4rem; white-space:nowrap; }

/* ---------- 기사 전체 보기 버튼 (뉴스 리스트 아래) ---------- */
.feed-allbtn{ display:flex; justify-content:center; margin-top:2rem; }
.feed-allbtn .btn--solid{ padding:.8rem 2rem; }

/* ---------- CTA: 한 줄 (텍스트 좌 + 버튼 우) ---------- */
.subscribe-cta{ display:flex; align-items:center; justify-content:space-between; gap:1.5rem; flex-wrap:wrap; padding:1.8rem 2.2rem; }
.subscribe-cta .sc-text{ flex:1; min-width:260px; }
.subscribe-cta .sc-text h2{ margin:0 0 .3rem; font-size:clamp(1.5rem,3vw,2rem); }
.subscribe-cta .sc-text .text-muted{ margin:0; font-size:.95rem; }
.subscribe-cta .cta{ flex-shrink:0; }
@media (max-width:640px){
  .subscribe-cta{ flex-direction:column; align-items:flex-start; }
}

/* ---------- 헤더 검색 버튼 + 검색폼 버튼 통일 (라임, 정렬) ---------- */
.search-btn,
.search-form--inline .btn--solid{
  display:inline-flex; align-items:center; justify-content:center; gap:.4rem;
  background:var(--lime); color:#0A0A0A; border:none; cursor:pointer;
  font-family:var(--font-mono); font-weight:500; letter-spacing:.04em;
  line-height:1; border-radius:0; white-space:nowrap; box-sizing:border-box;
  transition:background var(--t-fast);
}
.search-btn:hover,
.search-form--inline .btn--solid:hover{ background:var(--lime-dim); }
.search-btn i, .search-form--inline .btn--solid i{ line-height:1; flex-shrink:0; }
.search-btn svg, .search-form--inline .btn--solid svg{ width:16px; height:16px; display:block; }

/* 헤더 버튼: 메뉴 높이에 맞춰 42px */
.search-btn{ height:42px; padding:0 1.1rem; font-size:.82rem; }

/* 검색폼: 입력 + 버튼 한 줄, 같은 높이 48px */
.header-search .container{ padding-top:1rem; padding-bottom:1rem; }
.search-form--inline{ display:flex; gap:.6rem; align-items:stretch; }
.search-form--inline .sf-field{ flex:1; display:block; }
.search-form--inline input[type="search"]{
  width:100%; height:48px; box-sizing:border-box;
  background:rgba(10,10,10,.6); border:1px solid var(--border);
  color:var(--text); padding:0 1rem; font-family:var(--font-mono); font-size:.9rem; border-radius:0;
}
.search-form--inline input[type="search"]:focus{ outline:none; border-color:var(--lime); }
.search-form--inline .btn--solid{ height:48px; padding:0 1.4rem; font-size:.85rem; }

/* 히어로 부제목 한 줄 (모바일은 자연 줄바꿈) */
.st-home-hero .lead{ max-width:none; white-space:nowrap; }
@media (max-width:820px){ .st-home-hero .lead{ white-space:normal; } }

/* =========================================================
   헤더 메뉴 가독성 + 버튼 타이포 통일 / 푸터 메뉴 색 통일
   ========================================================= */

/* ---------- 헤더 메뉴: 크게 + 잘 보이는 색 ---------- */
.primary-nav ul{ gap:2.2rem; }
.primary-nav a{
  color:var(--text-variant);              /* 어두운 muted → 밝은 올리브로 가독성 ↑ */
  font-family:"Pretendard Variable","Pretendard",var(--font-head);
  font-weight:600;                         /* SemiBold */
  font-size:1.05rem;                       /* 작던 것 키움 */
  letter-spacing:.01em;
  text-transform:none;                     /* 대문자 강제 해제 (한글 메뉴) */
}
.primary-nav a:hover,
.primary-nav .current-menu-item > a{
  color:var(--lime);                       /* 호버·현재 메뉴 라임으로 또렷하게 */
  border-bottom-color:var(--lime);
}

/* ---------- 메인 버튼: 18px / SemiBold 600 / Pretendard ---------- */
.btn{
  font-family:"Pretendard Variable","Pretendard",var(--font-head);
  font-weight:600;
  font-size:18px;
  letter-spacing:0;
  text-transform:none;                     /* 대문자 강제 해제 */
}
.btn--solid{ font-weight:600; }


/* ---------- 푸터 메뉴 색 = 헤더 메뉴와 동일 ---------- */
.site-footer a{ color:var(--text-variant); }
.site-footer a:hover{ color:var(--lime); }

/* =========================================================
   작은 글씨 일괄 확대 (홈·푸터·카드 메타)
   main.css 맨 끝에 추가
   ========================================================= */

/* ---------- 공통 작은 라벨·메타 ---------- */
.label-caps{ font-size:.85rem; }            /* .75 → .85 */
.mono-data{ font-size:.95rem; }             /* .875 → .95 */

/* ---------- 히어로 ---------- */
.st-home-hero .lead{ font-size:1.15rem; line-height:1.6; }
.st-flag-inline{ font-size:.9rem; }

/* ---------- 섹션 헤더 라벨 ("최신 목격 사례·뉴스·분석") ---------- */
.st-feed-head .label-caps{ font-size:.9rem; }
.st-feed-all{ font-size:.9rem; }

/* ---------- 피드 카드 (대표·옆·작은) ---------- */
.fc-cat{ font-size:.78rem; }                /* 카테고리 칩 .66 → .78 */
.fc-date{ font-size:.85rem; }
.fc-ex{ font-size:1rem; line-height:1.6; }  /* 발췌 .92 → 1rem */
.feed-card--feature .fc-title{ font-size:1.7rem; }
.fc-title{ font-size:1.25rem; }
.feed-card--sm .fc-title{ font-size:1.15rem; }

/* ---------- 뉴스 카드 리스트 ---------- */
.nc-cat{ font-size:.78rem; }
.nc-date{ font-size:.85rem; }
.nc-title{ font-size:1.3rem; }
.nc-ex{ font-size:1rem; line-height:1.55; }

/* ---------- "이 아카이브에서 다루는 것" 박스 ---------- */
.zones .zone .label-caps{ font-size:.85rem; }
.zones .zone-title{ font-size:1.4rem; }
.zones .zone .text-muted{ font-size:1rem; line-height:1.6; }
.zones .zone-link{ font-size:.9rem; }

/* ---------- CTA ---------- */
.subscribe-cta .sc-text .text-muted{ font-size:1.05rem; }

/* ---------- 푸터 ---------- */
.site-footer h4{ font-size:.9rem; }              /* .78 → .9 */
.site-footer a{ font-size:1rem; }
.site-footer .f-neutral{ font-size:1rem; }
.site-footer .copy{ font-size:.85rem; }          /* .75 → .85 */
.site-footer .f-legal{ font-size:.85rem; }
.site-footer .site-name{ font-size:2rem; }

/* ---------- 카드 공통(구버전 카드 대비) ---------- */
.card .meta{ font-size:.85rem; }
.card p{ font-size:1rem; }
.badge{ font-size:.78rem; }

/* =========================================================
   버튼 글자 18px 통일 + 폼 정렬 + 문의 1단
   main.css 맨 끝에 추가 (앞 fixes들보다 뒤)
   ========================================================= */

/* ---------- 모든 버튼 글자 18px / 600 / Pretendard 통일 ---------- */
.btn,
.btn--sm,
.btn--solid,
.btn--ghost,
.search-btn,
.search-form--inline .btn--solid,
.wpcf7-submit,
input[type="submit"],
button[type="submit"]{
  font-family:"Pretendard Variable","Pretendard",var(--font-head) !important;
  font-weight:600 !important;
  font-size:18px !important;
  letter-spacing:0 !important;
  text-transform:none !important;
}
/* 작은 버튼·헤더 검색은 높이만 작게 두되 글자는 동일 18px (요청대로 통일) */
.btn--sm{ min-height:42px; padding:0 1.2rem; }
.search-btn{ height:46px; padding:0 1.2rem; }

/* ---------- 문의하기 폼 정렬 (라벨·입력·제출 중앙/좌 정렬 통일) ---------- */
/* 라벨: 좌측 정렬, 적당한 크기 */
.entry label,
.wpcf7-form label{
  display:block; text-align:left;
  color:var(--text-muted); font-family:var(--font-mono);
  font-size:.95rem; letter-spacing:.03em; margin:1rem 0 .4rem;
}
/* 입력·텍스트영역: 폭 100%, 높이·패딩 통일 */
.wpcf7-form input[type="text"],
.wpcf7-form input[type="email"],
.wpcf7-form input[type="url"],
.wpcf7-form textarea,
.entry input[type="text"],
.entry input[type="email"],
.entry textarea{
  width:100%; box-sizing:border-box;
  background:rgba(10,10,10,.5); border:1px solid var(--border);
  color:var(--text); font-family:var(--font-body); font-size:1rem;
  padding:.8rem 1rem; border-radius:0; line-height:1.5;
}
.wpcf7-form input:focus,
.wpcf7-form textarea:focus,
.entry input:focus,
.entry textarea:focus{ outline:none; border-color:var(--lime); }
.wpcf7-form input[type="text"],
.wpcf7-form input[type="email"]{ height:52px; }
.wpcf7-form textarea{ min-height:160px; }
/* 제출 버튼: 라임, 좌측 정렬, 글자 18px(위에서 통일) */
.wpcf7-submit,
.entry input[type="submit"]{
  display:inline-flex; align-items:center; justify-content:center;
  background:var(--lime); color:#0A0A0A; border:none; cursor:pointer;
  height:52px; padding:0 2rem; border-radius:0; margin-top:.5rem;
  transition:background var(--t-fast);
}
.wpcf7-submit:hover,
.entry input[type="submit"]:hover{ background:var(--lime-dim); }

/* ---------- 문의 1단 (사이드바 삭제 후) ---------- */
.st-contact-solo{ max-width:760px; margin-top:1.5rem; }
.st-contact-solo .entry.content{ max-width:none; margin:0; }

/* ---------- 블로그 매거진 카드: 제목 흰색, 호버 라임 ---------- */
.magazine .card h3 a{ color:#fff; transition:color var(--t-fast); }
.magazine .card h3 a:hover{ color:var(--lime); }

/* =========================================================
   헤더 검색·메뉴 정렬 / 홈 히어로 우측 / 다루는 것 숫자 인라인
   ========================================================= */

/* 검색 버튼 글자 = 헤더 메뉴와 동일 크기·굵기 (돋보기 + 한 칸 + 검색) */
.header-actions .search-btn{
  font-size:1.05rem !important; font-weight:600 !important; letter-spacing:.01em !important;
  gap:.5rem; height:46px; padding:0 1.2rem;
}

/* 헤더 메뉴를 검색 버튼 옆(우측)으로 모으기 — 너무 떨어져 있던 것 */
.primary-nav{ margin-left:auto; }
.site-header .bar{ gap:1.4rem; }
.header-actions{ margin-left:0; }

/* 첫(홈) 히어로 오른쪽 정렬 */
.st-home-hero-inner{ margin-left:auto; margin-right:0; text-align:right; }
.st-home-hero .cta{ justify-content:flex-end; }

/* "이 아카이브에서 다루는 것": 01 + 제목 인라인, 숫자·둘러보기 라임 */
.zones .zone-title{ display:flex; align-items:baseline; gap:.5rem; }
.zones .zone-num{ color:var(--lime); font-family:var(--font-mono); font-size:.9rem; font-weight:600; letter-spacing:.04em; }
.zones .zone-link{ color:var(--lime); }

/* =========================================================
   헤더 메뉴+검색 정렬 / 빵부스러기 / 페이지 라벨
   ========================================================= */

/* ---------- 헤더: 로고 좌, 메뉴+검색 우측에 함께 묶기 ---------- */
.site-header .bar{ justify-content:flex-start; gap:0; }
.site-header .brand{ margin-right:auto; }      /* 로고 왼쪽 고정, 나머지 오른쪽으로 밀기 */
.primary-nav{ margin-right:1.8rem; margin-left:0; }   /* 메뉴와 검색 버튼 사이 간격 */
.header-actions{ gap:.6rem; }
@media (max-width:860px){
  .primary-nav{ margin-right:.8rem; }
}

/* ---------- 빵부스러기: 히어로 안에서 위에, 크기 키움 ---------- */
.st-page-hero .breadcrumb{
  margin:0 0 1.5rem;          /* 히어로 상단 */
  font-size:.95rem;           /* .78 → .95 */
  color:var(--text-variant);
}
.st-page-hero .breadcrumb a{ color:var(--text-variant); }
.st-page-hero .breadcrumb a:hover{ color:var(--lime); }

/* ---------- 페이지 히어로 라벨("사이트 소개"/"문의") 크기·색 ---------- */
.st-page-hero .st-flag-inline{
  font-size:1rem;             /* 작던 라벨 키움 */
  color:var(--cyan);
  margin-bottom:1rem;
}
.st-page-hero .st-dot{
  display:inline-block; width:9px; height:9px; border-radius:50%;
  background:var(--lime); margin-right:.45rem; vertical-align:middle;
}
.st-page-hero .lead{ font-size:1.15rem; color:var(--text-variant); margin-top:1rem; }

/* =========================================================
   글자 크게 / 라벨 색 통일 / 다루는것 / CTA 한줄 / 푸터 굵게
   (앞 fixes들보다 뒤 — 우선 적용)
   ========================================================= */

/* ---------- 라벨류 색을 헤더 메뉴 색(text-variant)으로 통일 ----------
   섹션 라벨·플래그·"전체 보기"·번호 등. (본문 링크/카테고리 칩은 제외) */
.st-flag-inline,
.st-feed-head .label-caps,
.st-feed-all,
.section-head .more,
.zones .zone .label-caps,
.mission-solo .label-caps,
.st-arch-flag,
.archive-head .label-caps,
.subscribe-cta .label-caps,
.st-page-hero .st-flag-inline{
  color:var(--text-variant) !important;
}

/* ---------- 작은 라벨 글자 키우기 ---------- */
.st-home-hero .st-flag-inline{ font-size:1.05rem; }   /* 히어로 "UFO·UAP 정보 아카이브" */
.mission-solo .label-caps{ font-size:1.05rem; }        /* "사이트 소개" */
.st-feed-head .label-caps{ font-size:1rem; }           /* "최신 목격 사례 · 뉴스 · 분석" */
.st-feed-all{ font-size:1rem; }                        /* "전체 보기" */
.section-head .more{ font-size:1rem; }

/* ---------- "아카이브에서 다루는 것" 제목 크게 ---------- */
.section-head h2{ font-size:1.9rem; }
#zones-title{ font-size:1.9rem; }

/* ---------- CTA 부제 한 줄 ---------- */
.subscribe-cta .sc-text{ min-width:0; }
.subscribe-cta .sc-text .text-muted{ white-space:nowrap; }
@media (max-width:900px){
  .subscribe-cta .sc-text .text-muted{ white-space:normal; }
}

/* ---------- 푸터: 작은 글씨들 굵게 + 키움 ---------- */
.site-footer .text-muted{ font-weight:600; font-size:1rem; }      /* "UFO 정보 아카이브 • …" */
.site-footer .copy{ font-weight:600; font-size:.9rem; }            /* "© 2026 UFOsNW." */
.site-footer .f-legal{ font-weight:600; }
.site-footer h4{ font-weight:600; }
.site-footer a{ font-weight:500; }

/* ---------- 사이트 배경(콘텐츠 영역) 단색 #0E1118 (헤더·푸터 제외) ---------- */
body{ background:#0E1118; }
/* 헤더(글래스)·푸터는 자체 배경 유지 */
.site-footer{ background:var(--bg-2); }

/* ---------- 홈 첫 히어로: 다른 섹션과 같은 컨테이너(가운데 1200px) + 좌측 정렬 ----------
   .container 중앙정렬을 유지해 콘텐츠 왼쪽선이 사이트 폭에 맞도록 (전체폭 끝 아님) */
.st-home-hero-inner{ max-width:var(--container); margin-left:auto; margin-right:auto; text-align:left; }
.st-home-hero .cta{ justify-content:flex-start; }

/* ---------- 다루는 것: 숫자(01·02·03) 크기를 제목 글자와 동일하게 ---------- */
.zones .zone-num{ font-size:1em; }

/* =========================================================
   블로그/문의 빵부스러기·사이즈 / 히어로 높이 / 버튼 / 푸터 가로배치
   ========================================================= */

/* 빵부스러기: 한 줄 + 메인 히어로 라벨 크기(1.05rem)와 동일 */
.breadcrumb,
.st-page-hero .breadcrumb{ font-size:1.05rem; white-space:nowrap; margin:0 0 1.2rem; }

/* 첫(홈) 히어로 높이 = 페이지 히어로 높이와 동일 */
.st-home-hero{ padding:clamp(5rem,12vh,8rem) 0 clamp(2.5rem,6vh,4rem); min-height:auto; }

/* 홈 첫 히어로 "소개 보기" 버튼 배경 = 히어로 라벨 글자색(text-variant) */
.st-home-hero .cta .btn--ghost{ background:var(--text-variant); color:#0A0A0A; border-color:var(--text-variant); }
.st-home-hero .cta .btn--ghost:hover{ background:var(--lime); color:#0A0A0A; border-color:var(--lime); }

/* 문의 히어로: 라임 아이콘 + h1/리드 크기를 블로그(UFO·UAP 글 / 설명)와 동일하게 */
.st-page-ico{ display:block; margin-bottom:.9rem; }
.st-page-ico svg{ display:block; }
.st-page-hero--contact .display-lg{ font-size:clamp(2rem,4vw + .8rem,3.25rem); line-height:1.18; }
.st-page-hero--contact .lead{ font-size:1rem; color:var(--text-muted); margin-top:.6rem; }

/* 푸터: 둘러보기·카테고리 하위 항목 가로 배치 */
.site-footer .f-browse ul,
.site-footer .f-cats ul{ flex-direction:row; flex-wrap:wrap; gap:.5rem 1.4rem; }

/* 푸터 사이트명 = 헤더 사이트명(라임·800·Pretendard·2rem) */
.site-footer .site-name{ font-family:'Pretendard Variable','Pretendard',sans-serif; font-weight:800; font-size:2rem; color:#fff; }

/* 컨테이너 넘침 방지 — grid blowout(min-width:auto) 방지 + 줄바꿈 (폭 강제 안 함) */
.st-about-grid > *, .st-contact-grid > *,
.blog-grid > *, .magazine > *, .feed-top > *, .feed-grid > *, .news-cards > *{ min-width:0; }
.st-about-main, .st-contact-main, .st-contact-solo .entry, .st-about-main .entry{ overflow-wrap:break-word; word-break:break-word; }
.st-about-main img, .st-contact-main img, .st-contact-solo img, .entry.content img{ max-width:100%; height:auto; }
.wpcf7-form input, .wpcf7-form textarea, .wpcf7-form select{ max-width:100%; box-sizing:border-box; }
/* 문의 본문은 좁은 읽기 폭 유지(760) — 직전 수정이 100%로 늘린 것 복원 */
.st-contact-solo{ max-width:760px; }

/* 소개·문의 히어로 띠를 헤더/푸터(1280)와 동일 폭으로 — 풀블리드 제거 */
.st-page-hero{ max-width:var(--container); margin-left:auto; margin-right:auto; }

/* ---------- 푸터: 정보 | (둘러보기/카테고리 스택), 각 행은 라벨+가로 항목 ---------- */
.site-footer .cols{ grid-template-columns:1.4fr 2.6fr; }
.site-footer .f-links{ display:flex; flex-direction:column; gap:1.3rem; }
.site-footer .f-browse, .site-footer .f-cats{ display:flex; align-items:baseline; gap:1.2rem; flex-wrap:wrap; }
.site-footer .f-browse h4, .site-footer .f-cats h4{ margin:0; flex-shrink:0; min-width:5rem; }
.site-footer .f-browse ul, .site-footer .f-cats ul{ flex-direction:row; flex-wrap:wrap; gap:.5rem 1.3rem; margin:0; }
@media (max-width:720px){
  .site-footer .cols{ grid-template-columns:1fr; }
  .site-footer .f-browse, .site-footer .f-cats{ gap:.3rem 1rem; }
  .site-footer .f-browse h4, .site-footer .f-cats h4{ min-width:0; width:100%; }
}

/* 문의 보내기 버튼: 중앙정렬 + 미렌더 아이콘(빈 <i>)·앞 공백 제거 */
.wpcf7-submit{ justify-content:center; gap:.4rem; text-align:center; }
.wpcf7-submit i:empty{ display:none; }

/* ---------- 홈 카드 hover = 블로그 카드(.glass--hover)와 동일 ----------
   lift(-2px) + 시안 보더 + 라임 글로우. 이미지 줌은 블로그와 동일하게 제거 */
.feed-card, .nc-item{ transition: transform var(--t-fast), border-color var(--t-fast), box-shadow var(--t-fast); }
.feed-card:hover, .nc-item:hover{
  transform:translateY(-2px);
  border-color:var(--lime);
  box-shadow:0 0 0 1px var(--glow-lime), 0 0 24px rgba(204,255,0,.10);
}
.feed-card:hover .fc-media img, .nc-item:hover .nc-media img{ transform:none; }

/* ---------- 헤더 사이트명: 라임(호버 흰색) + 더 굵게(Pretendard ExtraBold) + 검색 SVG ---------- */
.brand .name{ font-weight:800; font-family:'Pretendard Variable','Pretendard',sans-serif; color:#fff; transition:color var(--t-fast); }
.brand:hover .name{ color:#fff; }
.search-btn .search-ico{ flex-shrink:0; display:block; }

/* ---------- 헤더 배경 = 푸터와 동일(#050505 단색) ---------- */
.site-header{ background:var(--bg-2); }
.site-header.is-top{ background:var(--bg-2); border-bottom-color:var(--border); }

/* ---------- 각 섹션 경계선 (홈 .section-gap 사이 구분선) ---------- */
.section-gap{
  margin-top:0; margin-bottom:0;
  padding-top:clamp(3rem,6vw,5rem); padding-bottom:clamp(3rem,6vw,5rem);
  border-top:1px solid var(--border);
}

/* =========================================================
   소개(About) 페이지 섹션 스타일
   ========================================================= */
.about-page > section{ margin-top:var(--section-gap, 4rem); }
.about-page > section:first-child{ margin-top:2rem; }

/* 통계 바 */
.about-stats{ display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--border); border:1px solid var(--border); }
.about-stat{ background:var(--surface); padding:1.6rem 1.2rem; display:flex; flex-direction:column; gap:.4rem; align-items:flex-start; }
.about-stat .as-num{ font-family:var(--font-head); font-weight:700; color:var(--lime); font-size:1.9rem; line-height:1; }
.about-stat .as-label{ font-family:var(--font-mono); font-size:.85rem; color:var(--text-variant); letter-spacing:.03em; }
@media (max-width:768px){ .about-stats{ grid-template-columns:repeat(2,1fr); } }

/* 소개 본문 + 사이드 */
.about-intro{ margin-top:var(--section-gap,4rem); }
.about-intro .st-about-main h2{ font-size:1.6rem; margin:1.8rem 0 .8rem; }
.about-intro .st-about-main p, .about-intro .st-about-main li{ font-size:1.05rem; line-height:1.8; }

/* 차별점 카드 3열 */
.about-why-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:var(--gutter); }
.about-why-card{ padding:1.8rem 1.6rem; }
.about-why-card .awc-ico{ color:var(--lime); width:30px; height:30px; margin-bottom:1rem; }
.about-why-card h3{ font-family:var(--font-head); font-size:1.3rem; color:var(--text); margin:0 0 .7rem; }
.about-why-card p{ font-size:1rem; line-height:1.7; }
@media (max-width:900px){ .about-why-grid{ grid-template-columns:1fr; } }

/* 다루는 주제(zone 재활용, 링크화) */
.about-topics .zone{ display:block; text-decoration:none; padding:1.8rem 1.6rem; transition:border-color var(--t-fast); }
.about-topics .zone:hover{ border-color:var(--lime); }
.about-topics .zone-title{ font-size:1.4rem; margin:.6rem 0 .6rem; color:var(--text); }
.about-topics .zone:hover .zone-title{ color:var(--lime); }
.about-topics .zone-link{ display:inline-block; margin-top:1rem; color:var(--text-variant); }
.about-topics .zone:hover .zone-link{ color:var(--lime); }

/* CTA */
.about-cta-wrap .subscribe-cta{ padding:2rem 2.2rem; }

/* 헤더 바 좌우 패딩을 .container와 동일하게(반응형) — 1280↓에서 본문이 헤더보다 튀어나오던 것 수정 */
@media (max-width:1280px){ .site-header .bar{ padding:0 40px; } }
@media (max-width:768px){ .site-header .bar{ padding:0 20px; } }

/* =========================================================
   공통 서브 히어로 — 소개·블로그·문의·카테고리 일관성
   main.css 맨 끝에 추가 (앞 fixes들보다 뒤)
   (홈 .st-home-hero는 별도 — 더 크게 유지)
   ========================================================= */

/* 서브 히어로 공통 높이·여백 */
.sub-hero{
  position:relative; overflow:hidden;
  padding:clamp(4.5rem,10vh,7rem) 0 clamp(2.5rem,5vh,3.5rem);
  border-bottom:1px solid var(--border);
}
.sub-hero .container{ position:relative; z-index:2; }

/* 빵부스러기 — 히어로 맨 위, 일관된 위치 */
.sub-hero .breadcrumb{
  margin:0 0 1.4rem;
  font-size:.95rem;
  color:var(--text-variant);
}
.sub-hero .breadcrumb a{ color:var(--text-variant); }
.sub-hero .breadcrumb a:hover{ color:var(--lime); }

/* 칩(블로그/아카이브/소개/문의) — 동일 형태 (앞 칩 CSS와 일치) */
.sub-hero .st-flag-inline{
  display:inline-flex; align-items:center; gap:.4rem;
  background:var(--lime); color:#0A0A0A !important;
  font-family:var(--font-mono); font-weight:600; font-size:.9rem;
  letter-spacing:.04em; text-transform:none;
  padding:.35rem .8rem; margin-bottom:1.1rem;
}

/* 제목 — 동일 크기 */
.sub-hero .display-lg{
  font-size:clamp(2rem,4vw+.4rem,3rem);
  margin:0 0 1rem; color:var(--text);
}

/* 부제 — 동일 크기·색 */
.sub-hero .lead{
  font-size:1.15rem; line-height:1.6;
  color:var(--text-variant); max-width:640px; margin:0;
}
/* 카테고리 설명(div.lead > p)의 기본 여백 제거 → 4종 히어로 높이 일치 */
.sub-hero .lead > p{ margin:0; }
.sub-hero .lead > p + p{ margin-top:.6rem; }

/* 히어로 바로 뒤 본문 영역 상단 여백 */
.sub-hero + .page-wrap{ padding-top:2.5rem; }

/* 아카이브 본문 내 중복 빵부스러기 제거 */
.st-arch .breadcrumb{ display:none; }   /* 히어로로 이동했으니 본문 내 중복 제거 */

/* ---------- 빵부스러기 삭제됨 / ghost 버튼도 라임 배경으로 통일 ---------- */
.btn--ghost{
  background:var(--lime) !important;
  color:#0A0A0A !important;
  border-color:var(--lime) !important;
}
.btn--ghost:hover{
  background:var(--lime-dim) !important;
  border-color:var(--lime-dim) !important;
}

/* =========================================================
   소개(About) — 본문 1단 풀폭 + 운영원칙 별도 섹션 (신규)
   (about-stats/about-why/about-topics/about-cta는 기존 규칙 사용)
   ========================================================= */
.about-intro-solo{ max-width:820px; margin-top:var(--section-gap,4rem); }
.about-intro-solo .entry.content{ max-width:none; margin:0; }
.about-intro-solo h2{ font-size:1.6rem; margin:1.8rem 0 .8rem; }
.about-intro-solo h2:first-child{ margin-top:0; }
.about-intro-solo p, .about-intro-solo li{ font-size:1.05rem; line-height:1.8; }

.about-principles-sec{ margin-top:var(--section-gap,4rem); }
.principles-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:var(--gutter); }
.principles-grid > *{ min-width:0; }
.principle-card{ padding:1.5rem 1.4rem; }
.principle-card .pc-ico{ color:var(--lime); width:26px; height:26px; margin-bottom:.9rem; }
.principle-card h3{ font-family:var(--font-head); font-size:1.2rem; color:var(--text); margin:0 0 .5rem; }
.principle-card p{ font-size:.95rem; line-height:1.6; }
.principles-cta{ margin-top:1.6rem; }
@media (max-width:900px){ .principles-grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:560px){ .principles-grid{ grid-template-columns:1fr; } }

/* 메인 홈 "소개 보기"(.st-home-hero .cta .btn--ghost) 배경 흰색 — 글로벌 ghost 라임 override 제외 */
.st-home-hero .cta .btn--ghost{
  background:#fff !important; color:#0A0A0A !important; border-color:#fff !important;
}
.st-home-hero .cta .btn--ghost:hover{
  background:var(--lime) !important; color:#0A0A0A !important; border-color:var(--lime) !important;
}

/* =========================================================
   운영 원칙 사이드 박스 — 새 디자인 (sticky 유지)
   main.css 맨 끝에 추가
   ========================================================= */

/* 본문 + 사이드 그리드 (sticky 위치 유지) */
.about-intro.st-about-grid{
  display:grid; grid-template-columns:1fr 320px; gap:2.5rem; align-items:start;
  margin-top:var(--section-gap,4rem);
}
.about-intro .st-about-main{ max-width:none; }
.about-intro .st-about-main h2{ font-size:1.6rem; margin:1.8rem 0 .8rem; }
.about-intro .st-about-main h2:first-child{ margin-top:0; }
.about-intro .st-about-main p,
.about-intro .st-about-main li{ font-size:1.05rem; line-height:1.8; }
.about-intro .st-about-side{ position:sticky; top:96px; }   /* ★스크롤 따라오는 기능 유지 */

/* 운영 원칙 박스 */
.principles-box{
  border:1px solid var(--border);
  border-top:3px solid var(--lime);     /* 라임 상단 액센트 */
  background:#141414;
  padding:1.5rem 1.4rem;
}
.pb-head{ display:flex; align-items:center; gap:.5rem; margin-bottom:1.4rem; }
.pb-head .pb-dot{ width:7px; height:7px; border-radius:50%; background:var(--lime); flex-shrink:0; }
.pb-head span:last-child{
  font-family:var(--font-mono); font-size:.9rem; letter-spacing:.08em;
  text-transform:uppercase; color:var(--text); font-weight:600;
}

/* 원칙 항목 (번호 칩 + 제목 + 설명) */
.pb-list{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:1.1rem; }
.pb-list li{ display:flex; gap:.7rem; align-items:flex-start; }
.pb-num{
  font-family:var(--font-mono); font-size:.78rem; font-weight:600; line-height:1;
  color:var(--lime); background:rgba(204,255,0,.1);
  padding:.25rem .45rem; flex-shrink:0;
}
.pb-list li div{ display:flex; flex-direction:column; gap:.2rem; }
.pb-list strong{ color:var(--text); font-size:.95rem; font-weight:600; }
.pb-list span{ color:var(--text-muted); font-size:.85rem; line-height:1.5; }

/* CTA 버튼 (라임, 풀폭) */
.pb-cta{ display:flex; align-items:center; justify-content:center; gap:.4rem; width:100%; margin-top:1.5rem; }

/* 반응형: 모바일은 사이드를 본문 아래로, sticky 해제 */
@media (max-width:900px){
  .about-intro.st-about-grid{ grid-template-columns:1fr; }
  .about-intro .st-about-side{ position:static; }
}

/* =========================================================
   유틸리티 페이지 — 약관·개인정보·출처정책·사이트맵
   서브 히어로 통일 + 본문 가독성 + 사이트맵 링크색 교정
   main.css 맨 끝에 추가
   ========================================================= */

/* 본문 폭·여백 */
.util-page{ padding-top:2.5rem; }
.util-page .page-article{ max-width:820px; margin:0; }   /* 왼쪽 정렬 */
.util-page .page-article > .content,
.util-page .entry.content{ max-width:none; }

/* 제목/문단 간격 정리 */
.util-page h2{ font-size:1.5rem; margin:2rem 0 .8rem; color:var(--text); }
.util-page h3{ font-size:1.2rem; margin:1.5rem 0 .6rem; color:var(--text); }
.util-page p{ font-size:1.05rem; line-height:1.8; color:var(--text-variant); margin:0 0 1rem; }
.util-page ul, .util-page ol{ margin:0 0 1.3rem; padding-left:1.3rem; }
.util-page li{ font-size:1.05rem; line-height:1.9; color:var(--text-variant); }

/* 본문 링크(사이트맵 등) — 파란 기본색 → 사이트 톤 교정 */
.util-page a{
  color:var(--text-variant);
  text-decoration:none;
  border-bottom:1px solid var(--border-cyan, rgba(0,240,255,.35));
  transition:color var(--t-fast), border-color var(--t-fast);
}
.util-page a:hover{
  color:var(--lime);
  border-bottom-color:var(--lime);
}
/* 인라인 강조용 XML 링크 등은 시안 글자로 */
.util-page p > a[href$=".xml"]{ color:var(--cyan); }

/* 사이트맵 목록: 불릿 정리 */
.util-page .content ul{ list-style:none; padding-left:0; }
.util-page .content ul li{ position:relative; padding-left:1.1rem; }
.util-page .content ul li::before{
  content:"›"; position:absolute; left:0; color:var(--lime); font-weight:700;
}

/* ---------- 유틸리티 페이지 칩만 라임 배경 + 검정 글씨 ---------- */
.util-page-hero .st-flag-inline{
  background:var(--lime) !important;
  color:#0A0A0A !important;
}

/* ===== 홈 히어로 배경 이미지 + 호버(불투명→또렷) ===== */
.st-home-hero{
  position:relative;
  background-color:var(--bg);
  background-image:url('../img/hero-galaxy.webp');
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
  overflow:hidden;
}
/* 어두운 오버레이 — 평소엔 진하게(글자 가독성) */
.st-home-hero::before{
  content:""; position:absolute; inset:0; z-index:1;
  background:linear-gradient(180deg, rgba(10,10,10,.78) 0%, rgba(10,10,10,.88) 100%);
  pointer-events:none;
}
/* (호버 반응 제거 — 배경 고정) */
/* 콘텐츠·그레인은 오버레이 위로 */
.st-home-hero > *{ position:relative; z-index:2; }
.st-home-hero .container{ position:relative; z-index:2; }

/* 모바일: 호버 없음 → 적당히 어두운 상태로 고정(가독성) */
@media (hover:none), (max-width:768px){
  .st-home-hero::before{
    background:linear-gradient(180deg, rgba(10,10,10,.72) 0%, rgba(10,10,10,.85) 100%) !important;
  }
}

/* 메인 zones: 카드 전체를 링크로(앵커) — 밑줄 제거·색 상속, 호버 시 제목 라임 */
.zones a.zone{ text-decoration:none; color:inherit; }
.zones a.zone:hover .zone-title{ color:var(--lime); }
