:root {
  --font-glitch: "Rubik Glitch", system-ui, sans-serif;
  --font-spice: "Bungee Spice", system-ui, sans-serif;
  --font-street-kr: "Black Han Sans", "Bagel Fat One", sans-serif;
  --font-body: "Noto Sans KR", sans-serif;
  --font-display: var(--font-glitch);
  --grad-hit: linear-gradient(108deg, #ff5f1a 0%, #ff2bbb 46%, #c4ff00 100%);
  --grad-hit-alt: linear-gradient(128deg, #c4ff00 0%, #ff2bbb 52%, #ff7a18 100%);
  --neon-orange: #ff6033;
  --neon-pink: #ff2bbb;
  --neon-lime: #c4ff00;
}

.iridescent {
  background: var(--grad-hit);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
  filter: drop-shadow(0 0 10px rgb(255 47 187 / 0.42)) drop-shadow(0 0 18px rgb(196 255 0 / 0.28));
}

.iridescent-alt {
  background: var(--grad-hit-alt);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
  filter: drop-shadow(0 0 10px rgb(255 122 24 / 0.4)) drop-shadow(0 0 16px rgb(255 47 187 / 0.3));
}

.type-outline {
  color: transparent;
  -webkit-text-stroke: 1.5px rgb(244 244 246 / 0.92);
}

.type-glitch {
  font-family: var(--font-glitch);
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.type-spice {
  font-family: var(--font-spice);
  letter-spacing: 0.02em;
}

.type-street {
  font-family: var(--font-street-kr);
  font-weight: 400;
  letter-spacing: -0.03em;
}

.skew-a {
  display: inline-block;
  transform: rotate(-3deg) skewX(-5deg);
}

.skew-b {
  display: inline-block;
  transform: rotate(2.5deg) skewX(4deg);
}

.skew-c {
  display: inline-block;
  transform: rotate(-1.5deg) skewX(-8deg);
}

.mast-word {
  font-family: var(--font-street-kr);
  font-size: 1rem;
  letter-spacing: -0.02em;
}

.mast-index-label {
  font-family: var(--font-glitch);
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.site-index-list a {
  font-family: var(--font-spice);
  letter-spacing: -0.02em;
  text-transform: uppercase;
  background: var(--grad-hit);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
  filter: drop-shadow(0 0 12px rgb(255 47 187 / 0.45));
}

.site-index-num {
  font-family: var(--font-glitch);
  color: rgb(196 255 0 / 0.72);
  opacity: 1;
}

.hero-display-line-a {
  font-family: var(--font-glitch);
  color: rgb(255 47 187 / 0.14);
  text-shadow: 0 0 24px rgb(255 47 187 / 0.35);
}

.hero-display-line-b {
  font-family: var(--font-spice);
  color: rgb(255 122 24 / 0.12);
}

.hero-display-line-c {
  font-family: var(--font-glitch);
  color: transparent;
  -webkit-text-stroke: 1px rgb(196 255 0 / 0.28);
}

.hero-lead {
  font-family: var(--font-street-kr);
  color: rgb(196 255 0 / 0.82);
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.hero-title-line-a {
  font-family: var(--font-street-kr);
}

.hero-title-line-b {
  font-family: var(--font-glitch);
}

.ledger-kicker,
.drift-card-tag,
.page-shell-kicker,
.inquiry-preview-kicker {
  font-family: var(--font-glitch);
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: rgb(196 255 0 / 0.78);
}

.ledger-title,
.drift-title,
.pulse-title,
.page-shell-title,
.inquiry-preview-title {
  line-height: 0.92;
}

.drift-title-frag-a,
.drift-title-frag-c {
  font-family: var(--font-street-kr);
}

.drift-title-frag-b {
  font-family: var(--font-spice);
}

.drift-card-head {
  font-family: var(--font-street-kr);
  color: #121212;
}

.drift-card-tag {
  color: #ff2bbb;
}

.pulse-cta {
  font-family: var(--font-glitch);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: rgb(196 255 0 / 0.92);
  text-shadow: 0 0 12px rgb(196 255 0 / 0.45);
}

.page-block h2,
.page-step h3 {
  font-family: var(--font-street-kr);
}

.page-step-num {
  font-family: var(--font-glitch);
  color: rgb(255 47 187 / 0.9);
}

.inquiry-marquee-track span {
  font-family: var(--font-spice);
  background: var(--grad-hit-alt);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
  filter: drop-shadow(0 0 14px rgb(255 47 187 / 0.4));
}

.site-footer-name {
  font-family: var(--font-street-kr);
  background: var(--grad-hit);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
  filter: drop-shadow(0 0 10px rgb(255 122 24 / 0.35));
}

.site-footer-talk,
.site-footer-form,
.intake-submit {
  font-family: var(--font-glitch);
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.brand-spine {
  font-family: var(--font-glitch);
  color: rgb(255 47 187 / 0.55);
}

.page-aside-card h2 {
  font-family: var(--font-glitch);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: rgb(196 255 0 / 0.82);
}

@media (max-width: 900px) {
  .skew-a,
  .skew-b,
  .skew-c {
    transform: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  .skew-a,
  .skew-b,
  .skew-c {
    transform: none;
  }
}
