/* ============================================================================
   interview-edit.css — 2026-08-05
   회장님 지적 「디자인이 여전히 AI스럽다」를 고친다.

   정본: bookgen/web/DESIGN-CANON.md — 수학 사이트(5.math-final)에서 실측해
   만든 처방을 이 사이트(면접끝판왕)에 같은 방식으로 적용한다.

   ── 고치기 전에 이 화면에서 실제로 잰 것 (Chromium·1280/360·default/inverse/cute) ──
     ㉠ 상자 37개가 전부 같았다.
        .card 31개 + .stat-card 6개, 전부 border-radius:16px(스탯 14px) ·
        동일한 3겹 그림자(onae-skin.css) · 1px 테두리. WHY·WHO·HOW IT WORKS·
        자료실·VOICES·PRODUCTS 여섯 절이 전부 같은 상자로 나열돼 있었다.
     ㉡ 강조색이 세 계열이었다.
        남색(--navy #143A6B, 로고·표제) · 산호/주황(--accent #E2431F 계열,
        버튼·태그·badge-terra) · 금색(--gold #B08A3E, 히어로 eyebrow·별점
        원래 #f5b841). 손대는 곳마다 색이 바뀌었다.
     ㉢ 위계가 크기뿐이었다.
        h2 24px/굵기750(세리프) — 전부 같은 계열, 전부 같은 무게였다.
     ㉣ 여백이 어디나 같았다.
        section 64px 고정, grid gap 18px 고정, card padding 24px 고정 —
        절이 바뀌어도 숨이 같았다.
     ㉤ 이모지 4개(텍스트 astral-plane 실측): 📥 📗 📚 📝.
     ㉥ 명암비 실측(contrast_audit.py, 6요소=3테마×2폭) — default/cute 0건,
        **inverse 테마에서 1건**: #cs-faq-widget .faq-help-block > .faq-title
        가 var(--onae-text)(반전에서 거의 흰색)를 쓰는데, faq-widget.css가
        2026-08-04부터 위젯 배경을 고정 흰색으로 칠하면서 짝이 깨졌다.
        실측 1.12 : 1(사실상 안 보임). faq-pair-fix.css ④ 규칙이 이 경우를
        놓쳤다 — 그 파일은 고치지 않고(바이트 불변 원칙) 여기서 명시도로 이긴다.
     ㉦ 360px 가로 넘침 : 0건 (html scrollWidth == clientWidth, 세 테마 모두).

   ── 울타리 ──────────────────────────────────────────────────────────────
     이 사이트는 math 의 body.home-page 같은 공용 클래스가 없다. index.html 은
     <body class="onae-themed"> 뿐이고 이 클래스는 모든 페이지가 공유한다.
     그래서 클래스를 새로 심는 대신, 홈 화면에만 있는 컨테이너를 :has() 로
     울타리 삼는다 — id="voices"(후기 절)는 index.html 에만 있다(전수 확인,
     tracks/*.html 9장에도 없음). HTML 은 한 글자도 바꾸지 않는다.

     본문 절 다섯 개(WHY·WHO·HOW IT WORKS·자료실·출처 안내)는 고유 id 가 없어
     section:nth-of-type(N) 으로 짚는다 — <script>·<div> 형제가 껴 있어도
     nth-of-type 은 같은 태그(section)끼리만 세므로 안전하다. 이 절의 개수나
     순서가 바뀌면 깨진다는 한계는 있다(정직하게 남긴다).

   ── 이 절이 맡는 것 (처방 여섯 항목) ────────────────────────────────────
     1. 상자는 누를 수 있는 것에만 — 카드 37개를 괘선(위/왼쪽 테두리)으로.
     2. 위계는 서체로 — 표제 세리프 900, 라벨 산세리프 11px 자간 .18em.
     3. 숫자는 고정폭 — 지표 숫자 5개, monospace + 강조색.
     4. 색은 하나 — #7A2E2E(벽돌) 하나. 남색·산호·금색을 벽돌로 모은다.
     5. 여백 리듬 고정 — 절 40px · 묶음 26px · 표제-설명 8px · 줄 10px.
     6. 이모지 0 — 정적 HTML 문자열에서는 4개(📥📗📚📝)를 셌다. 그런데 JS
        실행 후 다시 재보니 assets/onae-icons.js 가 이미 사이트 전체에서
        📗·📝 를 선(線) SVG 아이콘으로 자동 치환하고 있었다(📚 도 매핑은
        있으나 헤더 드롭다운 쪽은 타이밍 문제로 못 잡는다 — 아래 "못 고친 것"
        참고). 남는 것은 강조색 하나로 통일만 한다. 문장 중간에 섞인 📥
        (자료 다운로드, onae-icons.js 매핑에 없음)는 텍스트 노드라 CSS로는
        못 뗀다 — HTML 을 건드리지 않는 이번 작업의 한계로 남긴다.
   ========================================================================== */

