/* ══════════════════════════════════════
   가치담다 — STYLESHEET v3
   Brand: #E8541C (Orange) + #D9A24B (Gold)
   BG: #F5F0E6 (Beige) / #FAF7F0 (Cream)
   Text: #2A2522 (Dark Brown-Gray)
   ══════════════════════════════════════ */

:root {
  --orange:       #E8541C;
  --orange-dark:  #C94210;
  --orange-light: #FF7040;
  --orange-pale:  rgba(232,84,28,0.08);
  --orange-glow:  rgba(232,84,28,0.20);

  --gold:         #D9A24B;
  --gold-light:   #F0C878;
  --gold-pale:    rgba(217,162,75,0.12);

  --beige:        #F5F0E6;
  --cream:        #FAF7F0;
  --beige2:       #EDE8DC;

  --dark:         #2A2522;
  --dark2:        #1A1614;
  --dark-sec:     #111111;
  --gray:         #6E6560;
  --gray-light:   #A89F98;
  --gray-border:  #E0D8CE;
  --border:       rgba(42,37,34,0.1);
  --border-o:     rgba(232,84,28,0.22);
  --border-g:     rgba(217,162,75,0.25);

  --font-kr:   'Noto Sans KR', sans-serif;
  --font-en:   'Montserrat', sans-serif;
  --font-disp: 'Bebas Neue', sans-serif;

  --radius:    12px;
  --radius-lg: 20px;
  --radius-xl: 32px;
  --tr:        0.3s cubic-bezier(.25,.46,.45,.94);
  --tr-slow:   0.6s cubic-bezier(.25,.46,.45,.94);

  --max-w: 1300px;
  --nav-h: 72px;
}

/* ── RESET ── */
*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; font-size:16px; }
body {
  font-family: var(--font-kr);
  background: var(--beige);
  color: var(--dark);
  overflow-x: hidden;
  cursor: none;
  line-height: 1.65;
}
img { max-width:100%; display:block; }
a   { color:inherit; text-decoration:none; }
button { font-family:var(--font-kr); cursor:pointer; }
ul { list-style:none; }

/* ── SCROLLBAR ── */
::-webkit-scrollbar { width:4px; }
::-webkit-scrollbar-track { background:var(--cream); }
::-webkit-scrollbar-thumb { background:var(--orange); border-radius:2px; }

/* ── CONTAINER ── */
.container {
  max-width: var(--max-w);
  margin: 0 auto;
  padding: 0 44px;
}
@media (max-width:768px) { .container { padding:0 20px; } }

/* ── SECTION BACKGROUNDS ── */
.section-beige { background:var(--beige); }
.section-cream { background:var(--cream); }
.section-dark  { background:var(--dark-sec); color:#fff; }
section { padding:100px 0; }
@media (max-width:768px) { section { padding:70px 0; } }

/* ── SEC HEAD ── */
.sec-head { margin-bottom:60px; }
.sec-head.center { text-align:center; }
.sec-eyebrow {
  display:inline-block;
  font-family:var(--font-en);
  font-size:.72rem; font-weight:700;
  letter-spacing:.22em; text-transform:uppercase;
  color:var(--orange); margin-bottom:14px;
}
.sec-eyebrow--white { color:rgba(255,255,255,.5); }
.sec-title {
  font-size:clamp(2rem,3.8vw,2.9rem);
  font-weight:900; line-height:1.2; margin-bottom:16px;
}
.sec-title em { font-style:normal; color:var(--orange); }
.section-dark .sec-title { color:#fff; }
.sec-desc { font-size:1.05rem; color:var(--gray); line-height:1.7; }

/* ══════════════════════════════════════
   CURSOR
   ══════════════════════════════════════ */
.cursor {
  width:10px; height:10px;
  background:var(--orange); border-radius:50%;
  position:fixed; top:0; left:0;
  transform:translate(-50%,-50%);
  pointer-events:none; z-index:9999;
  transition:transform .1s ease, background .2s;
}
.cursor-ring {
  width:40px; height:40px;
  border:1.5px solid var(--orange); border-radius:50%;
  position:fixed; top:0; left:0;
  transform:translate(-50%,-50%);
  pointer-events:none; z-index:9998;
  opacity:.45;
  transition:width .3s, height .3s, opacity .3s;
}
body.ch .cursor       { transform:translate(-50%,-50%) scale(2.4); background:var(--gold); }
body.ch .cursor-ring  { width:58px; height:58px; border-color:rgba(217,162,75,.35); }

/* ══════════════════════════════════════
   LOADER
   ══════════════════════════════════════ */
.loader {
  position:fixed; inset:0;
  background:var(--beige);
  display:flex; align-items:center; justify-content:center;
  z-index:10000;
  transition:opacity .6s ease, visibility .6s ease;
}
.loader.hide { opacity:0; visibility:hidden; pointer-events:none; }
.loader-inner { text-align:center; }
.loader-logo-img {
  width: 260px;
  height: auto;
  margin: 0 auto 16px;
  object-fit: contain;
  display: block;
  /* 원본 로고가 흰 배경 — 로더(베이지) 위에 자연스럽게 */
  mix-blend-mode: multiply;
}
.loader-brand {
  font-size:1.8rem; font-weight:900;
  color:var(--dark); margin-bottom:28px;
  letter-spacing:-.02em;
}
.loader-bar-wrap {
  width:180px; height:3px;
  background:var(--gray-border); border-radius:2px; overflow:hidden; margin:0 auto;
}
.loader-bar {
  height:100%; background:linear-gradient(90deg,var(--orange),var(--gold));
  border-radius:2px; animation:loaderFill 1.6s ease forwards;
}
@keyframes loaderFill { from{width:0} to{width:100%} }

/* ══════════════════════════════════════
   SCROLL REVEAL
   ══════════════════════════════════════ */
.reveal-up {
  opacity:0; transform:translateY(30px);
  transition:opacity .7s ease, transform .7s ease;
}
.reveal-up.visible { opacity:1; transform:translateY(0); }

/* ══════════════════════════════════════
   BUTTONS
   ══════════════════════════════════════ */
.btn-orange {
  display:inline-flex; align-items:center; gap:8px;
  padding:14px 32px;
  background:var(--orange); color:#fff;
  font-weight:700; font-size:.95rem;
  border:none; border-radius:50px;
  transition:var(--tr); cursor:pointer; white-space:nowrap;
}
.btn-orange:hover {
  background:var(--orange-dark);
  transform:translateY(-2px);
  box-shadow:0 10px 30px rgba(232,84,28,.35);
}
.btn-orange.full { width:100%; justify-content:center; border-radius:var(--radius); }

.btn-line {
  display:inline-flex; align-items:center; gap:8px;
  padding:14px 32px;
  background:transparent; color:var(--dark);
  font-weight:700; font-size:.95rem;
  border:2px solid var(--gray-border); border-radius:50px;
  transition:var(--tr); white-space:nowrap;
}
.btn-line:hover {
  border-color:var(--orange); color:var(--orange); transform:translateY(-2px);
}

.btn-white {
  display:inline-flex; align-items:center; gap:8px;
  padding:14px 32px;
  background:#fff; color:var(--orange);
  font-weight:700; font-size:.95rem;
  border:none; border-radius:50px; transition:var(--tr);
}
.btn-white:hover { background:var(--cream); transform:translateY(-2px); }

.btn-kakao {
  display:inline-flex; align-items:center; gap:10px;
  padding:16px 28px;
  background:#FEE500; color:#3A1D1D;
  font-weight:700; font-size:1rem;
  border:none; border-radius:50px;
  transition:var(--tr); width:fit-content;
}
.btn-kakao:hover {
  background:#F0D600;
  transform:translateY(-2px);
  box-shadow:0 8px 24px rgba(254,229,0,.5);
}
.btn-kakao i { font-size:1.1rem; }

/* ══════════════════════════════════════
   NAVBAR
   ══════════════════════════════════════ */
.nav {
  position:fixed; top:0; left:0; right:0;
  height:var(--nav-h);
  display:flex; align-items:center; padding:0 44px; gap:28px;
  background:rgba(245,240,230,.92);
  backdrop-filter:blur(18px) saturate(1.4);
  -webkit-backdrop-filter:blur(18px) saturate(1.4);
  border-bottom:1px solid transparent;
  z-index:1000; transition:var(--tr);
}
.nav.scrolled {
  border-bottom-color:var(--gray-border);
  box-shadow:0 2px 20px rgba(42,37,34,.08);
}
.nav-logo { display:flex; align-items:center; }
.nav-logo-box { display:flex; align-items:center; }
/* 로고 원본: 가로형(약 16:9), 흰 배경 포함 */
.nav-logo-img {
  height: 44px;
  width: auto;
  max-width: 180px;
  object-fit: contain;
  object-position: left center;
  /* 흰 배경을 베이지/투명 nav 위에서 자연스럽게 blend */
  mix-blend-mode: multiply;
  display: block;
}
.nav-logo-text { display:none; }

.nav-links {
  display:flex; align-items:center; gap:2px;
  margin-left:auto; list-style:none;
}
.nav-link {
  padding:8px 14px; font-size:.88rem; font-weight:500;
  color:var(--gray); border-radius:8px; transition:var(--tr); white-space:nowrap;
}
.nav-link:hover, .nav-link.active { color:var(--dark); background:var(--beige2); }
.nav-link--cta {
  background:var(--orange) !important; color:#fff !important;
  font-weight:700; padding:8px 20px; border-radius:50px;
}
.nav-link--cta:hover {
  background:var(--orange-dark) !important;
  box-shadow:0 4px 14px rgba(232,84,28,.35);
  transform:translateY(-1px);
}

/* 유튜브 채널 페이지 네비 버튼 */
.nav-links li {
  display: flex;
  align-items: center;
  gap: 2px;
}
.nav-yt-page-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px; height: 24px;
  border-radius: 6px;
  color: rgba(255,0,0,.5);
  font-size: .8rem;
  transition: color .2s, background .2s;
  text-decoration: none;
}
.nav-yt-page-btn:hover {
  color: #FF0000;
  background: rgba(255,0,0,.07);
}

/* 홈페이지무료 네비 링크 */
.nav-link--freeweb {
  display:inline-flex; align-items:center; gap:3px;
  background:linear-gradient(135deg, rgba(232,84,28,.12), rgba(124,58,237,.08));
  border:1px solid rgba(232,84,28,.22);
  border-radius:20px;
  padding:4px 12px !important;
  color:rgba(232,84,28,.85) !important;
  font-size:.76rem !important;
  animation: freeWiggle 3s ease infinite;
  transition:all .22s !important;
}
.nav-link--freeweb:hover {
  background:linear-gradient(135deg,rgba(232,84,28,.2),rgba(124,58,237,.12)) !important;
  border-color:rgba(232,84,28,.4) !important;
  color:var(--orange) !important;
  transform:translateY(-1px) !important;
}
@keyframes freeWiggle {
  0%,100%{ transform:rotate(0deg); }
  10%{ transform:rotate(-2deg); }
  20%{ transform:rotate(2deg); }
  30%{ transform:rotate(0deg); }
}

/* 포트폴리오 네비 링크 */
.nav-link--portfolio {
  display:inline-flex; align-items:center; gap:3px;
  background:rgba(232,84,28,.08);
  border:1px solid rgba(232,84,28,.18);
  border-radius:20px;
  padding:4px 12px !important;
  color:rgba(232,84,28,.8) !important;
  font-size:.78rem !important;
  transition:all .22s !important;
}
.nav-link--portfolio:hover {
  background:rgba(232,84,28,.15) !important;
  border-color:rgba(232,84,28,.38) !important;
  color:var(--orange) !important;
}

.nav-right { display:flex; align-items:center; gap:14px; }
.lang-wrap  { display:flex; align-items:center; gap:3px; }
.lang-sep   { color:var(--gray-border); font-size:.8rem; }
.lang-btn {
  background:none; border:none;
  font-size:.73rem; font-weight:700;
  font-family:var(--font-en); letter-spacing:.05em;
  color:var(--gray-light); padding:4px 6px; border-radius:4px; transition:var(--tr);
}
.lang-btn:hover, .lang-btn.active { color:var(--orange); }

.hamburger {
  display:none; flex-direction:column; justify-content:center; align-items:center;
  width:40px; height:40px;
  background:none; border:none; gap:6px; border-radius:8px; transition:var(--tr);
}
.hamburger:hover { background:var(--beige2); }
.hamburger span {
  display:block; width:22px; height:2px;
  background:var(--dark); border-radius:2px; transition:var(--tr);
}
.hamburger.open span:nth-child(1) { transform:translateY(8px) rotate(45deg); }
.hamburger.open span:nth-child(2) { opacity:0; transform:scaleX(0); }
.hamburger.open span:nth-child(3) { transform:translateY(-8px) rotate(-45deg); }

@media (max-width:1100px) {
  .nav-links { display:none; }
  .hamburger { display:flex; }
  .nav { padding:0 20px; }
}

/* ══════════════════════════════════════
   DRAWER
   ══════════════════════════════════════ */
.drawer {
  position:fixed; top:0; right:0;
  width:min(320px,92vw); height:100%;
  background:var(--cream);
  box-shadow:-8px 0 40px rgba(42,37,34,.14);
  z-index:1100; transform:translateX(100%);
  transition:transform .4s cubic-bezier(.4,0,.2,1); overflow-y:auto;
}
.drawer.open { transform:translateX(0); }
.drawer-overlay {
  position:fixed; inset:0; background:rgba(42,37,34,.45);
  z-index:1099; opacity:0; visibility:hidden;
  transition:opacity .4s ease, visibility .4s ease;
}
.drawer-overlay.show { opacity:1; visibility:visible; }
.drawer-inner {
  padding:28px 28px 40px;
  display:flex; flex-direction:column; gap:22px; min-height:100%;
}
.drawer-logo { display:flex; align-items:center; }
.drawer-logo img,
.drawer-logo-img {
  height: 52px;
  width: auto;
  max-width: 200px;
  object-fit: contain;
  object-position: left center;
  /* 드로어 배경(흰/베이지)에서 자연스럽게 */
  mix-blend-mode: multiply;
  display: block;
}
.drawer-logo-text { display:none; }
.drawer-links { display:flex; flex-direction:column; gap:3px; }
.dr-link {
  display:block; padding:13px 16px;
  font-size:1rem; font-weight:600; color:var(--dark);
  border-radius:var(--radius); border-left:3px solid transparent; transition:var(--tr);
}
.dr-link:hover {
  background:var(--beige); border-left-color:var(--orange); color:var(--orange);
}
.drawer-lang {
  display:flex; align-items:center; gap:6px;
  border-top:1px solid var(--gray-border); padding-top:18px;
}
.drawer-cta {
  display:block; text-align:center; padding:16px;
  margin-top:auto; border-radius:var(--radius); font-size:1rem;
}

/* ══════════════════════════════════════
   ① HERO
   ══════════════════════════════════════ */
.hero {
  position:relative; min-height:100svh;
  display:flex; align-items:center;
  padding-top:var(--nav-h); background:var(--beige); overflow:hidden;
}
#particleCanvas {
  position:absolute; inset:0; width:100%; height:100%;
  pointer-events:none; opacity:.45;
}
.hero-grid {
  position:relative; z-index:1;
  max-width:var(--max-w); margin:0 auto;
  padding:80px 44px;
  display:grid; grid-template-columns:1fr 1fr;
  gap:64px; align-items:center; width:100%;
}

.hero-left { display:flex; flex-direction:column; gap:26px; }
.hero-badge {
  display:inline-flex; align-items:center; gap:8px;
  padding:8px 18px;
  background:rgba(217,162,75,.12); border:1px solid var(--border-g);
  border-radius:50px; font-size:.8rem; font-weight:700;
  color:var(--gold); font-family:var(--font-en); letter-spacing:.06em;
  width:fit-content;
}
.badge-dot {
  width:7px; height:7px; background:var(--gold); border-radius:50%;
  animation:blink 1.4s infinite;
}
@keyframes blink { 0%,100%{opacity:1} 50%{opacity:.3} }

.hero-headline {
  display:flex; flex-direction:column; gap:8px; line-height:1.1;
}
.hl { display:block; font-weight:900; font-family:var(--font-kr); letter-spacing:-.02em; }
.hl--num {
  font-size:clamp(3rem,5.5vw,4.8rem); color:var(--orange);
}
.hl--num em { font-style:normal; font-size:.5em; color:var(--dark); font-weight:900; }
.hl--main {
  font-size:clamp(1.8rem,3vw,2.6rem); color:var(--dark);
}
.hl--sub {
  font-size:clamp(1.1rem,1.8vw,1.5rem); color:var(--gray); font-weight:700;
}

.hero-sub {
  font-size:1.1rem; color:var(--gray); line-height:1.75;
  padding-left:16px; border-left:3px solid var(--orange);
}
.hero-cta { display:flex; align-items:center; flex-wrap:wrap; gap:12px; }

.hero-stats {
  display:flex; align-items:center; gap:20px;
  padding:20px 24px;
  background:var(--cream); border:1px solid var(--gray-border);
  border-radius:var(--radius-lg); width:fit-content;
}
.hst { text-align:center; }
.hst-n {
  display:block; font-family:var(--font-en);
  font-size:1.9rem; font-weight:900; color:var(--orange); line-height:1;
}
.hst span { font-size:.9rem; color:var(--gray); font-weight:500; display:block; margin-top:4px; }
.hst-div { width:1px; height:40px; background:var(--gray-border); }

/* ── Hero Right — 히어로 메인 영상 ── */
.hero-right {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}
.hero-photo-stack {
  position: relative;
  width: 100%;
  max-width: 560px;   /* 영상이니 조금 더 크게 */
}

/* 기본 사진 프레임 */
.hero-photo-main {
  position: relative;
  border-radius: var(--radius-xl);
  overflow: hidden;
  box-shadow:
    0 2px 0 rgba(255,255,255,.6),
    0 4px 12px rgba(42,37,34,.08),
    0 20px 52px rgba(42,37,34,.18),
    0 48px 96px rgba(42,37,34,.16),
    0 8px 40px rgba(232,84,28,.14);
  aspect-ratio: 4/3;
}

/* ── 히어로 영상 전용 스타일 ── */
.hero-video-main {
  aspect-ratio: 9/16;          /* 세로 영상 비율 — 더 크고 임팩트 있게 */
  border-radius: 28px;
  /* 빛이 쏟아지는 듯한 강렬한 그림자 */
  box-shadow:
    0 2px 0 rgba(255,255,255,.5),
    0 6px 20px rgba(42,37,34,.10),
    0 24px 64px rgba(42,37,34,.22),
    0 60px 120px rgba(42,37,34,.18),
    0 12px 56px rgba(232,84,28,.18),
    0 0 0 1px rgba(232,84,28,.08);
  border: 1px solid rgba(255,255,255,.35);
}

/* 영상 요소 */
.hero-vid {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
  display: block;
  border-radius: inherit;
  filter: contrast(1.06) saturate(1.10) brightness(1.02);
  transition: filter .6s ease;
}
.hero-video-main:hover .hero-vid {
  filter: contrast(1.09) saturate(1.14) brightness(1.04);
}

/* 영상 위 미묘한 비네트 오버레이 */
.hero-vid-overlay {
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background:
    linear-gradient(
      to bottom,
      rgba(26,22,20,.04) 0%,
      transparent 25%,
      transparent 65%,
      rgba(26,22,20,.28) 100%
    ),
    radial-gradient(
      ellipse 100% 100% at 50% 50%,
      transparent 55%,
      rgba(26,22,20,.12) 100%
    );
  z-index: 1;
  pointer-events: none;
}

/* 기존 사진용 비네트 (호환) */
.hero-photo-main::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to bottom,
    transparent 55%,
    rgba(26,22,20,.16) 100%
  );
  border-radius: inherit;
  z-index: 1;
  pointer-events: none;
}

/* 레이블 */
.hero-photo-label {
  position: absolute;
  bottom: 16px;
  left: 16px;
  z-index: 3;
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 16px;
  background: rgba(26,22,20,.78);
  backdrop-filter: blur(12px) saturate(1.5);
  -webkit-backdrop-filter: blur(12px) saturate(1.5);
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 50px;
  color: #fff;
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .02em;
  box-shadow:
    0 2px 12px rgba(0,0,0,.25),
    inset 0 1px 0 rgba(255,255,255,.08);
}
.hero-photo-label i { color: var(--gold); }

/* LIVE 점멸 도트 */
.hero-live-dot {
  width: 7px; height: 7px;
  border-radius: 50%;
  background: #FF4444;
  box-shadow: 0 0 6px rgba(255,68,68,.8);
  animation: live-pulse 1.4s ease infinite;
  flex-shrink: 0;
}
@keyframes live-pulse {
  0%, 100% { opacity: 1; transform: scale(1);   box-shadow: 0 0 6px rgba(255,68,68,.8); }
  50%       { opacity: .6; transform: scale(1.4); box-shadow: 0 0 12px rgba(255,68,68,.5); }
}

/* 이미지 폴백 (기존 호환) */
.hero-img {
  width: 100%; height: 100%;
  object-fit: cover;
  object-position: center 40%;
}
.hero-img:not([src]), .hero-img[src=""] {
  background: linear-gradient(135deg, var(--beige2), var(--orange-pale));
  min-height: 300px;
}

/* Float badges — 영상 주변 배지 위치 조정 */
.float-badge--1 { top: 6%;   left: -24px; }
.float-badge--2 { top: 45%;  right: -20px; }
.float-badge--3 { bottom: 6%; left: 10%; }

/* Float badges */
.float-badge {
  position:absolute;
  display:flex; align-items:center; gap:8px;
  padding:10px 16px;
  background:var(--cream); border:1px solid var(--gray-border);
  border-radius:50px; font-size:.8rem; font-weight:700; color:var(--dark);
  box-shadow:0 8px 24px rgba(42,37,34,.12);
  white-space:nowrap; animation:floatBob 3s ease-in-out infinite;
}
.float-badge i { color:var(--orange); }
.float-badge--1 { top:8%;   left:-20px; animation-delay:0s; }
.float-badge--2 { top:50%;  right:-16px; animation-delay:.9s; }
.float-badge--3 { bottom:8%; left:8%; animation-delay:1.7s; }
@keyframes floatBob { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-8px)} }

.hero-scroll {
  position:absolute; bottom:36px; left:50%; transform:translateX(-50%);
  display:flex; flex-direction:column; align-items:center; gap:8px;
  font-size:.7rem; font-family:var(--font-en); font-weight:700; letter-spacing:.15em;
  color:var(--gray-light); z-index:5;
}
.scroll-mouse {
  width:22px; height:34px; border:2px solid var(--gray-border);
  border-radius:11px; display:flex; justify-content:center; padding-top:5px;
}
.scroll-wheel {
  width:4px; height:6px; background:var(--orange); border-radius:2px;
  animation:scrollWheel 1.6s ease infinite;
}
@keyframes scrollWheel {
  0%{transform:translateY(0);opacity:1}
  80%{transform:translateY(10px);opacity:0}
  100%{transform:translateY(0);opacity:1}
}

/* ══════════════════════════════════════
   HERO CINEMATIC — 풀스크린 배경 영상
   ══════════════════════════════════════ */

/* 섹션 전체 — 100vh 풀스크린 */
.hero--cinematic {
  position: relative;
  min-height: 100svh;
  height: 100svh;
  display: flex;
  align-items: flex-end;          /* 콘텐츠를 하단에 정렬 */
  padding: 0;
  background: #0a0806;
  overflow: hidden;
}

/* ① 배경 영상 래퍼 */
.hero-bg-video-wrap {
  position: absolute;
  inset: 0;
  z-index: 0;
  overflow: hidden;
}
.hero-bg-video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center center;  /* 전체 샷 — 영상 전체 보이도록 */
  background: #000;
  filter: brightness(.85) contrast(1.05) saturate(1.08);
  transform: scale(1.0);
  transition: transform 8s ease;
  will-change: transform;
}
.hero--cinematic:hover .hero-bg-video {
  transform: scale(1.0);
}


/* 그라디언트 오버레이 — 3레이어 */
.hero-bg-overlay {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(
      ellipse 120% 80% at 50% 50%,
      transparent 30%,
      rgba(10,8,6,.35) 100%
    );
}
.hero-bg-gradient-bottom {
  position: absolute;
  bottom: 0; left: 0; right: 0;
  height: 70%;
  background: linear-gradient(
    to top,
    rgba(10,8,6,.95) 0%,
    rgba(10,8,6,.72) 30%,
    rgba(10,8,6,.30) 60%,
    transparent 100%
  );
}
.hero-bg-gradient-left {
  position: absolute;
  top: 0; left: 0; bottom: 0;
  width: 65%;
  background: linear-gradient(
    to right,
    rgba(10,8,6,.60) 0%,
    rgba(10,8,6,.28) 55%,
    transparent 100%
  );
}

/* ② 파티클 캔버스 */
#particleCanvas {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  opacity: .28;
  z-index: 1;
}

/* ③ 메인 콘텐츠 래퍼 */
.hero-cinematic-inner {
  position: relative;
  z-index: 4;           /* 오라 캔버스(2) + scarcity(3) 위에 텍스트 표시 */
  width: 100%;
  max-width: var(--max-w);
  margin: 0 auto;
  padding: var(--nav-h) 56px 100px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  gap: 40px;
  min-height: 100svh;
}

/* 라이브 배지 */
.hero-cin-live {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 7px 18px;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.16);
  backdrop-filter: blur(10px);
  border-radius: 50px;
  font-size: .75rem;
  font-weight: 700;
  color: rgba(255,255,255,.78);
  letter-spacing: .04em;
  width: fit-content;
}
.hero-cin-live i { color: var(--gold); font-size: .8rem; }

/* 헤드라인 */
.hero-cin-text {
  display: flex;
  flex-direction: column;
  gap: 22px;
  max-width: 760px;
}
.hero-cin-headline {
  display: flex;
  flex-direction: column;
  gap: 6px;
  line-height: 1.08;
}

/* 숫자 라인 */
.hc--num {
  display: block;
  font-family: var(--font-num, 'Bebas Neue', sans-serif);
  font-size: clamp(4.5rem, 9vw, 8rem);
  color: var(--orange);
  letter-spacing: -.01em;
  line-height: .95;
  text-shadow:
    0 0 40px rgba(232,84,28,.4),
    0 4px 20px rgba(232,84,28,.25),
    0 2px 0 rgba(0,0,0,.3);
}
.hc--num em {
  font-size: .38em;
  color: rgba(255,255,255,.88);
  font-style: normal;
  font-family: var(--font-kr, 'Noto Sans KR', sans-serif);
  font-weight: 900;
  letter-spacing: -.02em;
  vertical-align: middle;
}

/* 메인 라인 */
.hc--main {
  display: block;
  font-size: clamp(1.9rem, 3.8vw, 3.4rem);
  font-weight: 900;
  color: rgba(255,255,255,.92);
  letter-spacing: -.04em;
  line-height: 1.1;
  text-shadow: 0 2px 16px rgba(0,0,0,.4);
}

/* 서브 라인 */
.hc--sub {
  display: block;
  font-size: clamp(1.1rem, 2vw, 1.6rem);
  font-weight: 700;
  color: rgba(255,255,255,.55);
  letter-spacing: -.02em;
}
.hc--sub em {
  font-style: normal;
  color: var(--gold);
  text-shadow: 0 0 24px rgba(217,162,75,.5);
}

/* 서브카피 */
.hero-cin-sub {
  font-size: clamp(.95rem, 1.4vw, 1.1rem);
  line-height: 1.75;
  color: rgba(255,255,255,.48);
  padding-left: 16px;
  border-left: 2px solid var(--orange);
  word-break: keep-all;
  max-width: 480px;
}

/* CTA 버튼 */
.hero-cin-cta {
  display: flex;
  align-items: center;
  gap: 14px;
  flex-wrap: wrap;
}
.btn-cin-main {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  background: var(--orange);
  color: #fff;
  font-size: 1rem;
  font-weight: 800;
  padding: 16px 32px;
  border-radius: 10px;
  transition: all .25s ease;
  box-shadow:
    0 4px 20px rgba(232,84,28,.38),
    0 0 0 1px rgba(232,84,28,.3);
  letter-spacing: -.01em;
}
.btn-cin-main:hover {
  background: #C94210;
  transform: translateY(-3px);
  box-shadow:
    0 10px 36px rgba(232,84,28,.48),
    0 0 0 1px rgba(232,84,28,.4);
}
.btn-cin-sub {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.18);
  color: rgba(255,255,255,.78);
  font-size: .92rem;
  font-weight: 700;
  padding: 15px 26px;
  border-radius: 10px;
  backdrop-filter: blur(8px);
  transition: all .25s ease;
}
.btn-cin-sub:hover {
  background: rgba(255,255,255,.15);
  color: #fff;
  transform: translateY(-2px);
  border-color: rgba(255,255,255,.32);
}
.btn-cin-sub i { font-size: .8rem; opacity: .7; }

/* 하단 통계 바 */
.hero-cin-stats {
  display: flex;
  align-items: center;
  gap: 0;
  padding: 20px 28px;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 14px;
  backdrop-filter: blur(16px) saturate(1.4);
  width: fit-content;
  flex-wrap: wrap;
  gap: 0;
}
.hcs {
  text-align: center;
  padding: 0 28px;
}
.hcs-n {
  display: block;
  font-family: var(--font-en, 'Montserrat', sans-serif);
  font-size: 2rem;
  font-weight: 900;
  color: #fff;
  line-height: 1;
  margin-bottom: 5px;
  text-shadow: 0 0 20px rgba(232,84,28,.3);
}
.hcs span {
  font-size: .78rem;
  color: rgba(255,255,255,.45);
  font-weight: 600;
  display: block;
  letter-spacing: .01em;
}
.hcs-div {
  width: 1px;
  height: 44px;
  background: rgba(255,255,255,.10);
  flex-shrink: 0;
}

/* 스크롤 안내 — 영상 위 버전 */
.hero-scroll--cin {
  color: rgba(255,255,255,.35) !important;
}
.hero-scroll--cin .scroll-mouse {
  border-color: rgba(255,255,255,.25) !important;
}

/* ── 반응형 ── */
@media (max-width: 1024px) {
  .hero-cinematic-inner { padding: var(--nav-h) 40px 80px; }
  .hc--num { font-size: clamp(3.8rem, 9vw, 6.5rem); }
  .hcs { padding: 0 18px; }
}
@media (max-width: 768px) {
  .hero-cinematic-inner { padding: var(--nav-h) 24px 72px; gap: 28px; }
  .hero-cin-stats {
    width: 100%;
    justify-content: space-around;
    padding: 16px 12px;
  }
  .hcs { padding: 0 12px; }
  .hcs-n { font-size: 1.6rem; }
  .btn-cin-main { font-size: .9rem; padding: 14px 24px; }
  .btn-cin-sub  { font-size: .85rem; padding: 13px 20px; }
}
@media (max-width: 480px) {
  .hc--num { font-size: clamp(3.2rem, 16vw, 4.8rem); }
  .hero-cin-cta { flex-direction: column; align-items: flex-start; }
  .btn-cin-main, .btn-cin-sub { width: 100%; justify-content: center; }
  .hero-cin-stats { gap: 0; }
  .hcs-div { height: 32px; }
}

/* ══════════════════════════════════════
   ② MARQUEE
   ══════════════════════════════════════ */
.marquee-wrap {
  background:var(--dark); padding:14px 0; overflow:hidden;
}
.marquee-inner {
  display:flex; white-space:nowrap;
  animation:marqueeRun 22s linear infinite;
}
.marquee-inner span {
  font-family:var(--font-en); font-size:.82rem; font-weight:700;
  letter-spacing:.05em; color:rgba(255,255,255,.8); padding:0 22px; text-transform:uppercase;
}
.marquee-inner .mdot { color:var(--gold); padding:0 2px; font-size:.7rem; }
@keyframes marqueeRun { from{transform:translateX(0)} to{transform:translateX(-50%)} }

/* ══════════════════════════════════════
   ③ PROBLEM (다크)
   ══════════════════════════════════════ */
.prob-intro { text-align:center; margin-bottom:64px; }
.prob-main-hl {
  font-size:clamp(2rem,4vw,3.2rem); font-weight:900; line-height:1.2;
  color:#fff; margin-bottom:20px;
}
.prob-question {
  font-size:clamp(1.4rem,2.5vw,2rem); font-weight:900;
  color:var(--gold); line-height:1.3;
}

