:root {
  --cw-black: #120F17;
  --cw-bg: var(--cw-black);
  --cw-bg-soft: #221f1b;
  --cw-bg-muted: #201d19;
  --cw-bg-deep: #171511;
  --cw-surface: #111827;
  --cw-surface-raised: #172033;
  --cw-surface-strong: #1a2438;
  --cw-surface-muted: #202a3d;
  --cw-bg-black-start: #15130f;
  --cw-bg-black-end: var(--cw-black);
  --cw-border: rgba(255, 255, 255, 0.12);
  --cw-border-strong: rgba(255, 255, 255, 0.2);
  --cw-text-primary: #f8fafc;
  --cw-text-secondary: #cbd5e1;
  --cw-text-muted: #94a3b8;
  --cw-text-inverse: var(--cw-black);
  --cw-text-white: #ffffff;
  --cw-accent-primary: #23d5ba;
  --cw-accent-primary-strong: #23d5ba;
  --cw-accent-primary-soft: #7ff5e4;
  --cw-accent-primary-pale: #c7fff5;
  --cw-accent-primary-faint: #ecfffb;
  --cw-accent-blue: #5b8def;
  --cw-accent-purple: #744ccc;
  --cw-accent-green: #2dd4bf;
  --cw-logo-violet: #8b5cf6;
  --cw-logo-cyan: #23d5ba;
  --cw-logo-silver: #d9d9d9;
  --cw-section-band-logo: #151118;
  --cw-section-band-clarity: #0f1218;
  --cw-section-band-faq: #121117;
  --cw-section-band-promo: #08110f;
  --cw-section-band-border: rgba(255, 255, 255, 0.045);
  --cw-status-positive: #22c55e;
  --cw-status-warning: #f59e0b;
  --cw-status-negative: #ef4444;
  --cw-status-neutral: #64748b;
  --cw-focus: #7ff5e4;
  --cw-shadow: rgba(0, 0, 0, 0.32);
  --cw-font-sans: "Pretendard", -apple-system, BlinkMacSystemFont, "Apple SD Gothic Neo", "Noto Sans KR", "Inter", sans-serif;
  --cw-type-display: 58px;
  --cw-type-display-mobile: 38px;
  --cw-type-headline: 3rem;
  --cw-type-headline-mobile: 30px;
  --cw-type-title: 1.15rem;
  --cw-type-body-lg: 1.05rem;
  --cw-type-body: 16px;
  --cw-type-caption: 13px;
  --cw-type-label: 14px;
  --cw-leading-tight: 1.08;
  --cw-leading-heading: 1.18;
  --cw-leading-body: 1.62;
  --cw-leading-caption: 1.45;
  --cw-container: 1260px;
  --cw-radius-sm: 8px;
  --cw-radius-md: 14px;
  --cw-radius-lg: 28px;
  --cw-radius-pill: 999px;
  --cw-z-toast: 140;
  
  --color-red-50: lab(96.5005% 4.18508 1.52328);
  --color-red-100: lab(92.243% 10.2865 3.83865);
  --color-amber-50: lab(98.6252% -.635922 8.42309);
  --color-amber-100: lab(95.916% -1.21653 23.111);
  --color-amber-500: lab(72.7183% 31.8672 97.9407);
  --color-amber-600: lab(60.3514% 40.5624 87.1228);
  --color-emerald-50: lab(97.8462% -6.94966 1.85487);
  --color-emerald-100: lab(94.9004% -17.0769 5.63836);
  --color-emerald-300: lab(83.9203% -48.7124 13.8849);
  --color-emerald-400: lab(75.0771% -60.7313 19.4147);
  --color-emerald-500: lab(66.9756% -58.27 19.5419);
  --color-emerald-600: lab(55.0481% -49.9246 15.93);
  --color-emerald-700: lab(44.4871% -41.0396 11.0361);
  --color-blue-50: lab(96.492% -1.14644 -5.11479);
  --color-blue-100: lab(92.0301% -2.24757 -11.6453);
  --color-blue-500: lab(54.1736% 13.3369 -74.6839);
  --color-blue-600: lab(44.0605% 29.0279 -86.0352);
  --color-violet-50: lab(96.2416% 2.28849 -5.51657);
  --color-violet-100: lab(93.0838% 4.35197 -9.88284);
  --color-violet-500: lab(49.9355% 55.1776 -81.8963);
  --color-violet-600: lab(41.088% 68.9966 -91.995);
  --color-gray-50: lab(98.2596% -.247031 -.706708);
  --color-gray-100: lab(96.1596% -.0823438 -1.13575);
  --color-gray-200: lab(91.6229% -.159115 -2.26791);
  --color-gray-300: lab(85.1236% -.612259 -3.7138);
  --color-gray-400: lab(65.9269% -.832707 -8.17473);
  --color-gray-500: lab(47.7841% -.393182 -10.0268);
  --color-gray-600: lab(35.6337% -1.58697 -10.8425);
  --color-gray-700: lab(27.1134% -.956401 -12.3224);
  --color-gray-800: lab(16.1051% -1.18239 -11.7533);
  --color-gray-900: lab(8.11897% .811279 -12.254);
}

* {
  box-sizing: border-box;
}

html {
  min-width: 320px;
  background: var(--cw-bg);
  color: var(--cw-text-primary);
  font-family: var(--cw-font-sans);
  scroll-behavior: smooth;
}

body {
  min-width: 320px;
  margin: 0;
  overflow-x: hidden;
  background: var(--cw-bg);
  color: var(--cw-text-primary);
  text-rendering: geometricPrecision;
  -webkit-font-smoothing: antialiased;
}

a {
  color: inherit;
  text-decoration: none;
}

button,
input,
textarea {
  font: inherit;
}

.skip-link {
  position: absolute;
  left: 16px;
  top: 12px;
  z-index: 100;
  transform: translateY(-140%);
  border-radius: var(--cw-radius-pill);
  background: var(--cw-accent-primary);
  color: var(--cw-text-inverse);
  padding: 10px 14px;
  font-size: var(--cw-type-label);
  font-weight: 700;
}

.skip-link:focus {
  transform: translateY(0);
}

.site-shell {
  min-height: 100svh;
  overflow-x: clip;
  overflow-y: visible;
}

@supports not (overflow: clip) {
  .site-shell {
    overflow-x: hidden;
    overflow-y: visible;
  }
}

.button {
  min-height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: var(--cw-radius-pill);
  padding: 0 20px;
  font-size: var(--cw-type-label);
  font-weight: 800;
  transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease, background 180ms ease;
}

.button-primary {
  background: var(--cw-shadow);
  color: var(--cw-text-primary);
  font-size: 1rem;
  box-shadow: 0 18px 46px rgba(55, 198, 208, 0.28);
  min-height: auto;
  padding: 16px 32px;
}

.button-primary:hover,
.button-primary:focus-visible {
  background: var(--cw-accent-primary-strong);
  color: #08110f;
  /*transform: translateY(-2px);*/
  outline: none;
}

.button-secondary {
  border: 1px solid var(--cw-border-strong);
  background: rgba(255, 255, 255, 0.035);
  color: var(--cw-text-primary);
}

.button-secondary:hover,
.button-secondary:focus-visible {
  border-color: rgba(103, 232, 249, 0.78);
  /*transform: translateY(-2px);*/
  outline: none;
}

:focus-visible {
  outline: 3px solid var(--cw-focus);
  outline-offset: 3px;
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
  }
}
