*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,Arial,Helvetica,sans-serif;color:#172033;background:#f7f9fc;line-height:1.7;font-size:16px;-webkit-font-smoothing:antialiased}
.container{width:min(1120px,92%);margin:auto}
.site-header{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.97);backdrop-filter:blur(12px);border-bottom:1px solid #e4e9f0}
.nav{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{font-weight:800;letter-spacing:2px;color:#142033;text-decoration:none;font-size:1.02rem}
.brand span{font-weight:900;color:#1769aa}
.brand small{display:block;font-size:8px;letter-spacing:3px;color:#6b7788;margin-top:-5px}
.nav-links{display:flex;gap:28px;align-items:center}
.nav-links a{color:#3e4b5f;text-decoration:none;font-size:14px;font-weight:600;transition:color .2s ease}
.nav-links a:hover{color:#1769aa}
.nav-cta{padding:10px 18px;border:1px solid #1769aa;border-radius:999px;color:#1769aa!important}
.nav-cta:hover{background:#1769aa;color:#fff!important}
.menu{display:none;border:0;background:none;font-size:24px;color:#172033}
.hero{background:linear-gradient(135deg,#edf5fb 0%,#fff 100%);padding:105px 0 115px}
.hero-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:70px;align-items:center}
.eyebrow{font-size:12px;font-weight:800;letter-spacing:2px;color:#1769aa;margin:0 0 18px}
.hero h1{font-size:clamp(44px,7vw,78px);line-height:1.02;letter-spacing:-.045em;margin:18px 0 26px;color:#101828}
.hero h1 span{color:#1769aa}
.hero-copy{font-size:18px;max-width:650px;color:#526071;line-height:1.75}
.actions{display:flex;gap:14px;margin-top:30px;flex-wrap:wrap}
.btn{display:inline-block;padding:13px 22px;border-radius:7px;text-decoration:none;font-weight:700;font-size:15px;transition:all .2s ease}
.primary{background:#1769aa;color:#fff;box-shadow:0 8px 20px rgba(23,105,170,.18)}
.primary:hover{background:#12588f;transform:translateY(-1px)}
.secondary{border:1px solid #b9c5d3;color:#172033;background:#fff}
.secondary:hover{border-color:#1769aa;color:#1769aa;transform:translateY(-1px)}
.hero-card{background:#172033;color:#fff;padding:48px;border-radius:22px;box-shadow:0 24px 55px rgba(23,32,51,.16)}
.orb{width:92px;height:92px;border-radius:50%;display:grid;place-items:center;background:#8cc7e8;color:#10253a;font-weight:900;font-size:27px;margin-bottom:32px}
.hero-card h3{font-size:28px;line-height:1.2;margin:0 0 12px}
.hero-card p{color:#c8d2df}
.section{padding:95px 0;background:#fff}
.muted{background:#f3f7fa}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:80px}
.section h2,.contact h2{font-size:clamp(32px,4vw,52px);line-height:1.1;letter-spacing:-.035em;margin:12px 0 25px;color:#101828}
.two-col p{color:#526071}
.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:40px}
.cards article{background:#fff;padding:30px;border:1px solid #e1e7ee;border-radius:16px;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.cards article:hover{transform:translateY(-3px);box-shadow:0 14px 35px rgba(23,32,51,.08);border-color:#c9d9e8}
.cards b{color:#1769aa;font-size:13px;letter-spacing:1px}
.cards h3{font-size:20px;color:#172033;margin:12px 0}
.cards p,.steps p{color:#657286}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-top:40px}
.steps div{border-top:2px solid #1769aa;padding-top:20px}
.steps span{font-weight:800;color:#1769aa;font-size:14px}
.steps h3{color:#172033}
.contact{background:#172033;color:#fff;padding:85px 0}
.contact-box{display:grid;grid-template-columns:1.3fr .7fr;gap:60px;align-items:center}
.contact .eyebrow{color:#8cc7e8}
.contact h2{color:#fff}
.contact p{color:#c8d2df}
.contact-links{display:flex;flex-direction:column;gap:14px}
.contact-links a{color:#fff;font-size:19px;font-weight:700;text-decoration:none;transition:color .2s ease}
.contact-links a:hover{color:#8cc7e8}
.footer{padding:25px 0;display:flex;justify-content:space-between;color:#718096;font-size:13px}
footer{background:#fff;border-top:1px solid #e4e9f0}
@media(max-width:800px){.nav-links{display:none}.menu{display:block}.nav-links.open{display:flex;position:absolute;top:76px;left:0;right:0;background:#fff;padding:20px;flex-direction:column;border-bottom:1px solid #ddd}.hero-grid,.two-col,.contact-box{grid-template-columns:1fr;gap:35px}.cards,.steps{grid-template-columns:1fr 1fr}.hero{padding:70px 0}.section{padding:65px 0}}
@media(max-width:520px){.cards,.steps{grid-template-columns:1fr}.footer{flex-direction:column;gap:8px}.hero h1{font-size:44px}.hero-card{padding:35px}}


/* Enquiry form */
.enquiry-form {
  max-width: 820px;
  margin-top: 2rem;
}
.enquiry-form label {
  display: block;
  font-weight: 650;
  margin-bottom: 1rem;
  color: #eaf2f8;
}
.enquiry-form input,
.enquiry-form select,
.enquiry-form textarea {
  display: block;
  width: 100%;
  margin-top: .45rem;
  padding: .9rem 1rem;
  border: 1px solid #cbd5e1;
  border-radius: 6px;
  background: #fff;
  color: #172033;
  font: inherit;
  box-sizing: border-box;
}
.enquiry-form textarea {
  resize: vertical;
  min-height: 130px;
}
.enquiry-form input:focus,
.enquiry-form select:focus,
.enquiry-form textarea:focus {
  outline: none;
  border-color: #1769aa;
  box-shadow: 0 0 0 3px rgba(23,105,170,.12);
}
.form-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0 1.25rem;
}
.enquiry-form button {
  border: 0;
  cursor: pointer;
  font-family: inherit;
  font-size: .95rem;
}
.enquiry-note {
  margin-top: 1.25rem;
  color: #526071;
}
.enquiry-note a {
  color: #1769aa;
  font-weight: 700;
}
@media (max-width:700px) {
  .form-grid { grid-template-columns: 1fr; }
}

/* Case studies */
.case-intro{max-width:720px;color:#526071;margin:0 0 30px}
.case-study-card{max-width:850px;background:#fff;border:1px solid #dce6f0;border-radius:18px;padding:clamp(24px,4vw,42px);box-shadow:0 16px 40px rgba(23,32,51,.06);border-top:4px solid #1769aa}
.case-study-number{font-size:12px;font-weight:800;letter-spacing:1.5px;color:#1769aa;margin-bottom:14px}
.case-study-card h3{font-size:clamp(23px,3vw,32px);line-height:1.2;color:#172033;margin:0 0 16px}
.case-study-card p,.case-study-card li{color:#526071}
.case-study-card ul{padding-left:22px;margin:20px 0}
.case-study-card li{padding:4px 0}
.case-study-link{display:inline-block;margin-top:8px;color:#1769aa;font-weight:800;text-decoration:none}
.case-study-link:hover{text-decoration:underline}
.case-study-card .case-note{font-size:12px;margin-top:22px;border-top:1px solid #e4e9f0;padding-top:14px}

/* Case study cards in the homepage grid */
.cards .case-study-card{max-width:none;margin:0;}