.prob-cards {
  display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin-bottom:48px;
}
.prob-card {
  background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.1);
  border-radius:var(--radius-lg); padding:32px 28px;
  position:relative; overflow:hidden; transition:var(--tr);
}
.prob-card::before {
  content:''; position:absolute; bottom:0; left:0; right:0;
  height:3px; background:linear-gradient(90deg,var(--orange),var(--gold));
  transform:scaleX(0); transition:var(--tr);
}
.prob-card:hover { background:rgba(255,255,255,.08); border-color:rgba(232,84,28,.3); }
.prob-card:hover::before { transform:scaleX(1); }
.prob-num {
  font-family:var(--font-disp); font-size:3.5rem; color:rgba(255,255,255,.06);
  position:absolute; top:16px; right:20px; line-height:1;
}
.prob-icon {
  width:48px; height:48px;
  background:rgba(232,84,28,.15); border-radius:10px;
  display:flex; align-items:center; justify-content:center;
  color:var(--orange); font-size:1.2rem; margin-bottom:16px;
}
.prob-card h3 { font-size:1.05rem; font-weight:700; color:#fff; margin-bottom:10px; }
.prob-card p  { font-size:.9rem; color:rgba(255,255,255,.6); line-height:1.65; }

/* 해결 블록 */
.prob-resolve {
  background:var(--orange); border-radius:var(--radius-xl); padding:52px 56px;
  display:grid; grid-template-columns:1fr 1.4fr; gap:48px; align-items:center; color:#fff;
}
.pob-sub   { font-size:.9rem; opacity:.75; margin-bottom:8px; }
.pob-title { font-size:clamp(1.5rem,2.5vw,2.1rem); font-weight:900; line-height:1.25; }
.pob-list  { display:flex; flex-direction:column; gap:20px; margin-bottom:24px; }
.pob-list li { display:flex; align-items:flex-start; gap:14px; flex-wrap:wrap; }
.pob-num { font-family:var(--font-disp); font-size:1.6rem; opacity:.45; flex-shrink:0; line-height:1; }
.pob-list li span:nth-child(2) { font-weight:700; font-size:1rem; flex-shrink:0; }
.pob-list li em {
  display:block; width:100%; font-style:normal;
  font-size:.82rem; opacity:.75; margin-left:34px;
}
.pob-bottom {
  font-size:.95rem; font-weight:700; opacity:.85;
  border-top:1px solid rgba(255,255,255,.25); padding-top:20px;
}

/* ══════════════════════════════════════
   ④ ABOUT
   ══════════════════════════════════════ */
.about-grid { display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:start; }
.about-left { display:flex; flex-direction:column; gap:24px; }
.about-hl   { font-size:clamp(2rem,3.5vw,2.9rem); font-weight:900; line-height:1.2; }
.about-desc { font-size:1rem; color:var(--gray); line-height:1.85; }

.about-stat-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-bottom:18px; }
.astat {
  background:var(--cream); border:1px solid var(--gray-border);
  border-radius:var(--radius-lg); padding:28px 22px; text-align:center; transition:var(--tr);
}
.astat:hover { border-color:var(--border-o); box-shadow:0 8px 24px rgba(232,84,28,.08); }
.astat--orange { background:var(--orange); border-color:var(--orange); color:#fff; }
.astat-num {
  font-family:var(--font-en); font-size:2.2rem; font-weight:900;
  color:var(--orange); line-height:1; margin-bottom:8px;
}
.astat--orange .astat-num { color:#fff; }
.astat-label { font-size:.85rem; font-weight:700; margin-bottom:4px; }
.astat-desc  { font-size:.78rem; color:var(--gray-light); line-height:1.45; }
.astat--orange .astat-desc { color:rgba(255,255,255,.7); }

.motto-card {
  background:var(--cream); border:1px solid var(--gray-border);
  border-radius:var(--radius-lg); padding:28px; position:relative;
}
.motto-q { font-size:2rem; color:var(--border-o); position:absolute; top:20px; left:24px; }
.motto-card p {
  font-size:1.08rem; font-weight:700; line-height:1.5;
  padding-top:28px; font-style:italic;
}
.motto-sub {
  display:block; margin-top:8px; font-size:.82rem; color:var(--gray); font-style:normal;
}

/* ══════════════════════════════════════
   ⑤ SERVICES
   ══════════════════════════════════════ */
.svc-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.svc-card {
  background:var(--beige); border:1px solid var(--gray-border);
  border-radius:var(--radius-lg); padding:32px 26px;
  display:flex; flex-direction:column; gap:14px; transition:var(--tr);
  position:relative; overflow:hidden;
}
.svc-card::after {
  content:''; position:absolute; bottom:0; left:0; right:0;
  height:3px; background:linear-gradient(90deg,var(--orange),var(--gold));
  transform:scaleX(0); transition:var(--tr);
}
.svc-card:hover {
  border-color:var(--border-o); box-shadow:0 16px 48px rgba(232,84,28,.1);
  transform:translateY(-4px);
}
.svc-card:hover::after { transform:scaleX(1); }

/* 촬영 카드 — 사진 오버레이 */
.svc-card--photo { padding:0; overflow:hidden; }
.svc-card--photo::after { display:none; }
.svc-photo-wrap { position:relative; height:100%; min-height:280px; }
.svc-photo {
  width:100%; height:100%; object-fit:cover;
  /* 이미지 로드 실패 폴백 */
  background:linear-gradient(135deg,#1a1614,#2A2522);
  min-height:280px;
}
.svc-photo-overlay {
  position:absolute; inset:0;
  background:linear-gradient(to top, rgba(42,37,34,.92) 60%, rgba(42,37,34,.3));
  padding:28px; display:flex; flex-direction:column; gap:12px; justify-content:flex-end;
  color:#fff;
}
.svc-photo-overlay h3 { font-size:1.05rem; font-weight:700; }
.svc-photo-overlay p  { font-size:.88rem; color:rgba(255,255,255,.75); line-height:1.6; }

/* SNS 카드 — 웜 오렌지 오버레이 변형 */
.svc-photo-overlay--warm {
  background: linear-gradient(
    160deg,
    rgba(42,37,34,.15) 0%,
    rgba(232,84,28,.22) 40%,
    rgba(42,37,34,.96) 100%
  );
}
.svc-photo-overlay--warm h3 {
  font-size:1.05rem; font-weight:700;
  text-shadow: 0 1px 6px rgba(232,84,28,.4);
}
.svc-card--photo:hover .svc-photo-overlay--warm {
  background: linear-gradient(
    160deg,
    rgba(42,37,34,.2) 0%,
    rgba(232,84,28,.32) 40%,
    rgba(42,37,34,.97) 100%
  );
}

.svc-card--cta {
  background:var(--dark); border-color:var(--dark); color:#fff;
}
.svc-card--cta::after { display:none; }
.svc-card--cta:hover {
  transform:translateY(-4px); box-shadow:0 16px 48px rgba(42,37,34,.25);
  border-color:var(--dark);
}

.svc-top { display:flex; align-items:center; justify-content:space-between; }
.svc-num { font-family:var(--font-disp); font-size:1.9rem; color:var(--gray-border); line-height:1; }
.svc-num--white { color:rgba(255,255,255,.35); }
.svc-icon {
  width:44px; height:44px;
  background:var(--orange-pale); border-radius:10px;
  display:flex; align-items:center; justify-content:center;
  color:var(--orange); font-size:1.1rem;
}
.svc-icon--white { background:rgba(255,255,255,.15); color:#fff; }

.svc-card h3 { font-size:1.02rem; font-weight:700; }
.svc-card p  { font-size:.88rem; color:var(--gray); line-height:1.65; flex:1; }
.svc-card strong { color:var(--orange); }

.svc-tag {
  display:inline-flex; padding:4px 12px;
  background:var(--orange-pale); border:1px solid var(--border-o);
  border-radius:50px; font-size:.74rem; font-weight:700; color:var(--orange); width:fit-content;
}
.svc-tag--white {
  background:rgba(255,255,255,.15); border-color:rgba(255,255,255,.3); color:#fff;
}
.svc-cta-inner { display:flex; flex-direction:column; gap:16px; align-items:flex-start; height:100%; justify-content:center; }
.svc-cta-top  { font-size:1rem; font-weight:700; line-height:1.5; }
.svc-cta-motto { font-size:.85rem; opacity:.55; line-height:1.5; }

/* ══════════════════════════════════════
   ⑥ CEO 소개
   ══════════════════════════════════════ */
.ceo-grid { display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:start; }

.ceo-photos { display:grid; grid-template-columns:1.3fr 1fr; gap:16px; align-items:start; }
.ceo-photo-main {
  border-radius:var(--radius-xl); overflow:hidden;
  box-shadow:0 24px 50px rgba(42,37,34,.14);
  aspect-ratio:3/4;
}
.ceo-img { width:100%; height:100%; object-fit:cover; background:var(--beige2); }
.ceo-photo-sub { position:relative; }
.ceo-img-sub {
  width:100%; border-radius:var(--radius-lg); object-fit:cover;
  aspect-ratio:3/4; background:var(--beige2);
}
.ceo-photo-badge {
  position:absolute; bottom:12px; left:50%; transform:translateX(-50%);
  display:flex; align-items:center; gap:6px;
  padding:7px 14px; white-space:nowrap;
  background:var(--orange); color:#fff;
  border-radius:50px; font-size:.75rem; font-weight:700;
}

.ceo-right { display:flex; flex-direction:column; gap:24px; padding-top:12px; }
.ceo-hl {
  font-size:clamp(2rem,3.5vw,2.8rem); font-weight:900; line-height:1.2;
}
.ceo-desc { font-size:1rem; color:var(--gray); line-height:1.85; }

.ceo-sign-wrap {
  display:flex; align-items:center; gap:20px;
  padding:20px 24px;
  background:var(--cream); border:1px solid var(--gray-border);
  border-radius:var(--radius-lg);
}
.ceo-sign-img {
  height:60px; width:auto; object-fit:contain; opacity:.85;
  /* 흰 배경 서명이라 필터 필요 */
  filter:invert(1) brightness(.2);
  background:transparent;
}
.ceo-sign-text strong { display:block; font-size:.95rem; font-weight:700; margin-bottom:4px; }
.ceo-sign-text span   { font-size:.8rem; color:var(--gray); font-style:italic; }

.ceo-industries { display:flex; flex-direction:column; gap:12px; }
.ceo-ind-label { font-size:.78rem; font-weight:700; color:var(--gray-light); text-transform:uppercase; letter-spacing:.1em; }
.ceo-ind-tags {
  display:flex; flex-wrap:wrap; gap:8px;
}
.ceo-ind-tags span {
  padding:6px 14px;
  background:var(--cream); border:1px solid var(--gray-border);
  border-radius:50px; font-size:.82rem; color:var(--dark); transition:var(--tr);
}
.ceo-ind-tags span:hover { border-color:var(--border-o); color:var(--orange); }
.ceo-ind-quote {
  font-size:1.05rem; font-weight:700; font-style:italic;
  color:var(--orange); padding-left:16px; border-left:3px solid var(--gold);
}

/* ══════════════════════════════════════
   ⑦ PROCESS
   ══════════════════════════════════════ */
.proc-flow { display:grid; grid-template-columns:repeat(5,1fr); gap:0; position:relative; margin-top:60px; }
.proc-step { display:flex; flex-direction:column; align-items:center; position:relative; }
.proc-circle {
  width:72px; height:72px;
  background:var(--beige); border:2px solid var(--gray-border);
  border-radius:50%; display:flex; flex-direction:column; align-items:center;
  justify-content:center; gap:2px; position:relative; z-index:1; transition:var(--tr);
}
.proc-step:hover .proc-circle {
  background:var(--orange); border-color:var(--orange);
  box-shadow:0 8px 24px rgba(232,84,28,.3);
}
.proc-circle--last { border-color:var(--orange); background:var(--orange-pale); }
.proc-n { font-family:var(--font-disp); font-size:1rem; color:var(--orange); line-height:1; }
.proc-ico { font-size:.72rem; color:var(--gray); }
.proc-step:hover .proc-n, .proc-step:hover .proc-ico { color:#fff; }
.proc-line {
  position:absolute; top:36px; left:calc(50% + 36px);
  width:calc(100% - 72px); height:2px; background:var(--gray-border);
}
.proc-step:last-child .proc-line { display:none; }
.proc-body { text-align:center; padding:20px 10px 0; }
.proc-body h3 { font-size:.93rem; font-weight:700; margin-bottom:8px; }
.proc-body p  { font-size:.8rem; color:var(--gray); line-height:1.55; }

/* ══════════════════════════════════════
   ⑧ RESULT
   ══════════════════════════════════════ */
.result-nums {
  display:flex; align-items:center; justify-content:center;
  background:var(--dark); border-radius:var(--radius-xl);
  padding:40px 48px; margin-bottom:52px; flex-wrap:wrap;
}
.rnum { flex:1; min-width:100px; text-align:center; padding:16px; }
.rnum strong {
  display:block; font-family:var(--font-en);
  font-size:clamp(2rem,4vw,3rem); font-weight:900;
  color:var(--orange); line-height:1; margin-bottom:8px;
}
.rnum span { font-size:.82rem; color:rgba(255,255,255,.55); }
.rnum-div  { width:1px; height:60px; background:rgba(255,255,255,.1); align-self:center; }

/* 포트폴리오 그리드 */
.portfolio-grid {
  display:grid; grid-template-columns:1.4fr 1fr 1fr;
  gap:16px; margin-bottom:52px;
}
.port-item {
  position:relative; border-radius:var(--radius-lg); overflow:hidden;
  cursor:default; transition:var(--tr);
}
.port-item img {
  width:100%; height:100%; object-fit:cover;
  min-height:220px; background:var(--beige2); transition:transform .5s ease;
}
.port-item:hover img { transform:scale(1.04); }
.port-item--tall { grid-row:span 1; }
.port-label {
  position:absolute; bottom:0; left:0; right:0;
  padding:20px 16px 14px;
  background:linear-gradient(to top, rgba(42,37,34,.8), transparent);
  color:#fff; font-size:.82rem; font-weight:700;
  opacity:0; transition:var(--tr); text-align:center;
}
.port-item:hover .port-label { opacity:1; }

/* Review Slider */
.review-slider-wrap { position:relative; }
.review-slider { overflow:hidden; border-radius:var(--radius-xl); }
.review-track {
  display:flex; transition:transform .5s cubic-bezier(.4,0,.2,1); will-change:transform;
}
.review-card {
  min-width:100%; background:var(--cream); border:1px solid var(--gray-border);
  border-radius:var(--radius-xl); padding:44px 52px;
  display:flex; flex-direction:column; gap:20px;
}
.rv-stars { font-size:1.2rem; color:var(--gold); letter-spacing:2px; }
.rv-text  { font-size:1.05rem; line-height:1.85; color:var(--dark); font-style:italic; }
.rv-author { display:flex; align-items:center; gap:14px; }
.rv-avatar {
  width:48px; height:48px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  font-size:1.1rem; font-weight:900; color:#fff; flex-shrink:0;
}
.rv-author > div strong { display:block; font-size:.95rem; font-weight:700; }
.rv-author > div span  { font-size:.82rem; color:var(--gray-light); }

.rv-controls {
  display:flex; align-items:center; justify-content:center; gap:16px; margin-top:24px;
}
.rv-btn {
  width:44px; height:44px;
  background:var(--cream); border:1px solid var(--gray-border);
  border-radius:50%; display:flex; align-items:center; justify-content:center;
  color:var(--dark); font-size:.9rem; transition:var(--tr);
}
.rv-btn:hover { background:var(--orange); border-color:var(--orange); color:#fff; }
.rv-dots { display:flex; gap:8px; }
.rv-dot {
  width:8px; height:8px; border-radius:50%;
  background:var(--gray-border); cursor:pointer; transition:var(--tr);
}
.rv-dot.active { background:var(--orange); transform:scale(1.3); }

/* ══════════════════════════════════════
   ⑨ YOUTUBE
   ══════════════════════════════════════ */
.youtube-sec { padding:100px 0; }
.yt-grid {
  display:grid; grid-template-columns:1fr 1.5fr; gap:80px; align-items:center;
}
.yt-left { display:flex; flex-direction:column; gap:24px; }
.yt-hl   { font-size:clamp(2rem,3.5vw,2.8rem); font-weight:900; line-height:1.2; color:#fff; }
.yt-desc { font-size:1rem; color:rgba(255,255,255,.6); line-height:1.8; }
.btn-yt {
  display:inline-flex; align-items:center; gap:10px;
  padding:14px 28px; background:#FF0000; color:#fff;
  font-weight:700; font-size:.95rem; border-radius:50px; transition:var(--tr); width:fit-content;
}
.btn-yt:hover { background:#CC0000; transform:translateY(-2px); box-shadow:0 8px 24px rgba(255,0,0,.35); }
.btn-yt i { font-size:1.2rem; }
.yt-url { font-family:var(--font-en); font-size:.8rem; color:rgba(255,255,255,.38); display:flex; align-items:center; gap:6px; }
.yt-url i { color:var(--orange); }

.yt-cards { display:flex; flex-direction:column; gap:16px; }
.yt-card {
  display:flex; flex-direction:column;
  background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.1);
  border-radius:var(--radius-lg); overflow:hidden; transition:var(--tr);
}
.yt-card:hover { border-color:rgba(232,84,28,.4); box-shadow:0 12px 36px rgba(232,84,28,.15); transform:translateY(-3px); }
.yt-cards-sub { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.yt-thumb {
  aspect-ratio:16/9; position:relative;
  display:flex; align-items:center; justify-content:center; overflow:hidden;
}
.yt-thumb--1 { background:linear-gradient(135deg,#1a1a2e,#0f3460); }
.yt-thumb--2 { background:linear-gradient(135deg,#2d1b69,#11998e); }
.yt-thumb--3 { background:linear-gradient(135deg,#E8541C,#D9A24B); }
.yt-play {
  width:52px; height:52px; background:rgba(255,0,0,.9); border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  color:#fff; font-size:1.3rem; transition:var(--tr);
}
.yt-play--sm { width:38px; height:38px; font-size:.9rem; }
.yt-card:hover .yt-play { transform:scale(1.1); background:#FF0000; }
.yt-label {
  position:absolute; bottom:10px; left:10px;
  padding:4px 10px; background:var(--orange); border-radius:4px;
  font-size:.7rem; font-weight:700; color:#fff;
}
.yt-info { padding:14px 18px; }
.yt-info h4 { font-size:.86rem; font-weight:700; color:#fff; margin-bottom:4px; line-height:1.4; }
.yt-info span { font-size:.74rem; color:rgba(255,255,255,.4); }

/* ══════════════════════════════════════
   ⑩ CONTACT
   ══════════════════════════════════════ */
.contact-grid { display:grid; grid-template-columns:1fr 1.2fr; gap:80px; align-items:start; }
.contact-left { display:flex; flex-direction:column; gap:24px; }
.contact-hl {
  font-size:clamp(2rem,3.5vw,2.9rem); font-weight:900; line-height:1.3;
}
.contact-hl em { color:var(--orange); font-style:normal; }
.contact-desc { font-size:1rem; color:var(--gray); line-height:1.7; }

.con-info { display:flex; flex-direction:column; gap:16px; }
.con-info li { display:flex; align-items:flex-start; gap:16px; }
.con-icon {
  width:44px; height:44px;
  background:var(--orange-pale); border:1px solid var(--border-o);
  border-radius:10px; display:flex; align-items:center; justify-content:center;
  color:var(--orange); font-size:1rem; flex-shrink:0;
}
.con-icon--kakao { background:#FEE500; border-color:#FEE500; color:#3A1D1D; }
.con-icon--yt    { background:rgba(255,0,0,.07); border-color:rgba(255,0,0,.2); color:#FF0000; }
.con-info .con-label { display:block; font-size:.74rem; color:var(--gray-light); margin-bottom:2px; }
.con-info a, .con-info span { font-size:.95rem; font-weight:600; }
.con-info a:hover { color:var(--orange); }

.con-sns { display:flex; gap:10px; flex-wrap:wrap; }
.sns-btn {
  width:44px; height:44px; border:1px solid var(--gray-border);
  border-radius:50%; display:flex; align-items:center; justify-content:center;
  color:var(--gray); font-size:1rem; transition:var(--tr);
}
.sns-btn:hover { border-color:var(--orange); color:var(--orange); background:var(--orange-pale); }
.sns-yt:hover     { border-color:#FF0000; color:#FF0000; background:rgba(255,0,0,.06); }
.sns-kakao:hover  { border-color:#FEE500; background:rgba(254,229,0,.12); color:#3A1D1D; }

.cform-wrap {
  background:var(--cream); border:1px solid var(--gray-border);
  border-radius:var(--radius-xl); padding:40px;
}
.cform-header { margin-bottom:26px; }
.cform-header h3 { font-size:1.3rem; font-weight:700; margin-bottom:6px; }
.cform-header p  { font-size:.9rem; color:var(--gray); }
.cform { display:flex; flex-direction:column; gap:16px; }
.cf-row { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.cf-group { display:flex; flex-direction:column; gap:6px; }
.cf-group label { font-size:.8rem; font-weight:700; color:var(--dark); }
.cf-group input,
.cf-group select,
.cf-group textarea {
  padding:12px 16px;
  background:var(--beige); border:1px solid var(--gray-border);
  border-radius:var(--radius); font-family:var(--font-kr); font-size:.9rem;
  color:var(--dark); transition:var(--tr); outline:none; -webkit-appearance:none;
}
.cf-group input:focus, .cf-group select:focus, .cf-group textarea:focus {
  border-color:var(--orange); box-shadow:0 0 0 3px rgba(232,84,28,.1);
}
.cf-group textarea { resize:vertical; min-height:100px; }
.cf-success {
  display:none; align-items:center; gap:12px;
  padding:16px 20px; background:var(--orange-pale);
  border:1px solid var(--border-o); border-radius:var(--radius);
  font-weight:700; color:var(--orange);
}
.cf-success.show { display:flex; }
.cf-success i { font-size:1.3rem; }

/* ══════════════════════════════════════
   ⑪ FOOTER
   ══════════════════════════════════════ */
.footer { background:var(--dark2); color:#fff; }
.footer-top { padding:72px 0 56px; }
.ft-grid { display:grid; grid-template-columns:1.5fr 2fr; gap:56px; align-items:start; }
.ft-logo-box { display:flex; align-items:center; gap:10px; margin-bottom:16px; }
.ft-logo-img {
  height: 56px;
  width: auto;
  max-width: 220px;
  object-fit: contain;
  object-position: left center;
  display: block;
  /* 다크 footer 배경 위 — 흰 박스로 감싸 자연스럽게 표시 */
  background: #fff;
  border-radius: 10px;
  padding: 8px 18px;
}
.ft-logo-text { display:none; } /* 로고 이미지에 텍스트 포함 — 별도 텍스트 숨김 */
.ft-motto  { font-size:1rem; font-weight:700; font-style:italic; color:rgba(255,255,255,.8); margin-bottom:6px; }
.ft-sub    { font-size:.82rem; color:rgba(255,255,255,.38); margin-bottom:4px; }
.ft-sub-kr { font-size:.8rem; color:rgba(255,255,255,.3); font-style:italic; margin-bottom:16px; }
.ft-sign-wrap { margin-top:8px; }
.ft-sign-img  { height:48px; width:auto; object-fit:contain; opacity:.4; filter:invert(1) brightness(.8); }

.ft-cols  { display:grid; grid-template-columns:repeat(3,1fr); gap:28px; }
.ft-col h4 {
  font-size:.72rem; font-family:var(--font-en); letter-spacing:.14em;
  text-transform:uppercase; color:rgba(255,255,255,.32); margin-bottom:16px;
}
.ft-col ul { display:flex; flex-direction:column; gap:8px; }
.ft-col a, .ft-col span { font-size:.86rem; color:rgba(255,255,255,.55); transition:var(--tr); }
.ft-col a:hover { color:var(--orange); }

.ft-sns { display:flex; gap:10px; flex-wrap:wrap; }
.ft-sns-btn {
  width:40px; height:40px; border:1px solid rgba(255,255,255,.12);
  border-radius:50%; display:flex; align-items:center; justify-content:center;
  color:rgba(255,255,255,.45); font-size:.92rem; transition:var(--tr);
}
.ft-sns-btn:hover { border-color:var(--orange); color:var(--orange); }
.ft-yt:hover     { border-color:#FF0000; color:#FF0000; }
.ft-kakao:hover  { border-color:#FEE500; color:#FEE500; }
.ft-naver-cafe:hover { border-color:#03C75A; color:#03C75A; }

.footer-bottom { border-top:1px solid rgba(255,255,255,.06); padding:20px 0; }
.footer-bottom .container { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:8px; }
.footer-bottom p { font-size:.78rem; color:rgba(255,255,255,.28); }
.ft-made { font-family:var(--font-en); }

/* ══════════════════════════════════════
   RESPONSIVE — TABLET (≤1100px)
   ══════════════════════════════════════ */
@media (max-width:1100px) {
  .hero-grid { grid-template-columns:1fr; gap:48px; padding:80px 24px; text-align:center; }
  .hero-badge, .hero-cta, .hero-stats { margin:0 auto; }
  .hero-headline { align-items:center; }
  .hero-sub { text-align:left; max-width:500px; margin:0 auto; }
  /* 태블릿: 영상을 가로로 넓게 */
  .hero-photo-stack { max-width:420px; margin:0 auto; }
  .hero-video-main  { aspect-ratio: 4/5; }
  .float-badge--1 { left:0; }

  .prob-cards  { grid-template-columns:1fr; max-width:520px; margin:0 auto 48px; }
  .prob-resolve { grid-template-columns:1fr; padding:40px; gap:36px; }

  .about-grid  { grid-template-columns:1fr; gap:48px; }
  .svc-grid    { grid-template-columns:repeat(2,1fr); }
  .ceo-grid    { grid-template-columns:1fr; gap:48px; }
  .ceo-photos  { max-width:460px; }

  .proc-flow { grid-template-columns:1fr; gap:0; }
  .proc-step { flex-direction:row; align-items:flex-start; gap:20px; padding-bottom:32px; }
  .proc-line { top:36px; left:36px; width:2px; height:100%; }
  .proc-body { text-align:left; padding:8px 0 0; }

  .yt-grid     { grid-template-columns:1fr; gap:48px; }
  .contact-grid{ grid-template-columns:1fr; gap:48px; }
  .ft-grid     { grid-template-columns:1fr; gap:40px; }
  .ft-cols     { grid-template-columns:repeat(2,1fr); }

  .portfolio-grid { grid-template-columns:1fr 1fr; }
  .port-item--tall { grid-column:span 2; }
}

/* ══════════════════════════════════════
   RESPONSIVE — MOBILE (≤768px)
   ══════════════════════════════════════ */
@media (max-width:768px) {
  .hero-grid { padding:60px 20px; }
  .float-badge--1, .float-badge--3 { display:none; }
  .float-badge--2 { right:8px; }
  .hero-stats { flex-wrap:wrap; padding:16px; gap:12px; }
  /* 모바일: 영상 가로 비율로 전환 */
  .hero-video-main  { aspect-ratio: 3/2; border-radius: 20px; }

  .svc-grid { grid-template-columns:1fr; }
  .ceo-photos { grid-template-columns:1fr; }
  .ceo-photo-sub { display:none; }

  .result-nums { padding:28px; }
  .rnum-div    { width:100%; height:1px; margin:8px 0; }
  .review-card { padding:28px 22px; }
  .rv-text     { font-size:.95rem; }

  .yt-cards-sub { grid-template-columns:1fr; }
  .cf-row { grid-template-columns:1fr; }
  .cform-wrap { padding:24px; }

  .ft-cols { grid-template-columns:1fr; }
  .footer-bottom .container { flex-direction:column; text-align:center; }

  .prob-resolve { padding:28px; }
  .portfolio-grid { grid-template-columns:1fr; }
  .port-item--tall { grid-column:auto; }
}

/* ══════════════════════════════════════
   RESPONSIVE — SMALL (≤480px)
   ══════════════════════════════════════ */
@media (max-width:480px) {
  .hl--num  { font-size:2.8rem; }
  .hl--main { font-size:1.6rem; }
  .about-stat-grid { grid-template-columns:1fr; }
}

/* ══════════════════════════════════════
   AWARDS SECTION — 수상 & 공로 내역
   골드 / 실버 / 브론즈 / 스페셜 4단계
   ══════════════════════════════════════ */

/* ── 컬러 토큰 ── */
:root {
  --aw-gold-from:   #D9A24B;
  --aw-gold-to:     #F0C878;
  --aw-silver-from: #8A9BB0;
  --aw-silver-to:   #B8C8D8;
  --aw-bronze-from: #A0694A;
  --aw-bronze-to:   #C8906A;
  --aw-special-from:#E8541C;
  --aw-special-to:  #FF8050;
}

/* ── 그리드 ── */
.awards-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  margin-top: 56px;
}

/* ── 카드 기본 ── */
.award-card {
  position: relative;
  border-radius: 20px;
  overflow: hidden;
  background: #fff;
  box-shadow: 0 4px 24px rgba(42,37,34,.08);
  transition: transform .32s cubic-bezier(.22,1,.36,1),
              box-shadow .32s ease;
  cursor: default;
}
.award-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 16px 48px rgba(42,37,34,.14);
}

/* ── inner wrapper ── */
.award-card-inner {
  display: flex;
  flex-direction: column;
  height: 100%;
}

/* ── 리본 상단 바 ── */
.award-ribbon {
  position: relative;
  padding: 22px 22px 16px;
  display: flex;
  align-items: center;
  gap: 14px;
}

/* 골드 */
.award-card--gold .award-ribbon {
  background: linear-gradient(135deg, var(--aw-gold-from), var(--aw-gold-to));
}
/* 실버 */
.award-card--silver .award-ribbon {
  background: linear-gradient(135deg, var(--aw-silver-from), var(--aw-silver-to));
}
/* 브론즈 */
.award-card--bronze .award-ribbon {
  background: linear-gradient(135deg, var(--aw-bronze-from), var(--aw-bronze-to));
}
/* 스페셜 (오렌지) */
.award-card--special .award-ribbon {
  background: linear-gradient(135deg, var(--aw-special-from), var(--aw-special-to));
}

/* ── 아이콘 원형 ── */
.award-ribbon-icon {
  width: 44px; height: 44px;
  border-radius: 50%;
  background: rgba(255,255,255,.25);
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
  backdrop-filter: blur(4px);
  border: 1.5px solid rgba(255,255,255,.4);
}
.award-ribbon-icon i {
  font-size: 1.1rem;
  color: #fff;
}

/* ── 타입 뱃지 ── */
.award-type-badge {
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .08em;
  color: rgba(255,255,255,.95);
  background: rgba(255,255,255,.2);
  border: 1px solid rgba(255,255,255,.35);
  border-radius: 50px;
  padding: 3px 10px;
  white-space: nowrap;
}

/* ── 카드 바디 ── */
.award-body {
  padding: 20px 22px 22px;
  display: flex;
  flex-direction: column;
  flex: 1;
}

/* ── 연도 ── */
.award-meta-top {
  margin-bottom: 10px;
}
.award-year {
  font-size: .72rem;
  font-weight: 600;
  letter-spacing: .06em;
  color: var(--gray-light);
  background: var(--beige2);
  padding: 3px 10px;
  border-radius: 50px;
}

/* ── 제목 ── */
.award-title {
  font-size: 1.05rem;
  font-weight: 800;
  color: var(--dark);
  line-height: 1.4;
  margin: 0 0 10px;
  letter-spacing: -.02em;
}

/* ── 수여자 ── */
.award-recipient {
  font-size: .78rem;
  font-weight: 600;
  color: var(--orange);
  margin: 0 0 10px;
  display: flex;
  align-items: center;
  gap: 6px;
}
.award-recipient i {
  font-size: .7rem;
  opacity: .7;
}
.award-recipient small {
  font-weight: 400;
  color: var(--gray);
  font-size: .72rem;
}

/* ── 내용 ── */
.award-desc {
  font-size: .82rem;
  color: var(--gray);
  line-height: 1.7;
  margin: 0 0 16px;
  flex: 1;
}

/* ── 하단 수여자 ── */
.award-footer {
  padding-top: 14px;
  border-top: 1px solid var(--gray-border);
}
.award-presenter {
  font-size: .74rem;
  color: var(--gray);
  display: flex;
  align-items: center;
  gap: 6px;
}
.award-presenter i {
  color: var(--gold);
  font-size: .7rem;
}

/* ── 골드카드 — 상단 강조선 ── */
.award-card--gold::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 3px;
  background: linear-gradient(90deg, var(--aw-gold-from), var(--aw-gold-to));
}
.award-card--special::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 3px;
  background: linear-gradient(90deg, var(--orange), var(--orange-light));
}

/* ── 반응형 ── */
@media (max-width:1100px) {
  .awards-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
  }
}
@media (max-width:640px) {
  .awards-grid {
    grid-template-columns: 1fr;
    gap: 16px;
    margin-top: 36px;
  }
  .award-title { font-size: .95rem; }
  .award-desc  { font-size: .78rem; }
}

/* ══════════════════════════════════════
   VIDEO SECTIONS
   ══════════════════════════════════════ */

/* ──────────────────────────────────────
   VIDEO BAND ① — Hero 하단 풀와이드 띠
   얇은 시네마틱 스트립. 텍스트 없음.
   ────────────────────────────────────── */
.video-band {
  position: relative;
  width: 100%;
  height: 320px;
  overflow: hidden;
  background: var(--dark2);
}
.video-band--top { height: 300px; }

.video-band__player {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  /* L8qV3nf8(13.MP4) — 현장감 있는 첫 영상, 중앙 프레임 유지 */
  object-position: center 35%;
  display: block;
  filter: brightness(0.82) contrast(1.10) saturate(1.12);
  transition: filter 1s ease;
}
.video-band:hover .video-band__player {
  filter: brightness(0.88) contrast(1.08) saturate(1.10);
}

/* Video Band 높이 — 풀스크린 스트립 (더 시네마틱) */
.video-band { height: 420px; }
.video-band--top { height: 400px; }

/* 오버레이: 상하에 베이지 그라디언트로 섹션 자연스럽게 연결 */
.video-band__overlay {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(to bottom,
      var(--beige) 0%,
      rgba(245,240,230,.2) 15%,
      transparent 35%,
      transparent 70%,
      rgba(26,22,20,.5) 88%,
      var(--dark2) 100%
    );
  pointer-events: none;
}

/* 우하단 작은 레이블 */
.video-band__label {
  position: absolute;
  bottom: 16px;
  right: 20px;
  display: flex;
  align-items: center;
  gap: 7px;
  font-size: .72rem;
  font-weight: 600;
  letter-spacing: .06em;
  color: rgba(255,255,255,.75);
  background: rgba(0,0,0,.38);
  backdrop-filter: blur(6px);
  border-radius: 50px;
  padding: 5px 14px 5px 10px;
  border: 1px solid rgba(255,255,255,.12);
}
.vb-dot {
  width: 6px; height: 6px;
  border-radius: 50%;
  background: var(--orange);
  animation: vb-pulse 1.6s ease infinite;
}
@keyframes vb-pulse {
  0%, 100% { opacity: 1; transform: scale(1); }
  50%       { opacity: .5; transform: scale(1.4); }
}

@media (max-width: 768px) {
  .video-band { height: 280px; }
  .video-band--top { height: 260px; }
  .video-band__label { font-size: .65rem; bottom: 10px; right: 12px; }
  .video-band__player { object-position: center 30%; }
}
@media (max-width: 480px) {
  .video-band { height: 220px; }
  .video-band--top { height: 200px; }
}

/* ──────────────────────────────────────
   VIDEO FEATURE ② — 중간 Left/Right 레이아웃
   영상 좌측 60% + 텍스트 우측 40%
   ────────────────────────────────────── */
.video-feature {
  position: relative;
  overflow: hidden;
  background: var(--dark2);
}
.video-feature--mid {
  min-height: 620px;
  display: flex;
  align-items: stretch;
}

/* 영상 영역 — 좌측 60% */
.vf-video-wrap {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.vf-player {
  width: 100%;
  height: 100%;
  object-fit: cover;
  /* iQcqXMfq(1.MP4) — 풍부한 현장 스토리 */
  object-position: center 28%;
  display: block;
  filter: brightness(0.72) contrast(1.12) saturate(1.10);
  transition: filter 1s ease;
}
.video-feature:hover .vf-player {
  filter: brightness(0.78) contrast(1.10) saturate(1.08);
}

/* 오버레이: 좌→우 다크 그라디언트 (우측 텍스트 공간 확보) + 상하 비네트 */
.vf-overlay {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(
      to right,
      rgba(26,22,20,0.10) 0%,
      rgba(26,22,20,0.45) 50%,
      rgba(26,22,20,0.90) 72%,
      rgba(26,22,20,0.97) 100%
    ),
    linear-gradient(
      to bottom,
      rgba(26,22,20,0.25) 0%,
      transparent 20%,
      transparent 80%,
      rgba(26,22,20,0.35) 100%
    );
}

/* 텍스트 콘텐츠 — 오른쪽 정렬 */
.vf-content {
  position: relative;
  z-index: 2;
  width: 100%;
  display: flex;
  align-items: center;
  padding: 80px 0;
}
.vf-text-box {
  margin-left: auto;
  max-width: 420px;
  padding-right: 0;
}

.vf-hl {
  font-size: clamp(2rem, 4vw, 3rem);
  font-weight: 900;
  color: #fff;
  line-height: 1.2;
  letter-spacing: -.03em;
  margin: 16px 0 20px;
}
.vf-hl em {
  font-style: normal;
  color: var(--gold);
}

.vf-desc {
  font-size: .96rem;
  color: rgba(255,255,255,.65);
  line-height: 1.9;
}

@media (max-width: 900px) {
  .video-feature--mid { min-height: 480px; }
  .vf-overlay {
    background: linear-gradient(
      to bottom,
      rgba(26,22,20,0.15) 0%,
      rgba(26,22,20,0.80) 50%,
      rgba(26,22,20,0.97) 100%
    );
  }
  .vf-text-box {
    margin: 0 auto;
    max-width: 100%;
    text-align: center;
    padding: 0 20px;
  }
}
@media (max-width: 480px) {
  .video-feature--mid { min-height: 380px; }
  .vf-player { object-position: center 25%; }
}

/* ══════════════════════════════════════
   PLANS SECTION — 마케팅 플랜 비교
   다크 배경 + 3열 플랜 카드 입체 구성
   ══════════════════════════════════════ */

.plans-sec { background: var(--dark2); }

/* ── 3열 그리드 ── */
.plans-cols {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 20px;
  margin-top: 52px;
  align-items: start;
}

/* ── 공통 플랜 카드 ── */
.plan-col {
  position: relative;
  border-radius: 24px;
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.09);
  overflow: hidden;
  transition: transform .32s cubic-bezier(.22,1,.36,1),
              box-shadow .32s ease,
              border-color .28s;
  display: flex;
  flex-direction: column;
}
.plan-col:hover {
  transform: translateY(-10px);
  box-shadow: 0 24px 60px rgba(0,0,0,.5);
  border-color: rgba(255,255,255,.18);
}

/* ── 추천 카드 강조 ── */
.plan-col--featured {
  background: rgba(217,162,75,.07);
  border-color: rgba(217,162,75,.35);
  box-shadow: 0 8px 40px rgba(217,162,75,.12);
  transform: translateY(-4px);
}
.plan-col--featured:hover {
  transform: translateY(-14px);
  box-shadow: 0 28px 72px rgba(217,162,75,.22);
}

/* ── 추천 뱃지 ── */
.plan-featured-badge {
  position: absolute;
  top: 0; left: 50%;
  transform: translateX(-50%);
  background: linear-gradient(90deg, var(--gold), #F0C878);
  color: var(--dark);
  font-size: .7rem;
  font-weight: 800;
  letter-spacing: .1em;
  padding: 5px 18px;
  border-radius: 0 0 14px 14px;
  white-space: nowrap;
  z-index: 2;
  box-shadow: 0 4px 16px rgba(217,162,75,.4);
}

/* ── 플랜 헤더 ── */
.plan-col-head {
  padding: 32px 24px 20px;
  border-bottom: 1px solid rgba(255,255,255,.07);
  position: relative;
}
.plan-col--featured .plan-col-head {
  padding-top: 42px; /* 추천 뱃지 공간 */
  border-bottom-color: rgba(217,162,75,.15);
}

/* ── 티어 뱃지 ── */
.plan-tier-badge {
  display: inline-block;
  font-size: .68rem;
  font-weight: 800;
  letter-spacing: .14em;
  padding: 4px 12px;
  border-radius: 50px;
  margin-bottom: 10px;
}
.plan-tier-badge--a {
  background: rgba(138,155,176,.18);
  color: #B8C8D8;
  border: 1px solid rgba(138,155,176,.3);
}
.plan-tier-badge--b {
  background: rgba(217,162,75,.18);
  color: var(--gold);
  border: 1px solid rgba(217,162,75,.4);
}
.plan-tier-badge--c {
  background: rgba(232,84,28,.18);
  color: var(--orange);
  border: 1px solid rgba(232,84,28,.35);
}

.plan-col-title {
  font-size: 1.25rem;
  font-weight: 900;
  color: #fff;
  margin: 0 0 6px;
  letter-spacing: -.02em;
}
.plan-col-sub {
  font-size: .78rem;
  color: rgba(255,255,255,.45);
  margin: 0 0 12px;
}
.plan-col-tag {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: .72rem;
  font-weight: 600;
  color: rgba(255,255,255,.55);
  background: rgba(255,255,255,.07);
  border-radius: 50px;
  padding: 4px 12px;
}
.plan-col-tag--c {
  color: var(--orange);
  background: rgba(232,84,28,.1);
}

/* ── 항목 리스트 ── */
.plan-items {
  list-style: none;
  padding: 16px 20px;
  margin: 0;
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 2px;
}

/* ── 개별 항목 ── */
.plan-item {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 10px 8px;
  border-radius: 10px;
  transition: background .2s;
}
.plan-item:hover {
  background: rgba(255,255,255,.04);
}

/* 미포함 항목 */
.plan-item--off {
  opacity: .38;
}

/* 전략 항목 강조 */
.plan-item--strategy {
  margin-top: 6px;
  padding: 12px 12px;
  border-radius: 12px;
  background: rgba(255,255,255,.05);
  border: 1px solid rgba(255,255,255,.08);
}
.plan-item--strategy-b {
  background: rgba(217,162,75,.08);
  border-color: rgba(217,162,75,.2);
}
.plan-item--strategy-c {
  background: rgba(232,84,28,.08);
  border-color: rgba(232,84,28,.2);
}

/* ── 아이콘 ── */
.pi-icon {
  width: 30px; height: 30px;
  border-radius: 8px;
  background: rgba(255,255,255,.08);
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
  font-size: .8rem;
  color: rgba(255,255,255,.5);
}
.pi-icon--off { background: rgba(255,255,255,.04); color: rgba(255,255,255,.25); }
.pi-icon--b   { background: rgba(217,162,75,.15);  color: var(--gold); }
.pi-icon--c   { background: rgba(232,84,28,.15);   color: var(--orange); }
.pi-icon--strategy   { background: rgba(255,255,255,.1); color: rgba(255,255,255,.7); }
.pi-icon--strategy-b { background: rgba(217,162,75,.2);  color: var(--gold); }
.pi-icon--strategy-c { background: rgba(232,84,28,.2);   color: var(--orange); }

/* ── 텍스트 ── */
.pi-body {
  display: flex;
  flex-direction: column;
  gap: 2px;
  flex: 1;
  min-width: 0;
}
.pi-label {
  font-size: .75rem;
  font-weight: 600;
  color: rgba(255,255,255,.5);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.pi-val {
  font-size: .82rem;
  font-weight: 500;
  color: rgba(255,255,255,.85);
  line-height: 1.4;
}
.pi-val small { font-size: .72rem; color: rgba(255,255,255,.45); }
.pi-val strong { color: #fff; font-weight: 700; }
.pi-val--off { color: rgba(255,255,255,.28); font-style: italic; }
.pi-val--strategy { color: #fff; font-weight: 600; font-size: .85rem; }

/* ── CTA 버튼 ── */
.plan-col-cta {
  padding: 16px 20px 24px;
  border-top: 1px solid rgba(255,255,255,.07);
}
.plan-col--featured .plan-col-cta { border-top-color: rgba(217,162,75,.15); }

.plan-btn {
  display: block;
  text-align: center;
  padding: 13px 20px;
  border-radius: 50px;
  font-size: .88rem;
  font-weight: 700;
  transition: all .25s;
}
.plan-btn--a {
  background: rgba(255,255,255,.08);
  color: rgba(255,255,255,.75);
  border: 1px solid rgba(255,255,255,.15);
}
.plan-btn--a:hover { background: rgba(255,255,255,.15); color: #fff; }

.plan-btn--b {
  background: linear-gradient(135deg, var(--gold), #F0C878);
  color: var(--dark);
  box-shadow: 0 4px 20px rgba(217,162,75,.35);
}
.plan-btn--b:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 32px rgba(217,162,75,.5);
}

.plan-btn--c {
  background: linear-gradient(135deg, var(--orange), var(--orange-light));
  color: #fff;
  box-shadow: 0 4px 20px rgba(232,84,28,.35);
}
.plan-btn--c:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 32px rgba(232,84,28,.5);
}

/* ── 하단 안내 ── */
.plans-bottom {
  margin-top: 40px;
}
.plans-bottom-inner {
  display: flex;
  align-items: center;
  gap: 16px;
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 16px;
  padding: 20px 28px;
  flex-wrap: wrap;
}
.plans-bottom-inner > i {
  font-size: 1.1rem;
  color: var(--gold);
  flex-shrink: 0;
}
.plans-bottom-inner > p {
  font-size: .84rem;
  color: rgba(255,255,255,.55);
  flex: 1;
  min-width: 200px;
  line-height: 1.6;
  margin: 0;
}
.plans-bottom-inner > p strong { color: rgba(255,255,255,.85); }
.plans-bottom-btn {
  font-size: .82rem;
  font-weight: 700;
  color: var(--gold);
  white-space: nowrap;
  border: 1px solid rgba(217,162,75,.35);
  padding: 9px 18px;
  border-radius: 50px;
  transition: all .22s;
  background: rgba(217,162,75,.06);
}
.plans-bottom-btn:hover {
  background: rgba(217,162,75,.15);
  color: #F0C878;
}

/* ── 반응형 ── */
@media (max-width: 1100px) {
  .plans-cols { grid-template-columns: 1fr; gap: 16px; }
  .plan-col--featured { transform: none; }
  .plan-col--featured:hover { transform: translateY(-8px); }
}
@media (max-width: 768px) {
  .pi-label { white-space: normal; }
  .plans-bottom-inner { flex-direction: column; align-items: flex-start; gap: 12px; }
  .plans-bottom-btn { width: 100%; text-align: center; }
}

/* ──────────────────────────────────────
   VIDEO SHOWREEL ③ — 하단 풀스크린 섹션
   배경 영상 + 중앙 CTA 텍스트
   ────────────────────────────────────── */
.video-showreel {
  position: relative;
  overflow: hidden;
}

.vsr-wrap {
  position: relative;
  /* Showreel ③ — BWkSMw4D, 진짜 풀스크린 비율 */
  height: 100vh;
  min-height: 560px;
  max-height: 860px;
  overflow: hidden;
}

.vsr-player {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  /* BWkSMw4D — 기존 영상, 상단 25% 크롭으로 얼굴 회피 */
  object-position: center 25%;
  display: block;
  filter: brightness(0.70) contrast(1.12) saturate(1.10);
  transition: filter 1.2s ease;
}
.vsr-wrap:hover .vsr-player {
  filter: brightness(0.76) contrast(1.10) saturate(1.08);
}

/* 오버레이: 다크 + 오렌지 하단 터치 + 시네마틱 비네트 */
.vsr-overlay {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(
      160deg,
      rgba(26,22,20,0.65) 0%,
      rgba(26,22,20,0.50) 35%,
      rgba(26,22,20,0.55) 65%,
      rgba(232,84,28,0.28) 100%
    );
}
/* 시네마틱 레터박스 효과 — 상하 블랙 스트립 */
.vsr-wrap::before,
.vsr-wrap::after {
  content: '';
  position: absolute;
  left: 0; right: 0;
  height: 12%;
  background: rgba(0,0,0,0.55);
  z-index: 1;
  pointer-events: none;
}
.vsr-wrap::before { top: 0; }
.vsr-wrap::after  { bottom: 0; }

/* 중앙 텍스트 */
.vsr-content {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 40px 20px;
  z-index: 2;
}

.vsr-eyebrow {
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .2em;
  color: var(--gold);
  margin-bottom: 18px;
  padding: 5px 16px;
  border: 1px solid rgba(217,162,75,.4);
  border-radius: 50px;
  backdrop-filter: blur(4px);
  background: rgba(217,162,75,.08);
}

.vsr-hl {
  font-size: clamp(2.4rem, 6vw, 4.5rem);
  font-weight: 900;
  color: #fff;
  letter-spacing: -.04em;
  margin: 0 0 16px;
  text-shadow: 0 2px 32px rgba(0,0,0,.4);
}

.vsr-sub {
  font-size: clamp(.9rem, 1.8vw, 1.1rem);
  color: rgba(255,255,255,.7);
  margin: 0 0 36px;
  line-height: 1.7;
}

.vsr-btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-size: 1rem;
  font-weight: 700;
  padding: 15px 32px;
  border-radius: 50px;
  transition: var(--tr);
}
.vsr-btn:hover {
  transform: translateY(-3px);
  box-shadow: 0 8px 32px rgba(232,84,28,.45);
}

/* 음소거 버튼 — 우하단 */
.vsr-mute-btn {
  position: absolute;
  bottom: 24px;
  right: 24px;
  z-index: 3;
  width: 42px; height: 42px;
  border-radius: 50%;
  background: rgba(255,255,255,.15);
  border: 1.5px solid rgba(255,255,255,.3);
  backdrop-filter: blur(8px);
  color: #fff;
  font-size: .9rem;
  cursor: pointer;
  transition: background .25s, transform .2s;
  display: flex; align-items: center; justify-content: center;
}
.vsr-mute-btn:hover {
  background: rgba(255,255,255,.28);
  transform: scale(1.08);
}

@media (max-width: 768px) {
  .vsr-wrap {
    height: 85vh;
    min-height: 480px;
    max-height: 640px;
  }
  .vsr-hl   { font-size: 2.2rem; }
  .vsr-player { object-position: center 20%; }
}
@media (max-width: 480px) {
  .vsr-wrap {
    height: 80vh;
    min-height: 380px;
    max-height: 520px;
  }
  .vsr-btn  { font-size: .88rem; padding: 13px 24px; }
  .vsr-player { object-position: center 15%; }
}

/* ══════════════════════════════════════
   PARTNERS — 파트너사 로고 슬라이드 + 감사 인사말
   ══════════════════════════════════════ */

/* ── 섹션 기본 ── */
.partners-sec {
  padding: 100px 0 0;
  overflow: hidden;
}

/* ── 서브타이틀 ── */
.partners-sub {
  font-size: .96rem;
  color: var(--gray);
  margin-top: 12px;
  display: flex;
  align-items: center;
  gap: 8px;
  justify-content: center;
}
.partners-sub::before {
  content: '';
  display: inline-block;
  width: 8px; height: 8px;
  border-radius: 50%;
  background: var(--orange);
  flex-shrink: 0;
}

/* ── 통계 바 ── */
.partners-stats {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0;
  background: #fff;
  border: 1px solid var(--gray-border);
  border-radius: var(--radius-xl);
  padding: 28px 40px;
  margin: 40px auto 0;
  max-width: 760px;
  box-shadow: 0 4px 24px rgba(42,37,34,.06);
}
.pstat {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  flex: 1;
  text-align: center;
}
.pstat strong {
  font-size: 2rem;
  font-weight: 900;
  color: var(--orange);
  font-family: var(--font-en);
  line-height: 1;
  letter-spacing: -.03em;
}
.pstat strong span {
  font-size: 1.3rem;
}
.pstat > span {
  font-size: .76rem;
  color: var(--gray);
  font-weight: 600;
  letter-spacing: .02em;
}
.pstat-div {
  width: 1px;
  height: 44px;
  background: var(--gray-border);
  flex-shrink: 0;
}

/* ── 로고 슬라이더 래퍼 ── */
.logo-slider-wrap {
  position: relative;
  margin-top: 64px;
  overflow: hidden;
  padding: 32px 0;
  background: #fff;
  border-top: 1px solid var(--gray-border);
  border-bottom: 1px solid var(--gray-border);
}

/* 양쪽 그라디언트 페이드 마스크 */
.logo-fade {
  position: absolute;
  top: 0; bottom: 0;
  width: 180px;
  z-index: 2;
  pointer-events: none;
}
.logo-fade--left  { left: 0;  background: linear-gradient(to right, var(--cream) 0%, transparent 100%); }
.logo-fade--right { right: 0; background: linear-gradient(to left,  var(--cream) 0%, transparent 100%); }

/* ── 슬라이더 트랙 ── */
.logo-slider {
  overflow: hidden;
  width: 100%;
}
.logo-track {
  display: flex;
  align-items: center;
  gap: 0;
  width: max-content;
  animation: logo-scroll 48s linear infinite;
  will-change: transform;
}
.logo-track:hover {
  animation-play-state: paused;
}
@keyframes logo-scroll {
  0%   { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}

/* ── 개별 로고 아이템 ── */
.logo-item {
  flex-shrink: 0;
  width: 180px;
  height: 96px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 16px 24px;
  border-right: 1px solid var(--gray-border);
  transition: background .25s;
}
.logo-item:hover {
  background: var(--beige);
}
.logo-item img {
  max-width: 100%;
  max-height: 60px;
  width: auto;
  height: auto;
  object-fit: contain;
  /* 누끼(배경 제거) 효과 — 흰 배경 이미지의 흰색 영역을 자연스럽게 blend */
  mix-blend-mode: multiply;
  filter: grayscale(20%);
  transition: filter .3s, transform .3s;
}
.logo-item:hover img {
  filter: grayscale(0%);
  transform: scale(1.08);
}

/* ── 파트너 보이스 (감사 인사말) ── */
.partner-voices {
  padding: 80px 0 100px;
}

.pv-head {
  text-align: center;
  margin-bottom: 52px;
}
.pv-hl {
  font-size: clamp(1.6rem, 3vw, 2.2rem);
  font-weight: 900;
  color: var(--dark);
  margin: 10px 0 0;
  letter-spacing: -.03em;
  line-height: 1.3;
}
.pv-hl em {
  font-style: normal;
  color: var(--orange);
}

/* ── 카드 그리드 ── */
.pv-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  margin-bottom: 52px;
}

/* ── 기본 카드 ── */
.pv-card {
  background: #fff;
  border: 1px solid var(--gray-border);
  border-radius: var(--radius-xl);
  padding: 32px 28px 28px;
  display: flex;
  flex-direction: column;
  gap: 16px;
  position: relative;
  transition: transform .3s cubic-bezier(.22,1,.36,1),
              box-shadow .3s ease,
              border-color .3s;
  box-shadow: 0 2px 12px rgba(42,37,34,.05);
}
.pv-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 16px 48px rgba(42,37,34,.10);
  border-color: var(--orange-glow);
}

/* 추천 카드 강조 */
.pv-card--featured {
  background: linear-gradient(135deg, #fffaf5 0%, #fff4e8 100%);
  border-color: rgba(232,84,28,.25);
  box-shadow: 0 4px 24px rgba(232,84,28,.10);
}
.pv-card--featured:hover {
  box-shadow: 0 20px 60px rgba(232,84,28,.18);
  border-color: var(--orange);
}

/* 인용부호 아이콘 */
.pv-quote-icon {
  width: 36px; height: 36px;
  border-radius: 50%;
  background: var(--orange-pale);
  border: 1px solid var(--border-o);
  display: flex; align-items: center; justify-content: center;
  color: var(--orange);
  font-size: .9rem;
  flex-shrink: 0;
}
.pv-card--featured .pv-quote-icon {
  background: var(--orange);
  color: #fff;
  border-color: var(--orange);
}

/* 인사말 텍스트 */
.pv-text {
  font-size: .9rem;
  color: var(--gray);
  line-height: 1.85;
  flex: 1;
  word-break: keep-all;
}
.pv-card--featured .pv-text {
  color: var(--dark);
}

/* 작성자 */
.pv-author {
  display: flex;
  align-items: center;
  gap: 12px;
  padding-top: 16px;
  border-top: 1px solid var(--gray-border);
}
.pv-card--featured .pv-author {
  border-top-color: rgba(232,84,28,.15);
}

/* 아바타 원형 */
.pv-avatar {
  width: 44px; height: 44px;
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  color: #fff;
  font-size: .95rem;
  flex-shrink: 0;
}

.pv-author strong {
  display: block;
  font-size: .88rem;
  font-weight: 700;
  color: var(--dark);
  margin-bottom: 2px;
}
.pv-author span {
  font-size: .76rem;
  color: var(--gray-light);
}

/* ── 하단 CTA ── */
.pv-cta {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 20px;
  padding: 28px 40px;
  background: var(--orange-pale);
  border: 1px solid var(--border-o);
  border-radius: var(--radius-xl);
  flex-wrap: wrap;
  text-align: center;
}
.pv-cta p {
  font-size: 1rem;
  font-weight: 700;
  color: var(--dark);
  margin: 0;
}
.pv-cta .btn-orange {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 13px 28px;
  font-size: .9rem;
  border-radius: 50px;
  flex-shrink: 0;
}

/* ── 반응형 — 태블릿 ── */
@media (max-width: 1100px) {
  .pv-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 768px) {
  .partners-stats { padding: 20px 24px; flex-wrap: wrap; gap: 16px; }
  .pstat-div { display: none; }
  .pstat { flex: 1; min-width: 80px; }
  .pstat strong { font-size: 1.6rem; }
  .logo-item { width: 140px; height: 80px; padding: 12px 16px; }
  .logo-fade { width: 80px; }
  .pv-grid { grid-template-columns: 1fr; }
  .pv-cta { flex-direction: column; gap: 14px; padding: 24px 20px; }
}
@media (max-width: 480px) {
  .logo-item { width: 120px; height: 72px; }
}

/* ══════════════════════════════════════
   YOUTUBE — 듀얼 채널 탭 시스템
   가치담다(@gachidam) + 장사민족TV(@JangsaminjokTV)
   ══════════════════════════════════════ */

/* ── 탭 전환 버튼 래퍼 ── */
.yt-tab-wrap {
  display: flex;
  gap: 12px;
  justify-content: center;
  margin: 40px 0 0;
  flex-wrap: wrap;
}

/* ── 탭 버튼 ── */
.yt-tab-btn {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  padding: 13px 30px;
  border-radius: 50px;
  border: 1.5px solid rgba(255,255,255,.15);
  background: rgba(255,255,255,.06);
  color: rgba(255,255,255,.55);
  font-family: var(--font-kr);
  font-weight: 700;
  font-size: .9rem;
  cursor: pointer;
  transition: all .25s cubic-bezier(.25,.46,.45,.94);
  letter-spacing: -.01em;
}
.yt-tab-btn .fab {
  color: rgba(255,0,0,.65);
  font-size: 1.1rem;
  transition: color .25s;
}
.yt-tab-btn.active,
.yt-tab-btn:hover {
  background: rgba(232,84,28,.16);
  border-color: var(--orange);
  color: #fff;
  box-shadow: 0 4px 20px rgba(232,84,28,.2);
}
.yt-tab-btn.active .fab,
.yt-tab-btn:hover .fab {
  color: #FF0000;
}

/* ── 패널 show/hide ── */
.yt-panel {
  display: none;
}
.yt-panel.active {
  display: block;
  animation: yt-panel-in .35s cubic-bezier(.22,1,.36,1);
}
@keyframes yt-panel-in {
  from { opacity: 0; transform: translateY(12px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* ── 채널 히어로 래퍼 ── */
.yt-channel-hero {
  margin-top: 44px;
}

/* ── 채널 정보 헤더 (아바타 + 텍스트 + 버튼) ── */
.yt-ch-info {
  display: flex;
  align-items: flex-start;
  gap: 22px;
  margin-bottom: 32px;
}

/* ── 채널 아바타 ── */
.yt-ch-avatar {
  width: 72px;
  height: 72px;
  border-radius: 50%;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.8rem;
  color: #fff;
  border: 2.5px solid rgba(255,255,255,.2);
  box-shadow: 0 4px 20px rgba(0,0,0,.3);
}

/* ── 채널 이름 / 핸들 / 설명 ── */
.yt-ch-name {
  font-size: 1.3rem;
  font-weight: 900;
  color: #fff;
  margin: 0 0 4px;
  letter-spacing: -.02em;
}
.yt-ch-handle {
  font-size: .8rem;
  font-family: var(--font-en);
  color: rgba(255,255,255,.4);
  margin: 0 0 8px;
}
.yt-ch-desc {
  font-size: .86rem;
  color: rgba(255,255,255,.58);
  line-height: 1.7;
  margin: 0 0 16px;
}

/* ── 채널 CTA 버튼 모음 ── */
.yt-ch-btns {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

/* 일반 구독 버튼 (빨강) */
.btn-yt {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 11px 22px;
  background: #FF0000;
  color: #fff;
  font-weight: 700;
  font-size: .85rem;
  border-radius: 50px;
  transition: var(--tr);
}
.btn-yt:hover {
  background: #CC0000;
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(255,0,0,.35);
}

/* Shorts 버튼 (오렌지) */
.btn-yt-shorts {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 11px 22px;
  background: rgba(232,84,28,.18);
  color: var(--orange);
  font-weight: 700;
  font-size: .85rem;
  border-radius: 50px;
  border: 1.5px solid rgba(232,84,28,.4);
  transition: var(--tr);
}
.btn-yt-shorts:hover {
  background: var(--orange);
  color: #fff;
  border-color: var(--orange);
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(232,84,28,.4);
}

/* ── 임베드 그리드: 가로 = 메인 iframe + 링크 카드 3개 ── */
.yt-embed-grid {
  display: grid;
  grid-template-columns: 1.6fr 1fr;
  gap: 20px;
  align-items: start;
}

/* 메인 iframe 래퍼 */
.yt-embed-main {
  position: relative;
  border-radius: var(--radius-lg);
  overflow: hidden;
  aspect-ratio: 16 / 9;
  background: #0a0a0a;
  box-shadow: 0 8px 40px rgba(0,0,0,.5);
}
.yt-embed-main iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: none;
  display: block;
}

/* ── 링크 카드 목록 ── */
.yt-link-cards {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

/* 개별 링크 카드 */
.yt-link-card {
  display: flex;
  gap: 14px;
  align-items: center;
  background: rgba(255,255,255,.05);
  border: 1px solid rgba(255,255,255,.09);
  border-radius: var(--radius);
  overflow: hidden;
  transition: var(--tr);
  text-decoration: none;
}
.yt-link-card:hover {
  border-color: rgba(232,84,28,.4);
  background: rgba(232,84,28,.07);
  transform: translateX(4px);
}

/* 썸네일 */
.yt-lc-thumb {
  position: relative;
  width: 90px;
  min-height: 68px;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}
.yt-lc-thumb--1 { background: linear-gradient(135deg, #1a1a2e, #0f3460); }
.yt-lc-thumb--2 { background: linear-gradient(135deg, #2d1b69, #11998e); }
.yt-lc-thumb--3 { background: linear-gradient(135deg, #E8541C, #D9A24B); }

/* 재생 아이콘 */
.yt-lc-play {
  width: 32px; height: 32px;
  background: rgba(255,0,0,.85);
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  color: #fff;
  font-size: .75rem;
  transition: var(--tr);
}
.yt-link-card:hover .yt-lc-play {
  background: #FF0000;
  transform: scale(1.1);
}

/* 뱃지 */
.yt-lc-badge {
  position: absolute;
  bottom: 5px; left: 5px;
  font-size: .62rem;
  font-weight: 700;
  padding: 2px 7px;
  background: var(--orange);
  color: #fff;
  border-radius: 4px;
}

/* 카드 텍스트 */
.yt-lc-body {
  padding: 10px 14px 10px 0;
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.yt-lc-body strong {
  font-size: .82rem;
  font-weight: 700;
  color: #fff;
  line-height: 1.4;
  display: block;
}
.yt-lc-body span {
  font-size: .72rem;
  color: rgba(255,255,255,.38);
}

/* ── Shorts 그리드 (장사민족TV 패널) ── */
.yt-embed-grid--shorts {
  grid-template-columns: 1fr; /* Shorts 패널은 풀 너비 */
}

.yt-shorts-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
  align-items: start;
}

/* Shorts iframe 아이템 */
.yt-short-item {
  position: relative;
  border-radius: var(--radius-lg);
  overflow: hidden;
  aspect-ratio: 16 / 9;
  background: #0a0a0a;
  box-shadow: 0 8px 40px rgba(0,0,0,.5);
}
.yt-short-item iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: none;
  display: block;
}

/* "Shorts" 레이블 */
.yt-short-label {
  position: absolute;
  top: 12px;
  left: 12px;
  display: flex;
  align-items: center;
  gap: 5px;
  font-size: .68rem;
  font-weight: 700;
  color: #fff;
  background: var(--orange);
  padding: 4px 10px;
  border-radius: 50px;
  letter-spacing: .04em;
  z-index: 2;
  pointer-events: none;
}

/* ── 장사민족TV 채널 소개 카드 ── */
.yt-jangsa-info {
  display: flex;
  flex-direction: column;
  gap: 20px;
  padding: 28px;
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.09);
  border-radius: var(--radius-lg);
  height: 100%;
}

/* 통계 행 */
.yt-jangsa-stat-row {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
}
.yt-jangsa-stat {
  display: flex;
  align-items: center;
  gap: 7px;
  padding: 8px 16px;
  background: rgba(232,84,28,.1);
  border: 1px solid rgba(232,84,28,.2);
  border-radius: 50px;
  font-size: .78rem;
  font-weight: 600;
  color: rgba(255,255,255,.8);
}
.yt-jangsa-stat i {
  color: var(--orange);
  font-size: .8rem;
}

/* 태그 */
.yt-jangsa-tags {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}
.yt-jangsa-tags span {
  font-size: .76rem;
  font-weight: 600;
  color: rgba(255,255,255,.5);
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.1);
  padding: 4px 12px;
  border-radius: 50px;
  transition: var(--tr);
}
.yt-jangsa-tags span:hover {
  background: rgba(232,84,28,.14);
  border-color: rgba(232,84,28,.35);
  color: rgba(255,255,255,.85);
}

/* 하단 CTA */
.yt-jangsa-cta {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 14px 24px;
  background: linear-gradient(135deg, #FF0000, #CC0000);
  color: #fff;
  font-weight: 700;
  font-size: .9rem;
  border-radius: 50px;
  text-align: center;
  transition: var(--tr);
  margin-top: auto;
  box-shadow: 0 4px 20px rgba(255,0,0,.25);
}
.yt-jangsa-cta:hover {
  transform: translateY(-3px);
  box-shadow: 0 10px 32px rgba(255,0,0,.4);
}
.yt-jangsa-cta .fab { font-size: 1.1rem; }
.yt-jangsa-cta .fas.fa-arrow-right { font-size: .8rem; opacity: .8; }

/* ── 반응형 — 태블릿 ── */
@media (max-width: 1100px) {
  .yt-embed-grid {
    grid-template-columns: 1fr;
  }
  .yt-link-cards {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
  }
  .yt-link-card {
    flex-direction: column;
    align-items: stretch;
  }
  .yt-lc-thumb {
    width: 100%;
    min-height: 100px;
  }
  .yt-lc-body { padding: 10px 12px 12px; }
}

/* ── 반응형 — 모바일 ── */
@media (max-width: 768px) {
  .yt-tab-btn { padding: 11px 20px; font-size: .82rem; }
  .yt-ch-info { flex-direction: column; gap: 16px; }
  .yt-ch-avatar { width: 56px; height: 56px; font-size: 1.4rem; }
  .yt-ch-btns { gap: 8px; }
  .btn-yt, .btn-yt-shorts { font-size: .8rem; padding: 9px 16px; }
  .yt-link-cards { grid-template-columns: 1fr; }
  .yt-shorts-grid { grid-template-columns: 1fr; }
  .yt-jangsa-info { padding: 20px; }
  .yt-jangsa-stat-row { gap: 8px; }
}

/* ══════════════════════════════════════════════════════════
   ✦ UPGRADE v4 — 타이포그래피 + 입체감 전면 업그레이드
   ══════════════════════════════════════════════════════════ */

/* ─────────────────────────────────────────
   Phase A · 타이포그래피 시스템
   ───────────────────────────────────────── */

/* 섹션 아이브로우 — 더 선명하고 정돈된 간격 */
.sec-eyebrow {
  font-size: .68rem;
  letter-spacing: .28em;
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.sec-eyebrow::before {
  content: '';
  display: inline-block;
  width: 20px; height: 2px;
  background: currentColor;
  border-radius: 1px;
  flex-shrink: 0;
}
.sec-eyebrow--white::before { background: rgba(255,255,255,.45); }

/* 섹션 제목 — 더 타이트한 자간, 강화된 행간 */
.sec-title {
  letter-spacing: -.035em;
  line-height: 1.18;
}

/* 히어로 헤드라인 강화 */
.hl { letter-spacing: -.04em; }
.hl--num {
  font-size: clamp(3.2rem, 6vw, 5.2rem);
  letter-spacing: -.05em;
  line-height: 1;
  text-shadow:
    0 2px 0 rgba(232,84,28,.15),
    0 8px 40px rgba(232,84,28,.22),
    0 0 80px rgba(232,84,28,.08);
  display: inline-block;
}
.hl--num em {
  font-size: .45em;
  letter-spacing: -.02em;
  vertical-align: baseline;
  display: inline;
}
.hl--main {
  font-size: clamp(1.9rem, 3.2vw, 2.8rem);
  letter-spacing: -.04em;
  line-height: 1.15;
}
.hl--sub {
  font-size: clamp(1.1rem, 1.8vw, 1.5rem);
  letter-spacing: -.02em;
  line-height: 1.4;
  font-weight: 600;
}

/* 히어로 서브텍스트 */
.hero-sub {
  font-size: 1.08rem;
  line-height: 1.9;
  letter-spacing: -.01em;
  border-left-width: 3px;
  padding-left: 18px;
}

/* 문제 섹션 헤드라인 */
.prob-main-hl {
  letter-spacing: -.04em;
  line-height: 1.15;
}
.prob-question {
  letter-spacing: -.03em;
}

/* About 헤드라인 */
.about-hl {
  letter-spacing: -.04em;
  line-height: 1.18;
}
.about-desc {
  font-size: 1.02rem;
  line-height: 1.95;
  letter-spacing: -.01em;
  word-break: keep-all;
}

/* CEO 헤드라인 */
.ceo-hl {
  letter-spacing: -.04em;
  line-height: 1.18;
}
.ceo-desc {
  line-height: 1.95;
  letter-spacing: -.01em;
  word-break: keep-all;
}

/* Video Feature 헤드라인 */
.vf-hl { letter-spacing: -.04em; }

/* 리뷰 텍스트 */
.rv-text {
  font-size: 1.08rem;
  line-height: 1.95;
  letter-spacing: -.015em;
}

/* Contact 헤드라인 */
.contact-hl { letter-spacing: -.04em; line-height: 1.2; }

/* 서비스 카드 제목 강화 */
.svc-card h3 {
  font-size: 1.05rem;
  font-weight: 800;
  letter-spacing: -.025em;
  line-height: 1.35;
}
.svc-card p {
  font-size: .9rem;
  line-height: 1.75;
  letter-spacing: -.01em;
}

/* prob 카드 텍스트 */
.prob-card h3 {
  font-size: 1.06rem;
  font-weight: 800;
  letter-spacing: -.025em;
}
.prob-card p {
  font-size: .9rem;
  line-height: 1.75;
  letter-spacing: -.01em;
}

/* 통계 숫자 강화 */
.hst-n {
  font-size: 2.1rem;
  letter-spacing: -.03em;
}
.astat-num {
  font-size: 2.4rem;
  letter-spacing: -.04em;
}
.rnum strong {
  letter-spacing: -.04em;
}

/* pob 텍스트 */
.pob-title {
  letter-spacing: -.035em;
  line-height: 1.22;
}
.pob-list li span:nth-child(2) {
  letter-spacing: -.02em;
}

/* 파트너 보이스 텍스트 */
.pv-hl { letter-spacing: -.04em; }
.pv-text {
  font-size: .92rem;
  line-height: 1.9;
  letter-spacing: -.01em;
}

/* 플랜 카드 타이틀 */
.plan-col-title {
  letter-spacing: -.03em;
  font-size: 1.3rem;
}

/* 어워드 타이틀 */
.award-title {
  letter-spacing: -.03em;
  line-height: 1.35;
}

/* Motto card */
.motto-card p {
  letter-spacing: -.02em;
  font-size: 1.1rem;
}

/* ─────────────────────────────────────────
   Phase B · 이미지 & 카드 깊이감
   ───────────────────────────────────────── */

/* 히어로 사진 — 강화된 멀티레이어 그림자 + 이미지 필터 */
.hero-photo-main {
  box-shadow:
    0 1px 2px rgba(42,37,34,.08),
    0 4px 12px rgba(42,37,34,.10),
    0 16px 40px rgba(42,37,34,.16),
    0 40px 80px rgba(42,37,34,.14),
    0 8px 32px rgba(232,84,28,.10);
  border-radius: 28px;
}
.hero-img {
  filter: contrast(1.04) saturate(1.08) brightness(1.01);
  transition: filter .5s ease, transform .5s ease;
}
.hero-photo-main:hover .hero-img {
  filter: contrast(1.07) saturate(1.12) brightness(1.03);
  transform: scale(1.02);
}

/* 히어로 사진 레이블 — 강화된 글래스 효과 */
.hero-photo-label {
  background: rgba(18,15,13,.82);
  backdrop-filter: blur(14px) saturate(1.4);
  -webkit-backdrop-filter: blur(14px) saturate(1.4);
  border: 1px solid rgba(255,255,255,.12);
  box-shadow:
    0 4px 20px rgba(0,0,0,.28),
    inset 0 1px 0 rgba(255,255,255,.08);
}

/* 플로팅 배지 — 다층 그림자 + 유리 효과 */
.float-badge {
  background: rgba(255,255,255,.92);
  backdrop-filter: blur(16px) saturate(1.6);
  -webkit-backdrop-filter: blur(16px) saturate(1.6);
  border: 1px solid rgba(255,255,255,.7);
  box-shadow:
    0 2px 6px rgba(42,37,34,.06),
    0 8px 24px rgba(42,37,34,.12),
    0 20px 48px rgba(42,37,34,.08),
    inset 0 1px 0 rgba(255,255,255,.9);
  font-weight: 700;
  letter-spacing: -.02em;
}
.float-badge i {
  filter: drop-shadow(0 2px 4px rgba(232,84,28,.25));
}

/* CEO 사진 — 강화 그림자 + 비네트 효과 */
.ceo-photo-main {
  box-shadow:
    0 2px 8px rgba(42,37,34,.08),
    0 12px 32px rgba(42,37,34,.14),
    0 32px 72px rgba(42,37,34,.16);
  position: relative;
}
.ceo-photo-main::after {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: linear-gradient(
    to bottom,
    transparent 60%,
    rgba(42,37,34,.25) 100%
  );
  pointer-events: none;
}
.ceo-img {
  filter: contrast(1.04) saturate(1.06);
  transition: filter .4s ease;
}
.ceo-photo-main:hover .ceo-img {
  filter: contrast(1.07) saturate(1.10);
}

/* 서비스 포토 카드 — 더 강한 오버레이 + 이미지 필터 */
.svc-photo {
  filter: contrast(1.05) saturate(1.08) brightness(0.97);
  transition: filter .5s ease, transform .6s cubic-bezier(.25,.46,.45,.94);
}
.svc-card--photo:hover .svc-photo {
  filter: contrast(1.08) saturate(1.12) brightness(1.0);
  transform: scale(1.04);
}
.svc-photo-overlay {
  background: linear-gradient(
    to top,
    rgba(26,22,20,.96) 0%,
    rgba(26,22,20,.72) 45%,
    rgba(26,22,20,.22) 80%,
    transparent 100%
  );
}

/* 포트폴리오 이미지 — 강화된 호버 효과 */
.port-item {
  box-shadow:
    0 2px 8px rgba(42,37,34,.08),
    0 8px 24px rgba(42,37,34,.10);
  transition: transform .4s cubic-bezier(.22,1,.36,1),
              box-shadow .4s ease;
}
.port-item:hover {
  box-shadow:
    0 4px 12px rgba(42,37,34,.10),
    0 20px 48px rgba(42,37,34,.18),
    0 40px 80px rgba(42,37,34,.12);
  transform: translateY(-4px);
}
.port-item img {
  filter: contrast(1.04) saturate(1.06);
  transition: transform .55s cubic-bezier(.25,.46,.45,.94),
              filter .55s ease;
}
.port-item:hover img {
  transform: scale(1.06);
  filter: contrast(1.08) saturate(1.12) brightness(1.02);
}
.port-label {
  background: linear-gradient(
    to top,
    rgba(26,22,20,.88) 0%,
    rgba(26,22,20,.55) 55%,
    transparent 100%
  );
  padding: 32px 18px 16px;
  font-size: .84rem;
  letter-spacing: -.01em;
}

/* ─────────────────────────────────────────
   Phase C · 카드 3D 입체감 업그레이드
   ───────────────────────────────────────── */

/* 서비스 카드 — perspective 3D 효과 */
.svc-card {
  box-shadow:
    0 1px 3px rgba(42,37,34,.05),
    0 4px 12px rgba(42,37,34,.07),
    0 12px 32px rgba(42,37,34,.06);
  transition: transform .35s cubic-bezier(.22,1,.36,1),
              box-shadow .35s ease,
              border-color .25s;
  transform-style: preserve-3d;
}
.svc-card:hover {
  transform: translateY(-8px);
  box-shadow:
    0 2px 4px rgba(42,37,34,.06),
    0 8px 20px rgba(42,37,34,.10),
    0 24px 56px rgba(232,84,28,.10),
    0 48px 80px rgba(42,37,34,.08);
  border-color: rgba(232,84,28,.28);
}

/* 어바웃 stat 카드 — 멀티레이어 그림자 + 호버 강화 */
.astat {
  box-shadow:
    0 1px 3px rgba(42,37,34,.04),
    0 4px 12px rgba(42,37,34,.06);
  transition: transform .35s cubic-bezier(.22,1,.36,1),
              box-shadow .35s ease,
              border-color .25s;
}
.astat:hover {
  transform: translateY(-6px);
  box-shadow:
    0 2px 6px rgba(42,37,34,.06),
    0 12px 32px rgba(232,84,28,.10),
    0 28px 60px rgba(42,37,34,.08);
  border-color: rgba(232,84,28,.25);
}
.astat--orange:hover {
  box-shadow:
    0 4px 12px rgba(232,84,28,.20),
    0 16px 40px rgba(232,84,28,.18),
    0 32px 64px rgba(232,84,28,.12);
  border-color: var(--orange);
}

/* Motto card — 글래스 효과 */
.motto-card {
  background: linear-gradient(135deg, #fff 0%, var(--cream) 100%);
  box-shadow:
    0 2px 8px rgba(42,37,34,.05),
    0 8px 24px rgba(42,37,34,.07),
    inset 0 1px 0 rgba(255,255,255,.9);
  transition: transform .35s cubic-bezier(.22,1,.36,1),
              box-shadow .35s ease;
}
.motto-card:hover {
  transform: translateY(-4px);
  box-shadow:
    0 4px 12px rgba(42,37,34,.07),
    0 16px 40px rgba(42,37,34,.10),
    0 32px 64px rgba(217,162,75,.08);
}

/* 문제 카드 — 입체 느낌 강화 */
.prob-card {
  background: rgba(255,255,255,.05);
  backdrop-filter: blur(2px);
  transition: transform .35s cubic-bezier(.22,1,.36,1),
              background .25s,
              border-color .25s,
              box-shadow .35s;
}
.prob-card:hover {
  background: rgba(255,255,255,.09);
  border-color: rgba(232,84,28,.35);
  transform: translateY(-6px);
  box-shadow:
    0 8px 24px rgba(0,0,0,.25),
    0 24px 60px rgba(232,84,28,.12),
    inset 0 1px 0 rgba(255,255,255,.08);
}
.prob-icon {
  width: 52px; height: 52px;
  border-radius: 14px;
  box-shadow:
    0 4px 12px rgba(232,84,28,.18),
    inset 0 1px 0 rgba(255,255,255,.1);
  transition: transform .3s ease, box-shadow .3s ease;
}
.prob-card:hover .prob-icon {
  transform: scale(1.08) rotate(-3deg);
  box-shadow:
    0 8px 20px rgba(232,84,28,.28),
    inset 0 1px 0 rgba(255,255,255,.12);
}

/* 오렌지 해결 블록 — 강화된 입체감 */
.prob-resolve {
  box-shadow:
    0 4px 16px rgba(232,84,28,.18),
    0 16px 48px rgba(232,84,28,.14),
    0 40px 80px rgba(232,84,28,.10);
  position: relative;
  overflow: hidden;
}
.prob-resolve::before {
  content: '';
  position: absolute;
  top: -60%;
  right: -20%;
  width: 400px; height: 400px;
  border-radius: 50%;
  background: rgba(255,255,255,.06);
  pointer-events: none;
}
.prob-resolve::after {
  content: '';
  position: absolute;
  bottom: -40%;
  left: -10%;
  width: 300px; height: 300px;
  border-radius: 50%;
  background: rgba(0,0,0,.07);
  pointer-events: none;
}

/* 어워드 카드 — 강화된 그림자 + hover 효과 */
.award-card {
  box-shadow:
    0 1px 4px rgba(42,37,34,.06),
    0 4px 16px rgba(42,37,34,.07),
    0 12px 32px rgba(42,37,34,.06);
  transition: transform .35s cubic-bezier(.22,1,.36,1),
              box-shadow .35s ease;
}
.award-card:hover {
  transform: translateY(-10px);
  box-shadow:
    0 2px 6px rgba(42,37,34,.07),
    0 12px 32px rgba(42,37,34,.12),
    0 32px 72px rgba(42,37,34,.10);
}
/* 골드 카드 강조 */
.award-card--gold:hover {
  box-shadow:
    0 4px 12px rgba(217,162,75,.15),
    0 16px 40px rgba(217,162,75,.18),
    0 36px 72px rgba(42,37,34,.10);
}

/* 어워드 리본 — 반짝이는 shimmer 효과 */
.award-ribbon::after {
  content: '';
  position: absolute;
  top: 0; left: -100%;
  width: 60%; height: 100%;
  background: linear-gradient(
    90deg,
    transparent 0%,
    rgba(255,255,255,.18) 50%,
    transparent 100%
  );
  transform: skewX(-20deg);
  transition: left .6s ease;
  pointer-events: none;
}
.award-card:hover .award-ribbon::after {
  left: 150%;
}

/* 파트너 보이스 카드 — 레이어드 그림자 */
.pv-card {
  box-shadow:
    0 1px 3px rgba(42,37,34,.04),
    0 4px 14px rgba(42,37,34,.06),
    0 12px 32px rgba(42,37,34,.04);
  transition: transform .35s cubic-bezier(.22,1,.36,1),
              box-shadow .35s ease,
              border-color .25s;
}
.pv-card:hover {
  transform: translateY(-8px);
  box-shadow:
    0 2px 6px rgba(42,37,34,.06),
    0 12px 32px rgba(42,37,34,.10),
    0 32px 64px rgba(42,37,34,.07);
  border-color: rgba(232,84,28,.25);
}
.pv-card--featured {
  box-shadow:
    0 2px 8px rgba(232,84,28,.08),
    0 8px 28px rgba(232,84,28,.12),
    0 24px 56px rgba(232,84,28,.07);
}
.pv-card--featured:hover {
  box-shadow:
    0 4px 12px rgba(232,84,28,.12),
    0 16px 44px rgba(232,84,28,.18),
    0 40px 80px rgba(232,84,28,.10);
  border-color: var(--orange);
}

/* 플랜 카드 — 글래스모피즘 강화 */
.plan-col {
  background: rgba(255,255,255,.05);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  box-shadow:
    0 4px 16px rgba(0,0,0,.18),
    inset 0 1px 0 rgba(255,255,255,.05);
}
.plan-col:hover {
  background: rgba(255,255,255,.07);
  transform: translateY(-12px);
  box-shadow:
    0 8px 24px rgba(0,0,0,.24),
    0 24px 64px rgba(0,0,0,.20),
    inset 0 1px 0 rgba(255,255,255,.08);
  border-color: rgba(255,255,255,.20);
}
.plan-col--featured {
  background: rgba(217,162,75,.08);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  box-shadow:
    0 8px 32px rgba(217,162,75,.14),
    0 24px 64px rgba(0,0,0,.18),
    inset 0 1px 0 rgba(255,255,255,.06);
}
.plan-col--featured:hover {
  background: rgba(217,162,75,.11);
  transform: translateY(-16px);
  box-shadow:
    0 12px 40px rgba(217,162,75,.22),
    0 32px 80px rgba(0,0,0,.22),
    inset 0 1px 0 rgba(255,255,255,.09);
  border-color: rgba(217,162,75,.45);
}

/* 결과 숫자 블록 — 강화된 다크 글래스 */
.result-nums {
  background: linear-gradient(135deg, #1f1b19 0%, #2A2522 100%);
  box-shadow:
    0 4px 16px rgba(0,0,0,.24),
    0 16px 48px rgba(0,0,0,.18),
    inset 0 1px 0 rgba(255,255,255,.05);
}

/* Hero stats 박스 강화 */
.hero-stats {
  box-shadow:
    0 2px 8px rgba(42,37,34,.06),
    0 8px 24px rgba(42,37,34,.08),
    inset 0 1px 0 rgba(255,255,255,.85);
}

/* 연락처 폼 박스 — 강화 */
.cform-wrap {
  box-shadow:
    0 2px 8px rgba(42,37,34,.05),
    0 8px 24px rgba(42,37,34,.07),
    0 24px 56px rgba(42,37,34,.05);
  transition: box-shadow .3s ease;
}
.cform-wrap:hover {
  box-shadow:
    0 4px 12px rgba(42,37,34,.07),
    0 16px 40px rgba(42,37,34,.09),
    0 36px 72px rgba(42,37,34,.06);
}

/* 리뷰 카드 강화 */
.review-card {
  box-shadow:
    0 2px 8px rgba(42,37,34,.05),
    0 8px 24px rgba(42,37,34,.07),
    inset 0 1px 0 rgba(255,255,255,.9);
  transition: box-shadow .3s ease;
}
.review-card:hover {
  box-shadow:
    0 4px 12px rgba(42,37,34,.07),
    0 16px 40px rgba(42,37,34,.09);
}

/* 파트너 통계 바 강화 */
.partners-stats {
  box-shadow:
    0 2px 8px rgba(42,37,34,.05),
    0 8px 28px rgba(42,37,34,.07),
    inset 0 1px 0 rgba(255,255,255,.95);
}

/* 내비게이션 스크롤 강화 */
.nav.scrolled {
  box-shadow:
    0 1px 0 rgba(42,37,34,.06),
    0 4px 24px rgba(42,37,34,.10),
    0 8px 32px rgba(42,37,34,.05);
}

/* 버튼 강화 — 더 강렬한 그림자 */
.btn-orange:hover {
  box-shadow:
    0 4px 12px rgba(232,84,28,.25),
    0 12px 32px rgba(232,84,28,.30),
    0 24px 56px rgba(232,84,28,.15);
}

/* CTA proc circle 강화 */
.proc-step:hover .proc-circle {
  box-shadow:
    0 4px 12px rgba(232,84,28,.25),
    0 12px 32px rgba(232,84,28,.20);
}

/* 비디오 레이블 강화 */
.video-band__label {
  backdrop-filter: blur(10px) saturate(1.5);
  -webkit-backdrop-filter: blur(10px) saturate(1.5);
  border-color: rgba(255,255,255,.16);
  box-shadow: 0 2px 12px rgba(0,0,0,.2);
}

/* ─────────────────────────────────────────
   Divider & Section Transition 보강
   ───────────────────────────────────────── */

/* 마퀴 스트립 — 더 강한 그림자로 구분감 */
.marquee-wrap {
  box-shadow:
    0 4px 20px rgba(42,37,34,.18),
    0 -4px 20px rgba(42,37,34,.10);
}
.marquee-inner span {
  letter-spacing: .08em;
}

/* 섹션 텍스트 desc 강화 */
.sec-desc {
  font-size: 1.02rem;
  line-height: 1.8;
  letter-spacing: -.01em;
  word-break: keep-all;
}

/* 서비스 태그 강화 */
.svc-tag {
  letter-spacing: .02em;
  font-size: .74rem;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.5);
}

/* CEO 서명 박스 강화 */
.ceo-sign-wrap {
  box-shadow:
    0 2px 8px rgba(42,37,34,.05),
    0 6px 20px rgba(42,37,34,.07),
    inset 0 1px 0 rgba(255,255,255,.9);
}

/* ─────────────────────────────────────────
   모바일 반응형 보강
   ───────────────────────────────────────── */
@media (max-width: 768px) {
  .hl--num  { font-size: clamp(2.8rem, 9vw, 3.8rem); }
  .hl--main { font-size: clamp(1.7rem, 5.5vw, 2.2rem); }
  .hl--sub  { font-size: clamp(1rem, 3.5vw, 1.3rem); }

  .float-badge {
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
  }

  .prob-resolve::before,
  .prob-resolve::after { display: none; }
}

@media (max-width: 480px) {
  .hl--num  { font-size: 2.6rem; }
  .hl--main { font-size: 1.6rem; }
  .sec-eyebrow::before { width: 14px; }
}

/* ─────────────────────────────────────────
   추가 보강 — 프로세스 & 결과 섹션 입체감
   ───────────────────────────────────────── */

/* 프로세스 원 — 더 강한 글로우 + 테두리 */
.proc-circle {
  box-shadow:
    0 2px 8px rgba(42,37,34,.08),
    0 0 0 4px var(--beige),
    0 0 0 5px var(--gray-border);
  transition: background .3s, border-color .3s,
              box-shadow .35s cubic-bezier(.22,1,.36,1),
              transform .35s cubic-bezier(.22,1,.36,1);
}
.proc-step:hover .proc-circle {
  transform: scale(1.1);
  box-shadow:
    0 4px 12px rgba(232,84,28,.22),
    0 12px 32px rgba(232,84,28,.18),
    0 0 0 4px rgba(232,84,28,.1),
    0 0 0 5px rgba(232,84,28,.12);
}
.proc-circle--last {
  box-shadow:
    0 2px 8px rgba(232,84,28,.12),
    0 0 0 4px var(--beige),
    0 0 0 5px rgba(232,84,28,.25);
}

/* 프로세스 라인 — 그라디언트 강화 */
.proc-line {
  background: linear-gradient(90deg, var(--orange-pale), var(--gray-border), transparent);
}

/* 결과 숫자 배너 — 그룹별 강화 */
.rnum {
  position: relative;
}
.rnum::after {
  content: '';
  position: absolute;
  bottom: 0; left: 50%;
  transform: translateX(-50%);
  width: 24px; height: 2px;
  background: linear-gradient(90deg, var(--orange), var(--gold));
  border-radius: 1px;
  opacity: 0;
  transition: opacity .3s ease, width .3s ease;
}
.rnum:hover::after {
  opacity: 1;
  width: 36px;
}
.rnum strong {
  transition: color .25s ease;
}
.rnum:hover strong {
  color: var(--gold);
}

/* 아바타 강화 */
.rv-avatar {
  box-shadow:
    0 2px 8px rgba(0,0,0,.15),
    0 4px 16px rgba(0,0,0,.10);
  font-weight: 800;
  letter-spacing: -.02em;
  border: 2px solid rgba(255,255,255,.25);
}

/* 리뷰 별 — 글로우 효과 */
.rv-stars {
  letter-spacing: 3px;
  filter: drop-shadow(0 2px 4px rgba(217,162,75,.3));
}

/* pv-card — 인용 아이콘 강화 */
.pv-quote-icon {
  box-shadow:
    0 2px 8px rgba(232,84,28,.12),
    inset 0 1px 0 rgba(255,255,255,.5);
  transition: transform .3s ease, box-shadow .3s ease;
}
.pv-card:hover .pv-quote-icon {
  transform: rotate(-5deg) scale(1.08);
  box-shadow:
    0 4px 12px rgba(232,84,28,.20),
    inset 0 1px 0 rgba(255,255,255,.6);
}

/* 서비스 태그 아이콘 강화 */
.svc-icon {
  transition: transform .35s cubic-bezier(.22,1,.36,1),
              box-shadow .35s ease,
              background .25s;
}
.svc-card:hover .svc-icon {
  transform: scale(1.12) rotate(-4deg);
  box-shadow: 0 6px 18px rgba(232,84,28,.22);
  background: rgba(232,84,28,.2);
}

/* CEO 산업 태그 강화 */
.ceo-ind-tags span {
  box-shadow: 0 1px 4px rgba(42,37,34,.04);
  transition: transform .25s cubic-bezier(.22,1,.36,1),
              box-shadow .25s ease,
              border-color .2s,
              color .2s;
}
.ceo-ind-tags span:hover {
  transform: translateY(-3px);
  box-shadow: 0 4px 14px rgba(42,37,34,.10);
  border-color: var(--border-o);
  color: var(--orange);
}

/* 연락처 아이콘 강화 */
.con-icon {
  box-shadow: 0 2px 8px rgba(232,84,28,.10);
  transition: transform .3s ease, box-shadow .3s ease;
}
.con-info li:hover .con-icon {
  transform: scale(1.1) rotate(-5deg);
  box-shadow: 0 4px 16px rgba(232,84,28,.18);
}

/* ─────────────────────────────────────────
   섹션 구분 — 미묘한 배경 깊이 추가
   ───────────────────────────────────────── */

/* About 섹션 — 좌측 장식 선 */
.about-left::before {
  content: none;
}

/* 마퀴 텍스트 강화 */
.marquee-inner span {
  text-shadow: 0 1px 3px rgba(0,0,0,.2);
  transition: color .2s;
}
.marquee-inner .mdot {
  text-shadow: 0 0 8px rgba(217,162,75,.4);
}

/* 로더 브랜드 텍스트 강화 */
.loader-brand {
  letter-spacing: -.03em;
  text-shadow: 0 2px 12px rgba(42,37,34,.1);
}

/* 드로어 링크 — 더 나은 호버 */
.dr-link {
  font-weight: 600;
  letter-spacing: -.02em;
  transition: background .2s, border-color .2s,
              color .2s, transform .2s;
}
.dr-link:hover {
  transform: translateX(4px);
}

/* SNS 버튼 강화 */
.sns-btn {
  box-shadow: 0 1px 4px rgba(42,37,34,.05);
  transition: transform .25s cubic-bezier(.22,1,.36,1),
              box-shadow .25s ease,
              border-color .2s,
              color .2s,
              background .2s;
}
.sns-btn:hover {
  transform: translateY(-3px);
  box-shadow: 0 4px 14px rgba(232,84,28,.12);
}

/* 버튼 전체 강화 */
.btn-orange {
  box-shadow: 0 2px 8px rgba(232,84,28,.18);
  letter-spacing: -.01em;
}
.btn-line {
  letter-spacing: -.01em;
}
.btn-kakao {
  letter-spacing: -.01em;
}

/* 유튜브 탭 버튼 강화 */
.yt-tab-btn {
  letter-spacing: -.02em;
  font-size: .88rem;
}

/* 파트너사 stat 숫자 강화 */
.pstat strong {
  text-shadow: 0 2px 8px rgba(232,84,28,.12);
}

/* ══════════════════════════════════════
   AWARDS SLIDER — 수상 공로내역 슬라이더
   ══════════════════════════════════════ */

/* ── 래퍼: 화살표 overflow 허용 ── */
.aw-slider-wrap {
  position: relative;
  margin-top: 56px;
  /* 좌우 화살표가 -22px 튀어나오므로 수평 패딩 확보 */
  padding: 0 36px;
}

/* ── 슬라이더 뷰포트 (overflow 숨김) ── */
.aw-slider {
  overflow: hidden;
  border-radius: var(--radius-lg);
}

/* ── 트랙: 슬라이드들을 수평 flex ── */
.aw-track {
  display: flex;
  gap: 20px;
  transition: transform .50s cubic-bezier(.4,0,.2,1);
  will-change: transform;
  cursor: grab;
  user-select: none;
}
.aw-track.is-dragging {
  cursor: grabbing;
  transition: none;
}

/* ── 개별 슬라이드 ── */
/* 데스크탑: 3개 동시 표시 */
.aw-slide {
  flex-shrink: 0;
  width: calc(33.333% - 14px);
}
/* 태블릿: 2개 */
@media (max-width: 1100px) {
  .aw-slide { width: calc(50% - 10px); }
}
/* 모바일: 1개 */
@media (max-width: 640px) {
  .aw-slide { width: 100%; }
  .aw-slider-wrap { padding: 0 12px; }
}

/* ── 슬라이드 내부 카드 높이 맞춤 ── */
.aw-slide .award-card {
  height: 100%;
}

/* ── 이전/다음 화살표 버튼 ── */
.aw-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(calc(-50% - 20px)); /* footer 높이 절반 보정 */
  z-index: 10;
  width: 46px; height: 46px;
  background: #fff;
  border: 1.5px solid var(--gray-border);
  border-radius: 50%;
  cursor: pointer;
  color: var(--dark);
  font-size: .9rem;
  display: flex; align-items: center; justify-content: center;
  box-shadow:
    0 2px 8px rgba(42,37,34,.08),
    0 8px 24px rgba(42,37,34,.10);
  transition: background .25s, border-color .25s,
              color .25s, transform .25s cubic-bezier(.22,1,.36,1),
              box-shadow .25s;
}
.aw-arrow:hover {
  background: var(--orange);
  border-color: var(--orange);
  color: #fff;
  transform: translateY(calc(-50% - 20px)) scale(1.08);
  box-shadow:
    0 4px 12px rgba(232,84,28,.25),
    0 12px 32px rgba(232,84,28,.20);
}
.aw-arrow:disabled {
  opacity: .35;
  pointer-events: none;
}
.aw-arrow--prev { left: -10px; }
.aw-arrow--next { right: -10px; }

@media (max-width: 640px) {
  .aw-arrow { width: 38px; height: 38px; font-size: .8rem; }
  .aw-arrow--prev { left: -6px; }
  .aw-arrow--next { right: -6px; }
}

/* ── 좌우 페이드 그라디언트 ── */
.aw-fade {
  position: absolute;
  top: 0; bottom: 0;
  width: 60px;
  z-index: 5;
  pointer-events: none;
}
.aw-fade--left {
  left: 36px;
  background: linear-gradient(to right, var(--cream) 0%, transparent 100%);
}
.aw-fade--right {
  right: 36px;
  background: linear-gradient(to left, var(--cream) 0%, transparent 100%);
}

@media (max-width: 640px) {
  .aw-fade--left  { left: 12px; width: 30px; }
  .aw-fade--right { right: 12px; width: 30px; }
}

/* ── 하단 푸터: 닷 + 카운터 ── */
.aw-footer {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 20px;
  margin-top: 28px;
}

/* ── 닷 네비게이션 ── */
.aw-dots {
  display: flex;
  gap: 7px;
  align-items: center;
}
.aw-dot {
  width: 8px; height: 8px;
  border-radius: 50%;
  background: var(--gray-border);
  border: none;
  cursor: pointer;
  padding: 0;
  transition: background .25s, transform .25s, width .3s cubic-bezier(.4,0,.2,1);
  flex-shrink: 0;
}
.aw-dot.is-active {
  background: var(--orange);
  width: 22px;
  border-radius: 4px;
  transform: scaleY(1.1);
}

/* ── 카운터 표시 ── */
.aw-counter {
  font-family: var(--font-en);
  font-size: .8rem;
  font-weight: 600;
  color: var(--gray-light);
  letter-spacing: .04em;
  display: flex;
  align-items: center;
  gap: 4px;
}
#awCurrent {
  font-size: .95rem;
  font-weight: 700;
  color: var(--orange);
}
.aw-counter-sep {
  opacity: .45;
}

/* ── 자동 슬라이드 진행 바 ── */
.aw-progress-bar {
  position: absolute;
  bottom: 0;
  left: 36px; right: 36px;
  height: 2px;
  background: var(--gray-border);
  border-radius: 1px;
  overflow: hidden;
}
.aw-progress-fill {
  height: 100%;
  width: 0%;
  background: linear-gradient(90deg, var(--orange), var(--gold));
  border-radius: 1px;
  transition: width linear;
}

@media (max-width: 640px) {
  .aw-progress-bar { left: 12px; right: 12px; }
}

/* ══════════════════════════════════════════════════
   DEPTH v5 — 전체 섹션 입체감 심화 업그레이드
   레이아웃 변경 없이 시각적 깊이·질감·빛만 강화
   ══════════════════════════════════════════════════ */

/* ────────────────────────────────────
   § 1. HERO — 빛·레이어·텍스트 깊이
   ──────────────────────────────────── */

/* 히어로 섹션 배경 — 미묘한 노이즈 텍스처 레이어 */
.hero {
  background:
    radial-gradient(ellipse 120% 60% at 70% 40%,
      rgba(232,84,28,.04) 0%, transparent 60%),
    radial-gradient(ellipse 80% 80% at 20% 80%,
      rgba(217,162,75,.03) 0%, transparent 55%),
    var(--cream);
}

/* 히어로 왼쪽 콘텐츠 — 부드러운 배경 글로우 */
.hero-left {
  position: relative;
}
.hero-left::before {
  content: '';
  position: absolute;
  top: -60px; left: -80px;
  width: 520px; height: 420px;
  background: radial-gradient(ellipse,
    rgba(232,84,28,.06) 0%, transparent 65%);
  pointer-events: none;
  z-index: 0;
}
.hero-left > * { position: relative; z-index: 1; }

/* hero 숫자 강조 — 레이어드 텍스트 그림자 */
.hl--num {
  text-shadow:
    0 1px 0 rgba(232,84,28,.20),
    0 4px 0 rgba(232,84,28,.08),
    0 8px 30px rgba(232,84,28,.28),
    0 20px 60px rgba(232,84,28,.12),
    0 0 100px rgba(232,84,28,.06);
}

/* 히어로 사진 프레임 — 라이트 엣지 하이라이트 */
.hero-photo-main {
  box-shadow:
    0 1px 0 rgba(255,255,255,.6),        /* top highlight */
    0 2px 4px rgba(42,37,34,.06),
    0 8px 24px rgba(42,37,34,.12),
    0 24px 56px rgba(42,37,34,.18),
    0 48px 96px rgba(42,37,34,.16),
    0 6px 40px rgba(232,84,28,.14);      /* orange glow */
  border: 1px solid rgba(255,255,255,.5);
}

/* 히어로 스탯 박스 — 글래스 깊이 */
.hero-stats {
  background: rgba(255,255,255,.78);
  backdrop-filter: blur(20px) saturate(1.8);
  -webkit-backdrop-filter: blur(20px) saturate(1.8);
  border: 1px solid rgba(255,255,255,.9);
  box-shadow:
    0 2px 0 rgba(255,255,255,.9),
    0 4px 16px rgba(42,37,34,.07),
    0 12px 40px rgba(42,37,34,.09),
    inset 0 1px 0 rgba(255,255,255,1);
}

/* stat 구분선 — 그라디언트 */
.hst-div {
  background: linear-gradient(
    to bottom,
    transparent,
    rgba(42,37,34,.12) 30%,
    rgba(42,37,34,.12) 70%,
    transparent
  );
}

/* 플로팅 배지 — 더 강한 입체 */
.float-badge {
  box-shadow:
    0 2px 0 rgba(255,255,255,.95),
    0 4px 10px rgba(42,37,34,.07),
    0 12px 32px rgba(42,37,34,.14),
    0 28px 56px rgba(42,37,34,.10),
    inset 0 1px 0 rgba(255,255,255,1);
}

/* ────────────────────────────────────
   § 2. ABOUT — 스탯·CEO 사진 깊이
   ──────────────────────────────────── */

/* About 섹션 — 베이지 배경에 미묘한 빛 */
.about-sec {
  background:
    radial-gradient(ellipse 100% 50% at 50% 0%,
      rgba(232,84,28,.03) 0%, transparent 55%),
    var(--beige);
}

/* astat 카드 — 상단 컬러 라인 + 글래스 */
.astat {
  background: #fff;
  border-top: 3px solid transparent;
  background-clip: padding-box;
  position: relative;
  overflow: hidden;
}
.astat::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 3px;
  background: linear-gradient(90deg, var(--orange), var(--gold));
  opacity: 0;
  transition: opacity .35s ease;
  border-radius: 3px 3px 0 0;
}
.astat:hover::before { opacity: 1; }
.astat::after {
  content: '';
  position: absolute;
  bottom: 0; left: 0; right: 0;
  height: 40%;
  background: linear-gradient(to top,
    rgba(232,84,28,.02), transparent);
  pointer-events: none;
  border-radius: 0 0 inherit inherit;
}

/* astat 숫자 — 깊이 있는 컬러 그림자 */
.astat-num {
  text-shadow:
    0 2px 0 rgba(232,84,28,.12),
    0 6px 20px rgba(232,84,28,.18);
  display: inline-block;
  transition: transform .3s cubic-bezier(.22,1,.36,1);
}
.astat:hover .astat-num {
  transform: scale(1.06) translateY(-2px);
}

/* CEO 사진 — 더 강한 스튜디오 조명 느낌 */
.ceo-photo-main {
  box-shadow:
    1px 0 0 rgba(255,255,255,.4),         /* right edge */
    0 1px 0 rgba(255,255,255,.3),         /* bottom edge */
    -4px 0 20px rgba(0,0,0,.08),
    0 8px 24px rgba(42,37,34,.12),
    0 24px 64px rgba(42,37,34,.20),
    0 48px 96px rgba(42,37,34,.14);
}

/* CEO 서명 박스 */
.ceo-sign-wrap {
  background: rgba(255,255,255,.9);
  backdrop-filter: blur(12px);
  border: 1px solid rgba(255,255,255,.95);
  box-shadow:
    0 2px 0 rgba(255,255,255,1),
    0 4px 16px rgba(42,37,34,.07),
    0 12px 32px rgba(42,37,34,.07),
    inset 0 1px 0 rgba(255,255,255,1);
}

/* ────────────────────────────────────
   § 3. 서비스 카드 — 3D 레이어 강화
   ──────────────────────────────────── */

/* 서비스 섹션 배경 */
.services-sec {
  background:
    radial-gradient(ellipse 140% 40% at 50% 100%,
      rgba(42,37,34,.04) 0%, transparent 60%),
    var(--cream);
}

/* 서비스 카드 — 더 강한 입체 */
.svc-card {
  background: #fff;
  border: 1px solid rgba(42,37,34,.06);
  box-shadow:
    0 1px 0 rgba(255,255,255,.9),
    0 2px 4px rgba(42,37,34,.04),
    0 6px 16px rgba(42,37,34,.07),
    0 16px 40px rgba(42,37,34,.06);
  transform-origin: center bottom;
}
.svc-card:hover {
  box-shadow:
    0 2px 0 rgba(255,255,255,.8),
    0 4px 8px rgba(42,37,34,.06),
    0 16px 40px rgba(42,37,34,.12),
    0 32px 72px rgba(232,84,28,.12),
    0 56px 96px rgba(42,37,34,.08);
  border-color: rgba(232,84,28,.20);
}

/* 서비스 아이콘 박스 — 내부 빛 효과 */
.svc-icon {
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.3),
    inset 0 -1px 0 rgba(0,0,0,.05),
    0 2px 8px rgba(232,84,28,.15),
    0 6px 20px rgba(232,84,28,.10);
}

/* 사진 카드 오버레이 — 더 드라마틱 */
.svc-photo-overlay {
  background:
    linear-gradient(0deg,
      rgba(26,22,20,.98) 0%,
      rgba(26,22,20,.82) 35%,
      rgba(26,22,20,.40) 62%,
      rgba(26,22,20,.10) 82%,
      transparent 100%
    );
}

/* ────────────────────────────────────
   § 4. 문제 섹션 — 다크 깊이 강화
   ──────────────────────────────────── */

/* 다크 섹션 배경 — 그라디언트 깊이 */
.problems-sec {
  background:
    radial-gradient(ellipse 80% 50% at 30% 50%,
      rgba(232,84,28,.05) 0%, transparent 55%),
    radial-gradient(ellipse 60% 60% at 85% 20%,
      rgba(217,162,75,.04) 0%, transparent 50%),
    var(--dark2);
}

/* 문제 카드 — 내부 빛 + 더 강한 border */
.prob-card {
  border: 1px solid rgba(255,255,255,.07);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.06),
    inset 0 -1px 0 rgba(0,0,0,.1),
    0 4px 16px rgba(0,0,0,.15),
    0 12px 32px rgba(0,0,0,.12);
}
.prob-card:hover {
  border-color: rgba(232,84,28,.30);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.10),
    0 8px 24px rgba(0,0,0,.22),
    0 24px 60px rgba(232,84,28,.14),
    0 40px 80px rgba(0,0,0,.15);
}

/* 문제 아이콘 — 발광 강화 */
.prob-icon {
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.15),
    0 3px 8px rgba(232,84,28,.22),
    0 8px 24px rgba(232,84,28,.18),
    0 0 0 1px rgba(232,84,28,.12);
}

/* 오렌지 resolve 블록 — 빛 방사 효과 */
.prob-resolve {
  background: linear-gradient(135deg,
    var(--orange) 0%,
    rgba(232,84,28,.85) 40%,
    rgba(201,66,16,.95) 100%
  );
  box-shadow:
    0 4px 0 rgba(255,100,40,.25),       /* top highlight */
    0 6px 20px rgba(232,84,28,.22),
    0 20px 56px rgba(232,84,28,.20),
    0 48px 96px rgba(232,84,28,.14),
    inset 0 1px 0 rgba(255,255,255,.18),
    inset 0 -1px 0 rgba(0,0,0,.12);
}

/* ────────────────────────────────────
   § 5. 프로세스 — 타임라인 깊이
   ──────────────────────────────────── */

/* 프로세스 섹션 배경 */
.process-sec {
  background:
    radial-gradient(ellipse 100% 60% at 50% 50%,
      rgba(232,84,28,.025) 0%, transparent 60%),
    var(--beige);
}

/* 프로세스 카드 박스 */
.proc-step {
  position: relative;
}
.proc-step::before {
  content: '';
  position: absolute;
  inset: -8px;
  border-radius: calc(var(--radius) + 8px);
  background: radial-gradient(ellipse 80% 80% at 50% 0%,
    rgba(232,84,28,.05) 0%, transparent 70%);
  opacity: 0;
  transition: opacity .4s ease;
  pointer-events: none;
}
.proc-step:hover::before { opacity: 1; }

/* proc circle — 더 강한 엣지 링 */
.proc-circle {
  box-shadow:
    inset 0 2px 4px rgba(255,255,255,.25),
    inset 0 -2px 4px rgba(0,0,0,.08),
    0 2px 8px rgba(42,37,34,.10),
    0 0 0 4px var(--beige),
    0 0 0 6px rgba(42,37,34,.08),
    0 0 0 7px rgba(255,255,255,.5);
}
.proc-step:hover .proc-circle {
  box-shadow:
    inset 0 2px 4px rgba(255,255,255,.3),
    0 4px 16px rgba(232,84,28,.28),
    0 12px 36px rgba(232,84,28,.20),
    0 0 0 4px rgba(232,84,28,.08),
    0 0 0 6px rgba(232,84,28,.15),
    0 0 0 7px rgba(232,84,28,.06);
}
.proc-circle-num {
  text-shadow:
    0 1px 0 rgba(255,255,255,.4),
    0 2px 8px rgba(232,84,28,.20);
}

/* ────────────────────────────────────
   § 6. 결과 숫자 배너 — 깊이 강화
   ──────────────────────────────────── */

.result-nums {
  background:
    radial-gradient(ellipse 120% 80% at 50% -10%,
      rgba(255,255,255,.04) 0%, transparent 50%),
    linear-gradient(135deg, #1C1916 0%, #2A2522 50%, #1f1b19 100%);
  box-shadow:
    0 4px 0 rgba(255,255,255,.03),
    0 6px 20px rgba(0,0,0,.28),
    0 20px 60px rgba(0,0,0,.22),
    0 48px 96px rgba(0,0,0,.16),
    inset 0 1px 0 rgba(255,255,255,.06),
    inset 0 -1px 0 rgba(0,0,0,.2);
}

/* rnum 숫자 — 오렌지 글로우 */
.rnum strong {
  text-shadow:
    0 2px 0 rgba(232,84,28,.15),
    0 6px 24px rgba(232,84,28,.22),
    0 0 60px rgba(232,84,28,.08);
  transition: text-shadow .3s ease, color .3s ease;
}
.rnum:hover strong {
  color: var(--gold) !important;
  text-shadow:
    0 2px 0 rgba(217,162,75,.2),
    0 6px 24px rgba(217,162,75,.28),
    0 0 60px rgba(217,162,75,.10);
}

/* ────────────────────────────────────
   § 7. 어워드 카드 — 골드 리본 깊이
   ──────────────────────────────────── */

/* 어워드 섹션 배경 */
.awards-sec {
  background:
    radial-gradient(ellipse 100% 40% at 50% 0%,
      rgba(217,162,75,.05) 0%, transparent 55%),
    var(--beige);
}

/* award-card 강화 */
.award-card {
  border: 1px solid rgba(42,37,34,.06);
  background: #fff;
  box-shadow:
    0 1px 0 rgba(255,255,255,.95),
    0 2px 6px rgba(42,37,34,.05),
    0 8px 24px rgba(42,37,34,.08),
    0 20px 48px rgba(42,37,34,.06);
}
.award-card:hover {
  box-shadow:
    0 2px 0 rgba(255,255,255,.9),
    0 4px 10px rgba(42,37,34,.08),
    0 16px 40px rgba(42,37,34,.14),
    0 36px 80px rgba(42,37,34,.10),
    0 0 0 1px rgba(217,162,75,.15);
  border-color: rgba(217,162,75,.25);
}
.award-card--gold {
  background: linear-gradient(145deg,
    #fff 0%, rgba(255,252,240,.8) 100%);
  border-color: rgba(217,162,75,.18);
  box-shadow:
    0 1px 0 rgba(255,255,255,.95),
    0 2px 6px rgba(217,162,75,.08),
    0 8px 24px rgba(217,162,75,.10),
    0 20px 48px rgba(42,37,34,.06);
}
.award-card--gold:hover {
  box-shadow:
    0 2px 0 rgba(255,255,255,.9),
    0 6px 16px rgba(217,162,75,.16),
    0 20px 52px rgba(217,162,75,.20),
    0 40px 80px rgba(42,37,34,.10);
  border-color: rgba(217,162,75,.40);
}

/* 리본 — 내부 빛 강화 */
.award-ribbon {
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.3),
    inset 0 -1px 0 rgba(0,0,0,.1),
    0 2px 8px rgba(0,0,0,.15);
  overflow: hidden;
}

/* 어워드 아이콘 — 발광 */
.award-icon {
  filter: drop-shadow(0 2px 6px rgba(217,162,75,.35));
  transition: filter .3s ease, transform .3s ease;
}
.award-card:hover .award-icon {
  filter: drop-shadow(0 4px 12px rgba(217,162,75,.55));
  transform: scale(1.12) rotate(-4deg);
}

/* ────────────────────────────────────
   § 8. 파트너 보이스 — 카드 깊이
   ──────────────────────────────────── */

/* 파트너 보이스 섹션 배경 */
.partner-voice-sec {
  background:
    radial-gradient(ellipse 120% 50% at 50% 100%,
      rgba(42,37,34,.04) 0%, transparent 55%),
    var(--cream);
}

/* pv-card — 내부 글래스 강화 */
.pv-card {
  background: #fff;
  border: 1px solid rgba(42,37,34,.05);
  box-shadow:
    0 1px 0 rgba(255,255,255,.95),
    0 2px 6px rgba(42,37,34,.04),
    0 8px 24px rgba(42,37,34,.07),
    0 20px 48px rgba(42,37,34,.05);
  overflow: hidden;
  position: relative;
}
.pv-card::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 1px;
  background: linear-gradient(90deg,
    transparent, rgba(255,255,255,.9) 50%, transparent);
}
.pv-card:hover {
  box-shadow:
    0 2px 0 rgba(255,255,255,.9),
    0 4px 12px rgba(42,37,34,.07),
    0 16px 40px rgba(42,37,34,.11),
    0 36px 72px rgba(42,37,34,.07),
    0 0 0 1px rgba(232,84,28,.10);
  border-color: rgba(232,84,28,.18);
}
.pv-card--featured {
  background: linear-gradient(145deg,
    rgba(255,252,248,.95) 0%, #fff 100%);
  box-shadow:
    0 2px 0 rgba(255,255,255,.9),
    0 4px 12px rgba(232,84,28,.08),
    0 12px 36px rgba(232,84,28,.10),
    0 32px 72px rgba(232,84,28,.07);
  border-color: rgba(232,84,28,.12);
}
.pv-card--featured:hover {
  box-shadow:
    0 2px 0 rgba(255,255,255,.9),
    0 6px 16px rgba(232,84,28,.14),
    0 20px 52px rgba(232,84,28,.18),
    0 44px 88px rgba(232,84,28,.10),
    0 0 0 1px rgba(232,84,28,.25);
  border-color: rgba(232,84,28,.30);
}

/* ────────────────────────────────────
   § 9. 플랜 카드 — 다크 글래스 깊이
   ──────────────────────────────────── */

/* 플랜 섹션 배경 */
.plans-sec {
  background:
    radial-gradient(ellipse 100% 60% at 50% 30%,
      rgba(232,84,28,.06) 0%, transparent 55%),
    radial-gradient(ellipse 80% 50% at 80% 80%,
      rgba(217,162,75,.04) 0%, transparent 50%),
    var(--dark2);
}

/* plan-col — 내부 빛 테두리 */
.plan-col {
  border: 1px solid rgba(255,255,255,.09);
  position: relative;
  overflow: hidden;
}
.plan-col::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 1px;
  background: linear-gradient(90deg,
    transparent, rgba(255,255,255,.20) 50%, transparent);
  pointer-events: none;
}
.plan-col::after {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse 60% 30% at 50% 0%,
    rgba(255,255,255,.04) 0%, transparent 60%);
  pointer-events: none;
}
.plan-col:hover {
  border-color: rgba(255,255,255,.18);
  box-shadow:
    0 1px 0 rgba(255,255,255,.12),
    0 8px 28px rgba(0,0,0,.28),
    0 28px 72px rgba(0,0,0,.24),
    inset 0 1px 0 rgba(255,255,255,.10);
}
.plan-col--featured {
  border-color: rgba(217,162,75,.28);
  box-shadow:
    0 2px 0 rgba(217,162,75,.15),
    0 8px 32px rgba(217,162,75,.16),
    0 28px 72px rgba(0,0,0,.22),
    inset 0 1px 0 rgba(217,162,75,.12);
}
.plan-col--featured::before {
  background: linear-gradient(90deg,
    transparent, rgba(217,162,75,.40) 50%, transparent);
}
.plan-col--featured:hover {
  border-color: rgba(217,162,75,.50);
  box-shadow:
    0 2px 0 rgba(217,162,75,.20),
    0 12px 40px rgba(217,162,75,.24),
    0 36px 88px rgba(0,0,0,.24),
    inset 0 1px 0 rgba(217,162,75,.18);
}

/* 플랜 카드 제목 — 빛 효과 */
.plan-col-title {
  text-shadow: 0 1px 0 rgba(255,255,255,.05);
}
.plan-col--featured .plan-col-title {
  text-shadow:
    0 2px 0 rgba(217,162,75,.15),
    0 6px 20px rgba(217,162,75,.18);
}

/* ────────────────────────────────────
   § 10. 리뷰 카드 — 종이 깊이
   ──────────────────────────────────── */

/* 리뷰 섹션 배경 */
.reviews-sec {
  background:
    radial-gradient(ellipse 120% 50% at 50% 50%,
      rgba(232,84,28,.025) 0%, transparent 55%),
    var(--beige);
}

/* 리뷰 카드 — 종이 같은 레이어 */
.review-card {
  background: #fff;
  border: 1px solid rgba(42,37,34,.05);
  box-shadow:
    0 1px 0 rgba(255,255,255,1),
    0 2px 4px rgba(42,37,34,.04),
    0 6px 18px rgba(42,37,34,.07),
    0 16px 40px rgba(42,37,34,.05),
    inset 0 -1px 0 rgba(42,37,34,.03);
  position: relative;
  overflow: hidden;
}
.review-card::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 1px;
  background: linear-gradient(90deg,
    transparent, rgba(255,255,255,.95) 50%, transparent);
}
.review-card:hover {
  box-shadow:
    0 2px 0 rgba(255,255,255,.95),
    0 4px 10px rgba(42,37,34,.07),
    0 14px 36px rgba(42,37,34,.10),
    0 32px 64px rgba(42,37,34,.07);
  border-color: rgba(232,84,28,.10);
}

/* 별점 강화 */
.rv-stars {
  filter:
    drop-shadow(0 1px 0 rgba(201,122,0,.3))
    drop-shadow(0 3px 8px rgba(217,162,75,.35));
}

/* 인용 따옴표 — 발광 */
.rv-quote-icon {
  opacity: .08;
  transition: opacity .3s ease;
  filter: drop-shadow(0 4px 12px rgba(232,84,28,.2));
}
.review-card:hover .rv-quote-icon {
  opacity: .13;
}

/* ────────────────────────────────────
   § 11. 연락처 — 폼 글래스 깊이
   ──────────────────────────────────── */

/* 연락처 섹션 배경 */
.contact-sec {
  background:
    radial-gradient(ellipse 80% 60% at 20% 50%,
      rgba(232,84,28,.04) 0%, transparent 55%),
    radial-gradient(ellipse 60% 50% at 80% 30%,
      rgba(217,162,75,.03) 0%, transparent 50%),
    var(--cream);
}

/* 폼 래퍼 — 더 강한 글래스 */
.cform-wrap {
  background: #fff;
  border: 1px solid rgba(255,255,255,.95);
  box-shadow:
    0 2px 0 rgba(255,255,255,.95),
    0 4px 12px rgba(42,37,34,.05),
    0 12px 40px rgba(42,37,34,.08),
    0 32px 80px rgba(42,37,34,.06),
    inset 0 1px 0 rgba(255,255,255,1);
  position: relative;
  overflow: hidden;
}
.cform-wrap::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 2px;
  background: linear-gradient(90deg,
    var(--orange), var(--gold), var(--orange));
  background-size: 200% 100%;
  animation: form-top-line 4s linear infinite;
}
@keyframes form-top-line {
  0%   { background-position: 0% 0%; }
  100% { background-position: 200% 0%; }
}
.cform-wrap:hover {
  box-shadow:
    0 2px 0 rgba(255,255,255,.95),
    0 6px 20px rgba(42,37,34,.07),
    0 20px 56px rgba(42,37,34,.10),
    0 48px 96px rgba(42,37,34,.07);
}

/* 폼 인풋 — 포커스 글로우 */
.cform-input:focus,
.cform-textarea:focus,
.cform-select:focus {
  box-shadow:
    0 0 0 3px rgba(232,84,28,.12),
    0 2px 8px rgba(232,84,28,.08);
}

/* 연락처 아이콘 박스 */
.con-icon {
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.25),
    0 2px 8px rgba(232,84,28,.14),
    0 6px 20px rgba(232,84,28,.10);
}
.con-info li:hover .con-icon {
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.3),
    0 4px 16px rgba(232,84,28,.22),
    0 10px 32px rgba(232,84,28,.16);
}

/* ────────────────────────────────────
   § 12. 푸터 — 깊이 구분선
   ──────────────────────────────────── */

footer,
.footer {
  position: relative;
}
footer::before,
.footer::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 1px;
  background: linear-gradient(90deg,
    transparent,
    rgba(232,84,28,.35) 30%,
    rgba(217,162,75,.40) 50%,
    rgba(232,84,28,.35) 70%,
    transparent
  );
}

/* ────────────────────────────────────
   § 13. 마퀴 스트립 — 더 강한 분리감
   ──────────────────────────────────── */

.marquee-wrap {
  box-shadow:
    0 6px 32px rgba(42,37,34,.24),
    0 -4px 24px rgba(42,37,34,.12),
    inset 0 1px 0 rgba(255,255,255,.04),
    inset 0 -1px 0 rgba(0,0,0,.08);
  background: linear-gradient(135deg,
    #2A2522 0%, #1f1b19 50%, #2A2522 100%);
}
.marquee-inner .mdot {
  text-shadow:
    0 0 6px rgba(217,162,75,.6),
    0 0 16px rgba(217,162,75,.35);
}

/* ────────────────────────────────────
   § 14. 네비게이션 — 스크롤 후 깊이
   ──────────────────────────────────── */

.nav.scrolled {
  background: rgba(250,247,240,.94);
  backdrop-filter: blur(24px) saturate(1.8) brightness(1.02);
  -webkit-backdrop-filter: blur(24px) saturate(1.8) brightness(1.02);
  box-shadow:
    0 1px 0 rgba(255,255,255,.8),
    0 2px 8px rgba(42,37,34,.06),
    0 8px 32px rgba(42,37,34,.10),
    0 16px 48px rgba(42,37,34,.06);
}

/* ────────────────────────────────────
   § 15. 버튼 — 입체 강화
   ──────────────────────────────────── */

.btn-orange {
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.25),
    inset 0 -2px 0 rgba(0,0,0,.12),
    0 2px 8px rgba(232,84,28,.20),
    0 6px 20px rgba(232,84,28,.16);
  text-shadow: 0 1px 2px rgba(0,0,0,.15);
}
.btn-orange:hover {
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.30),
    inset 0 -2px 0 rgba(0,0,0,.15),
    0 4px 12px rgba(232,84,28,.28),
    0 12px 36px rgba(232,84,28,.32),
    0 28px 64px rgba(232,84,28,.18);
}
.btn-orange:active {
  box-shadow:
    inset 0 2px 6px rgba(0,0,0,.15),
    0 1px 4px rgba(232,84,28,.15);
  transform: translateY(1px);
}

.btn-line {
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.1),
    0 1px 4px rgba(42,37,34,.08);
}
.btn-line:hover {
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.15),
    0 4px 16px rgba(42,37,34,.14),
    0 12px 32px rgba(42,37,34,.10);
}

/* ────────────────────────────────────
   § 16. 섹션 제목 eyebrow — 빛 라인
   ──────────────────────────────────── */

.sec-eyebrow::before {
  box-shadow: 0 0 8px rgba(232,84,28,.5);
}
.sec-eyebrow--dark::before {
  box-shadow: 0 0 8px rgba(217,162,75,.5);
}

/* ────────────────────────────────────
   § 17. 스크롤 리빌 — 더 드라마틱
   ──────────────────────────────────── */

.reveal-up {
  opacity: 0;
  transform: translateY(28px);
  transition:
    opacity .75s cubic-bezier(.22,1,.36,1),
    transform .75s cubic-bezier(.22,1,.36,1);
}
.reveal-up.visible {
  opacity: 1;
  transform: translateY(0);
}

/* ────────────────────────────────────
   § 18. 섹션 배경 전환 — 부드러운 경계
   ──────────────────────────────────── */

/* 베이지→크림 섹션 구분 — 미묘한 그림자 */
.about-sec::after,
.awards-sec::after,
.reviews-sec::after {
  content: '';
  position: absolute;
  bottom: 0; left: 0; right: 0;
  height: 80px;
  background: linear-gradient(to bottom,
    transparent, rgba(42,37,34,.025));
  pointer-events: none;
}
.about-sec,
.awards-sec,
.reviews-sec {
  position: relative;
}

/* ────────────────────────────────────
   § 19. 파트너 통계 바 — 강화
   ──────────────────────────────────── */

.partners-stats {
  background: rgba(255,255,255,.92);
  backdrop-filter: blur(16px) saturate(1.6);
  -webkit-backdrop-filter: blur(16px) saturate(1.6);
  border: 1px solid rgba(255,255,255,.95);
  box-shadow:
    0 2px 0 rgba(255,255,255,1),
    0 4px 16px rgba(42,37,34,.06),
    0 12px 40px rgba(42,37,34,.08),
    inset 0 1px 0 rgba(255,255,255,1);
}
.pstat strong {
  text-shadow:
    0 2px 0 rgba(232,84,28,.12),
    0 4px 16px rgba(232,84,28,.15);
}
.pstat-divider {
  background: linear-gradient(to bottom,
    transparent, rgba(42,37,34,.15) 30%,
    rgba(42,37,34,.15) 70%, transparent);
}

/* ══════════════════════════════════════════════════
   서비스 섹션 하단 — 전용 페이지 링크 배너
   ══════════════════════════════════════════════════ */
.svc-detail-banner {
  margin-top: 48px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 28px 36px;
  background: linear-gradient(135deg, rgba(232,84,28,.06) 0%, rgba(217,162,75,.04) 100%);
  border: 1.5px solid rgba(232,84,28,.18);
  border-radius: var(--radius-lg);
  position: relative;
  overflow: hidden;
  flex-wrap: wrap;
}
.svc-detail-banner::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 2px;
  background: linear-gradient(90deg, var(--orange), var(--gold), transparent);
}
.svc-detail-banner-left {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.svc-detail-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: .7rem;
  font-family: var(--font-en);
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--orange);
  background: rgba(232,84,28,.07);
  border: 1px solid rgba(232,84,28,.16);
  padding: 4px 12px;
  border-radius: 20px;
}
.svc-detail-text {
  font-size: .9rem;
  line-height: 1.7;
  color: var(--gray);
  word-break: keep-all;
}
.svc-detail-text strong {
  color: var(--dark);
  font-weight: 700;
}
.btn-svc-detail {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  background: var(--orange);
  color: #fff;
  font-size: .88rem;
  font-weight: 800;
  padding: 14px 28px;
  border-radius: 10px;
  transition: all .25s ease;
  white-space: nowrap;
  box-shadow: 0 4px 16px rgba(232,84,28,.24);
  flex-shrink: 0;
}
.btn-svc-detail:hover {
  background: var(--orange-dark, #C94210);
  transform: translateY(-2px) translateX(2px);
  box-shadow: 0 8px 28px rgba(232,84,28,.36);
}
@media (max-width: 640px) {
  .svc-detail-banner {
    flex-direction: column;
    align-items: flex-start;
    padding: 22px 20px;
  }
  .btn-svc-detail { width: 100%; justify-content: center; }
}

/* ══════════════════════════════════════════════════
   가치담다 회사 소개 섹션 — WHO WE ARE
   ══════════════════════════════════════════════════ */

/* 섹션 베이스 */
.company-intro {
  padding: 100px 0 110px;
  background:
    radial-gradient(ellipse 90% 50% at 10% 20%, rgba(232,84,28,.07) 0%, transparent 55%),
    radial-gradient(ellipse 70% 60% at 90% 80%, rgba(217,162,75,.05) 0%, transparent 55%),
    #111009;
}

/* 헤더 타이틀 */
.ci-title {
  color: rgba(255,255,255,.93) !important;
  font-size: clamp(1.7rem, 3.2vw, 2.6rem) !important;
}
.ci-title em {
  color: var(--orange) !important;
  font-style: normal;
}
.ci-lead {
  color: rgba(255,255,255,.48) !important;
  font-size: .95rem;
  margin-top: 12px;
}

/* ① 메인 소개 블록 (2열) */
.ci-intro-block {
  display: grid;
  grid-template-columns: 1fr 340px;
  gap: 48px;
  align-items: start;
  margin: 60px 0 48px;
}
.ci-intro-text {
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.ci-intro-text p {
  font-size: 1.01rem;
  line-height: 1.92;
  color: rgba(255,255,255,.60);
  word-break: keep-all;
}
.ci-intro-text strong {
  color: rgba(255,255,255,.88);
  font-weight: 700;
}

/* 인용 카드 */
.ci-quote-card {
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.09);
  border-radius: 20px;
  padding: 32px 28px 28px;
  position: relative;
  overflow: hidden;
}
.ci-quote-card::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 2px;
  background: linear-gradient(90deg, var(--orange), var(--gold), transparent);
}
.ci-q-icon {
  font-size: 1.6rem;
  color: var(--orange);
  opacity: .6;
  margin-bottom: 16px;
  display: block;
}
.ci-quote-text {
  font-size: 1.15rem;
  font-weight: 800;
  line-height: 1.6;
  color: rgba(255,255,255,.90);
  letter-spacing: -.03em;
  word-break: keep-all;
  margin-bottom: 20px;
}
.ci-quote-sig {
  display: flex;
  flex-direction: column;
  gap: 3px;
  padding-top: 16px;
  border-top: 1px solid rgba(255,255,255,.07);
}
.ci-quote-sig span:first-child {
  font-size: .88rem;
  font-weight: 700;
  color: var(--gold);
}
.ci-quote-sig-sub {
  font-size: .72rem;
  color: rgba(255,255,255,.28);
  font-family: var(--font-en);
  letter-spacing: .04em;
}

/* ② 서비스 태그 */
.ci-service-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 56px;
}
.ci-stag {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 9px 18px;
  border-radius: 40px;
  background: rgba(255,255,255,.05);
  border: 1px solid rgba(255,255,255,.10);
  font-size: .82rem;
  font-weight: 600;
  color: rgba(255,255,255,.65);
  transition: all .25s ease;
  cursor: default;
}
.ci-stag i {
  font-size: .78rem;
  opacity: .7;
}
.ci-stag:hover {
  background: rgba(255,255,255,.09);
  color: rgba(255,255,255,.88);
  border-color: rgba(255,255,255,.18);
  transform: translateY(-2px);
}
.ci-stag--orange {
  background: rgba(232,84,28,.12);
  border-color: rgba(232,84,28,.22);
  color: rgba(255,140,90,.85);
}
.ci-stag--orange:hover {
  background: rgba(232,84,28,.20);
  color: rgba(255,160,110,.95);
}
.ci-stag--gold {
  background: rgba(217,162,75,.10);
  border-color: rgba(217,162,75,.22);
  color: rgba(217,162,75,.85);
}
.ci-stag--gold:hover {
  background: rgba(217,162,75,.18);
  color: rgba(217,162,75,.98);
}

/* ③ 전문 인력 4카드 */
.ci-team-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 18px;
  margin-bottom: 56px;
}
.ci-team-card {
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.07);
  border-radius: 16px;
  padding: 28px 22px;
  transition: all .3s ease;
  position: relative;
  overflow: hidden;
}
.ci-team-card::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.12), transparent);
}
.ci-team-card:hover {
  background: rgba(255,255,255,.07);
  border-color: rgba(232,84,28,.25);
  transform: translateY(-4px);
  box-shadow: 0 16px 48px rgba(0,0,0,.28), 0 0 24px rgba(232,84,28,.08);
}
.ci-team-icon {
  width: 48px;
  height: 48px;
  border-radius: 14px;
  background: linear-gradient(135deg, rgba(232,84,28,.18), rgba(217,162,75,.12));
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.2rem;
  color: var(--orange);
  margin-bottom: 16px;
  box-shadow: 0 4px 12px rgba(232,84,28,.12);
}
.ci-team-card h4 {
  font-size: .88rem;
  font-weight: 700;
  color: rgba(255,255,255,.88);
  margin-bottom: 8px;
  line-height: 1.35;
}
.ci-team-card p {
  font-size: .78rem;
  color: rgba(255,255,255,.42);
  line-height: 1.7;
  word-break: keep-all;
}

/* ④ 핵심 가치 3가지 */
.ci-values {
  display: flex;
  align-items: stretch;
  gap: 0;
  background: rgba(255,255,255,.03);
  border: 1px solid rgba(255,255,255,.07);
  border-radius: 20px;
  overflow: hidden;
  margin-bottom: 60px;
}
.ci-value-item {
  flex: 1;
  padding: 36px 32px;
  transition: background .25s;
}
.ci-value-item:hover {
  background: rgba(255,255,255,.04);
}
.ci-value-num {
  font-family: var(--font-en);
  font-size: 2.2rem;
  font-weight: 900;
  color: rgba(232,84,28,.22);
  line-height: 1;
  margin-bottom: 14px;
  letter-spacing: -.03em;
}
.ci-value-item h4 {
  font-size: 1rem;
  font-weight: 800;
  color: rgba(255,255,255,.88);
  margin-bottom: 10px;
}
.ci-value-item p {
  font-size: .82rem;
  color: rgba(255,255,255,.44);
  line-height: 1.8;
  word-break: keep-all;
}
.ci-value-divider {
  width: 1px;
  background: rgba(255,255,255,.07);
  flex-shrink: 0;
}

/* ⑤ 클로징 */
.ci-closing {
  text-align: center;
  padding: 48px 0 0;
  border-top: 1px solid rgba(255,255,255,.06);
}
.ci-closing-main {
  font-size: clamp(1.6rem, 3vw, 2.4rem);
  font-weight: 900;
  color: rgba(255,255,255,.88);
  letter-spacing: -.04em;
  word-break: keep-all;
  margin-bottom: 28px;
  line-height: 1.3;
}
.ci-closing-main em {
  font-style: normal;
  color: var(--orange);
}
.ci-cta {
  font-size: 1rem;
  padding: 16px 36px;
}

/* ── 반응형 ── */
@media (max-width: 1100px) {
  .ci-team-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 860px) {
  .ci-intro-block { grid-template-columns: 1fr; gap: 32px; }
  .ci-values {
    flex-direction: column;
    gap: 0;
  }
  .ci-value-divider { width: 100%; height: 1px; }
  .ci-value-item { padding: 28px 24px; }
}
@media (max-width: 640px) {
  .company-intro { padding: 72px 0 80px; }
  .ci-team-grid { grid-template-columns: 1fr; gap: 12px; }
  .ci-team-card { padding: 22px 18px; }
  .ci-service-tags { gap: 8px; }
  .ci-stag { font-size: .75rem; padding: 7px 14px; }
}

/* ══════════════════════════════════════════════════
   가치담다 공식 홍보영상 — 프로모 플레이어 섹션
   ══════════════════════════════════════════════════ */

/* 전체 래퍼 */
.yt-promo-wrap {
  margin-top: 40px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 32px;
}

/* 상단 타이틀 블록 */
.yt-promo-head {
  text-align: center;
  max-width: 640px;
}
.yt-promo-badge {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  background: rgba(255,0,0,.12);
  border: 1px solid rgba(255,0,0,.25);
  color: rgba(255,80,80,.9);
  font-size: .72rem;
  font-family: var(--font-en);
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  padding: 5px 14px;
  border-radius: 20px;
  margin-bottom: 16px;
}
.yt-promo-badge i {
  font-size: .85rem;
}
.yt-promo-title {
  font-size: clamp(1.5rem, 3vw, 2.1rem);
  font-weight: 800;
  color: rgba(255,255,255,.92);
  line-height: 1.25;
  letter-spacing: -.035em;
  word-break: keep-all;
  margin-bottom: 10px;
}
.yt-promo-title em {
  font-style: normal;
  color: var(--orange);
}
.yt-promo-sub {
  font-size: .88rem;
  color: rgba(255,255,255,.42);
  letter-spacing: .01em;
}

/* 영상 플레이어 — glow 효과 포함 */
.yt-promo-player-wrap {
  position: relative;
  width: 100%;
  max-width: 900px;
}
.yt-promo-player-glow {
  position: absolute;
  inset: -24px -16px;
  background: radial-gradient(
    ellipse 80% 60% at 50% 50%,
    rgba(232,84,28,.18) 0%,
    rgba(217,162,75,.10) 40%,
    transparent 70%
  );
  border-radius: 32px;
  filter: blur(24px);
  pointer-events: none;
  z-index: 0;
}
.yt-promo-player {
  position: relative;
  z-index: 1;
  width: 100%;
  padding-top: 56.25%; /* 16:9 */
  border-radius: 18px;
  overflow: hidden;
  background: #000;
  box-shadow:
    0 0 0 1px rgba(255,255,255,.06),
    0 2px 0 rgba(255,255,255,.04),
    0 8px 32px rgba(0,0,0,.55),
    0 32px 80px rgba(0,0,0,.40),
    0 0 60px rgba(232,84,28,.12);
}
.yt-promo-player iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
  display: block;
}

/* ── 링크 플레이어 (iframe embed 오류 대응) ── */
.yt-promo-player--link {
  text-decoration: none;
  cursor: pointer;
  transition: transform .35s cubic-bezier(.22,1,.36,1),
              box-shadow .35s ease;
}
.yt-promo-player--link:hover {
  transform: scale(1.015);
  box-shadow:
    0 0 0 2px rgba(255,0,0,.4),
    0 8px 40px rgba(0,0,0,.65),
    0 40px 90px rgba(0,0,0,.45),
    0 0 80px rgba(232,84,28,.18);
}
/* 썸네일 이미지 */
.yt-promo-thumb {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  border-radius: inherit;
  transition: transform .5s cubic-bezier(.25,.46,.45,.94),
              filter .4s ease;
  filter: brightness(.92) saturate(1.05);
}
.yt-promo-player--link:hover .yt-promo-thumb {
  transform: scale(1.03);
  filter: brightness(1.0) saturate(1.1);
}
/* 다크 오버레이 */
.yt-promo-thumb-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to bottom,
    rgba(0,0,0,.15) 0%,
    rgba(0,0,0,.08) 40%,
    rgba(0,0,0,.42) 100%
  );
  border-radius: inherit;
  pointer-events: none;
  transition: background .35s ease;
}
.yt-promo-player--link:hover .yt-promo-thumb-overlay {
  background: linear-gradient(
    to bottom,
    rgba(0,0,0,.08) 0%,
    rgba(0,0,0,.04) 40%,
    rgba(0,0,0,.35) 100%
  );
}
/* 중앙 플레이 버튼 */
.yt-promo-play-btn {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 14px;
  z-index: 2;
}
.yt-promo-play-circle {
  width: 80px; height: 80px;
  border-radius: 50%;
  background: rgba(0,0,0,.38);
  backdrop-filter: blur(10px);
  border: 2px solid rgba(255,255,255,.22);
  display: flex; align-items: center; justify-content: center;
  transition: transform .3s ease,
              background .3s ease,
              border-color .3s ease,
              box-shadow .3s ease;
  box-shadow: 0 4px 20px rgba(0,0,0,.4);
}
.yt-promo-player--link:hover .yt-promo-play-circle {
  transform: scale(1.12);
  background: rgba(255,0,0,.22);
  border-color: rgba(255,0,0,.5);
  box-shadow: 0 6px 28px rgba(255,0,0,.35);
}
.yt-promo-play-label {
  font-size: .82rem;
  font-family: 'Noto Sans KR', sans-serif;
  font-weight: 500;
  color: rgba(255,255,255,.82);
  letter-spacing: .02em;
  text-shadow: 0 1px 4px rgba(0,0,0,.6);
  transition: color .3s ease, transform .3s ease;
}
.yt-promo-player--link:hover .yt-promo-play-label {
  color: #fff;
  transform: translateY(-2px);
}

/* 하단 CTA 바 */
.yt-promo-cta-bar {
  width: 100%;
  max-width: 900px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 18px 24px;
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 14px;
  backdrop-filter: blur(10px);
  flex-wrap: wrap;
}
.yt-promo-cta-info {
  display: flex;
  align-items: center;
}
.yt-promo-ch-dot {
  display: flex;
  align-items: center;
  gap: 12px;
}
.yt-promo-ch-avatar {
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background: linear-gradient(135deg, #E8541C, #D9A24B);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1rem;
  color: #fff;
  flex-shrink: 0;
}
.yt-promo-ch-name {
  display: block;
  font-size: .88rem;
  font-weight: 700;
  color: rgba(255,255,255,.85);
  line-height: 1.3;
}
.yt-promo-ch-handle {
  display: block;
  font-size: .72rem;
  color: rgba(255,255,255,.35);
  font-family: var(--font-en);
  letter-spacing: .02em;
}
.yt-promo-cta-btns {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

/* CTA 버튼들 */
.btn-yt-promo-watch,
.btn-yt-promo-sub,
.btn-yt-promo-contact {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  font-size: .82rem;
  font-weight: 700;
  padding: 10px 18px;
  border-radius: 8px;
  transition: all .25s ease;
  white-space: nowrap;
  cursor: pointer;
  text-decoration: none;
}
.btn-yt-promo-watch {
  background: #FF0000;
  color: #fff;
  box-shadow: 0 4px 14px rgba(255,0,0,.30);
}
.btn-yt-promo-watch:hover {
  background: #CC0000;
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(255,0,0,.40);
}
.btn-yt-promo-sub {
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.14);
  color: rgba(255,255,255,.80);
}
.btn-yt-promo-sub:hover {
  background: rgba(255,255,255,.14);
  color: #fff;
  transform: translateY(-2px);
}
.btn-yt-promo-contact {
  background: linear-gradient(135deg, var(--orange), var(--gold));
  color: #fff;
  box-shadow: 0 4px 14px rgba(232,84,28,.30);
}
.btn-yt-promo-contact:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(232,84,28,.44);
}

/* ── 반응형 ── */
@media (max-width: 768px) {
  .yt-promo-title { font-size: 1.35rem; }
  .yt-promo-cta-bar {
    flex-direction: column;
    align-items: flex-start;
    gap: 14px;
    padding: 16px;
  }
  .yt-promo-cta-btns {
    width: 100%;
    justify-content: flex-start;
  }
  .btn-yt-promo-watch,
  .btn-yt-promo-sub,
  .btn-yt-promo-contact {
    font-size: .78rem;
    padding: 9px 14px;
  }
}
@media (max-width: 480px) {
  .yt-promo-wrap { gap: 22px; }
  .yt-promo-cta-btns { gap: 8px; }
  .btn-yt-promo-watch,
  .btn-yt-promo-sub,
  .btn-yt-promo-contact { flex: 1; justify-content: center; }
}

/* ══════════════════════════════════════════════════
   제품 촬영 포트폴리오 섹션 (index.html)
   ══════════════════════════════════════════════════ */
.photo-portfolio-sec {
  position: relative;
  padding: 100px 0;
  overflow: hidden;
  background: #080706;
}

/* 배경 8장 모자이크 */
.photo-pf-bg {
  position: absolute; inset: 0; z-index: 0;
  display: grid;
  grid-template-columns: repeat(8, 1fr);
  gap: 0;
}
.photo-pf-bg-cell { overflow: hidden; }
.photo-pf-bg-cell img {
  width: 100%; height: 100%;
  object-fit: cover;
  filter: brightness(.18) saturate(1.1);
  transform: scale(1.05);
  transition: transform 10s ease;
}
.photo-portfolio-sec:hover .photo-pf-bg-cell img { transform: scale(1.0); }

/* 오버레이 */
.photo-pf-overlay {
  position: absolute; inset: 0; z-index: 1;
  background:
    radial-gradient(ellipse 80% 100% at 0% 50%, rgba(8,7,6,.85) 0%, rgba(8,7,6,.4) 55%, transparent 80%),
    linear-gradient(to bottom, rgba(8,7,6,.7) 0%, rgba(8,7,6,.5) 50%, rgba(8,7,6,.7) 100%);
}

/* 내부 레이아웃 */
.photo-pf-inner {
  position: relative; z-index: 2;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 72px;
  align-items: center;
}

/* 좌측 텍스트 */
.photo-pf-eye {
  display: inline-flex; align-items: center; gap: 8px;
  font-size: .68rem; font-family: var(--font-en);
  font-weight: 700; letter-spacing: .22em; text-transform: uppercase;
  color: var(--orange); margin-bottom: 18px;
}
.photo-pf-title {
  font-size: clamp(2rem, 3.8vw, 3.4rem);
  font-weight: 900; letter-spacing: -.04em;
  color: rgba(255,255,255,.92); line-height: 1.1;
  word-break: keep-all; margin-bottom: 18px;
}
.photo-pf-title em { font-style: normal; color: var(--orange); }
.photo-pf-desc {
  font-size: .9rem; color: rgba(255,255,255,.42);
  line-height: 1.85; word-break: keep-all;
  margin-bottom: 32px;
}

/* 통계 바 */
.photo-pf-stats {
  display: flex; gap: 0;
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 12px;
  backdrop-filter: blur(16px);
  overflow: hidden;
  width: fit-content;
  margin-bottom: 36px;
}
.photo-pf-stat {
  padding: 16px 24px; text-align: center;
  border-right: 1px solid rgba(255,255,255,.06);
}
.photo-pf-stat:last-child { border-right: none; }
.photo-pf-stat-n {
  display: block;
  font-family: var(--font-num);
  font-size: 1.9rem; color: #fff; line-height: 1;
  margin-bottom: 5px;
}
.photo-pf-stat-n em { font-style: normal; color: var(--orange); font-size: 1.2rem; }
.photo-pf-stat-l {
  font-size: .62rem; color: rgba(255,255,255,.3);
  font-family: var(--font-en); font-weight: 700;
  letter-spacing: .08em; text-transform: uppercase;
  white-space: nowrap;
}

/* CTA 버튼 */
.btn-photo-pf {
  display: inline-flex; align-items: center; gap: 10px;
  background: var(--orange); color: #fff;
  font-size: .95rem; font-weight: 800;
  padding: 17px 36px; border-radius: 10px;
  transition: all .25s;
  box-shadow: 0 6px 24px rgba(232,84,28,.35);
}
.btn-photo-pf:hover {
  background: #C94210; transform: translateY(-3px);
  box-shadow: 0 14px 44px rgba(232,84,28,.5);
}
.btn-photo-pf .btn-arrow {
  transition: transform .25s;
}
.btn-photo-pf:hover .btn-arrow { transform: translateX(4px); }

/* 우측 모자이크 그리드 */
.photo-pf-mosaic {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: 220px 140px;
  gap: 10px;
}
.photo-pf-mosaic-item {
  display: block;
  border-radius: 14px;
  overflow: hidden;
  cursor: pointer;
  position: relative;
}
.photo-pf-mosaic-item img {
  width: 100%; height: 100%;
  object-fit: cover;
  transition: transform .55s cubic-bezier(.25,.46,.45,.94), filter .4s ease;
  filter: brightness(.75) saturate(1.1);
}
.photo-pf-mosaic-item:hover img {
  transform: scale(1.07);
  filter: brightness(.95) saturate(1.25);
}
/* 큰 셀 — 2행 차지 */
.mosaic-big {
  grid-row: 1 / 3;
}
/* 넓은 셀 — 2열 차지 */
.mosaic-wide {
  grid-column: 1 / 3;
}
/* 호버 오버레이 */
.mosaic-overlay {
  position: absolute; inset: 0;
  background: linear-gradient(to top, rgba(8,7,6,.8) 0%, transparent 55%);
  display: flex; align-items: flex-end;
  padding: 16px;
  opacity: 0; transition: opacity .35s ease;
}
.photo-pf-mosaic-item:hover .mosaic-overlay { opacity: 1; }
.mosaic-overlay span {
  font-size: .78rem; font-weight: 800;
  color: rgba(255,255,255,.88);
  letter-spacing: -.01em;
}

/* ── 반응형 ── */
@media (max-width: 1024px) {
  .photo-pf-inner { grid-template-columns: 1fr; gap: 48px; }
  .photo-pf-mosaic { grid-template-columns: repeat(3, 1fr); grid-template-rows: 200px 140px; }
  .mosaic-big { grid-row: 1; }
}
@media (max-width: 640px) {
  .photo-portfolio-sec { padding: 72px 0; }
  .photo-pf-mosaic { grid-template-columns: repeat(2, 1fr); grid-template-rows: 160px 110px; }
  .mosaic-wide { grid-column: 1 / 3; }
  .photo-pf-stats { flex-wrap: wrap; }
  .photo-pf-stat { flex: 1 1 auto; }
  .btn-photo-pf { width: 100%; justify-content: center; }
}

/* ══════════════════════════════════════════════════
   AI 논스톱 마케팅 섹션
   ══════════════════════════════════════════════════ */
.ai-nonstop-sec {
  position: relative;
  padding: 108px 0 96px;
  background: #09080b;
  overflow: hidden;
}

/* 배경 애니메이션 orb */
.ai-ns-bg-anim {
  position: absolute; inset: 0; pointer-events: none; z-index: 0;
}
.ai-ns-orb {
  position: absolute; border-radius: 50%;
  filter: blur(80px);
  opacity: .18;
  animation: orbFloat 12s ease-in-out infinite;
}
.ai-ns-orb1 {
  width: 500px; height: 500px;
  background: radial-gradient(ellipse, #E8541C 0%, transparent 70%);
  top: -150px; left: -100px;
  animation-delay: 0s;
}
.ai-ns-orb2 {
  width: 400px; height: 400px;
  background: radial-gradient(ellipse, #7c3aed 0%, transparent 70%);
  top: 50%; right: -100px;
  animation-delay: -4s;
}
.ai-ns-orb3 {
  width: 350px; height: 350px;
  background: radial-gradient(ellipse, #D9A24B 0%, transparent 70%);
  bottom: -80px; left: 40%;
  animation-delay: -8s;
}
@keyframes orbFloat {
  0%, 100% { transform: translateY(0) scale(1); }
  50%       { transform: translateY(-40px) scale(1.1); }
}

.ai-nonstop-sec .container { position: relative; z-index: 1; }

/* 헤더 */
.ai-ns-head { text-align: center; margin-bottom: 56px; }
.ai-ns-badge {
  display: inline-flex; align-items: center; gap: 8px;
  font-size: .68rem; font-family: var(--font-en);
  font-weight: 700; letter-spacing: .2em; text-transform: uppercase;
  color: rgba(255,255,255,.5);
  background: rgba(255,255,255,.05);
  border: 1px solid rgba(255,255,255,.10);
  padding: 8px 20px; border-radius: 40px;
  margin-bottom: 20px;
}
.ai-ns-badge i { color: var(--orange); }
.ai-ns-title {
  font-size: clamp(2rem, 4vw, 3.4rem);
  font-weight: 900; letter-spacing: -.04em;
  color: rgba(255,255,255,.92); line-height: 1.15;
  word-break: keep-all; margin-bottom: 18px;
}
.ai-ns-title em { font-style: normal; color: var(--orange); }
.ai-ns-lead {
  font-size: clamp(.88rem, 1.2vw, 1rem);
  color: rgba(255,255,255,.42);
  line-height: 1.9; word-break: keep-all;
  max-width: 680px; margin: 0 auto;
}
.ai-ns-lead strong { color: rgba(255,255,255,.72); }

/* 채널 스트립 */
.ai-ns-channel-strip {
  overflow: hidden; margin-bottom: 72px;
  mask-image: linear-gradient(to right, transparent 0%, #000 10%, #000 90%, transparent 100%);
  -webkit-mask-image: linear-gradient(to right, transparent 0%, #000 10%, #000 90%, transparent 100%);
}
.ai-ns-channel-track {
  display: flex; gap: 0;
  animation: nsScroll 24s linear infinite;
  width: max-content;
}
.ai-ns-channel-track:hover { animation-play-state: paused; }
@keyframes nsScroll {
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); }
}
.ai-ns-ch {
  display: inline-flex; flex-direction: column;
  align-items: center; gap: 8px;
  padding: 20px 36px;
  border-right: 1px solid rgba(255,255,255,.06);
  min-width: 120px;
  transition: background .2s;
}
.ai-ns-ch:hover { background: rgba(255,255,255,.04); }
.ai-ns-ch i {
  font-size: 1.5rem; color: rgba(255,255,255,.28);
  transition: color .2s;
}
.ai-ns-ch:hover i { color: var(--orange); }
.ai-ns-ch span {
  font-size: .65rem; font-family: var(--font-en);
  font-weight: 700; letter-spacing: .1em; text-transform: uppercase;
  color: rgba(255,255,255,.22);
}
.ai-ns-ch--ai i { color: rgba(232,84,28,.5); }
.ai-ns-ch--ai span { color: rgba(232,84,28,.45); }

/* 본문 그리드 */
.ai-ns-grid {
  display: grid;
  grid-template-columns: 1.1fr .9fr;
  gap: 64px;
  margin-bottom: 64px;
  align-items: start;
}

/* 좌측 메인 블록 */
.ai-ns-main-eye {
  font-size: .65rem; font-family: var(--font-en);
  font-weight: 700; letter-spacing: .22em; text-transform: uppercase;
  color: var(--orange); margin-bottom: 16px;
  display: flex; align-items: center; gap: 10px;
}
.ai-ns-main-eye::before {
  content: ''; width: 22px; height: 1px;
  background: var(--orange); opacity: .6;
}
.ai-ns-main-title {
  font-size: clamp(1.5rem, 2.4vw, 2rem);
  font-weight: 900; letter-spacing: -.04em;
  color: rgba(255,255,255,.88); line-height: 1.25;
  word-break: keep-all; margin-bottom: 32px;
  border-left: 3px solid var(--orange);
  padding-left: 20px;
}
.t-orange { color: var(--orange); }

.ai-ns-text-blocks { display: flex; flex-direction: column; gap: 24px; }
.ai-ns-tb {
  display: flex; gap: 18px; align-items: flex-start;
  padding: 20px 22px;
  background: rgba(255,255,255,.03);
  border: 1px solid rgba(255,255,255,.05);
  border-radius: 14px;
  transition: all .25s;
}
.ai-ns-tb:hover {
  background: rgba(255,255,255,.05);
  border-color: rgba(232,84,28,.18);
  transform: translateX(4px);
}
.ai-ns-tb-icon {
  font-size: 1.2rem; color: var(--orange); opacity: .7;
  margin-top: 2px; flex-shrink: 0; width: 22px;
}
.ai-ns-tb strong {
  display: block; font-size: .92rem; font-weight: 800;
  color: rgba(255,255,255,.82); margin-bottom: 7px;
  letter-spacing: -.02em;
}
.ai-ns-tb p {
  font-size: .8rem; color: rgba(255,255,255,.38);
  line-height: 1.75; word-break: keep-all; margin: 0;
}

/* 우측 채널 카드 */
.ai-ns-channel-cards {
  display: grid; grid-template-columns: 1fr 1fr;
  gap: 12px;
}
.ai-ns-cc {
  padding: 18px 16px; border-radius: 14px;
  border: 1px solid rgba(255,255,255,.06);
  background: rgba(255,255,255,.025);
  transition: all .28s;
}
.ai-ns-cc:hover {
  border-color: rgba(232,84,28,.22);
  background: rgba(255,255,255,.05);
  transform: translateY(-4px);
  box-shadow: 0 16px 40px rgba(0,0,0,.3);
}
.ai-ns-cc-top {
  display: flex; align-items: center; gap: 8px;
  margin-bottom: 10px; flex-wrap: wrap;
}
.ai-ns-cc-top i { font-size: 1rem; }
.ai-ns-cc-name {
  font-size: .82rem; font-weight: 800;
  color: rgba(255,255,255,.8); letter-spacing: -.01em;
}
.ai-ns-cc-badge {
  font-size: .58rem; font-family: var(--font-en);
  font-weight: 700; letter-spacing: .08em; text-transform: uppercase;
  padding: 3px 8px; border-radius: 4px;
  background: rgba(232,84,28,.12);
  border: 1px solid rgba(232,84,28,.2);
  color: rgba(255,140,80,.85);
}
.ai-ns-cc p {
  font-size: .74rem; color: rgba(255,255,255,.32);
  line-height: 1.7; word-break: keep-all; margin: 0;
}
/* 채널별 아이콘 컬러 */
.ai-ns-cc--tiktok .ai-ns-cc-top i  { color: #69C9D0; }
.ai-ns-cc--youtube .ai-ns-cc-top i { color: #FF0000; }
.ai-ns-cc--blog .ai-ns-cc-top i    { color: #03C75A; }
.ai-ns-cc--insta .ai-ns-cc-top i   { color: #E1306C; }
.ai-ns-cc--facebook .ai-ns-cc-top i{ color: #1877F2; }
.ai-ns-cc--news .ai-ns-cc-top i    { color: #D9A24B; }

/* 하단 플로우 바 */
.ai-ns-bottom {
  display: flex; align-items: center;
  justify-content: space-between;
  gap: 40px;
  padding: 36px 40px;
  background: rgba(255,255,255,.03);
  border: 1px solid rgba(255,255,255,.07);
  border-radius: 20px;
  flex-wrap: wrap;
  position: relative; overflow: hidden;
}
.ai-ns-bottom::before {
  content: ''; position: absolute;
  top: 0; left: 0; right: 0; height: 2px;
  background: linear-gradient(90deg, var(--orange), #7c3aed, var(--gold), transparent);
}
.ai-ns-bottom-left { flex: 1; min-width: 280px; }
.ai-ns-flow-wrap {
  display: flex; align-items: center; gap: 8px;
  flex-wrap: wrap; margin-bottom: 16px;
}
.ai-ns-flow-step {
  display: inline-flex; align-items: center; gap: 7px;
  padding: 8px 14px; border-radius: 8px;
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.08);
  font-size: .75rem; font-weight: 700;
  color: rgba(255,255,255,.55);
  white-space: nowrap;
}
.ai-ns-flow-step i { font-size: .72rem; color: var(--orange); }
.ai-ns-flow-step--hl {
  background: rgba(232,84,28,.12);
  border-color: rgba(232,84,28,.25);
  color: rgba(255,140,80,.9);
}
.ai-ns-flow-arrow { color: rgba(255,255,255,.2); font-size: .65rem; }
.ai-ns-bottom-copy {
  font-size: .84rem; color: rgba(255,255,255,.38);
  line-height: 1.8; word-break: keep-all;
}
.ai-ns-bottom-copy strong { color: rgba(255,255,255,.7); }

.ai-ns-bottom-right {
  display: flex; flex-direction: column; gap: 10px;
  flex-shrink: 0;
}
.btn-ai-ns-promo {
  display: inline-flex; align-items: center; gap: 9px;
  background: linear-gradient(135deg, var(--orange), #c93aed);
  color: #fff; font-size: .88rem; font-weight: 800;
  padding: 14px 26px; border-radius: 10px;
  transition: all .25s;
  box-shadow: 0 6px 24px rgba(232,84,28,.3);
  white-space: nowrap;
}
.btn-ai-ns-promo:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 36px rgba(232,84,28,.45);
}
.btn-ai-ns-consult {
  display: inline-flex; align-items: center; gap: 9px;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.12);
  color: rgba(255,255,255,.7); font-size: .85rem; font-weight: 700;
  padding: 13px 26px; border-radius: 10px;
  transition: all .25s; white-space: nowrap;
}
.btn-ai-ns-consult:hover {
  background: rgba(255,255,255,.12); color: #fff;
  transform: translateY(-2px);
}

/* 반응형 */
@media (max-width: 1024px) {
  .ai-ns-grid { grid-template-columns: 1fr; gap: 48px; }
  .ai-ns-channel-cards { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 768px) {
  .ai-nonstop-sec { padding: 72px 0; }
  .ai-ns-channel-cards { grid-template-columns: repeat(2, 1fr); }
  .ai-ns-bottom { padding: 24px 20px; }
  .ai-ns-flow-wrap { gap: 6px; }
  .ai-ns-flow-step { font-size: .68rem; padding: 6px 10px; }
}
@media (max-width: 500px) {
  .ai-ns-channel-cards { grid-template-columns: 1fr 1fr; }
  .ai-ns-bottom-right { width: 100%; }
  .btn-ai-ns-promo, .btn-ai-ns-consult { justify-content: center; }
}

/* ══════════════════════════════════════════════════
   LOCATION MAP 섹션
   ══════════════════════════════════════════════════ */
.location-sec {
  background: #111009; padding: 96px 0;
  position: relative; overflow: hidden;
}
.location-sec::before {
  content: '';
  position: absolute; inset: 0;
  background: radial-gradient(ellipse 60% 70% at 0% 60%, rgba(3,199,90,.04) 0%, transparent 55%);
  pointer-events: none;
}
.location-inner {
  display: grid; grid-template-columns: 1fr 1.1fr;
  gap: 72px; align-items: start;
  position: relative; z-index: 1;
}
@media(max-width:900px){ .location-inner{ grid-template-columns: 1fr; gap: 48px; } }

/* 좌측 정보 */
.loc-eye {
  display: inline-flex; align-items: center; gap: 8px;
  font-size: .65rem; font-family: var(--font-en);
  font-weight: 700; letter-spacing: .22em; text-transform: uppercase;
  color: #03C75A; margin-bottom: 14px;
}
.loc-title {
  font-size: clamp(1.6rem, 2.8vw, 2.4rem);
  font-weight: 900; letter-spacing: -.04em;
  color: rgba(255,255,255,.9); line-height: 1.15;
  margin-bottom: 28px; word-break: keep-all;
}
.loc-address-card {
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.07);
  border-radius: 16px; padding: 26px 24px;
  display: flex; flex-direction: column; gap: 16px;
  margin-bottom: 28px;
}
.loc-addr-row {
  display: flex; align-items: flex-start; gap: 14px;
}
.loc-addr-row > i {
  font-size: .9rem; color: #03C75A; margin-top: 2px;
  flex-shrink: 0; width: 16px;
}
.loc-addr-label {
  font-size: .64rem; color: rgba(255,255,255,.28);
  font-family: var(--font-en); font-weight: 700;
  letter-spacing: .08em; text-transform: uppercase;
  margin-bottom: 3px;
}
.loc-addr-val {
  font-size: .88rem; color: rgba(255,255,255,.72);
  font-weight: 600; line-height: 1.4;
}
.loc-addr-link { transition: color .2s; }
.loc-addr-link:hover { color: #03C75A; }

.loc-btns { display: flex; gap: 10px; flex-wrap: wrap; }
.btn-naver-map {
  display: inline-flex; align-items: center; gap: 8px;
  background: #03C75A; color: #fff;
  font-size: .84rem; font-weight: 800;
  padding: 13px 22px; border-radius: 10px;
  transition: all .22s;
  box-shadow: 0 4px 16px rgba(3,199,90,.3);
}
.btn-naver-map:hover { background: #02a84c; transform: translateY(-2px); box-shadow: 0 8px 28px rgba(3,199,90,.4); }
.btn-kakao-map {
  display: inline-flex; align-items: center; gap: 8px;
  background: #FEE500; color: #1a1816;
  font-size: .84rem; font-weight: 800;
  padding: 13px 22px; border-radius: 10px;
  transition: all .22s;
  box-shadow: 0 4px 14px rgba(254,229,0,.2);
}
.btn-kakao-map:hover { transform: translateY(-2px); box-shadow: 0 8px 24px rgba(254,229,0,.3); }

/* 우측 지도 */
.location-map-wrap {}
.location-map-frame {
  border-radius: 20px; overflow: hidden;
  position: relative;
  box-shadow: 0 24px 70px rgba(0,0,0,.5);
}
.location-map-static {
  display: block;
  background: #1a1e14;
  min-height: 380px;
  border-radius: 20px;
  position: relative; overflow: hidden;
  transition: all .3s;
}
.location-map-static:hover { transform: translateY(-4px); box-shadow: 0 32px 80px rgba(0,0,0,.6); }
/* 배경 지도 패턴 */
.location-map-static::before {
  content: '';
  position: absolute; inset: 0;
  background:
    linear-gradient(rgba(3,199,90,.03) 1px, transparent 1px),
    linear-gradient(90deg, rgba(3,199,90,.03) 1px, transparent 1px);
  background-size: 40px 40px;
}
.location-map-placeholder {
  position: absolute; inset: 0;
  display: flex; flex-direction: column;
  align-items: center; justify-content: center;
  gap: 10px; text-align: center; padding: 24px;
}
.lmp-pin {
  width: 64px; height: 64px; border-radius: 50%;
  background: #03C75A;
  display: flex; align-items: center; justify-content: center;
  font-size: 1.6rem; color: #fff;
  box-shadow: 0 0 0 12px rgba(3,199,90,.12), 0 0 0 24px rgba(3,199,90,.06);
  animation: pinPulse 2.5s ease infinite;
  margin-bottom: 8px;
}
@keyframes pinPulse {
  0%,100%{ box-shadow: 0 0 0 12px rgba(3,199,90,.12), 0 0 0 24px rgba(3,199,90,.06); }
  50%    { box-shadow: 0 0 0 18px rgba(3,199,90,.18), 0 0 0 36px rgba(3,199,90,.08); }
}
.lmp-name {
  font-size: 1.3rem; font-weight: 900;
  color: rgba(255,255,255,.9); letter-spacing: -.02em;
}
.lmp-addr {
  font-size: .84rem; color: rgba(255,255,255,.45);
  line-height: 1.5;
}
.lmp-hint {
  display: inline-flex; align-items: center; gap: 7px;
  font-size: .72rem; color: #03C75A;
  font-weight: 700; margin-top: 8px;
  background: rgba(3,199,90,.1);
  border: 1px solid rgba(3,199,90,.2);
  padding: 7px 16px; border-radius: 20px;
}
@media(max-width:768px){
  .location-sec { padding: 72px 0; }
  .location-map-static { min-height: 280px; }
}

/* ╔══════════════════════════════════════════════════════╗
   ║   DEPTH SYSTEM v2 — 전체 입체감 강화                 ║
   ║   그림자 계층화 · 표면 질감 · 빛 굴절 · 3D hover    ║
   ╚══════════════════════════════════════════════════════╝ */

/* ── 공통 그림자 변수 ── */
:root {
  /* 라이트 테마 — 따뜻한 톤 그림자 */
  --shadow-xs:  0 1px 3px rgba(42,37,34,.07), 0 1px 2px rgba(42,37,34,.05);
  --shadow-sm:  0 2px 8px rgba(42,37,34,.08), 0 1px 3px rgba(42,37,34,.06);
  --shadow-md:  0 4px 16px rgba(42,37,34,.10), 0 2px 6px rgba(42,37,34,.07),
                inset 0 1px 0 rgba(255,255,255,.65);
  --shadow-lg:  0 8px 32px rgba(42,37,34,.13), 0 3px 10px rgba(42,37,34,.08),
                inset 0 1px 0 rgba(255,255,255,.7);
  --shadow-xl:  0 16px 56px rgba(42,37,34,.16), 0 6px 18px rgba(42,37,34,.10),
                inset 0 1px 0 rgba(255,255,255,.75);
  --shadow-2xl: 0 28px 80px rgba(42,37,34,.20), 0 10px 28px rgba(42,37,34,.12),
                inset 0 1px 0 rgba(255,255,255,.8);

  /* 오렌지 glow 그림자 */
  --shadow-orange-sm: 0 4px 16px rgba(232,84,28,.22), 0 2px 6px rgba(232,84,28,.14),
                      inset 0 1px 0 rgba(255,255,255,.2);
  --shadow-orange-md: 0 8px 28px rgba(232,84,28,.30), 0 4px 10px rgba(232,84,28,.18),
                      inset 0 1px 0 rgba(255,255,255,.25);
  --shadow-orange-lg: 0 16px 52px rgba(232,84,28,.40), 0 6px 18px rgba(232,84,28,.22),
                      inset 0 1px 0 rgba(255,255,255,.3);

  /* 다크 테마 그림자 */
  --shadow-dark-sm: 0 4px 16px rgba(0,0,0,.3), 0 2px 6px rgba(0,0,0,.2);
  --shadow-dark-md: 0 8px 32px rgba(0,0,0,.4), 0 3px 10px rgba(0,0,0,.25),
                    inset 0 1px 0 rgba(255,255,255,.05);
  --shadow-dark-lg: 0 20px 60px rgba(0,0,0,.55), 0 8px 20px rgba(0,0,0,.3),
                    inset 0 1px 0 rgba(255,255,255,.06);
}

/* ════════════════════════════════════
   NAV — 스크롤 시 더 깊은 그림자
   ════════════════════════════════════ */
.nav {
  box-shadow: var(--shadow-xs);
}
.nav.scrolled {
  box-shadow:
    0 1px 0 rgba(255,255,255,.9) inset,
    0 4px 24px rgba(42,37,34,.12),
    0 1px 4px rgba(42,37,34,.08) !important;
}

/* ════════════════════════════════════
   HERO STATS — 유리판 효과
   ════════════════════════════════════ */
.hero-stats {
  box-shadow:
    var(--shadow-md),
    0 0 0 1px rgba(255,255,255,.85) inset !important;
  background: linear-gradient(
    160deg,
    rgba(255,255,255,.95) 0%,
    var(--cream) 100%
  ) !important;
}

/* ════════════════════════════════════
   HERO 플로팅 배지 — 강한 입체
   ════════════════════════════════════ */
.float-badge {
  box-shadow:
    0 2px 0 rgba(255,255,255,.9) inset,
    0 -1px 0 rgba(42,37,34,.06) inset,
    0 8px 28px rgba(42,37,34,.16),
    0 2px 6px rgba(42,37,34,.10) !important;
  background: linear-gradient(160deg, #fff 0%, var(--cream) 100%) !important;
  border-color: rgba(42,37,34,.08) !important;
}
.float-badge:hover {
  box-shadow:
    0 2px 0 rgba(255,255,255,.9) inset,
    0 12px 36px rgba(232,84,28,.18),
    0 4px 10px rgba(232,84,28,.12) !important;
  transform: translateY(-10px) !important;
}

/* ════════════════════════════════════
   HERO VIDEO — 더 깊은 그림자 + 빛
   ════════════════════════════════════ */
.hero-video-main {
  box-shadow:
    0 2px 0 rgba(255,255,255,.5) inset,
    0 -2px 0 rgba(0,0,0,.1) inset,
    0 6px 20px rgba(42,37,34,.12),
    0 24px 64px rgba(42,37,34,.24),
    0 60px 120px rgba(42,37,34,.20),
    0 12px 56px rgba(232,84,28,.22),
    0 0 0 1px rgba(255,255,255,.22) !important;
}

/* ════════════════════════════════════
   MARQUEE STRIP — 엣지 빛 반사
   ════════════════════════════════════ */
.marquee-wrap {
  box-shadow:
    0 -1px 0 rgba(255,255,255,.04) inset,
    0 4px 20px rgba(0,0,0,.35),
    0 1px 0 rgba(255,255,255,.03) !important;
  border-top: 1px solid rgba(255,255,255,.04);
  border-bottom: 1px solid rgba(0,0,0,.3);
}

/* ════════════════════════════════════
   PROBLEM CARDS — 깊은 다크 카드
   ════════════════════════════════════ */
.prob-card {
  box-shadow: var(--shadow-dark-sm);
  background: linear-gradient(
    145deg,
    rgba(255,255,255,.06) 0%,
    rgba(255,255,255,.03) 100%
  ) !important;
  border: 1px solid rgba(255,255,255,.08) !important;
  transition: all .35s cubic-bezier(.25,.46,.45,.94) !important;
}
.prob-card:hover {
  box-shadow:
    0 0 0 1px rgba(232,84,28,.3),
    0 8px 32px rgba(232,84,28,.14),
    0 20px 60px rgba(0,0,0,.45),
    inset 0 1px 0 rgba(255,255,255,.09) !important;
  transform: translateY(-6px) !important;
}
.prob-icon {
  box-shadow: 0 4px 14px rgba(232,84,28,.25), inset 0 1px 0 rgba(255,255,255,.1);
}

/* PROBLEM RESOLVE 블록 */
.prob-resolve {
  box-shadow:
    0 2px 0 rgba(255,120,64,.5) inset,
    0 -2px 0 rgba(150,40,0,.3) inset,
    0 20px 60px rgba(232,84,28,.35),
    0 6px 18px rgba(232,84,28,.22) !important;
  background: linear-gradient(
    150deg,
    var(--orange) 0%,
    #D44018 60%,
    #C03810 100%
  ) !important;
}

/* ════════════════════════════════════
   ABOUT STATS — 탭 입체
   ════════════════════════════════════ */
.astat {
  box-shadow: var(--shadow-md) !important;
  background: linear-gradient(160deg, #fff 0%, var(--cream) 100%) !important;
  transition: all .32s ease !important;
}
.astat:hover {
  box-shadow:
    0 2px 0 rgba(255,255,255,.9) inset,
    0 12px 40px rgba(232,84,28,.16),
    0 4px 12px rgba(232,84,28,.10) !important;
  transform: translateY(-6px) scale(1.02) !important;
}
.astat--orange {
  box-shadow: var(--shadow-orange-md) !important;
  background: linear-gradient(145deg, var(--orange) 0%, #C94210 100%) !important;
}
.astat--orange:hover {
  box-shadow: var(--shadow-orange-lg) !important;
  transform: translateY(-7px) scale(1.03) !important;
}
.motto-card {
  box-shadow: var(--shadow-lg) !important;
  background: linear-gradient(160deg, #fff 0%, var(--cream) 100%) !important;
  border: 1px solid rgba(42,37,34,.06) !important;
}

/* ════════════════════════════════════
   SERVICE CARDS — 카드 부양
   ════════════════════════════════════ */
.svc-card {
  box-shadow: var(--shadow-md) !important;
  background: linear-gradient(160deg, #fff 0%, var(--beige) 100%) !important;
  transition: all .35s cubic-bezier(.25,.46,.45,.94) !important;
}
.svc-card:hover {
  box-shadow:
    0 2px 0 rgba(255,255,255,.95) inset,
    0 -1px 0 rgba(232,84,28,.08) inset,
    0 20px 56px rgba(232,84,28,.14),
    0 6px 16px rgba(232,84,28,.09) !important;
  transform: translateY(-8px) !important;
}
.svc-card--cta {
  background: linear-gradient(145deg, #2A2522 0%, #1A1614 100%) !important;
  box-shadow:
    0 1px 0 rgba(255,255,255,.06) inset,
    0 16px 48px rgba(42,37,34,.28) !important;
}
.svc-card--cta:hover {
  box-shadow:
    0 1px 0 rgba(255,255,255,.08) inset,
    0 24px 64px rgba(42,37,34,.38) !important;
}
.svc-icon {
  box-shadow: 0 3px 10px rgba(232,84,28,.18), inset 0 1px 0 rgba(255,255,255,.3);
}

/* SERVICE DETAIL BANNER */
.svc-detail-banner {
  box-shadow:
    0 2px 0 rgba(255,255,255,.6) inset,
    var(--shadow-lg) !important;
  background: linear-gradient(
    135deg,
    rgba(255,255,255,.9) 0%,
    rgba(245,240,230,.85) 100%
  ) !important;
}

/* ════════════════════════════════════
   CEO 사진 — 더 깊은 그림자
   ════════════════════════════════════ */
.ceo-photo-main {
  box-shadow:
    0 2px 0 rgba(255,255,255,.4) inset,
    0 28px 70px rgba(42,37,34,.18),
    0 8px 22px rgba(42,37,34,.12),
    0 0 0 1px rgba(42,37,34,.06) !important;
}
.ceo-sign-wrap {
  box-shadow: var(--shadow-md) !important;
  background: linear-gradient(160deg, #fff 0%, var(--cream) 100%) !important;
}
.ceo-photo-badge {
  box-shadow:
    0 2px 0 rgba(255,120,64,.45) inset,
    0 6px 20px rgba(232,84,28,.35) !important;
}

/* ════════════════════════════════════
   PROCESS CIRCLES
   ════════════════════════════════════ */
.proc-circle {
  box-shadow:
    0 2px 0 rgba(255,255,255,.8) inset,
    0 -1px 0 rgba(42,37,34,.08) inset,
    var(--shadow-md) !important;
  background: linear-gradient(145deg, #fff 0%, var(--beige) 100%) !important;
}
.proc-step:hover .proc-circle {
  box-shadow:
    0 2px 0 rgba(255,120,64,.45) inset,
    0 10px 30px rgba(232,84,28,.38) !important;
}
.proc-line {
  background: linear-gradient(
    to right,
    rgba(232,84,28,.3),
    rgba(217,162,75,.15),
    rgba(42,37,34,.08)
  ) !important;
  height: 2px !important;
}

/* ════════════════════════════════════
   RESULT NUMS BAR
   ════════════════════════════════════ */
.result-nums {
  box-shadow:
    0 1px 0 rgba(255,255,255,.05) inset,
    0 -1px 0 rgba(0,0,0,.2) inset,
    0 20px 60px rgba(0,0,0,.35),
    0 6px 16px rgba(0,0,0,.2) !important;
  background: linear-gradient(155deg, #2A2522 0%, #1A1614 100%) !important;
}

/* ════════════════════════════════════
   PORTFOLIO / RESULT GRID CARDS
   ════════════════════════════════════ */
.portfolio-item {
  box-shadow: var(--shadow-md);
  transition: all .38s cubic-bezier(.25,.46,.45,.94) !important;
}
.portfolio-item:hover {
  box-shadow:
    0 28px 70px rgba(42,37,34,.22),
    0 8px 20px rgba(42,37,34,.14) !important;
  transform: translateY(-8px) scale(1.01) !important;
}

/* ════════════════════════════════════
   PLANS 섹션 카드
   ════════════════════════════════════ */
.plan-card {
  box-shadow:
    0 2px 0 rgba(255,255,255,.08) inset,
    var(--shadow-dark-sm) !important;
  transition: all .35s ease !important;
}
.plan-card:hover {
  box-shadow:
    0 2px 0 rgba(255,255,255,.10) inset,
    0 20px 60px rgba(0,0,0,.45),
    0 6px 18px rgba(0,0,0,.28) !important;
  transform: translateY(-8px) !important;
}
.plan-card--featured {
  box-shadow:
    0 2px 0 rgba(255,120,64,.4) inset,
    0 -2px 0 rgba(150,40,0,.3) inset,
    0 24px 70px rgba(232,84,28,.4),
    0 8px 24px rgba(232,84,28,.25) !important;
}
.plan-card--featured:hover {
  box-shadow:
    0 2px 0 rgba(255,120,64,.45) inset,
    0 32px 90px rgba(232,84,28,.5),
    0 10px 30px rgba(232,84,28,.32) !important;
  transform: translateY(-10px) !important;
}

/* ════════════════════════════════════
   YOUTUBE / VIDEO 섹션
   ════════════════════════════════════ */
.yt-player-wrap,
.yt-promo-player {
  box-shadow:
    0 2px 0 rgba(255,255,255,.06) inset,
    0 24px 70px rgba(0,0,0,.55),
    0 8px 24px rgba(0,0,0,.35),
    0 0 0 1px rgba(255,255,255,.04) !important;
}
.yt-promo-player-glow {
  filter: blur(60px) !important;
  opacity: .55 !important;
}

/* ════════════════════════════════════
   CONTACT FORM
   ════════════════════════════════════ */
.cform-wrap {
  box-shadow:
    0 2px 0 rgba(255,255,255,.04) inset,
    var(--shadow-dark-lg) !important;
}
.cform input,
.cform select,
.cform textarea {
  box-shadow: 0 1px 3px rgba(0,0,0,.12) inset, 0 1px 0 rgba(255,255,255,.04) !important;
  transition: all .22s ease !important;
}
.cform input:focus,
.cform select:focus,
.cform textarea:focus {
  box-shadow:
    0 1px 3px rgba(0,0,0,.15) inset,
    0 0 0 3px rgba(232,84,28,.18) !important;
}

/* ════════════════════════════════════
   BUTTONS — 전체 입체 강화
   ════════════════════════════════════ */
.btn-orange {
  box-shadow: var(--shadow-orange-sm) !important;
  background: linear-gradient(155deg, var(--orange) 0%, #D44018 100%) !important;
  border-top: 1px solid rgba(255,140,80,.35) !important;
  border-bottom: 1px solid rgba(150,40,0,.25) !important;
}
.btn-orange:hover {
  box-shadow: var(--shadow-orange-md) !important;
  transform: translateY(-3px) !important;
  background: linear-gradient(155deg, #F06030 0%, var(--orange-dark) 100%) !important;
}
.btn-orange:active {
  transform: translateY(0) !important;
  box-shadow: var(--shadow-orange-sm) !important;
}

.btn-kakao {
  box-shadow:
    0 2px 0 rgba(255,240,80,.6) inset,
    0 -1px 0 rgba(180,160,0,.3) inset,
    0 6px 20px rgba(254,229,0,.35),
    0 2px 6px rgba(254,229,0,.2) !important;
  background: linear-gradient(155deg, #FFE800 0%, #F0D600 100%) !important;
}
.btn-kakao:hover {
  box-shadow:
    0 2px 0 rgba(255,240,80,.6) inset,
    0 10px 32px rgba(254,229,0,.5),
    0 4px 10px rgba(254,229,0,.3) !important;
  transform: translateY(-3px) !important;
}

.btn-line {
  box-shadow: var(--shadow-sm) !important;
  background: linear-gradient(160deg, #fff 0%, var(--beige) 100%) !important;
}
.btn-line:hover {
  box-shadow:
    0 2px 0 rgba(255,255,255,.95) inset,
    0 8px 24px rgba(232,84,28,.14) !important;
}

/* ════════════════════════════════════
   FOOTER
   ════════════════════════════════════ */
.footer {
  box-shadow:
    0 -1px 0 rgba(255,255,255,.04) inset !important;
}
.ft-sns-btn {
  box-shadow:
    0 2px 0 rgba(255,255,255,.06) inset,
    0 4px 14px rgba(0,0,0,.25) !important;
  transition: all .25s ease !important;
}
.ft-sns-btn:hover {
  box-shadow:
    0 2px 0 rgba(255,255,255,.1) inset,
    0 8px 24px rgba(232,84,28,.3) !important;
  transform: translateY(-4px) scale(1.1) !important;
}

/* ════════════════════════════════════
   AWARDS / PARTNER 카드
   ════════════════════════════════════ */
.award-card {
  box-shadow:
    0 2px 0 rgba(255,255,255,.06) inset,
    var(--shadow-dark-sm) !important;
  transition: all .32s ease !important;
}
.award-card:hover {
  box-shadow:
    0 2px 0 rgba(255,255,255,.08) inset,
    0 16px 48px rgba(0,0,0,.4),
    0 0 0 1px rgba(217,162,75,.2) !important;
  transform: translateY(-6px) !important;
}
.partner-logo {
  box-shadow: var(--shadow-sm) !important;
  transition: all .28s ease !important;
}
.partner-logo:hover {
  box-shadow:
    0 2px 0 rgba(255,255,255,.8) inset,
    0 8px 24px rgba(232,84,28,.14) !important;
  transform: translateY(-4px) scale(1.04) !important;
}

/* ════════════════════════════════════
   SECTION SEPARATORS — 빛 경계선
   ════════════════════════════════════ */
.section-dark {
  box-shadow:
    0 -1px 0 rgba(255,255,255,.03) inset,
    0 1px 0 rgba(0,0,0,.15) !important;
}
.section-beige {
  box-shadow:
    0 -1px 0 rgba(255,255,255,.8) inset !important;
}
.section-cream {
  box-shadow:
    0 -1px 0 rgba(255,255,255,.95) inset !important;
}

/* ════════════════════════════════════
   AI NONSTOP 섹션 카드 입체
   ════════════════════════════════════ */
.ai-ns-tb {
  box-shadow: 0 2px 0 rgba(255,255,255,.03) inset, var(--shadow-dark-sm) !important;
  transition: all .28s cubic-bezier(.25,.46,.45,.94) !important;
}
.ai-ns-tb:hover {
  box-shadow:
    0 2px 0 rgba(255,255,255,.05) inset,
    0 8px 28px rgba(0,0,0,.35),
    0 0 0 1px rgba(232,84,28,.2),
    0 0 30px rgba(232,84,28,.06) !important;
  transform: translateX(6px) !important;
}
.ai-ns-cc {
  box-shadow: 0 2px 0 rgba(255,255,255,.03) inset, var(--shadow-dark-sm) !important;
  transition: all .3s ease !important;
}
.ai-ns-cc:hover {
  box-shadow:
    0 2px 0 rgba(255,255,255,.06) inset,
    0 12px 36px rgba(0,0,0,.4),
    0 0 0 1px rgba(232,84,28,.22),
    0 0 40px rgba(232,84,28,.07) !important;
}
.ai-ns-bottom {
  box-shadow:
    0 2px 0 rgba(255,255,255,.04) inset,
    0 -2px 0 rgba(0,0,0,.15) inset,
    0 16px 50px rgba(0,0,0,.4) !important;
}

/* ════════════════════════════════════
   PORTFOLIO SECTION 카드
   ════════════════════════════════════ */
.photo-pf-mosaic-item {
  box-shadow:
    0 2px 0 rgba(255,255,255,.06) inset,
    0 8px 28px rgba(0,0,0,.45),
    0 2px 6px rgba(0,0,0,.3) !important;
  transition: all .5s cubic-bezier(.25,.46,.45,.94) !important;
}
.photo-pf-mosaic-item:hover {
  box-shadow:
    0 2px 0 rgba(255,255,255,.08) inset,
    0 20px 60px rgba(0,0,0,.55),
    0 4px 12px rgba(0,0,0,.35) !important;
  transform: translateY(-6px) scale(1.02) !important;
}

/* ════════════════════════════════════
   FREEWEB 가격 카드 + 비교표
   ════════════════════════════════════ */
.fw-price-card {
  box-shadow:
    0 2px 0 rgba(255,255,255,.05) inset,
    0 -2px 0 rgba(0,0,0,.15) inset,
    0 24px 70px rgba(0,0,0,.5),
    0 8px 22px rgba(0,0,0,.3),
    0 0 0 1px rgba(232,84,28,.12) !important;
}
.fw-what-card {
  box-shadow: var(--shadow-lg) !important;
  transition: all .32s ease !important;
}
.fw-what-card:hover {
  box-shadow:
    0 2px 0 rgba(255,255,255,.9) inset,
    0 24px 64px rgba(232,84,28,.14),
    0 6px 18px rgba(232,84,28,.09) !important;
  transform: translateY(-8px) !important;
}
.fw-tbox {
  box-shadow:
    0 2px 0 rgba(255,150,80,.3) inset,
    0 4px 16px rgba(232,84,28,.22) !important;
}

/* ════════════════════════════════════
   LOCATION MAP 섹션
   ════════════════════════════════════ */
.loc-address-card {
  box-shadow:
    0 2px 0 rgba(255,255,255,.04) inset,
    0 8px 28px rgba(0,0,0,.3) !important;
}
.location-map-frame {
  box-shadow:
    0 2px 0 rgba(3,199,90,.08) inset,
    0 -2px 0 rgba(0,0,0,.2) inset,
    0 28px 80px rgba(0,0,0,.55),
    0 0 0 1px rgba(3,199,90,.12) !important;
}
.btn-naver-map {
  box-shadow:
    0 2px 0 rgba(80,220,140,.4) inset,
    0 -1px 0 rgba(0,120,50,.3) inset,
    0 6px 20px rgba(3,199,90,.32) !important;
}
.btn-naver-map:hover {
  box-shadow:
    0 2px 0 rgba(80,220,140,.4) inset,
    0 10px 30px rgba(3,199,90,.42) !important;
}
.btn-kakao-map {
  box-shadow:
    0 2px 0 rgba(255,245,80,.55) inset,
    0 -1px 0 rgba(180,160,0,.25) inset,
    0 6px 18px rgba(254,229,0,.28) !important;
}

/* ════════════════════════════════════
   COMPANY INTRO 섹션 카드
   ════════════════════════════════════ */
.ci-quote-card {
  box-shadow:
    0 2px 0 rgba(255,255,255,.04) inset,
    var(--shadow-dark-md) !important;
}
.ci-team-card {
  box-shadow:
    0 2px 0 rgba(255,255,255,.04) inset,
    var(--shadow-dark-sm) !important;
  transition: all .3s ease !important;
}
.ci-team-card:hover {
  box-shadow:
    0 2px 0 rgba(255,255,255,.06) inset,
    0 16px 48px rgba(0,0,0,.4),
    0 0 0 1px rgba(232,84,28,.2) !important;
  transform: translateY(-6px) !important;
}
.ci-value-card {
  box-shadow:
    0 2px 0 rgba(255,255,255,.04) inset,
    var(--shadow-dark-sm) !important;
  transition: all .3s ease !important;
}
.ci-value-card:hover {
  box-shadow:
    0 2px 0 rgba(255,255,255,.06) inset,
    0 12px 40px rgba(0,0,0,.35),
    0 0 0 1px rgba(232,84,28,.18) !important;
  transform: translateY(-5px) !important;
}

/* ════════════════════════════════════
   SERVICES.HTML 섹션 카드
   ════════════════════════════════════ */
.sv-feat-card, .sv-channel-card, .sv-exp-card {
  transition: all .32s cubic-bezier(.25,.46,.45,.94) !important;
}
.sv-feat-card:hover {
  box-shadow:
    0 2px 0 rgba(255,255,255,.06) inset,
    0 20px 56px rgba(0,0,0,.4),
    0 0 0 1px rgba(232,84,28,.2) !important;
  transform: translateY(-7px) !important;
}

/* ════════════════════════════════════
   REVEAL 애니메이션 — 더 다이나믹하게
   ════════════════════════════════════ */
.reveal-up {
  opacity: 0;
  transform: translateY(36px) scale(.98);
  transition: opacity .75s cubic-bezier(.25,.46,.45,.94),
              transform .75s cubic-bezier(.25,.46,.45,.94) !important;
}
.reveal-up.visible {
  opacity: 1;
  transform: translateY(0) scale(1) !important;
}

/* ════════════════════════════════════
   SCROLL BAR — 더 선명하게
   ════════════════════════════════════ */
::-webkit-scrollbar { width: 5px !important; }
::-webkit-scrollbar-track {
  background: var(--beige) !important;
  box-shadow: inset 0 0 3px rgba(42,37,34,.08) !important;
}
::-webkit-scrollbar-thumb {
  background: linear-gradient(to bottom, var(--orange), #C94210) !important;
  border-radius: 3px !important;
  box-shadow: 0 2px 6px rgba(232,84,28,.4) !important;
}

/* ════════════════════════════════════
   HERO CINEMATIC STATS BAR — 더 유리같은
   ════════════════════════════════════ */
.hero-cin-stats {
  box-shadow:
    0 1px 0 rgba(255,255,255,.12) inset,
    0 -1px 0 rgba(0,0,0,.12) inset,
    0 8px 32px rgba(0,0,0,.35),
    0 2px 8px rgba(0,0,0,.2) !important;
  border: 1px solid rgba(255,255,255,.1) !important;
}

/* ════════════════════════════════════
   CINEMATIC HERO CTA 버튼
   ════════════════════════════════════ */
.btn-cin-main {
  box-shadow:
    0 2px 0 rgba(255,140,80,.4) inset,
    0 -1px 0 rgba(150,40,0,.3) inset,
    0 8px 28px rgba(232,84,28,.4),
    0 3px 8px rgba(232,84,28,.25) !important;
  background: linear-gradient(155deg, #F06030 0%, var(--orange) 50%, #D04010 100%) !important;
  transition: all .28s cubic-bezier(.25,.46,.45,.94) !important;
}
.btn-cin-main:hover {
  box-shadow:
    0 2px 0 rgba(255,140,80,.45) inset,
    0 14px 48px rgba(232,84,28,.55),
    0 4px 14px rgba(232,84,28,.35) !important;
  transform: translateY(-4px) scale(1.02) !important;
}
.btn-cin-sub {
  box-shadow:
    0 1px 0 rgba(255,255,255,.14) inset,
    0 -1px 0 rgba(0,0,0,.1) inset,
    0 4px 16px rgba(0,0,0,.25) !important;
  transition: all .28s ease !important;
}
.btn-cin-sub:hover {
  box-shadow:
    0 1px 0 rgba(255,255,255,.18) inset,
    0 8px 28px rgba(0,0,0,.38) !important;
  transform: translateY(-3px) !important;
}

/* ════════════════════════════════════
   SECTION 배경에 미묘한 노이즈 질감
   ════════════════════════════════════ */
.section-beige::after,
.section-cream::after {
  content: '';
  position: absolute;
  inset: 0;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.025'/%3E%3C/svg%3E");
  pointer-events: none;
  z-index: 0;
}
.section-beige, .section-cream { position: relative; }
.section-beige > *, .section-cream > * { position: relative; z-index: 1; }

/* ════════════════════════════════════
   AWARDS SLIDER 카드 입체
   ════════════════════════════════════ */
.award-slide {
  box-shadow:
    0 2px 0 rgba(255,255,255,.05) inset,
    var(--shadow-dark-md) !important;
  transition: all .3s ease !important;
}
.award-slide:hover {
  box-shadow:
    0 2px 0 rgba(255,255,255,.07) inset,
    0 16px 50px rgba(0,0,0,.45),
    0 0 0 1px rgba(217,162,75,.25) !important;
  transform: translateY(-5px) !important;
}

/* ╔══════════════════════════════════════════════════════════╗
   ║   DEPTH SYSTEM v3 — 마감재 수준 입체감 완성              ║
   ║   텍스트 그림자 · 섹션 경계 · 폼 재질 · 마이크로 디테일  ║
   ╚══════════════════════════════════════════════════════════╝ */

/* ────────────────────────────────────
   § A. 섹션 헤더 타이포 깊이감
   ──────────────────────────────────── */

/* eyebrow 라인 — 발광 강화 */
.sec-eyebrow::before {
  box-shadow:
    0 0 6px rgba(232,84,28,.55),
    0 0 14px rgba(232,84,28,.25) !important;
  background: linear-gradient(90deg, var(--orange), var(--gold)) !important;
}
/* 다크 섹션 eyebrow */
.section-dark .sec-eyebrow::before,
.sec-eyebrow--dark::before,
.sec-eyebrow--white::before {
  box-shadow:
    0 0 6px rgba(217,162,75,.6),
    0 0 14px rgba(217,162,75,.3) !important;
  background: linear-gradient(90deg, var(--gold), rgba(217,162,75,.5)) !important;
}

/* 섹션 제목 — 미묘한 텍스트 깊이 */
.sec-title {
  text-shadow:
    0 1px 0 rgba(255,255,255,.9),
    0 2px 8px rgba(42,37,34,.06) !important;
}
.section-dark .sec-title {
  text-shadow:
    0 1px 0 rgba(255,255,255,.04),
    0 4px 16px rgba(0,0,0,.4) !important;
}
/* 오렌지 강조 텍스트 — 글로우 */
.sec-title em,
.prob-resolve em,
.photo-pf-title em,
.ai-ns-main-title .t-orange {
  text-shadow:
    0 2px 0 rgba(232,84,28,.18),
    0 6px 20px rgba(232,84,28,.28),
    0 12px 40px rgba(232,84,28,.12) !important;
  filter: none !important;
}

/* ────────────────────────────────────
   § B. 숫자 통계 — 발광 레이어
   ──────────────────────────────────── */

/* astat 숫자 */
.astat-num,
.hst-n {
  text-shadow:
    0 1px 0 rgba(232,84,28,.15),
    0 4px 14px rgba(232,84,28,.22),
    0 8px 28px rgba(232,84,28,.10) !important;
}
/* 화이트 섹션 통계 숫자 */
.rnum strong,
.photo-pf-stat-n {
  text-shadow:
    0 2px 0 rgba(232,84,28,.2),
    0 6px 24px rgba(232,84,28,.28),
    0 0 60px rgba(232,84,28,.10) !important;
}

/* 카운터 숫자 공통 */
.pstat strong {
  text-shadow:
    0 2px 0 rgba(232,84,28,.18),
    0 6px 20px rgba(232,84,28,.20) !important;
}

/* ────────────────────────────────────
   § C. 네비게이션 링크 미세 깊이
   ──────────────────────────────────── */

/* nav link — hover 시 미세 상승 */
.nav-link:hover {
  transform: translateY(-1px);
  text-shadow: 0 2px 8px rgba(232,84,28,.15);
}
/* nav active dot */
.nav-link::after {
  box-shadow: 0 0 6px rgba(232,84,28,.55);
}

/* NAV CTA 버튼 */
.nav-link--cta {
  box-shadow:
    inset 0 1px 0 rgba(255,140,80,.35),
    inset 0 -1px 0 rgba(150,40,0,.2),
    0 3px 12px rgba(232,84,28,.28),
    0 1px 4px rgba(232,84,28,.18) !important;
  background: linear-gradient(155deg, #F06030 0%, var(--orange) 50%, #D04010 100%) !important;
}
.nav-link--cta:hover {
  box-shadow:
    inset 0 1px 0 rgba(255,140,80,.4),
    0 6px 20px rgba(232,84,28,.42),
    0 2px 6px rgba(232,84,28,.25) !important;
  transform: translateY(-2px) !important;
}

/* 홈페이지무료 버튼 — 더 강한 발광 */
.nav-link--freeweb {
  box-shadow:
    inset 0 1px 0 rgba(255,245,80,.4),
    inset 0 -1px 0 rgba(180,100,0,.2),
    0 4px 16px rgba(232,84,28,.30),
    0 1px 4px rgba(232,84,28,.18) !important;
}
.nav-link--freeweb:hover {
  box-shadow:
    inset 0 1px 0 rgba(255,245,80,.45),
    0 8px 24px rgba(232,84,28,.42) !important;
}

/* 드로어 오버레이 */
.drawer {
  box-shadow:
    4px 0 32px rgba(42,37,34,.20),
    8px 0 64px rgba(42,37,34,.12) !important;
}

/* ────────────────────────────────────
   § D. 카드 상단 강조 라인 시스템
   ──────────────────────────────────── */

/* 서비스 카드 — 상단 컬러 라인 hover */
.svc-card {
  position: relative;
  overflow: hidden;
}
.svc-card::after {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 2px;
  background: linear-gradient(90deg, var(--orange), var(--gold), transparent);
  opacity: 0;
  transition: opacity .35s ease;
  border-radius: 2px 2px 0 0;
}
.svc-card:hover::after { opacity: 1; }

/* AI nonstop 채널 카드 상단 라인 */
.ai-ns-cc::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.12) 50%, transparent);
  pointer-events: none;
}
.ai-ns-cc { position: relative; overflow: hidden; }
.ai-ns-cc:hover::before {
  background: linear-gradient(90deg, transparent, rgba(232,84,28,.35) 50%, transparent);
}

/* 어워드 카드 좌측 컬러 라인 */
.award-card {
  position: relative;
}
.award-card::after {
  content: '';
  position: absolute;
  left: 0; top: 8px; bottom: 8px;
  width: 2px;
  background: linear-gradient(to bottom, transparent, var(--gold), transparent);
  opacity: 0;
  transition: opacity .35s ease;
  border-radius: 1px;
}
.award-card:hover::after { opacity: 1; }

/* ────────────────────────────────────
   § E. 폼 입력 필드 재질 강화
   ──────────────────────────────────── */

/* 라이트 섹션 폼 필드 */
.cform-input,
.cform-select,
.cform-textarea,
input[type="text"],
input[type="email"],
input[type="tel"],
select,
textarea {
  box-shadow:
    inset 0 2px 5px rgba(42,37,34,.07),
    inset 0 1px 2px rgba(42,37,34,.05),
    0 1px 0 rgba(255,255,255,.9) !important;
  background: rgba(255,255,255,.85) !important;
  transition:
    border-color .22s ease,
    box-shadow .22s ease,
    background .22s ease !important;
}
.cform-input:focus,
.cform-select:focus,
.cform-textarea:focus {
  box-shadow:
    inset 0 2px 5px rgba(42,37,34,.04),
    0 0 0 3px rgba(232,84,28,.16),
    0 0 16px rgba(232,84,28,.08) !important;
  background: rgba(255,255,255,.98) !important;
}

/* 다크 섹션 폼 필드 */
.section-dark .cform-input,
.section-dark input,
.section-dark select,
.section-dark textarea {
  box-shadow:
    inset 0 2px 6px rgba(0,0,0,.25),
    inset 0 1px 2px rgba(0,0,0,.15),
    0 1px 0 rgba(255,255,255,.04) !important;
}
.section-dark .cform-input:focus,
.section-dark input:focus,
.section-dark select:focus,
.section-dark textarea:focus {
  box-shadow:
    inset 0 2px 6px rgba(0,0,0,.2),
    0 0 0 3px rgba(232,84,28,.22),
    0 0 20px rgba(232,84,28,.10) !important;
}

/* ────────────────────────────────────
   § F. 이미지 카드 — 내부 비네트
   ──────────────────────────────────── */

/* 서비스 사진 카드 — 내부 프레임 빛 */
.svc-photo-card {
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.12),
    0 8px 32px rgba(42,37,34,.18),
    0 2px 8px rgba(42,37,34,.10) !important;
  transition: all .45s cubic-bezier(.25,.46,.45,.94) !important;
}
.svc-photo-card:hover {
  box-shadow:
    inset 0 0 0 1px rgba(232,84,28,.25),
    0 24px 64px rgba(42,37,34,.24),
    0 4px 16px rgba(42,37,34,.14),
    0 0 40px rgba(232,84,28,.10) !important;
}

/* 비디오 피쳐 섹션 */
.vf-card {
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.08),
    0 12px 40px rgba(0,0,0,.35) !important;
  transition: all .35s ease !important;
}
.vf-card:hover {
  box-shadow:
    inset 0 0 0 1px rgba(232,84,28,.2),
    0 20px 60px rgba(0,0,0,.45),
    0 0 30px rgba(232,84,28,.08) !important;
}

/* 파트너사 로고 테두리 */
.partner-logo-wrap {
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.8),
    0 2px 10px rgba(42,37,34,.07),
    0 8px 24px rgba(42,37,34,.05) !important;
  transition: all .32s ease !important;
}
.partner-logo-wrap:hover {
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.95),
    0 8px 28px rgba(232,84,28,.12),
    0 2px 8px rgba(232,84,28,.08) !important;
  transform: translateY(-4px) scale(1.03) !important;
}

/* ────────────────────────────────────
   § G. 리뷰 / pv-card 추가 깊이
   ──────────────────────────────────── */

/* 리뷰 카드 — 종이 겹침 효과 */
.review-card {
  position: relative;
}
.review-card::after {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: linear-gradient(
    160deg,
    rgba(255,255,255,.08) 0%,
    transparent 50%,
    rgba(42,37,34,.02) 100%
  );
  pointer-events: none;
}

/* pv-card 내부 광원 강화 */
.pv-card {
  position: relative;
}
.pv-card::after {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 60%;
  background: radial-gradient(ellipse 80% 60% at 50% 0%,
    rgba(255,255,255,.06) 0%, transparent 70%);
  pointer-events: none;
  border-radius: inherit;
}

/* 아바타 — 더 강한 테두리 글로우 */
.rv-avatar {
  box-shadow:
    0 0 0 2px rgba(255,255,255,.3),
    0 0 0 4px rgba(232,84,28,.1),
    0 4px 16px rgba(0,0,0,.2) !important;
}

/* ────────────────────────────────────
   § H. 프로세스 스텝 카드 깊이
   ──────────────────────────────────── */

/* 프로세스 번호 원 — 금속 질감 */
.proc-circle {
  background: linear-gradient(145deg, #fff 0%, #f0ece4 60%, #e8e0d4 100%) !important;
  box-shadow:
    0 2px 0 rgba(255,255,255,.95) inset,
    0 -1px 0 rgba(42,37,34,.1) inset,
    0 4px 16px rgba(42,37,34,.10),
    0 2px 4px rgba(42,37,34,.06),
    0 0 0 1px rgba(42,37,34,.06) !important;
}
.proc-step:hover .proc-circle {
  background: linear-gradient(145deg, #fff 0%, var(--orange-light) 60%, var(--orange) 100%) !important;
  box-shadow:
    0 2px 0 rgba(255,160,100,.5) inset,
    0 -1px 0 rgba(150,40,0,.25) inset,
    0 8px 28px rgba(232,84,28,.38),
    0 0 0 1px rgba(232,84,28,.2) !important;
}

/* 프로세스 텍스트 카드 — 미세 입체 */
.proc-step {
  position: relative;
}
.proc-step::before {
  content: '';
  position: absolute;
  bottom: 0;
  left: 50%; transform: translateX(-50%);
  width: 0;
  height: 3px;
  background: linear-gradient(90deg, transparent, var(--orange), transparent);
  border-radius: 2px;
  transition: width .4s cubic-bezier(.25,.46,.45,.94);
}
.proc-step:hover::before { width: 60%; }

/* ────────────────────────────────────
   § I. 로더 + 스크롤바 세련미
   ──────────────────────────────────── */

/* 로더 바 — 더 빛나게 */
.loader-bar {
  box-shadow: 0 0 8px rgba(232,84,28,.55), 0 0 16px rgba(232,84,28,.25) !important;
}

/* 스크롤바 thumb — 발광 */
::-webkit-scrollbar-thumb {
  box-shadow:
    inset 0 1px 0 rgba(255,140,80,.4),
    0 2px 6px rgba(232,84,28,.5) !important;
}

/* ────────────────────────────────────
   § J. 섹션 배경 상단/하단 빛 경계
   ──────────────────────────────────── */

/* 밝은 섹션 → 어두운 섹션 전환 경계 강화 */
.problems-sec,
.plans-sec,
.location-sec,
.company-intro,
.ai-nonstop-sec,
.photo-portfolio-sec,
.section-dark {
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.03),
    0 -1px 0 rgba(0,0,0,.12);
}

/* 베이지/크림 섹션 상단 빛 */
.about-sec,
.services-sec,
.reviews-sec,
.awards-sec,
.partner-voice-sec,
.contact-sec {
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.85);
}

/* ────────────────────────────────────
   § K. 마퀴 텍스트 — 금박 효과
   ──────────────────────────────────── */

/* 마퀴 아이템 텍스트 */
.marquee-inner > span {
  text-shadow:
    0 1px 0 rgba(0,0,0,.2),
    0 2px 8px rgba(0,0,0,.15) !important;
}
/* 구분 점 — 금빛 발광 */
.mdot {
  text-shadow:
    0 0 6px rgba(217,162,75,.7),
    0 0 18px rgba(217,162,75,.4),
    0 0 36px rgba(217,162,75,.2) !important;
}

/* ────────────────────────────────────
   § L. 히어로 섹션 — 조명 광원 추가
   ──────────────────────────────────── */

/* 히어로 배경 오버레이 — 상단 빛 경계 */
.hero::after {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 1px;
  background: linear-gradient(90deg,
    transparent,
    rgba(255,255,255,.15) 30%,
    rgba(255,255,255,.25) 50%,
    rgba(255,255,255,.15) 70%,
    transparent);
  pointer-events: none;
  z-index: 10;
}

/* 히어로 텍스트 — 발광 강화 */
.hl--num {
  text-shadow:
    0 2px 0 rgba(232,84,28,.18),
    0 8px 32px rgba(232,84,28,.25),
    0 0 80px rgba(232,84,28,.10) !important;
  filter: none !important;
}

/* ────────────────────────────────────
   § M. 포트폴리오 히어로 통계 강화
   ──────────────────────────────────── */

/* 사진 통계 박스 — 유리 재질 강화 */
.photo-pf-stats {
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.10),
    inset 0 -1px 0 rgba(0,0,0,.12),
    0 8px 32px rgba(0,0,0,.35),
    0 2px 8px rgba(0,0,0,.20) !important;
  background: rgba(255,255,255,.06) !important;
  backdrop-filter: blur(20px) saturate(1.5) !important;
}
/* 구분선 */
.photo-pf-stat {
  position: relative;
}
.photo-pf-stat::after {
  content: '';
  position: absolute;
  right: 0; top: 15%; bottom: 15%;
  width: 1px;
  background: linear-gradient(to bottom,
    transparent, rgba(255,255,255,.1) 50%, transparent);
  pointer-events: none;
}
.photo-pf-stat:last-child::after { display: none; }

/* ────────────────────────────────────
   § N. 카카오 채팅 버튼 + CTA 강화
   ──────────────────────────────────── */

/* 카카오 버튼 더 강한 재질 */
.btn-kakao {
  text-shadow: 0 1px 2px rgba(100,80,0,.25) !important;
  letter-spacing: -.015em !important;
}

/* 오렌지 버튼 — 내부 하이라이트 컬러 조정 */
.btn-orange {
  text-shadow: 0 1px 2px rgba(0,0,0,.2) !important;
}

/* CTA 섹션 내 큰 버튼 */
.cta-btn-main,
.hero-cta .btn-orange {
  box-shadow:
    inset 0 2px 0 rgba(255,140,80,.4),
    inset 0 -2px 0 rgba(150,40,0,.28),
    0 6px 24px rgba(232,84,28,.38),
    0 2px 8px rgba(232,84,28,.22),
    0 16px 48px rgba(232,84,28,.18) !important;
}

/* ────────────────────────────────────
   § O. Location 지도 플레이스홀더 심화
   ──────────────────────────────────── */

/* 핀 — 더 강한 펄스 + 그림자 */
.lmp-pin {
  box-shadow:
    inset 0 2px 0 rgba(80,220,140,.4),
    inset 0 -1px 0 rgba(0,100,40,.3),
    0 4px 16px rgba(3,199,90,.45),
    0 0 0 12px rgba(3,199,90,.12),
    0 0 0 24px rgba(3,199,90,.06) !important;
}
@keyframes pinPulse {
  0%, 100% {
    box-shadow:
      inset 0 2px 0 rgba(80,220,140,.4),
      inset 0 -1px 0 rgba(0,100,40,.3),
      0 4px 16px rgba(3,199,90,.45),
      0 0 0 12px rgba(3,199,90,.12),
      0 0 0 24px rgba(3,199,90,.06);
  }
  50% {
    box-shadow:
      inset 0 2px 0 rgba(80,220,140,.45),
      inset 0 -1px 0 rgba(0,100,40,.3),
      0 6px 24px rgba(3,199,90,.55),
      0 0 0 20px rgba(3,199,90,.18),
      0 0 0 38px rgba(3,199,90,.07);
  }
}

/* 지도 그리드 패턴 — 더 선명하게 */
.location-map-static::before {
  background:
    linear-gradient(rgba(3,199,90,.05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(3,199,90,.05) 1px, transparent 1px),
    linear-gradient(rgba(3,199,90,.02) 1px, transparent 1px),
    linear-gradient(90deg, rgba(3,199,90,.02) 1px, transparent 1px) !important;
  background-size: 40px 40px, 40px 40px, 10px 10px, 10px 10px !important;
}

/* ────────────────────────────────────
   § P. 카운트다운 오버레이 입체감
   ──────────────────────────────────── */

.ccd-inner {
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.07),
    inset 0 -2px 0 rgba(0,0,0,.2),
    0 32px 96px rgba(0,0,0,.6),
    0 8px 32px rgba(0,0,0,.4),
    0 0 0 1px rgba(255,255,255,.06) !important;
}
.ccd-num {
  text-shadow:
    0 4px 0 rgba(232,84,28,.3),
    0 12px 40px rgba(232,84,28,.45),
    0 0 80px rgba(232,84,28,.2) !important;
  filter: none !important;
}

/* ────────────────────────────────────
   § Q. 모바일 반응형 — 깊이감 최적화
   ──────────────────────────────────── */
@media (max-width: 768px) {
  /* 모바일에서 heavy shadow 경감 */
  .svc-card:hover,
  .astat:hover,
  .award-card:hover,
  .pv-card:hover {
    transform: translateY(-4px) !important;
  }
  .float-badge:hover {
    transform: translateY(-6px) !important;
  }
  /* 모바일 타이포 텍스트 그림자 유지 */
  .sec-title {
    text-shadow:
      0 1px 0 rgba(255,255,255,.7),
      0 2px 6px rgba(42,37,34,.04) !important;
  }
}

/* ────────────────────────────────────
   § R. 마지막 손질 — 전역 전환 일관성
   ──────────────────────────────────── */

/* 카드 공통 transition 통일 */
.svc-card,
.astat,
.award-card,
.pv-card,
.review-card,
.ai-ns-tb,
.ai-ns-cc,
.photo-pf-mosaic-item,
.proc-step {
  will-change: transform, box-shadow;
}

/* 선택 영역 — 브랜드 컬러 */
::selection {
  background: rgba(232,84,28,.18);
  color: var(--dark);
}
::-moz-selection {
  background: rgba(232,84,28,.18);
  color: var(--dark);
}

/* 링크 포커스 — 접근성 + 브랜드 */
a:focus-visible,
button:focus-visible {
  outline: 2px solid var(--orange);
  outline-offset: 3px;
  box-shadow: 0 0 0 4px rgba(232,84,28,.15);
}

/* 이미지 렌더링 개선 */
img {
  image-rendering: -webkit-optimize-contrast;
}
.hero-img,
.ceo-img,
.svc-photo {
  image-rendering: auto;
}

/* ── END DEPTH SYSTEM v3 ── */

/* ╔══════════════════════════════════════════════════════════╗
   ║   LIVE SYSTEM — 실시간 배지 & 상담 인디케이터            ║
   ║   후기 LIVE 바 · 상담 현황 바 · 카드 타임스탬프          ║
   ╚══════════════════════════════════════════════════════════╝ */

/* ────────────────────────────────────
   § 공통 — Live Pulse 애니메이션
   ──────────────────────────────────── */
@keyframes livePulse {
  0%   { box-shadow: 0 0 0 0   rgba(34,197,94,.65); }
  50%  { box-shadow: 0 0 0 7px rgba(34,197,94,0);   }
  100% { box-shadow: 0 0 0 0   rgba(34,197,94,0);   }
}
@keyframes liveBlink {
  0%,100% { opacity: 1; }
  50%     { opacity: .45; }
}
@keyframes liveCountUp {
  0%   { transform: translateY(6px); opacity: 0; }
  100% { transform: translateY(0);   opacity: 1; }
}

/* ────────────────────────────────────
   § A. 후기 LIVE 바
   ──────────────────────────────────── */
.rv-live-bar {
  display: flex;
  align-items: center;
  gap: 14px;
  flex-wrap: wrap;
  padding: 10px 20px;
  margin-bottom: 18px;
  background: linear-gradient(135deg,
    rgba(34,197,94,.08) 0%,
    rgba(34,197,94,.04) 100%);
  border: 1px solid rgba(34,197,94,.2);
  border-radius: 40px;
  backdrop-filter: blur(8px);
}

.rv-live-badge {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  font-family: 'Montserrat', sans-serif;
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .06em;
  color: #16a34a;
  text-transform: uppercase;
}

.rv-live-dot {
  flex-shrink: 0;
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: #22c55e;
  animation: livePulse 1.6s ease-in-out infinite;
}

.rv-live-text {
  background: #22c55e;
  color: #fff;
  font-size: .65rem;
  font-weight: 800;
  letter-spacing: .08em;
  padding: 2px 7px;
  border-radius: 4px;
  animation: liveBlink 2s ease infinite;
}

.rv-live-timestamp {
  flex: 1;
  font-size: .76rem;
  color: rgba(42,37,34,.5);
  white-space: nowrap;
}

.rv-live-total {
  font-family: 'Montserrat', sans-serif;
  font-size: .75rem;
  color: rgba(42,37,34,.6);
  white-space: nowrap;
}
.rv-live-total strong {
  font-family: 'Bebas Neue', sans-serif;
  font-size: 1.05rem;
  color: var(--orange);
  letter-spacing: .02em;
}

/* ────────────────────────────────────
   § B. 후기 카드 — 상단 타임스탬프 행
   ──────────────────────────────────── */
.rv-card-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 10px;
}

.rv-time {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: .72rem;
  font-family: 'Montserrat', sans-serif;
  color: rgba(42,37,34,.4);
  background: rgba(42,37,34,.05);
  padding: 2px 9px;
  border-radius: 20px;
  white-space: nowrap;
}
.rv-time::before {
  content: '';
  display: inline-block;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #22c55e;
  flex-shrink: 0;
  animation: livePulse 2.2s ease-in-out infinite;
}

/* ────────────────────────────────────
   § C. 상담 실시간 인디케이터 바
   ──────────────────────────────────── */
.live-consult-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 11px 18px;
  margin-bottom: 16px;
  background: linear-gradient(135deg,
    rgba(232,84,28,.07) 0%,
    rgba(217,162,75,.06) 100%);
  border: 1px solid rgba(232,84,28,.18);
  border-radius: 12px;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.6),
    0 2px 8px rgba(232,84,28,.08);
}

.live-consult-left {
  display: flex;
  align-items: center;
  gap: 9px;
}

.live-dot {
  flex-shrink: 0;
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: #22c55e;
  animation: livePulse 1.4s ease-in-out infinite;
}

.live-consult-text {
  font-size: .82rem;
  color: rgba(42,37,34,.75);
  font-family: 'Noto Sans KR', sans-serif;
}
.live-consult-text strong {
  font-family: 'Bebas Neue', sans-serif;
  font-size: 1.15rem;
  color: var(--orange);
  letter-spacing: .03em;
  animation: liveCountUp .35s ease both;
}

.live-consult-right {
  flex-shrink: 0;
}

.live-consult-queue {
  font-size: .73rem;
  font-family: 'Montserrat', sans-serif;
  color: rgba(42,37,34,.45);
  white-space: nowrap;
}
.live-consult-queue strong {
  font-family: 'Bebas Neue', sans-serif;
  font-size: .95rem;
  color: var(--gold);
  letter-spacing: .03em;
}

/* ────────────────────────────────────
   § D. 반응형 — 모바일
   ──────────────────────────────────── */
@media (max-width: 600px) {
  .rv-live-bar {
    gap: 8px;
    padding: 8px 14px;
    border-radius: 28px;
  }
  .rv-live-timestamp { display: none; }
  .live-consult-bar {
    flex-direction: column;
    align-items: flex-start;
    gap: 6px;
    padding: 10px 14px;
  }
  .live-consult-right { width: 100%; text-align: right; }
}

/* ────────────────────────────────────
   § E. SNS 포토 카드 — warm 오버레이 보강 (DEPTH override 후)
   ──────────────────────────────────── */
.svc-photo-overlay--warm {
  background: linear-gradient(
    160deg,
    rgba(42,37,34,.08) 0%,
    rgba(232,84,28,.28) 45%,
    rgba(26,18,14,.97) 100%
  ) !important;
}
.svc-card--photo:hover .svc-photo-overlay--warm {
  background: linear-gradient(
    160deg,
    rgba(42,37,34,.12) 0%,
    rgba(232,84,28,.38) 45%,
    rgba(26,18,14,.98) 100%
  ) !important;
}
.svc-photo-overlay--warm h3 {
  text-shadow: 0 1px 8px rgba(232,84,28,.5) !important;
}

/* ────────────────────────────────────
   § F. 장사의민족TV 채널 링크 플레이어
   ──────────────────────────────────── */

/* 전체 래퍼 — 기존 yt-shorts-grid 레이아웃과 동일하게 */
.yt-jangsa-player-wrap {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
  align-items: stretch;
}

/* ── 메인 플레이어 링크 박스 ── */
.yt-jangsa-player {
  position: relative;
  display: block;
  border-radius: 16px;
  overflow: hidden;
  min-height: 300px;
  background: #0f0f0f;
  text-decoration: none;
  cursor: pointer;
  transition: transform .35s cubic-bezier(.22,1,.36,1),
              box-shadow .35s ease;
  box-shadow:
    0 4px 20px rgba(0,0,0,.45),
    0 0 0 1px rgba(255,255,255,.06);
}
.yt-jangsa-player:hover {
  transform: translateY(-4px) scale(1.01);
  box-shadow:
    0 12px 48px rgba(0,0,0,.55),
    0 0 0 2px rgba(255,0,0,.35);
}

/* 배경 이미지 */
.yt-jangsa-bg {
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, #1a0a0a 0%, #1c1410 50%, #0d0d0d 100%);
}
.yt-jangsa-bg-img {
  width: 100%; height: 100%;
  object-fit: cover;
  opacity: .25;
  filter: blur(2px) saturate(1.2);
}

/* 다크 오버레이 */
.yt-jangsa-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to bottom,
    rgba(0,0,0,.3) 0%,
    rgba(0,0,0,.2) 40%,
    rgba(0,0,0,.7) 100%
  );
  pointer-events: none;
}

/* ── 중앙 플레이 버튼 ── */
.yt-jangsa-play-btn {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 14px;
  z-index: 2;
}
.yt-jangsa-play-circle {
  width: 72px; height: 72px;
  border-radius: 50%;
  background: rgba(255,255,255,.12);
  backdrop-filter: blur(8px);
  border: 2px solid rgba(255,255,255,.2);
  display: flex; align-items: center; justify-content: center;
  transition: transform .3s ease, background .3s ease, border-color .3s ease;
}
.yt-jangsa-player:hover .yt-jangsa-play-circle {
  transform: scale(1.12);
  background: rgba(255,0,0,.25);
  border-color: rgba(255,0,0,.5);
}
.yt-jangsa-play-label {
  font-size: .8rem;
  font-family: 'Noto Sans KR', sans-serif;
  color: rgba(255,255,255,.75);
  letter-spacing: .02em;
  text-align: center;
  transition: color .3s ease;
}
.yt-jangsa-player:hover .yt-jangsa-play-label {
  color: #fff;
}

/* ── 채널 정보 배지 (하단 고정) ── */
.yt-jangsa-ch-badge {
  position: absolute;
  bottom: 0; left: 0; right: 0;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 14px 18px;
  background: linear-gradient(to top, rgba(0,0,0,.85) 0%, transparent 100%);
  z-index: 3;
  transition: background .3s ease;
}
.yt-jangsa-ch-icon {
  width: 36px; height: 36px;
  border-radius: 50%;
  background: #ff0000;
  display: flex; align-items: center; justify-content: center;
  font-size: .9rem; color: #fff;
  flex-shrink: 0;
  box-shadow: 0 2px 8px rgba(255,0,0,.4);
}
.yt-jangsa-ch-info {
  flex: 1;
}
.yt-jangsa-ch-info strong {
  display: block;
  font-size: .88rem;
  font-weight: 700;
  color: #fff;
  line-height: 1.2;
}
.yt-jangsa-ch-info span {
  font-size: .73rem;
  color: rgba(255,255,255,.55);
  font-family: 'Montserrat', sans-serif;
}
.yt-jangsa-ch-arrow {
  width: 30px; height: 30px;
  border-radius: 50%;
  background: rgba(255,255,255,.12);
  display: flex; align-items: center; justify-content: center;
  font-size: .75rem; color: rgba(255,255,255,.7);
  transition: background .3s ease, transform .3s ease, color .3s ease;
  flex-shrink: 0;
}
.yt-jangsa-player:hover .yt-jangsa-ch-arrow {
  background: #ff0000;
  color: #fff;
  transform: translateX(3px);
}

/* ── 키워드 태그 (상단 float) ── */
.yt-jangsa-tags-float {
  position: absolute;
  top: 14px; left: 14px;
  display: flex; gap: 6px; flex-wrap: wrap;
  z-index: 3;
}
.yt-jangsa-tags-float span {
  background: rgba(255,255,255,.12);
  backdrop-filter: blur(6px);
  color: rgba(255,255,255,.8);
  font-size: .67rem;
  font-family: 'Noto Sans KR', sans-serif;
  padding: 3px 8px;
  border-radius: 20px;
  border: 1px solid rgba(255,255,255,.15);
  transition: background .25s ease, color .25s ease;
}
.yt-jangsa-player:hover .yt-jangsa-tags-float span {
  background: rgba(255,0,0,.2);
  border-color: rgba(255,0,0,.3);
  color: #fff;
}

/* ── 오른쪽 소개 카드 ── */
.yt-jangsa-link-btns {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-top: 20px;
}
.yt-jangsa-btn-main {
  display: flex; align-items: center; gap: 8px;
  padding: 13px 20px;
  background: #ff0000;
  color: #fff;
  border-radius: 10px;
  font-size: .88rem;
  font-weight: 700;
  text-decoration: none;
  transition: background .25s ease, transform .25s ease, box-shadow .25s ease;
  box-shadow: 0 4px 14px rgba(255,0,0,.3);
  justify-content: center;
}
.yt-jangsa-btn-main:hover {
  background: #cc0000;
  transform: translateY(-2px);
  box-shadow: 0 8px 22px rgba(255,0,0,.4);
}
.yt-jangsa-btn-shorts {
  display: flex; align-items: center; gap: 8px;
  padding: 11px 20px;
  background: transparent;
  color: rgba(255,255,255,.8);
  border: 1px solid rgba(255,255,255,.2);
  border-radius: 10px;
  font-size: .84rem;
  font-weight: 600;
  text-decoration: none;
  transition: background .25s ease, border-color .25s ease, color .25s ease;
  justify-content: center;
}
.yt-jangsa-btn-shorts:hover {
  background: rgba(255,255,255,.08);
  border-color: rgba(255,255,255,.4);
  color: #fff;
}
.yt-jangsa-notice {
  margin-top: 14px;
  font-size: .72rem;
  color: rgba(255,255,255,.38);
  display: flex; align-items: center; gap: 5px;
  line-height: 1.4;
}
.yt-jangsa-notice i { font-size: .7rem; flex-shrink: 0; }

/* ── 반응형 ── */
@media (max-width: 700px) {
  .yt-jangsa-player-wrap {
    grid-template-columns: 1fr;
  }
  .yt-jangsa-player {
    min-height: 240px;
  }
}

/* ── END 장사의민족TV 플레이어 ── */

/* ────────────────────────────────────
   § G. 네이버 카페 탭 버튼
   ──────────────────────────────────── */
.yt-tab-btn--cafe {
  text-decoration: none;
  position: relative;
  background: linear-gradient(135deg,
    rgba(3,199,90,.12) 0%,
    rgba(3,199,90,.06) 100%);
  border-color: rgba(3,199,90,.3) !important;
  color: #03c75a !important;
  gap: 7px;
}
.yt-tab-btn--cafe:hover {
  background: linear-gradient(135deg,
    rgba(3,199,90,.22) 0%,
    rgba(3,199,90,.14) 100%) !important;
  border-color: rgba(3,199,90,.55) !important;
  color: #02b350 !important;
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(3,199,90,.2);
}
.yt-tab-btn--cafe i {
  color: #03c75a;
}
.yt-cafe-badge {
  font-size: .62rem;
  font-weight: 800;
  font-family: 'Montserrat', sans-serif;
  letter-spacing: .04em;
  background: #03c75a;
  color: #fff;
  padding: 2px 6px;
  border-radius: 4px;
  line-height: 1.3;
  flex-shrink: 0;
}

/* ── END LIVE SYSTEM ── */

/* ╔══════════════════════════════════════════════════════════╗
   ║   BRAND VIDEO SECTION — 풀스크린 브랜드 영상              ║
   ╚══════════════════════════════════════════════════════════╝ */

.brand-video-sec {
  position: relative;
  width: 100%;
  height: 100vh;
  min-height: 560px;
  overflow: hidden;
  background: #0a0806;
}

/* ── 배경 비디오 ── */
.bv-video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
  z-index: 0;
  filter: brightness(.82) saturate(1.08);
  transition: filter .6s ease;
}
.brand-video-sec:hover .bv-video {
  filter: brightness(.88) saturate(1.12);
}

/* ── 다크 그라디언트 오버레이 ── */
.bv-overlay {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(to bottom,
      rgba(10,8,6,.55) 0%,
      rgba(10,8,6,.25) 35%,
      rgba(10,8,6,.25) 65%,
      rgba(10,8,6,.72) 100%),
    linear-gradient(135deg,
      rgba(232,84,28,.12) 0%,
      transparent 60%);
  z-index: 1;
  pointer-events: none;
}

/* ── 중앙 텍스트 콘텐츠 ── */
.bv-inner {
  position: relative;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}

.bv-content {
  position: relative;
  z-index: 2;
  text-align: center;
  padding: 0 24px;
  max-width: 760px;
}

.bv-eyebrow {
  display: inline-block;
  font-family: 'Montserrat', sans-serif;
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .22em;
  color: var(--orange);
  text-transform: uppercase;
  margin-bottom: 20px;
  padding: 5px 14px;
  border: 1px solid rgba(232,84,28,.35);
  border-radius: 40px;
  background: rgba(232,84,28,.08);
  backdrop-filter: blur(6px);
}

.bv-title {
  font-family: 'Noto Sans KR', sans-serif;
  font-size: clamp(2rem, 5vw, 3.4rem);
  font-weight: 900;
  color: #fff;
  line-height: 1.25;
  letter-spacing: -.03em;
  word-break: keep-all;
  margin-bottom: 20px;
  text-shadow:
    0 2px 0 rgba(0,0,0,.3),
    0 8px 32px rgba(0,0,0,.45);
}
.bv-title em {
  font-style: normal;
  color: var(--gold);
  text-shadow:
    0 2px 0 rgba(0,0,0,.25),
    0 0 40px rgba(217,162,75,.3);
}

.bv-desc {
  font-size: clamp(.9rem, 1.8vw, 1.08rem);
  color: rgba(255,255,255,.75);
  line-height: 1.85;
  word-break: keep-all;
  margin-bottom: 36px;
  text-shadow: 0 1px 6px rgba(0,0,0,.5);
}

.bv-cta {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 15px 36px;
  background: var(--orange);
  color: #fff;
  font-family: 'Noto Sans KR', sans-serif;
  font-size: .95rem;
  font-weight: 700;
  border-radius: 50px;
  text-decoration: none;
  letter-spacing: -.01em;
  box-shadow:
    inset 0 2px 0 rgba(255,140,80,.4),
    inset 0 -2px 0 rgba(150,40,0,.3),
    0 8px 28px rgba(232,84,28,.4),
    0 20px 56px rgba(232,84,28,.2);
  transition: transform .3s ease,
              box-shadow .3s ease,
              background .3s ease;
}
.bv-cta:hover {
  background: #c94210;
  transform: translateY(-3px) scale(1.03);
  box-shadow:
    inset 0 2px 0 rgba(255,140,80,.4),
    inset 0 -2px 0 rgba(150,40,0,.3),
    0 14px 40px rgba(232,84,28,.55),
    0 28px 70px rgba(232,84,28,.28);
}

/* ── 스크롤 유도 인디케이터 ── */
.bv-scroll-hint {
  position: absolute;
  bottom: 32px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  animation: bvScrollFade 2.4s ease-in-out infinite;
}
.bv-scroll-hint span {
  font-family: 'Montserrat', sans-serif;
  font-size: .6rem;
  font-weight: 700;
  letter-spacing: .18em;
  color: rgba(255,255,255,.45);
}
.bv-scroll-line {
  width: 1px;
  height: 40px;
  background: linear-gradient(to bottom,
    rgba(255,255,255,.5) 0%,
    rgba(255,255,255,0) 100%);
  animation: bvScrollLine 2.4s ease-in-out infinite;
}
@keyframes bvScrollFade {
  0%,100% { opacity: .5; transform: translateX(-50%) translateY(0); }
  50%      { opacity: 1;  transform: translateX(-50%) translateY(6px); }
}
@keyframes bvScrollLine {
  0%   { transform: scaleY(0); transform-origin: top; }
  50%  { transform: scaleY(1); transform-origin: top; }
  51%  { transform: scaleY(1); transform-origin: bottom; }
  100% { transform: scaleY(0); transform-origin: bottom; }
}

/* ── 반응형 ── */
@media (max-width: 768px) {
  .brand-video-sec {
    height: 85vh;
    min-height: 480px;
  }
  .bv-cta {
    padding: 13px 28px;
    font-size: .88rem;
  }
}
@media (max-width: 480px) {
  .brand-video-sec { height: 75vh; }
  .bv-scroll-hint  { display: none; }
}

/* ╔══════════════════════════════════════════════════════════╗
   ║  § HERO 3D HEAD PARTICLE + BIG TYPOGRAPHY + JUNGANNEWS  ║
   ╚══════════════════════════════════════════════════════════╝ */

/* ── Hero 오라 파티클 캔버스 (전체 히어로 영역) ── */
.hero-head-canvas {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  z-index: 2;           /* 배경(0) + particleCanvas(1) 위, 텍스트(2)와 같은 레벨 */
  pointer-events: none;
  opacity: 1;
  mix-blend-mode: screen; /* 배경 영상 위에 빛이 자연스럽게 합성 */
}
@media (max-width: 900px) {
  .hero-head-canvas {
    opacity: .55;
  }
}

/* ── 배경 대형 타이포 ── */
.hero-bg-typo {
  position: absolute;
  bottom: 12%;
  right: -2%;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 0;
  pointer-events: none;
  overflow: hidden;
}
.hbt--line1,
.hbt--line2 {
  font-family: 'Montserrat', sans-serif;
  font-weight: 900;
  font-size: clamp(2.8rem, 6.5vw, 7rem);
  letter-spacing: -.04em;
  line-height: 1.0;
  color: transparent;
  -webkit-text-stroke: 1px rgba(255,255,255,.07);
  white-space: nowrap;
  text-transform: uppercase;
  user-select: none;
}
.hbt--line2 {
  -webkit-text-stroke: 1px rgba(232,84,28,.10);
}
@media (max-width: 768px) {
  .hero-bg-typo { display: none; }
}

/* ── Hero 서브 카피 (Over one million...) ── */
.hero-sub-copy {
  margin-bottom: 4px;
  margin-top: -4px;
}
.hsc--en {
  font-family: 'Montserrat', sans-serif;
  font-size: clamp(.72rem, 1.1vw, .88rem);
  font-weight: 700;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: rgba(255,255,255,.28);
  display: block;
  padding-left: 2px;
}

/* ── 정안뉴스 배지 (CEO 섹션) ── */
.ceo-press-badge {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  background: linear-gradient(135deg,
    rgba(17,12,8,.85) 0%,
    rgba(42,37,34,.6) 100%
  );
  border: 1px solid rgba(217,162,75,.28);
  border-left: 3px solid var(--gold);
  border-radius: 14px;
  padding: 18px 20px;
  margin-bottom: 24px;
  margin-top: 8px;
  position: relative;
  overflow: hidden;
  transition: all .3s ease;
  cursor: default;
}
.ceo-press-badge::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0; bottom: 0;
  background: linear-gradient(135deg,
    rgba(217,162,75,.04) 0%, transparent 60%);
  pointer-events: none;
}
.ceo-press-badge:hover {
  border-color: rgba(217,162,75,.5);
  background: linear-gradient(135deg,
    rgba(30,22,12,.9) 0%,
    rgba(50,44,36,.7) 100%
  );
  box-shadow: 0 8px 32px rgba(217,162,75,.12);
}

.cpb-icon {
  width: 42px; height: 42px;
  background: linear-gradient(135deg, rgba(217,162,75,.18), rgba(217,162,75,.06));
  border: 1px solid rgba(217,162,75,.3);
  border-radius: 10px;
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
  font-size: 1.1rem;
  color: var(--gold);
}

.cpb-body {
  flex: 1;
  min-width: 0;
}
.cpb-top {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 5px;
}
.cpb-label {
  font-size: .62rem;
  font-family: 'Montserrat', sans-serif;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: rgba(255,255,255,.28);
}
.cpb-dot {
  width: 3px; height: 3px;
  border-radius: 50%;
  background: rgba(217,162,75,.4);
}
.cpb-award {
  font-size: .72rem;
  font-weight: 700;
  color: var(--gold);
  background: rgba(217,162,75,.12);
  padding: 2px 8px;
  border-radius: 4px;
  letter-spacing: .02em;
}
.cpb-name {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: .96rem;
  font-weight: 800;
  color: rgba(255,255,255,.88);
  letter-spacing: -.02em;
  margin-bottom: 5px;
  text-decoration: none;
  transition: color .2s;
}
.cpb-name:hover { color: var(--gold); }
.cpb-ext {
  font-size: .65rem;
  opacity: .5;
}
.cpb-desc {
  font-size: .78rem;
  color: rgba(255,255,255,.38);
  line-height: 1.55;
}

/* PRESS 리본 */
.cpb-ribbon {
  position: absolute;
  top: 0; right: 0;
  background: linear-gradient(135deg, var(--gold), #b8841e);
  color: #1a1208;
  font-size: .55rem;
  font-family: 'Montserrat', sans-serif;
  font-weight: 900;
  letter-spacing: .14em;
  padding: 4px 12px 4px 8px;
  border-radius: 0 13px 0 10px;
  clip-path: polygon(8px 0%, 100% 0%, 100% 100%, 0% 100%);
}

/* ── 정안뉴스 About 섹션 인라인 pill ── */
.about-press-pill {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  margin-top: 20px;
  padding: 10px 18px;
  background: linear-gradient(135deg,
    rgba(217,162,75,.10) 0%,
    rgba(217,162,75,.04) 100%
  );
  border: 1px solid rgba(217,162,75,.25);
  border-radius: 50px;
  font-size: .78rem;
  font-weight: 700;
  color: rgba(42,37,34,.65);
  text-decoration: none;
  transition: all .25s ease;
  letter-spacing: .01em;
}
.about-press-pill i:first-child {
  color: var(--gold);
  font-size: .8rem;
}
.about-press-pill i:last-child {
  color: rgba(42,37,34,.3);
  font-size: .65rem;
  margin-left: 2px;
}
.about-press-pill:hover {
  background: linear-gradient(135deg,
    rgba(217,162,75,.16) 0%,
    rgba(217,162,75,.08) 100%
  );
  border-color: rgba(217,162,75,.5);
  color: var(--dark);
  transform: translateX(3px);
  box-shadow: 0 4px 16px rgba(217,162,75,.12);
}

@media (max-width: 768px) {
  .hero-sub-copy { display: none; }
  .ceo-press-badge { padding: 14px 16px; gap: 12px; }
  .cpb-name { font-size: .88rem; }
}

/* ── END BRAND VIDEO SECTION ── */
