:root{
  --navy:#0A2740;
  --coral:#D94E4E;
  --stone:#F2EFEA;
  --charcoal:#2F2F2F;
  --ff-head:"Libre Franklin", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  --ff-body:"Libre Baskerville", Georgia, "Times New Roman", serif;
  --radius-xl: 1.25rem;
  --shadow-soft: 0 10px 30px rgba(10,39,64,.10);
  --border-soft: 1px solid rgba(10,39,64,.12);
}

body{ font-family: var(--ff-body); color: var(--charcoal); background:#fff; }
h1,h2,h3,h4,h5,.navbar,.btn,.badge,.nav-link{ font-family: var(--ff-head); }

.text-navy{ color: var(--navy); }
.text-coral{ color: var(--coral); }
.border-soft{ border: var(--border-soft); }
.shadow-soft{ box-shadow: var(--shadow-soft); }
.rounded-xl{ border-radius: var(--radius-xl); }

.navbar{ background: var(--stone); border-bottom: var(--border-soft); }
.navbar .nav-link{ color: var(--navy); font-weight: 600; opacity:.92; }
.navbar .nav-link:hover,.navbar .nav-link:focus{ color: var(--coral); opacity:1; }
.brand-mark{ display:flex; align-items:center; }
.brand-mark img{ height: 46px; width:auto; display:block; }

.btn-coral{
  --bs-btn-bg: var(--coral);
  --bs-btn-border-color: var(--coral);
  --bs-btn-hover-bg: #c64040;
  --bs-btn-hover-border-color: #c64040;
  --bs-btn-color: #fff;
  --bs-btn-hover-color: #fff;
  box-shadow: 0 8px 18px rgba(217,78,78,.22);
}
.btn-navy-outline{
  --bs-btn-color: var(--navy);
  --bs-btn-border-color: rgba(10,39,64,.35);
  --bs-btn-hover-bg: var(--navy);
  --bs-btn-hover-border-color: var(--navy);
  --bs-btn-hover-color: #fff;
}

footer{ background: var(--navy); color: rgba(255,255,255,.88); }
footer a{ color: rgba(255,255,255,.88); text-decoration:none; }
footer a:hover{ color:#fff; text-decoration:underline; }
.footer-card{ border: 1px solid rgba(255,255,255,.10); background: rgba(255,255,255,.04); }
.footer-brand{ display:flex; gap:.9rem; align-items:center; }
.footer-brand img{
  width:46px;height:46px;border-radius:16px;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.10);
  padding:.5rem; object-fit:contain;
}
.social a{
  width:42px;height:42px;display:grid;place-items:center;border-radius:14px;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.10);
}
.social a:hover{ background: rgba(255,255,255,.10); text-decoration:none; }
