:root{
  /* Brand palette extracted from your images */
  --navy:#1D4578;
  --blue:#184BA2;
  --teal:#68C4D1;
  --aqua:#ACE8EB;

  --ink:#0B1B2B;
  --muted:#4A6076;

  --bg:#F8FBFD;
  --panel:#FFFFFF;
  --line:rgba(29,69,120,.12);

  --max:1080px;
  --radius:14px;
  --shadow: 0 14px 40px rgba(11,27,43,.10);
}

*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial;
  background: var(--bg);
  color: var(--ink);
  line-height:1.6;
}

a{color:inherit;text-decoration:none}
a:hover{opacity:.9}

.container{max-width:var(--max);margin:0 auto;padding:0 18px}

/* Header */
.header{
  position:sticky; top:0;
  background: rgba(248,251,253,.82);
  backdrop-filter: blur(10px);
  border-bottom: 1px solid var(--line);
  z-index:10;
}

.header__inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:18px 0;
  background: transparent;
}

.brand{
  display:flex;
  gap:14px;
  align-items:center;
  background: transparent;
}

/* Logo */
.brand__logo{
  width:auto;
  height:56px;
  object-fit: contain;
  display:block;
}

/* Company name */
.brand__name{
  font-weight:900;
  letter-spacing:.3px;
  font-size:1.35rem;
  color: var(--navy);
}

.nav{display:flex; gap:18px; align-items:center}
.nav a{color:var(--muted); font-weight:700; font-size:.95rem}
.nav a:hover{color:var(--navy)}

/* Main */
.main{min-height:70vh}

/* Hero with banner background */
.hero{
  padding:74px 0 44px;
}
.hero--banner{
  background:
    linear-gradient(180deg, rgba(248,251,253,.92), rgba(248,251,253,.98)),
    url("assets/praxiswork-banner.jpeg");
  background-size: cover;
  background-position: center;
  border-bottom: 1px solid var(--line);
}
.hero__inner{max-width: 900px}

h1{
  font-size: clamp(2rem, 3.6vw, 3.1rem);
  line-height:1.12;
  margin:0 0 14px;
  color: var(--navy);
}
.lead{color:var(--muted); font-size:1.12rem; margin:0 0 22px}
.hero__cta{display:flex; gap:12px; flex-wrap:wrap; margin:18px 0 20px}

.trust{
  display:flex; flex-wrap:wrap; gap:14px;
  padding:0; margin:18px 0 0;
  list-style:none; color:var(--muted); font-weight:700;
}

/* Sections */
.section{padding:56px 0}
.section--alt{
  background: linear-gradient(180deg, rgba(104,196,209,.10), rgba(248,251,253,0));
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
h2{font-size:1.7rem; margin:0 0 10px; color: var(--navy)}
.sublead{color:var(--muted); margin:0 0 22px}

.grid{display:grid; gap:16px}
.grid--3{grid-template-columns: repeat(3, minmax(0, 1fr))}
@media (max-width: 860px){
  .grid--3{grid-template-columns: 1fr}
  .nav{display:none}
}

/* Cards */
.card{
  background: var(--panel);
  border:1px solid var(--line);
  border-radius: var(--radius);
  padding:18px;
  box-shadow: var(--shadow);
}

.card h3{margin:0 0 8px; color: var(--navy)}
.card p{margin:0 0 12px; color:var(--muted)}

.bullets{margin:0; padding-left:18px; color:var(--muted)}
.bullets li{margin:6px 0}

.card--cta{
  padding:22px;
  border: 1px solid rgba(104,196,209,.35);
  background:
    radial-gradient(900px 240px at 30% 0%, rgba(104,196,209,.18), transparent 70%),
    radial-gradient(700px 220px at 85% 10%, rgba(24,75,162,.12), transparent 70%),
    var(--panel);
}

/* Buttons */
.btn{
  display:inline-flex; align-items:center; justify-content:center;
  padding:12px 14px;
  border-radius: 12px;
  border:1px solid rgba(29,69,120,.18);
  background: linear-gradient(90deg, rgba(24,75,162,.14), rgba(104,196,209,.18));
  color: var(--navy);
  font-weight:800;
}
.btn:hover{transform: translateY(-1px)}
.btn--ghost{
  background: transparent;
  border:1px solid rgba(29,69,120,.18);
  color: var(--navy);
}
.btn--small{padding:10px 12px; border-radius: 11px}

.contact{display:flex; gap:12px; flex-wrap:wrap; margin-top:16px}
.small{font-size:.92rem}
.muted{color:var(--muted)}

/* Footer */
.footer{
  padding:26px 0;
  border-top:1px solid var(--line);
  background: rgba(255,255,255,.55);
}
.footer__inner{
  display:flex; justify-content:space-between; gap:14px; flex-wrap:wrap;
}

@media (max-width: 480px){
  .brand__logo{
    width:44px;
    height:44px;
  }

  .brand__name{
    font-size:1.15rem;
  }
}