/* Font imports */
@import url('https://fonts.googleapis.com/css2?family=Syne:wght@400;500;600;700;800&family=Inter:wght@300;400;500;600;700;800;900&family=JetBrains+Mono:wght@400;500;600;700&display=swap');

*,::before,::after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}::before,::after{--tw-content:''}html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,"Consolas","Liberation Mono","Menlo",monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,[type='button'],[type='reset'],[type='submit']{-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type='search']{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role="button"]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}

:root {
  --background: hsl(217, 32%, 17%);
  --foreground: hsl(0, 0%, 100%);
  --muted: hsl(217, 32%, 17%);
  --muted-foreground: hsl(215, 20.2%, 65.1%);
  --popover: hsl(217, 32%, 17%);
  --popover-foreground: hsl(0, 0%, 100%);
  --card: hsl(217, 32%, 17%);
  --card-foreground: hsl(0, 0%, 100%);
  --border: hsl(217, 32%, 17%);
  --input: hsl(217, 32%, 17%);
  --primary: hsl(14, 100%, 59%);
  --primary-foreground: hsl(210, 40%, 2%);
  --secondary: hsl(174, 62%, 47%);
  --secondary-foreground: hsl(0, 0%, 100%);
  --accent: hsl(48, 100%, 71%);
  --accent-foreground: hsl(210, 40%, 2%);
  --destructive: hsl(0, 84%, 60%);
  --destructive-foreground: hsl(0, 0%, 100%);
  --ring: hsl(14, 100%, 59%);
  --radius: 0.5rem;
  
  --cat-primary: hsl(14, 100%, 59%);
  --cat-secondary: hsl(174, 62%, 47%);
  --cat-accent: hsl(48, 100%, 71%);
  --cat-bg-dark: hsl(228, 45%, 14%);
  --cat-highlight: hsl(0, 100%, 62%);
}

.dark {
  --background: hsl(228, 45%, 14%);
  --foreground: hsl(0, 0%, 100%);
  --muted: hsl(217, 32%, 17%);
  --muted-foreground: hsl(215, 20.2%, 65.1%);
  --popover: hsl(228, 45%, 14%);
  --popover-foreground: hsl(0, 0%, 100%);
  --card: hsl(228, 45%, 14%);
  --card-foreground: hsl(0, 0%, 100%);
  --border: hsl(217, 32%, 17%);
  --input: hsl(217, 32%, 17%);
  --primary: hsl(14, 100%, 59%);
  --primary-foreground: hsl(210, 40%, 2%);
  --secondary: hsl(174, 62%, 47%);
  --secondary-foreground: hsl(0, 0%, 100%);
  --accent: hsl(48, 100%, 71%);
  --accent-foreground: hsl(210, 40%, 2%);
  --destructive: hsl(0, 84%, 60%);
  --destructive-foreground: hsl(0, 0%, 100%);
  --ring: hsl(14, 100%, 59%);
}

