/* Vercel Geist Design System Implementation */

:root {
  /* Colors */
  --geist-foreground: #171717;
  --geist-background: #ffffff;
  --geist-gray-900: #171717;
  --geist-gray-600: #4d4d4d;
  --geist-gray-500: #666666;
  --geist-gray-400: #808080;
  --geist-gray-100: #ebebeb;
  --geist-gray-50: #fafafa;
  
  --geist-blue: #0072f5;
  --develop-blue: #0a72ef;
  --ship-red: #ff5b4f;
  
  /* Shadows */
  --geist-shadow-border: rgba(0, 0, 0, 0.08) 0px 0px 0px 1px;
  --geist-shadow-subtle: rgba(0, 0, 0, 0.04) 0px 2px 2px;
  --geist-shadow-card: 
    rgba(0, 0, 0, 0.08) 0px 0px 0px 1px, 
    rgba(0, 0, 0, 0.04) 0px 2px 2px, 
    rgba(0, 0, 0, 0.04) 0px 8px 8px -8px, 
    #fafafa 0px 0px 0px 1px;
}

/* Global Reset & Typography */
body {
  font-family: 'Geist Sans', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  color: var(--geist-foreground);
  background-color: var(--geist-background);
  line-height: 1.56;
  font-feature-settings: "liga" 1;
  -webkit-font-smoothing: antialiased;
}

/* Header & Headings */
h1, h2, h3, h4 {
  color: var(--geist-gray-900);
  font-weight: 600;
  font-feature-settings: "liga" 1;
}

h1 {
  letter-spacing: -2.88px; /* Aggressive tracking per DESIGN.md */
  line-height: 1.1;
}

h2 {
  letter-spacing: -2.4px;
  line-height: 1.2;
}

h3 {
  letter-spacing: -1.28px;
}

/* Tracking Utilities */
.negative-tracking-xl { letter-spacing: -2.88px; }
.negative-tracking-lg { letter-spacing: -2.4px; }
.negative-tracking-md { letter-spacing: -1.28px; }
.negative-tracking-sm { letter-spacing: -0.32px; }

/* Components */
.mono {
  font-family: 'Geist Mono', ui-monospace, SFMono-Regular, Roboto Mono, Menlo, Monaco, Liberation Mono, DejaVu Sans Mono, monospace;
  font-feature-settings: "liga" 1;
}

.shadow-border {
  box-shadow: var(--geist-shadow-border);
}

.card-shadow {
  box-shadow: var(--geist-shadow-card);
  transition: box-shadow 0.2s ease, transform 0.2s ease;
}

.card-shadow:hover {
  box-shadow: 
    rgba(0, 0, 0, 0.12) 0px 0px 0px 1px, 
    rgba(0, 0, 0, 0.08) 0px 4px 4px, 
    rgba(0, 0, 0, 0.04) 0px 12px 12px -8px, 
    #fafafa 0px 0px 0px 1px;
}

/* Link Style */
a {
  transition: color 0.15s ease;
}

.contact-link {
  color: var(--geist-gray-600);
  text-decoration: none;
  position: relative;
}

.contact-link:hover {
  color: var(--geist-gray-900);
}

/* Badge / Pill Style */
.badge-pill {
  border-radius: 9999px;
  font-size: 12px;
  font-weight: 500;
  padding: 2px 10px;
  box-shadow: var(--geist-shadow-border);
}

/* Special Emphasis */
.accent-blue {
  color: var(--develop-blue);
}

/* Section Spacing */
section {
  border-bottom: 0px; /* Use shadow for dividers if needed, but here we use whitespace */
}

/* Loading State */
#loader {
  background: var(--geist-background);
}

/* Print Overrides */
@media print {
  body {
    background-color: white;
    font-size: 11pt;
  }
  .no-print {
    display: none;
  }
  .shadow-border, .card-shadow {
    box-shadow: none !important;
    border: 1px solid var(--geist-gray-100) !important;
  }
  h1 { letter-spacing: -1px; }
  h2 { letter-spacing: -0.5px; }
}
