/* ==========================================================================
   Nova Softwares — Pure CSS Stylesheet & Design System
   ========================================================================== */

@import url('https://fonts.googleapis.com/css2?family=Outfit:wght@500;600;700;800;900&family=Plus+Jakarta+Sans:wght@400;500;600;700;800&display=swap');

:root {
  --color-parchment: #F7F5F0;
  --color-linen: #EFECE4;
  --color-espresso: #231F1D;
  --color-terracotta: #C8321A;
  --color-navy: #1E293B;
  --font-display: 'Outfit', sans-serif;
  --font-sans: 'Plus Jakarta Sans', sans-serif;
  --font-logo: 'Georgia', 'Times New Roman', serif;
}

body {
  background-color: var(--color-parchment);
  color: var(--color-espresso);
  font-family: var(--font-sans);
  overflow-x: hidden;
}

/* Architectural Blueprint Crosshair & Grid Background Overlay */
.unique-architectural-pattern {
  background-image: 
    radial-gradient(rgba(35, 31, 29, 0.12) 1px, transparent 1px),
    linear-gradient(to right, rgba(35, 31, 29, 0.04) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(35, 31, 29, 0.04) 1px, transparent 1px);
  background-size: 24px 24px, 48px 48px, 48px 48px;
}

.unique-crosshair-overlay {
  background-image: url("data:image/svg+xml,%3Csvg width='80' height='80' viewBox='0 0 80 80' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23231F1D' fill-opacity='0.07'%3E%3Cpath d='M0 0h2v10H0V0zm0 0h10v2H0V0zm80 0h-10v2h10V0zm0 0v10h-2V0h2zm0 80h-2V70h2v10zm0 0h-10v-2h10v2zM0 80h10v-2H0v2zm0 0v-10h2v10H0z'/%3E%3Ccircle cx='40' cy='40' r='1.5'/%3E%3C/g%3E%3C/svg%3E");
}

/* Sharp Editorial Card Surfaces */
.sharp-card {
  background-color: #ffffff;
  border: 1px solid #e4e4e7;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.04);
  transition: all 0.25s ease;
}
.sharp-card:hover {
  border-color: var(--color-terracotta);
}

.sharp-card-dark {
  background-color: var(--color-espresso);
  color: var(--color-parchment);
  border: 1px solid var(--color-espresso);
  box-shadow: 4px 4px 0px 0px var(--color-terracotta);
}

/* Standard Buttons */
.sharp-btn-primary {
  background-color: var(--color-espresso);
  color: var(--color-parchment) !important;
  border: 1px solid var(--color-espresso);
  box-shadow: 3px 3px 0px 0px var(--color-terracotta);
  transition: all 0.2s ease;
}
.sharp-btn-primary:hover {
  background-color: var(--color-terracotta);
  color: #ffffff !important;
  border-color: var(--color-terracotta);
  box-shadow: 3px 3px 0px 0px var(--color-espresso);
  transform: translate(-1px, -1px);
}

.sharp-btn-secondary {
  background-color: #ffffff;
  color: var(--color-espresso) !important;
  border: 1px solid #e4e4e7;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
  transition: all 0.2s ease;
}
.sharp-btn-secondary:hover {
  background-color: var(--color-linen);
  color: var(--color-espresso) !important;
  border-color: var(--color-espresso);
  transform: translate(-1px, -1px);
}

/* Dedicated CTA Section Buttons */
.sharp-btn-cta-primary {
  background-color: var(--color-terracotta);
  color: #ffffff !important;
  border: 1px solid var(--color-terracotta);
  box-shadow: 3px 3px 0px 0px #ffffff;
  transition: all 0.2s ease;
}
.sharp-btn-cta-primary:hover {
  background-color: #ffffff;
  color: var(--color-espresso) !important;
  border-color: #ffffff;
  box-shadow: 3px 3px 0px 0px var(--color-terracotta);
  transform: translate(-1px, -1px);
}

.sharp-btn-cta-secondary {
  background-color: transparent;
  color: #ffffff !important;
  border: 1px solid #ffffff;
  box-shadow: 3px 3px 0px 0px var(--color-terracotta);
  transition: all 0.2s ease;
}
.sharp-btn-cta-secondary:hover {
  background-color: #ffffff;
  color: var(--color-espresso) !important;
  border-color: #ffffff;
  box-shadow: 3px 3px 0px 0px var(--color-espresso);
  transform: translate(-1px, -1px);
}

/* Marquee Keyframe */
@keyframes marquee {
  0% { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}
.animate-marquee {
  animation: marquee 40s linear infinite;
}
