/* ════════════════════════════════════════════════════════════
   X-NEO Modern Design — 세련되고 현대적인 시각 디테일
   ════════════════════════════════════════════════════════════
   - Sticky header + backdrop blur
   - 타이포그래피 정밀 (letter-spacing, kerning)
   - 카드 hover 부드러움 (cubic-bezier ease)
   - 마이크로 인터랙션 (스크롤 reveal, 버튼·링크 hover)
   - hero 미묘한 grid pattern (선택적)
   - 다크모드 정교화 (border glow, soft shadow)
   - 실제 B2B 측정기 사이트 (R&S/Keysight/Yokogawa) 톤
   ════════════════════════════════════════════════════════════ */

/* ─── 1. 타이포그래피 정밀 ─────────────────────────────── */
body { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; text-rendering: optimizeLegibility; }
h1, h2, h3, h4 { letter-spacing: -0.018em; }
h1 { font-feature-settings: "ss01", "kern"; }
.hero h1, .hero-title, .ai-hero h1 { letter-spacing: -0.022em; line-height: 1.1; }
.lead, .hero p, p.lead { font-feature-settings: "kern"; }

/* ─── 2. Sticky Header (스크롤 시 blur 배경) ───────────── */
header.site-header, header.header {
    position: sticky; top: 0; z-index: 200;   /* 충분히 높게 — hero 패턴/오버레이 위 */
    background: rgba(255,255,255,0.88);
    backdrop-filter: saturate(180%) blur(14px);
    -webkit-backdrop-filter: saturate(180%) blur(14px);
    border-bottom: 1px solid transparent;
    transition: border-color .25s ease, box-shadow .25s ease, background .25s ease;
    /* 안전: 헤더 내부 모든 요소가 클릭 가능하도록 */
    pointer-events: auto;
}
header.site-header *, header.header * { pointer-events: auto; }
header.site-header.is-scrolled, header.header.is-scrolled {
    border-bottom-color: rgba(11,31,58,0.08);
    box-shadow: 0 1px 0 rgba(11,31,58,0.04), 0 8px 24px rgba(11,31,58,0.04);
}
[data-theme="dark"] header.site-header, [data-theme="dark"] header.header {
    background: rgba(10,14,23,0.85);
    border-bottom-color: rgba(255,255,255,0.06);
}

/* nav 링크 — 클릭 영역 명확하게 */
.site-header__inner, .site-header > .container, .site-header {
    position: relative;
    z-index: 2;
}
.site-nav, .nav, header nav {
    position: relative;
    z-index: 3;
}
.site-nav a, .nav a, header nav a {
    position: relative;
    z-index: 4;
    pointer-events: auto !important;
    cursor: pointer;
    display: inline-block;
    padding: 6px 10px;   /* 클릭 영역 확보 */
}
.site-nav a.active, .nav a.active {
    color: #00D4FF;
    font-weight: 700;
}

/* 모바일: site-nav 도 숨기고 햄버거만 (.nav 만 잡혀있던 문제 해결) */
@media (max-width: 768px) {
    .site-nav, .site-header__inner > nav {
        display: none !important;
    }
    .site-header__inner > a.btn-primary {
        margin-left: auto;
    }
}

/* ─── 3. 카드 hover — 부드러운 lift + 액센트 라인 ────────── */
.card, .post-card, .case-card, .product-card, .feature-card,
.brand-card, .matrix-card, .sol-card, .case-full-card, .pc, .why-card {
    transition:
        transform .35s cubic-bezier(.16,1,.3,1),
        box-shadow .35s cubic-bezier(.16,1,.3,1),
        border-color .25s ease;
}
.card:hover, .post-card:hover, .case-card:hover,
.product-card:hover, .feature-card:hover, .brand-card:hover,
.matrix-card:hover, .sol-card:hover, .case-full-card:hover,
.pc:hover, .why-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 14px 32px rgba(11,31,58,0.10), 0 2px 6px rgba(11,31,58,0.04);
}

/* ─── 4. 버튼·링크 마이크로 인터랙션 ────────────────────── */
.btn-primary, .cta-btn, .btn-secondary, .channel-btn,
a[class*="primary"], a[class*="secondary"] {
    transition: transform .15s ease, box-shadow .25s ease, background-color .2s ease;
}
.btn-primary:hover, .cta-btn:hover, a.btn-primary:hover, a.cta-btn:hover {
    transform: translateY(-1px);
    box-shadow: 0 6px 16px rgba(0,212,255,0.20);
}
a:focus-visible, button:focus-visible {
    outline: 2px solid #00D4FF;
    outline-offset: 3px;
    border-radius: 4px;
}

