:root{--color-primary:#e03c31;--color-primary-dark:#b91c1c;--color-accent:#fff;--color-text-main:#f3f4f6;--color-text-light:#9ca3af;--color-text-lighter:#6b7280;--color-bg-body:#0f1115;--color-bg-white:#1a1c23;--color-bg-offset:#14161c;--color-border:#2d3748;--color-border-light:#1f2937;--gradient-hero:linear-gradient(180deg,rgba(15,17,21,.8),#0f1115);--gradient-primary:linear-gradient(135deg,#e03c31,#b91c1c);--gradient-dark:linear-gradient(135deg,#1a1c23,#0f1115);--spacing-xs:4px;--spacing-sm:8px;--spacing-md:16px;--spacing-lg:24px;--spacing-xl:40px;--spacing-2xl:80px;--spacing-3xl:120px;--font-heading:"Montserrat",sans-serif;--font-body:"Noto Sans KR",sans-serif;--shadow-sm:0 1px 3px rgba(0,0,0,.5);--shadow-md:0 4px 6px rgba(0,0,0,.5),0 2px 4px rgba(0,0,0,.3);--shadow-lg:0 10px 15px -3px rgba(0,0,0,.6),0 4px 6px -2px rgba(0,0,0,.4);--shadow-xl:0 20px 25px -5px rgba(0,0,0,.6),0 10px 10px -5px rgba(0,0,0,.4);--glass-bg:rgba(26,28,35,.7);--glass-border:1px solid hsla(0,0%,100%,.08);--blur:blur(12px);--radius-sm:6px;--radius-md:12px;--radius-lg:20px}body{background-color:var(--color-bg-body);color:var(--color-text-main);font-family:var(--font-body);margin:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px;line-height:1.7}h1,h2,h3,h4,h5,h6{color:var(--color-accent);font-family:var(--font-heading);font-weight:700;letter-spacing:-.02em;line-height:1.3;margin-top:0}h1{font-size:3.5rem}h2{font-size:2.5rem}h3{font-size:1.75rem}a{color:inherit;text-decoration:none;transition:color .3s ease}.container{margin:0 auto;max-width:1280px;padding:0 var(--spacing-lg)}@media(max-width:640px){.container{padding:0 var(--spacing-md)}}.text-center{text-align:center}.text-primary{color:var(--color-primary)}.btn{align-items:center;border:none;border-radius:var(--radius-md);cursor:pointer;display:inline-flex;font-family:var(--font-heading);font-size:1rem;font-weight:600;gap:.5rem;justify-content:center;letter-spacing:.02em;padding:1rem 2rem;transition:all .3s cubic-bezier(.4,0,.2,1)}.btn-primary{background:var(--gradient-primary);box-shadow:0 4px 12px #e03c314d;color:#fff}.btn-primary:hover{box-shadow:0 8px 16px #e03c3166;transform:translateY(-2px)}.btn-outline{background-color:transparent;border:1px solid var(--color-border);color:var(--color-text-main)}.btn-outline:hover{background-color:#fff;border-color:var(--color-accent);color:var(--color-bg-body)}.btn-white{background-color:#fff;border:1px solid #fff;color:#111827}.btn-white:hover{background-color:#f3f4f6;color:#000}.btn-sm{border-radius:var(--radius-sm);font-size:.875rem;padding:.5rem 1rem}.btn-lg{font-size:1.125rem;padding:1.25rem 2.5rem}.btn-block,.btn-full{width:100%}input,select,textarea{background-color:#252830;border:1px solid var(--color-border);border-radius:var(--radius-sm);color:#fff;font-family:var(--font-body);transition:all .2s}input:focus,select:focus,textarea:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #e03c3133;outline:none}.card-hoverable{background:var(--color-bg-white);border:1px solid hsla(0,0%,100%,.05);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);transition:all .4s cubic-bezier(.4,0,.2,1)}.card-hoverable:hover{border-color:var(--color-border);box-shadow:var(--shadow-xl);transform:translateY(-8px)}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:fadeIn .8s ease-out forwards}.glass{-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);background:var(--glass-bg);border:var(--glass-border)}
