:root {
  --stitch-navy: #061525;
  --stitch-navy-2: #0d2438;
  --stitch-gold: #c8a24a;
  --stitch-gold-soft: #f4df9a;
  --stitch-paper: #f7f5ef;
  --stitch-card: #ffffff;
  --stitch-text: #111827;
  --stitch-muted: #5f6b7a;
  --stitch-line: rgba(15, 23, 42, .14);
  --stitch-radius: 22px;
  --stitch-shadow: 0 22px 55px rgba(2, 8, 23, .16);
}

/* Global theme layer only. Content/pages remain original. */
html {
  scroll-behavior: smooth;
}

body {
  background:
    radial-gradient(circle at top left, rgba(200,162,74,.15), transparent 34rem),
    linear-gradient(180deg, #fffaf0 0%, var(--stitch-paper) 42%, #ffffff 100%) !important;
  color: var(--stitch-text) !important;
}

header,
nav,
.navbar,
.site-header,
.header,
.top-bar,
.topbar {
  background: rgba(6, 21, 37, .96) !important;
  color: #fff !important;
  border-bottom: 1px solid rgba(200,162,74,.34) !important;
  box-shadow: 0 10px 30px rgba(2, 8, 23, .18) !important;
}

header a,
nav a,
.navbar a,
.site-header a,
.header a {
  color: #fff !important;
}

.hero,
.hero-section,
.banner,
.home-hero,
main section:first-of-type {
  background:
    linear-gradient(110deg, rgba(6,21,37,.95), rgba(13,36,56,.82)),
    radial-gradient(circle at 82% 20%, rgba(200,162,74,.28), transparent 26rem) !important;
  color: #fff !important;
  border-bottom: 4px solid var(--stitch-gold) !important;
}

.hero *,
.hero-section *,
.banner *,
.home-hero *,
main section:first-of-type * {
  color: inherit;
}

h1, h2, h3 {
  letter-spacing: -0.035em;
}

h1 {
  color: inherit;
  text-wrap: balance;
}

h2 {
  color: var(--stitch-navy) !important;
}

section,
.card,
.service-card,
.feature,
.box,
.panel,
.content-box,
article {
  border-radius: var(--stitch-radius);
}

.card,
.service-card,
.feature,
.box,
.panel,
.content-box {
  background: var(--stitch-card) !important;
  border: 1px solid var(--stitch-line) !important;
  box-shadow: var(--stitch-shadow) !important;
}

a[href^="tel:"],
button,
.btn,
.button,
.cta,
.call-button,
.primary-button,
input[type="submit"] {
  background: linear-gradient(135deg, var(--stitch-gold), var(--stitch-gold-soft)) !important;
  color: #101827 !important;
  border: 0 !important;
  border-radius: 999px !important;
  font-weight: 800 !important;
  box-shadow: 0 12px 28px rgba(200,162,74,.28) !important;
  text-decoration: none !important;
}

a[href^="tel:"]:hover,
button:hover,
.btn:hover,
.button:hover,
.cta:hover,
.call-button:hover,
.primary-button:hover,
input[type="submit"]:hover {
  filter: brightness(1.04);
  transform: translateY(-1px);
}

input,
textarea,
select {
  border: 1px solid var(--stitch-line) !important;
  border-radius: 14px !important;
  background: #fff !important;
  color: var(--stitch-text) !important;
}

footer,
.site-footer {
  background: var(--stitch-navy) !important;
  color: #dbe5f1 !important;
  border-top: 3px solid var(--stitch-gold) !important;
}

footer a,
.site-footer a {
  color: #fff !important;
}

.stitch-theme-badge {
  background: linear-gradient(135deg, var(--stitch-navy), var(--stitch-navy-2));
  color: white;
  border: 1px solid rgba(200,162,74,.35);
  border-radius: 20px;
  padding: 18px 20px;
  margin: 18px auto;
  max-width: 1180px;
  box-shadow: var(--stitch-shadow);
}

.stitch-theme-badge strong {
  color: var(--stitch-gold-soft);
}

@media (max-width: 768px) {
  .hero,
  .hero-section,
  .banner,
  .home-hero,
  main section:first-of-type {
    padding-top: 42px !important;
    padding-bottom: 42px !important;
  }
}
