:root {
  --blue:#1F5DAA;
  --blue-dark:#174A87;
  --orange:#F58220;
  --text:#1F2937;
  --muted:#6B7280;
  --bg:#F6F8FB;
  --line:#E5ECF4;
  --soft:#F3F7FC;
  --shadow:0 12px 28px rgba(17, 24, 39, 0.06);
}

* {
  box-sizing:border-box;
}

body {
  margin:0;
  font-family:Arial, sans-serif;
  background:var(--bg);
  color:var(--text);
}

a {
  text-decoration:none;
  color:inherit;
}

/* TOP BAR */
.topbar {
  background:var(--blue-dark);
  color:#fff;
  font-size:14px;
}

.topbar-inner {
  max-width:1120px;
  margin:auto;
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:10px 18px;
}

/* HEADER */
.header {
  background:#fff;
  border-bottom:1px solid var(--line);
  box-shadow:0 4px 12px rgba(0,0,0,0.04);
}

.header-inner {
  max-width:1120px;
  margin:auto;
  padding:14px 18px;
  display:flex;
  align-items:center;
  justify-content:space-between;
}

/* LOGO (tuned for cropped SVG) */
.logo {
  display:flex;
  align-items:center;
}

.logo img {
  height:56px;
  width:auto;
  display:block;
}

/* NAV */
.header-nav {
  display:flex;
  align-items:center;
  gap:22px;
  font-weight:700;
  color:var(--blue-dark);
  font-size:15px;
}

.header-nav a {
  transition:0.2s ease;
}

.header-nav a:hover {
  color:var(--orange);
}

/* PAGE */
.page-wrap {
  max-width:1120px;
  margin:auto;
  padding:28px 20px 20px;
}

/* HERO */
.hero-card {
  background:#fff;
  border:1px solid var(--line);
  border-radius:22px;
  box-shadow:var(--shadow);
  padding:40px;
  margin-bottom:24px;
}

.hero-card h1 {
  margin-top:0;
  margin-bottom:14px;
  color:var(--blue-dark);
  font-size:36px;
  line-height:1.2;
}

.hero-card p {
  color:var(--muted);
  font-size:18px;
  line-height:1.7;
}

/* BUTTONS */
.buttons {
  margin-top:20px;
}

.buttons a {
  padding:14px 24px;
  border-radius:10px;
  font-weight:700;
  display:inline-block;
  margin-right:10px;
  margin-top:10px;
}

.call {
  background:var(--orange);
  color:#fff;
}

.email {
  background:#fff;
  border:1.5px solid var(--blue);
  color:var(--blue);
}

/* SECTIONS */
.section {
  padding:20px 0;
}

.section h2 {
  text-align:center;
  color:var(--blue-dark);
  margin-bottom:10px;
}

.grid {
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(250px,1fr));
  gap:20px;
  margin-top:20px;
}

.box {
  background:#fff;
  padding:20px;
  border-radius:12px;
  border:1px solid var(--line);
}

.box h3 {
  margin-top:0;
  color:var(--blue-dark);
}

.box p {
  color:var(--muted);
}

/* TRUST STRIP */
.trust-strip {
  text-align:center;
  font-weight:600;
  color:var(--blue-dark);
}

/* SERVICES BOX */
.services-list-box {
  max-width:980px;
  margin:20px auto 0;
}

.services-list {
  columns:2;
  padding-left:20px;
  line-height:1.9;
}

/* REVIEWS */
.review-quote {
  font-style:italic;
}

.review-name {
  display:block;
  margin-top:10px;
  font-weight:700;
  color:var(--blue-dark);
}

/* CTA */
.cta {
  background:var(--blue-dark);
  color:#fff;
  text-align:center;
  padding:40px 20px;
  border-radius:20px;
  margin-top:30px;
}

.cta a {
  background:var(--orange);
  padding:14px 24px;
  border-radius:10px;
  color:#fff;
  display:inline-block;
  margin-top:10px;
  font-weight:700;
}

/* FOOTER */
.footer {
  background:#0f3563;
  color:#fff;
  text-align:center;
  padding:20px;
}

/* FLOATING CALL */
.floating-call {
  position:fixed;
  right:16px;
  bottom:16px;
  background:var(--orange);
  color:#fff;
  padding:14px 18px;
  border-radius:999px;
  font-weight:700;
  box-shadow:0 8px 20px rgba(0,0,0,0.18);
}

@media (min-width:801px) {
  .floating-call {
    display:none;
  }
}

/* MOBILE */
@media(max-width:800px) {
  .topbar-inner {
    flex-direction:column;
    text-align:center;
  }

  .header-inner {
    flex-direction:column;
    align-items:flex-start;
    gap:10px;
  }

  .header-nav {
    gap:14px;
  }

  .logo img {
    height:50px;
  }

  .hero-card {
    padding:26px;
  }

  .hero-card h1 {
    font-size:28px;
  }

  .buttons a {
    width:100%;
    max-width:280px;
  }

  .services-list {
    columns:1;
  }
}
