:root{
  --smc-navy: #021859;
  --smc-teal: #023059;
  --smc-g600: #0D4019;
  --smc-g400: #3D734A;
  --smc-gray: #F2F2F2;

  --bg: #ffffff;
  --text: #1a1a1a;
  --muted: #525252;
  --brand: var(--smc-navy);
  --brand-2: var(--smc-teal);
  --accent: var(--smc-g400);
  --accent-dark: var(--smc-g600);
  --header-bg: var(--smc-navy);
  --header-link: #dfe8ff;
  --footer-bg: #0f172a;
  --footer-text: #cbd5e1;
  --border: #e5e7eb;
  --shadow: 0 6px 18px rgba(0,0,0,.08);
}

* { box-sizing: border-box; }
body { margin:0; font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif; color: var(--text); background: var(--bg); }
a { text-decoration: none; }

.container { width: min(1100px, 92%); margin: 0 auto; }

/* Header */
.site-header { background: var(--header-bg); color:#fff; }
.header-row { display:flex; align-items:center; justify-content:space-between; padding: 12px 0; }
.brand img{ display:block; }
.menu ul{ display:flex; gap:18px; list-style:none; margin:0; padding:0; }
.menu a{ color: var(--header-link); }
.menu a:hover{ color:#fff; }

/* Banner */
.banner { position:relative; height: 420px; display:grid; place-items:center; overflow:hidden; }
.banner-overlay { position:relative; text-align:center; color:#fff; padding:0 16px; }
.banner-overlay h1{ font-size: clamp(28px, 5vw, 44px); line-height:1.1; }
.actions{ margin-top: 14px; display:flex; gap:12px; justify-content:center; flex-wrap:wrap; }

/* Buttons */
.btn{ display:inline-block; padding:10px 16px; border-radius:8px; box-shadow: var(--shadow); background:#fff; color: var(--brand); border:1px solid var(--border); }
.btn:hover{ filter: brightness(.98); }
.btn-primary{ background: var(--accent); color:#fff; border-color: transparent; }
.btn-primary:hover{ background: var(--accent-dark); }
.btn-ghost{ background: transparent; color:#fff; border:1px solid rgba(255,255,255,.55); }
.btn-ghost:hover{ background: rgba(255,255,255,.1); }

/* Sections */
.content-block{ padding: 40px 0; }
.section-muted{ background: var(--smc-gray); }

/* Grid & Cards */
.grid{ display:grid; gap:20px; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); }
.card{ background:#fff; border:1px solid var(--border); border-radius:12px; padding:18px; box-shadow: var(--shadow); }
.card h3{ color: var(--brand-2); margin: 0 0 8px; }
.card .icon{ width:40px; height:40px; border-radius:8px; background: linear-gradient(135deg, var(--brand) 0%, var(--brand-2) 100%); margin-bottom:8px; }

/* Footer */
.site-footer { background: var(--footer-bg); color: var(--footer-text); margin-top: 50px; }
.footer-grid { display:grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 26px; padding: 28px 0; }
.footer-col h4 { color:#fff; margin:0 0 8px; font-size:16px; }
.footer-col ul { list-style:none; margin:0; padding:0; }
.footer-col a { color: var(--footer-text); }
.footer-col a:hover { color:#fff; }
.logo-col { display:flex; flex-direction:column; align-items:flex-start; }
.small{ font-size: 13px; }
.center{ text-align:center; }

/* Forms */
.form .grid{ grid-template-columns: repeat(auto-fit,minmax(240px,1fr)); }
.form-group{ display:flex; flex-direction:column; gap:6px; margin-bottom:12px; }
.form-group input, .form-group select, .form-group textarea{ padding:10px 12px; border:1px solid var(--border); border-radius:8px; }
.span-2{ grid-column: span 2; }
@media (max-width: 560px){ .span-2{ grid-column: auto; }}
