:root{ --brand:#1C3D73; --brand-rgb:28,61,115;
--accent:#1C3D73;     /* warm gold accent */
  --white-80: rgba(255,255,255,.85);
--muted:#6b7280; }



/* Bigger logo + override Bootstrap's cap */
:root{
  --logo-h-desktop: 96px;   /* try 88–110px */
  --logo-h-mobile:  64px;   /* mobile size */
}




:root{
  --brand:#1C3D73;   /* deep blue */
  --gold:#F2B441;    /* warm gold */
  --bg:#f7fafc;
  --card:#ffffff;
  --text:#0f172a;
  --muted:#64748b;
  --border:#e5e7eb;
  --radius:16px;
}





:root{
  --brand:#1C3D73;           /* your brand color */
  --brand-ink:#ffffff;       /* text on brand */
  --brand-hover:#174061;     /* darker hover */
  --radius:10px;
}

/* Primary CTA button */
.btn-brand{
  background:var(--brand);
  color:var(--brand-ink);
  border:0;
  border-radius:var(--radius);
  padding:.6rem 1rem;
  font-weight:700;
  letter-spacing:.02em;
  line-height:1.2;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-decoration:none;
}
.btn-brand:hover,
.btn-brand:focus{
  background:var(--brand-hover);
  color:#fff;
}
.btn-brand:active{ transform:translateY(1px); }

/* Make the navbar toggler visible on light backgrounds */
.navbar-toggler{ border:1px solid #e5e7eb; }
.navbar-toggler-icon{
  background-image:none; width:1.4rem; height:1.1rem; position:relative; display:inline-block;
}
.navbar-toggler-icon::before,
.navbar-toggler-icon::after,
.navbar-toggler-icon span{
  content:""; position:absolute; left:0; right:0; height:2px; background:#0f172a; border-radius:2px;
}
.navbar-toggler-icon::before{ top:0 }
.navbar-toggler-icon::after{ bottom:0 }
.navbar-toggler-icon span{ top:50%; transform:translateY(-50%) }


/* Navbar Logo */
.site-logo{
  height: 70px;           /* adjust height as needed */
  width: auto;
  object-fit: contain;
}

@media (max-width: 768px){
  .site-logo{
    height: 56px;         /* smaller logo on mobile */
  }
}












/* Banner (compact, in-container) */
.mini-banner{
  position:relative; overflow:hidden; border-radius:20px;
  border:1px solid rgba(28,61,115,.08);
  background:
    linear-gradient(135deg, rgba(28,61,115,.92), rgba(28,61,115,.78)),
    url('bg.jpg') center/cover no-repeat;
  box-shadow:0 18px 40px rgba(28,61,115,.15);
  min-height:140px; display:flex; align-items:flex-end; padding:20px 22px; margin-bottom:26px;
}
.mini-banner h1{
  margin:0; color:#fff; font-weight:900; font-size:clamp(24px,3.4vw,36px);
  text-shadow:0 6px 22px rgba(0,0,0,.35);
}
.mini-banner h1 span{ border-left:7px solid var(--gold); padding-left:12px }

/* Zig-zag section */
.zigzag{ display:grid; gap:26px; }
.zz-item{
  display:grid; gap:22px;
  grid-template-columns: 1.05fr 1fr;          /* image | text */
  align-items:center;
}
.zz-item:nth-child(even){ grid-template-columns: 1fr 1.05fr; }  /* text | image for even rows */
@media (max-width: 992px){
  .zz-item, .zz-item:nth-child(even){ grid-template-columns:1fr; }
}

/* Image block */
.zz-media{
  background:#fff; border:1px solid var(--border); border-radius:18px; overflow:hidden;
  box-shadow:0 10px 26px rgba(15,23,42,.06);
}
.zz-media .ratio{ position:relative; width:100%; aspect-ratio: 4 / 3; overflow:hidden; }
.zz-media img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; display:block;
  transition:transform .35s ease; }
.zz-media:hover img{ transform:scale(1.03); }

/* Text block */
.zz-body{
  background:var(--card); border:1px solid var(--border); border-radius:18px;
  padding:22px 20px; box-shadow:0 10px 26px rgba(15,23,42,.06);
}
.zz-eyebrow{
  display:inline-block; font-size:12px; letter-spacing:.3px; color:#244b8e; background:#e9f0ff;
  border:1px solid #dbe5ff; padding:6px 10px; border-radius:999px; margin-bottom:10px;
}
.zz-title{ margin:.2rem 0 .6rem; font-weight:900; font-size:clamp(18px,2.4vw,26px) }
.zz-text{ color:var(--muted); line-height:1.7; margin:0 }
.zz-points{ margin:12px 0 0; padding-left:18px; color:#374151 }
.zz-points li{ margin:.35rem 0 }

/* Accent line on left for even/odd symmetry */
.zz-body{ border-left:6px solid var(--gold) }
.zz-item:nth-child(even) .zz-body{ border-left-color:transparent; border-right:6px solid var(--gold) }

/* Helpers */
.lead{ font-size:1.05rem; color:#334155; }





/* ===== Alt Vision/Mission styles ===== */

.vm-alt{ margin-top:28px }
.vm-alt__wrap{
  position:relative;
  display:grid; grid-template-columns:1fr 1fr; gap:0;
  background:linear-gradient(180deg,#ffffff 0%, #f7faff 100%);
  border:1px solid var(--border);
  border-radius:28px;
  overflow:hidden;
  box-shadow:0 18px 40px rgba(15,23,42,.08);
}

/* subtle split with a center line */
.vm-alt__wrap::before{
  content:""; position:absolute; top:0; bottom:0; left:50%; width:1px;
  background:linear-gradient(180deg, transparent, #dbe4ff, transparent);
  transform:translateX(-.5px);
}

/* gradient header ribbons (left/right) */
.vm-alt__left{ background:
  radial-gradient(80rem 40rem at -20% -60%, rgba(28,61,115,.10), transparent 60%),
  radial-gradient(40rem 20rem at 10% 110%, rgba(242,180,65,.10), transparent 60%);
}
.vm-alt__right{ background:
  radial-gradient(80rem 40rem at 120% -60%, rgba(28,61,115,.10), transparent 60%),
  radial-gradient(40rem 20rem at 90% 110%, rgba(242,180,65,.10), transparent 60%);
}

.vm-alt__pane{
  padding:28px clamp(18px,2.6vw,36px);
  display:flex; flex-direction:column; gap:10px;
}
.vm-alt__icon{
  width:56px; height:56px; border-radius:16px;
  display:grid; place-items:center; font-size:26px;
  color:#0b1933; background:linear-gradient(135deg,#eaf1ff,#fff);
  border:1px solid #dbe5ff; box-shadow:0 8px 18px rgba(28,61,115,.12);
}
.vm-alt__title{
  margin:6px 0 4px; font-size:clamp(20px,2.2vw,26px); font-weight:900; color:var(--text);
}
.vm-alt__text{ margin:0 0 6px; color:var(--muted); line-height:1.7 }

.vm-alt__points{ list-style:none; padding:0; margin:8px 0 0; display:grid; gap:8px }
.vm-alt__points li{
  display:flex; align-items:center; gap:10px;
  background:#fff; border:1px solid var(--border); border-radius:14px;
  padding:10px 12px; box-shadow:0 8px 18px rgba(15,23,42,.04);
}
.vm-alt__points li span{
  flex:0 0 34px; height:34px; border-radius:10px; display:grid; place-items:center;
  font-weight:800; color:#0b1933;
  background:linear-gradient(135deg, var(--gold), #ffd88a);
  box-shadow:0 6px 14px rgba(242,180,65,.25);
}

/* hover micro-interactions */
.vm-alt__pane:hover .vm-alt__icon{ transform:translateY(-1px); transition:.2s }
.vm-alt__points li:hover{ transform: translateY(-1px); transition:.15s; }

/* Responsive */
@media (max-width: 992px){
  .vm-alt__wrap{ grid-template-columns:1fr; border-radius:22px }
  .vm-alt__wrap::before{ display:none }
  .vm-alt__pane{ padding:22px 18px }
}
@media (max-width: 576px){
  .vm-alt__icon{ width:48px; height:48px; font-size:22px }
  .vm-alt__title{ font-size:20px }
}



































/* newsletter band */
.nl-band{
  background: var(--brand);
  color:#fff;
  padding: clamp(24px, 4vw, 48px) 0;
}
.nl-title{ font-weight:800; letter-spacing:.2px; }
.nl-text{ color:rgba(255,255,255,.9); max-width:48ch; }
.nl-form{ max-width:520px; margin-left:auto; }
.nl-input{
  background:#e8f0fe;
  border:0; border-radius:.55rem;
  padding:.7rem .9rem;
}
.nl-input:focus{ box-shadow:0 0 0 .2rem rgba(255,255,255,.25); }
.btn-nl{
  background:#fff; color:var(--brand);
  border:0; border-radius:.55rem;
  padding:.7rem 1rem; font-weight:700;
}
.btn-nl:hover{ filter:brightness(.96); }

/* footer */
.site-footer{ background:#fff; padding: clamp(28px, 4vw, 56px) 0; }
.footer-logo{ height:100px; width:auto; }

.ft-head{
  font-weight:800; color:#111827; margin-bottom:.5rem; font-size:1rem;
}
.ft-links{ list-style:none; padding:0; margin:0; }
.ft-links li{ margin:.35rem 0; }
.ft-links a{ color:#4b5563; text-decoration:none; }
.ft-links a:hover{ color:var(--brand); }

.soc{
  width:36px; height:36px; border-radius:50%;
  display:grid; place-items:center;
  background:#eef2ff; color:var(--brand);
}
.soc:hover{ filter:brightness(.95); }

.ft-sep{ border-color:#28292b; margin: clamp(16px, 3vw, 28px) 0; }

.ft-sub{ font-weight:700; color:#111827; margin-bottom:.25rem; }
.ft-muted{ color:#6b7280; }
.ft-link{ color:#374151; text-decoration:none; }
.ft-link:hover{ color:var(--brand); }
.ft-copy{ color:#9ca3af; }

/* responsive */
@media (max-width: 991.98px){
  .nl-form{ margin-left:0; }
}
@media (max-width: 575.98px){
  .nl-title{ font-size:1.4rem; }
  .soc{ width:32px; height:32px; }
}