/* ── 0. 이 사이트만의 색·서체 ─────────────────────────────────────────── */
body:has(#voices){
  --iv-accent:#7A2E2E;        /* 벽돌 — 흰 배경 위 9.30:1 */
  --iv-accent-hover:#642626;
  --iv-accent-tint:#F4EEEE;   /* 벽돌 8% 를 흰 지면에 섞은 옅은 판(위 글자 8.11:1) */
  --iv-ink:#16181C;
  --iv-ink-2:#3A3F47;
  --iv-ink-3:#5A6270;
  --iv-rule:#D8D0D4;          /* 절을 나누는 괘선(벽돌 톤을 15% 섞은 중립회색) */
  --iv-rule-2:#E7E1E3;        /* 줄을 나누는 옅은 괘선 */
  --iv-paper:#FFFFFF;
  --iv-serif:"Noto Serif KR","Noto Serif CJK KR","Nanum Myeongjo","AppleMyungjo","Batang",serif;
  --iv-mono:ui-monospace,"SFMono-Regular",Menlo,"DejaVu Sans Mono",monospace;
}

/* ── 1. 지면 — 세 테마 모두 밝은 지면으로 고정한다 ───────────────────────
   반전(inverse)·귀여운(cute) 테마에서도 이 화면은 흰 종이로 남긴다.
   math-contrast-fix.css 가 같은 화면 성격(지면 재구성)에 이미 내린 결정과
   같다. 배경과 글자색을 한 규칙 안에서 짝으로 준다. */