body {
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  background: 
    radial-gradient(circle at 20% 80%, rgba(255, 107, 53, 0.15) 0%, transparent 50%),
    radial-gradient(circle at 80% 20%, rgba(78, 205, 196, 0.15) 0%, transparent 50%),
    radial-gradient(circle at 40% 40%, rgba(255, 230, 109, 0.1) 0%, transparent 50%),
    linear-gradient(135deg, #0a0e13 0%, #0f1419 25%, #1a202c 50%, #2d3748 75%, #0f1419 100%);
  background-size: 100% 100%, 100% 100%, 100% 100%, 100% 100%;
  background-attachment: fixed;
  animation: backgroundShift 20s ease-in-out infinite;
  color: var(--foreground);
  overflow-x: hidden;
  min-height: 100vh;
}

.gradient-text {
  background: linear-gradient(45deg, var(--cat-primary), var(--cat-accent), var(--cat-secondary));
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  color: transparent;
}

.neon-glow {
  filter: drop-shadow(0 0 10px var(--cat-secondary));
}

.travel-pattern {
  background-image: 
    radial-gradient(circle at 20% 50%, hsla(14, 100%, 59%, 0.1) 0%, transparent 50%),
    radial-gradient(circle at 80% 20%, hsla(174, 62%, 47%, 0.1) 0%, transparent 50%),
    radial-gradient(circle at 40% 80%, hsla(48, 100%, 71%, 0.1) 0%, transparent 50%);
}

.pulse-glow {
  animation: pulse-glow 2s ease-in-out infinite alternate;
}

.float {
  animation: float 3s ease-in-out infinite;
}

.bounce-slow {
  animation: bounce 2s infinite;
}

.mobile-touch {
  -webkit-tap-highlight-color: transparent;
  touch-action: manipulation;
}

.mobile-safe-area {
  padding-left: env(safe-area-inset-left);
  padding-right: env(safe-area-inset-right);
  padding-top: env(safe-area-inset-top);
  padding-bottom: env(safe-area-inset-bottom);
}

.glass-morphism {
  background: rgba(255, 255, 255, 0.05);
  backdrop-filter: blur(20px);
  border: 1px solid rgba(255, 255, 255, 0.1);
  box-shadow: 
    0 8px 32px rgba(0, 0, 0, 0.3),
    inset 0 1px 0 rgba(255, 255, 255, 0.1);
}

.hover-lift {
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.hover-lift:hover {
  transform: translateY(-10px) scale(1.02);
  box-shadow: 
    0 20px 40px rgba(0, 0, 0, 0.3),
    0 0 40px rgba(255, 107, 53, 0.2);
}

.text-shadow-glow {
  text-shadow: 
    0 0 10px rgba(255, 107, 53, 0.5),
    0 0 20px rgba(255, 107, 53, 0.3),
    0 0 30px rgba(78, 205, 196, 0.2);
}

.spinning-slow {
  animation: spin-slow 20s linear infinite;
}

.fade-in-up {
  animation: fadeInUp 1s ease-out forwards;
  opacity: 0;
  transform: translateY(30px);
}

/* Mobile-specific styles */
@media (max-width: 768px) {
  .spinning-slow {
    animation: none;
  }
  
  .glass-morphism {
    backdrop-filter: blur(10px);
  }
  
  .hover-lift:hover {
    transform: none;
  }
  
  .text-shadow-glow {
    text-shadow: 0 0 5px rgba(255, 107, 53, 0.3);
  }
}

@keyframes backgroundShift {
  0%, 100% {
    background-position: 0% 0%, 100% 100%, 50% 50%, 0% 0%;
  }
  50% {
    background-position: 100% 100%, 0% 0%, 0% 100%, 100% 0%;
  }
}

@keyframes float {
  0%, 100% { 
    transform: translateY(0px); 
  }
  50% { 
    transform: translateY(-10px); 
  }
}

@keyframes pulse-glow {
  0% { 
    box-shadow: 0 0 5px var(--cat-primary), 0 0 10px var(--cat-primary), 0 0 15px var(--cat-primary); 
    transform: scale(1);
  }
  100% { 
    box-shadow: 0 0 20px var(--cat-primary), 0 0 40px var(--cat-primary), 0 0 60px var(--cat-primary); 
    transform: scale(1.02);
  }
}

@keyframes spin-slow {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}

@keyframes fadeInUp {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.font-syne {
  font-family: 'Syne', sans-serif;
}

.font-inter {
  font-family: 'Inter', sans-serif;
}

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

/* Custom scrollbar */
::-webkit-scrollbar {
  width: 8px;
}

::-webkit-scrollbar-track {
  background: var(--cat-bg-dark);
}

::-webkit-scrollbar-thumb {
  background: linear-gradient(var(--cat-primary), var(--cat-secondary));
  border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
  background: linear-gradient(var(--cat-secondary), var(--cat-accent));
}

/* Utility classes */
.container{max-width:1200px;margin:0 auto;padding:0 1rem}
.hidden{display:none}
.fixed{position:fixed}
.relative{position:relative}
.absolute{position:absolute}
.inset-0{top:0;right:0;bottom:0;left:0}
.z-10{z-index:10}
.z-50{z-index:50}
.flex{display:flex}
.grid{display:grid}
.w-full{width:100%}
.h-full{height:100%}
.min-h-screen{min-height:100vh}
.items-center{align-items:center}
.justify-center{justify-content:center}
.justify-between{justify-content:space-between}
.space-x-3>:not([hidden])~:not([hidden]){margin-left:0.75rem}
.space-x-4>:not([hidden])~:not([hidden]){margin-left:1rem}
.space-x-6>:not([hidden])~:not([hidden]){margin-left:1.5rem}
.space-x-8>:not([hidden])~:not([hidden]){margin-left:2rem}
.space-y-4>:not([hidden])~:not([hidden]){margin-top:1rem}
.space-y-6>:not([hidden])~:not([hidden]){margin-top:1.5rem}
.rounded-lg{border-radius:0.5rem}
.rounded-full{border-radius:9999px}
.rounded-xl{border-radius:0.75rem}
.rounded-2xl{border-radius:1rem}
.border{border-width:1px}
.border-2{border-width:2px}
.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}
.from-\[var\(--cat-primary\)\]{--tw-gradient-from:var(--cat-primary);--tw-gradient-to:rgb(255 107 53 / 0);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}
.to-\[var\(--cat-highlight\)\]{--tw-gradient-to:var(--cat-highlight)}
.px-4{padding-left:1rem;padding-right:1rem}
.px-6{padding-left:1.5rem;padding-right:1.5rem}
.px-8{padding-left:2rem;padding-right:2rem}
.py-2{padding-top:0.5rem;padding-bottom:0.5rem}
.py-3{padding-top:0.75rem;padding-bottom:0.75rem}
.py-4{padding-top:1rem;padding-bottom:1rem}
.py-20{padding-top:5rem;padding-bottom:5rem}
.mb-4{margin-bottom:1rem}
.mb-6{margin-bottom:1.5rem}
.mb-8{margin-bottom:2rem}
.mb-12{margin-bottom:3rem}
.mb-16{margin-bottom:4rem}
.mt-4{margin-top:1rem}
.text-center{text-align:center}
.text-lg{font-size:1.125rem;line-height:1.75rem}
.text-xl{font-size:1.25rem;line-height:1.75rem}
.text-2xl{font-size:1.5rem;line-height:2rem}
.text-3xl{font-size:1.875rem;line-height:2.25rem}
.text-4xl{font-size:2.25rem;line-height:2.5rem}
.text-5xl{font-size:3rem;line-height:1}
.text-6xl{font-size:3.75rem;line-height:1}
.text-8xl{font-size:6rem;line-height:1}
.font-bold{font-weight:700}
.font-extrabold{font-weight:800}
.font-medium{font-weight:500}
.font-semibold{font-weight:600}
.leading-relaxed{line-height:1.625}
.text-white{color:rgb(255 255 255)}
.text-gray-300{color:rgb(209 213 219)}
.shadow-lg{box-shadow:0 10px 15px -3px rgb(0 0 0 / 0.1),0 4px 6px -4px rgb(0 0 0 / 0.1)}
.shadow-2xl{box-shadow:0 25px 50px -12px rgb(0 0 0 / 0.25)}
.transition-all{transition-property:all;transition-timing-function:cubic-bezier(0.4,0,0.2,1);transition-duration:150ms}
.duration-300{transition-duration:300ms}
.hover\:scale-105:hover{transform:scale(1.05)}
.hover\:scale-110:hover{transform:scale(1.1)}

@media (min-width: 640px) {
  .sm\:text-lg{font-size:1.125rem;line-height:1.75rem}
  .sm\:text-xl{font-size:1.25rem;line-height:1.75rem}
  .sm\:text-2xl{font-size:1.5rem;line-height:2rem}
  .sm\:text-5xl{font-size:3rem;line-height:1}
  .sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}
  .sm\:px-8{padding-left:2rem;padding-right:2rem}
  .sm\:py-4{padding-top:1rem;padding-bottom:1rem}
  .sm\:w-auto{width:auto}
  .sm\:w-12{width:3rem}
  .sm\:h-12{height:3rem}
  .sm\:space-x-3>:not([hidden])~:not([hidden]){margin-left:0.75rem}
}

@media (min-width: 768px) {
  .md\:text-2xl{font-size:1.5rem;line-height:2rem}
  .md\:text-3xl{font-size:1.875rem;line-height:2.25rem}
  .md\:text-6xl{font-size:3.75rem;line-height:1}
  .md\:text-7xl{font-size:4.5rem;line-height:1}
  .md\:flex{display:flex}
  .md\:hidden{display:none}
  .md\:flex-row{flex-direction:row}
  .md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
  .md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
  .md\:space-y-0>:not([hidden])~:not([hidden]){margin-top:0}
  .md\:space-x-6>:not([hidden])~:not([hidden]){margin-left:1.5rem}
}

@media (min-width: 1024px) {
  .lg\:text-2xl{font-size:1.5rem;line-height:2rem}
  .lg\:text-3xl{font-size:1.875rem;line-height:2.25rem}
  .lg\:text-8xl{font-size:6rem;line-height:1}
}

.w-10{width:2.5rem}
.h-10{height:2.5rem}
.w-12{width:3rem}
.h-12{height:3rem}
.text-base{font-size:1rem;line-height:1.5rem}
.text-sm{font-size:0.875rem;line-height:1.25rem}
.p-2{padding:0.5rem}
.py-2{padding-top:0.5rem;padding-bottom:0.5rem}
.object-cover{object-fit:cover}
.gap-4{gap:1rem}
.gap-8{gap:2rem}
.gap-12{gap:3rem}
.max-w-3xl{max-width:48rem}
.max-w-4xl{max-width:56rem}
.mx-auto{margin-left:auto;margin-right:auto}
.overflow-hidden{overflow:hidden}
.top-0{top:0}
.pt-20{padding-top:5rem}
.flex-col{flex-direction:column}
.w-full{width:100%}
.border-b{border-bottom-width:1px}