
/* Digital Goshen — Shared Styles (Fill Build) */
/* Colors */
:root {
  --gold: #D4AF37;
  --navy: #0B1B3B;
  --blue: #1F4E79;
  --wheat: #E8D9A8;
  --ink: #111827;
  --white: #FFFFFF;
}

* { box-sizing: border-box; }
html, body { margin: 0; padding: 0; font-family: system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif; color: var(--ink); background: #fff; }

.container { width: 100%; max-width: 1120px; margin: 0 auto; padding: 24px; }

a { color: var(--blue); text-decoration: none; }
a:hover { text-decoration: underline; }

.navbar { background: linear-gradient(90deg, var(--navy), var(--blue)); color: var(--white); }
.navbar .wrap { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 14px 24px; }
.brand { display: flex; align-items: center; gap: 12px; }
.brand__logo { width: 28px; height: 28px; border-radius: 50%; background: var(--gold); box-shadow: 0 0 0 3px rgba(255,255,255,0.12) inset; }
.brand__name { font-weight: 700; letter-spacing: 0.3px; }

.nav { display: flex; gap: 18px; align-items: center; }
.nav a { color: var(--white); opacity: 0.92; font-weight: 500; }
.nav a.cta { background: var(--gold); color: #1b1b1b; padding: 8px 14px; border-radius: 999px; text-decoration: none; box-shadow: 0 2px 0 rgba(0,0,0,0.15); }
.nav a.cta:hover { transform: translateY(-1px); box-shadow: 0 3px 0 rgba(0,0,0,0.18); }

.hero--slim { background: linear-gradient(180deg, rgba(11,27,59,0.9), rgba(31,78,121,0.85)), url('images/hero-texture.jpg'); background-size: cover; color: var(--white); padding: 56px 0; }
.hero--slim h1 { margin: 0 0 8px; font-size: 34px; line-height: 1.2; }
.hero--slim p { margin: 0; opacity: 0.95; max-width: 860px; }

.section { padding: 40px 0; }
.section h2 { font-size: 28px; margin: 0 0 10px; }
.subtle { color: #4B5563; }

.grid { display: grid; gap: 20px; }
.grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }

@media (max-width: 900px) {
  .grid--2, .grid--3 { grid-template-columns: 1fr; }
  .navbar .wrap { flex-wrap: wrap; }
  .nav { flex-wrap: wrap; }
}

.card { border: 1px solid #E5E7EB; border-radius: 16px; padding: 20px; background: #fff; box-shadow: 0 4px 14px rgba(0,0,0,0.04); }
.badge { display: inline-block; background: var(--wheat); color: #6B4B1D; padding: 4px 10px; border-radius: 999px; font-size: 12px; font-weight: 600; letter-spacing: .2px; }

hr.divider { border: 0; height: 1px; background: #E5E7EB; margin: 24px 0; }

.footer { background: #0f1f3f; color: var(--white); }
.footer .wrap { padding: 28px 24px; display: flex; gap: 12px; align-items: center; justify-content: space-between; flex-wrap: wrap; }
.footer a { color: var(--wheat); }
.small { font-size: 13px; opacity: 0.9; }

.form { display: grid; gap: 14px; max-width: 640px; }
.input, textarea { width: 100%; padding: 12px 14px; border: 1px solid #D1D5DB; border-radius: 12px; outline: none; font-size: 16px; }
.input:focus, textarea:focus { border-color: var(--blue); box-shadow: 0 0 0 4px rgba(31,78,121,0.1); }
.button { background: var(--gold); color: #1b1b1b; padding: 12px 18px; border-radius: 12px; border: none; cursor: pointer; font-weight: 700; }
.button:hover { filter: brightness(1.02); transform: translateY(-1px); }
.notice { background: #F9FAFB; border: 1px solid #E5E7EB; padding: 14px; border-radius: 12px; }
