/* ── Hvillas-inspired palette (https://thewebmax.org/hvillas/) ── */
:root {
  --hv-primary: #e2791d;
  --hv-primary-dark: #c86815;
  --hv-primary-light: #f4a04a;
  --hv-bg: #f9f3ea;
  --hv-bg-alt: #f1ebe3;
  --hv-text: #443935;
  --hv-text-muted: #797979;
  --hv-text-soft: #6a6560;
  --hv-border: #e0d8cc;
  --hv-white: #ffffff;
}

body {
  background-color: var(--hv-bg) !important;
  color: var(--hv-text-muted);
}

/* Tailwind utility overrides */
.bg-surface,
.bg-background { background-color: var(--hv-bg) !important; }
.bg-surface-container-low { background-color: var(--hv-bg-alt) !important; }
.bg-surface-container-lowest,
.bg-surface-container { background-color: var(--hv-white) !important; }
.text-on-background,
.text-on-surface { color: var(--hv-text) !important; }
.text-on-surface-variant { color: var(--hv-text-soft) !important; }
.text-secondary { color: var(--hv-text-muted) !important; }
.text-primary { color: var(--hv-primary) !important; }
.bg-primary { background-color: var(--hv-primary) !important; }
.border-primary { border-color: var(--hv-primary) !important; }
.text-on-primary { color: var(--hv-white) !important; }
.bg-primary-container,
.hover\:bg-primary-container:hover { background-color: var(--hv-primary-dark) !important; }
.border-outline-variant { border-color: var(--hv-border) !important; }

.gold-line {
  background: linear-gradient(90deg, var(--hv-primary), var(--hv-primary-light), var(--hv-primary)) !important;
}

.industry-icon-wrap {
  background: linear-gradient(135deg, rgba(226, 121, 29, 0.1) 0%, rgba(244, 160, 74, 0.15) 100%) !important;
  border-color: rgba(226, 121, 29, 0.25) !important;
}
.industry-item:hover .industry-icon-wrap { background: var(--hv-primary) !important; }
.industry-item:hover .industry-icon-wrap .material-symbols-outlined,
.industry-item:hover .industry-icon-wrap span {
  color: var(--hv-white, #fff) !important;
}

.process-line {
  background: linear-gradient(90deg, var(--hv-primary) 0%, var(--hv-primary-light) 50%, var(--hv-primary) 100%) !important;
}

.luxury-shadow-hover:hover {
  box-shadow: 0 28px 56px rgba(226, 121, 29, 0.12) !important;
}

/* Nav */
#main-nav.nav-top {
  background: rgba(255, 255, 255, 0.92) !important;
  box-shadow: 0 1px 0 var(--hv-border) !important;
}
#main-nav.nav-top .nav-logo { color: var(--hv-primary) !important; }
#main-nav .nav-logo img { display: block; }
#main-nav.nav-top .nav-link { color: var(--hv-text-muted) !important; }
#main-nav.nav-top .nav-link:hover,
#main-nav.nav-top .nav-link.active { color: var(--hv-primary) !important; }
#main-nav.nav-top .nav-link.active { border-color: var(--hv-primary) !important; }
#main-nav.nav-top .nav-cta {
  background: var(--hv-primary) !important;
  color: var(--hv-white) !important;
}

/* Page heroes */
.page-hero-overlay,
.hero-overlay {
  background:
    linear-gradient(135deg, rgba(249, 243, 234, 0.94) 0%, rgba(249, 243, 234, 0.82) 45%, rgba(249, 243, 234, 0.55) 100%),
    radial-gradient(ellipse at 80% 20%, rgba(226, 121, 29, 0.12) 0%, transparent 55%) !important;
}

/* CTA bands */
.cta-band {
  background: linear-gradient(135deg, var(--hv-bg) 0%, var(--hv-white) 50%, var(--hv-bg)) !important;
  border-color: var(--hv-border) !important;
}
.cta-band::before {
  background: radial-gradient(ellipse at 30% 50%, rgba(226, 121, 29, 0.15) 0%, transparent 60%) !important;
}

/* Preloader accents */
#page-preloader { background: var(--hv-bg) !important; }
#page-preloader::before {
  background: radial-gradient(ellipse at 50% 40%, rgba(226, 121, 29, 0.2) 0%, transparent 65%) !important;
}
.preloader-brand { color: var(--hv-text) !important; }
.preloader-brand span { color: var(--hv-primary) !important; }
.preloader-tagline { color: var(--hv-text-soft) !important; }
.preloader-progress { background: rgba(226, 121, 29, 0.12) !important; }
.preloader-progress-bar {
  background: linear-gradient(90deg, var(--hv-primary), var(--hv-primary-light), var(--hv-primary)) !important;
}
.fabric-thread::after { background: linear-gradient(90deg, var(--hv-bg) 0%, transparent 100%) !important; }
