/* 뚜규 미디어킷 — 커스텀 스타일 (Tailwind 유틸리티로 안 되는 부분만) */


body {
  font-family: "Plus Jakarta Sans", ui-sans-serif, system-ui, sans-serif;
}

.font-mono {
  font-family: "JetBrains Mono", ui-monospace, monospace;
}

/* Hero background glow */
.hero-glow {
  background:
    radial-gradient(60% 50% at 50% 35%, rgba(59, 130, 246, 0.16) 0%, transparent 70%),
    radial-gradient(40% 40% at 80% 10%, rgba(59, 130, 246, 0.08) 0%, transparent 70%);
}

/* Scroll reveal: visible by default (no-JS / accessibility safe).
   JS adds .reveal-ready (pre-hidden) only to elements not yet in view,
   then swaps to .reveal-in on intersect. */
.reveal-ready {
  opacity: 0;
  transform: translateY(24px);
}
.reveal-in {
  opacity: 1;
  transform: translateY(0);
  transition: opacity 0.8s cubic-bezier(0.16, 1, 0.3, 1), transform 0.8s cubic-bezier(0.16, 1, 0.3, 1);
}

@media (prefers-reduced-motion: reduce) {
  .reveal-ready {
    opacity: 1;
    transform: none;
  }
  html {
    scroll-behavior: auto;
  }
}

/* Case card hover zoom */
.case-card {
  transition: transform 0.5s cubic-bezier(0.16, 1, 0.3, 1), border-color 0.3s ease;
}
.case-card:hover {
  transform: translateY(-4px) scale(1.015);
  border-color: rgba(59, 130, 246, 0.5);
}
.case-arrow-badge {
  transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1), background-color 0.3s ease;
}
.case-card:hover .case-arrow-badge {
  transform: translate(2px, -2px);
  background-color: #3b82f6;
}
.case-thumb {
  overflow: hidden;
}
.case-thumb img {
  transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}
.case-card:hover .case-thumb img {
  transform: scale(1.08);
}

.system-card {
  transition: border-color 0.3s ease, transform 0.3s ease;
}
.system-card:hover {
  border-color: rgba(59, 130, 246, 0.45);
  transform: translateY(-3px);
}

/* Partners infinite marquee */
.marquee-wrap {
  width: 100%;
  overflow: hidden;
  -webkit-mask-image: linear-gradient(90deg, transparent, black 8%, black 92%, transparent);
  mask-image: linear-gradient(90deg, transparent, black 8%, black 92%, transparent);
}
.marquee-track {
  display: flex;
  align-items: center;
  gap: 3.5rem;
  width: max-content;
  animation: marquee 32s linear infinite;
}
.marquee-wrap:hover .marquee-track {
  animation-play-state: paused;
}
@keyframes marquee {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); }
}
.partner-chip {
  display: flex;
  align-items: center;
  white-space: nowrap;
}
.partner-logo-text {
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 700;
  font-size: 1.15rem;
  letter-spacing: -0.01em;
  color: rgba(255, 255, 255, 0.35);
  transition: color 0.35s ease, text-shadow 0.35s ease;
}
.partner-chip:hover .partner-logo-text {
  color: #3b82f6;
  text-shadow: 0 0 24px rgba(59, 130, 246, 0.5);
}
.partner-logo-img {
  height: 1.75rem;
  width: auto;
  max-width: 9rem;
  object-fit: contain;
  opacity: 0.35;
  filter: brightness(0) invert(1);
  transition: opacity 0.35s ease, filter 0.35s ease;
}
.partner-logo-box:has(.logo-samsung) {
  display: flex;
  align-items: center;
  width: 7rem;
  height: 1.7rem;
  overflow: hidden;
}
.partner-logo-img.logo-samsung {
  width: 7rem;
  height: 7rem;
  max-width: none;
  flex: 0 0 auto;
}
.partner-logo-img.logo-dji { height: 2.4rem; }
.partner-logo-img.logo-insta360 { height: 1.98rem; max-width: 9.6rem; }
.partner-logo-img.logo-ulanzi { height: 4.356rem; max-width: 13.2rem; }
.partner-logo-img.logo-filmora { height: 2.1rem; max-width: 10.2rem; }
.partner-logo-img.logo-maono { height: 2.178rem; max-width: 10.56rem; }
.partner-logo-img.logo-sandisk { height: 1.15rem; max-width: 7rem; }
.partner-logo-img.logo-adobe,
.partner-logo-img.logo-socar { height: 1.4875rem; }
.partner-chip:hover .partner-logo-img {
  opacity: 1;
  filter: brightness(0) invert(1) drop-shadow(0 0 14px rgba(59, 130, 246, 0.65));
}

@media (prefers-reduced-motion: reduce) {
  .marquee-track {
    animation: none;
  }
}