/* 인라인 본문 링크 underline animation */
article a:not([class]), section p a:not([class]) {
    background-image: linear-gradient(currentColor, currentColor);
    background-size: 100% 1px;
    background-position: 0 100%;
    background-repeat: no-repeat;
    text-decoration: none;
    transition: background-size .25s ease;
}
article a:not([class]):hover, section p a:not([class]):hover {
    background-size: 100% 2px;
}

/* ─── 5. Hero 미묘한 dot grid 패턴 (선택적, opacity 낮음) ── */
section.hero, .hero, .products-hero, .blog-hero, .case-hero, .article-hero {
    position: relative;
    overflow: hidden;
}
section.hero::before, .hero::before, .products-hero::before,
.blog-hero::before, .case-hero::before, .article-hero::before {
    content: '';
    position: absolute; inset: 0;
    background-image:
        radial-gradient(circle, rgba(0,212,255,0.10) 1px, transparent 1.4px);
    background-size: 28px 28px;
    background-position: 0 0;
    pointer-events: none;
    z-index: 0;
    mask-image: radial-gradient(ellipse 80% 60% at 70% 20%, #000 30%, transparent 80%);
    -webkit-mask-image: radial-gradient(ellipse 80% 60% at 70% 20%, #000 30%, transparent 80%);
}
section.hero > *, .hero > *, .products-hero > *,
.blog-hero > *, .case-hero > *, .article-hero > * {
    position: relative; z-index: 1;
}
/* ai.html 은 자체 패턴 있음 — 중복 비활성 */
.ai-hero::before { background-image: none; }

/* ─── 6. 스크롤 reveal 애니메이션 (modern-design.js와 연동) ─ */
[data-reveal] {
    opacity: 0;
    transform: translateY(16px);
    transition: opacity .6s ease, transform .6s cubic-bezier(.16,1,.3,1);
    will-change: opacity, transform;
}
[data-reveal].is-visible {
    opacity: 1;
    transform: translateY(0);
}
@media (prefers-reduced-motion: reduce) {
    [data-reveal] { opacity: 1 !important; transform: none !important; transition: none !important; }
}

/* ─── 7. 다크모드 정교화 ────────────────────────────────── */
[data-theme="dark"] .card,
[data-theme="dark"] .post-card,
[data-theme="dark"] .case-card,
[data-theme="dark"] .product-card,
[data-theme="dark"] .feature-card,
[data-theme="dark"] .brand-card,
[data-theme="dark"] .matrix-card,
[data-theme="dark"] .sol-card,
[data-theme="dark"] .pc,
[data-theme="dark"] .why-card {
    box-shadow: 0 1px 0 rgba(255,255,255,0.04) inset, 0 8px 22px rgba(0,0,0,0.4);
}
[data-theme="dark"] .card:hover,
[data-theme="dark"] .post-card:hover,
[data-theme="dark"] .feature-card:hover,
[data-theme="dark"] .brand-card:hover,
[data-theme="dark"] .matrix-card:hover {
    box-shadow:
        0 1px 0 rgba(0,212,255,0.15) inset,
        0 14px 32px rgba(0,0,0,0.45),
        0 0 0 1px rgba(0,212,255,0.15);
    border-color: rgba(0,212,255,0.25);
}

/* ─── 8. 제품 카드 — 텍스트 중심 미니멀 (manufacturer-links.js 연동) ─ */
.x-product-list {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
    gap: 10px; margin-top: 16px;
}
.x-product-card {
    background: #fff;
    border: 1px solid #e3e8ef;
    border-radius: 10px;
    padding: 14px 16px;
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: center;
    gap: 10px;
    text-decoration: none; color: inherit;
    transition: transform .25s cubic-bezier(.16,1,.3,1), box-shadow .25s ease,
                border-color .15s ease, background-color .15s ease;
    position: relative;
}
.x-product-card:hover {
    transform: translateX(2px);
    border-color: #00D4FF;
    background: #fafdff;
    box-shadow: 0 6px 16px rgba(11,31,58,0.06);
}
.x-product-card .body { min-width: 0; }
.x-product-card .cat {
    display: inline-block;
    background: #f0f4fa; color: #1a3554;
    padding: 2px 8px; border-radius: 8px;
    font-size: 10px; font-weight: 700; letter-spacing: 0.4px;
    margin-bottom: 4px;
}
.x-product-card .mdl {
    font-family: 'JetBrains Mono','Consolas',monospace;
    color: #0B1F3A; font-weight: 700; font-size: 14px;
    letter-spacing: -0.01em;
    line-height: 1.25;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.x-product-card .nm {
    color: #6a7281; font-size: 12px;
    margin-top: 2px; line-height: 1.4;
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 1;
    line-clamp: 1;
    -webkit-box-orient: vertical;
}
.x-product-card .arrow {
    color: #cbd2dc;
    font-size: 18px;
    font-weight: 300;
    transition: color .15s ease, transform .2s ease;
}
.x-product-card:hover .arrow {
    color: #00D4FF;
    transform: translateX(3px);
}

/* 실제 사진이 있을 때 — 작은 썸네일 (44px) 좌측 */
.x-product-card.has-image {
    grid-template-columns: 44px 1fr auto;
}
.x-product-card.has-image .img-wrap {
    width: 44px; height: 44px;
    border-radius: 6px;
    overflow: hidden;
    background: #f0f4fa;
}
.x-product-card.has-image .img-wrap img {
    width: 100%; height: 100%; object-fit: cover; display: block;
}

[data-theme="dark"] .x-product-card {
    background: #14202f; border-color: #2a3548; color: #e1e8f0;
}
[data-theme="dark"] .x-product-card:hover {
    background: #1a2a3f; border-color: rgba(0,212,255,0.4);
}
[data-theme="dark"] .x-product-card .mdl { color: #fff; }
[data-theme="dark"] .x-product-card .cat { background: #1a3554; color: #cbd2dc; }
[data-theme="dark"] .x-product-card .arrow { color: #6a7281; }

/* 레거시 클래스 호환 (혹시 캐시된 페이지) */
.x-product-image-grid { display: grid; gap: 10px; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); }
.x-product-image-card { background: #fff; border: 1px solid #e3e8ef; border-radius: 10px; padding: 14px; text-decoration: none; color: inherit; }

/* ─── 9. 셀렉션 컬러 ───────────────────────────────────── */
::selection { background: rgba(0,212,255,0.25); color: #0B1F3A; }
[data-theme="dark"] ::selection { background: rgba(0,212,255,0.35); color: #fff; }

/* ─── 10. 스크롤바 (Webkit) ─────────────────────────────── */
::-webkit-scrollbar { width: 10px; height: 10px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: rgba(11,31,58,0.25); border-radius: 5px; }
::-webkit-scrollbar-thumb:hover { background: rgba(11,31,58,0.45); }
[data-theme="dark"] ::-webkit-scrollbar-thumb { background: rgba(255,255,255,0.18); }
[data-theme="dark"] ::-webkit-scrollbar-thumb:hover { background: rgba(255,255,255,0.32); }

/* ─── 11. 모션 절약 ───────────────────────────────────── */
@media (prefers-reduced-motion: reduce) {
    .card, .post-card, .case-card, .product-card, .feature-card,
    .brand-card, .matrix-card, .sol-card { transition: none !important; }
}

/* ─── 11.5 Lucide SVG 아이콘 스타일 ─────────────────────── */
.card .icon, .feature-card .icon-large, .matrix-card__icon, .why-card__icon,
.value-card .icon-row .icon, .pc__i, .key-point__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #00D4FF;  /* X-NEO 시안 액센트 */
    transition: color .2s ease, transform .25s cubic-bezier(.16,1,.3,1);
}
/* Phosphor Duotone SVG */
.card .icon svg.ph, .feature-card .icon-large svg.ph,
.matrix-card__icon svg.ph, .why-card__icon svg.ph,
.value-card .icon-row .icon svg.ph, .pc__i svg.ph,
.key-point__icon svg.ph {
    width: 1em;
    height: 1em;
    display: block;
}
/* 레거시 lucide fallback */
.card .icon svg.lucide, .feature-card .icon-large svg.lucide,
.matrix-card__icon svg.lucide, .why-card__icon svg.lucide,
.value-card .icon-row .icon svg.lucide, .pc__i svg.lucide,
.key-point__icon svg.lucide {
    width: 1em; height: 1em; display: block;
}
/* 큰 아이콘 — feature-card, why-card */
.feature-card .icon-large { font-size: 48px; }
.matrix-card__icon { font-size: 40px; }
.why-card__icon { font-size: 36px; }
.card .icon { font-size: 32px; }
.key-point__icon { font-size: 32px; }
.value-card .icon-row .icon { font-size: 20px; }
.pc__i { font-size: 32px; }

/* hover — 카드에 마우스 올리면 아이콘이 살짝 커지고 시안 → 보라 그라데이션 */
.card:hover .icon, .feature-card:hover .icon-large,
.matrix-card:hover .matrix-card__icon, .why-card:hover .why-card__icon,
.pc:hover .pc__i {
    transform: scale(1.08);
    color: #7C3AED;
}
[data-theme="dark"] .card .icon, [data-theme="dark"] .feature-card .icon-large,
[data-theme="dark"] .matrix-card__icon, [data-theme="dark"] .why-card__icon,
[data-theme="dark"] .pc__i { color: #4dd9ff; }

/* 아이콘에 미묘한 glow (다크 모드만) */
[data-theme="dark"] .feature-card .icon-large svg.ph,
[data-theme="dark"] .why-card__icon svg.ph,
[data-theme="dark"] .feature-card .icon-large svg.lucide,
[data-theme="dark"] .why-card__icon svg.lucide {
    filter: drop-shadow(0 0 12px rgba(0,212,255,0.35));
}

/* ─── 11.6 솔루션 매트릭스 카드 — 실사 썸네일 ────────────────── */
.matrix-card {
    overflow: hidden;
}
.matrix-card__thumb {
    position: relative;
    margin: -24px -24px 16px;   /* 카드 padding 상쇄 → 위·좌·우 풀폭 */
    aspect-ratio: 16 / 9;
    background: #f0f4fa center/cover no-repeat;
    overflow: hidden;
}
.matrix-card__thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform .5s cubic-bezier(.16,1,.3,1), filter .3s ease;
}
.matrix-card:hover .matrix-card__thumb img {
    transform: scale(1.04);
    filter: brightness(1.05);
}
/* 썸네일 위 그라데이션 오버레이 — 텍스트 가독성 위해 카드 안 차분한 톤 유지 */
.matrix-card__thumb::after {
    content: '';
    position: absolute; inset: 0;
    background: linear-gradient(180deg, rgba(11,31,58,0.06) 0%, rgba(11,31,58,0.22) 100%);
    pointer-events: none;
}
[data-theme="dark"] .matrix-card__thumb { background-color: #1a3554; }
[data-theme="dark"] .matrix-card__thumb::after {
    background: linear-gradient(180deg, rgba(0,0,0,0.18) 0%, rgba(0,0,0,0.42) 100%);
}

/* ─── 12. Hero Fallback (style.css에 없는 hero들에 기본 스타일 보장) ─ */
.edu-hero, .solutions-hero, .brands-hero, .cmp-hero, .showcase-hero,
.search-header, .rise-hero, .brand-detail-hero {
    background: linear-gradient(160deg, #0B1F3A 0%, #1a3554 100%);
    color: #fff;
    padding: 80px 24px;
    text-align: center;
    position: relative;
    overflow: hidden;
}
.edu-hero .container, .solutions-hero .container, .brands-hero .container,
.cmp-hero .container, .showcase-hero .container, .search-header .container,
.rise-hero .container, .brand-detail-hero .container {
    max-width: 1100px;
    margin: 0 auto;
    position: relative;
    z-index: 1;
}

/* edu-hero 자식 요소 — style.css에 정의 없음 */
.edu-hero__eyebrow {
    display: inline-block;
    font-size: 13px;
    letter-spacing: 2px;
    opacity: 0.85;
    text-transform: none;
    margin-bottom: 12px;
}
.edu-hero__title {
    font-size: clamp(28px, 5vw, 46px);
    line-height: 1.2;
    margin: 0 0 16px;
    font-weight: 700;
    color: #fff;
}
.edu-hero__highlight {
    color: #00D4FF;
    background: linear-gradient(90deg, #00D4FF, #7C3AED);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    -webkit-text-fill-color: transparent;
}
.edu-hero__description {
    font-size: 17px;
    line-height: 1.7;
    opacity: 0.94;
    max-width: 720px;
    margin: 0 auto 32px;
    color: #e3e8ef;
}
.edu-hero__description strong { color: #fff; }
.edu-hero__ctas {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
    justify-content: center;
}

/* sol-hero 자식 (이미 일부 페이지에 inline 있지만 fallback) */
.sol-hero .rise-hero__badge {
    display: inline-block;
    padding: 4px 14px;
    border-radius: 14px;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 1px;
    margin-bottom: 16px;
    background: rgba(255,255,255,0.18);
    color: #fff;
}

/* trust-bar fallback (edu) */
.edu-trust {
    padding: 28px 24px;
    background: #fafbfd;
}
.trust-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 16px 24px;
    justify-content: center;
    max-width: 1100px;
    margin: 0 auto;
}
.trust-item {
    font-size: 14px;
    color: #1a3554;
    font-weight: 600;
}
[data-theme="dark"] .edu-trust { background: #0a0e17; }
[data-theme="dark"] .trust-item { color: #cbd2dc; }

/* why-grid / why-card fallback */
.edu-why, .why-section { padding: 60px 24px; max-width: 1100px; margin: 0 auto; }
.why-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 20px;
    margin-top: 32px;
}
.why-card {
    background: #fff;
    border: 1px solid #e3e8ef;
    border-radius: 12px;
    padding: 24px;
}
.why-card__icon { font-size: 36px; margin-bottom: 12px; }
.why-card h3 { color: #0B1F3A; font-size: 17px; margin: 0 0 8px; }
.why-card p { color: #6a7281; font-size: 14px; line-height: 1.6; margin: 0; }
[data-theme="dark"] .why-card { background: #14202f; border-color: #2a3548; }
[data-theme="dark"] .why-card h3 { color: #fff; }
[data-theme="dark"] .why-card p { color: #b6c0d1; }

/* ─── 13. 브랜드 strip — Tektronix 벤치마킹 ────────────────────
   각 브랜드 카드:
     - 상단 4px 브랜드 컬러 stripe (정체성 시그널)
     - 모노그램 (첫글자) — 브랜드 컬러 배경
     - 브랜드명 (display 폰트)
     - 출신지 코드 (USA/DE/TW 등 — 이모지 국기 대체)
     - 전문 분야 1줄 (간결)
   ───────────────────────────────────────────────────────── */
.home-brands .brands-grid {
  grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
  gap: 14px;
}
.brand-item {
  position: relative;
  display: flex;
  flex-direction: column;
  padding: 18px 16px 16px;
  background: #fff;
  border: 1px solid #e3e8ef;
  border-radius: 12px;
  text-decoration: none;
  color: #0B1F3A;
  overflow: hidden;
  transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}
.brand-item::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 4px;
  background: var(--brand-color, #0B1F3A);
  transition: height 0.2s ease;
}
.brand-item:hover {
  transform: translateY(-3px);
  box-shadow: 0 8px 24px rgba(11, 31, 58, 0.10);
  border-color: var(--brand-color, #00D4FF);
}
.brand-item:hover::before { height: 6px; }

.brand-item__mono {
  width: 44px; height: 44px;
  display: flex; align-items: center; justify-content: center;
  background: var(--brand-color, #0B1F3A);
  color: white;
  font-family: var(--font-display, 'Inter', sans-serif);
  font-weight: 800;
  font-size: 20px;
  border-radius: 10px;
  margin-bottom: 12px;
  letter-spacing: -0.5px;
}
.brand-item__name {
  font-family: var(--font-display, 'Inter', sans-serif);
  font-size: 16px;
  font-weight: 700;
  margin: 0 0 4px;
  line-height: 1.2;
}
.brand-item__country {
  font-size: 11px;
  letter-spacing: 0.5px;
  color: #6a7281;
  text-transform: uppercase;
  font-weight: 600;
  margin: 0 0 8px;
}
.brand-item__spec {
  font-size: 12px;
  color: #6a7281;
  line-height: 1.4;
  margin: 0;
  flex: 1;
}
.brand-item__badge {
  display: inline-block;
  margin-top: 8px;
  padding: 2px 8px;
  background: rgba(0, 212, 255, 0.12);
  color: #006d8f;
  border-radius: 999px;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.3px;
  align-self: flex-start;
}

/* 다크 모드 */
[data-theme="dark"] .brand-item {
  background: #14202f;
  border-color: #2a3548;
  color: #f0f4fa;
}
[data-theme="dark"] .brand-item__country,
[data-theme="dark"] .brand-item__spec { color: #9aa6b8; }
[data-theme="dark"] .brand-item__badge {
  background: rgba(0, 212, 255, 0.18);
  color: #6ed4ff;
}

/* 모바일 — 2열 */
@media (max-width: 600px) {
  .home-brands .brands-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
  }
  .brand-item { padding: 14px 12px 12px; }
  .brand-item__mono { width: 36px; height: 36px; font-size: 16px; }
  .brand-item__name { font-size: 14px; }
  .brand-item__spec { font-size: 11px; }
}

/* ─── 14. SalesHub 비활성 폴백 카드 ────────────────────
   폼 제출이 백엔드 도달 못할 때 전화·이메일 안내 표시.
   사이트 어디서든 동일한 시각 정체성으로 노출.
─────────────────────────────────────────────────────── */
.x-fallback-card {
  background: linear-gradient(135deg, #fff 0%, #f7fafc 100%);
  border: 1px solid #e3e8ef;
  border-radius: 14px;
  padding: 24px 22px;
  margin: 16px 0;
  position: relative;
  overflow: hidden;
}
.x-fallback-card::before {
  content: '';
  position: absolute; top: 0; left: 0; right: 0;
  height: 4px;
  background: linear-gradient(90deg, #00D4FF 0%, #7C3AED 100%);
}
.x-fallback-card__title {
  font-family: var(--font-display, 'Inter', sans-serif);
  font-size: 18px;
  font-weight: 700;
  margin: 0 0 8px;
  color: #0B1F3A;
}
.x-fallback-card__msg {
  font-size: 14px;
  line-height: 1.55;
  color: #4a5568;
  margin: 0 0 18px;
}
.x-fallback-card__channels {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin-bottom: 12px;
}
@media (max-width: 480px) {
  .x-fallback-card__channels { grid-template-columns: 1fr; }
}
.x-fallback-card__btn {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 14px 16px;
  background: #fff;
  border: 1px solid #d9dfe7;
  border-radius: 10px;
  text-decoration: none;
  transition: all 0.2s ease;
}
.x-fallback-card__btn:hover {
  border-color: #00D4FF;
  background: #f5fbff;
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(11, 31, 58, 0.08);
}
.x-fallback-card__btn--phone:hover { border-color: #00674F; background: #f3faf6; }
.x-fallback-card__btn--email:hover { border-color: #7C3AED; background: #faf7ff; }
.x-fallback-card__label {
  font-size: 11px;
  letter-spacing: 0.4px;
  text-transform: uppercase;
  color: #6a7281;
  font-weight: 600;
}
.x-fallback-card__value {
  font-family: var(--font-display, 'Inter', sans-serif);
  font-size: 16px;
  font-weight: 700;
  color: #0B1F3A;
  letter-spacing: -0.2px;
}
.x-fallback-card__hours {
  font-size: 12px;
  color: #6a7281;
  margin: 0;
  text-align: center;
}

/* 다크모드 */
[data-theme="dark"] .x-fallback-card {
  background: linear-gradient(135deg, #14202f 0%, #0f1722 100%);
  border-color: #2a3548;
}
[data-theme="dark"] .x-fallback-card__title { color: #f0f4fa; }
[data-theme="dark"] .x-fallback-card__msg { color: #b6c0d1; }
[data-theme="dark"] .x-fallback-card__btn {
  background: #1a2433;
  border-color: #2a3548;
}
[data-theme="dark"] .x-fallback-card__btn:hover {
  background: #1f2b3d;
  border-color: #00D4FF;
}
[data-theme="dark"] .x-fallback-card__label { color: #9aa6b8; }
[data-theme="dark"] .x-fallback-card__value { color: #f0f4fa; }
[data-theme="dark"] .x-fallback-card__hours { color: #9aa6b8; }

/* ─── 7. 브랜드 상세 페이지 — Tek 스타일 강화 ─────────────
   각 브랜드 페이지에서 body[style*="--bd-color"] 로 컬러 전파
   ───────────────────────────────────────────────────────── */

/* Hero — 큰 모노그램 + 포지셔닝 줄 + 메타 */
.bd-mono-large {
  width: 90px; height: 90px;
  background: rgba(255,255,255,0.15);
  display: flex; align-items: center; justify-content: center;
  font-family: var(--font-display, 'Inter', sans-serif);
  font-weight: 800; font-size: 36px;
  border-radius: 16px;
  border: 2px solid rgba(255,255,255,0.25);
  margin-bottom: 20px;
  letter-spacing: -1px;
  color: #fff;
}
.bd-hero__tagline {
  font-size: 1.05rem;
  opacity: 0.85;
  margin: 12px 0 16px;
  line-height: 1.5;
  max-width: 720px;
}
.bd-hero__meta {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  font-size: 0.82rem;
  opacity: 0.85;
  margin: 0 0 16px;
}
.bd-hero__meta span {
  padding: 4px 12px;
  background: rgba(255,255,255,0.15);
  border-radius: 999px;
  letter-spacing: 0.3px;
  font-weight: 500;
}

/* 제품 카테고리 카드 — brand color stripe + 미니 모노 */
.pc, .product-cat-card {
  position: relative;
  padding-top: 24px !important;
  transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}
.pc::before, .product-cat-card::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 4px;
  background: var(--bd-color, #00D4FF);
  border-radius: 8px 8px 0 0;
}
.pc:hover, .product-cat-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 16px rgba(11,31,58,0.08);
  border-color: var(--bd-color, #00D4FF);
}
.pc__mono-mini, .product-cat-card__mono {
  width: 32px; height: 32px;
  background: var(--bd-color, #0B1F3A);
  color: #fff;
  display: inline-flex; align-items: center; justify-content: center;
  font-family: var(--font-display, 'Inter', sans-serif);
  font-weight: 700; font-size: 13px;
  border-radius: 8px;
  margin-bottom: 10px;
  letter-spacing: -0.3px;
}

/* 제품 카테고리 썸네일 — 공식 제품 실사 (흰 배경 제품샷) 공유 스타일 */
.pc__thumb {
  margin: -24px -16px 14px;   /* 카드 상단 풀블리드 (padding-top 24 상쇄) */
  aspect-ratio: 16 / 9;
  overflow: hidden;
  border-radius: 10px 10px 0 0;
  background: #ffffff;
  border-bottom: 1px solid var(--c-border, #e3e8ef);
  display: flex; align-items: center; justify-content: center;
}
.pc__thumb img {
  width: 100%; height: 100%;
  object-fit: contain;
  padding: 10px;
  display: block;
  transition: transform 0.4s ease;
}
.pc:hover .pc__thumb img { transform: scale(1.04); }
.pc__thumb + .pc__mono-mini { margin-top: 0; }
[data-theme="dark"] .pc__thumb { background: #f4f6f9; }

/* Key points / why us — 좌측 모노 + 브랜드 컬러 left border */
.why-card, .key-point {
  position: relative;
  border-left: 4px solid var(--bd-color, #00D4FF) !important;
  padding-left: 18px !important;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.why-card:hover, .key-point:hover {
  transform: translateX(2px);
  box-shadow: 0 4px 12px rgba(11,31,58,0.06);
}
.why-card__mono, .key-point__mono {
  width: 30px; height: 30px;
  background: var(--bd-color, #0B1F3A);
  color: #fff;
  display: inline-flex; align-items: center; justify-content: center;
  font-family: var(--font-display, 'Inter', sans-serif);
  font-weight: 700; font-size: 12px;
  border-radius: 7px;
  margin-bottom: 8px;
  letter-spacing: -0.2px;
}

/* 다크 모드 */
[data-theme="dark"] .pc::before,
[data-theme="dark"] .product-cat-card::before { opacity: 0.85; }
[data-theme="dark"] .bd-mono-large {
  background: rgba(255,255,255,0.10);
  border-color: rgba(255,255,255,0.20);
}
[data-theme="dark"] .bd-hero__meta span {
  background: rgba(255,255,255,0.10);
}

/* 모바일 — 모노 크기 조정 */
@media (max-width: 600px) {
  .bd-mono-large { width: 72px; height: 72px; font-size: 28px; border-radius: 14px; }
  .pc__mono-mini, .product-cat-card__mono { width: 28px; height: 28px; font-size: 12px; }
  .why-card__mono, .key-point__mono { width: 26px; height: 26px; font-size: 11px; }
}

/* ─── 14.5 홈 페르소나 4 진입 카드 (CSS 누락분 보강) ────────
   index.html .persona-grid / .persona-card 스타일 정의가 없어
   세로 1열 + 거대 이미지로 깨지던 것 수정.
─────────────────────────────────────────────────────────── */
.home-personas { margin: 56px auto; }
.persona-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 18px;
  margin-top: 28px;
}
.persona-card {
  display: flex;
  flex-direction: column;
  background: #fff;
  border: 1px solid #e3e8ef;
  border-radius: 14px;
  overflow: hidden;
  text-decoration: none;
  color: #0B1F3A;
  transition: transform 0.25s cubic-bezier(.16,1,.3,1), box-shadow 0.25s ease, border-color 0.2s ease;
}
.persona-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 14px 32px rgba(11,31,58,0.12);
  border-color: var(--persona-color, #00D4FF);
}
.persona-card__thumb {
  aspect-ratio: 16 / 10;
  overflow: hidden;
  background: var(--c-bg-muted, #eef2f7);
  position: relative;
}
.persona-card__thumb::after {
  content: '';
  position: absolute; inset: 0;
  background: linear-gradient(180deg, rgba(11,31,58,0) 55%, rgba(11,31,58,0.35) 100%);
}
.persona-card__thumb img {
  width: 100%; height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.45s ease;
}
.persona-card:hover .persona-card__thumb img { transform: scale(1.05); }
.persona-card h3 {
  font-family: var(--font-display, 'Inter', sans-serif);
  font-size: 18px;
  font-weight: 700;
  margin: 16px 18px 6px;
  line-height: 1.25;
}
.persona-card p {
  font-size: 13.5px;
  line-height: 1.5;
  color: #5a6573;
  margin: 0 18px 14px;
  flex: 1;
}
.persona-card__cta {
  margin: 0 18px 18px;
  font-size: 14px;
  font-weight: 600;
  color: var(--persona-color, #006d8f);
  transition: transform 0.2s ease;
}
.persona-card:hover .persona-card__cta { transform: translateX(4px); }

/* 페르소나별 액센트 컬러 (상단 thumb 위 4px 라인) */
.persona-card--school   { --persona-color: #2D7D32; }
.persona-card--industry { --persona-color: #0072BC; }
.persona-card--purchase { --persona-color: #7C3AED; }
.persona-card--maker    { --persona-color: #FF6B35; }
.persona-card::before {
  content: '';
  display: block;
  height: 4px;
  background: var(--persona-color, #00D4FF);
}

/* 다크 모드 */
[data-theme="dark"] .persona-card {
  background: #14202f;
  border-color: #2a3548;
  color: #f0f4fa;
}
[data-theme="dark"] .persona-card p { color: #9aa6b8; }

/* 반응형 — 태블릿 2열, 모바일 1열 */
@media (max-width: 980px) {
  .persona-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 520px) {
  .persona-grid { grid-template-columns: 1fr; }
  .persona-card__thumb { aspect-ratio: 16 / 8; }
}

/* ─── 15. 본문 콜아웃 (블로그·사례 강조) ─────────────────── */
.callout {
  position: relative;
  padding: 16px 18px 16px 56px;
  margin: 20px 0;
  border-radius: 10px;
  font-size: 15px;
  line-height: 1.6;
  border: 1px solid;
}
.callout::before {
  position: absolute;
  left: 12px;
  top: 14px;
  font-weight: 800;
  font-size: 11px;
  letter-spacing: 0.5px;
  padding: 3px 8px;
  border-radius: 4px;
  color: white;
}
.callout--info { background: #f0f9ff; border-color: #bae6fd; color: #0c4a6e; }
.callout--info::before { content: 'INFO'; background: #0284c7; }

.callout--warning { background: #fffbeb; border-color: #fde68a; color: #78350f; }
.callout--warning::before { content: '주의'; background: #d97706; }

.callout--success { background: #f0fdf4; border-color: #bbf7d0; color: #14532d; }
.callout--success::before { content: '확인'; background: #16a34a; }

.callout--tip { background: #f5f3ff; border-color: #ddd6fe; color: #4c1d95; }
.callout--tip::before { content: 'TIP'; background: #7c3aed; }

/* 리스트 내 인라인 체크 표시 (이모지 대체) */
.check-item { position: relative; padding-left: 24px; list-style: none; }
.check-item::before {
  content: '✓';
  position: absolute; left: 0; top: 0;
  color: #16a34a; font-weight: bold; font-size: 16px;
}
.text-checked { font-weight: 600; }
.text-checked::before { content: '✓ '; color: #16a34a; font-weight: bold; }

/* 테이블 셀 — 체크 마커 */
.cell-check {
  position: relative;
  padding-left: 32px !important;
  color: #075c2c;
  font-weight: 600;
}
.cell-check::before {
  content: '✓';
  position: absolute;
  left: 12px;
  color: #16a34a;
  font-weight: bold;
  font-size: 16px;
}

/* 다크모드 */
[data-theme="dark"] .callout--info { background: #0c1f30; border-color: #1e40af; color: #bae6fd; }
[data-theme="dark"] .callout--warning { background: #2a1a05; border-color: #92400e; color: #fde68a; }
[data-theme="dark"] .callout--success { background: #0a1e12; border-color: #166534; color: #bbf7d0; }
[data-theme="dark"] .callout--tip { background: #1a0f33; border-color: #5b21b6; color: #ddd6fe; }
[data-theme="dark"] .check-item::before { color: #4ade80; }
[data-theme="dark"] .text-checked::before { color: #4ade80; }
[data-theme="dark"] .cell-check { color: #bbf7d0; }
[data-theme="dark"] .cell-check::before { color: #4ade80; }
