/* Dupuy Investment Capital — shared base styles.
   Brand tokens and site-wide rules live here so a colour or button change is a
   one-file edit. Page-specific CSS stays in each page's inline <style> block,
   which loads after this file and therefore still wins on any conflict. */

:root {
  --navy: #10233F;
  --bone: #F7F5F1;
  --ink: #1A1A1A;
  --gold-primary: #B38A51;
  --gold-dark: #8F6B3F;
  --gold-light: #D7BC91;
  --gold-soft-bg: #F5EDE1;
  --gold-border: rgba(179, 138, 81, .28);
  --error: #B3261E;
}

* { box-sizing: border-box; }

body {
  margin: 0;
  background: var(--bone);
  font-family: 'Inter', system-ui, sans-serif;
  color: var(--ink);
}

a { color: var(--gold-primary); }
a:hover { color: var(--gold-primary); }

input, textarea, select { font-family: 'Inter', sans-serif; }

/* Visible keyboard focus for accessibility. */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
  outline: 3px solid var(--gold-primary);
  outline-offset: 2px;
}

input:focus, textarea:focus, select:focus {
  border-color: var(--gold-primary);
  outline: none;
}

/* Primary call-to-action button. */
.fc-btn-gold {
  background: linear-gradient(135deg, #A97D45 0%, #B38A51 55%, #C49A61 100%) !important;
  box-shadow: 0 10px 25px rgba(179, 138, 81, .22);
  transition: background 220ms ease, transform 180ms ease, box-shadow 220ms ease;
}
.fc-btn-gold:hover {
  background: linear-gradient(135deg, #8F6B3F 0%, #A97D45 55%, #B38A51 100%) !important;
  transform: translateY(-2px);
  box-shadow: 0 14px 30px rgba(179, 138, 81, .32);
}
.fc-btn-gold:active {
  background: var(--gold-dark) !important;
  transform: translateY(0);
  box-shadow: 0 6px 16px rgba(179, 138, 81, .24);
}
.fc-btn-gold:disabled,
.fc-btn-gold[disabled] {
  transform: none !important;
  box-shadow: none !important;
  filter: saturate(.6);
}

/* Navigation dropdown. */
.nav-services:hover .services-dropdown,
.nav-services.open .services-dropdown {
  opacity: 1 !important;
  visibility: visible !important;
  transform: translate(-50%, 0) !important;
}
.nav-services:hover .chevron,
.nav-services.open .chevron { transform: rotate(180deg); }

.services-dropdown a { transition: background 220ms ease, color 220ms ease; }
.services-dropdown a:hover { background: #93743F !important; color: #fff !important; }
.services-dropdown a:active { background: #7D6335 !important; color: #fff !important; }

@media (max-width: 1100px) {
  .dsk-nav { display: none !important; }
}

/* Form validation messaging. */
[data-form-error] { color: var(--error); }

@keyframes fadeUp {
  from { opacity: 0; transform: translateY(14px); }
  to { opacity: 1; transform: translateY(0); }
}

@media (prefers-reduced-motion: reduce) {
  * {
    animation-duration: 0.001ms !important;
    transition-duration: 0.001ms !important;
  }
}

/* Footer grid: the four-column layout has no room below ~900px, and long link
   text ("Residential Flip") can force horizontal overflow on narrow phones. */
@media (max-width: 900px) {
  .footer-grid { grid-template-columns: 1fr 1fr !important; gap: 28px !important; }
}
@media (max-width: 560px) {
  .footer-grid { grid-template-columns: 1fr !important; gap: 26px !important; }
}
