@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;500;600;700;800;900&family=Montserrat:wght@300;400;500;600;700;800;900&family=Inter:wght@300;400;500;600&family=IBM+Plex+Mono:wght@400;500&display=swap');

@tailwind base;
@tailwind components;
@tailwind utilities;

@layer base {
  :root {
    --background: 220 15% 12%;
    --foreground: 0 0% 96%;
    --card: 220 15% 14%;
    --card-foreground: 0 0% 96%;
    --popover: 220 15% 14%;
    --popover-foreground: 0 0% 96%;
    --primary: 43 55% 57%;
    --primary-foreground: 220 15% 12%;
    --secondary: 220 12% 20%;
    --secondary-foreground: 0 0% 96%;
    --muted: 220 10% 22%;
    --muted-foreground: 30 8% 70%;
    --accent: 43 55% 57%;
    --accent-foreground: 220 15% 12%;
    --destructive: 0 84.2% 60.2%;
    --destructive-foreground: 0 0% 98%;
    --border: 43 55% 57%;
    --input: 220 10% 25%;
    --ring: 43 55% 57%;
    --radius: 1.375rem;
  }
}

@layer base {
  * {
    @apply border-border;
  }
  
  html {
    scroll-behavior: smooth;
  }
  
  body {
    @apply bg-[#14161B] text-[#F5F5F5] antialiased;
    font-family: 'Inter', sans-serif;
  }
  
  h1, h2, h3, h4, h5, h6 {
    font-family: 'Montserrat', sans-serif;
  }
  
  .font-serif {
    font-family: 'Playfair Display', serif;
  }
  
  .font-mono {
    font-family: 'IBM Plex Mono', monospace;
  }
}

@layer components {
  .gold-frame {
    @apply absolute border-2 border-[#C9A45C] rounded-[22px] pointer-events-none;
    inset: 2.5vw;
  }
  
  @media (max-width: 768px) {
    .gold-frame {
      inset: 16px;
    }
  }
  
  .text-gradient-gold {
    @apply bg-gradient-to-r from-[#C9A45C] via-[#E5C88C] to-[#C9A45C] bg-clip-text text-transparent;
  }
  
  .btn-primary {
    @apply px-8 py-4 bg-[#C9A45C] text-[#14161B] font-semibold text-sm tracking-wider uppercase
           transition-all duration-300 hover:bg-[#E5C88C] hover:-translate-y-0.5
           active:scale-[0.98] rounded-sm;
  }
  
  .btn-secondary {
    @apply px-8 py-4 border-2 border-[#C9A45C] text-[#C9A45C] font-semibold text-sm tracking-wider uppercase
           transition-all duration-300 hover:bg-[#C9A45C] hover:text-[#14161B] hover:-translate-y-0.5
           active:scale-[0.98] rounded-sm;
  }
  
  .glass-header {
    @apply backdrop-blur-xl bg-[#14161B]/85 border-b border-[#C9A45C]/20;
  }
  
  .grain-overlay {
    @apply fixed inset-0 pointer-events-none z-50 opacity-[0.04];
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");
    mix-blend-mode: overlay;
  }
  
  .section-pinned {
    @apply relative w-full min-h-screen overflow-hidden;
  }
  
  .headline-display {
    @apply font-black uppercase tracking-[-0.02em] leading-[0.95];
    font-size: clamp(36px, 5vw, 72px);
  }
  
  .body-text {
    @apply text-[#B8B2AA] leading-relaxed;
    font-size: clamp(14px, 1.1vw, 17px);
  }
  
  .vertical-label {
    @apply absolute text-xs tracking-[0.12em] uppercase text-[#B8B2AA] font-mono;
    writing-mode: vertical-rl;
    text-orientation: mixed;
    right: 3.2vw;
    top: 50%;
    transform: translateY(-50%) rotate(180deg);
  }
  
  .form-input {
    @apply w-full px-5 py-4 bg-[#1A1D24]/80 border border-[#C9A45C]/30 rounded-lg
           text-[#F5F5F5] placeholder:text-[#B8B2AA]/50
           focus:outline-none focus:border-[#C9A45C] focus:ring-1 focus:ring-[#C9A45C]
           transition-all duration-300;
  }
  
  .card-hover {
    @apply transition-all duration-500 hover:border-[#C9A45C]/60 hover:shadow-xl hover:shadow-[#C9A45C]/10;
  }
}

@layer utilities {
  .text-balance {
    text-wrap: balance;
  }
}
