
:root {
  --navy:#0a3a68;
  --orange:#f26722;
  --ink:#0f172a;
}
* { box-sizing:border-box }
body { margin:0; font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, 'Helvetica Neue', Arial; background:linear-gradient(180deg,#f7fafc, #f4f7fb 40%, #fff7f1 100%); color:var(--ink) }
.wrap { max-width:1120px; margin:0 auto; padding:0 1rem }
.topbar { position:sticky; top:0; z-index:50; background:rgba(255,255,255,.92); backdrop-filter:saturate(120%) blur(6px); border-bottom:1px solid #e2e8f0 }
.topbar a.contact { color:#334155; font-size:.9rem }
.topbar .sep { color:#94a3b8 }
nav a { color:#1f2937; opacity:.9 }
nav a.active { color:var(--navy); font-weight:700 }
.btn-accent, .btn-brand { display:inline-flex; align-items:center; justify-content:center; padding:.6rem 1rem; border-radius:.75rem; font-weight:600; box-shadow:0 8px 18px rgba(2,29,73,.12) }
.btn-accent { background:linear-gradient(180deg,#ff8a52,#f26722); color:#fff }
.btn-brand { background:linear-gradient(180deg,#1663a6,#0a3a68); color:#fff }
.hero { 
  background: linear-gradient(135deg, #ffffff, #f3f7fc);
  color: #0a3a68;
}

.hero .overlay { background: transparent }
.hero h1, .hero p { text-shadow:0 2px 10px rgba(0,0,0,.35) }
.section { padding:3.25rem 0 }
.section.alt1 { background: linear-gradient(180deg, #eef4fb 0%, #e7effb 100%) }
.section.alt2 { background: linear-gradient(180deg, #fff2e6 0%, #ffe2cc 100%) }
.card { border:1px solid #cbd5e1; border-radius:1rem; background:#fff }
.card-link { display:block; border:1px solid #cbd5e1; border-radius:1rem; background:#fff; padding:1rem; transition:transform .12s, box-shadow .12s, border-color .12s; cursor:pointer }
.card-link:hover { transform:translateY(-2px); border-color:var(--navy); box-shadow:0 14px 28px rgba(2,29,73,.12) }
h1,h2,h3,h4 { color:var(--navy) }
.footer { background: linear-gradient(180deg,#FFE7D1,#FFE1C4); color:#dbeafe }
.footer a { color:#e2e8f0 }
.footer .fine { border-top:1px solid rgba(255,255,255,.12); padding:1rem 0; margin-top:1rem; display:flex; justify-content:space-between; font-size:.8rem }
.badge { display:inline-block; padding:.25rem .6rem; border-radius:9999px; background:#0a3a6818; color:var(--navy); border:1px solid #0a3a6855; font-weight:600; font-size:.75rem }
.img-banner { border-radius:1rem; overflow:hidden; border:1px solid #dbe3ef }
.img-banner img { width:100%; height:240px; object-fit:cover; display:block }
.sep { height:1px; margin:1rem 0; background:linear-gradient(90deg,transparent,var(--navy),transparent) }
.cta { display:inline-flex; align-items:center; gap:.4rem; color:var(--navy); font-weight:600 }
.cta::after { content:"→"; transition:transform .12s }
.card-link:hover .cta::after { transform:translateX(2px) }
.muted { color:#64748b }

.hero .card { background:#fff; border-color:#dbe3ef; color:#0a3a68 }
.hero .card p, .hero .card h3 { color:#0a3a68 }

.section.alt2 .card[style*="linear-gradient"]{ color:#fff !important }
.section.alt2 .card[style*="linear-gradient"]::before{ content:''; position:absolute; inset:0; 
  background: linear-gradient(90deg, rgba(7,41,71,.65), rgba(242,103,34,.42)); border-radius:1rem }
.section.alt2 .card[style*="linear-gradient"] h3, 
.section.alt2 .card[style*="linear-gradient"] p { color:#fff !important; text-shadow:0 1px 2px rgba(0,0,0,.35) }

/* CTA banner readability + remove orange wash */
.section.alt2 .card[style*="linear-gradient"]{
  color:#fff !important;
}
.section.alt2 .card[style*="linear-gradient"]::before{
  content:''; position:absolute; inset:0;
  background: linear-gradient(90deg, rgba(7,41,71,.85), rgba(7,41,71,.65));
  border-radius: 1rem;
}
.section.alt2 .card[style*="linear-gradient"] h3,
.section.alt2 .card[style*="linear-gradient"] p{ color:#fff !important; text-shadow:0 1px 2px rgba(0,0,0,.38) }
.section.alt2 .card[style*="linear-gradient"] a{ background:#0a3a68 !important; color:#fff !important }

/* Footer readability fixes */
.footer { background: linear-gradient(180deg,#FFE7D1,#FFE1C4); color:#eef5ff }
.footer .wrap p, .footer .wrap a, .footer h4 { color:#ffffff; opacity:.95 }
.footer img.logo-plate { background:#ffffff; padding:.4rem .6rem; border-radius:.75rem; box-shadow:0 2px 8px rgba(0,0,0,.2) }

/* room for sticky bar */

.svc-icon { width:40px; height:40px; border-radius:.5rem; margin-right:.5rem; vertical-align:middle; box-shadow:0 2px 6px rgba(2,29,73,.15) }
.card-link h3 { display:inline-block; vertical-align:middle }

/* Distinct accents for service cards */
.services-grid .card-link { border-top: 4px solid transparent; background: #ffffff }
.services-grid .card-link:nth-child(1) { border-top-color: #0a3a68; }
.services-grid .card-link:nth-child(2) { border-top-color: #f26722; }
.services-grid .card-link:nth-child(3) { border-top-color: #1f9d8d; }
.services-grid .card-link:nth-child(4) { border-top-color: #6d28d9; }
.services-grid .card-link:nth-child(5) { border-top-color: #16a34a; }
.services-grid .card-link:nth-child(6) { border-top-color: #2563eb; }

/* Home enhancements */
.section .card-link h3 { color: var(--navy) }
.section .card-link p { color: #475569 }

/* Footer logo alignment + symmetry */
.footer img.logo-plate{
  background: transparent !important;
  padding: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

.footer .brand{
  display: flex;
  align-items: center;
  gap: .75rem;
}

.footer .brand img{ height: 28px; width: auto; }

/* Even footer columns */
.footer .wrap{
  display: grid;
  grid-template-columns: 1.6fr 1fr 1fr 1fr;
  gap: 2rem;
  align-items: start;
}

/* Balance top/bottom padding so the block feels centered */
.footer{ padding-top: 2.25rem; padding-bottom: 2.25rem; }
.footer .wrap p{ margin: .25rem 0; }
.footer h4{ margin: 0 0 .5rem 0; }

/* footer orange polish */
.footer { color:#0a3a68 !important }
.footer a { color:#0a3a68 !important }
.footer .fine { border-top:none !important }
.footer .wrap { border-top: none !important }