body:has(#voices),
[data-onae-theme="inverse"] body:has(#voices),
[data-onae-theme="cute"] body:has(#voices){
  background:#FFFFFF;
  color:#16181C;               /* on #FFFFFF = 17.77 : 1 */
}
body:has(#voices){ color-scheme:light; }

/* 1-1. onae-* 테마 변수를 밝은 지면 값으로 다시 잠근다 (실측 사고 대응)
   iv-pair-fix.css 47·55행과 legal/legal-widget.css 20행이 반전 테마에서
   var(--onae-text-muted)(#a7b2c2, 어두운 배경 전제)를 그대로 물려받는다.
   그 값을 쓰는 자리(섹션 설명문 .sec-head p, #ls-footer 안 사업자정보·약관
   링크)가 전부 여기서 강제한 흰 지면 위에 얹히면서 반전 테마에서
   1.97~2.14 : 1 로 떨어졌다(실측). 변수를 조상에서 다시 선언하면 그 값을
   쓰는 모든 자리가 한 번에 짝을 되찾는다 — 소비자마다 쫓아다니지 않는다. */
[data-onae-theme="inverse"] body:has(#voices),
[data-onae-theme="cute"] body:has(#voices){
  --onae-text:#16181C;         /* 17.77 : 1 */
  --onae-text-muted:#55606F;   /* 7.19 : 1 */
  --onae-brand:#7A2E2E;        /* 9.30 : 1 */
  --onae-on-brand:#FFFFFF;     /* --onae-brand 위에 얹는 글자. 반전 테마 원래값(#241A00)은
    호박색(#ffb020) 전제였다 — 벽돌 위에 얹으면 1.85:1(실측, 테마 스위처 버튼). */
  --onae-border:#E2E5EB;
  --onae-bg:#FFFFFF;
  --onae-bg-soft:#F7F8FA;
  --onae-bg-elev:#FFFFFF;
}

/* ══════════════════════════════════════════════════════════════════════
   2. 히어로 — 유일하게 남기는 「판」. 남색 그라디언트 → 벽돌 단색.
   ══════════════════════════════════════════════════════════════════════ */
body:has(#voices) .hero{
  background:#7A2E2E !important;   /* 흰 글자 9.30:1 */
}
body:has(#voices) .hero::after{ display:none !important }
body:has(#voices) .hero h1{
  font-family:var(--iv-serif);
  font-weight:900;
  letter-spacing:-.02em;
}
body:has(#voices) .hero h1 em{ font-style:normal; color:#F0C9BE }  /* on #7A2E2E = 6.86:1 */
body:has(#voices) .hero .eyebrow{
  background:rgba(255,255,255,.14);
  color:#FFFFFF !important;   /* onae-skin.css ⑦이 #FFC9AC !important 를 박아 두었다.
    그 값은 4.38:1(옅은 흰 판 위) — 새 배경(벽돌)에서는 근소 미달이라 흰색으로 올린다.
    on rgba(255,255,255,.14)+#7A2E2E 합성 = 6.48 : 1 */
  border:1px solid rgba(255,255,255,.34);
  font-family:var(--iv-mono);
  font-weight:600;
  letter-spacing:.02em;
}
body:has(#voices) .hero p.lead{ color:#EAD9D5 }        /* on #7A2E2E = 7.02:1 */
body:has(#voices) .hero .sub-note{ color:#D8BEB8 }     /* on #7A2E2E = 5.31:1 */
body:has(#voices) .hero .btn{
  background:#FFFFFF !important;
  color:#7A2E2E !important;      /* 9.30:1 */
  border:1px solid #FFFFFF !important;
  border-radius:2px !important;
  box-shadow:none !important;
}
body:has(#voices) .hero .btn:hover{ background:#F4EEEE !important }

/* ══════════════════════════════════════════════════════════════════════
   3. 지표 스트립 — 5개의 개별 상자(짙은 그라디언트·3겹 그림자)를
      괘선으로 나눈 하나의 띠로 만든다. 숫자는 고정폭.
   ══════════════════════════════════════════════════════════════════════ */
body:has(#voices) .strip.stat-cards{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:0;
  background:#16181C;
  border-radius:0;
  box-shadow:none;
  margin:34px 0 0;
  padding:0;
}
body:has(#voices) .stat-card{
  background:transparent !important;
  border:0 !important;
  border-left:1px solid rgba(255,255,255,.14) !important;
  border-radius:0 !important;
  box-shadow:none !important;
  min-height:0;
  padding:22px 18px 20px;
}
body:has(#voices) .stat-card:first-child{ border-left:0 !important }
body:has(#voices) .stat-card::before{ display:none !important }
body:has(#voices) .stat-card:hover{ transform:none !important; box-shadow:none !important }
body:has(#voices) .stat-card .sc-ico{
  color:#E7B9AE !important;      /* on #16181C = 10.11:1 */
  background:transparent !important;
  border:0 !important;
  width:28px !important; height:28px !important;
  margin-bottom:10px;
}
body:has(#voices) .stat-card .sc-in b,
body:has(#voices) .stat-card .sc-in b .stat-num{
  font-family:var(--iv-mono) !important;
  font-weight:700 !important;
  color:#FFFFFF !important;      /* on #16181C = 17.77:1 */
  -webkit-text-fill-color:#FFFFFF !important;
  font-size:2rem !important;
}
body:has(#voices) .stat-card .sc-in b em{ color:#E7B9AE !important; font-family:var(--iv-mono) !important }
body:has(#voices) .stat-card .sc-in > span{ color:#B9C0C9 !important; font-weight:600 !important }
body:has(#voices) .stat-card .sc-in small{ color:#9AA2AC !important }
@media(max-width:820px){
  body:has(#voices) .strip.stat-cards{ grid-template-columns:repeat(2,1fr) }
  body:has(#voices) .stat-card:nth-child(2n+1){ border-left:0 !important }
  body:has(#voices) .stat-card:nth-child(-n+2){ border-top:0 !important }
  body:has(#voices) .stat-card{ border-top:1px solid rgba(255,255,255,.14) !important }
}

/* ══════════════════════════════════════════════════════════════════════
   4. 절 표제 — 서체로 위계를 만든다 (세리프 900 / 라벨 산세리프 11px)
   ══════════════════════════════════════════════════════════════════════ */
body:has(#voices) .sec-head{ text-align:left; margin-bottom:26px }
body:has(#voices) .sec-head .tag{
  display:block;
  font-family:var(--onae-font-sans, "Pretendard", sans-serif);
  font-size:11px;
  font-weight:700;
  letter-spacing:.18em;
  color:#7A2E2E;                 /* 9.30:1 */
  margin-bottom:10px;
}
body:has(#voices) .sec-head h2{
  font-family:var(--iv-serif) !important;
  font-size:27px !important;
  font-weight:900 !important;
  letter-spacing:-.03em !important;
  line-height:1.34;
  color:#16181C !important;
  margin:0 0 8px;
}
body:has(#voices) .sec-head p{
  font-family:var(--onae-font-sans, "Pretendard", sans-serif);
  font-size:13.5px;
  color:#5A6270;                 /* 6.15:1 */
  margin:0;
  max-width:640px;
  margin-left:0; margin-right:0;
}
body:has(#voices) #lead-free-diagnosis .sec-head h2,
body:has(#voices) .hero h1{ color:inherit !important }

/* ══════════════════════════════════════════════════════════════════════
   5. 카드 해체 — main 절 안의 반복 카드를 괘선 칸으로 바꾼다.
      WHY(2) · WHO(5) · HOW IT WORKS(6) · 자료실(7) 은 nth-of-type 로 짚는다
      (형제 script/div 는 세지 않으므로 안전 — 위 울타리 설명 참고).
   ══════════════════════════════════════════════════════════════════════ */
body:has(#voices) section.section:nth-of-type(2) .grid,
body:has(#voices) section.section:nth-of-type(5) .grid,
body:has(#voices) section.section:nth-of-type(6) .grid,
body:has(#voices) section.section:nth-of-type(7) .grid,
body:has(#voices) #video-section .grid,
body:has(#voices) #voices .grid,
body:has(#voices) #voices + section .grid{
  gap:0 !important;
  border-top:1px solid var(--iv-rule);
}
body:has(#voices) section.section:nth-of-type(2) .grid > .card,
body:has(#voices) section.section:nth-of-type(5) .grid > .card,
body:has(#voices) section.section:nth-of-type(6) .grid > .card,
body:has(#voices) section.section:nth-of-type(7) .grid > .card,
body:has(#voices) #video-section .grid > .card,
body:has(#voices) #voices .grid > .card,
body:has(#voices) #voices + section .grid > .card{
  background:transparent !important;
  color:#16181C;
  border:0 !important;
  border-left:1px solid var(--iv-rule-2) !important;
  border-radius:0 !important;
  box-shadow:none !important;
  margin:0;
  padding:24px 22px;
  transform:none !important;
}
body:has(#voices) section.section:nth-of-type(2) .grid > .card:first-child,
body:has(#voices) section.section:nth-of-type(5) .grid > .card:first-child,
body:has(#voices) section.section:nth-of-type(6) .grid > .card:first-child,
body:has(#voices) section.section:nth-of-type(7) .grid > .card:first-child,
body:has(#voices) #video-section .grid > .card:first-child,
body:has(#voices) #voices .grid > .card:first-child,
body:has(#voices) #voices + section .grid > .card:first-child{
  border-left:0 !important;
  padding-left:0;
}
body:has(#voices) .card.link:hover,
body:has(#voices) .card[href]:hover,
body:has(#voices) a.card:hover{
  box-shadow:none !important;
  transform:none !important;
  border-color:var(--iv-rule) !important;
  background:var(--iv-accent-tint) !important;
}
/* 자료실은 4열 — 좁은 화면에서는 세로 괘선을 가로 괘선으로 */
@media(max-width:759px){
  body:has(#voices) section.section:nth-of-type(2) .grid > .card,
  body:has(#voices) section.section:nth-of-type(5) .grid > .card,
  body:has(#voices) section.section:nth-of-type(6) .grid > .card,
  body:has(#voices) section.section:nth-of-type(7) .grid > .card,
  body:has(#voices) #video-section .grid > .card,
  body:has(#voices) #voices .grid > .card,
  body:has(#voices) #voices + section .grid > .card{
    border-left:0 !important;
    border-top:1px solid var(--iv-rule-2) !important;
    padding:18px 0;
  }
  body:has(#voices) section.section:nth-of-type(2) .grid > .card:first-child,
  body:has(#voices) section.section:nth-of-type(5) .grid > .card:first-child,
  body:has(#voices) section.section:nth-of-type(6) .grid > .card:first-child,
  body:has(#voices) section.section:nth-of-type(7) .grid > .card:first-child,
  body:has(#voices) #video-section .grid > .card:first-child,
  body:has(#voices) #voices .grid > .card:first-child,
  body:has(#voices) #voices + section .grid > .card:first-child{
    border-top:0 !important;
    padding-top:0;
  }
}
/* 클릭 카드의 "→" 표식 — 강조색 하나로 */
body:has(#voices) .card.link::after,
body:has(#voices) .tappable::after{ color:#7A2E2E }
body:has(#voices) .card.link:hover::after,
body:has(#voices) .tappable:hover::after{ color:#7A2E2E }
/* hl / hl-blue / hl-gold — 세 가지 색 줄무늬였다. 괘선 칸이 되었으니 지운다 */
body:has(#voices) .card.hl,
body:has(#voices) .card.hl-blue,
body:has(#voices) .card.hl-gold{ border-top:0 !important }

/* 카드 안 아이콘 배지 — 산호/남색 두 계열 → 벽돌 한 계열 */
body:has(#voices) .card-icon-badge{
  background:var(--iv-accent-tint) !important;
  color:#7A2E2E !important;
  box-shadow:none !important;
  border:0 !important;
}
body:has(#voices) .card h3{
  font-family:var(--iv-serif);
  font-size:19px;
  font-weight:900;
  letter-spacing:-.025em;
  color:#16181C !important;  /* VIDEO 절 카드는 h3 에 style="color:var(--navy)" 인라인이
    박혀 있다(JS 템플릿). 인라인은 !important 없이는 못 이긴다. */
  margin-bottom:6px;
}
body:has(#voices) .card p{ color:#5A6270; font-size:.92rem }
/* .small.mut 는 손대지 않는다 — onae-skin.css 의 #525E73 !important(6.55:1, 흰/크림
   배경 모두에서 안전)가 이미 옳다. 여기서 다시 칠하려다 3.88:1 사고를 만들었었다(실측). */

/* HOW IT WORKS 절 번호 ①②③ — 고정폭 + 강조색으로 세운다 */
body:has(#voices) section.section:nth-of-type(6) .card .icon{
  font-family:var(--iv-mono);
  font-weight:700;
  font-size:1.3rem;
  color:#7A2E2E;
  margin-bottom:14px;
}

/* PRODUCTS 절 아이콘 3개(원문 📗📚📝) — 처음에는 여기서 숨기려 했다. 그런데
   렌더링(JS 실행 후)으로 다시 재보니 assets/onae-icons.js 가 이미 이 사이트
   전체에서 그림 이모지를 선(線) SVG 아이콘으로 자동 치환하고 있었다
   (walk() 이 body 전체 텍스트를 훑어 📗→book 선아이콘으로 바꾼다. 실측:
   .icon 의 innerHTML 이 <svg class="onae-ico" stroke="currentColor">…).
   그래서 지우는 대신 강조색 하나로 통일만 한다 — 지우면 이미 고쳐진 것을
   다시 없애는 셈이 된다(정적 HTML 문자열만 보고 지우려 한 것은 이번 작업의
   실수였다. 실행 후 화면을 다시 재서 바로잡았다). */
body:has(#voices) #voices + section .icon{ color:#7A2E2E }
body:has(#voices) #voices + section .icon .onae-ico{ width:26px; height:26px }
body:has(#voices) #voices + section .badge.soon{
  background:var(--iv-accent-tint);
  color:#7A2E2E;
  border-radius:2px;
}

/* ══════════════════════════════════════════════════════════════════════
   6. VOICES — 후기 카드를 인용문으로. 이 사이트의 결(「인용과 문답」)이
      가장 잘 드러나는 자리다. 별점은 금색 인라인(style="color:#f5b841")을
      강조색으로 통일한다(인라인은 명시도로 못 이겨 !important 를 쓴다).
   ══════════════════════════════════════════════════════════════════════ */
body:has(#voices) #voices .grid > .card{
  position:relative;
  padding:28px 24px 24px 30px;
}
body:has(#voices) #voices .grid > .card::before{
  content:"\201C";
  position:absolute;
  left:-2px; top:14px;
  font-family:var(--iv-serif);
  font-size:44px;
  font-weight:900;
  color:var(--iv-accent-tint);
  line-height:1;
}
body:has(#voices) #voices .card span[style*="color:#f5b841"]{
  color:#7A2E2E !important;      /* 9.30:1 */
  font-family:var(--iv-mono);
  letter-spacing:.06em;
}
/* onae-icons.js 가 ★ 다섯 개를 선(線) 별 SVG(fill:none)로 이미 바꿔 두었다.
   윤곽선만 있어 작은 크기에서는 속이 빈 점처럼 보인다(실측 스크린샷 확인).
   후기 절만 채운 별로 — 인용이 주인공인 이 사이트 결에 맞춘다. */
body:has(#voices) #voices .card span[style*="color:#f5b841"] svg{ fill:currentColor }
body:has(#voices) #voices .card h3{ margin-top:6px }
body:has(#voices) #voices .card p:last-child{
  color:#525E73 !important;      /* 6.55:1 — onae-skin.css 의 .mut 값과 통일 */
  font-size:.86rem;
  margin-top:10px;
}

/* ══════════════════════════════════════════════════════════════════════
   7. 어두운 CTA 판 두 곳(#lead-free-diagnosis, .cta-banner) —
      남색 판을 흰 지면 + 위쪽 굵은 괘선으로 되돌린다. 히어로 하나만
      「판」으로 남긴다는 원칙(위 2절)을 지킨다.
   ══════════════════════════════════════════════════════════════════════ */
body:has(#voices) #lead-free-diagnosis{
  background:#FFFFFF !important;
  border-top:2px solid #16181C;
  padding:40px 0 44px;
}
body:has(#voices) #lead-free-diagnosis .sec-head .tag{
  background:none !important;
  border:0 !important;
  color:#7A2E2E !important;
}
body:has(#voices) #lead-free-diagnosis .sec-head h2{ color:#16181C !important }
body:has(#voices) #lead-free-diagnosis .sec-head p{ color:#5A6270 !important }
body:has(#voices) #lead-free-diagnosis [data-growth-form],
body:has(#voices) #lead-free-diagnosis form{
  box-shadow:none;
  border:1px solid var(--iv-rule-2);
  border-radius:2px;
}
body:has(#voices) #lead-free-diagnosis button{
  background:#7A2E2E !important;
  border-radius:2px !important;
}
body:has(#voices) #lead-free-diagnosis button:hover{ background:#642626 !important }

body:has(#voices) .cta-banner{
  background:#FFFFFF !important;
  color:#16181C !important;
  border-top:2px solid #16181C;
  border-radius:0 !important;
  box-shadow:none !important;
  padding:36px 0 40px;
  text-align:left;
  margin:0;
}
body:has(#voices) .cta-banner h3{
  font-family:var(--iv-serif);
  font-weight:900;
  letter-spacing:-.02em;
  color:#16181C;
}
body:has(#voices) .cta-banner p{ color:#5A6270 }
body:has(#voices) .cta-banner .btn{
  background:#7A2E2E !important;
  border-radius:2px !important;
  box-shadow:none !important;
}
body:has(#voices) .cta-banner .btn:hover{ background:#642626 !important }

/* 출처 안내 판(src-block, 금색 배경) — 왼쪽 괘선 한 줄로 */
body:has(#voices) section.section:nth-of-type(8) .src-block{
  background:#FFFFFF;
  border:0;
  border-left:3px solid #7A2E2E;
  border-radius:0;
  color:#3A3F47;                 /* 10.60:1 */
  padding:14px 0 14px 18px;
}
body:has(#voices) section.section:nth-of-type(8) .src-block b{ color:#16181C }

/* ══════════════════════════════════════════════════════════════════════
   8. 버튼·칩 — 「누르는 것」은 상자로 남긴다. 모서리는 2px, 색은 하나.
   ══════════════════════════════════════════════════════════════════════ */
body:has(#voices) .btn{
  background:#7A2E2E !important;
  border:1px solid #7A2E2E !important;
  color:#FFFFFF !important;      /* 9.30:1 */
  border-radius:2px !important;
  box-shadow:none !important;
  font-weight:700;
}
body:has(#voices) .btn:hover{
  background:#642626 !important;
  border-color:#642626 !important;
  box-shadow:none !important;
  transform:translateY(-1px);
}
body:has(#voices) .btn.sec{
  background:#FFFFFF !important;
  color:#7A2E2E !important;
  border:1px solid var(--iv-rule) !important;
}
body:has(#voices) .btn.sec:hover{ background:var(--iv-accent-tint) !important; border-color:#7A2E2E !important }
body:has(#voices) .logo b{ color:#7A2E2E !important }

/* ══════════════════════════════════════════════════════════════════════
   9. 여백 리듬 — 절 40px · 묶음 26px · 표제-설명 8px · 줄 10px
      (전부 64px/18px/38px 로 같았던 것을 넷으로 나눈다)
   ══════════════════════════════════════════════════════════════════════ */
body:has(#voices) .section{ padding:40px 0 }
body:has(#voices) .section.alt{ background:#FFFFFF }
body:has(#voices) section.section + section.section,
body:has(#voices) section.section + div,
body:has(#voices) div + section.section{ border-top:1px solid var(--iv-rule) }
body:has(#voices) .hero + *{ border-top:0 !important }
body:has(#voices) #video-section{ border-top:0 }
body:has(#voices) .grid{ gap:26px }
body:has(#voices) #cs-faq{ border-top:1px solid var(--iv-rule) }

/* ══════════════════════════════════════════════════════════════════════
   10. FAQ 절 — 대비 실측(㉥)에서 발견한 사고를 여기서 짝맞춘다.
       faq-widget.css 가 위젯 배경을 고정 흰색으로 칠하는데(2026-08-04),
       faq-pair-fix.css ④ 규칙은 이 절 제목(.faq-help-block > .faq-title)의
       글자색을 테마 토큰(var(--onae-text))에 그대로 연결해 두었다.
       반전(inverse) 테마의 --onae-text 는 거의 흰색(#eef2f8)이라
       흰 배경 위 흰 글자 = 1.12:1(실측). 배경이 고정이니 글자도 고정해
       짝을 맞춘다. faq-pair-fix.css 바이트는 고치지 않고 여기서
       명시도(0,2,1 → 여기 0,3,1)로 이긴다. */
body:has(#voices) .faq-help-block > .faq-title{
  color:#0F172A !important;      /* on #FFFFFF(위젯 고정 배경) = 17.85:1 */
}
body:has(#voices) #cs-faq .sec-head h2{ margin-bottom:8px }

/* ── 11. 축소 화면(360px) — 지표 스트립 숫자 크기만 줄인다.
   360px 실측 넘침은 0건이었다(수정 전·후 공통 확인 대상). 다만 5칸을
   2열로 접을 때 monospace 숫자가 커서 줄바꿈이 생기지 않도록 여유를 둔다. */
@media(max-width:400px){
  body:has(#voices) .stat-card .sc-in b,
  body:has(#voices) .stat-card .sc-in b .stat-num{ font-size:1.6rem !important }
}

/* ── 12. 반전 테마 .tag — 하드코딩된 색과의 명시도 싸움 ───────────────────
   iv-pair-fix.css 47·57·136행이 반전 테마에서 .sec-head .tag 를 고정값
   #FF8A6B !important 로 박아 둔다(테마 배경 전제 — 위 1-1 에서 이미 밝은
   지면으로 고정했으므로 어긋난다. 실측 2.31:1). 이 값은 var() 가 아니라
   하드코딩이라 1-1 의 변수 재선언으로는 안 잡힌다. 선택자를 그쪽보다
   무겁게 써서 이긴다(그쪽 0,5,0 대 아래 0,6,1). */
[data-onae-theme="inverse"] body.onae-themed:has(#voices) section.section .sec-head .tag,
[data-onae-theme="inverse"] body.onae-themed:has(#voices) #cs-faq .sec-head .tag{
  color:#7A2E2E !important;      /* 9.30 : 1 */
}
